Tobias Bosch
f5c8e0989d
feat(core): properly support inheritance
...
## Inheritance Semantics:
Decorators:
1) list the decorators of the class and its parents in the ancestor first order
2) only use the last decorator of each kind (e.g. @Component / ...)
Constructor parameters:
If a class inherits from a parent class and does not declare
a constructor, it inherits the parent class constructor,
and with it the parameter metadata of that parent class.
Lifecycle hooks:
Follow the normal class inheritance model,
i.e. lifecycle hooks of parent classes will be called
even if the method is not overwritten in the child class.
## Example
E.g. the following is a valid use of inheritance and it will
also inherit all metadata:
```
@Directive({selector: 'someDir'})
class ParentDirective {
constructor(someDep: SomeDep) {}
ngOnInit() {}
}
class ChildDirective extends ParentDirective {}
```
Closes #11606
Closes #12892
2016-11-28 14:12:12 -08:00
Pawel Kozlowski
808275a9d5
feat(core): expose destroy() method on ViewRef
2016-11-28 14:10:42 -08:00
Bowen Ni
4cbf8ccf05
Keep `console.log` that are not called during compilation.
2016-11-23 15:47:02 -08:00
Bowen Ni
2c02d34c05
refactor(lint): Don't allow console.log
...
Enable tslint check for `console.log` as a follow-up to
https://github.com/angular/angular/issues/13018
2016-11-23 15:47:01 -08:00
Tobias Bosch
dddbb1c1cb
refactor(tsc-wrapped): collect all exported functions and classes and bump metadata version from 1 to 2
...
This is needed to resolve symbols without `.d.ts` files.
This bumps the version of the metadata from 1 to 2.
This adds logic into `ng_host.ts` to automatically upgrade
version 1 to version 2 metadata by adding the exported symbols
from the `.d.ts` file.
2016-11-18 10:04:14 -08:00
Tobias Bosch
bccf0e69dc
fix(compiler): fix versions of `@angular/tsc-wrapped`
2016-11-18 10:04:14 -08:00
Alex Eagle
664a6273e1
feature(tsc-wrapped): add option for closure compiler JSDoc annotations
2016-11-18 09:37:40 -08:00
Chuck Jazdzewski
c1a62e2154
feat(tools): allow disabling annotation lowering
2016-11-18 09:37:40 -08:00
Peter Bacon Darwin
1f96a93f59
chore(public_api): remove Angular 1 types from upgrade/static API
2016-11-16 09:18:10 -08:00
Dzmitry Shylovich
46d150266b
feat(router_link): add skipLocationChange and replaceUrl inputs ( #12850 )
2016-11-14 18:30:13 -08:00
Tobias Bosch
1b5384ee54
feat(core): expose `ViewRef` as `ChangeDetectorRef`
...
closes #12722
This is helpful when manually dirty checking embedded views.
2016-11-14 17:01:41 -08:00
Tobias Bosch
9f7d32a326
feat(core): add `attachView` / `detachView` to ApplicationRef
...
This feature is useful to allow components / embedded views
to be dirty checked if they are not placed in any `ViewContainer`.
Closes #9293
2016-11-14 17:01:35 -08:00
Matias Niemelä
9de76ebfa5
fix(animations): retain styling when transition destinations are changed ( #12208 )
...
Closes #9661
Closes #12208
2016-11-14 16:59:06 -08:00
vsavkin
c2fae72bc6
feat(router): register router with ngprobe
2016-11-14 12:57:05 -08:00
Joao Dias
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
Victor Savkin
52be848f94
fix(router): incorrect injector is used when instantiating components loaded lazily ( #12817 )
2016-11-11 17:12:00 -08:00
João Dias
458ca7112a
build(publish): remove unneeded add-license-to-rx ( #12734 )
2016-11-10 15:56:14 -08:00
Chuck Jazdzewski
69f87ca075
fix(tools): harden colletor against invalid asts ( #12793 )
2016-11-10 11:58:55 -08:00
vsavkin
73407351e7
feat(router): add support for custom url matchers
...
Closes #12442
Closes #12772
2016-11-09 16:24:58 -08:00
Victor Savkin
6e35d13fbc
feat(router): add a provider making angular1/angular2 integration easier ( #12769 )
2016-11-09 13:33:33 -08:00
Dzmitry Shylovich
09092ac3c2
fix(forms): getRawValue returns any instead of Object ( #12599 )
2016-11-08 15:44:36 -08:00
Tobias Bosch
d8f23f4b7f
fix(common): `NgSwitch` - don’t create the default case if another case matches ( #12726 )
...
This also simplifies the implementation of `NgSwitch`.
Closes #11297
Closes #9420
2016-11-07 12:22:36 -08:00
Joao Dias
78039b41d6
chore(build): remove unused build/util
2016-11-07 10:32:00 -08:00
Georgios Kalpakas
469010ea8e
feat(UpgradeComponent): add/improve support for lifecycle hooks
...
Add support for the `$postDigest()` and `$onDestroy()` lifecycle hooks.
Better align the behavior of the `$onChanges()` and `$onInit()` lifecycle hooks
with Angular 1.x:
- Call `$onInit()` before pre-linking.
- Always instantiate the controller before calling `$onChanges()`.
2016-11-04 11:16:28 -07:00
Tobias Bosch
0e3d655220
refactor(compiler): remove view factories, use view classes directly
2016-11-02 20:58:48 -07:00
vsavkin
d509ee078b
fix(router): reset URL to the stable state when a navigation gets canceled
...
Closes #10321
2016-11-02 12:25:23 -07:00
Joao Dias
a382d6dd20
style: add missing semicolons
2016-10-31 14:25:53 -07:00
Joao Dias
52bf188b8f
style: add missing copyright headers
2016-10-31 14:25:53 -07:00
Joao Dias
a0aecac0e5
chore(lint): replace enforce-copyright-header rule with the native equivalent
2016-10-31 11:27:35 -07:00
Joao Dias
0936ceeab4
chore(npm): clean up clean-shrinkwrap script
2016-10-31 11:26:59 -07:00
Joao Dias
0a94845435
chore(lint): replace duplicate-module-import rule with no-duplicate-imports
2016-10-28 15:53:15 -07:00
Thomas Shafer
7c16ef942e
feat(core): add the find method to QueryList
2016-10-28 15:34:47 -07:00
Alex Eagle
a26dd28bdb
refactor(upgrade): re-export the new static upgrade APIs on new entry
...
Add upgrade-static.umd.js bundles
This allows depending on it without getting a transitive dependency on compiler.
BREAKING CHANGE:
Four newly added APIs in 2.2.0-beta:
downgradeComponent, downgradeInjectable, UpgradeComponent, and UpgradeModule
are no longer exported by @angular/upgrade.
Import these from @angular/upgrade/static instead.
2016-10-26 15:14:22 -07:00
Jeremy Elbourn
c9f58cf78c
feat(router): export routerLinkActive w/ isActive property
2016-10-26 14:08:22 -07:00
Victor Savkin
8b9ab44eee
feat(router): add support for ng1/ng2 migration ( #12160 )
2016-10-20 10:44:44 -07:00
Peter Bacon Darwin
d6791ff0e0
feat(ngUpgrade): add support for AoT compiled upgrade applications
...
This commit introduces a new API to the ngUpgrade module, which is compatible
with AoT compilation. Primarily, it removes the dependency on reflection
over the Angular 2 metadata by introducing an API where this information
is explicitly defined, in the source code, in a way that is not lost through
AoT compilation.
This commit is a collaboration between @mhevery (who provided the original
design of the API); @gkalpak & @petebacondarwin (who implemented the
API and migrated the specs from the original ngUpgrade tests) and @alexeagle
(who provided input and review).
This commit is an starting point, there is still work to be done:
* add more documentation
* validate the API via internal projects
* align the ngUpgrade compilation of A1 directives closer to the real A1
compiler
* add more unit tests
* consider support for async `templateUrl` A1 upgraded components
Closes #12239
2016-10-19 15:27:49 -07:00
Dzmitry Shylovich
445e5922ec
feat(forms): make 'parent' a public property of 'AbstractControl' ( #11855 )
2016-10-19 09:55:50 -07:00
Florian Kinder
b9fc090143
feat(forms): Added emitEvent to AbstractControl methods ( #11949 )
...
* feat(forms): Added emitEvent to AbstractControl methods
* style(forms): unified named parameter
2016-10-19 09:54:54 -07:00
Cédric Exbrayat
592f40aa9c
feat(forms): add hasError and getError to AbstractControlDirective ( #11985 )
...
Allows cleaner expressions in template-driven forms.
Before:
<label>Username</label><input name="username" ngModel required #username="ngModel">
<div *ngIf="username.dirty && username.control.hasError('required')">Username is required</div>
After:
<label>Username</label><input name="username" ngModel required #username="ngModel">
<div *ngIf="username.dirty && username.hasError('required')">Username is required</div>
Fixes #7255
2016-10-19 09:49:02 -07:00
Dzmitry Shylovich
bf60418fdc
feat(forms): Validator.pattern accepts a RegExp ( #12323 )
2016-10-19 09:37:54 -07:00
Matias Niemelä
6e5f8b59b3
fix(animations): generate aot code for animation trigger output events ( #12291 )
...
Closes #11707
Closes #12291
2016-10-18 17:16:51 -07:00
Connor Wyatt
17e3410d98
Form submit event ( #11989 )
...
* feat(forms): ngSubmit event exposes $event from original submit event as local variable
Modify NgForm directive and FormGroup directive to expose the original submit event as $event in the ngSubmit event. Modify docs to reflect changes.
This resolves #10920 .
* refactor: code cleanup
2016-10-11 15:49:36 -07:00
Karl Seamon
5effc330ed
feat(upgrade): compilerOptions in bootstrap ( #10575 )
2016-10-11 15:48:08 -07:00
Igor Minar
bcef5efffe
fix(platform-browser-dynamic): mark platformBrowserDynamic as stable API ( #12154 )
...
Everyone building Angular apps need to use this api to bootstrap or AoT compile, so it can't be experimental.
2016-10-07 13:54:06 -07:00
Victor Berchet
cf269d9ff4
refactor: add license header to JS files & format files ( #12081 )
2016-10-04 20:39:20 -07:00
Chuck Jazdzewski
43d3a84df3
Revert "refactor: add license header to JS files & format files ( #12035 )"
...
This reverts commit 8310c91823
.
2016-10-04 14:06:41 -07:00
Victor Berchet
8310c91823
refactor: add license header to JS files & format files ( #12035 )
2016-10-04 13:15:49 -07:00
Victor Berchet
ed9c2b6281
fix(Header): preserve case of the first init, `set()` or `append()` ( #12023 )
...
fixes #11624
2016-10-03 15:27:56 -07:00
Victor Berchet
f23b22a0f4
refactor: misc cleanup
2016-09-22 11:01:16 -07:00
Igor Minar
3a6fcee0e6
docs(core): mark TestBed as stable api and add preliminary docs ( #11767 )
...
TestBed was accidentaly ommited from the 'stable' api list during the API sweep before final. We do consider it to be stable.
2016-09-22 10:32:17 -07:00
vsavkin
676bb0fa7d
feat(router): update dts files
2016-09-20 14:53:52 -07:00
Victor Berchet
671f73448c
refactor: misc cleanup ( #11654 )
2016-09-19 17:15:57 -07:00
Victor Berchet
0621f07a2c
refactor: misc cleanup
2016-09-19 16:24:31 -07:00
Victor Berchet
0dc15eb64a
fix(ContentChild): query descendants by default
...
fixes #1645
2016-09-19 10:42:46 -07:00
Kara
fa4723a208
docs(forms): add radio button examples ( #11676 )
2016-09-19 10:41:20 -07:00
Marc Laval
14ee75924b
fix(common): fix ngOnChanges signature of NgTemplateOutlet directive
2016-09-15 11:00:30 -07:00
vsavkin
42f60ca303
docs(core): update dts file
2016-09-14 15:27:33 -07:00
vsavkin
15c2912527
chore(core): update public api file
2016-09-14 14:53:30 -07:00
Alex Eagle
5fad37df69
Revert "chore(core): update public api file"
...
This reverts commit 727c2b38a4
.
Revert "docs(core): updates query decorator docs"
This reverts commit b6287ccc51
.
Revert "docs(core): extract how to examples"
This reverts commit 69e8ace884
.
2016-09-14 13:34:25 -07:00
vsavkin
727c2b38a4
chore(core): update public api file
2016-09-14 13:22:09 -07:00
Tobias Bosch
1a035a0dc7
build(examples): include in main `tsconfig.json`
...
Also rename `examples/tsconfig.json` into `examples/tsconfig-build.json`
so that it does not shadow the main `tsconfig.json` in editors
Also adds `noImplicitAny` and `declarations`
`examples/tsconfig.json`.
2016-09-14 11:29:31 -07:00
Tobias Bosch
cc2873a94d
chore: update typings
...
Note that the typings don’t reflect the shape of the metadata
due to a bug in the public-api-guard
2016-09-12 22:47:54 -07:00
vsavkin
0614c8c99d
chore(router): update publicapi
2016-09-12 10:02:48 -07:00
Victor Berchet
c649a5c5ab
refactor(common): cleanup directives
2016-09-09 14:30:18 -07:00
Kara
53f0c2206d
fix(forms): rename validator change fn due to conflict ( #11492 )
...
Closes #11479
2016-09-09 14:09:11 -07:00
Victor Berchet
5a4e46db20
refactor(tests): simplify code ( #11485 )
2016-09-09 12:04:38 -07:00
Victor Berchet
f5d44a42c9
refactor(NgClass): cleanup, readability ( #11467 )
2016-09-09 12:03:51 -07:00
Igor Minar
109dc99d32
build(npm): remove obsolete npm dependencies
...
I also removed an obsolete bundling script which depended on systemjs-builder that I removed.
2016-09-02 15:58:46 -07:00
Kara
8c09933803
fix(forms): support rebinding nested controls ( #11210 )
2016-09-02 15:57:35 -07:00
Martin Probst
ebc8e808a9
feat(router): register NgModuleFactory objects. ( #11211 )
...
When lazily loading code, users need to be able to get hold of the
NgModuleFactory. For SystemJS environments, the SystemJS registry serves
this purpose. However other environments, such as modules compiled with
Closure compiler, do not expose exports object or a path based registry.
For these environments, `@NgModule` objects can include an identifier, and
the loading code can then pass `loadModule(id).then(() =>
getNgModule(id))` to the router.
2016-09-01 13:46:08 -07:00
Igor Minar
99c0a7fae2
fix(tsc-wrapped): correct the tsickle dependency in package.json
2016-08-31 15:10:09 -07:00
Tobias Bosch
6dceaf209d
fix(benchmarks): recreate setup for running benchmarks
2016-08-31 08:24:10 -07:00
Tobias Bosch
1ef122988e
fix(benchpress): make code compile and unit tests green again
2016-08-31 08:24:10 -07:00
Igor Minar
2b20db6c5a
chore: update to typescript@2.0.2 - the currect 2.0 rc
2016-08-30 21:07:45 -07:00
Igor Minar
71ae2c4525
refactor(webworkers): move webworkers to separate @angular/platform-webworker and @angular/platform-webworker-dynamic packages
...
BREAKING CHANGE: web worker platform is now exported via separate packages.
Please use @angular/platform-webworker and @angular/platform-webworker-dynamic
2016-08-30 21:07:45 -07:00
vsavkin
c74a438f0c
docs(router): fix up the exampesd
2016-08-30 20:37:35 -07:00
Miško Hevery
979657989b
fix(packages): use ES modules for primary build ( #11120 )
2016-08-30 18:07:40 -07:00
Kara
e8a1566065
fix(forms): support radio buttons with same name but diff parent ( #11152 )
...
Closes #10065
2016-08-29 17:49:42 -07:00
Kara Erickson
d2ad871279
fix(forms): update validity when validator dir changes
...
closes #11116
2016-08-29 13:12:46 -07:00
Javier Ros
0b665c0ece
feat(validations): add support to bind validation attributes
...
This change enables to bind the validations attributes `required`,
`minlength`, `maxlength` and `pattern`.
Closes : #10505 , #7393
2016-08-29 13:12:20 -07:00
Alex Eagle
875e66409c
fix(closure): prevent closure renaming of testability interface ( #11146 )
2016-08-29 13:08:28 -07:00
Alex Rickabaugh
27539c8b80
refactor(example): refactor forward_ref example into a spec and unignore example specs ( #11088 )
2016-08-26 15:40:46 -07:00
Marc Laval
3dd85cb7f1
test(tools): make the test suite to pass on Windows ( #10926 )
2016-08-26 15:36:04 -07:00
Misko Hevery
7c07bfff97
fix(errors): [2/2] Rename Exception to Error; remove from public API
...
BREAKING CHANGE:
Exceptions are no longer part of the public API. We don't expect that anyone should be referring to the Exception types.
ExceptionHandler.call(exception: any, stackTrace?: any, reason?: string): void;
change to:
ErrorHandler.handleError(error: any): void;
2016-08-26 10:37:17 -07:00
vsavkin
a2deafc50f
fix(router): add an option to disable initial navigation
2016-08-26 10:32:35 -07:00
vsavkin
2fc5c57b31
feat(router): add support for custom error handlers
2016-08-26 10:32:35 -07:00
Victor Berchet
0a053a4cd5
fix(i18n): Currency/Date/Number pipe use injected locale ( #11093 )
2016-08-26 09:16:01 -07:00
Marc Laval
66df335998
chore(dependencies): switch from es6-shim to core-js ( #10884 )
2016-08-25 17:28:36 -07:00
Chuck Jazdzewski
fc2fe00d16
fix(compiler): allow tsc-wrapped to be compile with TypeScript 2.0 ( #11086 )
2016-08-25 17:28:20 -07:00
Igor Minar
811962b2bb
refactor: rename SanitizationService to Sanitizer and DomSanitizationService to DomSanitizer ( #11085 )
...
BREAKING CHANGE: Previously inconsistently named APIs SanitizationService and DomSanitizationService were renamed to Sanitizer and DomSanitizer
2016-08-25 15:41:19 -07:00
Kara
ce08982f78
fix(forms): fix conflicting getter name ( #11081 )
2016-08-25 14:56:31 -07:00
Igor Minar
ea2e5521e8
refactor: replace any[] with Provider[] where possible
2016-08-25 13:29:03 -07:00
Igor Minar
eb7d8c702c
fix(core): FactoryProvider's deps property should be optional
2016-08-25 13:29:03 -07:00
Igor Minar
5d294624fa
docs(core): update stability markers for core apis
2016-08-25 13:29:03 -07:00
Igor Minar
3aaf064d11
refactor(router): remove ROUTER_DIRECTIVES which were replaced by RouterModule
2016-08-25 13:29:03 -07:00
Igor Minar
f38a700e35
docs(upgrade): mark upgrade apis as stable
2016-08-25 13:29:03 -07:00
Igor Minar
501b83441d
refactor(forms): remove FORM_PROVIDERS, FORM_DIRECTIVES, REACTIVE_FORM_PROVIDERS, REACTIVE_DIRECTIVES
...
All of these have been replaced by FormsModule and ReactiveFormsModule.
2016-08-25 13:29:03 -07:00
Igor Minar
c03e25a7b7
docs(common): mark platform-browser and platform-browser-dynamic apis stable
2016-08-25 13:29:03 -07:00
Igor Minar
1f5a5895e5
refactor(common): rename UrlChangeEvent and UrlChangeListener to LocationChangeEvent and LocationChangeListener
...
These apis are not expected to be used anyone, hence I'm not documenting this change as a breaking.
2016-08-25 13:29:03 -07:00
Igor Minar
8a2324f86a
docs(common): mark all common apis except for i18n as stable
2016-08-25 13:29:03 -07:00