@ionic/angular 8.8.9-dev.11781024903.1e4268e5 → 8.8.9-dev.11781098612.122c6758
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/README.md +1 -1
- package/css/core.css +1 -1
- package/css/core.css.map +1 -1
- package/css/display.css +1 -1
- package/css/display.css.map +1 -1
- package/css/flex-utils.css +1 -1
- package/css/flex-utils.css.map +1 -1
- package/css/float-elements.css.map +1 -1
- package/css/global.bundle.css.map +1 -1
- package/css/ionic-swiper.css +1 -1
- package/css/ionic-swiper.css.map +1 -1
- package/css/ionic.bundle.css +1 -1
- package/css/ionic.bundle.css.map +1 -1
- package/css/normalize.css.map +1 -1
- package/css/padding.css.map +1 -1
- package/css/palettes/dark.always.css.map +1 -1
- package/css/palettes/dark.class.css.map +1 -1
- package/css/palettes/dark.system.css.map +1 -1
- package/css/palettes/high-contrast-dark.always.css.map +1 -1
- package/css/palettes/high-contrast-dark.class.css.map +1 -1
- package/css/palettes/high-contrast-dark.system.css.map +1 -1
- package/css/palettes/high-contrast.always.css.map +1 -1
- package/css/palettes/high-contrast.class.css.map +1 -1
- package/css/palettes/high-contrast.system.css.map +1 -1
- package/css/structure.css.map +1 -1
- package/css/text-alignment.css.map +1 -1
- package/css/text-transformation.css.map +1 -1
- package/css/typography.css.map +1 -1
- package/css/utils.bundle.css +1 -1
- package/css/utils.bundle.css.map +1 -1
- package/fesm2022/ionic-angular-common.mjs +107 -93
- package/fesm2022/ionic-angular-common.mjs.map +1 -1
- package/fesm2022/ionic-angular-standalone.mjs +900 -882
- package/fesm2022/ionic-angular-standalone.mjs.map +1 -1
- package/fesm2022/ionic-angular.mjs +1087 -752
- package/fesm2022/ionic-angular.mjs.map +1 -1
- package/package.json +16 -16
- package/schematics/add/index.js +2 -2
- package/schematics/utils/ast.js +35 -3
- package/schematics/utils/config.js +10 -11
- package/schematics/utils/package.js +5 -2
- package/types/ionic-angular-common.d.ts +1021 -0
- package/types/ionic-angular-standalone.d.ts +1560 -0
- package/{directives/proxies.d.ts → types/ionic-angular.d.ts} +703 -469
- package/app-initialize.d.ts +0 -3
- package/common/directives/control-value-accessors/index.d.ts +0 -1
- package/common/directives/control-value-accessors/value-accessor.d.ts +0 -36
- package/common/directives/navigation/back-button.d.ts +0 -23
- package/common/directives/navigation/nav-params.d.ts +0 -45
- package/common/directives/navigation/nav.d.ts +0 -21
- package/common/directives/navigation/router-link-delegate.d.ts +0 -60
- package/common/directives/navigation/router-outlet.d.ts +0 -104
- package/common/directives/navigation/stack-controller.d.ts +0 -42
- package/common/directives/navigation/stack-utils.d.ts +0 -38
- package/common/directives/navigation/tabs.d.ts +0 -83
- package/common/index.d.ts +0 -22
- package/common/overlays/modal.d.ts +0 -62
- package/common/overlays/popover.d.ts +0 -46
- package/common/providers/angular-delegate.d.ts +0 -28
- package/common/providers/config.d.ts +0 -11
- package/common/providers/dom-controller.d.ts +0 -16
- package/common/providers/menu-controller.d.ts +0 -78
- package/common/providers/nav-controller.d.ts +0 -116
- package/common/providers/platform.d.ts +0 -174
- package/common/types/interfaces.d.ts +0 -8
- package/common/types/ionic-lifecycle-hooks.d.ts +0 -27
- package/common/types/overlay-options.d.ts +0 -16
- package/common/utils/overlay.d.ts +0 -21
- package/common/utils/proxy.d.ts +0 -8
- package/common/utils/routing.d.ts +0 -28
- package/common/utils/util.d.ts +0 -1
- package/css/ionic/bundle.ionic.css +0 -1
- package/css/ionic/bundle.ionic.css.map +0 -1
- package/css/ionic/core.ionic.css +0 -1
- package/css/ionic/core.ionic.css.map +0 -1
- package/css/ionic/global.bundle.ionic.css +0 -1
- package/css/ionic/global.bundle.ionic.css.map +0 -1
- package/css/ionic/ionic-swiper.ionic.css +0 -1
- package/css/ionic/ionic-swiper.ionic.css.map +0 -1
- package/css/ionic/link.ionic.css +0 -1
- package/css/ionic/link.ionic.css.map +0 -1
- package/css/ionic/structure.ionic.css +0 -1
- package/css/ionic/structure.ionic.css.map +0 -1
- package/css/ionic/typography.ionic.css +0 -1
- package/css/ionic/typography.ionic.css.map +0 -1
- package/css/ionic/utils.bundle.ionic.css +0 -1
- package/css/ionic/utils.bundle.ionic.css.map +0 -1
- package/directives/angular-component-lib/utils.d.ts +0 -9
- package/directives/control-value-accessors/boolean-value-accessor.d.ts +0 -10
- package/directives/control-value-accessors/index.d.ts +0 -4
- package/directives/control-value-accessors/numeric-value-accessor.d.ts +0 -11
- package/directives/control-value-accessors/select-value-accessor.d.ts +0 -9
- package/directives/control-value-accessors/text-value-accessor.d.ts +0 -9
- package/directives/navigation/ion-back-button.d.ts +0 -9
- package/directives/navigation/ion-nav.d.ts +0 -8
- package/directives/navigation/ion-router-outlet.d.ts +0 -25
- package/directives/navigation/ion-tabs.d.ts +0 -13
- package/directives/navigation/router-link-delegate.d.ts +0 -16
- package/directives/overlays/modal.d.ts +0 -6
- package/directives/overlays/popover.d.ts +0 -6
- package/directives/proxies-list.d.ts +0 -2
- package/directives/validators/index.d.ts +0 -2
- package/directives/validators/max-validator.d.ts +0 -12
- package/directives/validators/min-validator.d.ts +0 -12
- package/esm2022/app-initialize.mjs +0 -29
- package/esm2022/common/directives/control-value-accessors/index.mjs +0 -2
- package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +0 -153
- package/esm2022/common/directives/navigation/back-button.mjs +0 -61
- package/esm2022/common/directives/navigation/nav-params.mjs +0 -47
- package/esm2022/common/directives/navigation/nav.mjs +0 -49
- package/esm2022/common/directives/navigation/router-link-delegate.mjs +0 -156
- package/esm2022/common/directives/navigation/router-outlet.mjs +0 -480
- package/esm2022/common/directives/navigation/stack-controller.mjs +0 -280
- package/esm2022/common/directives/navigation/stack-utils.mjs +0 -73
- package/esm2022/common/directives/navigation/tabs.mjs +0 -279
- package/esm2022/common/index.mjs +0 -20
- package/esm2022/common/ionic-angular-common.mjs +0 -5
- package/esm2022/common/overlays/modal.mjs +0 -103
- package/esm2022/common/overlays/popover.mjs +0 -91
- package/esm2022/common/providers/angular-delegate.mjs +0 -203
- package/esm2022/common/providers/config.mjs +0 -45
- package/esm2022/common/providers/dom-controller.mjs +0 -45
- package/esm2022/common/providers/menu-controller.mjs +0 -114
- package/esm2022/common/providers/nav-controller.mjs +0 -235
- package/esm2022/common/providers/platform.mjs +0 -258
- package/esm2022/common/types/interfaces.mjs +0 -2
- package/esm2022/common/types/ionic-lifecycle-hooks.mjs +0 -5
- package/esm2022/common/types/overlay-options.mjs +0 -2
- package/esm2022/common/utils/overlay.mjs +0 -26
- package/esm2022/common/utils/proxy.mjs +0 -47
- package/esm2022/common/utils/routing.mjs +0 -55
- package/esm2022/common/utils/util.mjs +0 -10
- package/esm2022/directives/angular-component-lib/utils.mjs +0 -59
- package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +0 -42
- package/esm2022/directives/control-value-accessors/index.mjs +0 -5
- package/esm2022/directives/control-value-accessors/numeric-value-accessor.mjs +0 -50
- package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +0 -39
- package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +0 -38
- package/esm2022/directives/navigation/ion-back-button.mjs +0 -24
- package/esm2022/directives/navigation/ion-nav.mjs +0 -21
- package/esm2022/directives/navigation/ion-router-outlet.mjs +0 -52
- package/esm2022/directives/navigation/ion-tabs.mjs +0 -59
- package/esm2022/directives/navigation/router-link-delegate.mjs +0 -32
- package/esm2022/directives/overlays/modal.mjs +0 -22
- package/esm2022/directives/overlays/popover.mjs +0 -18
- package/esm2022/directives/proxies-list.mjs +0 -92
- package/esm2022/directives/proxies.mjs +0 -2438
- package/esm2022/directives/validators/index.mjs +0 -3
- package/esm2022/directives/validators/max-validator.mjs +0 -27
- package/esm2022/directives/validators/min-validator.mjs +0 -27
- package/esm2022/index.mjs +0 -32
- package/esm2022/ionic-angular.mjs +0 -5
- package/esm2022/ionic-module.mjs +0 -111
- package/esm2022/providers/action-sheet-controller.mjs +0 -19
- package/esm2022/providers/alert-controller.mjs +0 -19
- package/esm2022/providers/animation-controller.mjs +0 -38
- package/esm2022/providers/gesture-controller.mjs +0 -33
- package/esm2022/providers/loading-controller.mjs +0 -19
- package/esm2022/providers/menu-controller.mjs +0 -19
- package/esm2022/providers/modal-controller.mjs +0 -26
- package/esm2022/providers/picker-controller.mjs +0 -22
- package/esm2022/providers/popover-controller.mjs +0 -19
- package/esm2022/providers/toast-controller.mjs +0 -19
- package/esm2022/standalone/directives/angular-component-lib/utils.mjs +0 -59
- package/esm2022/standalone/directives/checkbox.mjs +0 -76
- package/esm2022/standalone/directives/datetime.mjs +0 -95
- package/esm2022/standalone/directives/icon.mjs +0 -35
- package/esm2022/standalone/directives/index.mjs +0 -13
- package/esm2022/standalone/directives/input-otp.mjs +0 -90
- package/esm2022/standalone/directives/input.mjs +0 -113
- package/esm2022/standalone/directives/proxies.mjs +0 -2326
- package/esm2022/standalone/directives/radio-group.mjs +0 -60
- package/esm2022/standalone/directives/range.mjs +0 -78
- package/esm2022/standalone/directives/searchbar.mjs +0 -82
- package/esm2022/standalone/directives/segment.mjs +0 -60
- package/esm2022/standalone/directives/select.mjs +0 -84
- package/esm2022/standalone/directives/textarea.mjs +0 -91
- package/esm2022/standalone/directives/toggle.mjs +0 -76
- package/esm2022/standalone/index.mjs +0 -25
- package/esm2022/standalone/ionic-angular-standalone.mjs +0 -5
- package/esm2022/standalone/navigation/back-button.mjs +0 -32
- package/esm2022/standalone/navigation/nav.mjs +0 -28
- package/esm2022/standalone/navigation/router-link-delegate.mjs +0 -28
- package/esm2022/standalone/navigation/router-outlet.mjs +0 -60
- package/esm2022/standalone/navigation/tabs.mjs +0 -58
- package/esm2022/standalone/overlays/modal.mjs +0 -32
- package/esm2022/standalone/overlays/popover.mjs +0 -28
- package/esm2022/standalone/providers/action-sheet-controller.mjs +0 -21
- package/esm2022/standalone/providers/alert-controller.mjs +0 -21
- package/esm2022/standalone/providers/animation-controller.mjs +0 -38
- package/esm2022/standalone/providers/gesture-controller.mjs +0 -33
- package/esm2022/standalone/providers/ionic-angular.mjs +0 -38
- package/esm2022/standalone/providers/loading-controller.mjs +0 -21
- package/esm2022/standalone/providers/menu-controller.mjs +0 -19
- package/esm2022/standalone/providers/modal-controller.mjs +0 -28
- package/esm2022/standalone/providers/picker-controller.mjs +0 -24
- package/esm2022/standalone/providers/popover-controller.mjs +0 -21
- package/esm2022/standalone/providers/toast-controller.mjs +0 -21
- package/index.d.ts +0 -27
- package/ionic-module.d.ts +0 -28
- package/providers/action-sheet-controller.d.ts +0 -8
- package/providers/alert-controller.d.ts +0 -8
- package/providers/animation-controller.d.ts +0 -25
- package/providers/gesture-controller.d.ts +0 -13
- package/providers/loading-controller.d.ts +0 -8
- package/providers/menu-controller.d.ts +0 -7
- package/providers/modal-controller.d.ts +0 -12
- package/providers/picker-controller.d.ts +0 -11
- package/providers/popover-controller.d.ts +0 -9
- package/providers/toast-controller.d.ts +0 -8
- package/standalone/directives/angular-component-lib/utils.d.ts +0 -9
- package/standalone/directives/checkbox.d.ts +0 -30
- package/standalone/directives/datetime.d.ts +0 -30
- package/standalone/directives/icon.d.ts +0 -9
- package/standalone/directives/index.d.ts +0 -12
- package/standalone/directives/input-otp.d.ts +0 -49
- package/standalone/directives/input.d.ts +0 -47
- package/standalone/directives/proxies.d.ts +0 -1053
- package/standalone/directives/radio-group.d.ts +0 -18
- package/standalone/directives/range.d.ts +0 -47
- package/standalone/directives/searchbar.d.ts +0 -45
- package/standalone/directives/segment.d.ts +0 -19
- package/standalone/directives/select.d.ts +0 -34
- package/standalone/directives/textarea.d.ts +0 -37
- package/standalone/directives/toggle.d.ts +0 -28
- package/standalone/index.d.ts +0 -23
- package/standalone/navigation/back-button.d.ts +0 -9
- package/standalone/navigation/nav.d.ts +0 -8
- package/standalone/navigation/router-link-delegate.d.ts +0 -10
- package/standalone/navigation/router-outlet.d.ts +0 -25
- package/standalone/navigation/tabs.d.ts +0 -13
- package/standalone/overlays/modal.d.ts +0 -6
- package/standalone/overlays/popover.d.ts +0 -6
- package/standalone/providers/action-sheet-controller.d.ts +0 -8
- package/standalone/providers/alert-controller.d.ts +0 -8
- package/standalone/providers/animation-controller.d.ts +0 -25
- package/standalone/providers/gesture-controller.d.ts +0 -13
- package/standalone/providers/ionic-angular.d.ts +0 -7
- package/standalone/providers/loading-controller.d.ts +0 -8
- package/standalone/providers/menu-controller.d.ts +0 -7
- package/standalone/providers/modal-controller.d.ts +0 -12
- package/standalone/providers/picker-controller.d.ts +0 -11
- package/standalone/providers/popover-controller.d.ts +0 -9
- package/standalone/providers/toast-controller.d.ts +0 -8
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import { ApplicationRef, createComponent, inject, Injectable, InjectionToken, Injector, NgZone, } from '@angular/core';
|
|
2
|
-
import { LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_WILL_UNLOAD, } from '@ionic/core/components';
|
|
3
|
-
import { NavParams } from '../directives/navigation/nav-params';
|
|
4
|
-
import { ConfigToken } from './config';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
// Token for injecting the modal element
|
|
7
|
-
export const IonModalToken = new InjectionToken('IonModalToken');
|
|
8
|
-
// TODO(FW-2827): types
|
|
9
|
-
class AngularDelegate {
|
|
10
|
-
zone = inject(NgZone);
|
|
11
|
-
applicationRef = inject(ApplicationRef);
|
|
12
|
-
config = inject(ConfigToken);
|
|
13
|
-
create(environmentInjector, injector, elementReferenceKey, customInjector) {
|
|
14
|
-
return new AngularFrameworkDelegate(environmentInjector, injector, this.applicationRef, this.zone, elementReferenceKey, this.config.useSetInputAPI ?? false, customInjector);
|
|
15
|
-
}
|
|
16
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDelegate, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDelegate });
|
|
18
|
-
}
|
|
19
|
-
export { AngularDelegate };
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AngularDelegate, decorators: [{
|
|
21
|
-
type: Injectable
|
|
22
|
-
}] });
|
|
23
|
-
export class AngularFrameworkDelegate {
|
|
24
|
-
environmentInjector;
|
|
25
|
-
injector;
|
|
26
|
-
applicationRef;
|
|
27
|
-
zone;
|
|
28
|
-
elementReferenceKey;
|
|
29
|
-
enableSignalsSupport;
|
|
30
|
-
customInjector;
|
|
31
|
-
elRefMap = new WeakMap();
|
|
32
|
-
elEventsMap = new WeakMap();
|
|
33
|
-
constructor(environmentInjector, injector, applicationRef, zone, elementReferenceKey, enableSignalsSupport, customInjector) {
|
|
34
|
-
this.environmentInjector = environmentInjector;
|
|
35
|
-
this.injector = injector;
|
|
36
|
-
this.applicationRef = applicationRef;
|
|
37
|
-
this.zone = zone;
|
|
38
|
-
this.elementReferenceKey = elementReferenceKey;
|
|
39
|
-
this.enableSignalsSupport = enableSignalsSupport;
|
|
40
|
-
this.customInjector = customInjector;
|
|
41
|
-
}
|
|
42
|
-
attachViewToDom(container, component, params, cssClasses) {
|
|
43
|
-
return this.zone.run(() => {
|
|
44
|
-
return new Promise((resolve) => {
|
|
45
|
-
const componentProps = {
|
|
46
|
-
...params,
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Ionic Angular passes a reference to a modal
|
|
50
|
-
* or popover that can be accessed using a
|
|
51
|
-
* variable in the overlay component. If
|
|
52
|
-
* elementReferenceKey is defined, then we should
|
|
53
|
-
* pass a reference to the component using
|
|
54
|
-
* elementReferenceKey as the key.
|
|
55
|
-
*/
|
|
56
|
-
if (this.elementReferenceKey !== undefined) {
|
|
57
|
-
componentProps[this.elementReferenceKey] = container;
|
|
58
|
-
}
|
|
59
|
-
const el = attachView(this.zone, this.environmentInjector, this.injector, this.applicationRef, this.elRefMap, this.elEventsMap, container, component, componentProps, cssClasses, this.elementReferenceKey, this.enableSignalsSupport, this.customInjector);
|
|
60
|
-
resolve(el);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
removeViewFromDom(_container, component) {
|
|
65
|
-
return this.zone.run(() => {
|
|
66
|
-
return new Promise((resolve) => {
|
|
67
|
-
const componentRef = this.elRefMap.get(component);
|
|
68
|
-
if (componentRef) {
|
|
69
|
-
componentRef.destroy();
|
|
70
|
-
this.elRefMap.delete(component);
|
|
71
|
-
const unbindEvents = this.elEventsMap.get(component);
|
|
72
|
-
if (unbindEvents) {
|
|
73
|
-
unbindEvents();
|
|
74
|
-
this.elEventsMap.delete(component);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
resolve();
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
export const attachView = (zone, environmentInjector, injector, applicationRef, elRefMap, elEventsMap, container, component, params, cssClasses, elementReferenceKey, enableSignalsSupport, customInjector) => {
|
|
83
|
-
/**
|
|
84
|
-
* Wraps the injector with a custom injector that
|
|
85
|
-
* provides NavParams to the component.
|
|
86
|
-
*
|
|
87
|
-
* NavParams is a legacy feature from Ionic v3 that allows
|
|
88
|
-
* Angular developers to provide data to a component
|
|
89
|
-
* and access it by providing NavParams as a dependency
|
|
90
|
-
* in the constructor.
|
|
91
|
-
*
|
|
92
|
-
* The modern approach is to access the data directly
|
|
93
|
-
* from the component's class instance.
|
|
94
|
-
*/
|
|
95
|
-
const providers = getProviders(params);
|
|
96
|
-
// If this is an ion-modal, provide the modal element as an injectable
|
|
97
|
-
// so components inside the modal can inject it directly
|
|
98
|
-
if (container.tagName.toLowerCase() === 'ion-modal') {
|
|
99
|
-
providers.push({
|
|
100
|
-
provide: IonModalToken,
|
|
101
|
-
useValue: container,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
const childInjector = Injector.create({
|
|
105
|
-
providers,
|
|
106
|
-
parent: customInjector ?? injector,
|
|
107
|
-
});
|
|
108
|
-
const componentRef = createComponent(component, {
|
|
109
|
-
environmentInjector,
|
|
110
|
-
elementInjector: childInjector,
|
|
111
|
-
});
|
|
112
|
-
const instance = componentRef.instance;
|
|
113
|
-
const hostElement = componentRef.location.nativeElement;
|
|
114
|
-
if (params) {
|
|
115
|
-
/**
|
|
116
|
-
* For modals and popovers, a reference to the component is
|
|
117
|
-
* added to `params` during the call to attachViewToDom. If
|
|
118
|
-
* a reference using this name is already set, this means
|
|
119
|
-
* the app is trying to use the name as a component prop,
|
|
120
|
-
* which will cause collisions.
|
|
121
|
-
*/
|
|
122
|
-
if (elementReferenceKey && instance[elementReferenceKey] !== undefined) {
|
|
123
|
-
console.error(`[Ionic Error]: ${elementReferenceKey} is a reserved property when using ${container.tagName.toLowerCase()}. Rename or remove the "${elementReferenceKey}" property from ${component.name}.`);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Angular 14.1 added support for setInput
|
|
127
|
-
* so we need to fall back to Object.assign
|
|
128
|
-
* for Angular 14.0.
|
|
129
|
-
*/
|
|
130
|
-
if (enableSignalsSupport === true && componentRef.setInput !== undefined) {
|
|
131
|
-
const { modal, popover, ...otherParams } = params;
|
|
132
|
-
/**
|
|
133
|
-
* Any key/value pairs set in componentProps
|
|
134
|
-
* must be set as inputs on the component instance.
|
|
135
|
-
*/
|
|
136
|
-
for (const key in otherParams) {
|
|
137
|
-
componentRef.setInput(key, otherParams[key]);
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Using setInput will cause an error when
|
|
141
|
-
* setting modal/popover on a component that
|
|
142
|
-
* does not define them as an input. For backwards
|
|
143
|
-
* compatibility purposes we fall back to using
|
|
144
|
-
* Object.assign for these properties.
|
|
145
|
-
*/
|
|
146
|
-
if (modal !== undefined) {
|
|
147
|
-
Object.assign(instance, { modal });
|
|
148
|
-
}
|
|
149
|
-
if (popover !== undefined) {
|
|
150
|
-
Object.assign(instance, { popover });
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
Object.assign(instance, params);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
if (cssClasses) {
|
|
158
|
-
for (const cssClass of cssClasses) {
|
|
159
|
-
hostElement.classList.add(cssClass);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
const unbindEvents = bindLifecycleEvents(zone, instance, hostElement);
|
|
163
|
-
container.appendChild(hostElement);
|
|
164
|
-
applicationRef.attachView(componentRef.hostView);
|
|
165
|
-
elRefMap.set(hostElement, componentRef);
|
|
166
|
-
elEventsMap.set(hostElement, unbindEvents);
|
|
167
|
-
return hostElement;
|
|
168
|
-
};
|
|
169
|
-
const LIFECYCLES = [
|
|
170
|
-
LIFECYCLE_WILL_ENTER,
|
|
171
|
-
LIFECYCLE_DID_ENTER,
|
|
172
|
-
LIFECYCLE_WILL_LEAVE,
|
|
173
|
-
LIFECYCLE_DID_LEAVE,
|
|
174
|
-
LIFECYCLE_WILL_UNLOAD,
|
|
175
|
-
];
|
|
176
|
-
export const bindLifecycleEvents = (zone, instance, element) => {
|
|
177
|
-
return zone.run(() => {
|
|
178
|
-
const unregisters = LIFECYCLES.filter((eventName) => typeof instance[eventName] === 'function').map((eventName) => {
|
|
179
|
-
const handler = (ev) => instance[eventName](ev.detail);
|
|
180
|
-
element.addEventListener(eventName, handler);
|
|
181
|
-
return () => element.removeEventListener(eventName, handler);
|
|
182
|
-
});
|
|
183
|
-
return () => unregisters.forEach((fn) => fn());
|
|
184
|
-
});
|
|
185
|
-
};
|
|
186
|
-
const NavParamsToken = new InjectionToken('NavParamsToken');
|
|
187
|
-
const getProviders = (params) => {
|
|
188
|
-
return [
|
|
189
|
-
{
|
|
190
|
-
provide: NavParamsToken,
|
|
191
|
-
useValue: params,
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
provide: NavParams,
|
|
195
|
-
useFactory: provideNavParamsInjectable,
|
|
196
|
-
deps: [NavParamsToken],
|
|
197
|
-
},
|
|
198
|
-
];
|
|
199
|
-
};
|
|
200
|
-
const provideNavParamsInjectable = (params) => {
|
|
201
|
-
return new NavParams(params);
|
|
202
|
-
};
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kZWxlZ2F0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvcHJvdmlkZXJzL2FuZ3VsYXItZGVsZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFFZCxlQUFlLEVBRWYsTUFBTSxFQUNOLFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUN0QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUV2Qyx3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFzQixlQUFlLENBQUMsQ0FBQztBQUV0Rix1QkFBdUI7QUFFdkIsTUFDYSxlQUFlO0lBQ2xCLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXJDLE1BQU0sQ0FDSixtQkFBd0MsRUFDeEMsUUFBa0IsRUFDbEIsbUJBQTRCLEVBQzVCLGNBQXlCO1FBRXpCLE9BQU8sSUFBSSx3QkFBd0IsQ0FDakMsbUJBQW1CLEVBQ25CLFFBQVEsRUFDUixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsSUFBSSxFQUNULG1CQUFtQixFQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxLQUFLLEVBQ25DLGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQzsySEFwQlUsZUFB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QUNsQixVQUFVLEVBQUUsMEJBQTBCO1lBQ3RDLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQztTQUN2QjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLDBCQUEwQixHQUFHLENBQUMsTUFBOEIsRUFBRSxFQUFFO0lBQ3BFLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXBwbGljYXRpb25SZWYsXG4gIENvbXBvbmVudFJlZixcbiAgY3JlYXRlQ29tcG9uZW50LFxuICBFbnZpcm9ubWVudEluamVjdG9yLFxuICBpbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgTmdab25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZyYW1ld29ya0RlbGVnYXRlLFxuICBMSUZFQ1lDTEVfRElEX0VOVEVSLFxuICBMSUZFQ1lDTEVfRElEX0xFQVZFLFxuICBMSUZFQ1lDTEVfV0lMTF9FTlRFUixcbiAgTElGRUNZQ0xFX1dJTExfTEVBVkUsXG4gIExJRkVDWUNMRV9XSUxMX1VOTE9BRCxcbn0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IE5hdlBhcmFtcyB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbmF2aWdhdGlvbi9uYXYtcGFyYW1zJztcblxuaW1wb3J0IHsgQ29uZmlnVG9rZW4gfSBmcm9tICcuL2NvbmZpZyc7XG5cbi8vIFRva2VuIGZvciBpbmplY3RpbmcgdGhlIG1vZGFsIGVsZW1lbnRcbmV4cG9ydCBjb25zdCBJb25Nb2RhbFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPEhUTUxJb25Nb2RhbEVsZW1lbnQ+KCdJb25Nb2RhbFRva2VuJyk7XG5cbi8vIFRPRE8oRlctMjgyNyk6IHR5cGVzXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRGVsZWdhdGUge1xuICBwcml2YXRlIHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KENvbmZpZ1Rva2VuKTtcblxuICBjcmVhdGUoXG4gICAgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgZWxlbWVudFJlZmVyZW5jZUtleT86IHN0cmluZyxcbiAgICBjdXN0b21JbmplY3Rvcj86IEluamVjdG9yXG4gICk6IEFuZ3VsYXJGcmFtZXdvcmtEZWxlZ2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyRnJhbWV3b3JrRGVsZWdhdGUoXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgaW5qZWN0b3IsXG4gICAgICB0aGlzLmFwcGxpY2F0aW9uUmVmLFxuICAgICAgdGhpcy56b25lLFxuICAgICAgZWxlbWVudFJlZmVyZW5jZUtleSxcbiAgICAgIHRoaXMuY29uZmlnLnVzZVNldElucHV0QVBJID8/IGZhbHNlLFxuICAgICAgY3VzdG9tSW5qZWN0b3JcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBbmd1bGFyRnJhbWV3b3JrRGVsZWdhdGUgaW1wbGVtZW50cyBGcmFtZXdvcmtEZWxlZ2F0ZSB7XG4gIHByaXZhdGUgZWxSZWZNYXAgPSBuZXcgV2Vha01hcDxIVE1MRWxlbWVudCwgQ29tcG9uZW50UmVmPGFueT4+KCk7XG4gIHByaXZhdGUgZWxFdmVudHNNYXAgPSBuZXcgV2Vha01hcDxIVE1MRWxlbWVudCwgKCkgPT4gdm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVudmlyb25tZW50SW5qZWN0b3I6IEVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmZXJlbmNlS2V5Pzogc3RyaW5nLFxuICAgIHByaXZhdGUgZW5hYmxlU2lnbmFsc1N1cHBvcnQ/OiBib29sZWFuLFxuICAgIHByaXZhdGUgY3VzdG9tSW5qZWN0b3I/OiBJbmplY3RvclxuICApIHt9XG5cbiAgYXR0YWNoVmlld1RvRG9tKGNvbnRhaW5lcjogYW55LCBjb21wb25lbnQ6IGFueSwgcGFyYW1zPzogYW55LCBjc3NDbGFzc2VzPzogc3RyaW5nW10pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnpvbmUucnVuKCgpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICBjb25zdCBjb21wb25lbnRQcm9wcyA9IHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIH07XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIElvbmljIEFuZ3VsYXIgcGFzc2VzIGEgcmVmZXJlbmNlIHRvIGEgbW9kYWxcbiAgICAgICAgICogb3IgcG9wb3ZlciB0aGF0IGNhbiBiZSBhY2Nlc3NlZCB1c2luZyBhXG4gICAgICAgICAqIHZhcmlhYmxlIGluIHRoZSBvdmVybGF5IGNvbXBvbmVudC4gSWZcbiAgICAgICAgICogZWxlbWVudFJlZmVyZW5jZUtleSBpcyBkZWZpbmVkLCB0aGVuIHdlIHNob3VsZFxuICAgICAgICAgKiBwYXNzIGEgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgdXNpbmdcbiAgICAgICAgICogZWxlbWVudFJlZmVyZW5jZUtleSBhcyB0aGUga2V5LlxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudFJlZmVyZW5jZUtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY29tcG9uZW50UHJvcHNbdGhpcy5lbGVtZW50UmVmZXJlbmNlS2V5XSA9IGNvbnRhaW5lcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsID0gYXR0YWNoVmlldyhcbiAgICAgICAgICB0aGlzLnpvbmUsXG4gICAgICAgICAgdGhpcy5lbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgdGhpcy5hcHBsaWNhdGlvblJlZixcbiAgICAgICAgICB0aGlzLmVsUmVmTWFwLFxuICAgICAgICAgIHRoaXMuZWxFdmVudHNNYXAsXG4gICAgICAgICAgY29udGFpbmVyLFxuICAgICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgICBjb21wb25lbnRQcm9wcyxcbiAgICAgICAgICBjc3NDbGFzc2VzLFxuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZmVyZW5jZUtleSxcbiAgICAgICAgICB0aGlzLmVuYWJsZVNpZ25hbHNTdXBwb3J0LFxuICAgICAgICAgIHRoaXMuY3VzdG9tSW5qZWN0b3JcbiAgICAgICAgKTtcbiAgICAgICAgcmVzb2x2ZShlbCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZVZpZXdGcm9tRG9tKF9jb250YWluZXI6IGFueSwgY29tcG9uZW50OiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5lbFJlZk1hcC5nZXQoY29tcG9uZW50KTtcbiAgICAgICAgaWYgKGNvbXBvbmVudFJlZikge1xuICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgdGhpcy5lbFJlZk1hcC5kZWxldGUoY29tcG9uZW50KTtcbiAgICAgICAgICBjb25zdCB1bmJpbmRFdmVudHMgPSB0aGlzLmVsRXZlbnRzTWFwLmdldChjb21wb25lbnQpO1xuICAgICAgICAgIGlmICh1bmJpbmRFdmVudHMpIHtcbiAgICAgICAgICAgIHVuYmluZEV2ZW50cygpO1xuICAgICAgICAgICAgdGhpcy5lbEV2ZW50c01hcC5kZWxldGUoY29tcG9uZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGF0dGFjaFZpZXcgPSAoXG4gIHpvbmU6IE5nWm9uZSxcbiAgZW52aXJvbm1lbnRJbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgaW5qZWN0b3I6IEluamVjdG9yLFxuICBhcHBsaWNhdGlvblJlZjogQXBwbGljYXRpb25SZWYsXG4gIGVsUmVmTWFwOiBXZWFrTWFwPEhUTUxFbGVtZW50LCBDb21wb25lbnRSZWY8YW55Pj4sXG4gIGVsRXZlbnRzTWFwOiBXZWFrTWFwPEhUTUxFbGVtZW50LCAoKSA9PiB2b2lkPixcbiAgY29udGFpbmVyOiBhbnksXG4gIGNvbXBvbmVudDogYW55LFxuICBwYXJhbXM6IGFueSxcbiAgY3NzQ2xhc3Nlczogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4gIGVsZW1lbnRSZWZlcmVuY2VLZXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZW5hYmxlU2lnbmFsc1N1cHBvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG4gIGN1c3RvbUluamVjdG9yPzogSW5qZWN0b3Jcbik6IGFueSA9PiB7XG4gIC8qKlxuICAgKiBXcmFwcyB0aGUgaW5qZWN0b3Igd2l0aCBhIGN1c3RvbSBpbmplY3RvciB0aGF0XG4gICAqIHByb3ZpZGVzIE5hdlBhcmFtcyB0byB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBOYXZQYXJhbXMgaXMgYSBsZWdhY3kgZmVhdHVyZSBmcm9tIElvbmljIHYzIHRoYXQgYWxsb3dzXG4gICAqIEFuZ3VsYXIgZGV2ZWxvcGVycyB0byBwcm92aWRlIGRhdGEgdG8gYSBjb21wb25lbnRcbiAgICogYW5kIGFjY2VzcyBpdCBieSBwcm92aWRpbmcgTmF2UGFyYW1zIGFzIGEgZGVwZW5kZW5jeVxuICAgKiBpbiB0aGUgY29uc3RydWN0b3IuXG4gICAqXG4gICAqIFRoZSBtb2Rlcm4gYXBwcm9hY2ggaXMgdG8gYWNjZXNzIHRoZSBkYXRhIGRpcmVjdGx5XG4gICAqIGZyb20gdGhlIGNvbXBvbmVudCdzIGNsYXNzIGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3QgcHJvdmlkZXJzID0gZ2V0UHJvdmlkZXJzKHBhcmFtcyk7XG5cbiAgLy8gSWYgdGhpcyBpcyBhbiBpb24tbW9kYWwsIHByb3ZpZGUgdGhlIG1vZGFsIGVsZW1lbnQgYXMgYW4gaW5qZWN0YWJsZVxuICAvLyBzbyBjb21wb25lbnRzIGluc2lkZSB0aGUgbW9kYWwgY2FuIGluamVjdCBpdCBkaXJlY3RseVxuICBpZiAoY29udGFpbmVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lvbi1tb2RhbCcpIHtcbiAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICBwcm92aWRlOiBJb25Nb2RhbFRva2VuLFxuICAgICAgdXNlVmFsdWU6IGNvbnRhaW5lcixcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGNoaWxkSW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgIHByb3ZpZGVycyxcbiAgICBwYXJlbnQ6IGN1c3RvbUluamVjdG9yID8/IGluamVjdG9yLFxuICB9KTtcblxuICBjb25zdCBjb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQ8YW55Pihjb21wb25lbnQsIHtcbiAgICBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgIGVsZW1lbnRJbmplY3RvcjogY2hpbGRJbmplY3RvcixcbiAgfSk7XG5cbiAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gIGNvbnN0IGhvc3RFbGVtZW50ID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgaWYgKHBhcmFtcykge1xuICAgIC8qKlxuICAgICAqIEZvciBtb2RhbHMgYW5kIHBvcG92ZXJzLCBhIHJlZmVyZW5jZSB0byB0aGUgY29tcG9uZW50IGlzXG4gICAgICogYWRkZWQgdG8gYHBhcmFtc2AgZHVyaW5nIHRoZSBjYWxsIHRvIGF0dGFjaFZpZXdUb0RvbS4gSWZcbiAgICAgKiBhIHJlZmVyZW5jZSB1c2luZyB0aGlzIG5hbWUgaXMgYWxyZWFkeSBzZXQsIHRoaXMgbWVhbnNcbiAgICAgKiB0aGUgYXBwIGlzIHRyeWluZyB0byB1c2UgdGhlIG5hbWUgYXMgYSBjb21wb25lbnQgcHJvcCxcbiAgICAgKiB3aGljaCB3aWxsIGNhdXNlIGNvbGxpc2lvbnMuXG4gICAgICovXG4gICAgaWYgKGVsZW1lbnRSZWZlcmVuY2VLZXkgJiYgaW5zdGFuY2VbZWxlbWVudFJlZmVyZW5jZUtleV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYFtJb25pYyBFcnJvcl06ICR7ZWxlbWVudFJlZmVyZW5jZUtleX0gaXMgYSByZXNlcnZlZCBwcm9wZXJ0eSB3aGVuIHVzaW5nICR7Y29udGFpbmVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKX0uIFJlbmFtZSBvciByZW1vdmUgdGhlIFwiJHtlbGVtZW50UmVmZXJlbmNlS2V5fVwiIHByb3BlcnR5IGZyb20gJHtcbiAgICAgICAgICBjb21wb25lbnQubmFtZVxuICAgICAgICB9LmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW5ndWxhciAxNC4xIGFkZGVkIHN1cHBvcnQgZm9yIHNldElucHV0XG4gICAgICogc28gd2UgbmVlZCB0byBmYWxsIGJhY2sgdG8gT2JqZWN0LmFzc2lnblxuICAgICAqIGZvciBBbmd1bGFyIDE0LjAuXG4gICAgICovXG4gICAgaWYgKGVuYWJsZVNpZ25hbHNTdXBwb3J0ID09PSB0cnVlICYmIGNvbXBvbmVudFJlZi5zZXRJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCB7IG1vZGFsLCBwb3BvdmVyLCAuLi5vdGhlclBhcmFtcyB9ID0gcGFyYW1zO1xuICAgICAgLyoqXG4gICAgICAgKiBBbnkga2V5L3ZhbHVlIHBhaXJzIHNldCBpbiBjb21wb25lbnRQcm9wc1xuICAgICAgICogbXVzdCBiZSBzZXQgYXMgaW5wdXRzIG9uIHRoZSBjb21wb25lbnQgaW5zdGFuY2UuXG4gICAgICAgKi9cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG90aGVyUGFyYW1zKSB7XG4gICAgICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChrZXksIG90aGVyUGFyYW1zW2tleV0pO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFVzaW5nIHNldElucHV0IHdpbGwgY2F1c2UgYW4gZXJyb3Igd2hlblxuICAgICAgICogc2V0dGluZyBtb2RhbC9wb3BvdmVyIG9uIGEgY29tcG9uZW50IHRoYXRcbiAgICAgICAqIGRvZXMgbm90IGRlZmluZSB0aGVtIGFzIGFuIGlucHV0LiBGb3IgYmFja3dhcmRzXG4gICAgICAgKiBjb21wYXRpYmlsaXR5IHB1cnBvc2VzIHdlIGZhbGwgYmFjayB0byB1c2luZ1xuICAgICAgICogT2JqZWN0LmFzc2lnbiBmb3IgdGhlc2UgcHJvcGVydGllcy5cbiAgICAgICAqL1xuICAgICAgaWYgKG1vZGFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihpbnN0YW5jZSwgeyBtb2RhbCB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBvcG92ZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBPYmplY3QuYXNzaWduKGluc3RhbmNlLCB7IHBvcG92ZXIgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oaW5zdGFuY2UsIHBhcmFtcyk7XG4gICAgfVxuICB9XG4gIGlmIChjc3NDbGFzc2VzKSB7XG4gICAgZm9yIChjb25zdCBjc3NDbGFzcyBvZiBjc3NDbGFzc2VzKSB7XG4gICAgICBob3N0RWxlbWVudC5jbGFzc0xpc3QuYWRkKGNzc0NsYXNzKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgdW5iaW5kRXZlbnRzID0gYmluZExpZmVjeWNsZUV2ZW50cyh6b25lLCBpbnN0YW5jZSwgaG9zdEVsZW1lbnQpO1xuICBjb250YWluZXIuYXBwZW5kQ2hpbGQoaG9zdEVsZW1lbnQpO1xuXG4gIGFwcGxpY2F0aW9uUmVmLmF0dGFjaFZpZXcoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICBlbFJlZk1hcC5zZXQoaG9zdEVsZW1lbnQsIGNvbXBvbmVudFJlZik7XG4gIGVsRXZlbnRzTWFwLnNldChob3N0RWxlbWVudCwgdW5iaW5kRXZlbnRzKTtcbiAgcmV0dXJuIGhvc3RFbGVtZW50O1xufTtcblxuY29uc3QgTElGRUNZQ0xFUyA9IFtcbiAgTElGRUNZQ0xFX1dJTExfRU5URVIsXG4gIExJRkVDWUNMRV9ESURfRU5URVIsXG4gIExJRkVDWUNMRV9XSUxMX0xFQVZFLFxuICBMSUZFQ1lDTEVfRElEX0xFQVZFLFxuICBMSUZFQ1lDTEVfV0lMTF9VTkxPQUQsXG5dO1xuXG5leHBvcnQgY29uc3QgYmluZExpZmVjeWNsZUV2ZW50cyA9ICh6b25lOiBOZ1pvbmUsIGluc3RhbmNlOiBhbnksIGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogKCgpID0+IHZvaWQpID0+IHtcbiAgcmV0dXJuIHpvbmUucnVuKCgpID0+IHtcbiAgICBjb25zdCB1bnJlZ2lzdGVycyA9IExJRkVDWUNMRVMuZmlsdGVyKChldmVudE5hbWUpID0+IHR5cGVvZiBpbnN0YW5jZVtldmVudE5hbWVdID09PSAnZnVuY3Rpb24nKS5tYXAoKGV2ZW50TmFtZSkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlciA9IChldjogYW55KSA9PiBpbnN0YW5jZVtldmVudE5hbWVdKGV2LmRldGFpbCk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyKTtcbiAgICAgIHJldHVybiAoKSA9PiBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBoYW5kbGVyKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKCkgPT4gdW5yZWdpc3RlcnMuZm9yRWFjaCgoZm4pID0+IGZuKCkpO1xuICB9KTtcbn07XG5cbmNvbnN0IE5hdlBhcmFtc1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ05hdlBhcmFtc1Rva2VuJyk7XG5cbmNvbnN0IGdldFByb3ZpZGVycyA9IChwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOYXZQYXJhbXNUb2tlbixcbiAgICAgIHVzZVZhbHVlOiBwYXJhbXMsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOYXZQYXJhbXMsXG4gICAgICB1c2VGYWN0b3J5OiBwcm92aWRlTmF2UGFyYW1zSW5qZWN0YWJsZSxcbiAgICAgIGRlcHM6IFtOYXZQYXJhbXNUb2tlbl0sXG4gICAgfSxcbiAgXTtcbn07XG5cbmNvbnN0IHByb3ZpZGVOYXZQYXJhbXNJbmplY3RhYmxlID0gKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4ge1xuICByZXR1cm4gbmV3IE5hdlBhcmFtcyhwYXJhbXMpO1xufTtcbiJdfQ==
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Injectable, InjectionToken } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
class Config {
|
|
4
|
-
get(key, fallback) {
|
|
5
|
-
const c = getConfig();
|
|
6
|
-
if (c) {
|
|
7
|
-
return c.get(key, fallback);
|
|
8
|
-
}
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
getBoolean(key, fallback) {
|
|
12
|
-
const c = getConfig();
|
|
13
|
-
if (c) {
|
|
14
|
-
return c.getBoolean(key, fallback);
|
|
15
|
-
}
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
getNumber(key, fallback) {
|
|
19
|
-
const c = getConfig();
|
|
20
|
-
if (c) {
|
|
21
|
-
return c.getNumber(key, fallback);
|
|
22
|
-
}
|
|
23
|
-
return 0;
|
|
24
|
-
}
|
|
25
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Config, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Config, providedIn: 'root' });
|
|
27
|
-
}
|
|
28
|
-
export { Config };
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Config, decorators: [{
|
|
30
|
-
type: Injectable,
|
|
31
|
-
args: [{
|
|
32
|
-
providedIn: 'root',
|
|
33
|
-
}]
|
|
34
|
-
}] });
|
|
35
|
-
export const ConfigToken = new InjectionToken('USERCONFIG');
|
|
36
|
-
const getConfig = () => {
|
|
37
|
-
if (typeof window !== 'undefined') {
|
|
38
|
-
const Ionic = window.Ionic;
|
|
39
|
-
if (Ionic?.config) {
|
|
40
|
-
return Ionic.config;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return null;
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tbW9uL3NyYy9wcm92aWRlcnMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszRCxNQUdhLE1BQU07SUFDakIsR0FBRyxDQUFDLEdBQXNCLEVBQUUsUUFBYztRQUN4QyxNQUFNLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsRUFBRTtZQUNMLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDN0I7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBc0IsRUFBRSxRQUFrQjtRQUNuRCxNQUFNLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsRUFBRTtZQUNMLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDcEM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBc0IsRUFBRSxRQUFpQjtRQUNqRCxNQUFNLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsRUFBRTtZQUNMLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDbkM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7MkhBdkJVLE1BQU07K0hBQU4sTUFBTSxjQUZMLE1BQU07O1NBRVAsTUFBTTs0RkFBTixNQUFNO2tCQUhsQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7QUEyQkQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFNLFlBQVksQ0FBQyxDQUFDO0FBRWpFLE1BQU0sU0FBUyxHQUFHLEdBQXNCLEVBQUU7SUFDeEMsSUFBSSxPQUFRLE1BQWMsS0FBSyxXQUFXLEVBQUU7UUFDMUMsTUFBTSxLQUFLLEdBQUksTUFBNkIsQ0FBQyxLQUFLLENBQUM7UUFDbkQsSUFBSSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQztTQUNyQjtLQUNGO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb25maWcgYXMgQ29yZUNvbmZpZywgSW9uaWNDb25maWcgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgSW9uaWNXaW5kb3cgfSBmcm9tICcuLi90eXBlcy9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvbmZpZyB7XG4gIGdldChrZXk6IGtleW9mIElvbmljQ29uZmlnLCBmYWxsYmFjaz86IGFueSk6IGFueSB7XG4gICAgY29uc3QgYyA9IGdldENvbmZpZygpO1xuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5nZXQoa2V5LCBmYWxsYmFjayk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZ2V0Qm9vbGVhbihrZXk6IGtleW9mIElvbmljQ29uZmlnLCBmYWxsYmFjaz86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBjb25zdCBjID0gZ2V0Q29uZmlnKCk7XG4gICAgaWYgKGMpIHtcbiAgICAgIHJldHVybiBjLmdldEJvb2xlYW4oa2V5LCBmYWxsYmFjayk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldE51bWJlcihrZXk6IGtleW9mIElvbmljQ29uZmlnLCBmYWxsYmFjaz86IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgYyA9IGdldENvbmZpZygpO1xuICAgIGlmIChjKSB7XG4gICAgICByZXR1cm4gYy5nZXROdW1iZXIoa2V5LCBmYWxsYmFjayk7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBDb25maWdUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdVU0VSQ09ORklHJyk7XG5cbmNvbnN0IGdldENvbmZpZyA9ICgpOiBDb3JlQ29uZmlnIHwgbnVsbCA9PiB7XG4gIGlmICh0eXBlb2YgKHdpbmRvdyBhcyBhbnkpICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnN0IElvbmljID0gKHdpbmRvdyBhcyBhbnkgYXMgSW9uaWNXaW5kb3cpLklvbmljO1xuICAgIGlmIChJb25pYz8uY29uZmlnKSB7XG4gICAgICByZXR1cm4gSW9uaWMuY29uZmlnO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn07XG4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
class DomController {
|
|
4
|
-
/**
|
|
5
|
-
* Schedules a task to run during the READ phase of the next frame.
|
|
6
|
-
* This task should only read the DOM, but never modify it.
|
|
7
|
-
*/
|
|
8
|
-
read(cb) {
|
|
9
|
-
getQueue().read(cb);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Schedules a task to run during the WRITE phase of the next frame.
|
|
13
|
-
* This task should write the DOM, but never READ it.
|
|
14
|
-
*/
|
|
15
|
-
write(cb) {
|
|
16
|
-
getQueue().write(cb);
|
|
17
|
-
}
|
|
18
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
-
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomController, providedIn: 'root' });
|
|
20
|
-
}
|
|
21
|
-
export { DomController };
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DomController, decorators: [{
|
|
23
|
-
type: Injectable,
|
|
24
|
-
args: [{
|
|
25
|
-
providedIn: 'root',
|
|
26
|
-
}]
|
|
27
|
-
}] });
|
|
28
|
-
const getQueue = () => {
|
|
29
|
-
const win = typeof window !== 'undefined' ? window : null;
|
|
30
|
-
if (win != null) {
|
|
31
|
-
const Ionic = win.Ionic;
|
|
32
|
-
if (Ionic?.queue) {
|
|
33
|
-
return Ionic.queue;
|
|
34
|
-
}
|
|
35
|
-
return {
|
|
36
|
-
read: (cb) => win.requestAnimationFrame(cb),
|
|
37
|
-
write: (cb) => win.requestAnimationFrame(cb),
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
read: (cb) => cb(),
|
|
42
|
-
write: (cb) => cb(),
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21tb24vc3JjL3Byb3ZpZGVycy9kb20tY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQyxNQUdhLGFBQWE7SUFDeEI7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLEVBQWU7UUFDbEIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsRUFBZTtRQUNuQixRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQzsySEFmVSxhQUFhOytIQUFiLGFBQWEsY0FGWixNQUFNOztTQUVQLGFBQWE7NEZBQWIsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBbUJELE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtJQUNwQixNQUFNLEdBQUcsR0FBRyxPQUFRLE1BQWMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUUsSUFBWSxDQUFDO0lBRTVFLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtRQUNmLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQ2hCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztTQUNwQjtRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7WUFDaEQsS0FBSyxFQUFFLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1NBQ2xELENBQUM7S0FDSDtJQUVELE9BQU87UUFDTCxJQUFJLEVBQUUsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN2QixLQUFLLEVBQUUsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtLQUN6QixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRG9tQ29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBTY2hlZHVsZXMgYSB0YXNrIHRvIHJ1biBkdXJpbmcgdGhlIFJFQUQgcGhhc2Ugb2YgdGhlIG5leHQgZnJhbWUuXG4gICAqIFRoaXMgdGFzayBzaG91bGQgb25seSByZWFkIHRoZSBET00sIGJ1dCBuZXZlciBtb2RpZnkgaXQuXG4gICAqL1xuICByZWFkKGNiOiBSYWZDYWxsYmFjayk6IHZvaWQge1xuICAgIGdldFF1ZXVlKCkucmVhZChjYik7XG4gIH1cblxuICAvKipcbiAgICogU2NoZWR1bGVzIGEgdGFzayB0byBydW4gZHVyaW5nIHRoZSBXUklURSBwaGFzZSBvZiB0aGUgbmV4dCBmcmFtZS5cbiAgICogVGhpcyB0YXNrIHNob3VsZCB3cml0ZSB0aGUgRE9NLCBidXQgbmV2ZXIgUkVBRCBpdC5cbiAgICovXG4gIHdyaXRlKGNiOiBSYWZDYWxsYmFjayk6IHZvaWQge1xuICAgIGdldFF1ZXVlKCkud3JpdGUoY2IpO1xuICB9XG59XG5cbmNvbnN0IGdldFF1ZXVlID0gKCkgPT4ge1xuICBjb25zdCB3aW4gPSB0eXBlb2YgKHdpbmRvdyBhcyBhbnkpICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IChudWxsIGFzIGFueSk7XG5cbiAgaWYgKHdpbiAhPSBudWxsKSB7XG4gICAgY29uc3QgSW9uaWMgPSB3aW4uSW9uaWM7XG4gICAgaWYgKElvbmljPy5xdWV1ZSkge1xuICAgICAgcmV0dXJuIElvbmljLnF1ZXVlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZWFkOiAoY2I6IGFueSkgPT4gd2luLnJlcXVlc3RBbmltYXRpb25GcmFtZShjYiksXG4gICAgICB3cml0ZTogKGNiOiBhbnkpID0+IHdpbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2IpLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJlYWQ6IChjYjogYW55KSA9PiBjYigpLFxuICAgIHdyaXRlOiAoY2I6IGFueSkgPT4gY2IoKSxcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFJhZkNhbGxiYWNrID0gKHRpbWVTdGFtcD86IG51bWJlcikgPT4gdm9pZDtcbiJdfQ==
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
export class MenuController {
|
|
2
|
-
menuController;
|
|
3
|
-
constructor(menuController) {
|
|
4
|
-
this.menuController = menuController;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Programmatically open the Menu.
|
|
8
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
9
|
-
* @return returns a promise when the menu is fully opened
|
|
10
|
-
*/
|
|
11
|
-
open(menuId) {
|
|
12
|
-
return this.menuController.open(menuId);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Programmatically close the Menu. If no `menuId` is given as the first
|
|
16
|
-
* argument then it'll close any menu which is open. If a `menuId`
|
|
17
|
-
* is given then it'll close that exact menu.
|
|
18
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
19
|
-
* @return returns a promise when the menu is fully closed
|
|
20
|
-
*/
|
|
21
|
-
close(menuId) {
|
|
22
|
-
return this.menuController.close(menuId);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Toggle the menu. If it's closed, it will open, and if opened, it
|
|
26
|
-
* will close.
|
|
27
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
28
|
-
* @return returns a promise when the menu has been toggled
|
|
29
|
-
*/
|
|
30
|
-
toggle(menuId) {
|
|
31
|
-
return this.menuController.toggle(menuId);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Used to enable or disable a menu. For example, there could be multiple
|
|
35
|
-
* left menus, but only one of them should be able to be opened at the same
|
|
36
|
-
* time. If there are multiple menus on the same side, then enabling one menu
|
|
37
|
-
* will also automatically disable all the others that are on the same side.
|
|
38
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
39
|
-
* @return Returns the instance of the menu, which is useful for chaining.
|
|
40
|
-
*/
|
|
41
|
-
enable(shouldEnable, menuId) {
|
|
42
|
-
return this.menuController.enable(shouldEnable, menuId);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Used to enable or disable the ability to swipe open the menu.
|
|
46
|
-
* @param shouldEnable True if it should be swipe-able, false if not.
|
|
47
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
48
|
-
* @return Returns the instance of the menu, which is useful for chaining.
|
|
49
|
-
*/
|
|
50
|
-
swipeGesture(shouldEnable, menuId) {
|
|
51
|
-
return this.menuController.swipeGesture(shouldEnable, menuId);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
55
|
-
* @return Returns true if the specified menu is currently open, otherwise false.
|
|
56
|
-
* If the menuId is not specified, it returns true if ANY menu is currenly open.
|
|
57
|
-
*/
|
|
58
|
-
isOpen(menuId) {
|
|
59
|
-
return this.menuController.isOpen(menuId);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
63
|
-
* @return Returns true if the menu is currently enabled, otherwise false.
|
|
64
|
-
*/
|
|
65
|
-
isEnabled(menuId) {
|
|
66
|
-
return this.menuController.isEnabled(menuId);
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Used to get a menu instance. If a `menuId` is not provided then it'll
|
|
70
|
-
* return the first menu found. If a `menuId` is `left` or `right`, then
|
|
71
|
-
* it'll return the enabled menu on that side. Otherwise, if a `menuId` is
|
|
72
|
-
* provided, then it'll try to find the menu using the menu's `id`
|
|
73
|
-
* property. If a menu is not found then it'll return `null`.
|
|
74
|
-
* @param [menuId] Optionally get the menu by its id, or side.
|
|
75
|
-
* @return Returns the instance of the menu if found, otherwise `null`.
|
|
76
|
-
*/
|
|
77
|
-
get(menuId) {
|
|
78
|
-
return this.menuController.get(menuId);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* @return Returns the instance of the menu already opened, otherwise `null`.
|
|
82
|
-
*/
|
|
83
|
-
getOpen() {
|
|
84
|
-
return this.menuController.getOpen();
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* @return Returns an array of all menu instances.
|
|
88
|
-
*/
|
|
89
|
-
getMenus() {
|
|
90
|
-
return this.menuController.getMenus();
|
|
91
|
-
}
|
|
92
|
-
registerAnimation(name, animation) {
|
|
93
|
-
return this.menuController.registerAnimation(name, animation);
|
|
94
|
-
}
|
|
95
|
-
isAnimating() {
|
|
96
|
-
return this.menuController.isAnimating();
|
|
97
|
-
}
|
|
98
|
-
_getOpenSync() {
|
|
99
|
-
return this.menuController._getOpenSync();
|
|
100
|
-
}
|
|
101
|
-
_createAnimation(type, menuCmp) {
|
|
102
|
-
return this.menuController._createAnimation(type, menuCmp);
|
|
103
|
-
}
|
|
104
|
-
_register(menu) {
|
|
105
|
-
return this.menuController._register(menu);
|
|
106
|
-
}
|
|
107
|
-
_unregister(menu) {
|
|
108
|
-
return this.menuController._unregister(menu);
|
|
109
|
-
}
|
|
110
|
-
_setOpen(menu, shouldOpen, animated) {
|
|
111
|
-
return this.menuController._setOpen(menu, shouldOpen, animated);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tbW9uL3NyYy9wcm92aWRlcnMvbWVudS1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxjQUFjO0lBQ0w7SUFBcEIsWUFBb0IsY0FBK0I7UUFBL0IsbUJBQWMsR0FBZCxjQUFjLENBQWlCO0lBQUcsQ0FBQztJQUV2RDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLE1BQWU7UUFDbEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLE1BQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFlBQXFCLEVBQUUsTUFBZTtRQUMzQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxZQUFZLENBQUMsWUFBcUIsRUFBRSxNQUFlO1FBQ2pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQWU7UUFDdkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxHQUFHLENBQUMsTUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBWSxFQUFFLFNBQTJCO1FBQ3pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVksRUFBRSxPQUFjO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFXO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFXLEVBQUUsVUFBbUIsRUFBRSxRQUFpQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZW51Q29udHJvbGxlckksIEFuaW1hdGlvbkJ1aWxkZXIsIE1lbnVJLCBBbmltYXRpb24gfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcblxuZXhwb3J0IGNsYXNzIE1lbnVDb250cm9sbGVyIGltcGxlbWVudHMgTWVudUNvbnRyb2xsZXJJIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZW51Q29udHJvbGxlcjogTWVudUNvbnRyb2xsZXJJKSB7fVxuXG4gIC8qKlxuICAgKiBQcm9ncmFtbWF0aWNhbGx5IG9wZW4gdGhlIE1lbnUuXG4gICAqIEBwYXJhbSBbbWVudUlkXSAgT3B0aW9uYWxseSBnZXQgdGhlIG1lbnUgYnkgaXRzIGlkLCBvciBzaWRlLlxuICAgKiBAcmV0dXJuIHJldHVybnMgYSBwcm9taXNlIHdoZW4gdGhlIG1lbnUgaXMgZnVsbHkgb3BlbmVkXG4gICAqL1xuICBvcGVuKG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLm9wZW4obWVudUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9ncmFtbWF0aWNhbGx5IGNsb3NlIHRoZSBNZW51LiBJZiBubyBgbWVudUlkYCBpcyBnaXZlbiBhcyB0aGUgZmlyc3RcbiAgICogYXJndW1lbnQgdGhlbiBpdCdsbCBjbG9zZSBhbnkgbWVudSB3aGljaCBpcyBvcGVuLiBJZiBhIGBtZW51SWRgXG4gICAqIGlzIGdpdmVuIHRoZW4gaXQnbGwgY2xvc2UgdGhhdCBleGFjdCBtZW51LlxuICAgKiBAcGFyYW0gW21lbnVJZF0gIE9wdGlvbmFsbHkgZ2V0IHRoZSBtZW51IGJ5IGl0cyBpZCwgb3Igc2lkZS5cbiAgICogQHJldHVybiByZXR1cm5zIGEgcHJvbWlzZSB3aGVuIHRoZSBtZW51IGlzIGZ1bGx5IGNsb3NlZFxuICAgKi9cbiAgY2xvc2UobWVudUlkPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUNvbnRyb2xsZXIuY2xvc2UobWVudUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIG1lbnUuIElmIGl0J3MgY2xvc2VkLCBpdCB3aWxsIG9wZW4sIGFuZCBpZiBvcGVuZWQsIGl0XG4gICAqIHdpbGwgY2xvc2UuXG4gICAqIEBwYXJhbSBbbWVudUlkXSAgT3B0aW9uYWxseSBnZXQgdGhlIG1lbnUgYnkgaXRzIGlkLCBvciBzaWRlLlxuICAgKiBAcmV0dXJuIHJldHVybnMgYSBwcm9taXNlIHdoZW4gdGhlIG1lbnUgaGFzIGJlZW4gdG9nZ2xlZFxuICAgKi9cbiAgdG9nZ2xlKG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLnRvZ2dsZShtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgYSBtZW51LiBGb3IgZXhhbXBsZSwgdGhlcmUgY291bGQgYmUgbXVsdGlwbGVcbiAgICogbGVmdCBtZW51cywgYnV0IG9ubHkgb25lIG9mIHRoZW0gc2hvdWxkIGJlIGFibGUgdG8gYmUgb3BlbmVkIGF0IHRoZSBzYW1lXG4gICAqIHRpbWUuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBtZW51cyBvbiB0aGUgc2FtZSBzaWRlLCB0aGVuIGVuYWJsaW5nIG9uZSBtZW51XG4gICAqIHdpbGwgYWxzbyBhdXRvbWF0aWNhbGx5IGRpc2FibGUgYWxsIHRoZSBvdGhlcnMgdGhhdCBhcmUgb24gdGhlIHNhbWUgc2lkZS5cbiAgICogQHBhcmFtIFttZW51SWRdICBPcHRpb25hbGx5IGdldCB0aGUgbWVudSBieSBpdHMgaWQsIG9yIHNpZGUuXG4gICAqIEByZXR1cm4gUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIG1lbnUsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBlbmFibGUoc2hvdWxkRW5hYmxlOiBib29sZWFuLCBtZW51SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEhUTUxJb25NZW51RWxlbWVudCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLmVuYWJsZShzaG91bGRFbmFibGUsIG1lbnVJZCk7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYWJpbGl0eSB0byBzd2lwZSBvcGVuIHRoZSBtZW51LlxuICAgKiBAcGFyYW0gc2hvdWxkRW5hYmxlICBUcnVlIGlmIGl0IHNob3VsZCBiZSBzd2lwZS1hYmxlLCBmYWxzZSBpZiBub3QuXG4gICAqIEBwYXJhbSBbbWVudUlkXSAgT3B0aW9uYWxseSBnZXQgdGhlIG1lbnUgYnkgaXRzIGlkLCBvciBzaWRlLlxuICAgKiBAcmV0dXJuIFJldHVybnMgdGhlIGluc3RhbmNlIG9mIHRoZSBtZW51LCB3aGljaCBpcyB1c2VmdWwgZm9yIGNoYWluaW5nLlxuICAgKi9cbiAgc3dpcGVHZXN0dXJlKHNob3VsZEVuYWJsZTogYm9vbGVhbiwgbWVudUlkPzogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW9uTWVudUVsZW1lbnQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5tZW51Q29udHJvbGxlci5zd2lwZUdlc3R1cmUoc2hvdWxkRW5hYmxlLCBtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBbbWVudUlkXSBPcHRpb25hbGx5IGdldCB0aGUgbWVudSBieSBpdHMgaWQsIG9yIHNpZGUuXG4gICAqIEByZXR1cm4gUmV0dXJucyB0cnVlIGlmIHRoZSBzcGVjaWZpZWQgbWVudSBpcyBjdXJyZW50bHkgb3Blbiwgb3RoZXJ3aXNlIGZhbHNlLlxuICAgKiBJZiB0aGUgbWVudUlkIGlzIG5vdCBzcGVjaWZpZWQsIGl0IHJldHVybnMgdHJ1ZSBpZiBBTlkgbWVudSBpcyBjdXJyZW5seSBvcGVuLlxuICAgKi9cbiAgaXNPcGVuKG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLmlzT3BlbihtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBbbWVudUlkXSAgT3B0aW9uYWxseSBnZXQgdGhlIG1lbnUgYnkgaXRzIGlkLCBvciBzaWRlLlxuICAgKiBAcmV0dXJuIFJldHVybnMgdHJ1ZSBpZiB0aGUgbWVudSBpcyBjdXJyZW50bHkgZW5hYmxlZCwgb3RoZXJ3aXNlIGZhbHNlLlxuICAgKi9cbiAgaXNFbmFibGVkKG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLmlzRW5hYmxlZChtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZ2V0IGEgbWVudSBpbnN0YW5jZS4gSWYgYSBgbWVudUlkYCBpcyBub3QgcHJvdmlkZWQgdGhlbiBpdCdsbFxuICAgKiByZXR1cm4gdGhlIGZpcnN0IG1lbnUgZm91bmQuIElmIGEgYG1lbnVJZGAgaXMgYGxlZnRgIG9yIGByaWdodGAsIHRoZW5cbiAgICogaXQnbGwgcmV0dXJuIHRoZSBlbmFibGVkIG1lbnUgb24gdGhhdCBzaWRlLiBPdGhlcndpc2UsIGlmIGEgYG1lbnVJZGAgaXNcbiAgICogcHJvdmlkZWQsIHRoZW4gaXQnbGwgdHJ5IHRvIGZpbmQgdGhlIG1lbnUgdXNpbmcgdGhlIG1lbnUncyBgaWRgXG4gICAqIHByb3BlcnR5LiBJZiBhIG1lbnUgaXMgbm90IGZvdW5kIHRoZW4gaXQnbGwgcmV0dXJuIGBudWxsYC5cbiAgICogQHBhcmFtIFttZW51SWRdICBPcHRpb25hbGx5IGdldCB0aGUgbWVudSBieSBpdHMgaWQsIG9yIHNpZGUuXG4gICAqIEByZXR1cm4gUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIG1lbnUgaWYgZm91bmQsIG90aGVyd2lzZSBgbnVsbGAuXG4gICAqL1xuICBnZXQobWVudUlkPzogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW9uTWVudUVsZW1lbnQgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5tZW51Q29udHJvbGxlci5nZXQobWVudUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIFJldHVybnMgdGhlIGluc3RhbmNlIG9mIHRoZSBtZW51IGFscmVhZHkgb3BlbmVkLCBvdGhlcndpc2UgYG51bGxgLlxuICAgKi9cbiAgZ2V0T3BlbigpOiBQcm9taXNlPEhUTUxJb25NZW51RWxlbWVudCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLmdldE9wZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIG1lbnUgaW5zdGFuY2VzLlxuICAgKi9cbiAgZ2V0TWVudXMoKTogUHJvbWlzZTxIVE1MSW9uTWVudUVsZW1lbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLmdldE1lbnVzKCk7XG4gIH1cblxuICByZWdpc3RlckFuaW1hdGlvbihuYW1lOiBzdHJpbmcsIGFuaW1hdGlvbjogQW5pbWF0aW9uQnVpbGRlcik6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLnJlZ2lzdGVyQW5pbWF0aW9uKG5hbWUsIGFuaW1hdGlvbik7XG4gIH1cblxuICBpc0FuaW1hdGluZygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5tZW51Q29udHJvbGxlci5pc0FuaW1hdGluZygpO1xuICB9XG5cbiAgX2dldE9wZW5TeW5jKCk6IEhUTUxJb25NZW51RWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubWVudUNvbnRyb2xsZXIuX2dldE9wZW5TeW5jKCk7XG4gIH1cblxuICBfY3JlYXRlQW5pbWF0aW9uKHR5cGU6IHN0cmluZywgbWVudUNtcDogTWVudUkpOiBQcm9taXNlPEFuaW1hdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLl9jcmVhdGVBbmltYXRpb24odHlwZSwgbWVudUNtcCk7XG4gIH1cblxuICBfcmVnaXN0ZXIobWVudTogTWVudUkpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5tZW51Q29udHJvbGxlci5fcmVnaXN0ZXIobWVudSk7XG4gIH1cblxuICBfdW5yZWdpc3RlcihtZW51OiBNZW51SSk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLm1lbnVDb250cm9sbGVyLl91bnJlZ2lzdGVyKG1lbnUpO1xuICB9XG5cbiAgX3NldE9wZW4obWVudTogTWVudUksIHNob3VsZE9wZW46IGJvb2xlYW4sIGFuaW1hdGVkOiBib29sZWFuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubWVudUNvbnRyb2xsZXIuX3NldE9wZW4obWVudSwgc2hvdWxkT3BlbiwgYW5pbWF0ZWQpO1xuICB9XG59XG4iXX0=
|