Tobias Bosch
7c210645a3
fix(compiler): query `<template>` elements before their children. ( #13677 )
...
Fixes #13118
Closes #13167
2016-12-27 16:28:54 -08:00
Victor Berchet
eed83443b8
chore(tslint): update tslint to 4.x ( #13603 )
2016-12-27 14:55:58 -08:00
Tobias Bosch
9c697030e6
feat(compiler): generate proper reexports in `.ngfactory.ts` files to not need transitive deps for compiling `.ngfactory.ts` files. ( #13524 )
...
Note: This checks the constructors of `@Injectable` classes more strictly.
E.g this will fail now as the constructor argument has no `@Inject` nor is
the type of the argument a DI token.
```
@Injectable()
class MyService {
constructor(dep: string) {}
}
```
Last part of #12787
Closes #12787
2016-12-27 09:36:47 -08:00
Dzmitry Shylovich
67380d4b28
fix(testing): improve misleading error message when don't call compileComponents ( #13543 )
...
Closes #11301
2016-12-22 12:35:57 -08:00
Matias Niemelä
842f52e841
fix(animations): always recover from a failed animation step ( #13604 )
2016-12-21 14:14:45 -08:00
Dzmitry Shylovich
383adc9ad9
fix(core): improve error message when component factory cannot be found ( #13541 )
...
Closes #12678
2016-12-20 16:17:22 -08:00
crisbeto
171a9bdc85
feat: update to rxjs@5.0.1 and unpin the rxjs peerDeps via ^5.0.1 ( #13572 )
...
Now that rxjs is stable and the rxjs team follows semver, we can update and unpin the dependency safely.
From now on the Angular application/library developers are in charge of controlling the rxjs version as long as it's newer than 5.0.1.
closes #13561
closes #13478
closes #13572
2016-12-19 16:24:53 -08:00
Dzmitry Shylovich
4568d5ddac
refactor(core): fix typo ( #13515 )
...
Closes #13512
2016-12-16 15:21:58 -08:00
Tobias Bosch
33910ddfc9
refactor(compiler): store metadata of top level symbols also in summaries ( #13289 )
...
This allows a build using summaries to not need .metadata.json files at all
any more.
Part of #12787
2016-12-15 09:12:40 -08:00
Dzmitry Shylovich
169ed82900
feat(testing): add overrideTemplate method ( #13372 )
...
Closes #10685
2016-12-14 15:05:17 -08:00
Victor Berchet
d4ddb6004e
refactor: format & lint
2016-12-14 13:05:04 -08:00
Eudes Petonnet-Vincent
d91a86aac6
fix(upgrade): fix downgrade content projection and injector inheritance
...
- Full support for content projection in downgraded Angular 2
components. In particular, this enables multi-slot projection and
other features on <ng-content>.
- Correctly wire up hierarchical injectors for downgraded Angular 2
components: downgraded components inherit the injector of the first
other downgraded Angular 2 component they find up the DOM tree.
Closes #6629 , #7727 , #8729 , #9643 , #9649 , #12675
2016-12-14 13:02:27 -08:00
Miško Hevery
a659259962
fix(core): detectChanges() doesn't work on detached instance
...
Closes #13426
Closes #13472
2016-12-14 13:01:06 -08:00
Matias Niemelä
b56474d067
fix(animations): throw errors and normalize offset beyond the range of [0,1]
...
Closes #13348
Closes #13440
2016-12-14 12:59:47 -08:00
Matias Niemelä
8395f0e138
perf(animations): always run the animation queue outside of zones
...
Related #12732
Closes #13440
2016-12-14 12:59:36 -08:00
Pawel Kozlowski
3edca4d37e
fix(core): properly destroy embedded Views attatched to ApplicationRef ( #13459 )
...
Fixes #13062
2016-12-14 08:33:29 -08:00
Tobias Bosch
f5f1d5f65c
fix(compiler): make sure provider values with `name` property don’t break.
...
Fixes #13394
Closes #13445
2016-12-13 17:25:59 -08:00
Dzmitry Shylovich
1d0ed6f75f
docs(core): update OnDestroy description ( #13369 )
...
Closes #11228
2016-12-12 16:45:56 -08:00
Matias Niemelä
f0b0762f4a
fix(animations): always cleanup players after they have finished internally ( #13334 )
...
Closes #13333
Closes #13334
2016-12-09 10:45:10 -08:00
Victor Berchet
b5c4bf1c59
refactor(router): misc refactoring ( #13330 )
2016-12-09 10:44:46 -08:00
Miško Hevery
16efb13dd1
fix: display framework version on bootstrapped component ( #13252 )
2016-12-06 16:21:07 -08:00
Chuck Jazdzewski
f31c9470fa
fix(compiler): short-circut expressions with an index ( #13263 )
...
Fixes #13254
2016-12-06 10:40:15 -08:00
Sarun Rattanasiri
51b06924bd
docs(core): correct HostListener typo ( #13203 )
2016-12-02 14:45:47 -08:00
Alex Rickabaugh
ae26504e84
fix(core): update peer dep on zone.js to ^0.7.2
2016-11-30 15:42:56 -08:00
Alex Rickabaugh
f275f36081
fix(version): take all of version string after patch version
2016-11-30 14:25:11 -08:00
Victor Savkin
e628b66cca
feat(build): record angular version in the dom ( #13164 )
2016-11-30 13:52:08 -08:00
Misko Hevery
c4bbafc291
feat: upgrade zone.js to v0.7.1
2016-11-29 17:24:00 -08:00
Misko Hevery
2d6a003dba
feat: update RxJS peer dependency to 5.0.0-rc.4
...
Closes #13125
RxJS from beta-12 to rc.4, has removed the `cache`
operator. (See https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md#breaking-changes-1 )
If your application relies on it, then we suggest
that you use the one from this gist:
https://gist.github.com/robwormald/19dea0c70a6e01aadced6731aed4f9f7
2016-11-29 16:27:33 -08:00
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
PatrickJS
36caaaa8e4
refactor(core): remove unused import
...
APP_ID was removed after 2.2.x
2016-11-28 14:11:25 -08:00
Pawel Kozlowski
808275a9d5
feat(core): expose destroy() method on ViewRef
2016-11-28 14:10:42 -08:00
Alex Eagle
664a6273e1
feature(tsc-wrapped): add option for closure compiler JSDoc annotations
2016-11-18 09:37:40 -08:00
Tobias Bosch
8b2dfb2eca
fix(core): support `ngTemplateOutlet` in production mode ( #12921 )
...
Fixes #12911
2016-11-16 10:00:18 -08:00
Alex Eagle
75277cd94b
fix(tsickle): support ctorParams in function closure ( #12876 )
...
See https://github.com/angular/tsickle/issues/261 for context.
2016-11-15 09:19:00 -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
André Werlang
752edca81b
test(core): ngOnDestroy called before output events are detached ( #9946 )
...
closes #6984
closes #5436
2016-11-11 10:27:32 -08:00
Matias Niemelä
19e869e7c9
fix(animations): ensure animations work with web-workers ( #12656 )
2016-11-10 11:53:50 -08:00
Pawel Kozlowski
634b3bb88b
feat(core): map 'for' attribute to 'htmlFor' property ( #10546 )
...
This improves ergonomics a bit by allowing people to write:
`<label [for]="ctxProp"></label>`.
This is similar to the existing class -> className mapping.
Closes #7516
2016-11-09 15:21:27 -08:00
Matias Niemelä
f80a157b65
fix(animations): ensure web-animations are caught within the Angular zone
...
Closes #11881
Closes #11712
Closes #12355
Closes #11881
Closes #12546
Closes #12707
Closes #12774
2016-11-09 15:16:34 -08:00
Matias Niemelä
fe35bc34f6
fix(animations): allow animations to be destroyed manually ( #12719 )
...
Closes #12456
Closes #12719
2016-11-08 16:21:28 -08:00
Tobias Bosch
ad3bf6c54f
fix(core): apply host attributes to root elements ( #12761 )
...
Fixes #12744
2016-11-08 15:46:55 -08:00
Matias Niemelä
a0e9fde653
fix(animations): always normalize style properties and values during compilation ( #12755 )
...
Closes #11582
Closes #12481
Closes #12755
2016-11-08 15:45:30 -08:00
Pawel Kozlowski
22c021c57f
fix(compiler): support more than 9 interpolations ( #12710 )
...
Fixes #10253
2016-11-07 12:23:03 -08:00
Matias Niemelä
383f23b578
fix(animations): always trigger animations after the change detection check ( #12713 )
...
This patch ensures that animations are run outside of change detection
thus allowing for start and done callbacks to modify application data
without causing a cycle loop.
Closes #12713
2016-11-04 15:15:27 -07:00
Victor Berchet
2a3f4d7b17
refactor: kill MapWrapper
2016-11-04 13:27:38 -07:00
Victor Berchet
ec92f4b198
refactor: remove `keys()` and `values()` from MapWrapper
2016-11-04 13:27:38 -07:00
Pawel Kozlowski
f0cdb428f5
fix(compiler): don't convert undefined to null literals ( #11503 )
...
Fixes #11493
2016-11-04 10:55:21 -07:00
Tobias Bosch
051d74802a
fix(core): ensure that component views that have no bindings recurse into nested components / view containers.
2016-11-04 10:50:27 -07:00
Tobias Bosch
f2bbef3e33
fix(core): allow to query content of templates that are stamped out at a different place
...
Previously, if a `TemplateRef` was created in a `ViewContainerRef`
at a different place, the content was not query able at all.
With this change, the content of the template can be queried
as if it was stamped out at the declaration place of the template.
E.g. in the following example, the `QueryList<ChildCmp>` will
be filled once the button is clicked.
```
@Component({
selector: ‘my-comp’,
template: ‘<button #vc (click)=“createView()”></button>’
})
class MyComp {
@ContentChildren(ChildCmp)
children: QueryList<ChildCmp>;
@ContentChildren(TemplateRef)
template: TemplateRef;
@ViewChild(‘vc’, {read: ViewContainerRef})
vc: ViewContainerRef;
createView() {
this.vc.createEmbeddedView(this.template);
}
}
@Component({
template: `
<my-comp>
<template><child-cmp></child-cmp></template>
</my-comp>
`
})
class App {}
```
Closes #12283
Closes #12094
2016-11-04 10:50:27 -07:00
Tobias Bosch
e3687706c7
refactor(compiler): minor cleanup
2016-11-03 16:29:51 -07:00
Tobias Bosch
9c23884da4
perf(compiler): introduce direct rendering
...
This allows to attach / detach embedded views and projected nodes
in a faster way.
2016-11-03 16:29:51 -07:00
Tobias Bosch
d708a8859c
perf(platform-browser): don’t use `DomAdapter` any more
...
But use the DOM apis directly.
This also creates a separate `ServerRenderer` implementation
for `platform-server` as it previously reused the `BrowserRenderer`.
2016-11-03 16:29:51 -07:00
gaohailang
69f006cd89
docs(change_detection): fix typo(ChangeDetectorStatus enum comment CheckedOnce -> CheckOnce) ( #12683 )
2016-11-03 11:23:20 -07:00
Tobias Bosch
1a069e8372
refactor(compiler): cleanups
2016-11-02 20:58:48 -07:00
Tobias Bosch
0fc11a43f1
perf(core): use `array.push` / `array.pop` instead of `splice` if possible
2016-11-02 20:58:48 -07:00
Tobias Bosch
0e3d655220
refactor(compiler): remove view factories, use view classes directly
2016-11-02 20:58:48 -07:00
Tobias Bosch
7c5cc9bc41
refactor(compiler): initialize `RenderComponentType` eagerly
...
This moves the usage of `APP_ID` into the `DomRenderer`.
2016-11-02 20:58:48 -07:00
Tobias Bosch
5f1dddc5d0
refactor(compiler): cleanups
2016-11-02 17:06:27 -07:00
Tobias Bosch
20a4f9923f
refactor(compiler): remove `view.parentInjector`
2016-11-02 17:06:27 -07:00
Tobias Bosch
e7c00be19d
refactor(compiler): rename `AppElement` into `ViewContainer`
2016-11-02 17:06:27 -07:00
Tobias Bosch
74ede9aa9b
refactor(core): don’t store view factory in `TemplateRef`
...
Instead, generate `createEmbeddedView`.
2016-11-02 17:06:27 -07:00
Tobias Bosch
d1035da85c
refactor(compiler): don’t use `AppElement`s for creating component views
2016-11-02 17:06:27 -07:00
Tobias Bosch
13533d2a30
refactor(compiler): remove `AppElement.initComponent`
2016-11-02 17:06:27 -07:00
Tobias Bosch
6fda97287e
fix(compiler): support multiple components in a view container
2016-11-01 14:21:40 -07:00
Tobias Bosch
234c5599f1
refactor(compiler): remove unused constructor query support
2016-11-01 11:29:15 -07:00
Tobias Bosch
f6710fefeb
refactor(compiler): make `view.disposable` array null if empty
2016-11-01 11:29:15 -07:00
Tobias Bosch
bda1909ede
refactor(compiler): remove `view.rootNodes` and `view.projectableNodes`
...
They are replaced by generated visitor functions `view.visitRootNodes` / `view.visitProjectableNodes`.
2016-11-01 11:29:15 -07:00
Tobias Bosch
b3e3cd3add
refactor(compiler): inline `view.contentChildren`
2016-11-01 11:29:14 -07:00
Tobias Bosch
e5fdf4c70a
refactor(compiler): inline view.viewChildren in generated code
2016-11-01 11:29:14 -07:00
Tobias Bosch
97471d74b6
refactor(compiler): remove unused `subscriptions` in view
2016-11-01 11:29:14 -07:00
Tobias Bosch
642c1db9ef
fix(compiler): Don’t throw on empty property bindings
...
Closes #12583
2016-10-31 14:43:50 -07:00
Thomas Shafer
7c16ef942e
feat(core): add the find method to QueryList
2016-10-28 15:34:47 -07:00
Thomas Shafer
a318b57257
refactor(core): removed extraneous interface from QueryList test
2016-10-28 15:34:47 -07:00
Tobias Bosch
e391cacdf9
fix(compiler): don’t double bind functions
...
This fixes a performance regressions introduced by 178fb79b5c
.
Also makes properties in the directive wrapper private
so that closure compiler can minify them better.
2016-10-28 11:17:12 -07:00
Tobias Bosch
32feb8a532
refactor(compiler): generate host listeners in DirectiveWrappers
...
Part of #11683
2016-10-27 16:09:01 -07:00
Tobias Bosch
178fb79b5c
refactor(compiler): move host properties into DirectiveWrapper
...
Part of #11683
2016-10-26 14:32:24 -07:00
Tobias Bosch
5a7a58b1e0
refactor(compiler): make arguments in `InlineArray` optional.
2016-10-26 14:32:24 -07:00
Tobias Bosch
fe299f4dfc
refactor(compiler): minor cleanups
2016-10-26 14:32:24 -07:00
Tobias Bosch
faa3478514
refactor(compiler): set element attributes via one call
...
This makes the cost of using directives that have host attributes
smaller.
Part of #11683
2016-10-26 14:32:23 -07:00
Victor Berchet
57051f01ce
refactor: remove most facades ( #12399 )
2016-10-21 15:14:44 -07:00
Tobias Bosch
867494a060
fix(compiler): don't access view local variables nor pipes in host expressions ( #12396 )
...
Fixes #12004
Closes #12071
2016-10-20 15:24:58 -07:00
Tobias Bosch
b0a03fcab3
refactor(compiler): introduce directive wrappers to generate less code
...
- for now only wraps the `@Input` properties and calls
to `ngOnInit`, `ngDoCheck` and `ngOnChanges` of directives.
- also groups eval sources by NgModule.
Part of #11683
2016-10-20 10:41:43 -07:00
Victor Berchet
76dd026447
refactor: remove some facades ( #12335 )
2016-10-19 13:42:39 -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
Victor Berchet
38e2203b24
refactor(core): delete unused reflector code
2016-10-17 23:17:34 -07:00
Victor Berchet
bd1dcb5f11
fix(core): fix decorator defalut values
2016-10-17 23:17:34 -07:00
Victor Berchet
3993279527
fix(core): fix property decorators
...
fixes #12224
2016-10-17 23:17:34 -07:00
Victor Berchet
bf1e2613b2
refactor(core): cleanup decorators
2016-10-17 23:17:34 -07:00
Victor Berchet
f7db0668d1
refactor(core): simplify & cleanup reflection
2016-10-17 23:17:34 -07:00
Matias Niemelä
33c8948fd3
refactor(animations): ensure animation data-structures are created only when used
...
Closes #12250
2016-10-14 15:43:41 -07:00
Victor Berchet
7787771aba
refactor(core): cleanup decorators.ts ( #12161 )
2016-10-11 15:47:20 -07:00
Victor Berchet
e6e007e2f1
refactor(core): cleanup SpyObject ( #12221 )
2016-10-11 15:44:48 -07:00
Matias Niemelä
91dd138fa5
docs(animations): document :enter and :leave transition aliases ( #12222 )
2016-10-11 15:44:38 -07:00
Victor Berchet
d972d82354
refactor: simplify `isPresent(x) ? x : y` to `x || y` ( #12166 )
...
Closes #12166
2016-10-10 09:20:58 -07:00
Victor Berchet
afb4bd9ef6
refactor(NgZone): merge NgZoneImpl and NgZone ( #12104 )
2016-10-06 15:23:37 -07:00
Victor Berchet
0254ce1f6c
refactor(core): simplify Reflector code, add types ( #12099 )
2016-10-06 15:11:16 -07:00