@angular/core 8.1.0-next.2 → 8.1.1
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/bundles/core-testing.umd.js +1 -1
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +1 -1
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +394 -279
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +101 -101
- package/bundles/core.umd.min.js.map +1 -1
- package/core.d.ts +221 -234
- package/core.metadata.json +1 -1
- package/esm2015/index.js +2 -2
- package/esm2015/public_api.js +2 -2
- package/esm2015/src/change_detection/pipe_transform.js +4 -6
- package/esm2015/src/core.js +2 -2
- package/esm2015/src/core_render3_private_export.js +2 -2
- package/esm2015/src/di/index.js +1 -1
- package/esm2015/src/di/injectable.js +1 -1
- package/esm2015/src/di/interface/provider.js +1 -1
- package/esm2015/src/di/metadata.js +1 -1
- package/esm2015/src/event_emitter.js +3 -10
- package/esm2015/src/linker/component_factory.js +9 -3
- package/esm2015/src/linker/component_factory_resolver.js +9 -2
- package/esm2015/src/metadata/di.js +1 -1
- package/esm2015/src/metadata/directives.js +4 -3
- package/esm2015/src/reflection/reflection_capabilities.js +2 -2
- package/esm2015/src/render3/component.js +6 -2
- package/esm2015/src/render3/component_ref.js +18 -13
- package/esm2015/src/render3/di.js +4 -6
- package/esm2015/src/render3/features/providers_feature.js +6 -3
- package/esm2015/src/render3/i18n.js +20 -13
- package/esm2015/src/render3/index.js +2 -2
- package/esm2015/src/render3/instructions/all.js +2 -2
- package/esm2015/src/render3/instructions/attribute.js +5 -4
- package/esm2015/src/render3/instructions/embedded_view.js +5 -2
- package/esm2015/src/render3/instructions/property.js +9 -8
- package/esm2015/src/render3/instructions/shared.js +36 -5
- package/esm2015/src/render3/instructions/text.js +15 -20
- package/esm2015/src/render3/instructions/text_interpolation.js +67 -12
- package/esm2015/src/render3/interfaces/container.js +6 -2
- package/esm2015/src/render3/interfaces/i18n.js +1 -17
- package/esm2015/src/render3/interfaces/node.js +2 -2
- package/esm2015/src/render3/interfaces/view.js +2 -2
- package/esm2015/src/render3/jit/environment.js +1 -2
- package/esm2015/src/render3/node_manipulation.js +235 -197
- package/esm2015/src/render3/query.js +12 -8
- package/esm2015/src/render3/state.js +6 -3
- package/esm2015/src/render3/util/misc_utils.js +1 -1
- package/esm2015/src/render3/util/view_traversal_utils.js +7 -2
- package/esm2015/src/render3/view_engine_compatibility.js +39 -12
- package/esm2015/src/util/assert.js +3 -2
- package/esm2015/src/util/decorators.js +1 -1
- package/esm2015/src/version.js +1 -1
- package/esm2015/testing/src/test_bed_common.js +5 -2
- package/esm5/src/change_detection/pipe_transform.js +1 -1
- package/esm5/src/core_render3_private_export.js +2 -2
- package/esm5/src/di/index.js +1 -1
- package/esm5/src/di/injectable.js +1 -1
- package/esm5/src/di/interface/provider.js +1 -1
- package/esm5/src/di/metadata.js +1 -1
- package/esm5/src/event_emitter.js +3 -10
- package/esm5/src/linker/component_factory.js +7 -1
- package/esm5/src/linker/component_factory_resolver.js +7 -1
- package/esm5/src/metadata/di.js +1 -1
- package/esm5/src/metadata/directives.js +4 -3
- package/esm5/src/reflection/reflection_capabilities.js +2 -2
- package/esm5/src/render3/component.js +5 -2
- package/esm5/src/render3/component_ref.js +13 -9
- package/esm5/src/render3/di.js +4 -5
- package/esm5/src/render3/features/providers_feature.js +6 -3
- package/esm5/src/render3/i18n.js +15 -10
- package/esm5/src/render3/index.js +2 -2
- package/esm5/src/render3/instructions/attribute.js +5 -4
- package/esm5/src/render3/instructions/embedded_view.js +5 -2
- package/esm5/src/render3/instructions/property.js +7 -7
- package/esm5/src/render3/instructions/shared.js +27 -5
- package/esm5/src/render3/instructions/text.js +12 -17
- package/esm5/src/render3/instructions/text_interpolation.js +49 -12
- package/esm5/src/render3/interfaces/container.js +3 -2
- package/esm5/src/render3/interfaces/i18n.js +1 -1
- package/esm5/src/render3/interfaces/node.js +1 -1
- package/esm5/src/render3/interfaces/view.js +1 -1
- package/esm5/src/render3/jit/environment.js +1 -2
- package/esm5/src/render3/node_manipulation.js +200 -192
- package/esm5/src/render3/query.js +10 -8
- package/esm5/src/render3/state.js +6 -3
- package/esm5/src/render3/util/misc_utils.js +1 -1
- package/esm5/src/render3/util/view_traversal_utils.js +7 -2
- package/esm5/src/render3/view_engine_compatibility.js +32 -12
- package/esm5/src/util/assert.js +3 -2
- package/esm5/src/util/decorators.js +1 -1
- package/esm5/src/version.js +1 -1
- package/esm5/testing/src/test_bed_common.js +1 -1
- package/fesm2015/core.js +483 -296
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +1 -1
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/core.js +395 -279
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +1 -1
- package/fesm5/testing.js.map +1 -1
- package/package.json +1 -1
- package/src/r3_symbols.d.ts +73 -90
- package/testing/testing.d.ts +5 -2
- package/testing.d.ts +1 -1
package/fesm5/core.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v8.1.
|
|
2
|
+
* @license Angular v8.1.1
|
|
3
3
|
* (c) 2010-2019 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -862,7 +862,7 @@ var ReflectionCapabilities = /** @class */ (function () {
|
|
|
862
862
|
if (typeof paramTypes === 'undefined') {
|
|
863
863
|
result[i] = [];
|
|
864
864
|
}
|
|
865
|
-
else if (paramTypes[i] != Object) {
|
|
865
|
+
else if (paramTypes[i] && paramTypes[i] != Object) {
|
|
866
866
|
result[i] = [paramTypes[i]];
|
|
867
867
|
}
|
|
868
868
|
else {
|
|
@@ -3940,7 +3940,7 @@ function throwError(msg) {
|
|
|
3940
3940
|
function assertDomNode(node) {
|
|
3941
3941
|
// If we're in a worker, `Node` will not be defined.
|
|
3942
3942
|
assertEqual((typeof Node !== 'undefined' && node instanceof Node) ||
|
|
3943
|
-
(typeof node === 'object' && node.constructor.name === 'WebWorkerRenderNode'), true,
|
|
3943
|
+
(typeof node === 'object' && node.constructor.name === 'WebWorkerRenderNode'), true, "The provided value must be an instance of a DOM Node but got " + stringify(node));
|
|
3944
3944
|
}
|
|
3945
3945
|
function assertDataInRange(arr, index) {
|
|
3946
3946
|
var maxLen = arr ? arr.length : 0;
|
|
@@ -3969,13 +3969,14 @@ var ACTIVE_INDEX = 2;
|
|
|
3969
3969
|
// PARENT, NEXT, QUERIES and T_HOST are indices 3, 4, 5 and 6.
|
|
3970
3970
|
// As we already have these constants in LView, we don't need to re-create them.
|
|
3971
3971
|
var NATIVE = 7;
|
|
3972
|
+
var VIEW_REFS = 8;
|
|
3972
3973
|
/**
|
|
3973
3974
|
* Size of LContainer's header. Represents the index after which all views in the
|
|
3974
3975
|
* container will be inserted. We need to keep a record of current views so we know
|
|
3975
3976
|
* which views are already in the DOM (and don't need to be re-added) and so we can
|
|
3976
3977
|
* remove views from the DOM when they are no longer required.
|
|
3977
3978
|
*/
|
|
3978
|
-
var CONTAINER_HEADER_OFFSET =
|
|
3979
|
+
var CONTAINER_HEADER_OFFSET = 9;
|
|
3979
3980
|
|
|
3980
3981
|
/**
|
|
3981
3982
|
* @license
|
|
@@ -4828,8 +4829,11 @@ function resetComponentState() {
|
|
|
4828
4829
|
* the direction of traversal (up or down the view tree) a bit clearer.
|
|
4829
4830
|
*
|
|
4830
4831
|
* @param newView New state to become active
|
|
4832
|
+
* @param safeToRunHooks Whether the runtime is in a state where running lifecycle hooks is valid.
|
|
4833
|
+
* This is not always the case (for example, the application may have crashed and `leaveView` is
|
|
4834
|
+
* being executed while unwinding the call stack).
|
|
4831
4835
|
*/
|
|
4832
|
-
function leaveView(newView) {
|
|
4836
|
+
function leaveView(newView, safeToRunHooks) {
|
|
4833
4837
|
var tView = lView[TVIEW];
|
|
4834
4838
|
if (isCreationMode(lView)) {
|
|
4835
4839
|
lView[FLAGS] &= ~4 /* CreationMode */;
|
|
@@ -4837,7 +4841,7 @@ function leaveView(newView) {
|
|
|
4837
4841
|
else {
|
|
4838
4842
|
try {
|
|
4839
4843
|
resetPreOrderHookFlags(lView);
|
|
4840
|
-
executeHooks(lView, tView.viewHooks, tView.viewCheckHooks, checkNoChangesMode, 2 /* AfterViewInitHooksToBeRun */, undefined);
|
|
4844
|
+
safeToRunHooks && executeHooks(lView, tView.viewHooks, tView.viewCheckHooks, checkNoChangesMode, 2 /* AfterViewInitHooksToBeRun */, undefined);
|
|
4841
4845
|
}
|
|
4842
4846
|
finally {
|
|
4843
4847
|
// Views are clean and in update mode after being checked, so these bits are cleared
|
|
@@ -6724,7 +6728,12 @@ function getRootView(componentOrLView) {
|
|
|
6724
6728
|
return lView;
|
|
6725
6729
|
}
|
|
6726
6730
|
/**
|
|
6727
|
-
* Given
|
|
6731
|
+
* Given an `LView`, find the closest declaration view which is not an embedded view.
|
|
6732
|
+
*
|
|
6733
|
+
* This method searches for the `LView` associated with the component which declared the `LView`.
|
|
6734
|
+
*
|
|
6735
|
+
* This function may return itself if the `LView` passed in is not an embedded `LView`. Otherwise
|
|
6736
|
+
* it walks the declaration parents until it finds a component view (non-embedded-view.)
|
|
6728
6737
|
*
|
|
6729
6738
|
* @param lView LView for which we want a host element node
|
|
6730
6739
|
* @returns The host node
|
|
@@ -7175,7 +7184,7 @@ function searchTokensOnInjector(injectorIndex, lView, token, previousTView, flag
|
|
|
7175
7184
|
// This special case happens when there is a @host on the inject and when we are searching
|
|
7176
7185
|
// on the host element node.
|
|
7177
7186
|
var isHostSpecialCase = (flags & InjectFlags.Host) && hostTElementNode === tNode;
|
|
7178
|
-
var injectableIdx = locateDirectiveOrProvider(tNode,
|
|
7187
|
+
var injectableIdx = locateDirectiveOrProvider(tNode, currentTView, token, canAccessViewProviders, isHostSpecialCase);
|
|
7179
7188
|
if (injectableIdx !== null) {
|
|
7180
7189
|
return getNodeInjectable(currentTView.data, lView, injectableIdx, tNode);
|
|
7181
7190
|
}
|
|
@@ -7187,14 +7196,13 @@ function searchTokensOnInjector(injectorIndex, lView, token, previousTView, flag
|
|
|
7187
7196
|
* Searches for the given token among the node's directives and providers.
|
|
7188
7197
|
*
|
|
7189
7198
|
* @param tNode TNode on which directives are present.
|
|
7190
|
-
* @param
|
|
7199
|
+
* @param tView The tView we are currently processing
|
|
7191
7200
|
* @param token Provider token or type of a directive to look for.
|
|
7192
7201
|
* @param canAccessViewProviders Whether view providers should be considered.
|
|
7193
7202
|
* @param isHostSpecialCase Whether the host special case applies.
|
|
7194
7203
|
* @returns Index of a found directive or provider, or null when none found.
|
|
7195
7204
|
*/
|
|
7196
|
-
function locateDirectiveOrProvider(tNode,
|
|
7197
|
-
var tView = lView[TVIEW];
|
|
7205
|
+
function locateDirectiveOrProvider(tNode, tView, token, canAccessViewProviders, isHostSpecialCase) {
|
|
7198
7206
|
var nodeProviderIndexes = tNode.providerIndexes;
|
|
7199
7207
|
var tInjectables = tView.data;
|
|
7200
7208
|
var injectablesStart = nodeProviderIndexes & 65535 /* ProvidersStartIndexMask */;
|
|
@@ -11407,6 +11415,8 @@ function renderEmbeddedTemplate(viewToRender, tView, context) {
|
|
|
11407
11415
|
tickRootContext(getRootContext(viewToRender));
|
|
11408
11416
|
}
|
|
11409
11417
|
else {
|
|
11418
|
+
// Will become true if the `try` block executes with no errors.
|
|
11419
|
+
var safeToRunHooks = false;
|
|
11410
11420
|
try {
|
|
11411
11421
|
setPreviousOrParentTNode(null, true);
|
|
11412
11422
|
oldView = enterView(viewToRender, viewToRender[T_HOST]);
|
|
@@ -11418,9 +11428,10 @@ function renderEmbeddedTemplate(viewToRender, tView, context) {
|
|
|
11418
11428
|
// matching, etc again and again.
|
|
11419
11429
|
viewToRender[TVIEW].firstTemplatePass = false;
|
|
11420
11430
|
refreshDescendantViews(viewToRender);
|
|
11431
|
+
safeToRunHooks = true;
|
|
11421
11432
|
}
|
|
11422
11433
|
finally {
|
|
11423
|
-
leaveView(oldView);
|
|
11434
|
+
leaveView(oldView, safeToRunHooks);
|
|
11424
11435
|
setPreviousOrParentTNode(_previousOrParentTNode, _isParent);
|
|
11425
11436
|
}
|
|
11426
11437
|
}
|
|
@@ -11430,6 +11441,8 @@ function renderComponentOrTemplate(hostView, context, templateFn) {
|
|
|
11430
11441
|
var oldView = enterView(hostView, hostView[T_HOST]);
|
|
11431
11442
|
var normalExecutionPath = !getCheckNoChangesMode();
|
|
11432
11443
|
var creationModeIsActive = isCreationMode(hostView);
|
|
11444
|
+
// Will become true if the `try` block executes with no errors.
|
|
11445
|
+
var safeToRunHooks = false;
|
|
11433
11446
|
try {
|
|
11434
11447
|
if (normalExecutionPath && !creationModeIsActive && rendererFactory.begin) {
|
|
11435
11448
|
rendererFactory.begin();
|
|
@@ -11444,12 +11457,13 @@ function renderComponentOrTemplate(hostView, context, templateFn) {
|
|
|
11444
11457
|
resetPreOrderHookFlags(hostView);
|
|
11445
11458
|
templateFn && executeTemplate(hostView, templateFn, 2 /* Update */, context);
|
|
11446
11459
|
refreshDescendantViews(hostView);
|
|
11460
|
+
safeToRunHooks = true;
|
|
11447
11461
|
}
|
|
11448
11462
|
finally {
|
|
11449
11463
|
if (normalExecutionPath && !creationModeIsActive && rendererFactory.end) {
|
|
11450
11464
|
rendererFactory.end();
|
|
11451
11465
|
}
|
|
11452
|
-
leaveView(oldView);
|
|
11466
|
+
leaveView(oldView, safeToRunHooks);
|
|
11453
11467
|
}
|
|
11454
11468
|
}
|
|
11455
11469
|
function executeTemplate(lView, templateFn, rf, context) {
|
|
@@ -12324,7 +12338,8 @@ function createLContainer(hostNative, currentView, native, tNode, isForViewConta
|
|
|
12324
12338
|
null, // next
|
|
12325
12339
|
null, // queries
|
|
12326
12340
|
tNode, // t_host
|
|
12327
|
-
native
|
|
12341
|
+
native, // native,
|
|
12342
|
+
null);
|
|
12328
12343
|
ngDevMode && attachLContainerDebug(lContainer);
|
|
12329
12344
|
return lContainer;
|
|
12330
12345
|
}
|
|
@@ -12556,6 +12571,8 @@ function checkView(hostView, component) {
|
|
|
12556
12571
|
var oldView = enterView(hostView, hostView[T_HOST]);
|
|
12557
12572
|
var templateFn = hostTView.template;
|
|
12558
12573
|
var creationMode = isCreationMode(hostView);
|
|
12574
|
+
// Will become true if the `try` block executes with no errors.
|
|
12575
|
+
var safeToRunHooks = false;
|
|
12559
12576
|
try {
|
|
12560
12577
|
resetPreOrderHookFlags(hostView);
|
|
12561
12578
|
creationMode && executeViewQueryFn(1 /* Create */, hostTView, component);
|
|
@@ -12565,9 +12582,10 @@ function checkView(hostView, component) {
|
|
|
12565
12582
|
if (!creationMode || hostTView.staticViewQueries) {
|
|
12566
12583
|
executeViewQueryFn(2 /* Update */, hostTView, component);
|
|
12567
12584
|
}
|
|
12585
|
+
safeToRunHooks = true;
|
|
12568
12586
|
}
|
|
12569
12587
|
finally {
|
|
12570
|
-
leaveView(oldView);
|
|
12588
|
+
leaveView(oldView, safeToRunHooks);
|
|
12571
12589
|
}
|
|
12572
12590
|
}
|
|
12573
12591
|
function executeViewQueryFn(flags, tView, component) {
|
|
@@ -12661,6 +12679,18 @@ function setInputsForProperty(lView, inputs, value) {
|
|
|
12661
12679
|
}
|
|
12662
12680
|
}
|
|
12663
12681
|
}
|
|
12682
|
+
/**
|
|
12683
|
+
* Updates a text binding at a given index in a given LView.
|
|
12684
|
+
*/
|
|
12685
|
+
function textBindingInternal(lView, index, value) {
|
|
12686
|
+
ngDevMode && assertNotSame(value, NO_CHANGE, 'value should not be NO_CHANGE');
|
|
12687
|
+
ngDevMode && assertDataInRange(lView, index + HEADER_OFFSET);
|
|
12688
|
+
var element = getNativeByIndex(index, lView);
|
|
12689
|
+
ngDevMode && assertDefined(element, 'native element should exist');
|
|
12690
|
+
ngDevMode && ngDevMode.rendererSetText++;
|
|
12691
|
+
var renderer = lView[RENDERER];
|
|
12692
|
+
isProceduralRenderer(renderer) ? renderer.setValue(element, value) : element.textContent = value;
|
|
12693
|
+
}
|
|
12664
12694
|
|
|
12665
12695
|
/**
|
|
12666
12696
|
* @license
|
|
@@ -13005,7 +13035,8 @@ function bindingUpdated4(lView, bindingIndex, exp1, exp2, exp3, exp4) {
|
|
|
13005
13035
|
function ɵɵproperty(propName, value, sanitizer, nativeOnly) {
|
|
13006
13036
|
var index = getSelectedIndex();
|
|
13007
13037
|
ngDevMode && assertNotEqual(index, -1, 'selected index cannot be -1');
|
|
13008
|
-
var
|
|
13038
|
+
var lView = getLView();
|
|
13039
|
+
var bindReconciledValue = bind(lView, value);
|
|
13009
13040
|
if (bindReconciledValue !== NO_CHANGE) {
|
|
13010
13041
|
elementPropertyInternal(index, propName, bindReconciledValue, sanitizer, nativeOnly);
|
|
13011
13042
|
}
|
|
@@ -13014,12 +13045,10 @@ function ɵɵproperty(propName, value, sanitizer, nativeOnly) {
|
|
|
13014
13045
|
/**
|
|
13015
13046
|
* Creates a single value binding.
|
|
13016
13047
|
*
|
|
13048
|
+
* @param lView Current view
|
|
13017
13049
|
* @param value Value to diff
|
|
13018
|
-
*
|
|
13019
|
-
* @codeGenApi
|
|
13020
13050
|
*/
|
|
13021
|
-
function
|
|
13022
|
-
var lView = getLView();
|
|
13051
|
+
function bind(lView, value) {
|
|
13023
13052
|
var bindingIndex = lView[BINDING_INDEX]++;
|
|
13024
13053
|
storeBindingMetadata(lView);
|
|
13025
13054
|
return bindingUpdated(lView, bindingIndex, value) ? value : NO_CHANGE;
|
|
@@ -13049,8 +13078,9 @@ function ɵɵbind(value) {
|
|
|
13049
13078
|
*/
|
|
13050
13079
|
function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer, nativeOnly) {
|
|
13051
13080
|
var index = getSelectedIndex();
|
|
13081
|
+
var lView = getLView();
|
|
13052
13082
|
// TODO(benlesh): remove bind call here.
|
|
13053
|
-
var bound =
|
|
13083
|
+
var bound = bind(lView, value);
|
|
13054
13084
|
if (bound !== NO_CHANGE) {
|
|
13055
13085
|
elementPropertyInternal(index, propName, bound, sanitizer, nativeOnly, loadComponentRenderer);
|
|
13056
13086
|
}
|
|
@@ -13073,10 +13103,11 @@ function ɵɵattribute(name, value, sanitizer, namespace) {
|
|
|
13073
13103
|
var index = getSelectedIndex();
|
|
13074
13104
|
var lView = getLView();
|
|
13075
13105
|
// TODO(FW-1340): Refactor to remove the use of other instructions here.
|
|
13076
|
-
var bound =
|
|
13106
|
+
var bound = bind(lView, value);
|
|
13077
13107
|
if (bound !== NO_CHANGE) {
|
|
13078
|
-
|
|
13108
|
+
elementAttributeInternal(index, name, bound, lView, sanitizer, namespace);
|
|
13079
13109
|
}
|
|
13110
|
+
return ɵɵattribute;
|
|
13080
13111
|
}
|
|
13081
13112
|
|
|
13082
13113
|
/**
|
|
@@ -13762,193 +13793,52 @@ function getContainerRenderParent(tViewNode, view) {
|
|
|
13762
13793
|
var container = getLContainer(tViewNode, view);
|
|
13763
13794
|
return container ? nativeParentNode(view[RENDERER], container[NATIVE]) : null;
|
|
13764
13795
|
}
|
|
13765
|
-
/**
|
|
13766
|
-
* Stack used to keep track of projection nodes in walkTNodeTree.
|
|
13767
|
-
*
|
|
13768
|
-
* This is deliberately created outside of walkTNodeTree to avoid allocating
|
|
13769
|
-
* a new array each time the function is called. Instead the array will be
|
|
13770
|
-
* re-used by each invocation. This works because the function is not reentrant.
|
|
13771
|
-
*/
|
|
13772
|
-
var projectionNodeStack = [];
|
|
13773
|
-
/**
|
|
13774
|
-
* Walks a tree of TNodes, applying a transformation on the element nodes, either only on the first
|
|
13775
|
-
* one found, or on all of them.
|
|
13776
|
-
*
|
|
13777
|
-
* @param viewToWalk the view to walk
|
|
13778
|
-
* @param action identifies the action to be performed on the elements
|
|
13779
|
-
* @param renderer the current renderer.
|
|
13780
|
-
* @param renderParent Optional the render parent node to be set in all LContainers found,
|
|
13781
|
-
* required for action modes Insert and Destroy.
|
|
13782
|
-
* @param beforeNode Optional the node before which elements should be added, required for action
|
|
13783
|
-
* Insert.
|
|
13784
|
-
*/
|
|
13785
|
-
function walkTNodeTree(viewToWalk, action, renderer, renderParent, beforeNode) {
|
|
13786
|
-
var e_1, _a;
|
|
13787
|
-
var rootTNode = viewToWalk[TVIEW].node;
|
|
13788
|
-
var projectionNodeIndex = -1;
|
|
13789
|
-
var currentView = viewToWalk;
|
|
13790
|
-
var tNode = rootTNode.child;
|
|
13791
|
-
while (tNode) {
|
|
13792
|
-
var nextTNode = null;
|
|
13793
|
-
if (tNode.type === 3 /* Element */ || tNode.type === 4 /* ElementContainer */) {
|
|
13794
|
-
executeNodeAction(action, renderer, renderParent, getNativeByTNode(tNode, currentView), tNode, beforeNode);
|
|
13795
|
-
var nodeOrContainer = currentView[tNode.index];
|
|
13796
|
-
if (isLContainer(nodeOrContainer)) {
|
|
13797
|
-
// This element has an LContainer, and its comment needs to be handled
|
|
13798
|
-
executeNodeAction(action, renderer, renderParent, nodeOrContainer[NATIVE], tNode, beforeNode);
|
|
13799
|
-
var firstView = nodeOrContainer[CONTAINER_HEADER_OFFSET];
|
|
13800
|
-
if (firstView) {
|
|
13801
|
-
currentView = firstView;
|
|
13802
|
-
nextTNode = currentView[TVIEW].node;
|
|
13803
|
-
// When the walker enters a container, then the beforeNode has to become the local native
|
|
13804
|
-
// comment node.
|
|
13805
|
-
beforeNode = nodeOrContainer[NATIVE];
|
|
13806
|
-
}
|
|
13807
|
-
}
|
|
13808
|
-
}
|
|
13809
|
-
else if (tNode.type === 0 /* Container */) {
|
|
13810
|
-
var lContainer = currentView[tNode.index];
|
|
13811
|
-
executeNodeAction(action, renderer, renderParent, lContainer[NATIVE], tNode, beforeNode);
|
|
13812
|
-
var firstView = lContainer[CONTAINER_HEADER_OFFSET];
|
|
13813
|
-
if (firstView) {
|
|
13814
|
-
currentView = firstView;
|
|
13815
|
-
nextTNode = currentView[TVIEW].node;
|
|
13816
|
-
// When the walker enters a container, then the beforeNode has to become the local native
|
|
13817
|
-
// comment node.
|
|
13818
|
-
beforeNode = lContainer[NATIVE];
|
|
13819
|
-
}
|
|
13820
|
-
}
|
|
13821
|
-
else if (tNode.type === 1 /* Projection */) {
|
|
13822
|
-
var componentView = findComponentView(currentView);
|
|
13823
|
-
var componentHost = componentView[T_HOST];
|
|
13824
|
-
var head = componentHost.projection[tNode.projection];
|
|
13825
|
-
if (Array.isArray(head)) {
|
|
13826
|
-
try {
|
|
13827
|
-
for (var head_1 = __values(head), head_1_1 = head_1.next(); !head_1_1.done; head_1_1 = head_1.next()) {
|
|
13828
|
-
var nativeNode = head_1_1.value;
|
|
13829
|
-
executeNodeAction(action, renderer, renderParent, nativeNode, tNode, beforeNode);
|
|
13830
|
-
}
|
|
13831
|
-
}
|
|
13832
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
13833
|
-
finally {
|
|
13834
|
-
try {
|
|
13835
|
-
if (head_1_1 && !head_1_1.done && (_a = head_1.return)) _a.call(head_1);
|
|
13836
|
-
}
|
|
13837
|
-
finally { if (e_1) throw e_1.error; }
|
|
13838
|
-
}
|
|
13839
|
-
}
|
|
13840
|
-
else {
|
|
13841
|
-
// Must store both the TNode and the view because this projection node could be nested
|
|
13842
|
-
// deeply inside embedded views, and we need to get back down to this particular nested
|
|
13843
|
-
// view.
|
|
13844
|
-
projectionNodeStack[++projectionNodeIndex] = tNode;
|
|
13845
|
-
projectionNodeStack[++projectionNodeIndex] = currentView;
|
|
13846
|
-
if (head) {
|
|
13847
|
-
currentView = componentView[PARENT];
|
|
13848
|
-
nextTNode = currentView[TVIEW].data[head.index];
|
|
13849
|
-
}
|
|
13850
|
-
}
|
|
13851
|
-
}
|
|
13852
|
-
else {
|
|
13853
|
-
// Otherwise, this is a View
|
|
13854
|
-
nextTNode = tNode.child;
|
|
13855
|
-
}
|
|
13856
|
-
if (nextTNode === null) {
|
|
13857
|
-
// this last node was projected, we need to get back down to its projection node
|
|
13858
|
-
if (tNode.projectionNext === null && (tNode.flags & 2 /* isProjected */)) {
|
|
13859
|
-
currentView = projectionNodeStack[projectionNodeIndex--];
|
|
13860
|
-
tNode = projectionNodeStack[projectionNodeIndex--];
|
|
13861
|
-
}
|
|
13862
|
-
if (tNode.flags & 2 /* isProjected */) {
|
|
13863
|
-
nextTNode = tNode.projectionNext;
|
|
13864
|
-
}
|
|
13865
|
-
else if (tNode.type === 4 /* ElementContainer */) {
|
|
13866
|
-
nextTNode = tNode.child || tNode.next;
|
|
13867
|
-
}
|
|
13868
|
-
else {
|
|
13869
|
-
nextTNode = tNode.next;
|
|
13870
|
-
}
|
|
13871
|
-
/**
|
|
13872
|
-
* Find the next node in the TNode tree, taking into account the place where a node is
|
|
13873
|
-
* projected (in the shadow DOM) rather than where it comes from (in the light DOM).
|
|
13874
|
-
*
|
|
13875
|
-
* If there is no sibling node, then it goes to the next sibling of the parent node...
|
|
13876
|
-
* until it reaches rootNode (at which point null is returned).
|
|
13877
|
-
*/
|
|
13878
|
-
while (!nextTNode) {
|
|
13879
|
-
// If parent is null, we're crossing the view boundary, so we should get the host TNode.
|
|
13880
|
-
tNode = tNode.parent || currentView[T_HOST];
|
|
13881
|
-
if (tNode === null || tNode === rootTNode)
|
|
13882
|
-
return;
|
|
13883
|
-
// When exiting a container, the beforeNode must be restored to the previous value
|
|
13884
|
-
if (tNode.type === 0 /* Container */) {
|
|
13885
|
-
currentView = getLViewParent(currentView);
|
|
13886
|
-
beforeNode = currentView[tNode.index][NATIVE];
|
|
13887
|
-
}
|
|
13888
|
-
if (tNode.type === 2 /* View */) {
|
|
13889
|
-
/**
|
|
13890
|
-
* If current lView doesn't have next pointer, we try to find it by going up parents
|
|
13891
|
-
* chain until:
|
|
13892
|
-
* - we find an lView with a next pointer
|
|
13893
|
-
* - or find a tNode with a parent that has a next pointer
|
|
13894
|
-
* - or find a lContainer
|
|
13895
|
-
* - or reach root TNode (in which case we exit, since we traversed all nodes)
|
|
13896
|
-
*/
|
|
13897
|
-
while (!currentView[NEXT] && currentView[PARENT] &&
|
|
13898
|
-
!(tNode.parent && tNode.parent.next)) {
|
|
13899
|
-
if (tNode === rootTNode)
|
|
13900
|
-
return;
|
|
13901
|
-
currentView = currentView[PARENT];
|
|
13902
|
-
if (isLContainer(currentView)) {
|
|
13903
|
-
tNode = currentView[T_HOST];
|
|
13904
|
-
currentView = currentView[PARENT];
|
|
13905
|
-
beforeNode = currentView[tNode.index][NATIVE];
|
|
13906
|
-
break;
|
|
13907
|
-
}
|
|
13908
|
-
tNode = currentView[T_HOST];
|
|
13909
|
-
}
|
|
13910
|
-
if (currentView[NEXT]) {
|
|
13911
|
-
currentView = currentView[NEXT];
|
|
13912
|
-
nextTNode = currentView[T_HOST];
|
|
13913
|
-
}
|
|
13914
|
-
else {
|
|
13915
|
-
nextTNode = tNode.type === 4 /* ElementContainer */ && tNode.child || tNode.next;
|
|
13916
|
-
}
|
|
13917
|
-
}
|
|
13918
|
-
else {
|
|
13919
|
-
nextTNode = tNode.next;
|
|
13920
|
-
}
|
|
13921
|
-
}
|
|
13922
|
-
}
|
|
13923
|
-
tNode = nextTNode;
|
|
13924
|
-
}
|
|
13925
|
-
}
|
|
13926
13796
|
/**
|
|
13927
13797
|
* NOTE: for performance reasons, the possible actions are inlined within the function instead of
|
|
13928
13798
|
* being passed as an argument.
|
|
13929
13799
|
*/
|
|
13930
|
-
function
|
|
13800
|
+
function executeActionOnElementOrContainer(action, renderer, parent, lNodeToHandle, beforeNode) {
|
|
13801
|
+
ngDevMode && assertDefined(lNodeToHandle, '\'lNodeToHandle\' is undefined');
|
|
13802
|
+
var lContainer;
|
|
13803
|
+
var isComponent = false;
|
|
13804
|
+
// We are expecting an RNode, but in the case of a component or LContainer the `RNode` is wrapped
|
|
13805
|
+
// in an array which needs to be unwrapped. We need to know if it is a component and if
|
|
13806
|
+
// it has LContainer so that we can process all of those cases appropriately.
|
|
13807
|
+
if (isLContainer(lNodeToHandle)) {
|
|
13808
|
+
lContainer = lNodeToHandle;
|
|
13809
|
+
}
|
|
13810
|
+
else if (isLView(lNodeToHandle)) {
|
|
13811
|
+
isComponent = true;
|
|
13812
|
+
ngDevMode && assertDefined(lNodeToHandle[HOST], 'HOST must be defined for a component LView');
|
|
13813
|
+
lNodeToHandle = lNodeToHandle[HOST];
|
|
13814
|
+
}
|
|
13815
|
+
var rNode = unwrapRNode(lNodeToHandle);
|
|
13816
|
+
ngDevMode && assertDomNode(rNode);
|
|
13931
13817
|
if (action === 0 /* Insert */) {
|
|
13932
|
-
nativeInsertBefore(renderer, parent,
|
|
13818
|
+
nativeInsertBefore(renderer, parent, rNode, beforeNode || null);
|
|
13933
13819
|
}
|
|
13934
13820
|
else if (action === 1 /* Detach */) {
|
|
13935
|
-
nativeRemoveNode(renderer,
|
|
13821
|
+
nativeRemoveNode(renderer, rNode, isComponent);
|
|
13936
13822
|
}
|
|
13937
13823
|
else if (action === 2 /* Destroy */) {
|
|
13938
13824
|
ngDevMode && ngDevMode.rendererDestroyNode++;
|
|
13939
|
-
renderer.destroyNode(
|
|
13825
|
+
renderer.destroyNode(rNode);
|
|
13826
|
+
}
|
|
13827
|
+
if (lContainer != null) {
|
|
13828
|
+
executeActionOnContainer(renderer, action, lContainer, parent, beforeNode);
|
|
13940
13829
|
}
|
|
13941
13830
|
}
|
|
13942
13831
|
function createTextNode(value, renderer) {
|
|
13943
13832
|
return isProceduralRenderer(renderer) ? renderer.createText(renderStringify(value)) :
|
|
13944
13833
|
renderer.createTextNode(renderStringify(value));
|
|
13945
13834
|
}
|
|
13946
|
-
function addRemoveViewFromContainer(
|
|
13947
|
-
var renderParent = getContainerRenderParent(
|
|
13948
|
-
ngDevMode && assertNodeType(
|
|
13835
|
+
function addRemoveViewFromContainer(lView, insertMode, beforeNode) {
|
|
13836
|
+
var renderParent = getContainerRenderParent(lView[TVIEW].node, lView);
|
|
13837
|
+
ngDevMode && assertNodeType(lView[TVIEW].node, 2 /* View */);
|
|
13949
13838
|
if (renderParent) {
|
|
13950
|
-
var renderer =
|
|
13951
|
-
|
|
13839
|
+
var renderer = lView[RENDERER];
|
|
13840
|
+
var action = insertMode ? 0 /* Insert */ : 1 /* Detach */;
|
|
13841
|
+
executeActionOnView(renderer, action, lView, renderParent, beforeNode);
|
|
13952
13842
|
}
|
|
13953
13843
|
}
|
|
13954
13844
|
/**
|
|
@@ -13957,7 +13847,7 @@ function addRemoveViewFromContainer(viewToWalk, insertMode, beforeNode) {
|
|
|
13957
13847
|
* @param lView the `LView` to be detached.
|
|
13958
13848
|
*/
|
|
13959
13849
|
function renderDetachView(lView) {
|
|
13960
|
-
|
|
13850
|
+
executeActionOnView(lView[RENDERER], 1 /* Detach */, lView, null, null);
|
|
13961
13851
|
}
|
|
13962
13852
|
/**
|
|
13963
13853
|
* Traverses down and up the tree of views and containers to remove listeners and
|
|
@@ -14087,15 +13977,15 @@ function removeView(lContainer, removeIndex) {
|
|
|
14087
13977
|
* A standalone function which destroys an LView,
|
|
14088
13978
|
* conducting cleanup (e.g. removing listeners, calling onDestroys).
|
|
14089
13979
|
*
|
|
14090
|
-
* @param
|
|
13980
|
+
* @param lView The view to be destroyed.
|
|
14091
13981
|
*/
|
|
14092
|
-
function destroyLView(
|
|
14093
|
-
if (!(
|
|
14094
|
-
var renderer =
|
|
13982
|
+
function destroyLView(lView) {
|
|
13983
|
+
if (!(lView[FLAGS] & 256 /* Destroyed */)) {
|
|
13984
|
+
var renderer = lView[RENDERER];
|
|
14095
13985
|
if (isProceduralRenderer(renderer) && renderer.destroyNode) {
|
|
14096
|
-
|
|
13986
|
+
executeActionOnView(renderer, 2 /* Destroy */, lView, null, null);
|
|
14097
13987
|
}
|
|
14098
|
-
destroyViewTree(
|
|
13988
|
+
destroyViewTree(lView);
|
|
14099
13989
|
}
|
|
14100
13990
|
}
|
|
14101
13991
|
/**
|
|
@@ -14158,7 +14048,7 @@ function cleanUpView(view) {
|
|
|
14158
14048
|
/** Removes listeners and unsubscribes from output subscriptions */
|
|
14159
14049
|
function removeListeners(lView) {
|
|
14160
14050
|
var tCleanup = lView[TVIEW].cleanup;
|
|
14161
|
-
if (tCleanup
|
|
14051
|
+
if (tCleanup !== null) {
|
|
14162
14052
|
var lCleanup = lView[CLEANUP];
|
|
14163
14053
|
for (var i = 0; i < tCleanup.length - 1; i += 2) {
|
|
14164
14054
|
if (typeof tCleanup[i] === 'string') {
|
|
@@ -14310,7 +14200,7 @@ function nativeAppendChild(renderer, parent, child) {
|
|
|
14310
14200
|
}
|
|
14311
14201
|
}
|
|
14312
14202
|
function nativeAppendOrInsertBefore(renderer, parent, child, beforeNode) {
|
|
14313
|
-
if (beforeNode) {
|
|
14203
|
+
if (beforeNode !== null) {
|
|
14314
14204
|
nativeInsertBefore(renderer, parent, child, beforeNode);
|
|
14315
14205
|
}
|
|
14316
14206
|
else {
|
|
@@ -14367,7 +14257,7 @@ function getNativeAnchorNode(parentTNode, lView) {
|
|
|
14367
14257
|
* @returns Whether or not the child was appended
|
|
14368
14258
|
*/
|
|
14369
14259
|
function appendChild(childEl, childTNode, currentView) {
|
|
14370
|
-
var
|
|
14260
|
+
var e_1, _a;
|
|
14371
14261
|
var renderParent = getRenderParent(childTNode, currentView);
|
|
14372
14262
|
if (renderParent != null) {
|
|
14373
14263
|
var renderer = currentView[RENDERER];
|
|
@@ -14380,12 +14270,12 @@ function appendChild(childEl, childTNode, currentView) {
|
|
|
14380
14270
|
nativeAppendOrInsertBefore(renderer, renderParent, nativeNode, anchorNode);
|
|
14381
14271
|
}
|
|
14382
14272
|
}
|
|
14383
|
-
catch (
|
|
14273
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
14384
14274
|
finally {
|
|
14385
14275
|
try {
|
|
14386
14276
|
if (childEl_1_1 && !childEl_1_1.done && (_a = childEl_1.return)) _a.call(childEl_1);
|
|
14387
14277
|
}
|
|
14388
|
-
finally { if (
|
|
14278
|
+
finally { if (e_1) throw e_1.error; }
|
|
14389
14279
|
}
|
|
14390
14280
|
}
|
|
14391
14281
|
else {
|
|
@@ -14410,6 +14300,7 @@ function getBeforeNodeForView(viewIndexInContainer, lContainer) {
|
|
|
14410
14300
|
var nextViewIndex = CONTAINER_HEADER_OFFSET + viewIndexInContainer + 1;
|
|
14411
14301
|
if (nextViewIndex < lContainer.length) {
|
|
14412
14302
|
var lView = lContainer[nextViewIndex];
|
|
14303
|
+
ngDevMode && assertDefined(lView[T_HOST], 'Missing Host TNode');
|
|
14413
14304
|
var tViewNodeChild = lView[T_HOST].child;
|
|
14414
14305
|
return tViewNodeChild !== null ? getNativeByTNode(tViewNodeChild, lView) : lContainer[NATIVE];
|
|
14415
14306
|
}
|
|
@@ -14435,7 +14326,7 @@ function nativeRemoveNode(renderer, rNode, isHostElement) {
|
|
|
14435
14326
|
/**
|
|
14436
14327
|
* Appends nodes to a target projection place. Nodes to insert were previously re-distribution and
|
|
14437
14328
|
* stored on a component host level.
|
|
14438
|
-
* @param lView A LView where nodes are inserted (target
|
|
14329
|
+
* @param lView A LView where nodes are inserted (target LView)
|
|
14439
14330
|
* @param tProjectionNode A projection node where previously re-distribution should be appended
|
|
14440
14331
|
* (target insertion place)
|
|
14441
14332
|
* @param selectorIndex A bucket from where nodes to project should be taken
|
|
@@ -14465,6 +14356,20 @@ function appendProjectedNodes(lView, tProjectionNode, selectorIndex, componentVi
|
|
|
14465
14356
|
}
|
|
14466
14357
|
}
|
|
14467
14358
|
}
|
|
14359
|
+
/**
|
|
14360
|
+
* Loops over all children of a TNode container and appends them to the DOM
|
|
14361
|
+
*
|
|
14362
|
+
* @param ngContainerChildTNode The first child of the TNode container
|
|
14363
|
+
* @param tProjectionNode The projection (ng-content) TNode
|
|
14364
|
+
* @param currentView Current LView
|
|
14365
|
+
* @param projectionView Projection view (view above current)
|
|
14366
|
+
*/
|
|
14367
|
+
function appendProjectedChildren(ngContainerChildTNode, tProjectionNode, currentView, projectionView) {
|
|
14368
|
+
while (ngContainerChildTNode) {
|
|
14369
|
+
appendProjectedNode(ngContainerChildTNode, tProjectionNode, currentView, projectionView);
|
|
14370
|
+
ngContainerChildTNode = ngContainerChildTNode.next;
|
|
14371
|
+
}
|
|
14372
|
+
}
|
|
14468
14373
|
/**
|
|
14469
14374
|
* Appends a projected node to the DOM, or in the case of a projected container,
|
|
14470
14375
|
* appends the nodes from all of the container's active views to the DOM.
|
|
@@ -14492,19 +14397,152 @@ function appendProjectedNode(projectedTNode, tProjectionNode, currentView, proje
|
|
|
14492
14397
|
addRemoveViewFromContainer(nodeOrContainer[i], true, nodeOrContainer[NATIVE]);
|
|
14493
14398
|
}
|
|
14494
14399
|
}
|
|
14400
|
+
else if (projectedTNode.type === 5 /* IcuContainer */) {
|
|
14401
|
+
// The node we are adding is an ICU container which is why we also need to project all the
|
|
14402
|
+
// children nodes that might have been created previously and are linked to this anchor
|
|
14403
|
+
var ngContainerChildTNode = projectedTNode.child;
|
|
14404
|
+
appendProjectedChildren(ngContainerChildTNode, ngContainerChildTNode, projectionView, projectionView);
|
|
14405
|
+
}
|
|
14495
14406
|
else {
|
|
14496
14407
|
if (projectedTNode.type === 4 /* ElementContainer */) {
|
|
14497
|
-
|
|
14498
|
-
while (ngContainerChildTNode) {
|
|
14499
|
-
appendProjectedNode(ngContainerChildTNode, tProjectionNode, currentView, projectionView);
|
|
14500
|
-
ngContainerChildTNode = ngContainerChildTNode.next;
|
|
14501
|
-
}
|
|
14408
|
+
appendProjectedChildren(projectedTNode.child, tProjectionNode, currentView, projectionView);
|
|
14502
14409
|
}
|
|
14503
14410
|
if (isLContainer(nodeOrContainer)) {
|
|
14504
14411
|
appendChild(nodeOrContainer[NATIVE], tProjectionNode, currentView);
|
|
14505
14412
|
}
|
|
14506
14413
|
}
|
|
14507
14414
|
}
|
|
14415
|
+
/**
|
|
14416
|
+
* `executeActionOnView` performs an operation on the view as specified in `action` (insert, detach,
|
|
14417
|
+
* destroy)
|
|
14418
|
+
*
|
|
14419
|
+
* Inserting a view without projection or containers at top level is simple. Just iterate over the
|
|
14420
|
+
* root nodes of the View, and for each node perform the `action`.
|
|
14421
|
+
*
|
|
14422
|
+
* Things get more complicated with containers and projections. That is because coming across:
|
|
14423
|
+
* - Container: implies that we have to insert/remove/destroy the views of that container as well
|
|
14424
|
+
* which in turn can have their own Containers at the View roots.
|
|
14425
|
+
* - Projection: implies that we have to insert/remove/destroy the nodes of the projection. The
|
|
14426
|
+
* complication is that the nodes we are projecting can themselves have Containers
|
|
14427
|
+
* or other Projections.
|
|
14428
|
+
*
|
|
14429
|
+
* As you can see this is a very recursive problem. While the recursive implementation is not the
|
|
14430
|
+
* most efficient one, trying to unroll the nodes non-recursively results in very complex code that
|
|
14431
|
+
* is very hard (to maintain). We are sacrificing a bit of performance for readability using a
|
|
14432
|
+
* recursive implementation.
|
|
14433
|
+
*
|
|
14434
|
+
* @param renderer Renderer to use
|
|
14435
|
+
* @param action action to perform (insert, detach, destroy)
|
|
14436
|
+
* @param lView The LView which needs to be inserted, detached, destroyed.
|
|
14437
|
+
* @param renderParent parent DOM element for insertion/removal.
|
|
14438
|
+
* @param beforeNode Before which node the insertions should happen.
|
|
14439
|
+
*/
|
|
14440
|
+
function executeActionOnView(renderer, action, lView, renderParent, beforeNode) {
|
|
14441
|
+
var tView = lView[TVIEW];
|
|
14442
|
+
ngDevMode && assertNodeType(tView.node, 2 /* View */);
|
|
14443
|
+
var viewRootTNode = tView.node.child;
|
|
14444
|
+
while (viewRootTNode !== null) {
|
|
14445
|
+
executeActionOnNode(renderer, action, lView, viewRootTNode, renderParent, beforeNode);
|
|
14446
|
+
viewRootTNode = viewRootTNode.next;
|
|
14447
|
+
}
|
|
14448
|
+
}
|
|
14449
|
+
/**
|
|
14450
|
+
* `executeActionOnProjection` performs an operation on the projection specified by `action`
|
|
14451
|
+
* (insert, detach, destroy).
|
|
14452
|
+
*
|
|
14453
|
+
* Inserting a projection requires us to locate the projected nodes from the parent component. The
|
|
14454
|
+
* complication is that those nodes themselves could be re-projected from their parent component.
|
|
14455
|
+
*
|
|
14456
|
+
* @param renderer Renderer to use
|
|
14457
|
+
* @param action action to perform (insert, detach, destroy)
|
|
14458
|
+
* @param lView The LView which needs to be inserted, detached, destroyed.
|
|
14459
|
+
* @param renderParent parent DOM element for insertion/removal.
|
|
14460
|
+
* @param beforeNode Before which node the insertions should happen.
|
|
14461
|
+
*/
|
|
14462
|
+
function executeActionOnProjection(renderer, action, lView, tProjectionNode, renderParent, beforeNode) {
|
|
14463
|
+
var componentLView = findComponentView(lView);
|
|
14464
|
+
var componentNode = componentLView[T_HOST];
|
|
14465
|
+
var nodeToProject = componentNode.projection[tProjectionNode.projection];
|
|
14466
|
+
if (Array.isArray(nodeToProject)) {
|
|
14467
|
+
for (var i = 0; i < nodeToProject.length; i++) {
|
|
14468
|
+
var rNode = nodeToProject[i];
|
|
14469
|
+
ngDevMode && assertDomNode(rNode);
|
|
14470
|
+
executeActionOnElementOrContainer(action, renderer, renderParent, rNode, beforeNode);
|
|
14471
|
+
}
|
|
14472
|
+
}
|
|
14473
|
+
else {
|
|
14474
|
+
var projectionTNode = nodeToProject;
|
|
14475
|
+
var projectedComponentLView = componentLView[PARENT];
|
|
14476
|
+
while (projectionTNode !== null) {
|
|
14477
|
+
executeActionOnNode(renderer, action, projectedComponentLView, projectionTNode, renderParent, beforeNode);
|
|
14478
|
+
projectionTNode = projectionTNode.projectionNext;
|
|
14479
|
+
}
|
|
14480
|
+
}
|
|
14481
|
+
}
|
|
14482
|
+
/**
|
|
14483
|
+
* `executeActionOnContainer` performs an operation on the container and its views as specified by
|
|
14484
|
+
* `action` (insert, detach, destroy)
|
|
14485
|
+
*
|
|
14486
|
+
* Inserting a Container is complicated by the fact that the container may have Views which
|
|
14487
|
+
* themselves have containers or projections.
|
|
14488
|
+
*
|
|
14489
|
+
* @param renderer Renderer to use
|
|
14490
|
+
* @param action action to perform (insert, detach, destroy)
|
|
14491
|
+
* @param lContainer The LContainer which needs to be inserted, detached, destroyed.
|
|
14492
|
+
* @param renderParent parent DOM element for insertion/removal.
|
|
14493
|
+
* @param beforeNode Before which node the insertions should happen.
|
|
14494
|
+
*/
|
|
14495
|
+
function executeActionOnContainer(renderer, action, lContainer, renderParent, beforeNode) {
|
|
14496
|
+
ngDevMode && assertLContainer(lContainer);
|
|
14497
|
+
var anchor = lContainer[NATIVE]; // LContainer has its own before node.
|
|
14498
|
+
var native = unwrapRNode(lContainer);
|
|
14499
|
+
// An LContainer can be created dynamically on any node by injecting ViewContainerRef.
|
|
14500
|
+
// Asking for a ViewContainerRef on an element will result in a creation of a separate anchor node
|
|
14501
|
+
// (comment in the DOM) that will be different from the LContainer's host node. In this particular
|
|
14502
|
+
// case we need to execute action on 2 nodes:
|
|
14503
|
+
// - container's host node (this is done in the executeNodeAction)
|
|
14504
|
+
// - container's host node (this is done here)
|
|
14505
|
+
if (anchor !== native) {
|
|
14506
|
+
executeActionOnElementOrContainer(action, renderer, renderParent, anchor, beforeNode);
|
|
14507
|
+
}
|
|
14508
|
+
for (var i = CONTAINER_HEADER_OFFSET; i < lContainer.length; i++) {
|
|
14509
|
+
var lView = lContainer[i];
|
|
14510
|
+
executeActionOnView(renderer, action, lView, renderParent, anchor);
|
|
14511
|
+
}
|
|
14512
|
+
}
|
|
14513
|
+
/**
|
|
14514
|
+
* `executeActionOnElementContainer` performs an operation on the ng-container node and its child
|
|
14515
|
+
* nodes as specified by the `action` (insert, detach, destroy).
|
|
14516
|
+
*
|
|
14517
|
+
* @param renderer Renderer to use
|
|
14518
|
+
* @param action action to perform (insert, detach, destroy)
|
|
14519
|
+
* @param lView The LView which needs to be inserted, detached, destroyed.
|
|
14520
|
+
* @param tElementContainerNode The TNode associated with the ElementContainer.
|
|
14521
|
+
* @param renderParent parent DOM element for insertion/removal.
|
|
14522
|
+
* @param beforeNode Before which node the insertions should happen.
|
|
14523
|
+
*/
|
|
14524
|
+
function executeActionOnElementContainer(renderer, action, lView, tElementContainerNode, renderParent, beforeNode) {
|
|
14525
|
+
var node = lView[tElementContainerNode.index];
|
|
14526
|
+
executeActionOnElementOrContainer(action, renderer, renderParent, node, beforeNode);
|
|
14527
|
+
var childTNode = tElementContainerNode.child;
|
|
14528
|
+
while (childTNode) {
|
|
14529
|
+
executeActionOnNode(renderer, action, lView, childTNode, renderParent, beforeNode);
|
|
14530
|
+
childTNode = childTNode.next;
|
|
14531
|
+
}
|
|
14532
|
+
}
|
|
14533
|
+
function executeActionOnNode(renderer, action, lView, tNode, renderParent, beforeNode) {
|
|
14534
|
+
var elementContainerRootTNodeType = tNode.type;
|
|
14535
|
+
if (elementContainerRootTNodeType === 4 /* ElementContainer */) {
|
|
14536
|
+
executeActionOnElementContainer(renderer, action, lView, tNode, renderParent, beforeNode);
|
|
14537
|
+
}
|
|
14538
|
+
else if (elementContainerRootTNodeType === 1 /* Projection */) {
|
|
14539
|
+
executeActionOnProjection(renderer, action, lView, tNode, renderParent, beforeNode);
|
|
14540
|
+
}
|
|
14541
|
+
else {
|
|
14542
|
+
ngDevMode && assertNodeOfPossibleTypes(tNode, 3 /* Element */, 0 /* Container */);
|
|
14543
|
+
executeActionOnElementOrContainer(action, renderer, renderParent, lView[tNode.index], beforeNode);
|
|
14544
|
+
}
|
|
14545
|
+
}
|
|
14508
14546
|
|
|
14509
14547
|
/**
|
|
14510
14548
|
* @license
|
|
@@ -15728,7 +15766,10 @@ function ɵɵembeddedViewEnd() {
|
|
|
15728
15766
|
refreshDescendantViews(lView); // update mode pass
|
|
15729
15767
|
var lContainer = lView[PARENT];
|
|
15730
15768
|
ngDevMode && assertLContainerOrUndefined(lContainer);
|
|
15731
|
-
leaveView
|
|
15769
|
+
// It's always safe to run hooks here, as `leaveView` is not called during the 'finally' block
|
|
15770
|
+
// of a try-catch-finally statement, so it can never be reached while unwinding the stack due to
|
|
15771
|
+
// an error being thrown.
|
|
15772
|
+
leaveView(lContainer[PARENT], /* safeToRunHooks */ true);
|
|
15732
15773
|
setPreviousOrParentTNode(viewHost, false);
|
|
15733
15774
|
}
|
|
15734
15775
|
|
|
@@ -16581,6 +16622,7 @@ function ɵɵtext(index, value) {
|
|
|
16581
16622
|
ngDevMode && ngDevMode.rendererCreateTextNode++;
|
|
16582
16623
|
ngDevMode && assertDataInRange(lView, index + HEADER_OFFSET);
|
|
16583
16624
|
var textNative = lView[index + HEADER_OFFSET] = createTextNode(value, lView[RENDERER]);
|
|
16625
|
+
ngDevMode && ngDevMode.rendererSetText++;
|
|
16584
16626
|
var tNode = getOrCreateTNode(lView[TVIEW], lView[T_HOST], index, 3 /* Element */, null, null);
|
|
16585
16627
|
// Text nodes are self closing.
|
|
16586
16628
|
setIsNotParent();
|
|
@@ -16590,21 +16632,16 @@ function ɵɵtext(index, value) {
|
|
|
16590
16632
|
* Create text node with binding
|
|
16591
16633
|
* Bindings should be handled externally with the proper interpolation(1-8) method
|
|
16592
16634
|
*
|
|
16593
|
-
* @param index Index of the node in the data array.
|
|
16594
16635
|
* @param value Stringified value to write.
|
|
16595
16636
|
*
|
|
16596
16637
|
* @codeGenApi
|
|
16597
16638
|
*/
|
|
16598
|
-
function ɵɵtextBinding(
|
|
16599
|
-
|
|
16600
|
-
|
|
16601
|
-
|
|
16602
|
-
|
|
16603
|
-
|
|
16604
|
-
ngDevMode && ngDevMode.rendererSetText++;
|
|
16605
|
-
var renderer = lView[RENDERER];
|
|
16606
|
-
isProceduralRenderer(renderer) ? renderer.setValue(element, renderStringify(value)) :
|
|
16607
|
-
element.textContent = renderStringify(value);
|
|
16639
|
+
function ɵɵtextBinding(value) {
|
|
16640
|
+
var lView = getLView();
|
|
16641
|
+
var index = getSelectedIndex();
|
|
16642
|
+
var bound = bind(lView, value);
|
|
16643
|
+
if (bound !== NO_CHANGE) {
|
|
16644
|
+
textBindingInternal(lView, index, renderStringify(bound));
|
|
16608
16645
|
}
|
|
16609
16646
|
}
|
|
16610
16647
|
|
|
@@ -16660,7 +16697,11 @@ function ɵɵtextInterpolate(v0) {
|
|
|
16660
16697
|
*/
|
|
16661
16698
|
function ɵɵtextInterpolate1(prefix, v0, suffix) {
|
|
16662
16699
|
var index = getSelectedIndex();
|
|
16663
|
-
|
|
16700
|
+
var lView = getLView();
|
|
16701
|
+
var interpolated = ɵɵinterpolation1(prefix, v0, suffix);
|
|
16702
|
+
if (interpolated !== NO_CHANGE) {
|
|
16703
|
+
textBindingInternal(lView, index, interpolated);
|
|
16704
|
+
}
|
|
16664
16705
|
return ɵɵtextInterpolate1;
|
|
16665
16706
|
}
|
|
16666
16707
|
/**
|
|
@@ -16684,7 +16725,11 @@ function ɵɵtextInterpolate1(prefix, v0, suffix) {
|
|
|
16684
16725
|
*/
|
|
16685
16726
|
function ɵɵtextInterpolate2(prefix, v0, i0, v1, suffix) {
|
|
16686
16727
|
var index = getSelectedIndex();
|
|
16687
|
-
|
|
16728
|
+
var lView = getLView();
|
|
16729
|
+
var interpolated = ɵɵinterpolation2(prefix, v0, i0, v1, suffix);
|
|
16730
|
+
if (interpolated !== NO_CHANGE) {
|
|
16731
|
+
textBindingInternal(lView, index, interpolated);
|
|
16732
|
+
}
|
|
16688
16733
|
return ɵɵtextInterpolate2;
|
|
16689
16734
|
}
|
|
16690
16735
|
/**
|
|
@@ -16709,7 +16754,11 @@ function ɵɵtextInterpolate2(prefix, v0, i0, v1, suffix) {
|
|
|
16709
16754
|
*/
|
|
16710
16755
|
function ɵɵtextInterpolate3(prefix, v0, i0, v1, i1, v2, suffix) {
|
|
16711
16756
|
var index = getSelectedIndex();
|
|
16712
|
-
|
|
16757
|
+
var lView = getLView();
|
|
16758
|
+
var interpolated = ɵɵinterpolation3(prefix, v0, i0, v1, i1, v2, suffix);
|
|
16759
|
+
if (interpolated !== NO_CHANGE) {
|
|
16760
|
+
textBindingInternal(lView, index, interpolated);
|
|
16761
|
+
}
|
|
16713
16762
|
return ɵɵtextInterpolate3;
|
|
16714
16763
|
}
|
|
16715
16764
|
/**
|
|
@@ -16734,7 +16783,11 @@ function ɵɵtextInterpolate3(prefix, v0, i0, v1, i1, v2, suffix) {
|
|
|
16734
16783
|
*/
|
|
16735
16784
|
function ɵɵtextInterpolate4(prefix, v0, i0, v1, i1, v2, i2, v3, suffix) {
|
|
16736
16785
|
var index = getSelectedIndex();
|
|
16737
|
-
|
|
16786
|
+
var lView = getLView();
|
|
16787
|
+
var interpolated = ɵɵinterpolation4(prefix, v0, i0, v1, i1, v2, i2, v3, suffix);
|
|
16788
|
+
if (interpolated !== NO_CHANGE) {
|
|
16789
|
+
textBindingInternal(lView, index, interpolated);
|
|
16790
|
+
}
|
|
16738
16791
|
return ɵɵtextInterpolate4;
|
|
16739
16792
|
}
|
|
16740
16793
|
/**
|
|
@@ -16759,7 +16812,11 @@ function ɵɵtextInterpolate4(prefix, v0, i0, v1, i1, v2, i2, v3, suffix) {
|
|
|
16759
16812
|
*/
|
|
16760
16813
|
function ɵɵtextInterpolate5(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix) {
|
|
16761
16814
|
var index = getSelectedIndex();
|
|
16762
|
-
|
|
16815
|
+
var lView = getLView();
|
|
16816
|
+
var interpolated = ɵɵinterpolation5(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix);
|
|
16817
|
+
if (interpolated !== NO_CHANGE) {
|
|
16818
|
+
textBindingInternal(lView, index, interpolated);
|
|
16819
|
+
}
|
|
16763
16820
|
return ɵɵtextInterpolate5;
|
|
16764
16821
|
}
|
|
16765
16822
|
/**
|
|
@@ -16786,7 +16843,11 @@ function ɵɵtextInterpolate5(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, suffix
|
|
|
16786
16843
|
*/
|
|
16787
16844
|
function ɵɵtextInterpolate6(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix) {
|
|
16788
16845
|
var index = getSelectedIndex();
|
|
16789
|
-
|
|
16846
|
+
var lView = getLView();
|
|
16847
|
+
var interpolated = ɵɵinterpolation6(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, suffix);
|
|
16848
|
+
if (interpolated !== NO_CHANGE) {
|
|
16849
|
+
textBindingInternal(lView, index, interpolated);
|
|
16850
|
+
}
|
|
16790
16851
|
return ɵɵtextInterpolate6;
|
|
16791
16852
|
}
|
|
16792
16853
|
/**
|
|
@@ -16811,7 +16872,11 @@ function ɵɵtextInterpolate6(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5
|
|
|
16811
16872
|
*/
|
|
16812
16873
|
function ɵɵtextInterpolate7(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix) {
|
|
16813
16874
|
var index = getSelectedIndex();
|
|
16814
|
-
|
|
16875
|
+
var lView = getLView();
|
|
16876
|
+
var interpolated = ɵɵinterpolation7(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, suffix);
|
|
16877
|
+
if (interpolated !== NO_CHANGE) {
|
|
16878
|
+
textBindingInternal(lView, index, interpolated);
|
|
16879
|
+
}
|
|
16815
16880
|
return ɵɵtextInterpolate7;
|
|
16816
16881
|
}
|
|
16817
16882
|
/**
|
|
@@ -16836,7 +16901,11 @@ function ɵɵtextInterpolate7(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5
|
|
|
16836
16901
|
*/
|
|
16837
16902
|
function ɵɵtextInterpolate8(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix) {
|
|
16838
16903
|
var index = getSelectedIndex();
|
|
16839
|
-
|
|
16904
|
+
var lView = getLView();
|
|
16905
|
+
var interpolated = ɵɵinterpolation8(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5, i5, v6, i6, v7, suffix);
|
|
16906
|
+
if (interpolated !== NO_CHANGE) {
|
|
16907
|
+
textBindingInternal(lView, index, interpolated);
|
|
16908
|
+
}
|
|
16840
16909
|
return ɵɵtextInterpolate8;
|
|
16841
16910
|
}
|
|
16842
16911
|
/**
|
|
@@ -16865,7 +16934,11 @@ function ɵɵtextInterpolate8(prefix, v0, i0, v1, i1, v2, i2, v3, i3, v4, i4, v5
|
|
|
16865
16934
|
*/
|
|
16866
16935
|
function ɵɵtextInterpolateV(values) {
|
|
16867
16936
|
var index = getSelectedIndex();
|
|
16868
|
-
|
|
16937
|
+
var lView = getLView();
|
|
16938
|
+
var interpolated = ɵɵinterpolationV(values);
|
|
16939
|
+
if (interpolated !== NO_CHANGE) {
|
|
16940
|
+
textBindingInternal(lView, index, interpolated);
|
|
16941
|
+
}
|
|
16869
16942
|
return ɵɵtextInterpolateV;
|
|
16870
16943
|
}
|
|
16871
16944
|
|
|
@@ -17311,6 +17384,8 @@ function renderComponent(componentType /* Type as workaround for: Microsoft/Type
|
|
|
17311
17384
|
var rootView = createLView(null, createTView(-1, null, 1, 0, null, null, null, null), rootContext, rootFlags, null, null, rendererFactory, renderer, undefined, opts.injector || null);
|
|
17312
17385
|
var oldView = enterView(rootView, null);
|
|
17313
17386
|
var component;
|
|
17387
|
+
// Will become true if the `try` block executes with no errors.
|
|
17388
|
+
var safeToRunHooks = false;
|
|
17314
17389
|
try {
|
|
17315
17390
|
if (rendererFactory.begin)
|
|
17316
17391
|
rendererFactory.begin();
|
|
@@ -17321,9 +17396,10 @@ function renderComponent(componentType /* Type as workaround for: Microsoft/Type
|
|
|
17321
17396
|
rootView[FLAGS] &= ~4 /* CreationMode */;
|
|
17322
17397
|
resetPreOrderHookFlags(rootView);
|
|
17323
17398
|
refreshDescendantViews(rootView); // update mode pass
|
|
17399
|
+
safeToRunHooks = true;
|
|
17324
17400
|
}
|
|
17325
17401
|
finally {
|
|
17326
|
-
leaveView(oldView);
|
|
17402
|
+
leaveView(oldView, safeToRunHooks);
|
|
17327
17403
|
if (rendererFactory.end)
|
|
17328
17404
|
rendererFactory.end();
|
|
17329
17405
|
}
|
|
@@ -17952,6 +18028,7 @@ function multiFactory(factoryFn, index, isViewProvider, isComponent, f) {
|
|
|
17952
18028
|
* and publish them into the DI system, making it visible to others for injection.
|
|
17953
18029
|
*
|
|
17954
18030
|
* For example:
|
|
18031
|
+
* ```ts
|
|
17955
18032
|
* class ComponentWithProviders {
|
|
17956
18033
|
* constructor(private greeter: GreeterDE) {}
|
|
17957
18034
|
*
|
|
@@ -17963,15 +18040,17 @@ function multiFactory(factoryFn, index, isViewProvider, isComponent, f) {
|
|
|
17963
18040
|
* vars: 1,
|
|
17964
18041
|
* template: function(fs: RenderFlags, ctx: ComponentWithProviders) {
|
|
17965
18042
|
* if (fs & RenderFlags.Create) {
|
|
17966
|
-
*
|
|
18043
|
+
* ɵɵtext(0);
|
|
17967
18044
|
* }
|
|
17968
18045
|
* if (fs & RenderFlags.Update) {
|
|
17969
|
-
*
|
|
18046
|
+
* ɵɵselect(0);
|
|
18047
|
+
* ɵɵtextBinding(ctx.greeter.greet());
|
|
17970
18048
|
* }
|
|
17971
18049
|
* },
|
|
17972
18050
|
* features: [ProvidersFeature([GreeterDE])]
|
|
17973
18051
|
* });
|
|
17974
18052
|
* }
|
|
18053
|
+
* ```
|
|
17975
18054
|
*
|
|
17976
18055
|
* @param definition
|
|
17977
18056
|
*
|
|
@@ -18009,6 +18088,12 @@ var ComponentRef = /** @class */ (function () {
|
|
|
18009
18088
|
return ComponentRef;
|
|
18010
18089
|
}());
|
|
18011
18090
|
/**
|
|
18091
|
+
* Base class for a factory that can create a component dynamically.
|
|
18092
|
+
* Instantiate a factory for a given type of component with `resolveComponentFactory()`.
|
|
18093
|
+
* Use the resulting `ComponentFactory.create()` method to create a component of that type.
|
|
18094
|
+
*
|
|
18095
|
+
* @see [Dynamic Components](guide/dynamic-component-loader)
|
|
18096
|
+
*
|
|
18012
18097
|
* @publicApi
|
|
18013
18098
|
*/
|
|
18014
18099
|
var ComponentFactory = /** @class */ (function () {
|
|
@@ -18039,6 +18124,12 @@ var _NullComponentFactoryResolver = /** @class */ (function () {
|
|
|
18039
18124
|
return _NullComponentFactoryResolver;
|
|
18040
18125
|
}());
|
|
18041
18126
|
/**
|
|
18127
|
+
* A simple registry that maps `Components` to generated `ComponentFactory` classes
|
|
18128
|
+
* that can be used to create instances of components.
|
|
18129
|
+
* Use to obtain the factory for a given component type,
|
|
18130
|
+
* then use the factory's `create()` method to create a component of that type.
|
|
18131
|
+
*
|
|
18132
|
+
* @see [Dynamic Components](guide/dynamic-component-loader)
|
|
18042
18133
|
* @publicApi
|
|
18043
18134
|
*/
|
|
18044
18135
|
var ComponentFactoryResolver = /** @class */ (function () {
|
|
@@ -18536,7 +18627,6 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
|
|
|
18536
18627
|
_this._lContainer = _lContainer;
|
|
18537
18628
|
_this._hostTNode = _hostTNode;
|
|
18538
18629
|
_this._hostView = _hostView;
|
|
18539
|
-
_this._viewRefs = [];
|
|
18540
18630
|
return _this;
|
|
18541
18631
|
}
|
|
18542
18632
|
Object.defineProperty(ViewContainerRef_.prototype, "element", {
|
|
@@ -18569,7 +18659,9 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
|
|
|
18569
18659
|
this.remove(0);
|
|
18570
18660
|
}
|
|
18571
18661
|
};
|
|
18572
|
-
ViewContainerRef_.prototype.get = function (index) {
|
|
18662
|
+
ViewContainerRef_.prototype.get = function (index) {
|
|
18663
|
+
return this._lContainer[VIEW_REFS] !== null && this._lContainer[VIEW_REFS][index] || null;
|
|
18664
|
+
};
|
|
18573
18665
|
Object.defineProperty(ViewContainerRef_.prototype, "length", {
|
|
18574
18666
|
get: function () {
|
|
18575
18667
|
// Note that if there are no views, the container
|
|
@@ -18581,11 +18673,12 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
|
|
|
18581
18673
|
configurable: true
|
|
18582
18674
|
});
|
|
18583
18675
|
ViewContainerRef_.prototype.createEmbeddedView = function (templateRef, context, index) {
|
|
18676
|
+
this.allocateContainerIfNeeded();
|
|
18584
18677
|
var adjustedIdx = this._adjustIndex(index);
|
|
18585
18678
|
var viewRef = templateRef
|
|
18586
18679
|
.createEmbeddedView(context || {}, this._lContainer, adjustedIdx);
|
|
18587
18680
|
viewRef.attachToViewContainerRef(this);
|
|
18588
|
-
this.
|
|
18681
|
+
this._lContainer[VIEW_REFS].splice(adjustedIdx, 0, viewRef);
|
|
18589
18682
|
return viewRef;
|
|
18590
18683
|
};
|
|
18591
18684
|
ViewContainerRef_.prototype.createComponent = function (componentFactory, index, injector, projectableNodes, ngModuleRef) {
|
|
@@ -18601,6 +18694,7 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
|
|
|
18601
18694
|
if (viewRef.destroyed) {
|
|
18602
18695
|
throw new Error('Cannot insert a destroyed View in a ViewContainer!');
|
|
18603
18696
|
}
|
|
18697
|
+
this.allocateContainerIfNeeded();
|
|
18604
18698
|
var lView = viewRef._lView;
|
|
18605
18699
|
var adjustedIdx = this._adjustIndex(index);
|
|
18606
18700
|
if (viewAttachedToContainer(lView)) {
|
|
@@ -18612,7 +18706,7 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
|
|
|
18612
18706
|
var beforeNode = getBeforeNodeForView(adjustedIdx, this._lContainer);
|
|
18613
18707
|
addRemoveViewFromContainer(lView, true, beforeNode);
|
|
18614
18708
|
viewRef.attachToViewContainerRef(this);
|
|
18615
|
-
this.
|
|
18709
|
+
this._lContainer[VIEW_REFS].splice(adjustedIdx, 0, viewRef);
|
|
18616
18710
|
return viewRef;
|
|
18617
18711
|
};
|
|
18618
18712
|
ViewContainerRef_.prototype.move = function (viewRef, newIndex) {
|
|
@@ -18625,16 +18719,22 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
|
|
|
18625
18719
|
this.insert(viewRef, newIndex);
|
|
18626
18720
|
return viewRef;
|
|
18627
18721
|
};
|
|
18628
|
-
ViewContainerRef_.prototype.indexOf = function (viewRef) {
|
|
18722
|
+
ViewContainerRef_.prototype.indexOf = function (viewRef) {
|
|
18723
|
+
return this._lContainer[VIEW_REFS] !== null ?
|
|
18724
|
+
this._lContainer[VIEW_REFS].indexOf(viewRef) :
|
|
18725
|
+
0;
|
|
18726
|
+
};
|
|
18629
18727
|
ViewContainerRef_.prototype.remove = function (index) {
|
|
18728
|
+
this.allocateContainerIfNeeded();
|
|
18630
18729
|
var adjustedIdx = this._adjustIndex(index, -1);
|
|
18631
18730
|
removeView(this._lContainer, adjustedIdx);
|
|
18632
|
-
this.
|
|
18731
|
+
this._lContainer[VIEW_REFS].splice(adjustedIdx, 1);
|
|
18633
18732
|
};
|
|
18634
18733
|
ViewContainerRef_.prototype.detach = function (index) {
|
|
18734
|
+
this.allocateContainerIfNeeded();
|
|
18635
18735
|
var adjustedIdx = this._adjustIndex(index, -1);
|
|
18636
18736
|
var view = detachView(this._lContainer, adjustedIdx);
|
|
18637
|
-
var wasDetached = view && this.
|
|
18737
|
+
var wasDetached = view && this._lContainer[VIEW_REFS].splice(adjustedIdx, 1)[0] != null;
|
|
18638
18738
|
return wasDetached ? new ViewRef(view, view[CONTEXT], -1) : null;
|
|
18639
18739
|
};
|
|
18640
18740
|
ViewContainerRef_.prototype._adjustIndex = function (index, shift) {
|
|
@@ -18649,6 +18749,11 @@ function createContainerRef(ViewContainerRefToken, ElementRefToken, hostTNode, h
|
|
|
18649
18749
|
}
|
|
18650
18750
|
return index;
|
|
18651
18751
|
};
|
|
18752
|
+
ViewContainerRef_.prototype.allocateContainerIfNeeded = function () {
|
|
18753
|
+
if (this._lContainer[VIEW_REFS] === null) {
|
|
18754
|
+
this._lContainer[VIEW_REFS] = [];
|
|
18755
|
+
}
|
|
18756
|
+
};
|
|
18652
18757
|
return ViewContainerRef_;
|
|
18653
18758
|
}(ViewContainerRefToken));
|
|
18654
18759
|
}
|
|
@@ -18715,6 +18820,7 @@ function createViewRef(hostTNode, hostView, context) {
|
|
|
18715
18820
|
}
|
|
18716
18821
|
return null;
|
|
18717
18822
|
}
|
|
18823
|
+
/** Returns a Renderer2 (or throws when application was bootstrapped with Renderer3) */
|
|
18718
18824
|
function getOrCreateRenderer2(view) {
|
|
18719
18825
|
var renderer = view[RENDERER];
|
|
18720
18826
|
if (isProceduralRenderer(renderer)) {
|
|
@@ -18724,9 +18830,14 @@ function getOrCreateRenderer2(view) {
|
|
|
18724
18830
|
throw new Error('Cannot inject Renderer2 when the application uses Renderer3!');
|
|
18725
18831
|
}
|
|
18726
18832
|
}
|
|
18727
|
-
/**
|
|
18833
|
+
/** Injects a Renderer2 for the current component. */
|
|
18728
18834
|
function injectRenderer2() {
|
|
18729
|
-
|
|
18835
|
+
// We need the Renderer to be based on the component that it's being injected into, however since
|
|
18836
|
+
// DI happens before we've entered its view, `getLView` will return the parent view instead.
|
|
18837
|
+
var lView = getLView();
|
|
18838
|
+
var tNode = getPreviousOrParentTNode();
|
|
18839
|
+
var nodeAtIndex = getComponentViewByIndex(tNode.index, lView);
|
|
18840
|
+
return getOrCreateRenderer2(isLView(nodeAtIndex) ? nodeAtIndex : lView);
|
|
18730
18841
|
}
|
|
18731
18842
|
|
|
18732
18843
|
/**
|
|
@@ -18919,7 +19030,7 @@ var Version = /** @class */ (function () {
|
|
|
18919
19030
|
/**
|
|
18920
19031
|
* @publicApi
|
|
18921
19032
|
*/
|
|
18922
|
-
var VERSION = new Version('8.1.
|
|
19033
|
+
var VERSION = new Version('8.1.1');
|
|
18923
19034
|
|
|
18924
19035
|
/**
|
|
18925
19036
|
* @license
|
|
@@ -22119,6 +22230,8 @@ var ComponentFactory$1 = /** @class */ (function (_super) {
|
|
|
22119
22230
|
var oldLView = enterView(rootLView, null);
|
|
22120
22231
|
var component;
|
|
22121
22232
|
var tElementNode;
|
|
22233
|
+
// Will become true if the `try` block executes with no errors.
|
|
22234
|
+
var safeToRunHooks = false;
|
|
22122
22235
|
try {
|
|
22123
22236
|
var componentView = createRootComponentView(hostRNode, this.componentDef, rootLView, rendererFactory, renderer);
|
|
22124
22237
|
tElementNode = getTNode(0, rootLView);
|
|
@@ -22135,9 +22248,10 @@ var ComponentFactory$1 = /** @class */ (function (_super) {
|
|
|
22135
22248
|
component = createRootComponent(componentView, this.componentDef, rootLView, rootContext, [LifecycleHooksFeature]);
|
|
22136
22249
|
addToViewTree(rootLView, componentView);
|
|
22137
22250
|
refreshDescendantViews(rootLView);
|
|
22251
|
+
safeToRunHooks = true;
|
|
22138
22252
|
}
|
|
22139
22253
|
finally {
|
|
22140
|
-
leaveView(oldLView);
|
|
22254
|
+
leaveView(oldLView, safeToRunHooks);
|
|
22141
22255
|
}
|
|
22142
22256
|
var componentRef = new ComponentRef$1(this.componentType, component, createElementRef(ElementRef, tElementNode, rootLView), rootLView, tElementNode);
|
|
22143
22257
|
if (isInternalRootView) {
|
|
@@ -22177,14 +22291,16 @@ var ComponentRef$1 = /** @class */ (function (_super) {
|
|
|
22177
22291
|
configurable: true
|
|
22178
22292
|
});
|
|
22179
22293
|
ComponentRef.prototype.destroy = function () {
|
|
22180
|
-
|
|
22181
|
-
|
|
22182
|
-
|
|
22183
|
-
|
|
22294
|
+
if (this.destroyCbs) {
|
|
22295
|
+
this.destroyCbs.forEach(function (fn) { return fn(); });
|
|
22296
|
+
this.destroyCbs = null;
|
|
22297
|
+
!this.hostView.destroyed && this.hostView.destroy();
|
|
22298
|
+
}
|
|
22184
22299
|
};
|
|
22185
22300
|
ComponentRef.prototype.onDestroy = function (callback) {
|
|
22186
|
-
|
|
22187
|
-
|
|
22301
|
+
if (this.destroyCbs) {
|
|
22302
|
+
this.destroyCbs.push(callback);
|
|
22303
|
+
}
|
|
22188
22304
|
};
|
|
22189
22305
|
return ComponentRef;
|
|
22190
22306
|
}(ComponentRef));
|
|
@@ -23092,7 +23208,7 @@ function readUpdateOpCodes(updateOpCodes, icus, bindingsStartIndex, changeMask,
|
|
|
23092
23208
|
elementPropertyInternal(nodeIndex, propName, value, sanitizeFn);
|
|
23093
23209
|
break;
|
|
23094
23210
|
case 0 /* Text */:
|
|
23095
|
-
|
|
23211
|
+
textBindingInternal(viewData, nodeIndex, value);
|
|
23096
23212
|
break;
|
|
23097
23213
|
case 2 /* IcuSwitch */:
|
|
23098
23214
|
tIcuIndex = updateOpCodes[++j];
|
|
@@ -23251,15 +23367,20 @@ var shiftsCounter = 0;
|
|
|
23251
23367
|
* Stores the values of the bindings during each update cycle in order to determine if we need to
|
|
23252
23368
|
* update the translated nodes.
|
|
23253
23369
|
*
|
|
23254
|
-
* @param
|
|
23370
|
+
* @param value The binding's value
|
|
23371
|
+
* @returns This function returns itself so that it may be chained
|
|
23372
|
+
* (e.g. `i18nExp(ctx.name)(ctx.title)`)
|
|
23255
23373
|
*
|
|
23256
23374
|
* @codeGenApi
|
|
23257
23375
|
*/
|
|
23258
|
-
function ɵɵi18nExp(
|
|
23376
|
+
function ɵɵi18nExp(value) {
|
|
23377
|
+
var lView = getLView();
|
|
23378
|
+
var expression = bind(lView, value);
|
|
23259
23379
|
if (expression !== NO_CHANGE) {
|
|
23260
23380
|
changeMask = changeMask | (1 << shiftsCounter);
|
|
23261
23381
|
}
|
|
23262
23382
|
shiftsCounter++;
|
|
23383
|
+
return ɵɵi18nExp;
|
|
23263
23384
|
}
|
|
23264
23385
|
/**
|
|
23265
23386
|
* Updates a translation block or an i18n attribute when the bindings have changed.
|
|
@@ -23518,13 +23639,13 @@ var LOCALIZE_PH_REGEXP = /\{\$(.*?)\}/g;
|
|
|
23518
23639
|
* @deprecated this method is temporary & should not be used as it will be removed soon
|
|
23519
23640
|
*/
|
|
23520
23641
|
function ɵɵi18nLocalize(input, placeholders) {
|
|
23521
|
-
if (placeholders === void 0) { placeholders = {}; }
|
|
23522
23642
|
if (typeof TRANSLATIONS[input] !== 'undefined') { // to account for empty string
|
|
23523
23643
|
input = TRANSLATIONS[input];
|
|
23524
23644
|
}
|
|
23525
|
-
|
|
23526
|
-
input.replace(LOCALIZE_PH_REGEXP, function (
|
|
23527
|
-
|
|
23645
|
+
if (placeholders !== undefined && Object.keys(placeholders).length) {
|
|
23646
|
+
return input.replace(LOCALIZE_PH_REGEXP, function (_, key) { return placeholders[key] || ''; });
|
|
23647
|
+
}
|
|
23648
|
+
return input;
|
|
23528
23649
|
}
|
|
23529
23650
|
/**
|
|
23530
23651
|
* The locale id that the application is currently using (for translations and ICU expressions).
|
|
@@ -24219,7 +24340,7 @@ function unwrapValue$1(newValue) {
|
|
|
24219
24340
|
* that create event emitters. When the title is clicked, the emitter
|
|
24220
24341
|
* emits an open or close event to toggle the current visibility state.
|
|
24221
24342
|
*
|
|
24222
|
-
* ```
|
|
24343
|
+
* ```html
|
|
24223
24344
|
* @Component({
|
|
24224
24345
|
* selector: 'zippy',
|
|
24225
24346
|
* template: `
|
|
@@ -24248,17 +24369,10 @@ function unwrapValue$1(newValue) {
|
|
|
24248
24369
|
* Access the event object with the `$event` argument passed to the output event
|
|
24249
24370
|
* handler:
|
|
24250
24371
|
*
|
|
24251
|
-
* ```
|
|
24372
|
+
* ```html
|
|
24252
24373
|
* <zippy (open)="onOpen($event)" (close)="onClose($event)"></zippy>
|
|
24253
24374
|
* ```
|
|
24254
24375
|
*
|
|
24255
|
-
* ### Notes
|
|
24256
|
-
*
|
|
24257
|
-
* Uses Rx.Observable but provides an adapter to make it work as specified here:
|
|
24258
|
-
* https://github.com/jhusain/observable-spec
|
|
24259
|
-
*
|
|
24260
|
-
* Once a reference implementation of the spec is available, switch to it.
|
|
24261
|
-
*
|
|
24262
24376
|
* @publicApi
|
|
24263
24377
|
*/
|
|
24264
24378
|
var EventEmitter = /** @class */ (function (_super) {
|
|
@@ -24632,9 +24746,10 @@ function queryByReadToken(read, tNode, currentView) {
|
|
|
24632
24746
|
return factoryFn();
|
|
24633
24747
|
}
|
|
24634
24748
|
else {
|
|
24635
|
-
var
|
|
24749
|
+
var tView = currentView[TVIEW];
|
|
24750
|
+
var matchingIdx = locateDirectiveOrProvider(tNode, tView, read, false, false);
|
|
24636
24751
|
if (matchingIdx !== null) {
|
|
24637
|
-
return getNodeInjectable(
|
|
24752
|
+
return getNodeInjectable(tView.data, currentView, matchingIdx, tNode);
|
|
24638
24753
|
}
|
|
24639
24754
|
}
|
|
24640
24755
|
return null;
|
|
@@ -24676,19 +24791,20 @@ function queryRead(tNode, currentView, read, matchingIdx) {
|
|
|
24676
24791
|
* out of order (e.g. a view was created in a constructor)
|
|
24677
24792
|
*/
|
|
24678
24793
|
function add(query, tNode, insertBeforeContainer) {
|
|
24679
|
-
var
|
|
24794
|
+
var lView = getLView();
|
|
24795
|
+
var tView = lView[TVIEW];
|
|
24680
24796
|
while (query) {
|
|
24681
24797
|
var predicate = query.predicate;
|
|
24682
24798
|
var type = predicate.type;
|
|
24683
24799
|
if (type) {
|
|
24684
24800
|
var result = null;
|
|
24685
24801
|
if (type === TemplateRef) {
|
|
24686
|
-
result = queryByTemplateRef(type, tNode,
|
|
24802
|
+
result = queryByTemplateRef(type, tNode, lView, predicate.read);
|
|
24687
24803
|
}
|
|
24688
24804
|
else {
|
|
24689
|
-
var matchingIdx = locateDirectiveOrProvider(tNode,
|
|
24805
|
+
var matchingIdx = locateDirectiveOrProvider(tNode, tView, type, false, false);
|
|
24690
24806
|
if (matchingIdx !== null) {
|
|
24691
|
-
result = queryRead(tNode,
|
|
24807
|
+
result = queryRead(tNode, lView, predicate.read, matchingIdx);
|
|
24692
24808
|
}
|
|
24693
24809
|
}
|
|
24694
24810
|
if (result !== null) {
|
|
@@ -24700,7 +24816,7 @@ function add(query, tNode, insertBeforeContainer) {
|
|
|
24700
24816
|
for (var i = 0; i < selector.length; i++) {
|
|
24701
24817
|
var matchingIdx = getIdxOfMatchingSelector(tNode, selector[i]);
|
|
24702
24818
|
if (matchingIdx !== null) {
|
|
24703
|
-
var result = queryRead(tNode,
|
|
24819
|
+
var result = queryRead(tNode, lView, predicate.read, matchingIdx);
|
|
24704
24820
|
if (result !== null) {
|
|
24705
24821
|
addMatch(query, result, insertBeforeContainer);
|
|
24706
24822
|
}
|
|
@@ -24950,7 +25066,6 @@ var ɵ0$9 = function () { return ({
|
|
|
24950
25066
|
'ɵɵNgOnChangesFeature': ɵɵNgOnChangesFeature,
|
|
24951
25067
|
'ɵɵProvidersFeature': ɵɵProvidersFeature,
|
|
24952
25068
|
'ɵɵInheritDefinitionFeature': ɵɵInheritDefinitionFeature,
|
|
24953
|
-
'ɵɵbind': ɵɵbind,
|
|
24954
25069
|
'ɵɵcontainer': ɵɵcontainer,
|
|
24955
25070
|
'ɵɵnextContext': ɵɵnextContext,
|
|
24956
25071
|
'ɵɵcontainerRefreshStart': ɵɵcontainerRefreshStart,
|
|
@@ -25821,9 +25936,10 @@ var ɵ8 = function (hostPropertyName) { return ({ hostPropertyName: hostProperty
|
|
|
25821
25936
|
var HostBinding = makePropDecorator('HostBinding', ɵ8);
|
|
25822
25937
|
var ɵ9 = function (eventName, args) { return ({ eventName: eventName, args: args }); };
|
|
25823
25938
|
/**
|
|
25824
|
-
*
|
|
25939
|
+
* Decorator that binds a DOM event to a host listener and supplies configuration metadata.
|
|
25825
25940
|
* Angular invokes the supplied handler method when the host element emits the specified event,
|
|
25826
25941
|
* and updates the bound element with the result.
|
|
25942
|
+
*
|
|
25827
25943
|
* If the handler method returns false, applies `preventDefault` on the bound element.
|
|
25828
25944
|
*
|
|
25829
25945
|
* @usageNotes
|
|
@@ -25831,7 +25947,7 @@ var ɵ9 = function (eventName, args) { return ({ eventName: eventName, args: arg
|
|
|
25831
25947
|
* The following example declares a directive
|
|
25832
25948
|
* that attaches a click listener to a button and counts clicks.
|
|
25833
25949
|
*
|
|
25834
|
-
* ```
|
|
25950
|
+
* ```ts
|
|
25835
25951
|
* @Directive({selector: 'button[counting]'})
|
|
25836
25952
|
* class CountClicks {
|
|
25837
25953
|
* numberOfClicks = 0;
|
|
@@ -30993,5 +31109,5 @@ var NgModuleFactory_ = /** @class */ (function (_super) {
|
|
|
30993
31109
|
* Generated bundle index. Do not edit.
|
|
30994
31110
|
*/
|
|
30995
31111
|
|
|
30996
|
-
export { APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_r, _iterableDiffersFactory as ɵangular_packages_core_core_o, _keyValueDiffersFactory as ɵangular_packages_core_core_p, _localeFactory as ɵangular_packages_core_core_q, zoneSchedulerFactory as ɵangular_packages_core_core_s, _appIdRandomProviderFactory as ɵangular_packages_core_core_f, DefaultIterableDifferFactory as ɵangular_packages_core_core_m, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_n, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, NullInjector as ɵangular_packages_core_core_b, injectInjectorOnly as ɵangular_packages_core_core_a, ReflectiveInjector_ as ɵangular_packages_core_core_c, ReflectiveDependency as ɵangular_packages_core_core_d, resolveReflectiveProviders as ɵangular_packages_core_core_e, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, wtfEnabled as ɵangular_packages_core_core_t, createScope as ɵangular_packages_core_core_v, detectWTF as ɵangular_packages_core_core_u, endTimeRange as ɵangular_packages_core_core_y, leave as ɵangular_packages_core_core_w, startTimeRange as ɵangular_packages_core_core_x, SCHEDULER as ɵangular_packages_core_core_bb, injectAttributeImpl as ɵangular_packages_core_core_bc, getLView as ɵangular_packages_core_core_bd, getPreviousOrParentTNode as ɵangular_packages_core_core_be, nextContextImpl as ɵangular_packages_core_core_bf, BoundPlayerFactory as ɵangular_packages_core_core_bj, getRootContext as ɵangular_packages_core_core_bp, loadInternal as ɵangular_packages_core_core_bo, createElementRef as ɵangular_packages_core_core_g, createTemplateRef as ɵangular_packages_core_core_h, createViewRef as ɵangular_packages_core_core_i, getUrlSanitizer as ɵangular_packages_core_core_bh, noSideEffects as ɵangular_packages_core_core_bn, makeParamDecorator as ɵangular_packages_core_core_bk, makePropDecorator as ɵangular_packages_core_core_bl, getClosureSafeProperty as ɵangular_packages_core_core_bq, _def as ɵangular_packages_core_core_z, DebugContext as ɵangular_packages_core_core_ba, createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, createPlatformFactory, NgProbeToken, enableProdMode, isDevMode, APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, PLATFORM_ID, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationInitStatus, DebugElement, DebugEventListener, DebugNode, asNativeElements, getDebugNode, Testability, TestabilityRegistry, setTestabilityGetter, TRANSLATIONS$1 as TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ApplicationModule, wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange, Type, EventEmitter, ErrorHandler, Sanitizer, SecurityContext, Attribute, ANALYZE_FOR_ENTRY_COMPONENTS, ContentChild, ContentChildren, Query, ViewChild, ViewChildren, Component, Directive, HostBinding, HostListener, Input, Output, Pipe, NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, ViewEncapsulation, Version, VERSION, InjectFlags, ɵɵdefineInjectable, defineInjectable, ɵɵdefineInjector, forwardRef, resolveForwardRef, Injectable, Injector, ɵɵinject, inject, INJECTOR, ReflectiveInjector, ResolvedReflectiveFactory, ReflectiveKey, InjectionToken, Inject, Optional, Self, SkipSelf, Host, ɵ0, ɵ1, NgZone, NoopNgZone as ɵNoopNgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RootRenderer, COMPILER_OPTIONS, Compiler, CompilerFactory, ModuleWithComponentFactories, ComponentFactory, ComponentFactory as ɵComponentFactory, ComponentRef, ComponentFactoryResolver, ElementRef, NgModuleFactory, NgModuleRef, NgModuleFactoryLoader, getModuleFactory, QueryList, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TemplateRef, ViewContainerRef, EmbeddedViewRef, ViewRef$1 as ViewRef, ChangeDetectionStrategy, ChangeDetectorRef, DefaultIterableDiffer, IterableDiffers, KeyValueDiffers, SimpleChange, WrappedValue, platformCore, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, devModeEqual as ɵdevModeEqual, isListLikeIterable as ɵisListLikeIterable, ChangeDetectorStatus as ɵChangeDetectorStatus, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, Console as ɵConsole, setCurrentInjector as ɵsetCurrentInjector, getInjectableDef as ɵgetInjectableDef, APP_ROOT as ɵAPP_ROOT, ivyEnabled as ɵivyEnabled, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, resolveComponentResources as ɵresolveComponentResources, ReflectionCapabilities as ɵReflectionCapabilities, RenderDebugInfo as ɵRenderDebugInfo, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeStyle as ɵ_sanitizeStyle, _sanitizeUrl as ɵ_sanitizeUrl, _global as ɵglobal, looseIdentical as ɵlooseIdentical, stringify as ɵstringify, makeDecorator as ɵmakeDecorator, isObservable as ɵisObservable, isPromise as ɵisPromise, clearOverrides as ɵclearOverrides, initServicesIfNeeded as ɵinitServicesIfNeeded, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, getLocalePluralCase as ɵgetLocalePluralCase, findLocaleData as ɵfindLocaleData, LOCALE_DATA as ɵLOCALE_DATA, LocaleDataIndex as ɵLocaleDataIndex, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵdefineBase, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefinePipe, ɵɵdefineNgModule, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, ɵɵdirectiveInject, ɵɵinjectAttribute, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵtemplateRefExtractor, ɵɵProvidersFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleRef$1 as ɵRender3NgModuleRef, markDirty as ɵmarkDirty, NgModuleFactory$1 as ɵNgModuleFactory, NO_CHANGE as ɵNO_CHANGE, ɵɵcontainer, ɵɵnextContext, ɵɵelementStart, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵelement, ɵɵlistener, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵembeddedViewStart, ɵɵprojection, ɵɵbind, ɵɵinterpolation1, ɵɵinterpolation2, ɵɵinterpolation3, ɵɵinterpolation4, ɵɵinterpolation5, ɵɵinterpolation6, ɵɵinterpolation7, ɵɵinterpolation8, ɵɵinterpolationV, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵgetCurrentView, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, ɵɵrestoreView, ɵɵcontainerRefreshStart, ɵɵcontainerRefreshEnd, ɵɵqueryRefresh, ɵɵviewQuery, ɵɵstaticViewQuery, ɵɵstaticContentQuery, ɵɵloadViewQuery, ɵɵcontentQuery, ɵɵloadContentQuery, ɵɵelementEnd, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵupdateSyntheticHostBinding, ɵɵcomponentHostSyntheticListener, ɵɵprojectionDef, ɵɵreference, ɵɵenableBindings, ɵɵdisableBindings, ɵɵallocHostVars, ɵɵelementContainerStart, ɵɵelementContainerEnd, ɵɵstyling, ɵɵstyleMap, ɵɵclassMap, ɵɵstyleProp, ɵɵstylingApply, ɵɵclassProp, ɵɵelementHostAttrs, ɵɵselect, ɵɵtextBinding, ɵɵtemplate, ɵɵembeddedViewEnd, store as ɵstore, ɵɵload, ɵɵpipe, whenRendered as ɵwhenRendered, ɵɵi18n, ɵɵi18nAttributes, ɵɵi18nExp, ɵɵi18nStart, ɵɵi18nEnd, ɵɵi18nApply, ɵɵi18nPostprocess, i18nConfigureLocalize as ɵi18nConfigureLocalize, ɵɵi18nLocalize, setLocaleId as ɵsetLocaleId, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, setClassMetadata as ɵsetClassMetadata, ɵɵresolveWindow, ɵɵresolveDocument, ɵɵresolveBody, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, patchComponentDefWithScope as ɵpatchComponentDefWithScope, resetCompiledComponents as ɵresetCompiledComponents, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, transitiveScopesFor as ɵtransitiveScopesFor, compilePipe as ɵcompilePipe, ɵɵsanitizeHtml, ɵɵsanitizeStyle, ɵɵdefaultStyleSanitizer, ɵɵsanitizeScript, ɵɵsanitizeUrl, ɵɵsanitizeResourceUrl, ɵɵsanitizeUrlOrResourceUrl, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, getLContext as ɵgetLContext, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_COMPONENT_DEF as ɵNG_COMPONENT_DEF, NG_DIRECTIVE_DEF as ɵNG_DIRECTIVE_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_MODULE_DEF as ɵNG_MODULE_DEF, NG_BASE_DEF as ɵNG_BASE_DEF, NG_INJECTABLE_DEF as ɵNG_INJECTABLE_DEF, NG_INJECTOR_DEF as ɵNG_INJECTOR_DEF, bindPlayerFactory as ɵbindPlayerFactory, addPlayer as ɵaddPlayer, getPlayers as ɵgetPlayers, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, registerNgModuleType as ɵregisterNgModuleType, publishGlobalUtil as ɵpublishGlobalUtil, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, createInjector as ɵcreateInjector, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, registerModuleFactory as ɵregisterModuleFactory, EMPTY_ARRAY$3 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, anchorDef as ɵand, createComponentFactory as ɵccf, createNgModuleFactory as ɵcmf, createRendererType2 as ɵcrt, directiveDef as ɵdid, elementDef as ɵeld, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, pipeDef as ɵpid, providerDef as ɵprd, pureArrayDef as ɵpad, pureObjectDef as ɵpod, purePipeDef as ɵppd, queryDef as ɵqud, textDef as ɵted, unwrapValue as ɵunv, viewDef as ɵvid };
|
|
31112
|
+
export { APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_r, _iterableDiffersFactory as ɵangular_packages_core_core_o, _keyValueDiffersFactory as ɵangular_packages_core_core_p, _localeFactory as ɵangular_packages_core_core_q, zoneSchedulerFactory as ɵangular_packages_core_core_s, _appIdRandomProviderFactory as ɵangular_packages_core_core_f, DefaultIterableDifferFactory as ɵangular_packages_core_core_m, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_n, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, NullInjector as ɵangular_packages_core_core_b, injectInjectorOnly as ɵangular_packages_core_core_a, ReflectiveInjector_ as ɵangular_packages_core_core_c, ReflectiveDependency as ɵangular_packages_core_core_d, resolveReflectiveProviders as ɵangular_packages_core_core_e, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, wtfEnabled as ɵangular_packages_core_core_t, createScope as ɵangular_packages_core_core_v, detectWTF as ɵangular_packages_core_core_u, endTimeRange as ɵangular_packages_core_core_y, leave as ɵangular_packages_core_core_w, startTimeRange as ɵangular_packages_core_core_x, SCHEDULER as ɵangular_packages_core_core_bb, injectAttributeImpl as ɵangular_packages_core_core_bc, getLView as ɵangular_packages_core_core_bd, getPreviousOrParentTNode as ɵangular_packages_core_core_be, nextContextImpl as ɵangular_packages_core_core_bf, BoundPlayerFactory as ɵangular_packages_core_core_bj, getRootContext as ɵangular_packages_core_core_bp, loadInternal as ɵangular_packages_core_core_bo, createElementRef as ɵangular_packages_core_core_g, createTemplateRef as ɵangular_packages_core_core_h, createViewRef as ɵangular_packages_core_core_i, getUrlSanitizer as ɵangular_packages_core_core_bh, noSideEffects as ɵangular_packages_core_core_bn, makeParamDecorator as ɵangular_packages_core_core_bk, makePropDecorator as ɵangular_packages_core_core_bl, getClosureSafeProperty as ɵangular_packages_core_core_bq, _def as ɵangular_packages_core_core_z, DebugContext as ɵangular_packages_core_core_ba, createPlatform, assertPlatform, destroyPlatform, getPlatform, PlatformRef, ApplicationRef, createPlatformFactory, NgProbeToken, enableProdMode, isDevMode, APP_ID, PACKAGE_ROOT_URL, PLATFORM_INITIALIZER, PLATFORM_ID, APP_BOOTSTRAP_LISTENER, APP_INITIALIZER, ApplicationInitStatus, DebugElement, DebugEventListener, DebugNode, asNativeElements, getDebugNode, Testability, TestabilityRegistry, setTestabilityGetter, TRANSLATIONS$1 as TRANSLATIONS, TRANSLATIONS_FORMAT, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ApplicationModule, wtfCreateScope, wtfLeave, wtfStartTimeRange, wtfEndTimeRange, Type, EventEmitter, ErrorHandler, Sanitizer, SecurityContext, Attribute, ANALYZE_FOR_ENTRY_COMPONENTS, ContentChild, ContentChildren, Query, ViewChild, ViewChildren, Component, Directive, HostBinding, HostListener, Input, Output, Pipe, NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, ViewEncapsulation, Version, VERSION, InjectFlags, ɵɵdefineInjectable, defineInjectable, ɵɵdefineInjector, forwardRef, resolveForwardRef, Injectable, Injector, ɵɵinject, inject, INJECTOR, ReflectiveInjector, ResolvedReflectiveFactory, ReflectiveKey, InjectionToken, Inject, Optional, Self, SkipSelf, Host, ɵ0, ɵ1, NgZone, NoopNgZone as ɵNoopNgZone, RenderComponentType, Renderer, Renderer2, RendererFactory2, RendererStyleFlags2, RootRenderer, COMPILER_OPTIONS, Compiler, CompilerFactory, ModuleWithComponentFactories, ComponentFactory, ComponentFactory as ɵComponentFactory, ComponentRef, ComponentFactoryResolver, ElementRef, NgModuleFactory, NgModuleRef, NgModuleFactoryLoader, getModuleFactory, QueryList, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TemplateRef, ViewContainerRef, EmbeddedViewRef, ViewRef$1 as ViewRef, ChangeDetectionStrategy, ChangeDetectorRef, DefaultIterableDiffer, IterableDiffers, KeyValueDiffers, SimpleChange, WrappedValue, platformCore, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, devModeEqual as ɵdevModeEqual, isListLikeIterable as ɵisListLikeIterable, ChangeDetectorStatus as ɵChangeDetectorStatus, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, Console as ɵConsole, setCurrentInjector as ɵsetCurrentInjector, getInjectableDef as ɵgetInjectableDef, APP_ROOT as ɵAPP_ROOT, ivyEnabled as ɵivyEnabled, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, resolveComponentResources as ɵresolveComponentResources, ReflectionCapabilities as ɵReflectionCapabilities, RenderDebugInfo as ɵRenderDebugInfo, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeStyle as ɵ_sanitizeStyle, _sanitizeUrl as ɵ_sanitizeUrl, _global as ɵglobal, looseIdentical as ɵlooseIdentical, stringify as ɵstringify, makeDecorator as ɵmakeDecorator, isObservable as ɵisObservable, isPromise as ɵisPromise, clearOverrides as ɵclearOverrides, initServicesIfNeeded as ɵinitServicesIfNeeded, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, getLocalePluralCase as ɵgetLocalePluralCase, findLocaleData as ɵfindLocaleData, LOCALE_DATA as ɵLOCALE_DATA, LocaleDataIndex as ɵLocaleDataIndex, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵdefineBase, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefinePipe, ɵɵdefineNgModule, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, ɵɵdirectiveInject, ɵɵinjectAttribute, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵtemplateRefExtractor, ɵɵProvidersFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleRef$1 as ɵRender3NgModuleRef, markDirty as ɵmarkDirty, NgModuleFactory$1 as ɵNgModuleFactory, NO_CHANGE as ɵNO_CHANGE, ɵɵcontainer, ɵɵnextContext, ɵɵelementStart, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵelement, ɵɵlistener, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵembeddedViewStart, ɵɵprojection, ɵɵinterpolation1, ɵɵinterpolation2, ɵɵinterpolation3, ɵɵinterpolation4, ɵɵinterpolation5, ɵɵinterpolation6, ɵɵinterpolation7, ɵɵinterpolation8, ɵɵinterpolationV, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵgetCurrentView, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, ɵɵrestoreView, ɵɵcontainerRefreshStart, ɵɵcontainerRefreshEnd, ɵɵqueryRefresh, ɵɵviewQuery, ɵɵstaticViewQuery, ɵɵstaticContentQuery, ɵɵloadViewQuery, ɵɵcontentQuery, ɵɵloadContentQuery, ɵɵelementEnd, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵupdateSyntheticHostBinding, ɵɵcomponentHostSyntheticListener, ɵɵprojectionDef, ɵɵreference, ɵɵenableBindings, ɵɵdisableBindings, ɵɵallocHostVars, ɵɵelementContainerStart, ɵɵelementContainerEnd, ɵɵstyling, ɵɵstyleMap, ɵɵclassMap, ɵɵstyleProp, ɵɵstylingApply, ɵɵclassProp, ɵɵelementHostAttrs, ɵɵselect, ɵɵtextBinding, ɵɵtemplate, ɵɵembeddedViewEnd, store as ɵstore, ɵɵload, ɵɵpipe, whenRendered as ɵwhenRendered, ɵɵi18n, ɵɵi18nAttributes, ɵɵi18nExp, ɵɵi18nStart, ɵɵi18nEnd, ɵɵi18nApply, ɵɵi18nPostprocess, i18nConfigureLocalize as ɵi18nConfigureLocalize, ɵɵi18nLocalize, setLocaleId as ɵsetLocaleId, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, setClassMetadata as ɵsetClassMetadata, ɵɵresolveWindow, ɵɵresolveDocument, ɵɵresolveBody, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, patchComponentDefWithScope as ɵpatchComponentDefWithScope, resetCompiledComponents as ɵresetCompiledComponents, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, transitiveScopesFor as ɵtransitiveScopesFor, compilePipe as ɵcompilePipe, ɵɵsanitizeHtml, ɵɵsanitizeStyle, ɵɵdefaultStyleSanitizer, ɵɵsanitizeScript, ɵɵsanitizeUrl, ɵɵsanitizeResourceUrl, ɵɵsanitizeUrlOrResourceUrl, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, getLContext as ɵgetLContext, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_COMPONENT_DEF as ɵNG_COMPONENT_DEF, NG_DIRECTIVE_DEF as ɵNG_DIRECTIVE_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_MODULE_DEF as ɵNG_MODULE_DEF, NG_BASE_DEF as ɵNG_BASE_DEF, NG_INJECTABLE_DEF as ɵNG_INJECTABLE_DEF, NG_INJECTOR_DEF as ɵNG_INJECTOR_DEF, bindPlayerFactory as ɵbindPlayerFactory, addPlayer as ɵaddPlayer, getPlayers as ɵgetPlayers, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, registerNgModuleType as ɵregisterNgModuleType, publishGlobalUtil as ɵpublishGlobalUtil, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, createInjector as ɵcreateInjector, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, registerModuleFactory as ɵregisterModuleFactory, EMPTY_ARRAY$3 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, anchorDef as ɵand, createComponentFactory as ɵccf, createNgModuleFactory as ɵcmf, createRendererType2 as ɵcrt, directiveDef as ɵdid, elementDef as ɵeld, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, pipeDef as ɵpid, providerDef as ɵprd, pureArrayDef as ɵpad, pureObjectDef as ɵpod, purePipeDef as ɵppd, queryDef as ɵqud, textDef as ɵted, unwrapValue as ɵunv, viewDef as ɵvid };
|
|
30997
31113
|
//# sourceMappingURL=core.js.map
|