@angular/core 4.4.3 → 4.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@angular/core/testing.es5.js +13 -3
- package/@angular/core/testing.es5.js.map +1 -1
- package/@angular/core/testing.js +12 -3
- package/@angular/core/testing.js.map +1 -1
- package/@angular/core.es5.js +280 -279
- package/@angular/core.es5.js.map +1 -1
- package/@angular/core.js +280 -280
- package/@angular/core.js.map +1 -1
- package/bundles/core-testing.umd.js +14 -4
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +3 -3
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +281 -280
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +18 -18
- package/bundles/core.umd.min.js.map +1 -1
- package/core.metadata.json +1 -1
- package/package.json +1 -1
- package/src/animation/dsl.d.ts +28 -1
- package/src/change_detection/constants.d.ts +2 -2
- package/src/change_detection/differs/keyvalue_differs.d.ts +2 -2
- package/src/view/element.d.ts +2 -2
- package/src/view/ng_content.d.ts +1 -1
- package/src/view/provider.d.ts +4 -4
- package/src/view/pure_expression.d.ts +3 -3
- package/src/view/text.d.ts +1 -1
- package/src/view/types.d.ts +4 -2
- package/src/view/view.d.ts +1 -1
- package/testing/src/metadata_override.metadata.json +1 -0
- package/testing/src/test_bed.d.ts +25 -0
- package/testing/src/test_bed.metadata.json +1 -1
- package/testing.d.ts +1 -1
package/bundles/core.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v4.4.
|
|
2
|
+
* @license Angular v4.4.7
|
|
3
3
|
* (c) 2010-2017 Google, Inc. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -36,7 +36,7 @@ function __extends(d, b) {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
-
* @license Angular v4.4.
|
|
39
|
+
* @license Angular v4.4.7
|
|
40
40
|
* (c) 2010-2017 Google, Inc. https://angular.io/
|
|
41
41
|
* License: MIT
|
|
42
42
|
*/
|
|
@@ -828,7 +828,7 @@ var Version = (function () {
|
|
|
828
828
|
/**
|
|
829
829
|
* \@stable
|
|
830
830
|
*/
|
|
831
|
-
var VERSION = new Version('4.4.
|
|
831
|
+
var VERSION = new Version('4.4.7');
|
|
832
832
|
/**
|
|
833
833
|
* @license
|
|
834
834
|
* Copyright Google Inc. All Rights Reserved.
|
|
@@ -6248,7 +6248,6 @@ var EventListener = (function () {
|
|
|
6248
6248
|
this.name = name;
|
|
6249
6249
|
this.callback = callback;
|
|
6250
6250
|
}
|
|
6251
|
-
|
|
6252
6251
|
return EventListener;
|
|
6253
6252
|
}());
|
|
6254
6253
|
/**
|
|
@@ -8605,7 +8604,7 @@ function checkAndUpdateBinding(view, def, bindingIdx, value) {
|
|
|
8605
8604
|
function checkBindingNoChanges(view, def, bindingIdx, value) {
|
|
8606
8605
|
var /** @type {?} */ oldValue = view.oldValues[def.bindingIndex + bindingIdx];
|
|
8607
8606
|
if ((view.state & 1 /* BeforeFirstCheck */) || !devModeEqual(oldValue, value)) {
|
|
8608
|
-
throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, def.
|
|
8607
|
+
throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, def.nodeIndex), oldValue, value, (view.state & 1 /* BeforeFirstCheck */) !== 0);
|
|
8609
8608
|
}
|
|
8610
8609
|
}
|
|
8611
8610
|
/**
|
|
@@ -8653,7 +8652,7 @@ function dispatchEvent(view, nodeIndex, eventName, event) {
|
|
|
8653
8652
|
function declaredViewContainer(view) {
|
|
8654
8653
|
if (view.parent) {
|
|
8655
8654
|
var /** @type {?} */ parentView = view.parent;
|
|
8656
|
-
return asElementData(parentView, /** @type {?} */ ((view.parentNodeDef)).
|
|
8655
|
+
return asElementData(parentView, /** @type {?} */ ((view.parentNodeDef)).nodeIndex);
|
|
8657
8656
|
}
|
|
8658
8657
|
return null;
|
|
8659
8658
|
}
|
|
@@ -8681,9 +8680,9 @@ function viewParentEl(view) {
|
|
|
8681
8680
|
function renderNode(view, def) {
|
|
8682
8681
|
switch (def.flags & 201347067 /* Types */) {
|
|
8683
8682
|
case 1 /* TypeElement */:
|
|
8684
|
-
return asElementData(view, def.
|
|
8683
|
+
return asElementData(view, def.nodeIndex).renderElement;
|
|
8685
8684
|
case 2 /* TypeText */:
|
|
8686
|
-
return asTextData(view, def.
|
|
8685
|
+
return asTextData(view, def.nodeIndex).renderText;
|
|
8687
8686
|
}
|
|
8688
8687
|
}
|
|
8689
8688
|
/**
|
|
@@ -8770,7 +8769,7 @@ function getParentRenderElement(view, renderHost, def) {
|
|
|
8770
8769
|
ViewEncapsulation.Native)) {
|
|
8771
8770
|
// only children of non components, or children of components with native encapsulation should
|
|
8772
8771
|
// be attached.
|
|
8773
|
-
return asElementData(view, /** @type {?} */ ((def.renderParent)).
|
|
8772
|
+
return asElementData(view, /** @type {?} */ ((def.renderParent)).nodeIndex).renderElement;
|
|
8774
8773
|
}
|
|
8775
8774
|
}
|
|
8776
8775
|
else {
|
|
@@ -8852,8 +8851,8 @@ function visitProjectedRenderNodes(view, ngContentIndex, action, parentNode, nex
|
|
|
8852
8851
|
}
|
|
8853
8852
|
var /** @type {?} */ hostView = ((compView)).parent;
|
|
8854
8853
|
var /** @type {?} */ hostElDef = viewParentEl(/** @type {?} */ ((compView)));
|
|
8855
|
-
var /** @type {?} */ startIndex = ((hostElDef)).
|
|
8856
|
-
var /** @type {?} */ endIndex = ((hostElDef)).
|
|
8854
|
+
var /** @type {?} */ startIndex = ((hostElDef)).nodeIndex + 1;
|
|
8855
|
+
var /** @type {?} */ endIndex = ((hostElDef)).nodeIndex + ((hostElDef)).childCount;
|
|
8857
8856
|
for (var /** @type {?} */ i = startIndex; i <= endIndex; i++) {
|
|
8858
8857
|
var /** @type {?} */ nodeDef = ((hostView)).def.nodes[i];
|
|
8859
8858
|
if (nodeDef.ngContentIndex === ngContentIndex) {
|
|
@@ -8894,7 +8893,7 @@ function visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target)
|
|
|
8894
8893
|
execRenderNodeAction(view, rn, action, parentNode, nextSibling, target);
|
|
8895
8894
|
}
|
|
8896
8895
|
if (nodeDef.bindingFlags & (32 /* SyntheticHostProperty */)) {
|
|
8897
|
-
var /** @type {?} */ compView = asElementData(view, nodeDef.
|
|
8896
|
+
var /** @type {?} */ compView = asElementData(view, nodeDef.nodeIndex).componentView;
|
|
8898
8897
|
execRenderNodeAction(compView, rn, action, parentNode, nextSibling, target);
|
|
8899
8898
|
}
|
|
8900
8899
|
}
|
|
@@ -8902,13 +8901,13 @@ function visitRenderNode(view, nodeDef, action, parentNode, nextSibling, target)
|
|
|
8902
8901
|
execRenderNodeAction(view, rn, action, parentNode, nextSibling, target);
|
|
8903
8902
|
}
|
|
8904
8903
|
if (nodeDef.flags & 16777216 /* EmbeddedViews */) {
|
|
8905
|
-
var /** @type {?} */ embeddedViews = ((asElementData(view, nodeDef.
|
|
8904
|
+
var /** @type {?} */ embeddedViews = ((asElementData(view, nodeDef.nodeIndex).viewContainer))._embeddedViews;
|
|
8906
8905
|
for (var /** @type {?} */ k = 0; k < embeddedViews.length; k++) {
|
|
8907
8906
|
visitRootRenderNodes(embeddedViews[k], action, parentNode, nextSibling, target);
|
|
8908
8907
|
}
|
|
8909
8908
|
}
|
|
8910
8909
|
if (nodeDef.flags & 1 /* TypeElement */ && !((nodeDef.element)).name) {
|
|
8911
|
-
visitSiblingRenderNodes(view, action, nodeDef.
|
|
8910
|
+
visitSiblingRenderNodes(view, action, nodeDef.nodeIndex + 1, nodeDef.nodeIndex + nodeDef.childCount, parentNode, nextSibling, target);
|
|
8912
8911
|
}
|
|
8913
8912
|
}
|
|
8914
8913
|
}
|
|
@@ -9061,13 +9060,14 @@ function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleE
|
|
|
9061
9060
|
var /** @type {?} */ template = templateFactory ? resolveDefinition(templateFactory) : null;
|
|
9062
9061
|
return {
|
|
9063
9062
|
// will bet set by the view definition
|
|
9064
|
-
|
|
9063
|
+
nodeIndex: -1,
|
|
9065
9064
|
parent: null,
|
|
9066
9065
|
renderParent: null,
|
|
9067
9066
|
bindingIndex: -1,
|
|
9068
9067
|
outputIndex: -1,
|
|
9069
9068
|
// regular values
|
|
9070
9069
|
flags: flags,
|
|
9070
|
+
checkIndex: -1,
|
|
9071
9071
|
childFlags: 0,
|
|
9072
9072
|
directChildFlags: 0,
|
|
9073
9073
|
childMatchedQueries: 0, matchedQueries: matchedQueries, matchedQueryIds: matchedQueryIds, references: references, ngContentIndex: ngContentIndex, childCount: childCount,
|
|
@@ -9092,6 +9092,7 @@ function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleE
|
|
|
9092
9092
|
};
|
|
9093
9093
|
}
|
|
9094
9094
|
/**
|
|
9095
|
+
* @param {?} checkIndex
|
|
9095
9096
|
* @param {?} flags
|
|
9096
9097
|
* @param {?} matchedQueriesDsl
|
|
9097
9098
|
* @param {?} ngContentIndex
|
|
@@ -9105,7 +9106,7 @@ function anchorDef(flags, matchedQueriesDsl, ngContentIndex, childCount, handleE
|
|
|
9105
9106
|
* @param {?=} componentRendererType
|
|
9106
9107
|
* @return {?}
|
|
9107
9108
|
*/
|
|
9108
|
-
function elementDef(flags, matchedQueriesDsl, ngContentIndex, childCount, namespaceAndName, fixedAttrs, bindings, outputs, handleEvent, componentView, componentRendererType) {
|
|
9109
|
+
function elementDef(checkIndex, flags, matchedQueriesDsl, ngContentIndex, childCount, namespaceAndName, fixedAttrs, bindings, outputs, handleEvent, componentView, componentRendererType) {
|
|
9109
9110
|
if (fixedAttrs === void 0) { fixedAttrs = []; }
|
|
9110
9111
|
if (!handleEvent) {
|
|
9111
9112
|
handleEvent = NOOP;
|
|
@@ -9158,12 +9159,13 @@ function elementDef(flags, matchedQueriesDsl, ngContentIndex, childCount, namesp
|
|
|
9158
9159
|
flags |= 1 /* TypeElement */;
|
|
9159
9160
|
return {
|
|
9160
9161
|
// will bet set by the view definition
|
|
9161
|
-
|
|
9162
|
+
nodeIndex: -1,
|
|
9162
9163
|
parent: null,
|
|
9163
9164
|
renderParent: null,
|
|
9164
9165
|
bindingIndex: -1,
|
|
9165
9166
|
outputIndex: -1,
|
|
9166
9167
|
// regular values
|
|
9168
|
+
checkIndex: checkIndex,
|
|
9167
9169
|
flags: flags,
|
|
9168
9170
|
childFlags: 0,
|
|
9169
9171
|
directChildFlags: 0,
|
|
@@ -9235,7 +9237,7 @@ function createElement(view, renderHost, def) {
|
|
|
9235
9237
|
function listenToElementOutputs(view, compView, def, el) {
|
|
9236
9238
|
for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) {
|
|
9237
9239
|
var /** @type {?} */ output = def.outputs[i];
|
|
9238
|
-
var /** @type {?} */ handleEventClosure = renderEventHandlerClosure(view, def.
|
|
9240
|
+
var /** @type {?} */ handleEventClosure = renderEventHandlerClosure(view, def.nodeIndex, elementEventFullName(output.target, output.eventName));
|
|
9239
9241
|
var /** @type {?} */ listenTarget = output.target;
|
|
9240
9242
|
var /** @type {?} */ listenerView = view;
|
|
9241
9243
|
if (output.target === 'component') {
|
|
@@ -9329,7 +9331,7 @@ function checkAndUpdateElementValue(view, def, bindingIdx, value) {
|
|
|
9329
9331
|
return false;
|
|
9330
9332
|
}
|
|
9331
9333
|
var /** @type {?} */ binding = def.bindings[bindingIdx];
|
|
9332
|
-
var /** @type {?} */ elData = asElementData(view, def.
|
|
9334
|
+
var /** @type {?} */ elData = asElementData(view, def.nodeIndex);
|
|
9333
9335
|
var /** @type {?} */ renderNode$$1 = elData.renderElement;
|
|
9334
9336
|
var /** @type {?} */ name = ((binding.name));
|
|
9335
9337
|
switch (binding.flags & 15 /* Types */) {
|
|
@@ -9437,7 +9439,7 @@ function setElementProperty(view, binding, renderNode$$1, name, value) {
|
|
|
9437
9439
|
* Use of this source code is governed by an MIT-style license that can be
|
|
9438
9440
|
* found in the LICENSE file at https://angular.io/license
|
|
9439
9441
|
*/
|
|
9440
|
-
var
|
|
9442
|
+
var UNDEFINED_VALUE = new Object();
|
|
9441
9443
|
var InjectorRefTokenKey$1 = tokenKey(Injector);
|
|
9442
9444
|
var NgModuleRefTokenKey = tokenKey(NgModuleRef);
|
|
9443
9445
|
/**
|
|
@@ -9482,8 +9484,9 @@ function initNgModule(data) {
|
|
|
9482
9484
|
var /** @type {?} */ providers = data._providers = new Array(def.providers.length);
|
|
9483
9485
|
for (var /** @type {?} */ i = 0; i < def.providers.length; i++) {
|
|
9484
9486
|
var /** @type {?} */ provDef = def.providers[i];
|
|
9485
|
-
|
|
9486
|
-
_createProviderInstance$1(data, provDef);
|
|
9487
|
+
if (!(provDef.flags & 4096 /* LazyProvider */)) {
|
|
9488
|
+
providers[i] = _createProviderInstance$1(data, provDef);
|
|
9489
|
+
}
|
|
9487
9490
|
}
|
|
9488
9491
|
}
|
|
9489
9492
|
/**
|
|
@@ -9512,11 +9515,11 @@ function resolveNgModuleDep(data, depDef, notFoundValue) {
|
|
|
9512
9515
|
var /** @type {?} */ providerDef = data._def.providersByKey[tokenKey$$1];
|
|
9513
9516
|
if (providerDef) {
|
|
9514
9517
|
var /** @type {?} */ providerInstance = data._providers[providerDef.index];
|
|
9515
|
-
if (providerInstance ===
|
|
9518
|
+
if (providerInstance === undefined) {
|
|
9516
9519
|
providerInstance = data._providers[providerDef.index] =
|
|
9517
9520
|
_createProviderInstance$1(data, providerDef);
|
|
9518
9521
|
}
|
|
9519
|
-
return providerInstance;
|
|
9522
|
+
return providerInstance === UNDEFINED_VALUE ? undefined : providerInstance;
|
|
9520
9523
|
}
|
|
9521
9524
|
return data._parent.get(depDef.token, notFoundValue);
|
|
9522
9525
|
}
|
|
@@ -9541,7 +9544,7 @@ function _createProviderInstance$1(ngModule, providerDef) {
|
|
|
9541
9544
|
injectable = providerDef.value;
|
|
9542
9545
|
break;
|
|
9543
9546
|
}
|
|
9544
|
-
return injectable;
|
|
9547
|
+
return injectable === undefined ? UNDEFINED_VALUE : injectable;
|
|
9545
9548
|
}
|
|
9546
9549
|
/**
|
|
9547
9550
|
* @param {?} ngModule
|
|
@@ -9551,29 +9554,22 @@ function _createProviderInstance$1(ngModule, providerDef) {
|
|
|
9551
9554
|
*/
|
|
9552
9555
|
function _createClass(ngModule, ctor, deps) {
|
|
9553
9556
|
var /** @type {?} */ len = deps.length;
|
|
9554
|
-
var /** @type {?} */ injectable;
|
|
9555
9557
|
switch (len) {
|
|
9556
9558
|
case 0:
|
|
9557
|
-
|
|
9558
|
-
break;
|
|
9559
|
+
return new ctor();
|
|
9559
9560
|
case 1:
|
|
9560
|
-
|
|
9561
|
-
break;
|
|
9561
|
+
return new ctor(resolveNgModuleDep(ngModule, deps[0]));
|
|
9562
9562
|
case 2:
|
|
9563
|
-
|
|
9564
|
-
new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
|
|
9565
|
-
break;
|
|
9563
|
+
return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
|
|
9566
9564
|
case 3:
|
|
9567
|
-
|
|
9568
|
-
break;
|
|
9565
|
+
return new ctor(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));
|
|
9569
9566
|
default:
|
|
9570
9567
|
var /** @type {?} */ depValues = new Array(len);
|
|
9571
9568
|
for (var /** @type {?} */ i = 0; i < len; i++) {
|
|
9572
9569
|
depValues[i] = resolveNgModuleDep(ngModule, deps[i]);
|
|
9573
9570
|
}
|
|
9574
|
-
|
|
9571
|
+
return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();
|
|
9575
9572
|
}
|
|
9576
|
-
return injectable;
|
|
9577
9573
|
}
|
|
9578
9574
|
/**
|
|
9579
9575
|
* @param {?} ngModule
|
|
@@ -9583,29 +9579,22 @@ function _createClass(ngModule, ctor, deps) {
|
|
|
9583
9579
|
*/
|
|
9584
9580
|
function _callFactory(ngModule, factory, deps) {
|
|
9585
9581
|
var /** @type {?} */ len = deps.length;
|
|
9586
|
-
var /** @type {?} */ injectable;
|
|
9587
9582
|
switch (len) {
|
|
9588
9583
|
case 0:
|
|
9589
|
-
|
|
9590
|
-
break;
|
|
9584
|
+
return factory();
|
|
9591
9585
|
case 1:
|
|
9592
|
-
|
|
9593
|
-
break;
|
|
9586
|
+
return factory(resolveNgModuleDep(ngModule, deps[0]));
|
|
9594
9587
|
case 2:
|
|
9595
|
-
|
|
9596
|
-
factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
|
|
9597
|
-
break;
|
|
9588
|
+
return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]));
|
|
9598
9589
|
case 3:
|
|
9599
|
-
|
|
9600
|
-
break;
|
|
9590
|
+
return factory(resolveNgModuleDep(ngModule, deps[0]), resolveNgModuleDep(ngModule, deps[1]), resolveNgModuleDep(ngModule, deps[2]));
|
|
9601
9591
|
default:
|
|
9602
9592
|
var /** @type {?} */ depValues = Array(len);
|
|
9603
9593
|
for (var /** @type {?} */ i = 0; i < len; i++) {
|
|
9604
9594
|
depValues[i] = resolveNgModuleDep(ngModule, deps[i]);
|
|
9605
9595
|
}
|
|
9606
|
-
|
|
9596
|
+
return factory.apply(void 0, depValues);
|
|
9607
9597
|
}
|
|
9608
|
-
return injectable;
|
|
9609
9598
|
}
|
|
9610
9599
|
/**
|
|
9611
9600
|
* @param {?} ngModule
|
|
@@ -9618,7 +9607,7 @@ function callNgModuleLifecycle(ngModule, lifecycles) {
|
|
|
9618
9607
|
var /** @type {?} */ provDef = def.providers[i];
|
|
9619
9608
|
if (provDef.flags & 131072 /* OnDestroy */) {
|
|
9620
9609
|
var /** @type {?} */ instance = ngModule._providers[i];
|
|
9621
|
-
if (instance && instance !==
|
|
9610
|
+
if (instance && instance !== UNDEFINED_VALUE) {
|
|
9622
9611
|
instance.ngOnDestroy();
|
|
9623
9612
|
}
|
|
9624
9613
|
}
|
|
@@ -9900,7 +9889,7 @@ var ComponentFactory_ = (function (_super) {
|
|
|
9900
9889
|
throw new Error('ngModule should be provided');
|
|
9901
9890
|
}
|
|
9902
9891
|
var /** @type {?} */ viewDef = resolveDefinition(this.viewDefFactory);
|
|
9903
|
-
var /** @type {?} */ componentNodeIndex = ((((viewDef.nodes[0].element)).componentProvider)).
|
|
9892
|
+
var /** @type {?} */ componentNodeIndex = ((((viewDef.nodes[0].element)).componentProvider)).nodeIndex;
|
|
9904
9893
|
var /** @type {?} */ view = Services.createRootView(injector, projectableNodes || [], rootSelectorOrNode, viewDef, ngModule, EMPTY_CONTEXT);
|
|
9905
9894
|
var /** @type {?} */ component = asProviderData(view, componentNodeIndex).instance;
|
|
9906
9895
|
if (rootSelectorOrNode) {
|
|
@@ -9930,7 +9919,7 @@ var ComponentRef_ = (function (_super) {
|
|
|
9930
9919
|
* @return {?}
|
|
9931
9920
|
*/
|
|
9932
9921
|
get: function () {
|
|
9933
|
-
return new ElementRef(asElementData(this._view, this._elDef.
|
|
9922
|
+
return new ElementRef(asElementData(this._view, this._elDef.nodeIndex).renderElement);
|
|
9934
9923
|
},
|
|
9935
9924
|
enumerable: true,
|
|
9936
9925
|
configurable: true
|
|
@@ -9951,7 +9940,6 @@ var ComponentRef_ = (function (_super) {
|
|
|
9951
9940
|
enumerable: true,
|
|
9952
9941
|
configurable: true
|
|
9953
9942
|
});
|
|
9954
|
-
|
|
9955
9943
|
Object.defineProperty(ComponentRef_.prototype, "hostView", {
|
|
9956
9944
|
/**
|
|
9957
9945
|
* @return {?}
|
|
@@ -9960,7 +9948,6 @@ var ComponentRef_ = (function (_super) {
|
|
|
9960
9948
|
enumerable: true,
|
|
9961
9949
|
configurable: true
|
|
9962
9950
|
});
|
|
9963
|
-
|
|
9964
9951
|
Object.defineProperty(ComponentRef_.prototype, "changeDetectorRef", {
|
|
9965
9952
|
/**
|
|
9966
9953
|
* @return {?}
|
|
@@ -9969,7 +9956,6 @@ var ComponentRef_ = (function (_super) {
|
|
|
9969
9956
|
enumerable: true,
|
|
9970
9957
|
configurable: true
|
|
9971
9958
|
});
|
|
9972
|
-
|
|
9973
9959
|
Object.defineProperty(ComponentRef_.prototype, "componentType", {
|
|
9974
9960
|
/**
|
|
9975
9961
|
* @return {?}
|
|
@@ -10076,7 +10062,6 @@ var ViewContainerRef_ = (function () {
|
|
|
10076
10062
|
enumerable: true,
|
|
10077
10063
|
configurable: true
|
|
10078
10064
|
});
|
|
10079
|
-
|
|
10080
10065
|
/**
|
|
10081
10066
|
* @template C
|
|
10082
10067
|
* @param {?} templateRef
|
|
@@ -10315,7 +10300,7 @@ var TemplateRef_ = (function (_super) {
|
|
|
10315
10300
|
* @return {?}
|
|
10316
10301
|
*/
|
|
10317
10302
|
get: function () {
|
|
10318
|
-
return new ElementRef(asElementData(this._parentView, this._def.
|
|
10303
|
+
return new ElementRef(asElementData(this._parentView, this._def.nodeIndex).renderElement);
|
|
10319
10304
|
},
|
|
10320
10305
|
enumerable: true,
|
|
10321
10306
|
configurable: true
|
|
@@ -10359,14 +10344,14 @@ var Injector_ = (function () {
|
|
|
10359
10344
|
function nodeValue(view, index) {
|
|
10360
10345
|
var /** @type {?} */ def = view.def.nodes[index];
|
|
10361
10346
|
if (def.flags & 1 /* TypeElement */) {
|
|
10362
|
-
var /** @type {?} */ elData = asElementData(view, def.
|
|
10347
|
+
var /** @type {?} */ elData = asElementData(view, def.nodeIndex);
|
|
10363
10348
|
return ((def.element)).template ? elData.template : elData.renderElement;
|
|
10364
10349
|
}
|
|
10365
10350
|
else if (def.flags & 2 /* TypeText */) {
|
|
10366
|
-
return asTextData(view, def.
|
|
10351
|
+
return asTextData(view, def.nodeIndex).renderText;
|
|
10367
10352
|
}
|
|
10368
10353
|
else if (def.flags & (20224 /* CatProvider */ | 16 /* TypePipe */)) {
|
|
10369
|
-
return asProviderData(view, def.
|
|
10354
|
+
return asProviderData(view, def.nodeIndex).instance;
|
|
10370
10355
|
}
|
|
10371
10356
|
throw new Error("Illegal state: read nodeValue for node index " + index);
|
|
10372
10357
|
}
|
|
@@ -10664,8 +10649,8 @@ var ViewContainerRefTokenKey = tokenKey(ViewContainerRef);
|
|
|
10664
10649
|
var TemplateRefTokenKey = tokenKey(TemplateRef);
|
|
10665
10650
|
var ChangeDetectorRefTokenKey = tokenKey(ChangeDetectorRef);
|
|
10666
10651
|
var InjectorRefTokenKey = tokenKey(Injector);
|
|
10667
|
-
var NOT_CREATED = new Object();
|
|
10668
10652
|
/**
|
|
10653
|
+
* @param {?} checkIndex
|
|
10669
10654
|
* @param {?} flags
|
|
10670
10655
|
* @param {?} matchedQueries
|
|
10671
10656
|
* @param {?} childCount
|
|
@@ -10675,7 +10660,7 @@ var NOT_CREATED = new Object();
|
|
|
10675
10660
|
* @param {?=} outputs
|
|
10676
10661
|
* @return {?}
|
|
10677
10662
|
*/
|
|
10678
|
-
function directiveDef(flags, matchedQueries, childCount, ctor, deps, props, outputs) {
|
|
10663
|
+
function directiveDef(checkIndex, flags, matchedQueries, childCount, ctor, deps, props, outputs) {
|
|
10679
10664
|
var /** @type {?} */ bindings = [];
|
|
10680
10665
|
if (props) {
|
|
10681
10666
|
for (var /** @type {?} */ prop in props) {
|
|
@@ -10696,7 +10681,7 @@ function directiveDef(flags, matchedQueries, childCount, ctor, deps, props, outp
|
|
|
10696
10681
|
}
|
|
10697
10682
|
}
|
|
10698
10683
|
flags |= 16384 /* TypeDirective */;
|
|
10699
|
-
return _def(flags, matchedQueries, childCount, ctor, ctor, deps, bindings, outputDefs);
|
|
10684
|
+
return _def(checkIndex, flags, matchedQueries, childCount, ctor, ctor, deps, bindings, outputDefs);
|
|
10700
10685
|
}
|
|
10701
10686
|
/**
|
|
10702
10687
|
* @param {?} flags
|
|
@@ -10706,7 +10691,7 @@ function directiveDef(flags, matchedQueries, childCount, ctor, deps, props, outp
|
|
|
10706
10691
|
*/
|
|
10707
10692
|
function pipeDef(flags, ctor, deps) {
|
|
10708
10693
|
flags |= 16 /* TypePipe */;
|
|
10709
|
-
return _def(flags, null, 0, ctor, ctor, deps);
|
|
10694
|
+
return _def(-1, flags, null, 0, ctor, ctor, deps);
|
|
10710
10695
|
}
|
|
10711
10696
|
/**
|
|
10712
10697
|
* @param {?} flags
|
|
@@ -10717,9 +10702,10 @@ function pipeDef(flags, ctor, deps) {
|
|
|
10717
10702
|
* @return {?}
|
|
10718
10703
|
*/
|
|
10719
10704
|
function providerDef(flags, matchedQueries, token, value, deps) {
|
|
10720
|
-
return _def(flags, matchedQueries, 0, token, value, deps);
|
|
10705
|
+
return _def(-1, flags, matchedQueries, 0, token, value, deps);
|
|
10721
10706
|
}
|
|
10722
10707
|
/**
|
|
10708
|
+
* @param {?} checkIndex
|
|
10723
10709
|
* @param {?} flags
|
|
10724
10710
|
* @param {?} matchedQueriesDsl
|
|
10725
10711
|
* @param {?} childCount
|
|
@@ -10730,7 +10716,7 @@ function providerDef(flags, matchedQueries, token, value, deps) {
|
|
|
10730
10716
|
* @param {?=} outputs
|
|
10731
10717
|
* @return {?}
|
|
10732
10718
|
*/
|
|
10733
|
-
function _def(flags, matchedQueriesDsl, childCount, token, value, deps, bindings, outputs) {
|
|
10719
|
+
function _def(checkIndex, flags, matchedQueriesDsl, childCount, token, value, deps, bindings, outputs) {
|
|
10734
10720
|
var _a = splitMatchedQueriesDsl(matchedQueriesDsl), matchedQueries = _a.matchedQueries, references = _a.references, matchedQueryIds = _a.matchedQueryIds;
|
|
10735
10721
|
if (!outputs) {
|
|
10736
10722
|
outputs = [];
|
|
@@ -10741,12 +10727,13 @@ function _def(flags, matchedQueriesDsl, childCount, token, value, deps, bindings
|
|
|
10741
10727
|
var /** @type {?} */ depDefs = splitDepsDsl(deps);
|
|
10742
10728
|
return {
|
|
10743
10729
|
// will bet set by the view definition
|
|
10744
|
-
|
|
10730
|
+
nodeIndex: -1,
|
|
10745
10731
|
parent: null,
|
|
10746
10732
|
renderParent: null,
|
|
10747
10733
|
bindingIndex: -1,
|
|
10748
10734
|
outputIndex: -1,
|
|
10749
10735
|
// regular values
|
|
10736
|
+
checkIndex: checkIndex,
|
|
10750
10737
|
flags: flags,
|
|
10751
10738
|
childFlags: 0,
|
|
10752
10739
|
directChildFlags: 0,
|
|
@@ -10766,7 +10753,7 @@ function _def(flags, matchedQueriesDsl, childCount, token, value, deps, bindings
|
|
|
10766
10753
|
* @return {?}
|
|
10767
10754
|
*/
|
|
10768
10755
|
function createProviderInstance(view, def) {
|
|
10769
|
-
return
|
|
10756
|
+
return _createProviderInstance(view, def);
|
|
10770
10757
|
}
|
|
10771
10758
|
/**
|
|
10772
10759
|
* @param {?} view
|
|
@@ -10797,7 +10784,7 @@ function createDirectiveInstance(view, def) {
|
|
|
10797
10784
|
if (def.outputs.length) {
|
|
10798
10785
|
for (var /** @type {?} */ i = 0; i < def.outputs.length; i++) {
|
|
10799
10786
|
var /** @type {?} */ output = def.outputs[i];
|
|
10800
|
-
var /** @type {?} */ subscription = instance[((output.propName))].subscribe(eventHandlerClosure(view, /** @type {?} */ ((def.parent)).
|
|
10787
|
+
var /** @type {?} */ subscription = instance[((output.propName))].subscribe(eventHandlerClosure(view, /** @type {?} */ ((def.parent)).nodeIndex, output.eventName)); /** @type {?} */
|
|
10801
10788
|
((view.disposables))[def.outputIndex + i] = subscription.unsubscribe.bind(subscription);
|
|
10802
10789
|
}
|
|
10803
10790
|
}
|
|
@@ -10836,7 +10823,7 @@ function eventHandlerClosure(view, index, eventName) {
|
|
|
10836
10823
|
* @return {?}
|
|
10837
10824
|
*/
|
|
10838
10825
|
function checkAndUpdateDirectiveInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
|
|
10839
|
-
var /** @type {?} */ providerData = asProviderData(view, def.
|
|
10826
|
+
var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex);
|
|
10840
10827
|
var /** @type {?} */ directive = providerData.instance;
|
|
10841
10828
|
var /** @type {?} */ changed = false;
|
|
10842
10829
|
var /** @type {?} */ changes = ((undefined));
|
|
@@ -10899,7 +10886,7 @@ function checkAndUpdateDirectiveInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7
|
|
|
10899
10886
|
* @return {?}
|
|
10900
10887
|
*/
|
|
10901
10888
|
function checkAndUpdateDirectiveDynamic(view, def, values) {
|
|
10902
|
-
var /** @type {?} */ providerData = asProviderData(view, def.
|
|
10889
|
+
var /** @type {?} */ providerData = asProviderData(view, def.nodeIndex);
|
|
10903
10890
|
var /** @type {?} */ directive = providerData.instance;
|
|
10904
10891
|
var /** @type {?} */ changed = false;
|
|
10905
10892
|
var /** @type {?} */ changes = ((undefined));
|
|
@@ -10929,22 +10916,16 @@ function _createProviderInstance(view, def) {
|
|
|
10929
10916
|
// private services can see other private services
|
|
10930
10917
|
var /** @type {?} */ allowPrivateServices = (def.flags & 8192 /* PrivateProvider */) > 0;
|
|
10931
10918
|
var /** @type {?} */ providerDef = def.provider;
|
|
10932
|
-
var /** @type {?} */ injectable;
|
|
10933
10919
|
switch (def.flags & 201347067 /* Types */) {
|
|
10934
10920
|
case 512 /* TypeClassProvider */:
|
|
10935
|
-
|
|
10936
|
-
break;
|
|
10921
|
+
return createClass(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);
|
|
10937
10922
|
case 1024 /* TypeFactoryProvider */:
|
|
10938
|
-
|
|
10939
|
-
break;
|
|
10923
|
+
return callFactory(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).value, /** @type {?} */ ((providerDef)).deps);
|
|
10940
10924
|
case 2048 /* TypeUseExistingProvider */:
|
|
10941
|
-
|
|
10942
|
-
break;
|
|
10925
|
+
return resolveDep(view, /** @type {?} */ ((def.parent)), allowPrivateServices, /** @type {?} */ ((providerDef)).deps[0]);
|
|
10943
10926
|
case 256 /* TypeValueProvider */:
|
|
10944
|
-
|
|
10945
|
-
break;
|
|
10927
|
+
return ((providerDef)).value;
|
|
10946
10928
|
}
|
|
10947
|
-
return injectable;
|
|
10948
10929
|
}
|
|
10949
10930
|
/**
|
|
10950
10931
|
* @param {?} view
|
|
@@ -10956,28 +10937,22 @@ function _createProviderInstance(view, def) {
|
|
|
10956
10937
|
*/
|
|
10957
10938
|
function createClass(view, elDef, allowPrivateServices, ctor, deps) {
|
|
10958
10939
|
var /** @type {?} */ len = deps.length;
|
|
10959
|
-
var /** @type {?} */ injectable;
|
|
10960
10940
|
switch (len) {
|
|
10961
10941
|
case 0:
|
|
10962
|
-
|
|
10963
|
-
break;
|
|
10942
|
+
return new ctor();
|
|
10964
10943
|
case 1:
|
|
10965
|
-
|
|
10966
|
-
break;
|
|
10944
|
+
return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]));
|
|
10967
10945
|
case 2:
|
|
10968
|
-
|
|
10969
|
-
break;
|
|
10946
|
+
return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));
|
|
10970
10947
|
case 3:
|
|
10971
|
-
|
|
10972
|
-
break;
|
|
10948
|
+
return new ctor(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));
|
|
10973
10949
|
default:
|
|
10974
10950
|
var /** @type {?} */ depValues = new Array(len);
|
|
10975
10951
|
for (var /** @type {?} */ i = 0; i < len; i++) {
|
|
10976
10952
|
depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]);
|
|
10977
10953
|
}
|
|
10978
|
-
|
|
10954
|
+
return new (ctor.bind.apply(ctor, [void 0].concat(depValues)))();
|
|
10979
10955
|
}
|
|
10980
|
-
return injectable;
|
|
10981
10956
|
}
|
|
10982
10957
|
/**
|
|
10983
10958
|
* @param {?} view
|
|
@@ -10989,28 +10964,22 @@ function createClass(view, elDef, allowPrivateServices, ctor, deps) {
|
|
|
10989
10964
|
*/
|
|
10990
10965
|
function callFactory(view, elDef, allowPrivateServices, factory, deps) {
|
|
10991
10966
|
var /** @type {?} */ len = deps.length;
|
|
10992
|
-
var /** @type {?} */ injectable;
|
|
10993
10967
|
switch (len) {
|
|
10994
10968
|
case 0:
|
|
10995
|
-
|
|
10996
|
-
break;
|
|
10969
|
+
return factory();
|
|
10997
10970
|
case 1:
|
|
10998
|
-
|
|
10999
|
-
break;
|
|
10971
|
+
return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]));
|
|
11000
10972
|
case 2:
|
|
11001
|
-
|
|
11002
|
-
break;
|
|
10973
|
+
return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]));
|
|
11003
10974
|
case 3:
|
|
11004
|
-
|
|
11005
|
-
break;
|
|
10975
|
+
return factory(resolveDep(view, elDef, allowPrivateServices, deps[0]), resolveDep(view, elDef, allowPrivateServices, deps[1]), resolveDep(view, elDef, allowPrivateServices, deps[2]));
|
|
11006
10976
|
default:
|
|
11007
10977
|
var /** @type {?} */ depValues = Array(len);
|
|
11008
10978
|
for (var /** @type {?} */ i = 0; i < len; i++) {
|
|
11009
10979
|
depValues[i] = resolveDep(view, elDef, allowPrivateServices, deps[i]);
|
|
11010
10980
|
}
|
|
11011
|
-
|
|
10981
|
+
return factory.apply(void 0, depValues);
|
|
11012
10982
|
}
|
|
11013
|
-
return injectable;
|
|
11014
10983
|
}
|
|
11015
10984
|
// This default value is when checking the hierarchy for a token.
|
|
11016
10985
|
//
|
|
@@ -11069,12 +11038,12 @@ function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) {
|
|
|
11069
11038
|
return compView.renderer;
|
|
11070
11039
|
}
|
|
11071
11040
|
case ElementRefTokenKey:
|
|
11072
|
-
return new ElementRef(asElementData(view, elDef.
|
|
11041
|
+
return new ElementRef(asElementData(view, elDef.nodeIndex).renderElement);
|
|
11073
11042
|
case ViewContainerRefTokenKey:
|
|
11074
|
-
return asElementData(view, elDef.
|
|
11043
|
+
return asElementData(view, elDef.nodeIndex).viewContainer;
|
|
11075
11044
|
case TemplateRefTokenKey: {
|
|
11076
11045
|
if (((elDef.element)).template) {
|
|
11077
|
-
return asElementData(view, elDef.
|
|
11046
|
+
return asElementData(view, elDef.nodeIndex).template;
|
|
11078
11047
|
}
|
|
11079
11048
|
break;
|
|
11080
11049
|
}
|
|
@@ -11087,9 +11056,10 @@ function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) {
|
|
|
11087
11056
|
default:
|
|
11088
11057
|
var /** @type {?} */ providerDef_1 = (((allowPrivateServices ? ((elDef.element)).allProviders : ((elDef.element)).publicProviders)))[tokenKey$$1];
|
|
11089
11058
|
if (providerDef_1) {
|
|
11090
|
-
var /** @type {?} */ providerData = asProviderData(view, providerDef_1.
|
|
11091
|
-
if (providerData
|
|
11092
|
-
providerData
|
|
11059
|
+
var /** @type {?} */ providerData = asProviderData(view, providerDef_1.nodeIndex);
|
|
11060
|
+
if (!providerData) {
|
|
11061
|
+
providerData = { instance: _createProviderInstance(view, providerDef_1) };
|
|
11062
|
+
view.nodes[providerDef_1.nodeIndex] = (providerData);
|
|
11093
11063
|
}
|
|
11094
11064
|
return providerData.instance;
|
|
11095
11065
|
}
|
|
@@ -11120,7 +11090,7 @@ function resolveDep(view, elDef, allowPrivateServices, depDef, notFoundValue) {
|
|
|
11120
11090
|
function findCompView(view, elDef, allowPrivateServices) {
|
|
11121
11091
|
var /** @type {?} */ compView;
|
|
11122
11092
|
if (allowPrivateServices) {
|
|
11123
|
-
compView = asElementData(view, elDef.
|
|
11093
|
+
compView = asElementData(view, elDef.nodeIndex).componentView;
|
|
11124
11094
|
}
|
|
11125
11095
|
else {
|
|
11126
11096
|
compView = view;
|
|
@@ -11141,7 +11111,7 @@ function findCompView(view, elDef, allowPrivateServices) {
|
|
|
11141
11111
|
*/
|
|
11142
11112
|
function updateProp(view, providerData, def, bindingIdx, value, changes) {
|
|
11143
11113
|
if (def.flags & 32768 /* Component */) {
|
|
11144
|
-
var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((def.parent)).
|
|
11114
|
+
var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((def.parent)).nodeIndex).componentView;
|
|
11145
11115
|
if (compView.def.flags & 2 /* OnPush */) {
|
|
11146
11116
|
compView.state |= 8 /* ChecksEnabled */;
|
|
11147
11117
|
}
|
|
@@ -11187,7 +11157,7 @@ function callLifecycleHooksChildrenFirst(view, lifecycles) {
|
|
|
11187
11157
|
i += nodeDef.childCount;
|
|
11188
11158
|
}
|
|
11189
11159
|
while (parent && (parent.flags & 1 /* TypeElement */) &&
|
|
11190
|
-
i === parent.
|
|
11160
|
+
i === parent.nodeIndex + parent.childCount) {
|
|
11191
11161
|
// last child of an element
|
|
11192
11162
|
if (parent.directChildFlags & lifecycles) {
|
|
11193
11163
|
callElementProvidersLifecycles(view, parent, lifecycles);
|
|
@@ -11203,7 +11173,7 @@ function callLifecycleHooksChildrenFirst(view, lifecycles) {
|
|
|
11203
11173
|
* @return {?}
|
|
11204
11174
|
*/
|
|
11205
11175
|
function callElementProvidersLifecycles(view, elDef, lifecycles) {
|
|
11206
|
-
for (var /** @type {?} */ i = elDef.
|
|
11176
|
+
for (var /** @type {?} */ i = elDef.nodeIndex + 1; i <= elDef.nodeIndex + elDef.childCount; i++) {
|
|
11207
11177
|
var /** @type {?} */ nodeDef = view.def.nodes[i];
|
|
11208
11178
|
if (nodeDef.flags & lifecycles) {
|
|
11209
11179
|
callProviderLifecycles(view, i, nodeDef.flags & lifecycles);
|
|
@@ -11219,8 +11189,12 @@ function callElementProvidersLifecycles(view, elDef, lifecycles) {
|
|
|
11219
11189
|
* @return {?}
|
|
11220
11190
|
*/
|
|
11221
11191
|
function callProviderLifecycles(view, index, lifecycles) {
|
|
11222
|
-
var /** @type {?} */
|
|
11223
|
-
if (
|
|
11192
|
+
var /** @type {?} */ providerData = asProviderData(view, index);
|
|
11193
|
+
if (!providerData) {
|
|
11194
|
+
return;
|
|
11195
|
+
}
|
|
11196
|
+
var /** @type {?} */ provider = providerData.instance;
|
|
11197
|
+
if (!provider) {
|
|
11224
11198
|
return;
|
|
11225
11199
|
}
|
|
11226
11200
|
Services.setCurrentNode(view, index);
|
|
@@ -11261,13 +11235,14 @@ function queryDef(flags, id, bindings) {
|
|
|
11261
11235
|
}
|
|
11262
11236
|
return {
|
|
11263
11237
|
// will bet set by the view definition
|
|
11264
|
-
|
|
11238
|
+
nodeIndex: -1,
|
|
11265
11239
|
parent: null,
|
|
11266
11240
|
renderParent: null,
|
|
11267
11241
|
bindingIndex: -1,
|
|
11268
11242
|
outputIndex: -1,
|
|
11269
11243
|
// regular values
|
|
11270
|
-
|
|
11244
|
+
// TODO(vicb): check
|
|
11245
|
+
checkIndex: -1, flags: flags,
|
|
11271
11246
|
childFlags: 0,
|
|
11272
11247
|
directChildFlags: 0,
|
|
11273
11248
|
childMatchedQueries: 0,
|
|
@@ -11302,7 +11277,7 @@ function dirtyParentQueries(view) {
|
|
|
11302
11277
|
var /** @type {?} */ tplDef = ((view.parentNodeDef));
|
|
11303
11278
|
view = view.parent;
|
|
11304
11279
|
// content queries
|
|
11305
|
-
var /** @type {?} */ end = tplDef.
|
|
11280
|
+
var /** @type {?} */ end = tplDef.nodeIndex + tplDef.childCount;
|
|
11306
11281
|
for (var /** @type {?} */ i = 0; i <= end; i++) {
|
|
11307
11282
|
var /** @type {?} */ nodeDef = view.def.nodes[i];
|
|
11308
11283
|
if ((nodeDef.flags & 67108864 /* TypeContentQuery */) &&
|
|
@@ -11310,7 +11285,7 @@ function dirtyParentQueries(view) {
|
|
|
11310
11285
|
(((nodeDef.query)).filterId & queryIds) === ((nodeDef.query)).filterId) {
|
|
11311
11286
|
asQueryList(view, i).setDirty();
|
|
11312
11287
|
}
|
|
11313
|
-
if ((nodeDef.flags & 1 /* TypeElement */ && i + nodeDef.childCount < tplDef.
|
|
11288
|
+
if ((nodeDef.flags & 1 /* TypeElement */ && i + nodeDef.childCount < tplDef.nodeIndex) ||
|
|
11314
11289
|
!(nodeDef.childFlags & 67108864 /* TypeContentQuery */) ||
|
|
11315
11290
|
!(nodeDef.childFlags & 536870912 /* DynamicQuery */)) {
|
|
11316
11291
|
// skip elements that don't contain the template element or no query.
|
|
@@ -11336,7 +11311,7 @@ function dirtyParentQueries(view) {
|
|
|
11336
11311
|
* @return {?}
|
|
11337
11312
|
*/
|
|
11338
11313
|
function checkAndUpdateQuery(view, nodeDef) {
|
|
11339
|
-
var /** @type {?} */ queryList = asQueryList(view, nodeDef.
|
|
11314
|
+
var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex);
|
|
11340
11315
|
if (!queryList.dirty) {
|
|
11341
11316
|
return;
|
|
11342
11317
|
}
|
|
@@ -11344,8 +11319,8 @@ function checkAndUpdateQuery(view, nodeDef) {
|
|
|
11344
11319
|
var /** @type {?} */ newValues = ((undefined));
|
|
11345
11320
|
if (nodeDef.flags & 67108864 /* TypeContentQuery */) {
|
|
11346
11321
|
var /** @type {?} */ elementDef_1 = ((((nodeDef.parent)).parent));
|
|
11347
|
-
newValues = calcQueryValues(view, elementDef_1.
|
|
11348
|
-
directiveInstance = asProviderData(view, /** @type {?} */ ((nodeDef.parent)).
|
|
11322
|
+
newValues = calcQueryValues(view, elementDef_1.nodeIndex, elementDef_1.nodeIndex + elementDef_1.childCount, /** @type {?} */ ((nodeDef.query)), []);
|
|
11323
|
+
directiveInstance = asProviderData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).instance;
|
|
11349
11324
|
}
|
|
11350
11325
|
else if (nodeDef.flags & 134217728 /* TypeViewQuery */) {
|
|
11351
11326
|
newValues = calcQueryValues(view, 0, view.def.nodes.length - 1, /** @type {?} */ ((nodeDef.query)), []);
|
|
@@ -11431,25 +11406,18 @@ function calcQueryValues(view, startIndex, endIndex, queryDef, values) {
|
|
|
11431
11406
|
function getQueryValue(view, nodeDef, queryValueType) {
|
|
11432
11407
|
if (queryValueType != null) {
|
|
11433
11408
|
// a match
|
|
11434
|
-
var /** @type {?} */ value = void 0;
|
|
11435
11409
|
switch (queryValueType) {
|
|
11436
11410
|
case 1 /* RenderElement */:
|
|
11437
|
-
|
|
11438
|
-
break;
|
|
11411
|
+
return asElementData(view, nodeDef.nodeIndex).renderElement;
|
|
11439
11412
|
case 0 /* ElementRef */:
|
|
11440
|
-
|
|
11441
|
-
break;
|
|
11413
|
+
return new ElementRef(asElementData(view, nodeDef.nodeIndex).renderElement);
|
|
11442
11414
|
case 2 /* TemplateRef */:
|
|
11443
|
-
|
|
11444
|
-
break;
|
|
11415
|
+
return asElementData(view, nodeDef.nodeIndex).template;
|
|
11445
11416
|
case 3 /* ViewContainerRef */:
|
|
11446
|
-
|
|
11447
|
-
break;
|
|
11417
|
+
return asElementData(view, nodeDef.nodeIndex).viewContainer;
|
|
11448
11418
|
case 4 /* Provider */:
|
|
11449
|
-
|
|
11450
|
-
break;
|
|
11419
|
+
return asProviderData(view, nodeDef.nodeIndex).instance;
|
|
11451
11420
|
}
|
|
11452
|
-
return value;
|
|
11453
11421
|
}
|
|
11454
11422
|
}
|
|
11455
11423
|
/**
|
|
@@ -11467,12 +11435,13 @@ function getQueryValue(view, nodeDef, queryValueType) {
|
|
|
11467
11435
|
function ngContentDef(ngContentIndex, index) {
|
|
11468
11436
|
return {
|
|
11469
11437
|
// will bet set by the view definition
|
|
11470
|
-
|
|
11438
|
+
nodeIndex: -1,
|
|
11471
11439
|
parent: null,
|
|
11472
11440
|
renderParent: null,
|
|
11473
11441
|
bindingIndex: -1,
|
|
11474
11442
|
outputIndex: -1,
|
|
11475
11443
|
// regular values
|
|
11444
|
+
checkIndex: -1,
|
|
11476
11445
|
flags: 8 /* TypeNgContent */,
|
|
11477
11446
|
childFlags: 0,
|
|
11478
11447
|
directChildFlags: 0,
|
|
@@ -11514,25 +11483,28 @@ function appendNgContent(view, renderHost, def) {
|
|
|
11514
11483
|
* found in the LICENSE file at https://angular.io/license
|
|
11515
11484
|
*/
|
|
11516
11485
|
/**
|
|
11486
|
+
* @param {?} checkIndex
|
|
11517
11487
|
* @param {?} argCount
|
|
11518
11488
|
* @return {?}
|
|
11519
11489
|
*/
|
|
11520
|
-
function purePipeDef(argCount) {
|
|
11490
|
+
function purePipeDef(checkIndex, argCount) {
|
|
11521
11491
|
// argCount + 1 to include the pipe as first arg
|
|
11522
|
-
return _pureExpressionDef(128 /* TypePurePipe */, new Array(argCount + 1));
|
|
11492
|
+
return _pureExpressionDef(128 /* TypePurePipe */, checkIndex, new Array(argCount + 1));
|
|
11523
11493
|
}
|
|
11524
11494
|
/**
|
|
11495
|
+
* @param {?} checkIndex
|
|
11525
11496
|
* @param {?} argCount
|
|
11526
11497
|
* @return {?}
|
|
11527
11498
|
*/
|
|
11528
|
-
function pureArrayDef(argCount) {
|
|
11529
|
-
return _pureExpressionDef(32 /* TypePureArray */, new Array(argCount));
|
|
11499
|
+
function pureArrayDef(checkIndex, argCount) {
|
|
11500
|
+
return _pureExpressionDef(32 /* TypePureArray */, checkIndex, new Array(argCount));
|
|
11530
11501
|
}
|
|
11531
11502
|
/**
|
|
11503
|
+
* @param {?} checkIndex
|
|
11532
11504
|
* @param {?} propToIndex
|
|
11533
11505
|
* @return {?}
|
|
11534
11506
|
*/
|
|
11535
|
-
function pureObjectDef(propToIndex) {
|
|
11507
|
+
function pureObjectDef(checkIndex, propToIndex) {
|
|
11536
11508
|
var /** @type {?} */ keys = Object.keys(propToIndex);
|
|
11537
11509
|
var /** @type {?} */ nbKeys = keys.length;
|
|
11538
11510
|
var /** @type {?} */ propertyNames = new Array(nbKeys);
|
|
@@ -11541,14 +11513,15 @@ function pureObjectDef(propToIndex) {
|
|
|
11541
11513
|
var /** @type {?} */ index = propToIndex[key];
|
|
11542
11514
|
propertyNames[index] = key;
|
|
11543
11515
|
}
|
|
11544
|
-
return _pureExpressionDef(64 /* TypePureObject */, propertyNames);
|
|
11516
|
+
return _pureExpressionDef(64 /* TypePureObject */, checkIndex, propertyNames);
|
|
11545
11517
|
}
|
|
11546
11518
|
/**
|
|
11547
11519
|
* @param {?} flags
|
|
11520
|
+
* @param {?} checkIndex
|
|
11548
11521
|
* @param {?} propertyNames
|
|
11549
11522
|
* @return {?}
|
|
11550
11523
|
*/
|
|
11551
|
-
function _pureExpressionDef(flags, propertyNames) {
|
|
11524
|
+
function _pureExpressionDef(flags, checkIndex, propertyNames) {
|
|
11552
11525
|
var /** @type {?} */ bindings = new Array(propertyNames.length);
|
|
11553
11526
|
for (var /** @type {?} */ i = 0; i < propertyNames.length; i++) {
|
|
11554
11527
|
var /** @type {?} */ prop = propertyNames[i];
|
|
@@ -11563,12 +11536,13 @@ function _pureExpressionDef(flags, propertyNames) {
|
|
|
11563
11536
|
}
|
|
11564
11537
|
return {
|
|
11565
11538
|
// will bet set by the view definition
|
|
11566
|
-
|
|
11539
|
+
nodeIndex: -1,
|
|
11567
11540
|
parent: null,
|
|
11568
11541
|
renderParent: null,
|
|
11569
11542
|
bindingIndex: -1,
|
|
11570
11543
|
outputIndex: -1,
|
|
11571
11544
|
// regular values
|
|
11545
|
+
checkIndex: checkIndex,
|
|
11572
11546
|
flags: flags,
|
|
11573
11547
|
childFlags: 0,
|
|
11574
11548
|
directChildFlags: 0,
|
|
@@ -11635,7 +11609,7 @@ function checkAndUpdatePureExpressionInline(view, def, v0, v1, v2, v3, v4, v5, v
|
|
|
11635
11609
|
if (bindLen > 9 && checkAndUpdateBinding(view, def, 9, v9))
|
|
11636
11610
|
changed = true;
|
|
11637
11611
|
if (changed) {
|
|
11638
|
-
var /** @type {?} */ data = asPureExpressionData(view, def.
|
|
11612
|
+
var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex);
|
|
11639
11613
|
var /** @type {?} */ value = void 0;
|
|
11640
11614
|
switch (def.flags & 201347067 /* Types */) {
|
|
11641
11615
|
case 32 /* TypePureArray */:
|
|
@@ -11741,7 +11715,7 @@ function checkAndUpdatePureExpressionDynamic(view, def, values) {
|
|
|
11741
11715
|
}
|
|
11742
11716
|
}
|
|
11743
11717
|
if (changed) {
|
|
11744
|
-
var /** @type {?} */ data = asPureExpressionData(view, def.
|
|
11718
|
+
var /** @type {?} */ data = asPureExpressionData(view, def.nodeIndex);
|
|
11745
11719
|
var /** @type {?} */ value = void 0;
|
|
11746
11720
|
switch (def.flags & 201347067 /* Types */) {
|
|
11747
11721
|
case 32 /* TypePureArray */:
|
|
@@ -11771,32 +11745,33 @@ function checkAndUpdatePureExpressionDynamic(view, def, values) {
|
|
|
11771
11745
|
* found in the LICENSE file at https://angular.io/license
|
|
11772
11746
|
*/
|
|
11773
11747
|
/**
|
|
11748
|
+
* @param {?} checkIndex
|
|
11774
11749
|
* @param {?} ngContentIndex
|
|
11775
|
-
* @param {?}
|
|
11750
|
+
* @param {?} staticText
|
|
11776
11751
|
* @return {?}
|
|
11777
11752
|
*/
|
|
11778
|
-
function textDef(ngContentIndex,
|
|
11779
|
-
var /** @type {?} */ bindings = new Array(
|
|
11780
|
-
for (var /** @type {?} */ i = 1; i <
|
|
11753
|
+
function textDef(checkIndex, ngContentIndex, staticText) {
|
|
11754
|
+
var /** @type {?} */ bindings = new Array(staticText.length - 1);
|
|
11755
|
+
for (var /** @type {?} */ i = 1; i < staticText.length; i++) {
|
|
11781
11756
|
bindings[i - 1] = {
|
|
11782
11757
|
flags: 8 /* TypeProperty */,
|
|
11783
11758
|
name: null,
|
|
11784
11759
|
ns: null,
|
|
11785
11760
|
nonMinifiedName: null,
|
|
11786
11761
|
securityContext: null,
|
|
11787
|
-
suffix:
|
|
11762
|
+
suffix: staticText[i],
|
|
11788
11763
|
};
|
|
11789
11764
|
}
|
|
11790
|
-
var /** @type {?} */ flags = 2;
|
|
11791
11765
|
return {
|
|
11792
11766
|
// will bet set by the view definition
|
|
11793
|
-
|
|
11767
|
+
nodeIndex: -1,
|
|
11794
11768
|
parent: null,
|
|
11795
11769
|
renderParent: null,
|
|
11796
11770
|
bindingIndex: -1,
|
|
11797
11771
|
outputIndex: -1,
|
|
11798
11772
|
// regular values
|
|
11799
|
-
|
|
11773
|
+
checkIndex: checkIndex,
|
|
11774
|
+
flags: 2 /* TypeText */,
|
|
11800
11775
|
childFlags: 0,
|
|
11801
11776
|
directChildFlags: 0,
|
|
11802
11777
|
childMatchedQueries: 0,
|
|
@@ -11804,13 +11779,13 @@ function textDef(ngContentIndex, constants) {
|
|
|
11804
11779
|
matchedQueryIds: 0,
|
|
11805
11780
|
references: {}, ngContentIndex: ngContentIndex,
|
|
11806
11781
|
childCount: 0, bindings: bindings,
|
|
11807
|
-
bindingFlags:
|
|
11782
|
+
bindingFlags: 8 /* TypeProperty */,
|
|
11808
11783
|
outputs: [],
|
|
11809
11784
|
element: null,
|
|
11810
11785
|
provider: null,
|
|
11811
|
-
text: { prefix:
|
|
11786
|
+
text: { prefix: staticText[0] },
|
|
11812
11787
|
query: null,
|
|
11813
|
-
ngContent: null
|
|
11788
|
+
ngContent: null,
|
|
11814
11789
|
};
|
|
11815
11790
|
}
|
|
11816
11791
|
/**
|
|
@@ -11890,7 +11865,7 @@ function checkAndUpdateTextInline(view, def, v0, v1, v2, v3, v4, v5, v6, v7, v8,
|
|
|
11890
11865
|
value += _addInterpolationPart(v8, bindings[8]);
|
|
11891
11866
|
if (bindLen > 9)
|
|
11892
11867
|
value += _addInterpolationPart(v9, bindings[9]);
|
|
11893
|
-
var /** @type {?} */ renderNode$$1 = asTextData(view, def.
|
|
11868
|
+
var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText;
|
|
11894
11869
|
view.renderer.setValue(renderNode$$1, value);
|
|
11895
11870
|
}
|
|
11896
11871
|
return changed;
|
|
@@ -11917,7 +11892,7 @@ function checkAndUpdateTextDynamic(view, def, values) {
|
|
|
11917
11892
|
value = value + _addInterpolationPart(values[i], bindings[i]);
|
|
11918
11893
|
}
|
|
11919
11894
|
value = ((def.text)).prefix + value;
|
|
11920
|
-
var /** @type {?} */ renderNode$$1 = asTextData(view, def.
|
|
11895
|
+
var /** @type {?} */ renderNode$$1 = asTextData(view, def.nodeIndex).renderText;
|
|
11921
11896
|
view.renderer.setValue(renderNode$$1, value);
|
|
11922
11897
|
}
|
|
11923
11898
|
return changed;
|
|
@@ -11953,33 +11928,19 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
|
|
|
11953
11928
|
var /** @type {?} */ viewRootNodeFlags = 0;
|
|
11954
11929
|
var /** @type {?} */ viewMatchedQueries = 0;
|
|
11955
11930
|
var /** @type {?} */ currentParent = null;
|
|
11931
|
+
var /** @type {?} */ currentRenderParent = null;
|
|
11956
11932
|
var /** @type {?} */ currentElementHasPublicProviders = false;
|
|
11957
11933
|
var /** @type {?} */ currentElementHasPrivateProviders = false;
|
|
11958
11934
|
var /** @type {?} */ lastRenderRootNode = null;
|
|
11959
11935
|
for (var /** @type {?} */ i = 0; i < nodes.length; i++) {
|
|
11960
|
-
while (currentParent && i > currentParent.index + currentParent.childCount) {
|
|
11961
|
-
var /** @type {?} */ newParent = currentParent.parent;
|
|
11962
|
-
if (newParent) {
|
|
11963
|
-
newParent.childFlags |= ((currentParent.childFlags));
|
|
11964
|
-
newParent.childMatchedQueries |= currentParent.childMatchedQueries;
|
|
11965
|
-
}
|
|
11966
|
-
currentParent = newParent;
|
|
11967
|
-
}
|
|
11968
11936
|
var /** @type {?} */ node = nodes[i];
|
|
11969
|
-
node.
|
|
11937
|
+
node.nodeIndex = i;
|
|
11970
11938
|
node.parent = currentParent;
|
|
11971
11939
|
node.bindingIndex = viewBindingCount;
|
|
11972
11940
|
node.outputIndex = viewDisposableCount;
|
|
11973
|
-
// renderParent needs to account for ng-container!
|
|
11974
|
-
var /** @type {?} */ currentRenderParent = void 0;
|
|
11975
|
-
if (currentParent && currentParent.flags & 1 /* TypeElement */ &&
|
|
11976
|
-
!((currentParent.element)).name) {
|
|
11977
|
-
currentRenderParent = currentParent.renderParent;
|
|
11978
|
-
}
|
|
11979
|
-
else {
|
|
11980
|
-
currentRenderParent = currentParent;
|
|
11981
|
-
}
|
|
11982
11941
|
node.renderParent = currentRenderParent;
|
|
11942
|
+
viewNodeFlags |= node.flags;
|
|
11943
|
+
viewMatchedQueries |= node.matchedQueryIds;
|
|
11983
11944
|
if (node.element) {
|
|
11984
11945
|
var /** @type {?} */ elDef = node.element;
|
|
11985
11946
|
elDef.publicProviders =
|
|
@@ -11988,24 +11949,11 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
|
|
|
11988
11949
|
// Note: We assume that all providers of an element are before any child element!
|
|
11989
11950
|
currentElementHasPublicProviders = false;
|
|
11990
11951
|
currentElementHasPrivateProviders = false;
|
|
11991
|
-
|
|
11992
|
-
|
|
11993
|
-
viewNodeFlags |= node.flags;
|
|
11994
|
-
viewMatchedQueries |= node.matchedQueryIds;
|
|
11995
|
-
if (node.element && node.element.template) {
|
|
11996
|
-
viewMatchedQueries |= node.element.template.nodeMatchedQueries;
|
|
11997
|
-
}
|
|
11998
|
-
if (currentParent) {
|
|
11999
|
-
currentParent.childFlags |= node.flags;
|
|
12000
|
-
currentParent.directChildFlags |= node.flags;
|
|
12001
|
-
currentParent.childMatchedQueries |= node.matchedQueryIds;
|
|
12002
|
-
if (node.element && node.element.template) {
|
|
12003
|
-
currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries;
|
|
11952
|
+
if (node.element.template) {
|
|
11953
|
+
viewMatchedQueries |= node.element.template.nodeMatchedQueries;
|
|
12004
11954
|
}
|
|
12005
11955
|
}
|
|
12006
|
-
|
|
12007
|
-
viewRootNodeFlags |= node.flags;
|
|
12008
|
-
}
|
|
11956
|
+
validateNode(currentParent, node, nodes.length);
|
|
12009
11957
|
viewBindingCount += node.bindings.length;
|
|
12010
11958
|
viewDisposableCount += node.outputs.length;
|
|
12011
11959
|
if (!currentRenderParent && (node.flags & 3 /* CatRenderNode */)) {
|
|
@@ -12029,7 +11977,7 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
|
|
|
12029
11977
|
if (!currentElementHasPrivateProviders) {
|
|
12030
11978
|
currentElementHasPrivateProviders = true; /** @type {?} */
|
|
12031
11979
|
((((
|
|
12032
|
-
// Use
|
|
11980
|
+
// Use prototypical inheritance to not get O(n^2) complexity...
|
|
12033
11981
|
currentParent)).element)).allProviders =
|
|
12034
11982
|
Object.create(/** @type {?} */ ((((currentParent)).element)).publicProviders);
|
|
12035
11983
|
} /** @type {?} */
|
|
@@ -12039,17 +11987,45 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
|
|
|
12039
11987
|
((((currentParent)).element)).componentProvider = node;
|
|
12040
11988
|
}
|
|
12041
11989
|
}
|
|
12042
|
-
if (
|
|
11990
|
+
if (currentParent) {
|
|
11991
|
+
currentParent.childFlags |= node.flags;
|
|
11992
|
+
currentParent.directChildFlags |= node.flags;
|
|
11993
|
+
currentParent.childMatchedQueries |= node.matchedQueryIds;
|
|
11994
|
+
if (node.element && node.element.template) {
|
|
11995
|
+
currentParent.childMatchedQueries |= node.element.template.nodeMatchedQueries;
|
|
11996
|
+
}
|
|
11997
|
+
}
|
|
11998
|
+
else {
|
|
11999
|
+
viewRootNodeFlags |= node.flags;
|
|
12000
|
+
}
|
|
12001
|
+
if (node.childCount > 0) {
|
|
12043
12002
|
currentParent = node;
|
|
12003
|
+
if (!isNgContainer(node)) {
|
|
12004
|
+
currentRenderParent = node;
|
|
12005
|
+
}
|
|
12044
12006
|
}
|
|
12045
|
-
|
|
12046
|
-
|
|
12047
|
-
|
|
12048
|
-
|
|
12049
|
-
|
|
12050
|
-
|
|
12007
|
+
else {
|
|
12008
|
+
// When the current node has no children, check if it is the last children of its parent.
|
|
12009
|
+
// When it is, propagate the flags up.
|
|
12010
|
+
// The loop is required because an element could be the last transitive children of several
|
|
12011
|
+
// elements. We loop to either the root or the highest opened element (= with remaining
|
|
12012
|
+
// children)
|
|
12013
|
+
while (currentParent && i === currentParent.nodeIndex + currentParent.childCount) {
|
|
12014
|
+
var /** @type {?} */ newParent = currentParent.parent;
|
|
12015
|
+
if (newParent) {
|
|
12016
|
+
newParent.childFlags |= currentParent.childFlags;
|
|
12017
|
+
newParent.childMatchedQueries |= currentParent.childMatchedQueries;
|
|
12018
|
+
}
|
|
12019
|
+
currentParent = newParent;
|
|
12020
|
+
// We also need to update the render parent & account for ng-container
|
|
12021
|
+
if (currentParent && isNgContainer(currentParent)) {
|
|
12022
|
+
currentRenderParent = currentParent.renderParent;
|
|
12023
|
+
}
|
|
12024
|
+
else {
|
|
12025
|
+
currentRenderParent = currentParent;
|
|
12026
|
+
}
|
|
12027
|
+
}
|
|
12051
12028
|
}
|
|
12052
|
-
currentParent = newParent;
|
|
12053
12029
|
}
|
|
12054
12030
|
var /** @type {?} */ handleEvent = function (view, nodeIndex, eventName, event) { return ((((nodes[nodeIndex].element)).handleEvent))(view, eventName, event); };
|
|
12055
12031
|
return {
|
|
@@ -12060,12 +12036,18 @@ function viewDef(flags, nodes, updateDirectives, updateRenderer) {
|
|
|
12060
12036
|
nodeMatchedQueries: viewMatchedQueries, flags: flags,
|
|
12061
12037
|
nodes: nodes,
|
|
12062
12038
|
updateDirectives: updateDirectives || NOOP,
|
|
12063
|
-
updateRenderer: updateRenderer || NOOP,
|
|
12064
|
-
handleEvent: handleEvent || NOOP,
|
|
12039
|
+
updateRenderer: updateRenderer || NOOP, handleEvent: handleEvent,
|
|
12065
12040
|
bindingCount: viewBindingCount,
|
|
12066
12041
|
outputCount: viewDisposableCount, lastRenderRootNode: lastRenderRootNode
|
|
12067
12042
|
};
|
|
12068
12043
|
}
|
|
12044
|
+
/**
|
|
12045
|
+
* @param {?} node
|
|
12046
|
+
* @return {?}
|
|
12047
|
+
*/
|
|
12048
|
+
function isNgContainer(node) {
|
|
12049
|
+
return (node.flags & 1 /* TypeElement */) !== 0 && ((node.element)).name === null;
|
|
12050
|
+
}
|
|
12069
12051
|
/**
|
|
12070
12052
|
* @param {?} parent
|
|
12071
12053
|
* @param {?} node
|
|
@@ -12080,28 +12062,28 @@ function validateNode(parent, node, nodeCount) {
|
|
|
12080
12062
|
}
|
|
12081
12063
|
if (template.lastRenderRootNode &&
|
|
12082
12064
|
template.lastRenderRootNode.flags & 16777216 /* EmbeddedViews */) {
|
|
12083
|
-
throw new Error("Illegal State: Last root node of a template can't have embedded views, at index " + node.
|
|
12065
|
+
throw new Error("Illegal State: Last root node of a template can't have embedded views, at index " + node.nodeIndex + "!");
|
|
12084
12066
|
}
|
|
12085
12067
|
}
|
|
12086
12068
|
if (node.flags & 20224 /* CatProvider */) {
|
|
12087
12069
|
var /** @type {?} */ parentFlags = parent ? parent.flags : 0;
|
|
12088
12070
|
if ((parentFlags & 1 /* TypeElement */) === 0) {
|
|
12089
|
-
throw new Error("Illegal State:
|
|
12071
|
+
throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index " + node.nodeIndex + "!");
|
|
12090
12072
|
}
|
|
12091
12073
|
}
|
|
12092
12074
|
if (node.query) {
|
|
12093
12075
|
if (node.flags & 67108864 /* TypeContentQuery */ &&
|
|
12094
12076
|
(!parent || (parent.flags & 16384 /* TypeDirective */) === 0)) {
|
|
12095
|
-
throw new Error("Illegal State: Content Query nodes need to be children of directives, at index " + node.
|
|
12077
|
+
throw new Error("Illegal State: Content Query nodes need to be children of directives, at index " + node.nodeIndex + "!");
|
|
12096
12078
|
}
|
|
12097
12079
|
if (node.flags & 134217728 /* TypeViewQuery */ && parent) {
|
|
12098
|
-
throw new Error("Illegal State: View Query nodes have to be top level nodes, at index " + node.
|
|
12080
|
+
throw new Error("Illegal State: View Query nodes have to be top level nodes, at index " + node.nodeIndex + "!");
|
|
12099
12081
|
}
|
|
12100
12082
|
}
|
|
12101
12083
|
if (node.childCount) {
|
|
12102
|
-
var /** @type {?} */ parentEnd = parent ? parent.
|
|
12103
|
-
if (node.
|
|
12104
|
-
throw new Error("Illegal State: childCount of node leads outside of parent, at index " + node.
|
|
12084
|
+
var /** @type {?} */ parentEnd = parent ? parent.nodeIndex + parent.childCount : nodeCount - 1;
|
|
12085
|
+
if (node.nodeIndex <= parentEnd && node.nodeIndex + node.childCount > parentEnd) {
|
|
12086
|
+
throw new Error("Illegal State: childCount of node leads outside of parent, at index " + node.nodeIndex + "!");
|
|
12105
12087
|
}
|
|
12106
12088
|
}
|
|
12107
12089
|
}
|
|
@@ -12190,7 +12172,7 @@ function createViewNodes(view) {
|
|
|
12190
12172
|
var /** @type {?} */ renderHost;
|
|
12191
12173
|
if (isComponentView(view)) {
|
|
12192
12174
|
var /** @type {?} */ hostDef = view.parentNodeDef;
|
|
12193
|
-
renderHost = asElementData(/** @type {?} */ ((view.parent)), /** @type {?} */ ((((hostDef)).parent)).
|
|
12175
|
+
renderHost = asElementData(/** @type {?} */ ((view.parent)), /** @type {?} */ ((((hostDef)).parent)).nodeIndex).renderElement;
|
|
12194
12176
|
}
|
|
12195
12177
|
var /** @type {?} */ def = view.def;
|
|
12196
12178
|
var /** @type {?} */ nodes = view.nodes;
|
|
@@ -12224,8 +12206,11 @@ function createViewNodes(view) {
|
|
|
12224
12206
|
case 1024 /* TypeFactoryProvider */:
|
|
12225
12207
|
case 2048 /* TypeUseExistingProvider */:
|
|
12226
12208
|
case 256 /* TypeValueProvider */: {
|
|
12227
|
-
|
|
12228
|
-
nodeData
|
|
12209
|
+
nodeData = nodes[i];
|
|
12210
|
+
if (!nodeData && !(nodeDef.flags & 4096 /* LazyProvider */)) {
|
|
12211
|
+
var /** @type {?} */ instance = createProviderInstance(view, nodeDef);
|
|
12212
|
+
nodeData = ({ instance: instance });
|
|
12213
|
+
}
|
|
12229
12214
|
break;
|
|
12230
12215
|
}
|
|
12231
12216
|
case 16 /* TypePipe */: {
|
|
@@ -12234,11 +12219,14 @@ function createViewNodes(view) {
|
|
|
12234
12219
|
break;
|
|
12235
12220
|
}
|
|
12236
12221
|
case 16384 /* TypeDirective */: {
|
|
12237
|
-
|
|
12238
|
-
nodeData
|
|
12222
|
+
nodeData = nodes[i];
|
|
12223
|
+
if (!nodeData) {
|
|
12224
|
+
var /** @type {?} */ instance = createDirectiveInstance(view, nodeDef);
|
|
12225
|
+
nodeData = ({ instance: instance });
|
|
12226
|
+
}
|
|
12239
12227
|
if (nodeDef.flags & 32768 /* Component */) {
|
|
12240
|
-
var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((nodeDef.parent)).
|
|
12241
|
-
initView(compView, instance, instance);
|
|
12228
|
+
var /** @type {?} */ compView = asElementData(view, /** @type {?} */ ((nodeDef.parent)).nodeIndex).componentView;
|
|
12229
|
+
initView(compView, nodeData.instance, nodeData.instance);
|
|
12242
12230
|
}
|
|
12243
12231
|
break;
|
|
12244
12232
|
}
|
|
@@ -12376,26 +12364,20 @@ function markProjectedViewsForCheck(view) {
|
|
|
12376
12364
|
* @return {?}
|
|
12377
12365
|
*/
|
|
12378
12366
|
function checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
|
|
12379
|
-
var /** @type {?} */ changed = false;
|
|
12380
12367
|
switch (nodeDef.flags & 201347067 /* Types */) {
|
|
12381
12368
|
case 1 /* TypeElement */:
|
|
12382
|
-
|
|
12383
|
-
break;
|
|
12369
|
+
return checkAndUpdateElementInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
|
|
12384
12370
|
case 2 /* TypeText */:
|
|
12385
|
-
|
|
12386
|
-
break;
|
|
12371
|
+
return checkAndUpdateTextInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
|
|
12387
12372
|
case 16384 /* TypeDirective */:
|
|
12388
|
-
|
|
12389
|
-
checkAndUpdateDirectiveInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
|
|
12390
|
-
break;
|
|
12373
|
+
return checkAndUpdateDirectiveInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
|
|
12391
12374
|
case 32 /* TypePureArray */:
|
|
12392
12375
|
case 64 /* TypePureObject */:
|
|
12393
12376
|
case 128 /* TypePurePipe */:
|
|
12394
|
-
|
|
12395
|
-
|
|
12396
|
-
|
|
12377
|
+
return checkAndUpdatePureExpressionInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
|
|
12378
|
+
default:
|
|
12379
|
+
throw 'unreachable';
|
|
12397
12380
|
}
|
|
12398
|
-
return changed;
|
|
12399
12381
|
}
|
|
12400
12382
|
/**
|
|
12401
12383
|
* @param {?} view
|
|
@@ -12404,34 +12386,20 @@ function checkAndUpdateNodeInline(view, nodeDef, v0, v1, v2, v3, v4, v5, v6, v7,
|
|
|
12404
12386
|
* @return {?}
|
|
12405
12387
|
*/
|
|
12406
12388
|
function checkAndUpdateNodeDynamic(view, nodeDef, values) {
|
|
12407
|
-
var /** @type {?} */ changed = false;
|
|
12408
12389
|
switch (nodeDef.flags & 201347067 /* Types */) {
|
|
12409
12390
|
case 1 /* TypeElement */:
|
|
12410
|
-
|
|
12411
|
-
break;
|
|
12391
|
+
return checkAndUpdateElementDynamic(view, nodeDef, values);
|
|
12412
12392
|
case 2 /* TypeText */:
|
|
12413
|
-
|
|
12414
|
-
break;
|
|
12393
|
+
return checkAndUpdateTextDynamic(view, nodeDef, values);
|
|
12415
12394
|
case 16384 /* TypeDirective */:
|
|
12416
|
-
|
|
12417
|
-
break;
|
|
12395
|
+
return checkAndUpdateDirectiveDynamic(view, nodeDef, values);
|
|
12418
12396
|
case 32 /* TypePureArray */:
|
|
12419
12397
|
case 64 /* TypePureObject */:
|
|
12420
12398
|
case 128 /* TypePurePipe */:
|
|
12421
|
-
|
|
12422
|
-
|
|
12423
|
-
|
|
12424
|
-
if (changed) {
|
|
12425
|
-
// Update oldValues after all bindings have been updated,
|
|
12426
|
-
// as a setter for a property might update other properties.
|
|
12427
|
-
var /** @type {?} */ bindLen = nodeDef.bindings.length;
|
|
12428
|
-
var /** @type {?} */ bindingStart = nodeDef.bindingIndex;
|
|
12429
|
-
var /** @type {?} */ oldValues = view.oldValues;
|
|
12430
|
-
for (var /** @type {?} */ i = 0; i < bindLen; i++) {
|
|
12431
|
-
oldValues[bindingStart + i] = values[i];
|
|
12432
|
-
}
|
|
12399
|
+
return checkAndUpdatePureExpressionDynamic(view, nodeDef, values);
|
|
12400
|
+
default:
|
|
12401
|
+
throw 'unreachable';
|
|
12433
12402
|
}
|
|
12434
|
-
return changed;
|
|
12435
12403
|
}
|
|
12436
12404
|
/**
|
|
12437
12405
|
* @param {?} view
|
|
@@ -12516,9 +12484,9 @@ function checkNoChangesNodeDynamic(view, nodeDef, values) {
|
|
|
12516
12484
|
* @return {?}
|
|
12517
12485
|
*/
|
|
12518
12486
|
function checkNoChangesQuery(view, nodeDef) {
|
|
12519
|
-
var /** @type {?} */ queryList = asQueryList(view, nodeDef.
|
|
12487
|
+
var /** @type {?} */ queryList = asQueryList(view, nodeDef.nodeIndex);
|
|
12520
12488
|
if (queryList.dirty) {
|
|
12521
|
-
throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, nodeDef.
|
|
12489
|
+
throw expressionChangedAfterItHasBeenCheckedError(Services.createDebugContext(view, nodeDef.nodeIndex), "Query " + ((nodeDef.query)).id + " not dirty", "Query " + ((nodeDef.query)).id + " dirty", (view.state & 1 /* BeforeFirstCheck */) !== 0);
|
|
12522
12490
|
}
|
|
12523
12491
|
}
|
|
12524
12492
|
/**
|
|
@@ -12711,7 +12679,7 @@ function execQueriesAction(view, queryFlags, staticDynamicQueryFlag, checkType)
|
|
|
12711
12679
|
for (var /** @type {?} */ i = 0; i < nodeCount; i++) {
|
|
12712
12680
|
var /** @type {?} */ nodeDef = view.def.nodes[i];
|
|
12713
12681
|
if ((nodeDef.flags & queryFlags) && (nodeDef.flags & staticDynamicQueryFlag)) {
|
|
12714
|
-
Services.setCurrentNode(view, nodeDef.
|
|
12682
|
+
Services.setCurrentNode(view, nodeDef.nodeIndex);
|
|
12715
12683
|
switch (checkType) {
|
|
12716
12684
|
case 0 /* CheckAndUpdate */:
|
|
12717
12685
|
checkAndUpdateQuery(view, nodeDef);
|
|
@@ -12932,7 +12900,7 @@ function applyProviderOverridesToView(def) {
|
|
|
12932
12900
|
}
|
|
12933
12901
|
if (lastElementDef && nodeDef.flags & 3840 /* CatProviderNoDirective */ &&
|
|
12934
12902
|
providerOverrides.has(/** @type {?} */ ((nodeDef.provider)).token)) {
|
|
12935
|
-
elIndicesWithOverwrittenProviders.push(/** @type {?} */ ((lastElementDef)).
|
|
12903
|
+
elIndicesWithOverwrittenProviders.push(/** @type {?} */ ((lastElementDef)).nodeIndex);
|
|
12936
12904
|
lastElementDef = null;
|
|
12937
12905
|
}
|
|
12938
12906
|
}
|
|
@@ -12951,9 +12919,6 @@ function applyProviderOverridesToView(def) {
|
|
|
12951
12919
|
return;
|
|
12952
12920
|
}
|
|
12953
12921
|
if (nodeDef.flags & 3840 /* CatProviderNoDirective */) {
|
|
12954
|
-
// Make all providers lazy, so that we don't get into trouble
|
|
12955
|
-
// with ordering problems of providers on the same element
|
|
12956
|
-
nodeDef.flags |= 4096 /* LazyProvider */;
|
|
12957
12922
|
var /** @type {?} */ provider = ((nodeDef.provider));
|
|
12958
12923
|
var /** @type {?} */ override = providerOverrides.get(provider.token);
|
|
12959
12924
|
if (override) {
|
|
@@ -12970,7 +12935,8 @@ function applyProviderOverridesToView(def) {
|
|
|
12970
12935
|
* @return {?}
|
|
12971
12936
|
*/
|
|
12972
12937
|
function applyProviderOverridesToNgModule(def) {
|
|
12973
|
-
|
|
12938
|
+
var _a = calcHasOverrides(def), hasOverrides = _a.hasOverrides, hasDeprecatedOverrides = _a.hasDeprecatedOverrides;
|
|
12939
|
+
if (!hasOverrides) {
|
|
12974
12940
|
return def;
|
|
12975
12941
|
}
|
|
12976
12942
|
// clone the whole view definition,
|
|
@@ -12982,8 +12948,20 @@ function applyProviderOverridesToNgModule(def) {
|
|
|
12982
12948
|
* @param {?} def
|
|
12983
12949
|
* @return {?}
|
|
12984
12950
|
*/
|
|
12985
|
-
function
|
|
12986
|
-
|
|
12951
|
+
function calcHasOverrides(def) {
|
|
12952
|
+
var /** @type {?} */ hasOverrides = false;
|
|
12953
|
+
var /** @type {?} */ hasDeprecatedOverrides = false;
|
|
12954
|
+
if (providerOverrides.size === 0) {
|
|
12955
|
+
return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides };
|
|
12956
|
+
}
|
|
12957
|
+
def.providers.forEach(function (node) {
|
|
12958
|
+
var /** @type {?} */ override = providerOverrides.get(node.token);
|
|
12959
|
+
if ((node.flags & 3840 /* CatProviderNoDirective */) && override) {
|
|
12960
|
+
hasOverrides = true;
|
|
12961
|
+
hasDeprecatedOverrides = hasDeprecatedOverrides || override.deprecatedBehavior;
|
|
12962
|
+
}
|
|
12963
|
+
});
|
|
12964
|
+
return { hasOverrides: hasOverrides, hasDeprecatedOverrides: hasDeprecatedOverrides };
|
|
12987
12965
|
}
|
|
12988
12966
|
/**
|
|
12989
12967
|
* @param {?} def
|
|
@@ -12992,9 +12970,12 @@ function applyProviderOverridesToNgModule(def) {
|
|
|
12992
12970
|
function applyProviderOverrides(def) {
|
|
12993
12971
|
for (var /** @type {?} */ i = 0; i < def.providers.length; i++) {
|
|
12994
12972
|
var /** @type {?} */ provider = def.providers[i];
|
|
12995
|
-
|
|
12996
|
-
|
|
12997
|
-
|
|
12973
|
+
if (hasDeprecatedOverrides) {
|
|
12974
|
+
// We had a bug where me made
|
|
12975
|
+
// all providers lazy. Keep this logic behind a flag
|
|
12976
|
+
// for migrating existing users.
|
|
12977
|
+
provider.flags |= 4096 /* LazyProvider */;
|
|
12978
|
+
}
|
|
12998
12979
|
var /** @type {?} */ override = providerOverrides.get(provider.token);
|
|
12999
12980
|
if (override) {
|
|
13000
12981
|
provider.flags = (provider.flags & ~3840 /* CatProviderNoDirective */) | override.flags;
|
|
@@ -13006,7 +12987,7 @@ function applyProviderOverridesToNgModule(def) {
|
|
|
13006
12987
|
}
|
|
13007
12988
|
/**
|
|
13008
12989
|
* @param {?} view
|
|
13009
|
-
* @param {?}
|
|
12990
|
+
* @param {?} checkIndex
|
|
13010
12991
|
* @param {?} argStyle
|
|
13011
12992
|
* @param {?=} v0
|
|
13012
12993
|
* @param {?=} v1
|
|
@@ -13020,16 +13001,16 @@ function applyProviderOverridesToNgModule(def) {
|
|
|
13020
13001
|
* @param {?=} v9
|
|
13021
13002
|
* @return {?}
|
|
13022
13003
|
*/
|
|
13023
|
-
function prodCheckAndUpdateNode(view,
|
|
13024
|
-
var /** @type {?} */ nodeDef = view.def.nodes[
|
|
13004
|
+
function prodCheckAndUpdateNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
|
|
13005
|
+
var /** @type {?} */ nodeDef = view.def.nodes[checkIndex];
|
|
13025
13006
|
checkAndUpdateNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
|
|
13026
13007
|
return (nodeDef.flags & 224 /* CatPureExpression */) ?
|
|
13027
|
-
asPureExpressionData(view,
|
|
13008
|
+
asPureExpressionData(view, checkIndex).value :
|
|
13028
13009
|
undefined;
|
|
13029
13010
|
}
|
|
13030
13011
|
/**
|
|
13031
13012
|
* @param {?} view
|
|
13032
|
-
* @param {?}
|
|
13013
|
+
* @param {?} checkIndex
|
|
13033
13014
|
* @param {?} argStyle
|
|
13034
13015
|
* @param {?=} v0
|
|
13035
13016
|
* @param {?=} v1
|
|
@@ -13043,11 +13024,11 @@ function prodCheckAndUpdateNode(view, nodeIndex, argStyle, v0, v1, v2, v3, v4, v
|
|
|
13043
13024
|
* @param {?=} v9
|
|
13044
13025
|
* @return {?}
|
|
13045
13026
|
*/
|
|
13046
|
-
function prodCheckNoChangesNode(view,
|
|
13047
|
-
var /** @type {?} */ nodeDef = view.def.nodes[
|
|
13027
|
+
function prodCheckNoChangesNode(view, checkIndex, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9) {
|
|
13028
|
+
var /** @type {?} */ nodeDef = view.def.nodes[checkIndex];
|
|
13048
13029
|
checkNoChangesNode(view, nodeDef, argStyle, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9);
|
|
13049
13030
|
return (nodeDef.flags & 224 /* CatPureExpression */) ?
|
|
13050
|
-
asPureExpressionData(view,
|
|
13031
|
+
asPureExpressionData(view, checkIndex).value :
|
|
13051
13032
|
undefined;
|
|
13052
13033
|
}
|
|
13053
13034
|
/**
|
|
@@ -13139,7 +13120,7 @@ function debugUpdateDirectives(view, checkType) {
|
|
|
13139
13120
|
debugSetCurrentNode(view, nextDirectiveWithBinding(view, nodeIndex));
|
|
13140
13121
|
}
|
|
13141
13122
|
return (nodeDef.flags & 224 /* CatPureExpression */) ?
|
|
13142
|
-
asPureExpressionData(view, nodeDef.
|
|
13123
|
+
asPureExpressionData(view, nodeDef.nodeIndex).value :
|
|
13143
13124
|
undefined;
|
|
13144
13125
|
}
|
|
13145
13126
|
}
|
|
@@ -13177,7 +13158,7 @@ function debugUpdateRenderer(view, checkType) {
|
|
|
13177
13158
|
debugSetCurrentNode(view, nextRenderNodeWithBinding(view, nodeIndex));
|
|
13178
13159
|
}
|
|
13179
13160
|
return (nodeDef.flags & 224 /* CatPureExpression */) ?
|
|
13180
|
-
asPureExpressionData(view, nodeDef.
|
|
13161
|
+
asPureExpressionData(view, nodeDef.nodeIndex).value :
|
|
13181
13162
|
undefined;
|
|
13182
13163
|
}
|
|
13183
13164
|
}
|
|
@@ -13203,7 +13184,7 @@ function debugCheckAndUpdateNode(view, nodeDef, argStyle, givenValues) {
|
|
|
13203
13184
|
}
|
|
13204
13185
|
}
|
|
13205
13186
|
var /** @type {?} */ elDef = ((nodeDef.parent));
|
|
13206
|
-
var /** @type {?} */ el = asElementData(view, elDef.
|
|
13187
|
+
var /** @type {?} */ el = asElementData(view, elDef.nodeIndex).renderElement;
|
|
13207
13188
|
if (!((elDef.element)).name) {
|
|
13208
13189
|
// a comment.
|
|
13209
13190
|
view.renderer.setValue(el, "bindings=" + JSON.stringify(bindingValues, null, 2));
|
|
@@ -13329,7 +13310,7 @@ var DebugContext_ = (function () {
|
|
|
13329
13310
|
*/
|
|
13330
13311
|
get: function () {
|
|
13331
13312
|
// Has to be done lazily as we use the DebugContext also during creation of elements...
|
|
13332
|
-
return asElementData(this.elView, this.elDef.
|
|
13313
|
+
return asElementData(this.elView, this.elDef.nodeIndex).componentView || this.view;
|
|
13333
13314
|
},
|
|
13334
13315
|
enumerable: true,
|
|
13335
13316
|
configurable: true
|
|
@@ -13365,7 +13346,7 @@ var DebugContext_ = (function () {
|
|
|
13365
13346
|
get: function () {
|
|
13366
13347
|
var /** @type {?} */ tokens = [];
|
|
13367
13348
|
if (this.elDef) {
|
|
13368
|
-
for (var /** @type {?} */ i = this.elDef.
|
|
13349
|
+
for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) {
|
|
13369
13350
|
var /** @type {?} */ childDef = this.elView.def.nodes[i];
|
|
13370
13351
|
if (childDef.flags & 20224 /* CatProvider */) {
|
|
13371
13352
|
tokens.push(/** @type {?} */ ((childDef.provider)).token);
|
|
@@ -13386,7 +13367,7 @@ var DebugContext_ = (function () {
|
|
|
13386
13367
|
var /** @type {?} */ references = {};
|
|
13387
13368
|
if (this.elDef) {
|
|
13388
13369
|
collectReferences(this.elView, this.elDef, references);
|
|
13389
|
-
for (var /** @type {?} */ i = this.elDef.
|
|
13370
|
+
for (var /** @type {?} */ i = this.elDef.nodeIndex + 1; i <= this.elDef.nodeIndex + this.elDef.childCount; i++) {
|
|
13390
13371
|
var /** @type {?} */ childDef = this.elView.def.nodes[i];
|
|
13391
13372
|
if (childDef.flags & 20224 /* CatProvider */) {
|
|
13392
13373
|
collectReferences(this.elView, childDef, references);
|
|
@@ -13435,11 +13416,11 @@ var DebugContext_ = (function () {
|
|
|
13435
13416
|
var /** @type {?} */ logNodeIndex;
|
|
13436
13417
|
if (this.nodeDef.flags & 2 /* TypeText */) {
|
|
13437
13418
|
logViewDef = this.view.def;
|
|
13438
|
-
logNodeIndex = this.nodeDef.
|
|
13419
|
+
logNodeIndex = this.nodeDef.nodeIndex;
|
|
13439
13420
|
}
|
|
13440
13421
|
else {
|
|
13441
13422
|
logViewDef = this.elView.def;
|
|
13442
|
-
logNodeIndex = this.elDef.
|
|
13423
|
+
logNodeIndex = this.elDef.nodeIndex;
|
|
13443
13424
|
}
|
|
13444
13425
|
// Note: we only generate a log function for text and element nodes
|
|
13445
13426
|
// to make the generated code as small as possible.
|
|
@@ -13487,7 +13468,7 @@ function findHostElement(view) {
|
|
|
13487
13468
|
view = ((view.parent));
|
|
13488
13469
|
}
|
|
13489
13470
|
if (view.parent) {
|
|
13490
|
-
return asElementData(view.parent, /** @type {?} */ ((viewParentEl(view))).
|
|
13471
|
+
return asElementData(view.parent, /** @type {?} */ ((viewParentEl(view))).nodeIndex);
|
|
13491
13472
|
}
|
|
13492
13473
|
return null;
|
|
13493
13474
|
}
|
|
@@ -13922,6 +13903,11 @@ var NgModuleFactory_ = (function (_super) {
|
|
|
13922
13903
|
* the
|
|
13923
13904
|
* trigger is bound to (in the form of `[\@triggerName]="expression"`.
|
|
13924
13905
|
*
|
|
13906
|
+
* Animation trigger bindings strigify values and then match the previous and current values against
|
|
13907
|
+
* any linked transitions. If a boolean value is provided into the trigger binding then it will both
|
|
13908
|
+
* be represented as `1` or `true` and `0` or `false` for a true and false boolean values
|
|
13909
|
+
* respectively.
|
|
13910
|
+
*
|
|
13925
13911
|
* ### Usage
|
|
13926
13912
|
*
|
|
13927
13913
|
* `trigger` will create an animation trigger reference based on the provided `name` value. The
|
|
@@ -14407,6 +14393,21 @@ function keyframes$1(steps) {
|
|
|
14407
14393
|
* ])
|
|
14408
14394
|
* ```
|
|
14409
14395
|
*
|
|
14396
|
+
* ### Boolean values
|
|
14397
|
+
* if a trigger binding value is a boolean value then it can be matched using a transition
|
|
14398
|
+
* expression that compares `true` and `false` or `1` and `0`.
|
|
14399
|
+
*
|
|
14400
|
+
* ```
|
|
14401
|
+
* // in the template
|
|
14402
|
+
* <div [\@openClose]="open ? true : false">...</div>
|
|
14403
|
+
*
|
|
14404
|
+
* // in the component metadata
|
|
14405
|
+
* trigger('openClose', [
|
|
14406
|
+
* state('true', style({ height: '*' })),
|
|
14407
|
+
* state('false', style({ height: '0px' })),
|
|
14408
|
+
* transition('false <=> true', animate(500))
|
|
14409
|
+
* ])
|
|
14410
|
+
* ```
|
|
14410
14411
|
* {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
|
|
14411
14412
|
*
|
|
14412
14413
|
* \@experimental Animation support is experimental.
|
|
@@ -14431,7 +14432,7 @@ function transition$1(stateChangeExpr, steps, options) {
|
|
|
14431
14432
|
* var fadeAnimation = animation([
|
|
14432
14433
|
* style({ opacity: '{{ start }}' }),
|
|
14433
14434
|
* animate('{{ time }}',
|
|
14434
|
-
* style({ opacity: '{{ end }}'))
|
|
14435
|
+
* style({ opacity: '{{ end }}'}))
|
|
14435
14436
|
* ], { params: { time: '1000ms', start: 0, end: 1 }});
|
|
14436
14437
|
* ```
|
|
14437
14438
|
*
|