Andrew Kushnir
cb59d87489
feat(ivy): compiler support to generate QUERY_READ_FROM_NODE calls ( #26171 )
...
PR Close #26171
2018-10-03 12:28:23 -07:00
Matias Niemelä
ab379ab72a
refactor(ivy): always use styling helper methods when comparing values ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Matias Niemelä
32e479ffec
refactor(ivy): reorganize styling and player files ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Matias Niemelä
391c708d7e
fix(ivy): ensure [style]/[class] bindings identity check the previous value ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Matias Niemelä
c51331689f
refactor(ivy): rename stylingProp => styleProp ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Kara Erickson
68fadd9b97
refactor(ivy): replace LNode.nodeInjector with TNode.injectorIndex ( #26177 )
...
PR Close #26177
2018-10-01 09:34:52 -07:00
Igor Minar
9993c72335
feat: add support for TypeScript 3.1 ( #26151 )
...
PR Close #26151
2018-09-28 09:34:51 -07:00
Pawel Kozlowski
5f6900ecc0
feat(ivy): add ability to inspect local refs through context discovery ( #26117 )
...
PR Close #26117
2018-09-27 12:00:53 -07:00
Misko Hevery
632b19d5c2
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
add1198b88
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
0ed2df2a36
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
bc1f2d6411
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
d7326d81ba
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
b286abeabe
feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Kara Erickson
15a2b8f622
fix(ivy): wrapper fns arent necessary anymore ( #26108 )
...
PR Close #26108
2018-09-26 00:03:16 -07:00
Kara Erickson
6a62ed2245
fix(ivy): objects like ElementRef should not use a special injection fn ( #26064 )
...
PR Close #26064
2018-09-25 12:51:29 -07:00
Matias Niemelä
0c344715e5
feat(ivy): expose a series of helpful application inspection tools ( #25919 )
...
PR Close #25919
2018-09-25 09:46:12 -07:00
Matias Niemelä
82a14dc107
feat(ivy): provide groundwork for animations in core ( #25234 )
...
PR Close #25234
2018-09-21 14:51:24 -07:00
Kara Erickson
d5f47d6b71
refactor(ivy): special injection tokens should not be cached ( #26048 )
...
PR Close #26048
2018-09-20 18:02:08 -07:00
Adam Plumer
3fb0da2de5
feat(platform-server): update domino to v2.1.0 ( #25564 )
...
PR Close #25564
2018-09-19 16:07:36 -07:00
Greg Magolan
b99d7ed5bf
build(bazel): update to rules_typescript 0.17.0 & rules_nodejs 0.13.4 ( #25920 )
...
PR Close #25920
2018-09-18 13:05:38 -07:00
Kara Erickson
5653874683
fix(ivy): events should not mark views dirty by default ( #25969 )
...
PR Close #25969
2018-09-17 13:02:39 -07:00
Kara Erickson
aedebaf025
refactor(ivy): remove LNode.tNode ( #25958 )
...
PR Close #25958
2018-09-14 16:16:28 -07:00
Matias Niemelä
10a656fc38
refactor(ivy): ensure hello world doesn't pull in context discovery creation code ( #25895 )
...
PR Close #25895
2018-09-12 13:25:12 -04:00
Alex Rickabaugh
a9099e8f70
fix(ivy): ensure Ivy *Ref classes derive from view engine equivalents ( #25775 )
...
Various user code uses 'instanceof' to check whether a particular instance
is a TemplateRef, ElementRef, etc. Ivy needs to work with these checks.
PR Close #25775
2018-09-11 06:53:22 -07:00
Matias Niemelä
e3633888ed
feat(ivy): support animation @triggers in templates ( #25849 )
...
PR Close #25849
2018-09-10 13:59:27 -07:00
Kara Erickson
83a1334876
refactor(ivy): migrate previousOrParentNode to use TNodes ( #25829 )
...
PR Close #25829
2018-09-07 16:06:17 -07:00
Matias Niemelä
62be8c2e2f
feat(ivy): allow combined context discovery for components, directives and elements ( #25754 )
...
PR Close #25754
2018-09-07 14:14:56 -07:00
Matias Niemelä
d2dfd48be0
feat(ivy): patch animations into metadata ( #25828 )
...
PR Close #25828
2018-09-07 13:46:06 -07:00
Alex Rickabaugh
a417b2b419
fix(ivy): detect frozen flyweight objects in definitions and unfreeze ( #25755 )
...
defineComponent() and friends can return a flyweight EMPTY object for
specific fields when they contain no data. InheritDefinitionFeature
was attempting to write into these flyweight objects, which have been
protected with Object.freeze().
This commit adds detection to InheritDefinitionFeature to identify the
frozen objects.
PR Close #25755
2018-09-05 09:27:41 -07:00
Pawel Kozlowski
34be51898d
fix(ivy): support host bindings on dynamically created components ( #25765 )
...
PR Close #25765
2018-08-31 13:36:53 -07:00
Marc Laval
00f13110be
feat(ivy): support injecting Renderer2 ( #25523 )
...
PR Close #25523
2018-08-31 09:42:36 -07:00
Pawel Kozlowski
371df35624
fix(ivy): register to directive outputs on ng-template / ng-container ( #25698 )
...
Runtime part of #25697
PR Close #25698
2018-08-30 21:22:01 -07:00
Pawel Kozlowski
0386c44acc
fix(ivy): inject attributes for directives on ng-template / ng-container ( #25697 )
...
PR Close #25697
2018-08-28 14:34:59 -04:00
Matias Niemelä
0024d68add
feat(ivy): add support for resolving view data from a DOM node ( #25627 )
...
PR Close #25627
2018-08-27 21:15:29 -04:00
Pawel Kozlowski
8fa099158e
fix(ivy): allow queries for ng-container without read option ( #25617 )
...
PR Close #25617
2018-08-24 11:52:50 -04:00
Pawel Kozlowski
b00038c847
fix(ivy): inject ViewContainerRef for directives on ng-container ( #25617 )
...
PR Close #25617
2018-08-24 11:52:50 -04:00
George Kalpakas
18f129f536
build: upgrade Chromium and ChromeDriver to latest versions ( #25602 )
...
PR Close #25602
2018-08-24 11:48:40 -04:00
Matias Niemelä
a37bcc3bfe
feat(ivy): bridge component styles into the component renderer ( #25255 )
...
PR Close #25255
2018-08-23 16:51:15 -04:00
Kara Erickson
d5b70e0c66
fix(ivy): create LViewData from blueprint ( #25587 )
...
PR Close #25587
2018-08-22 15:58:42 -04:00
Kara Erickson
831e71ea3c
fix(ivy): host bindings should support array/object literals ( #25583 )
...
PR Close #25583
2018-08-21 10:48:42 -07:00
Ben Lesh
f54f3856cb
feat(ivy): add query inheritance ( #25556 )
...
Adds inheritance handling for the following:
- viewQuery
- contentQueries
- contentQueriesRefresh
PR Close #25556
2018-08-20 16:36:22 -07:00
Kara Erickson
21a14407f6
refactor(ivy): generate vars in component defs ( #25562 )
...
PR Close #25562
2018-08-20 11:08:10 -07:00
Kara Erickson
f2aa9c6a7f
refactor(ivy): use generated consts value to set binding index ( #25533 )
...
PR Close #25533
2018-08-17 14:32:55 -07:00
Kara Erickson
4708cb91ef
refactor(ivy): remove reserveSlots instruction ( #25533 )
...
PR Close #25533
2018-08-17 14:32:55 -07:00
Pawel Kozlowski
31f0f5b3c3
feat(ivy): add support for local refs on ng-template ( #25482 )
...
PR Close #25482
2018-08-17 09:58:07 -07:00
Kara Erickson
6482f6f0fe
refactor(ivy): separate container into 2 instructions ( #25509 )
...
PR Close #25509
2018-08-16 13:47:14 -07:00
Miško Hevery
9ee6702fa9
refactor(ivy): remove short instruction names as they provide no value ( #25493 )
...
PR Close #25493
2018-08-16 11:04:34 -07:00
Ben Lesh
a0a29fdd27
feat(ivy): Add AOT handling for bare classes with Input and Output decorators ( #25367 )
...
PR Close #25367
2018-08-14 16:36:18 -07:00
Pawel Kozlowski
9117fa199c
test(ivy): activate local references canonical spec ( #25462 )
...
PR Close #25462
2018-08-14 12:01:55 -07:00
Pawel Kozlowski
0c4209f4b9
refactor(ivy): harmonize container and element / elementContainer signatures ( #25458 )
...
PR Close #25458
2018-08-14 12:01:23 -07:00
Victor Berchet
85106375ac
refactor(ivy): misc cleanup ( #25369 )
...
PR Close #25369
2018-08-14 11:58:47 -07:00
Miško Hevery
2016afdbff
fix(ivy): remove ivy dependency on ViewEngine's resolveRendererType2 ( #25396 )
...
PR Close #25396
2018-08-10 13:32:04 -07:00
Kara Erickson
409860a4da
fix(ivy): queries should be restored when view changes ( #25415 )
...
PR Close #25415
2018-08-10 09:13:16 -07:00
Kara Erickson
2b128a47b9
refactor(ivy): queries should not rely on LNode ( #25415 )
...
PR Close #25415
2018-08-10 09:13:16 -07:00
Alex Rickabaugh
5be186035f
feat(ivy): enable inheritance of factory functions in definitions ( #25392 )
...
This commit creates an API for factory functions which allows them
to be inherited from one another. To do so, it differentiates between
the factory function as a wrapper for a constructor and the factory
function in ngInjectableDefs which is determined by a default
provider.
The new form is:
factory: (t?) => new (t || SomeType)(inject(Dep1), inject(Dep2))
The 't' parameter allows for constructor inheritance. A subclass with
no declared constructor inherits its constructor from the superclass.
With the 't' parameter, a subclass can call the superclass' factory
function and use it to create an instance of the subclass.
For @Injectables with configured providers, the factory function is
of the form:
factory: (t?) => t ? constructorInject(t) : provider();
where constructorInject(t) creates an instance of 't' using the
naturally declared constructor of the type, and where provider()
creates an instance of the base type using the special declared
provider on @Injectable.
PR Close #25392
2018-08-09 09:58:13 -07:00
Pawel Kozlowski
9c92a6fc7a
test(ivy): add test for <ng-container> and shallow queries ( #25379 )
...
PR Close #25379
2018-08-09 07:35:01 -07:00
Pawel Kozlowski
af9ced9026
fix(ivy): project ng-container nodes ( #25354 )
...
PR Close #25354
2018-08-07 12:02:48 -07:00
Pawel Kozlowski
dbdbbdbe86
fix(ivy): support ng-container inside another ng-container ( #25346 )
...
PR Close #25346
2018-08-07 11:48:42 -07:00
Pawel Kozlowski
3355502f2f
fix(ivy): support ng-container at the root of a view with delayed insertion ( #25329 )
...
PR Close #25329
2018-08-06 13:47:44 -07:00
Victor Berchet
afa6b9e794
fix(ivy): execute the optional begin and end methods of the rendererFactory ( #25273 )
...
This is required to i.e. flush animations when using a Renderer2.
`rf.begin()` and `rf.end()` around the change detection.
PR Close #25273
2018-08-03 10:17:13 -07:00
Victor Berchet
b38931b484
fix(ivy): use devModeEqual in no change mode ( #25252 )
...
To avoid the unfamous error `Expression has changed after it was checked.`
PR Close #25252
2018-08-02 22:57:28 -07:00
Kara Erickson
1fb7111da1
fix(ivy): content query results should be available in content hooks ( #25271 )
...
PR Close #25271
2018-08-02 19:32:09 -07:00
Pawel Kozlowski
c2c12e52fe
feat(ivy): support ng-container as a child of an already inserted view ( #25227 )
...
PR Close #25227
2018-08-02 18:50:03 -07:00
Pawel Kozlowski
28c7a4efbc
feat(ivy): add basic support for ng-container ( #25227 )
...
This commit adds basic support for <ng-container> - most of the
functionality should work as long as <ng-container> is a child of
a regular element.
PR Close #25227
2018-08-02 18:50:03 -07:00
Kara Erickson
c8a4fb1faf
fix(ivy): walk declaration views in listener ( #25228 )
...
PR Close #25228
2018-07-31 16:35:20 -07:00
Ben Lesh
64516da6b0
feat(ivy): support inheriting input/output from bare base class ( #25094 )
...
PR Close #25094
2018-07-31 16:25:11 -07:00
Miško Hevery
6e2a1877ab
refactor(core): remove withBody from public testing API ( #25171 )
...
PR Close #25171
2018-07-31 15:09:32 -07:00
Victor Berchet
36648293a8
refactor(ivy): misc ( #25174 )
...
PR Close #25174
2018-07-30 16:59:48 -07:00
Marc Laval
cd89eb8404
feat(ivy): implement the getters of ViewContainerRef ( #25174 )
...
BREAKING CHANGE: ViewContainerRef.parentInjector is deprecated without replacement
PR Close #25174
2018-07-30 16:59:48 -07:00
Kara Erickson
2ef777b0b2
fix(ivy): convert context code into a tree-shakable instruction ( #24943 )
...
PR Close #24943
2018-07-30 15:54:11 -07:00
Kara Erickson
fe14f180a6
fix(compiler): update compiler to flatten nested template fns ( #24943 )
...
PR Close #24943
2018-07-30 15:54:11 -07:00
Kara Erickson
87419097da
fix(ivy): flatten template fns for nested views ( #24943 )
...
PR Close #24943
2018-07-30 15:54:11 -07:00
Victor Berchet
6a797d5401
refactor(ivy): `element` and `ElementStart` retuns `void` ( #25173 )
...
use `loadElement` to load an element when needed in specs
PR Close #25173
2018-07-27 17:22:18 -07:00
Victor Berchet
89e8b6fc0e
refactor(ivy): update specs to make use of the `element()` instruction ( #25173 )
...
PR Close #25173
2018-07-27 17:22:18 -07:00
Victor Berchet
7f59170f77
refactor(ivy): use `element()` where applicable in di_spec ( #25166 )
...
For future ref
Search `elementStart\(([^)]+)\);\s*\n\s*elementEnd\(\);`
Replace `element($1)`
PR Close #25166
2018-07-27 18:47:13 -04:00
Victor Berchet
15df853622
fix(ivy): walk the node injector tree and then the module injector tree ( #25166 )
...
- `directiveInjector()` is used to inject anything in the directive / component
/ pipe factories so adding `InjectionToken<T>` as a supported token type.
- `getOrCreateInjectable()` should search first in the node injector tree and
then in the module injector tree (was either or before the PR).
PR Close #25166
2018-07-27 18:47:13 -04:00
Olivier Combe
1ceddb6290
fix(ivy): support re-order embedded templates ( #24805 )
...
PR Close #24805
2018-07-24 16:41:05 -07:00
Olivier Combe
22731a7588
refactor(ivy): split i18nInterpolation into 8 functions ( #24805 )
...
PR Close #24805
2018-07-24 16:41:05 -07:00
Olivier Combe
72dd10f78f
refactor(ivy): cleanup runtime i18n code ( #24805 )
...
Fixes #24785
PR Close #24805
2018-07-24 16:41:05 -07:00
Marc Laval
445b9a5627
feat(ivy): support ViewContainerRef.createComponent() ( #24997 )
...
PR Close #24997
2018-07-24 08:23:23 -07:00
Matias Niemelä
169e9dd2c8
feat(ivy): bridge compile instructions to include sanitization helpers ( #24938 )
...
PR Close #24938
2018-07-23 08:49:52 -07:00
Pawel Kozlowski
56b3f1703e
fix(ivy): invoke lifecycle hooks of directives placed on ng-template ( #24899 )
...
PR Close #24899
2018-07-20 10:45:51 -07:00
Matias Niemelä
ba3eb8b654
feat(ivy): properly apply class="", [class], [class.foo] and [attr.class] bindings ( #24822 )
...
PR Close #24822
2018-07-17 16:33:25 -04:00
Alex Rickabaugh
cde0b4b361
fix(ivy): *Def types are private (ɵ) symbols ( #24738 )
...
On accident a few of the definition types were emitted as public API
symbols. Much of the Ivy API surface is still prefixed with ɵ,
indicating it's a private API. The definition types should be private
for now.
PR Close #24738
2018-07-12 16:36:35 -04:00
Pawel Kozlowski
0399c6972a
refactor(ivy): remove content query creation from directive factories ( #24811 )
...
PR Close #24811
2018-07-12 16:32:33 -04:00
Kara Erickson
3a19f70d1c
refactor(ivy): replace pNextOrParent with TNode props ( #24752 )
...
PR Close #24752
2018-07-10 11:12:27 -07:00
Kara Erickson
dc1f1295ee
fix(ivy): support projecting into dynamic views ( #24752 )
...
PR Close #24752
2018-07-10 11:12:27 -07:00
Matias Niemelä
3980640d53
feat(ivy): properly apply style="", [style], [style.foo] and [attr.style] bindings ( #24602 )
...
PR Close #24602
2018-07-06 13:51:00 -07:00
George Kalpakas
00c110b055
build: upgrade jasmine (and related typings) to latest version ( #19904 )
...
With these changes, the types are a little stricter now and also not
compatible with Protractor's jasmine-like syntax. So, we have to also
use `@types/jasminewd2` for e2e tests (but not for non-e2e tests).
I also had to "augment" `@types/jasminewd2`, because the latest
typings from [DefinitelyTyped][1] do not reflect the fact that the
`jasminewd2` version (v2.1.0) currently used by Protractor supports
passing a `done` callback to a spec.
[1]: 566e039485/types/jasminewd2/index.d.ts (L9-L15)
Fixes #23952
Closes #24733
PR Close #19904
2018-07-06 13:48:02 -07:00
Alex Rickabaugh
3d52174bf1
feat(ivy): JIT support for compilation of @Pipes ( #24703 )
...
Adds support for compiling @Pipe in JIT mode, along with tests
to verify that certain aspects of compilation are correct.
PR Close #24703
2018-07-03 18:36:02 -04:00
Alex Rickabaugh
dbdcfed2bd
feat(ivy): support pipe compilation from local metadata ( #24703 )
...
This updates the r3_pipe_compiler to not depend on global analysis,
and to produce ngPipeDef instructions in the same way that the other
compilers do. It's a precursor to JIT and AOT implementations of
@Pipe compilation.
PR Close #24703
2018-07-03 18:36:02 -04:00
Kara Erickson
a294e0dd79
fix(ivy): correct position for re-projected containers ( #24721 )
...
PR Close #24721
2018-07-02 14:38:12 -07:00
Kara Erickson
d243baf48a
refactor(ivy): remove pChild from LNode ( #24705 )
...
PR Close #24705
2018-06-29 06:44:08 -07:00
Ben Lesh
9803cb011e
feat(ivy): Add InheritanceDefinitionFeature to support directive inheritance ( #24570 )
...
- Adds InheritanceDefinitionFeature to ivy
- Ensures that lifecycle hooks are inherited from super classes whether they are defined as directives or not
- Directives cannot inherit from Components
- Components can inherit from Directives or Components
- Ensures that Inputs, Outputs, and Host Bindings are inherited
- Ensures that super class Features are run
PR Close #24570
2018-06-29 06:42:40 -07:00
Kara Erickson
99bdd257a6
fix(ivy): support projecting containers into containers ( #24695 )
...
PR Close #24695
2018-06-28 15:01:42 -07:00
Pawel Kozlowski
50fb13fb09
fix(ivy): report results to appropriate content queries ( #24673 )
...
PR Close #24673
2018-06-27 14:20:34 -07:00
Kara Erickson
fe8fcc834c
refactor(ivy): remove dynamicParent from LNode ( #24678 )
...
PR Close #24678
2018-06-27 14:14:46 -07:00
Alex Rickabaugh
89c442270a
feat(ivy): generate ngInjectorDef for @NgModule in JIT mode ( #24632 )
...
This commit takes advantage of the @angular/compiler work for ngInjectorDef
in AOT mode in order to generate the same definition in JIT mode.
PR Close #24632
2018-06-26 10:56:53 -07:00
Marc Laval
f229449c67
refactor(ivy): insert embedded views immediately ( #24629 )
...
PR Close #24629
2018-06-25 07:58:33 -07:00
Rado Kirov
c95437f15d
build(bazel): Turning on strictPropertyInitialization for Angular. ( #24572 )
...
All errors for existing fields have been detected and suppressed with a
`!` assertion.
Issue/24571 is tracking proper clean up of those instances.
One-line change required in ivy/compilation.ts, because it appears that
the new syntax causes tsickle emitted node to no longer track their
original sourceFiles.
PR Close #24572
2018-06-25 07:57:13 -07:00
Olivier Combe
84272e2227
feat(ivy): runtime i18n ( #24037 )
...
PR Close #24037
2018-06-21 13:13:30 -07:00
Pawel Kozlowski
3e1a3b2e32
fix(ivy): support queries for views inserted in lifecycle hooks ( #24587 )
...
Closes #23707
PR Close #24587
2018-06-20 16:51:14 -07:00
Pawel Kozlowski
1e6a226703
test(ivy): ngTemplateOutlet runtime integration test ( #24587 )
...
PR Close #24587
2018-06-20 16:51:14 -07:00
Marc Laval
8b8168262d
fix(ivy): nested ngFor should be supported ( #24564 )
...
PR Close #24564
2018-06-20 16:50:37 -07:00
Matias Niemelä
e8354edcd2
test(animations): properly reference body node for SSR environments ( #23300 )
...
PR Close #23300
2018-06-20 11:00:41 -07:00
Alex Rickabaugh
27bc7dcb43
feat(ivy): ngtsc compiles @Component, @Directive, @NgModule ( #24427 )
...
This change supports compilation of components, directives, and modules
within ngtsc. Support is not complete, but is enough to compile and test
//packages/core/test/bundling/todo in full AOT mode. Code size benefits
are not yet achieved as //packages/core itself does not get compiled, and
some decorators (e.g. @Input) are not stripped, leading to unwanted code
being retained by the tree-shaker. This will be improved in future commits.
PR Close #24427
2018-06-14 14:36:45 -07:00
Alex Rickabaugh
0f7e4fae20
style(ivy): defeat clang format issue ( #24479 )
...
clang-format (on mac) has taken a disliking to this particular line, and
rewrites one of the ɵ characters to an invalid Unicode sequence.
PR Close #24479
2018-06-14 14:15:58 -07:00
Alex Rickabaugh
a45fad3dd9
fix(ivy): keep JIT symbol table and r3_identifiers in sync ( #24479 )
...
At runtime in JIT mode, when the compiler writes a reference to a symbol that symbol
is resolved through a symbol table named angularCoreEnv in render3/jit/environment.
Previously, this symbol table was not kept up-to-date with the Ivy instruction set
and the names of symbols the compiler could reference.
This change brings the symbol table in sync, and also adds a test that verifies every
symbol the compiler can reference is available at runtime in the symbol table.
PR Close #24479
2018-06-14 14:15:58 -07:00
Alex Rickabaugh
f00ae516eb
feat(ivy): implement host bindings in JIT mode ( #24479 )
...
PR Close #24479
2018-06-14 14:15:58 -07:00
Pawel Kozlowski
6d246d6c72
fix(ivy): allow view and content queries to match the same element ( #24507 )
...
When creating content queries from a directive on an element we need to take into account
existing view queries. The same element can be reported to both content and view queries
so freshly created content queries must be combined with pre-existing view queries.
PR Close #24507
2018-06-14 14:15:38 -07:00
Ben Lesh
82c5313740
feat(ivy): namespaced attributes added to output instructions ( #24386 )
...
NOTE: This does NOT add parsing of namespaced attributes
- Adds AttributeMarker for namespaced attributes
- Adds test for namespaced attributes
- Updates AttributeMarker enum to use CamelCase, and not UPPER_CASE names
PR Close #24386
2018-06-13 13:28:16 -07:00
Marc Laval
e3c54e4465
refactor(ivy): use comment nodes to mark view containers ( #24346 )
...
PR Close #24346
2018-06-13 11:23:21 -07:00
Ben Lesh
8dd99ac550
refactor(ivy): add element instruction, reducing output size ( #24379 )
...
- Adds an element instruction
- Reduces size of compiled output slightly
PR Close #24379
2018-06-11 14:02:48 -04:00
Pawel Kozlowski
014949f74c
fix(ivy): correctly handle queries with embedded views ( #24418 )
...
This PR takes care of all the remaining cases where embedded view definition
and insertion points are different.
PR Close #24418
2018-06-11 14:01:01 -04:00
Kara Erickson
29eb24b142
refactor(ivy): combine LView with data ( #24382 )
...
PR Close #24382
2018-06-08 21:41:01 -07:00
Alex Rickabaugh
113556357a
fix(ivy): compute transitive scopes from NgModuleDef only ( #24334 )
...
Previously, the transitive scopes of an NgModuleDef were computed
during execution of the @NgModule decorator. This meant that JIT-
compiled modules could only import other JIT-compiled modules, as
the import mechanism relied on the calculation of transitive scopes
to already have happened for the imported module.
This change moves computation of transitive scopes to a function
`transitiveScopesFor` (and makes it lazy). This opens the door for
AOT -> JIT or JIT -> AOT imports, as transitive scopes for AOT
modules can be calculated when needed by JIT, and AOT modules can
also write expressions that call `transitiveScopesFor` when
importing a JIT-compiled module.
PR Close #24334
2018-06-08 13:37:10 -07:00
Jason Aden
e3759f7a73
feat(ivy): add support of ApplicationRef.bootstrapModuleFactory ( #23811 )
...
PR Close #23811
2018-06-07 16:15:26 -04:00
Victor Berchet
7de2ba0e22
Revert "feat(ivy): add namespace instructions for SVG and others ( #23899 )"
...
This reverts commit 81e4b2a4bf
.
2018-06-06 13:38:21 -07:00
Victor Berchet
07b4c8be42
Revert "feat(ivy): added namespaced attributes ( #23899 )"
...
This reverts commit d6989c80d3
.
2018-06-06 13:38:20 -07:00
Victor Berchet
3128b26e5c
Revert "feat(ivy): add element instruction ( #23899 )"
...
This reverts commit b415010222
.
2018-06-06 13:38:19 -07:00
Victor Berchet
4f5b01a98a
Revert "refactor(ivy): Use AttributeMarker instead of NS ( #23899 )"
...
This reverts commit 1208a35373
.
2018-06-06 13:38:18 -07:00
Victor Berchet
c151f9cdc8
Revert "refactor(ivy): rename setNS, setHtmlNS and friends to namespace, namespaceHTML, etc ( #23899 )"
...
This reverts commit 0d06c866c6
.
2018-06-06 13:38:17 -07:00
Victor Berchet
31988a6ff9
Revert "test(ivy): add testing for namespaced attributes ( #23899 )"
...
This reverts commit e994b11105
.
2018-06-06 13:38:12 -07:00
Victor Berchet
355e0b0587
Revert "test(ivy): update test that is flaky in IE ( #23899 )"
...
This reverts commit 51e9e64c5a
.
2018-06-06 13:38:11 -07:00
Victor Berchet
d96ae123b2
Revert "feat(ivy): SVG now handled by ivy compiler ( #23899 )"
...
This reverts commit 1007d1ad27
.
2018-06-06 13:38:10 -07:00
Victor Berchet
7e73287676
Revert "feat(ivy): added new namespace and element instructions to JIT environment ( #23899 )"
...
This reverts commit acf270d724
.
2018-06-06 13:38:00 -07:00
Ben Lesh
acf270d724
feat(ivy): added new namespace and element instructions to JIT environment ( #23899 )
...
PR Close #23899
2018-06-06 10:22:28 -07:00
Ben Lesh
1007d1ad27
feat(ivy): SVG now handled by ivy compiler ( #23899 )
...
PR Close #23899
2018-06-06 10:22:28 -07:00
Ben Lesh
51e9e64c5a
test(ivy): update test that is flaky in IE ( #23899 )
...
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
e994b11105
test(ivy): add testing for namespaced attributes ( #23899 )
...
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
0d06c866c6
refactor(ivy): rename setNS, setHtmlNS and friends to namespace, namespaceHTML, etc ( #23899 )
...
- Renames functions
- Adds documentation
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
1208a35373
refactor(ivy): Use AttributeMarker instead of NS ( #23899 )
...
- Removes NS enum
- Uses existing AttributeMarker
- Adds enum value NAMESPACE_URI
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
b415010222
feat(ivy): add element instruction ( #23899 )
...
Adds a simplified element instruction that can be used if an element
has no children.
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
d6989c80d3
feat(ivy): added namespaced attributes ( #23899 )
...
PR Close #23899
2018-06-06 10:22:27 -07:00
Ben Lesh
81e4b2a4bf
feat(ivy): add namespace instructions for SVG and others ( #23899 )
...
PR Close #23899
2018-06-06 10:22:27 -07:00
Victor Berchet
c494d3cf60
Revert "feat(ivy): add support of ApplicationRef.bootstrapModuleFactory ( #23811 )"
...
This reverts commit 22b58a717a
.
This commit causes a breakage in g3.
2018-06-05 22:11:47 -07:00
Jason Aden
22b58a717a
feat(ivy): add support of ApplicationRef.bootstrapModuleFactory ( #23811 )
...
PR Close #23811
2018-06-05 20:10:25 -07:00
Kara Erickson
86b13ccf80
refactor(ivy): move static parts of LView.cleanup to TView ( #24301 )
...
PR Close #24301
2018-06-05 18:30:28 -07:00
Kara Erickson
57eacf4b5a
refactor(ivy): move LView.template and component templates to TView ( #24300 )
...
PR Close #24300
2018-06-05 15:13:36 -07:00
Marc Laval
b750919ce0
feat(ivy): implement ViewContainerRef.remove ( #24221 )
...
PR Close #24221
2018-06-05 13:33:40 -07:00
Miško Hevery
08a18b82de
refactor(common): Remove ngOnChanges from NgForOf ( #23378 )
...
`NgForOf` used to implement `OnChanges` and than use
`ngOnChanges` callback to detect when `ngForOf` binding
changed to update the differ. We now do the checking
manually which puts less pressure on the runtime to do
the bookkeeping and should result in minor perf improvement.
PR Close #23378
2018-06-04 13:24:43 -07:00
Kara Erickson
5794506c64
refactor(ivy): move id to TView ( #24264 )
...
PR Close #24264
2018-06-03 20:46:12 -07:00
Pawel Kozlowski
0561b66a2b
fix(ivy): query nodes from different TemplateRefs inserted into one ViewContainerRef ( #24254 )
...
PR Close #24254
2018-06-02 10:34:52 -07:00
JoostK
2d9111bfb6
fix(ivy): account for multiple changes between change detection runs ( #24152 )
...
PR Close #24152
2018-05-31 14:08:23 -07:00
JoostK
a5c47d0045
fix(ivy): determine value of SimpleChange.firstChange per property ( #24152 )
...
PR Close #24152
2018-05-31 14:08:23 -07:00
JoostK
b99ef2b80a
refactor(ivy): simplify bind instruction to reuse bindingUpdated logic ( #23881 )
...
Added runtime and compiler testcases for interpolated bindings, which verify
that NO_CHANGE is properly handled in `bind`.
PR Close #23881
2018-05-30 16:38:46 -07:00
Victor Berchet
c917e5b5bb
test(ivy): update TNode counts to reflect changes in #24113 ( #24208 )
...
After #24113 there is 2 `TNode` in those tests:
- 1 for the host,
- 1 for the text node.
The PR #23924 status was green because it branched off master before #24113 was
merged in.
PR Close #24208
2018-05-30 14:27:22 -07:00
JoostK
95074ca303
fix(ivy): fix performance counter for textBinding instruction ( #23924 )
...
PR Close #23924
2018-05-30 11:44:22 -07:00
Pawel Kozlowski
1cd9e6c2eb
feat(ivy): support queries with views inserted through ViewContainerRef ( #24179 )
...
This PR tackles a simple case where ViewRef definition point (<ng-template>) is the
same as the insertion point (ViewContainerRef requested on the said <ng-template>).
For this particular case we can assume that we know a container into which a given
view will be inserted when a view is created. This is not true fall all the possible
cases so follow-up PR will be needed to extend this basic implementation.
PR Close #24179
2018-05-30 11:43:57 -07:00