Kara Erickson
bd9d4df735
refactor(ivy): remove inputsPropertyName ( #22716 )
...
Closes #22591
PR Close #22716
2018-03-13 13:26:15 -07:00
Alex Rickabaugh
db56836425
feat: tree-shakeable providers API updates ( #22655 )
...
Rename @Injectable({scope -> providedIn}).
Instead of {providedIn: APP_ROOT_SCOPE}, accept {providedIn: 'root'}.
Also, {providedIn: null} implies the injectable should not be added
to any scope.
PR Close #22655
2018-03-13 09:28:05 -07:00
Marc Laval
f95730b8e2
fix(ivy): elements properties should not be stringified ( #22683 )
...
PR Close #22683
2018-03-12 13:16:05 -07:00
Kara Erickson
aa7dba244b
feat(ivy): support checkNoChanges ( #22710 )
...
PR Close #22710
2018-03-11 22:16:38 -07:00
Kara Erickson
fa451bcd19
feat(ivy): support markForCheck ( #22690 )
...
PR Close #22690
2018-03-09 20:29:05 -08:00
Kara Erickson
b26a90567c
feat(ivy): support attaching and detaching views from change detection ( #22670 )
...
PR Close #22670
2018-03-08 23:44:33 -08:00
Misko Hevery
2fee5cc095
test(ivy): add injection canonical specs ( #22595 )
...
PR Close #22595
2018-03-08 12:09:39 -08:00
Kara Erickson
4c089c1d93
feat(ivy): support ChangeDetectorRef.detectChanges ( #22614 )
...
PR Close #22614
2018-03-07 21:08:25 -08:00
Kara Erickson
d485346d3c
fix(ivy): lifecycle hooks should be queued for root component ( #22614 )
...
PR Close #22614
2018-03-07 21:08:25 -08:00
Marc Laval
f64ee15487
feat(ivy): implement pipes ( #22254 )
...
PR Close #22254
2018-03-07 20:58:48 -08:00
Marc Laval
5d4fa7f0c8
test(ivy): add canonical examples of bindings on elements ( #22403 )
...
PR Close #22403
2018-03-07 20:55:49 -08:00
Miško Hevery
6d1367d297
feat(ivy): provide sanitization methods which can be tree shaken ( #22540 )
...
By providing a top level sanitization methods (rather than service) the
compiler can generate calls into the methods only when needed. This makes
the methods tree shakable.
PR Close #22540
2018-03-07 18:24:07 -08:00
Miško Hevery
363dfa5437
test(ivy): Back patch example ( #22235 )
...
PR Close #22235
2018-03-06 15:02:02 -08:00
Pawel Kozlowski
2c75acc5b3
feat(ivy): add support for the ngProjectAs attribute ( #22498 )
...
PR Close #22498
2018-03-06 06:55:51 -08:00
Kara Erickson
2c2b62f45f
fix(ivy): preventDefault when listener returns false ( #22529 )
...
Closes #22495
PR Close #22529
2018-03-05 12:15:17 -08:00
Misko Hevery
51ca643c27
test(ivy): add injectAttribute spec ( #22510 )
...
PR Close #22510
2018-03-05 10:10:32 -08:00
Misko Hevery
69d359bb51
refactor(ivy): break compiler canonical test into smaller files ( #22510 )
...
PR Close #22510
2018-03-05 10:10:32 -08:00
Kara Erickson
9eaf1bbe67
feat(ivy): support injecting ChangeDetectorRef ( #22469 )
...
PR Close #22469
2018-02-28 13:35:48 -08:00
Kara Erickson
8c358844dd
feat(ivy): support OnPush change detection ( #22417 )
...
PR Close #22417
2018-02-28 10:42:11 -08:00
Marc Laval
aad431642a
refactor(ivy): rename componentRefresh to directiveRefresh ( #22395 )
...
PR Close #22395
2018-02-23 09:42:08 -08:00
Marc Laval
7effb0016c
fix(ivy): ngOnChanges to receive SimpleChanges with non minified property names as keys ( #22352 )
...
PR Close #22352
2018-02-22 17:48:52 -08:00
Marc Laval
b3ffeaa22b
fix(ivy): OnDestroy hook should not be called twice for a directive on an element ( #22350 )
...
PR Close #22350
2018-02-22 13:35:17 -08:00
Marc Laval
894b098eb3
test(ivy): add missing tests on directive lifecycle hooks ( #22368 )
...
PR Close #22368
2018-02-22 11:21:15 -08:00
Marc Laval
ee60bb5b36
fix(ivy): pureFunction8 should update the right bindings ( #22313 )
...
PR Close #22313
2018-02-20 11:36:50 -08:00
Victor Berchet
a8b5465e24
fix(ivy): update master with renamings ( #22268 )
...
PR Close #22268
2018-02-18 18:48:41 -08:00
Victor Berchet
c9ebd60435
refactor(ivy): interpolatiom instructions do not support NO_CHANGE at input. ( #22268 )
...
PR Close #22268
2018-02-18 18:48:41 -08:00
Victor Berchet
5a14e2238f
refactor(ivy): split the `memory` instruction into `store` and `load` ( #22268 )
...
PR Close #22268
2018-02-18 18:48:41 -08:00
Victor Berchet
c30d329faa
fix(ivy): fix merge errors (master is broken) ( #22291 )
...
PR Close #22291
2018-02-18 15:03:39 -08:00
Kara Erickson
49082d7ab2
feat(ivy): support host attributes ( #22213 )
...
PR Close #22213
2018-02-18 13:22:38 -08:00
Kara Erickson
6b627f67db
test(ivy): add missing host listener and host attribute binding tests ( #22213 )
...
PR Close #22213
2018-02-18 13:22:38 -08:00
Kara Erickson
5c320b4c2a
test(ivy): add missing host binding and query tests ( #22213 )
...
PR Close #22213
2018-02-18 13:22:34 -08:00
Misko Hevery
ac2b04a5ab
test(ivy): Add small_app spec for sprint #3 ( #22018 )
...
PR Close #22018
2018-02-18 13:18:54 -08:00
Misko Hevery
a63b764b54
test(ivy): move compiler canonical specs into a single directory ( #22018 )
...
PR Close #22018
2018-02-18 13:18:54 -08:00
Kara Erickson
f693be3996
feat(ivy): add pureFunction0 instruction ( #22214 )
...
PR Close #22214
2018-02-16 18:03:55 -08:00
Kara Erickson
a73d5308e0
refactor(ivy): rename objectLiteral to pureFn to prep for pipes ( #22214 )
...
PR Close #22214
2018-02-16 18:03:55 -08:00
Marc Laval
dfa2fb95d5
test(ivy): clean the imported renderer2 ( #22255 )
...
PR Close #22255
2018-02-16 15:11:23 -08:00
Victor Berchet
5dd2b5135d
refactor(ivy): rename `bindX()` functions to `interpolationX()` ( #22229 )
...
rationale: remove the confusion with `bind()` and `bind0()`
PR Close #22229
2018-02-15 14:20:53 -08:00
Kara Erickson
a589ca0adb
test(ivy): clean up canonical spec ( #22188 )
...
PR Close #22188
2018-02-13 13:04:43 -08:00
Kara
5e4af7c550
fix(ivy): o2+ should work with multiple template instances ( #22075 )
...
Closes #22075
2018-02-13 10:24:41 -08:00
Kara Erickson
d9ae70c699
test(ivy): normalize template names in canonical spec ( #21815 )
...
PR Close #21815
2018-02-08 08:55:40 -08:00
Victor Berchet
3f5a3d6ea1
refactor(ivy): add internal `isProceduralRenderer()` ( #22055 )
...
PR Close #22055
2018-02-07 17:03:25 -08:00
Victor Berchet
10a014d89e
refactor(ivy): prefix viewStart & viewEnd with embedded ( #22055 )
...
PR Close #22055
2018-02-07 17:03:25 -08:00
Victor Berchet
8feb8e5408
refactor(ivy): use long instruction format in tests ( #22055 )
...
PR Close #22055
2018-02-07 17:03:25 -08:00
Kara Erickson
b58c3527e9
test(ivy): add canonical spec for object literals ( #22045 )
...
PR Close #22045
2018-02-07 12:10:16 -08:00
Miško Hevery
efc67ee5ef
fix(ivy): make pipe invocation locality neutral ( #22030 )
...
PR Close #22030
2018-02-07 12:09:56 -08:00
Kara Erickson
4d62be69c5
feat(ivy): memoize array literals in render3 ( #21973 )
...
PR Close #21973
2018-02-06 08:01:52 -08:00
Misko Hevery
743d8bc845
feat(ivy): add canonical example of a pipe. ( #21834 )
...
PR Close #21834
2018-02-02 07:51:23 -08:00
Chuck Jazdzewski
65cf1add97
fix(ivy): remove unnecessary parameter of NgOnChangesFeature ( #21879 )
...
PR Close #21879
2018-02-01 08:33:36 -08:00
Pawel Kozlowski
1aa2947f70
feat(ivy): add support for attributes on ng-content nodes ( #21935 )
...
By adding attributes on the <ng-content> element template authors
can decide how content should be re-projected (or, in other words:
which selectors should match re-projected content).
PR Close #21935
2018-02-01 08:30:26 -08:00
Kara Erickson
81306c1f61
feat(ivy): add support for content query ( #21912 )
...
PR Close #21912
2018-01-31 10:19:15 -08:00
Kara Erickson
0365592119
test(ivy): add canonical view query example ( #21912 )
...
PR Close #21912
2018-01-31 10:19:15 -08:00
Pawel Kozlowski
285dd6be34
feat(ivy): observable QueryList ( #21859 )
...
PR Close #21859
2018-01-30 11:43:38 -08:00
Chuck Jazdzewski
d364117aa8
fix(ivy): correct errors in template variable specification ( #21759 )
...
PR Close #21759
2018-01-27 10:49:30 -08:00
Pawel Kozlowski
6245637e81
fix(ivy): correct query read logic after merges ( #21749 )
...
PR Close #21749
2018-01-27 10:49:09 -08:00
David-Emmanuel Divernois
1278cca883
perf(ivy): removes generation of comments ( #21638 )
...
PR Close #21638
2018-01-27 10:48:39 -08:00
Kara Erickson
dcca799dbb
fix(ivy): call onChanges before onInit ( #21793 )
...
PR Close #21793
2018-01-26 14:57:03 -08:00
Kara Erickson
d3d3f7191a
test(ivy): add canonical lifecycle example ( #21793 )
...
PR Close #21793
2018-01-26 14:57:03 -08:00
Pawel Kozlowski
f9381e42de
feat(ivy): implement QueryList array-related methods ( #21778 )
...
PR Close #21778
2018-01-25 22:19:43 -08:00
Pawel Kozlowski
5269ce287e
feat(ivy): support deep queries through view boundaries ( #21700 )
...
PR Close #21700
2018-01-24 22:18:38 -08:00
Kara Erickson
3e03dbe576
refactor(ivy): flatten hooks and collapse LView hook properties ( #21650 )
...
PR Close #21650
2018-01-24 22:14:33 -08:00
Kara Erickson
33b338120c
refactor(ivy): move onDestroys out of cleanup ( #21650 )
...
PR Close #21650
2018-01-24 22:14:33 -08:00
Kara Erickson
811679a583
refactor(ivy): remove unnecessary Comp.r function ( #21650 )
...
PR Close #21650
2018-01-24 22:14:33 -08:00
Kara Erickson
2c33d17609
refactor(ivy): move content and view hooks into TView ( #21650 )
...
PR Close #21650
2018-01-24 22:14:32 -08:00
Kara Erickson
9c99e6a838
refactor(ivy): move init hooks into TView ( #21650 )
...
PR Close #21650
2018-01-24 22:14:32 -08:00
Kara Erickson
98174758ad
refactor(ivy): add type and hooks to directive def ( #21650 )
...
PR Close #21650
2018-01-24 22:14:32 -08:00
Kara Erickson
97b928053d
fix(ivy): correct onDestroy order for projected components ( #21650 )
...
PR Close #21650
2018-01-24 22:14:32 -08:00
Kara Erickson
1fe55e252c
feat(ivy): add afterContentInit and afterContentChecked to render3 ( #21650 )
...
PR Close #21650
2018-01-24 22:14:32 -08:00
Kara Erickson
53ed4b4648
test(ivy): add missing lifecycle tests for projected components ( #21650 )
...
PR Close #21650
2018-01-24 22:14:32 -08:00
Miško Hevery
1e9cd95f5c
test(ivy): content projection canonical example ( #21674 )
...
PR Close #21674
2018-01-23 16:42:07 -08:00
Chuck Jazdzewski
c65634215b
feat(ivy): update specification to include template variables ( #21677 )
...
PR Close #21677
2018-01-23 13:32:57 -08:00
Alex Rickabaugh
0ad02de47e
feat(ivy): support for the ngForOf directive, with tests ( #21430 )
...
Implement NgOnChangesFeature, ViewContainerRef, TemplateRef,
and the renderEmbeddedTemplate instruction, and wire together the
pieces required for the ngForOf directive to work.
PR Close #21430
2018-01-23 12:54:39 -08:00
Alex Rickabaugh
6472661ae8
refactor(ivy): avoid circular dep with query/di/instructions ( #21430 )
...
To prepare for pending ngForOf work, the dep from instructions -> query
should be broken. This will enable a dep from di -> instructions while
avoiding a di -> instructions -> query -> di cycle.
Analyzing this cycle also uncovered another problem: the implementation
of query() breaks tree-shaking through a hard dependency on DI concepts
of TemplateRef, ElementRef, ViewContainerRef. This is fundamentally due
to how query() can query for those values without any configuration.
Instead, this fix introduces the concept by employing the strategy
pattern, and redefining QueryReadType to pass a function which will
return one of the above values. This strategy is then used for 'read'
instead of an enum in cases where special values should be read from
the DI system.
PR Close #21430
2018-01-23 12:54:39 -08:00
Kara Erickson
e18f1de003
refactor(ivy): remove unnecessary D instruction ( #21484 )
...
PR Close #21484
2018-01-19 15:23:17 -08:00
Chuck Jazdzewski
21e37e47c6
fix(ivy): update the compiler specification ( #21656 )
...
Also make a minor fix for directive definitions
PR Close #21656
2018-01-19 13:23:54 -08:00
Alex Eagle
a1492a73ce
build: Remove angular_src nested workspace ( #21096 )
...
PR Close #21096
2018-01-19 10:17:37 -08:00
Kara Erickson
efe545a878
refactor(ivy): add TView and TContainer ( #21463 )
...
PR Close #21463
2018-01-16 10:51:55 -08:00
Miško Hevery
5eaaac35a8
refactor(ivy): remove `type` from `DirectiveDef` ( #21374 )
...
This change makes the code cleaner for the user. It does mean
a little bit more work for us since we have to patch the `type` back
into the `DirectiveDef`. However since the patching happens only once
on startup it should not be significant.
PR Close #21374
2018-01-11 07:02:18 -08:00
Miško Hevery
16232f000f
refactor(ivy): merged containerStart/containerEnd ( #21374 )
...
This separation is no longer needed since directives are now passed into the `container` as an array rather than as child functions of the `containerStart`
PR Close #21374
2018-01-11 07:02:18 -08:00
Misko Hevery
9f43f5f09e
test(ivy): add canonical template translation examples ( #21374 )
...
This change creates a spec file which contains canonical examples
of how the template compiler will translate templates into expected
output.
PR Close #21374
2018-01-11 07:02:18 -08:00
Misko Hevery
a6d41c47a9
refactor(ivy): move directive into elementStart ( #21374 )
...
We used to have a separate `directive` instruction for instantiating
directives. However, such an instruction requires that directives
are created in the correct order, which would require that template
compiler would have knowledge of all dependent directives. This
would break template compilation locality principle.
This change only changes the APIs to expected form but does
not change the semantics. The semantics will need to be corrected
in subsequent commits. The semantic change needed is to
resolve the directive instantiation error at runtime based on
injection dependencies.
PR Close #21374
2018-01-11 07:02:17 -08:00
Kara Erickson
6be9c0466c
refactor(core): split up interface files in render3 ( #21433 )
...
PR Close #21433
2018-01-10 16:13:44 -08:00
Alex Eagle
c4f02e21dd
build: move repeated tsconfig attributes to a macro ( #20964 )
...
This helps ensure we use the same tsconfig.json file for all compilations.
Next steps are to make it the same tsconfig.json file used by the editor
PR Close #20964
2018-01-10 12:30:19 -08:00
Kara Erickson
fc3e7e0381
refactor(core): create consistent naming scheme across classes ( #21403 )
...
PR Close #21403
2018-01-10 11:15:48 -08:00
Kara Erickson
3db91ffd96
feat(core): add ngAfterViewInit and ngAfterViewChecked support to render3 ( #21266 )
...
PR Close #21266
2018-01-09 14:18:17 -08:00
Marc Laval
a2f3f4550d
test(core): properly stringify HTML elements in render3 tests ( #21279 )
...
PR Close #21279
2018-01-05 14:25:40 -08:00
Marc Laval
d2cfc6a719
build: activate render3 tests in CI ( #21279 )
...
PR Close #21279
2018-01-05 14:25:40 -08:00
Miško Hevery
9f538a6cac
build: add karma tests for render3 ( #21188 )
...
PR Close #21188
2017-12-27 16:46:56 -06:00
Pawel Kozlowski
3750ea9dff
feat(core): final adjustements to ngIvy read option for queries ( #21187 )
...
PR Close #21187
2017-12-27 16:46:56 -06:00
Pawel Kozlowski
afd89ed8d9
fix(core): support read option when querying for types ( #21187 )
...
PR Close #21187
2017-12-27 16:46:56 -06:00
Pawel Kozlowski
a62371c0eb
feat(core): more read options for ngIvy queries ( #21187 )
...
PR Close #21187
2017-12-27 16:46:56 -06:00
Kara Erickson
c516bc3b35
feat(core): add ngOnInit and ngDoCheck support in render3 ( #21156 )
...
PR Close #21156
2017-12-27 16:46:56 -06:00
Miško Hevery
5a7bf36723
build: fix circular dep between interface and l_node by merging ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Miško Hevery
66528a21f6
build: fix benchmarks for render3 ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Miško Hevery
a77757277b
build: yarn buildifier ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Pawel Kozlowski
4f05d022c1
feat(core): support 'read' option for ngIvy queries ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Kara Erickson
5df343169e
docs(core): add missing docs to component and fix formatting ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Marc Laval
764fea1344
test(core): animation renderer factory in render3 ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Pawel Kozlowski
bbdea96a66
refactor: remove import circular dependencies ( #20855 )
...
This PR fixes a circular dependency among those files in Renderer3:
`query` -> `di` -> `instructions` -> `query` -> ...
Looking at the above dependencies the `di` -> `instructions` import is
a problematic one. Previously `di` had an import from `instructions`
since we can known about "current node" only in `instructions`
(and we need "current node" to create node injector instances).
This commit refactors the code in the way that functions in the
`di` file don't depend on any info stored module-global variables
in `instructions`.
PR Close #20855
2017-12-21 21:40:58 -08:00
Marc Laval
d1de587ce0
feat(core): add renderer factory in render3 ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Pawel Kozlowski
147aec43bd
feat: support queries for elements with local names ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Miško Hevery
1f5049f30c
style: fix formatting errors ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Kara Erickson
19eeba2281
refactor(core): rename instructions for consistency ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Miško Hevery
83b27bac17
style: fix formatting errors ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Kara Erickson
b462f49ce7
refactor(core): renamed and split out interfaces ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Kara Erickson
8fdb1e09c1
refactor(core): store directive defs in static data ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Miško Hevery
93b00cceb6
refactor(core): store locals in main array in rederer3 ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00
Miško Hevery
0fa818b318
feat(core): Moving Renderer3 into @angular/core ( #20855 )
...
PR Close #20855
2017-12-21 21:40:58 -08:00