@ionic/angular 7.4.4-dev.11700515976.1ccd503d → 7.4.4-dev.11700516449.1d005735
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 +0 -20
- package/app-initialize.d.ts +1 -1
- package/directives/control-value-accessors/boolean-value-accessor.d.ts +1 -1
- package/directives/control-value-accessors/numeric-value-accessor.d.ts +1 -1
- package/directives/control-value-accessors/radio-value-accessor.d.ts +1 -1
- package/directives/control-value-accessors/select-value-accessor.d.ts +1 -1
- package/directives/control-value-accessors/text-value-accessor.d.ts +1 -1
- package/{common/directives → directives}/control-value-accessors/value-accessor.d.ts +2 -2
- package/directives/navigation/ion-back-button.d.ts +16 -6
- package/directives/navigation/ion-router-outlet.d.ts +122 -4
- package/directives/navigation/ion-tabs.d.ts +64 -4
- package/directives/navigation/nav-delegate.d.ts +9 -0
- package/directives/navigation/router-link-delegate.d.ts +41 -7
- package/{common/directives → directives}/navigation/stack-utils.d.ts +1 -1
- package/directives/overlays/modal.d.ts +47 -3
- package/directives/overlays/popover.d.ts +43 -3
- package/directives/proxies-list.d.ts +1 -1
- package/directives/proxies.d.ts +27 -1
- package/esm2020/app-initialize.mjs +2 -2
- package/esm2020/directives/control-value-accessors/boolean-value-accessor.mjs +4 -4
- package/esm2020/directives/control-value-accessors/numeric-value-accessor.mjs +2 -2
- package/esm2020/directives/control-value-accessors/radio-value-accessor.mjs +3 -6
- package/esm2020/directives/control-value-accessors/select-value-accessor.mjs +2 -2
- package/esm2020/directives/control-value-accessors/text-value-accessor.mjs +2 -2
- package/esm2020/directives/control-value-accessors/value-accessor.mjs +141 -0
- package/esm2020/directives/navigation/ion-back-button.mjs +36 -15
- package/esm2020/directives/navigation/ion-router-outlet.mjs +435 -6
- package/esm2020/directives/navigation/ion-tabs.mjs +166 -9
- package/esm2020/directives/navigation/nav-delegate.mjs +42 -0
- package/esm2020/directives/navigation/nav-params.mjs +45 -0
- package/esm2020/directives/navigation/router-link-delegate.mjs +92 -11
- package/esm2020/directives/navigation/stack-controller.mjs +275 -0
- package/esm2020/directives/navigation/stack-utils.mjs +73 -0
- package/esm2020/directives/overlays/modal.mjs +88 -8
- package/esm2020/directives/overlays/popover.mjs +87 -8
- package/esm2020/directives/proxies-list.mjs +3 -1
- package/esm2020/directives/proxies.mjs +56 -4
- package/esm2020/index.mjs +22 -5
- package/esm2020/ionic-core.mjs +6 -0
- package/esm2020/ionic-module.mjs +32 -14
- package/esm2020/providers/action-sheet-controller.mjs +18 -0
- package/esm2020/providers/alert-controller.mjs +18 -0
- package/esm2020/providers/angular-delegate.mjs +152 -0
- package/esm2020/providers/animation-controller.mjs +37 -0
- package/esm2020/providers/config.mjs +44 -0
- package/esm2020/providers/dom-controller.mjs +44 -0
- package/esm2020/providers/gesture-controller.mjs +31 -0
- package/esm2020/providers/loading-controller.mjs +18 -0
- package/esm2020/providers/menu-controller.mjs +100 -0
- package/esm2020/providers/modal-controller.mjs +25 -0
- package/esm2020/providers/nav-controller.mjs +221 -0
- package/esm2020/providers/picker-controller.mjs +18 -0
- package/esm2020/providers/platform.mjs +246 -0
- package/esm2020/providers/popover-controller.mjs +25 -0
- package/esm2020/providers/toast-controller.mjs +18 -0
- package/esm2020/types/interfaces.mjs +2 -0
- package/esm2020/util/ionic-router-reuse-strategy.mjs +55 -0
- package/esm2020/util/overlay.mjs +25 -0
- package/esm2020/util/util.mjs +10 -0
- package/fesm2015/ionic-angular.mjs +2650 -156
- package/fesm2015/ionic-angular.mjs.map +1 -1
- package/fesm2020/ionic-angular.mjs +2642 -157
- package/fesm2020/ionic-angular.mjs.map +1 -1
- package/index.d.ts +20 -4
- package/ionic-core.d.ts +2 -0
- package/ionic-module.d.ts +2 -2
- package/package.json +2 -18
- package/{common/providers → providers}/action-sheet-controller.d.ts +2 -2
- package/{common/providers → providers}/alert-controller.d.ts +2 -2
- package/{common/providers → providers}/angular-delegate.d.ts +1 -1
- package/{common/providers → providers}/animation-controller.d.ts +1 -1
- package/{common/providers → providers}/config.d.ts +1 -1
- package/{common/providers → providers}/gesture-controller.d.ts +1 -1
- package/{common/providers → providers}/loading-controller.d.ts +2 -2
- package/{common/providers → providers}/modal-controller.d.ts +2 -2
- package/{common/providers → providers}/nav-controller.d.ts +2 -2
- package/{common/providers → providers}/picker-controller.d.ts +2 -2
- package/{common/providers → providers}/platform.d.ts +2 -2
- package/{common/providers → providers}/popover-controller.d.ts +2 -2
- package/{common/providers → providers}/toast-controller.d.ts +2 -2
- package/test/README.md +0 -8
- package/{common/types → types}/interfaces.d.ts +4 -0
- package/common/directives/control-value-accessors/index.d.ts +0 -1
- package/common/directives/navigation/back-button.d.ts +0 -26
- package/common/directives/navigation/nav.d.ts +0 -13
- package/common/directives/navigation/router-link-delegate.d.ts +0 -50
- package/common/directives/navigation/router-outlet.d.ts +0 -103
- package/common/directives/navigation/tabs.d.ts +0 -74
- package/common/index.d.ts +0 -28
- package/common/overlays/modal.d.ts +0 -50
- package/common/overlays/popover.d.ts +0 -46
- package/common/utils/proxy.d.ts +0 -8
- package/directives/navigation/ion-nav.d.ts +0 -8
- package/esm2020/common/directives/control-value-accessors/index.mjs +0 -2
- package/esm2020/common/directives/control-value-accessors/value-accessor.mjs +0 -141
- package/esm2020/common/directives/navigation/back-button.mjs +0 -59
- package/esm2020/common/directives/navigation/nav-params.mjs +0 -45
- package/esm2020/common/directives/navigation/nav.mjs +0 -47
- package/esm2020/common/directives/navigation/router-link-delegate.mjs +0 -111
- package/esm2020/common/directives/navigation/router-outlet.mjs +0 -461
- package/esm2020/common/directives/navigation/stack-controller.mjs +0 -275
- package/esm2020/common/directives/navigation/stack-utils.mjs +0 -73
- package/esm2020/common/directives/navigation/tabs.mjs +0 -172
- package/esm2020/common/index.mjs +0 -28
- package/esm2020/common/ionic-angular-common.mjs +0 -5
- package/esm2020/common/overlays/modal.mjs +0 -87
- package/esm2020/common/overlays/popover.mjs +0 -79
- package/esm2020/common/providers/action-sheet-controller.mjs +0 -18
- package/esm2020/common/providers/alert-controller.mjs +0 -18
- package/esm2020/common/providers/angular-delegate.mjs +0 -152
- package/esm2020/common/providers/animation-controller.mjs +0 -37
- package/esm2020/common/providers/config.mjs +0 -44
- package/esm2020/common/providers/dom-controller.mjs +0 -44
- package/esm2020/common/providers/gesture-controller.mjs +0 -31
- package/esm2020/common/providers/loading-controller.mjs +0 -18
- package/esm2020/common/providers/menu-controller.mjs +0 -100
- package/esm2020/common/providers/modal-controller.mjs +0 -25
- package/esm2020/common/providers/nav-controller.mjs +0 -221
- package/esm2020/common/providers/picker-controller.mjs +0 -18
- package/esm2020/common/providers/platform.mjs +0 -246
- package/esm2020/common/providers/popover-controller.mjs +0 -25
- package/esm2020/common/providers/toast-controller.mjs +0 -18
- package/esm2020/common/types/interfaces.mjs +0 -2
- package/esm2020/common/utils/overlay.mjs +0 -25
- package/esm2020/common/utils/proxy.mjs +0 -47
- package/esm2020/common/utils/routing.mjs +0 -55
- package/esm2020/common/utils/util.mjs +0 -10
- package/esm2020/directives/navigation/ion-nav.mjs +0 -21
- package/esm2020/standalone/directives/angular-component-lib/utils.mjs +0 -51
- package/esm2020/standalone/directives/checkbox.mjs +0 -73
- package/esm2020/standalone/directives/datetime.mjs +0 -90
- package/esm2020/standalone/directives/icon.mjs +0 -33
- package/esm2020/standalone/directives/index.mjs +0 -13
- package/esm2020/standalone/directives/input.mjs +0 -112
- package/esm2020/standalone/directives/proxies.mjs +0 -2268
- package/esm2020/standalone/directives/radio-group.mjs +0 -58
- package/esm2020/standalone/directives/radio.mjs +0 -62
- package/esm2020/standalone/directives/range.mjs +0 -77
- package/esm2020/standalone/directives/searchbar.mjs +0 -80
- package/esm2020/standalone/directives/segment.mjs +0 -58
- package/esm2020/standalone/directives/select.mjs +0 -81
- package/esm2020/standalone/directives/textarea.mjs +0 -90
- package/esm2020/standalone/directives/toggle.mjs +0 -73
- package/esm2020/standalone/index.mjs +0 -15
- package/esm2020/standalone/ionic-angular-standalone.mjs +0 -5
- package/esm2020/standalone/navigation/back-button.mjs +0 -32
- package/esm2020/standalone/navigation/nav.mjs +0 -28
- package/esm2020/standalone/navigation/router-link-delegate.mjs +0 -28
- package/esm2020/standalone/navigation/router-outlet.mjs +0 -23
- package/esm2020/standalone/navigation/tabs.mjs +0 -46
- package/esm2020/standalone/overlays/modal.mjs +0 -32
- package/esm2020/standalone/overlays/popover.mjs +0 -28
- package/esm2020/standalone/providers/ionic-angular.mjs +0 -41
- package/fesm2015/ionic-angular-common.mjs +0 -2620
- package/fesm2015/ionic-angular-common.mjs.map +0 -1
- package/fesm2015/ionic-angular-standalone.mjs +0 -3286
- package/fesm2015/ionic-angular-standalone.mjs.map +0 -1
- package/fesm2020/ionic-angular-common.mjs +0 -2609
- package/fesm2020/ionic-angular-common.mjs.map +0 -1
- package/fesm2020/ionic-angular-standalone.mjs +0 -3284
- package/fesm2020/ionic-angular-standalone.mjs.map +0 -1
- 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.d.ts +0 -47
- package/standalone/directives/proxies.d.ts +0 -903
- package/standalone/directives/radio-group.d.ts +0 -18
- package/standalone/directives/radio.d.ts +0 -22
- 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 -12
- 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 -6
- package/standalone/navigation/tabs.d.ts +0 -12
- package/standalone/overlays/modal.d.ts +0 -6
- package/standalone/overlays/popover.d.ts +0 -6
- package/standalone/providers/ionic-angular.d.ts +0 -3
- /package/{common/directives → directives}/navigation/nav-params.d.ts +0 -0
- /package/{common/directives → directives}/navigation/stack-controller.d.ts +0 -0
- /package/{common/providers → providers}/dom-controller.d.ts +0 -0
- /package/{common/providers → providers}/menu-controller.d.ts +0 -0
- /package/{common/utils/routing.d.ts → util/ionic-router-reuse-strategy.d.ts} +0 -0
- /package/{common/utils → util}/overlay.d.ts +0 -0
- /package/{common/utils → util}/util.d.ts +0 -0
|
@@ -1,14 +1,161 @@
|
|
|
1
|
-
import { Component, ContentChild, ContentChildren, ViewChild } from '@angular/core';
|
|
2
|
-
import { IonTabs as IonTabsBase } from '@ionic/angular/common';
|
|
1
|
+
import { Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostListener, Output, ViewChild, } from '@angular/core';
|
|
3
2
|
import { IonTabBar } from '../proxies';
|
|
4
3
|
import { IonRouterOutlet } from './ion-router-outlet';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "
|
|
5
|
+
import * as i1 from "../../providers/nav-controller";
|
|
6
|
+
import * as i2 from "./ion-router-outlet";
|
|
7
7
|
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
8
|
-
export class IonTabs
|
|
8
|
+
export class IonTabs {
|
|
9
|
+
constructor(navCtrl) {
|
|
10
|
+
this.navCtrl = navCtrl;
|
|
11
|
+
/**
|
|
12
|
+
* Emitted before the tab view is changed.
|
|
13
|
+
*/
|
|
14
|
+
this.ionTabsWillChange = new EventEmitter();
|
|
15
|
+
/**
|
|
16
|
+
* Emitted after the tab view is changed.
|
|
17
|
+
*/
|
|
18
|
+
this.ionTabsDidChange = new EventEmitter();
|
|
19
|
+
this.tabBarSlot = 'bottom';
|
|
20
|
+
}
|
|
21
|
+
ngAfterContentInit() {
|
|
22
|
+
this.detectSlotChanges();
|
|
23
|
+
}
|
|
24
|
+
ngAfterContentChecked() {
|
|
25
|
+
this.detectSlotChanges();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
onStackWillChange({ enteringView, tabSwitch }) {
|
|
31
|
+
const stackId = enteringView.stackId;
|
|
32
|
+
if (tabSwitch && stackId !== undefined) {
|
|
33
|
+
this.ionTabsWillChange.emit({ tab: stackId });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
onStackDidChange({ enteringView, tabSwitch }) {
|
|
40
|
+
const stackId = enteringView.stackId;
|
|
41
|
+
if (tabSwitch && stackId !== undefined) {
|
|
42
|
+
if (this.tabBar) {
|
|
43
|
+
this.tabBar.selectedTab = stackId;
|
|
44
|
+
}
|
|
45
|
+
this.ionTabsDidChange.emit({ tab: stackId });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* When a tab button is clicked, there are several scenarios:
|
|
50
|
+
* 1. If the selected tab is currently active (the tab button has been clicked
|
|
51
|
+
* again), then it should go to the root view for that tab.
|
|
52
|
+
*
|
|
53
|
+
* a. Get the saved root view from the router outlet. If the saved root view
|
|
54
|
+
* matches the tabRootUrl, set the route view to this view including the
|
|
55
|
+
* navigation extras.
|
|
56
|
+
* b. If the saved root view from the router outlet does
|
|
57
|
+
* not match, navigate to the tabRootUrl. No navigation extras are
|
|
58
|
+
* included.
|
|
59
|
+
*
|
|
60
|
+
* 2. If the current tab tab is not currently selected, get the last route
|
|
61
|
+
* view from the router outlet.
|
|
62
|
+
*
|
|
63
|
+
* a. If the last route view exists, navigate to that view including any
|
|
64
|
+
* navigation extras
|
|
65
|
+
* b. If the last route view doesn't exist, then navigate
|
|
66
|
+
* to the default tabRootUrl
|
|
67
|
+
*/
|
|
68
|
+
select(tabOrEvent) {
|
|
69
|
+
const isTabString = typeof tabOrEvent === 'string';
|
|
70
|
+
const tab = isTabString ? tabOrEvent : tabOrEvent.detail.tab;
|
|
71
|
+
const alreadySelected = this.outlet.getActiveStackId() === tab;
|
|
72
|
+
const tabRootUrl = `${this.outlet.tabsPrefix}/${tab}`;
|
|
73
|
+
/**
|
|
74
|
+
* If this is a nested tab, prevent the event
|
|
75
|
+
* from bubbling otherwise the outer tabs
|
|
76
|
+
* will respond to this event too, causing
|
|
77
|
+
* the app to get directed to the wrong place.
|
|
78
|
+
*/
|
|
79
|
+
if (!isTabString) {
|
|
80
|
+
tabOrEvent.stopPropagation();
|
|
81
|
+
}
|
|
82
|
+
if (alreadySelected) {
|
|
83
|
+
const activeStackId = this.outlet.getActiveStackId();
|
|
84
|
+
const activeView = this.outlet.getLastRouteView(activeStackId);
|
|
85
|
+
// If on root tab, do not navigate to root tab again
|
|
86
|
+
if (activeView?.url === tabRootUrl) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const rootView = this.outlet.getRootView(tab);
|
|
90
|
+
const navigationExtras = rootView && tabRootUrl === rootView.url && rootView.savedExtras;
|
|
91
|
+
return this.navCtrl.navigateRoot(tabRootUrl, {
|
|
92
|
+
...navigationExtras,
|
|
93
|
+
animated: true,
|
|
94
|
+
animationDirection: 'back',
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
const lastRoute = this.outlet.getLastRouteView(tab);
|
|
99
|
+
/**
|
|
100
|
+
* If there is a lastRoute, goto that, otherwise goto the fallback url of the
|
|
101
|
+
* selected tab
|
|
102
|
+
*/
|
|
103
|
+
const url = lastRoute?.url || tabRootUrl;
|
|
104
|
+
const navigationExtras = lastRoute?.savedExtras;
|
|
105
|
+
return this.navCtrl.navigateRoot(url, {
|
|
106
|
+
...navigationExtras,
|
|
107
|
+
animated: true,
|
|
108
|
+
animationDirection: 'back',
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
getSelected() {
|
|
113
|
+
return this.outlet.getActiveStackId();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Detects changes to the slot attribute of the tab bar.
|
|
117
|
+
*
|
|
118
|
+
* If the slot attribute has changed, then the tab bar
|
|
119
|
+
* should be relocated to the new slot position.
|
|
120
|
+
*/
|
|
121
|
+
detectSlotChanges() {
|
|
122
|
+
this.tabBars.forEach((tabBar) => {
|
|
123
|
+
// el is a protected attribute from the generated component wrapper
|
|
124
|
+
const currentSlot = tabBar.el.getAttribute('slot');
|
|
125
|
+
if (currentSlot !== this.tabBarSlot) {
|
|
126
|
+
this.tabBarSlot = currentSlot;
|
|
127
|
+
this.relocateTabBar();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Relocates the tab bar to the new slot position.
|
|
133
|
+
*/
|
|
134
|
+
relocateTabBar() {
|
|
135
|
+
/**
|
|
136
|
+
* `el` is a protected attribute from the generated component wrapper.
|
|
137
|
+
* To avoid having to manually create the wrapper for tab bar, we
|
|
138
|
+
* cast the tab bar to any and access the protected attribute.
|
|
139
|
+
*/
|
|
140
|
+
const tabBar = this.tabBar.el;
|
|
141
|
+
if (this.tabBarSlot === 'top') {
|
|
142
|
+
/**
|
|
143
|
+
* A tab bar with a slot of "top" should be inserted
|
|
144
|
+
* at the top of the container.
|
|
145
|
+
*/
|
|
146
|
+
this.tabsInner.nativeElement.before(tabBar);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
/**
|
|
150
|
+
* A tab bar with a slot of "bottom" or without a slot
|
|
151
|
+
* should be inserted at the end of the container.
|
|
152
|
+
*/
|
|
153
|
+
this.tabsInner.nativeElement.after(tabBar);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
9
156
|
}
|
|
10
|
-
/** @nocollapse */ IonTabs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTabs, deps:
|
|
11
|
-
/** @nocollapse */ IonTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonTabs, selector: "ion-tabs", queries: [{ propertyName: "tabBar", first: true, predicate: IonTabBar, descendants: true }, { propertyName: "tabBars", predicate: IonTabBar }], viewQueries: [{ propertyName: "outlet", first: true, predicate: ["outlet"], descendants: true, read: IonRouterOutlet }],
|
|
157
|
+
/** @nocollapse */ IonTabs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTabs, deps: [{ token: i1.NavController }], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
+
/** @nocollapse */ IonTabs.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonTabs, selector: "ion-tabs", outputs: { ionTabsWillChange: "ionTabsWillChange", ionTabsDidChange: "ionTabsDidChange" }, host: { listeners: { "ionTabButtonClick": "select($event)" } }, queries: [{ propertyName: "tabBar", first: true, predicate: IonTabBar, descendants: true }, { propertyName: "tabBars", predicate: IonTabBar }], viewQueries: [{ propertyName: "outlet", first: true, predicate: ["outlet"], descendants: true, read: IonRouterOutlet }, { propertyName: "tabsInner", first: true, predicate: ["tabsInner"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: `
|
|
12
159
|
<ng-content select="[slot=top]"></ng-content>
|
|
13
160
|
<div class="tabs-inner" #tabsInner>
|
|
14
161
|
<ion-router-outlet
|
|
@@ -19,7 +166,7 @@ export class IonTabs extends IonTabsBase {
|
|
|
19
166
|
></ion-router-outlet>
|
|
20
167
|
</div>
|
|
21
168
|
<ng-content></ng-content>
|
|
22
|
-
`, isInline: true, styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"], dependencies: [{ kind: "directive", type:
|
|
169
|
+
`, isInline: true, styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"], dependencies: [{ kind: "directive", type: i2.IonRouterOutlet, selector: "ion-router-outlet", inputs: ["animated", "animation", "mode", "swipeGesture", "name"], outputs: ["stackWillChange", "stackDidChange", "activate", "deactivate"], exportAs: ["outlet"] }] });
|
|
23
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonTabs, decorators: [{
|
|
24
171
|
type: Component,
|
|
25
172
|
args: [{ selector: 'ion-tabs', template: `
|
|
@@ -34,14 +181,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
34
181
|
</div>
|
|
35
182
|
<ng-content></ng-content>
|
|
36
183
|
`, styles: [":host{display:flex;position:absolute;inset:0;flex-direction:column;width:100%;height:100%;contain:layout size style}.tabs-inner{position:relative;flex:1;contain:layout size style}\n"] }]
|
|
37
|
-
}], propDecorators: { outlet: [{
|
|
184
|
+
}], ctorParameters: function () { return [{ type: i1.NavController }]; }, propDecorators: { outlet: [{
|
|
38
185
|
type: ViewChild,
|
|
39
186
|
args: ['outlet', { read: IonRouterOutlet, static: false }]
|
|
187
|
+
}], tabsInner: [{
|
|
188
|
+
type: ViewChild,
|
|
189
|
+
args: ['tabsInner', { read: ElementRef, static: true }]
|
|
40
190
|
}], tabBar: [{
|
|
41
191
|
type: ContentChild,
|
|
42
192
|
args: [IonTabBar, { static: false }]
|
|
43
193
|
}], tabBars: [{
|
|
44
194
|
type: ContentChildren,
|
|
45
195
|
args: [IonTabBar]
|
|
196
|
+
}], ionTabsWillChange: [{
|
|
197
|
+
type: Output
|
|
198
|
+
}], ionTabsDidChange: [{
|
|
199
|
+
type: Output
|
|
200
|
+
}], select: [{
|
|
201
|
+
type: HostListener,
|
|
202
|
+
args: ['ionTabButtonClick', ['$event']]
|
|
46
203
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uLXRhYnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL2lvbi10YWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBMkN0RCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLE9BQVEsU0FBUSxXQUFXOzt3SEFBM0IsT0FBTzs0R0FBUCxPQUFPLG9GQUdKLFNBQVMsNkRBQ04sU0FBUywwR0FIRyxlQUFlLG9EQXpDbEM7Ozs7Ozs7Ozs7O0dBV1Q7NEZBNkJVLE9BQU87a0JBMUNuQixTQUFTOytCQUNFLFVBQVUsWUFDVjs7Ozs7Ozs7Ozs7R0FXVDs4QkE4QjhELE1BQU07c0JBQXBFLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUVqQixNQUFNO3NCQUFqRCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ2QsT0FBTztzQkFBbEMsZUFBZTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIENvbnRlbnRDaGlsZHJlbiwgVmlld0NoaWxkLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvblRhYnMgYXMgSW9uVGFic0Jhc2UgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBJb25UYWJCYXIgfSBmcm9tICcuLi9wcm94aWVzJztcblxuaW1wb3J0IHsgSW9uUm91dGVyT3V0bGV0IH0gZnJvbSAnLi9pb24tcm91dGVyLW91dGxldCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lvbi10YWJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD10b3BdXCI+PC9uZy1jb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJ0YWJzLWlubmVyXCIgI3RhYnNJbm5lcj5cbiAgICAgIDxpb24tcm91dGVyLW91dGxldFxuICAgICAgICAjb3V0bGV0XG4gICAgICAgIHRhYnM9XCJ0cnVlXCJcbiAgICAgICAgKHN0YWNrV2lsbENoYW5nZSk9XCJvblN0YWNrV2lsbENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKHN0YWNrRGlkQ2hhbmdlKT1cIm9uU3RhY2tEaWRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICA+PC9pb24tcm91dGVyLW91dGxldD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGNvbnRhaW46IGxheW91dCBzaXplIHN0eWxlO1xuICAgICAgfVxuICAgICAgLnRhYnMtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBjb250YWluOiBsYXlvdXQgc2l6ZSBzdHlsZTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIElvblRhYnMgZXh0ZW5kcyBJb25UYWJzQmFzZSB7XG4gIEBWaWV3Q2hpbGQoJ291dGxldCcsIHsgcmVhZDogSW9uUm91dGVyT3V0bGV0LCBzdGF0aWM6IGZhbHNlIH0pIG91dGxldDogSW9uUm91dGVyT3V0bGV0O1xuXG4gIEBDb250ZW50Q2hpbGQoSW9uVGFiQmFyLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFiQmFyOiBJb25UYWJCYXIgfCB1bmRlZmluZWQ7XG4gIEBDb250ZW50Q2hpbGRyZW4oSW9uVGFiQmFyKSB0YWJCYXJzOiBRdWVyeUxpc3Q8SW9uVGFiQmFyPjtcbn1cbiJdfQ==
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uLXRhYnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL2lvbi10YWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBNEN0RCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLE9BQU87SUFrQmxCLFlBQW9CLE9BQXNCO1FBQXRCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFYMUM7O1dBRUc7UUFDTyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUNsRTs7V0FFRztRQUNPLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRXpELGVBQVUsR0FBRyxRQUFRLENBQUM7SUFFZSxDQUFDO0lBRTlDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBd0I7UUFDakUsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxJQUFJLFNBQVMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRDs7T0FFRztJ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RUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9uYXYtY29udHJvbGxlcic7XG5pbXBvcnQgeyBJb25UYWJCYXIgfSBmcm9tICcuLi9wcm94aWVzJztcblxuaW1wb3J0IHsgSW9uUm91dGVyT3V0bGV0IH0gZnJvbSAnLi9pb24tcm91dGVyLW91dGxldCc7XG5pbXBvcnQgeyBTdGFja0RpZENoYW5nZUV2ZW50LCBTdGFja1dpbGxDaGFuZ2VFdmVudCB9IGZyb20gJy4vc3RhY2stdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpb24tdGFicycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9dG9wXVwiPjwvbmctY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwidGFicy1pbm5lclwiICN0YWJzSW5uZXI+XG4gICAgICA8aW9uLXJvdXRlci1vdXRsZXRcbiAgICAgICAgI291dGxldFxuICAgICAgICB0YWJzPVwidHJ1ZVwiXG4gICAgICAgIChzdGFja1dpbGxDaGFuZ2UpPVwib25TdGFja1dpbGxDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChzdGFja0RpZENoYW5nZSk9XCJvblN0YWNrRGlkQ2hhbmdlKCRldmVudClcIlxuICAgICAgPjwvaW9uLXJvdXRlci1vdXRsZXQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBjb250YWluOiBsYXlvdXQgc2l6ZSBzdHlsZTtcbiAgICAgIH1cbiAgICAgIC50YWJzLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgY29udGFpbjogbGF5b3V0IHNpemUgc3R5bGU7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBJb25UYWJzIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG4gIEBWaWV3Q2hpbGQoJ291dGxldCcsIHsgcmVhZDogSW9uUm91dGVyT3V0bGV0LCBzdGF0aWM6IGZhbHNlIH0pIG91dGxldDogSW9uUm91dGVyT3V0bGV0O1xuICBAVmlld0NoaWxkKCd0YWJzSW5uZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSB0YWJzSW5uZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoSW9uVGFiQmFyLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFiQmFyOiBJb25UYWJCYXIgfCB1bmRlZmluZWQ7XG4gIEBDb250ZW50Q2hpbGRyZW4oSW9uVGFiQmFyKSB0YWJCYXJzOiBRdWVyeUxpc3Q8SW9uVGFiQmFyPjtcblxuICAvKipcbiAgICogRW1pdHRlZCBiZWZvcmUgdGhlIHRhYiB2aWV3IGlzIGNoYW5nZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgaW9uVGFic1dpbGxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHsgdGFiOiBzdHJpbmcgfT4oKTtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgYWZ0ZXIgdGhlIHRhYiB2aWV3IGlzIGNoYW5nZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgaW9uVGFic0RpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyB0YWI6IHN0cmluZyB9PigpO1xuXG4gIHByaXZhdGUgdGFiQmFyU2xvdCA9ICdib3R0b20nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmF2Q3RybDogTmF2Q29udHJvbGxlcikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kZXRlY3RTbG90Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuZGV0ZWN0U2xvdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG9uU3RhY2tXaWxsQ2hhbmdlKHsgZW50ZXJpbmdWaWV3LCB0YWJTd2l0Y2ggfTogU3RhY2tXaWxsQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFja0lkID0gZW50ZXJpbmdWaWV3LnN0YWNrSWQ7XG4gICAgaWYgKHRhYlN3aXRjaCAmJiBzdGFja0lkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaW9uVGFic1dpbGxDaGFuZ2UuZW1pdCh7IHRhYjogc3RhY2tJZCB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBvblN0YWNrRGlkQ2hhbmdlKHsgZW50ZXJpbmdWaWV3LCB0YWJTd2l0Y2ggfTogU3RhY2tEaWRDaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YWNrSWQgPSBlbnRlcmluZ1ZpZXcuc3RhY2tJZDtcbiAgICBpZiAodGFiU3dpdGNoICYmIHN0YWNrSWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMudGFiQmFyKSB7XG4gICAgICAgIHRoaXMudGFiQmFyLnNlbGVjdGVkVGFiID0gc3RhY2tJZDtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW9uVGFic0RpZENoYW5nZS5lbWl0KHsgdGFiOiBzdGFja0lkIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGEgdGFiIGJ1dHRvbiBpcyBjbGlja2VkLCB0aGVyZSBhcmUgc2V2ZXJhbCBzY2VuYXJpb3M6XG4gICAqIDEuIElmIHRoZSBzZWxlY3RlZCB0YWIgaXMgY3VycmVudGx5IGFjdGl2ZSAodGhlIHRhYiBidXR0b24gaGFzIGJlZW4gY2xpY2tlZFxuICAgKiAgICBhZ2FpbiksIHRoZW4gaXQgc2hvdWxkIGdvIHRvIHRoZSByb290IHZpZXcgZm9yIHRoYXQgdGFiLlxuICAgKlxuICAgKiAgIGEuIEdldCB0aGUgc2F2ZWQgcm9vdCB2aWV3IGZyb20gdGhlIHJvdXRlciBvdXRsZXQuIElmIHRoZSBzYXZlZCByb290IHZpZXdcbiAgICogICAgICBtYXRjaGVzIHRoZSB0YWJSb290VXJsLCBzZXQgdGhlIHJvdXRlIHZpZXcgdG8gdGhpcyB2aWV3IGluY2x1ZGluZyB0aGVcbiAgICogICAgICBuYXZpZ2F0aW9uIGV4dHJhcy5cbiAgICogICBiLiBJZiB0aGUgc2F2ZWQgcm9vdCB2aWV3IGZyb20gdGhlIHJvdXRlciBvdXRsZXQgZG9lc1xuICAgKiAgICAgIG5vdCBtYXRjaCwgbmF2aWdhdGUgdG8gdGhlIHRhYlJvb3RVcmwuIE5vIG5hdmlnYXRpb24gZXh0cmFzIGFyZVxuICAgKiAgICAgIGluY2x1ZGVkLlxuICAgKlxuICAgKiAyLiBJZiB0aGUgY3VycmVudCB0YWIgdGFiIGlzIG5vdCBjdXJyZW50bHkgc2VsZWN0ZWQsIGdldCB0aGUgbGFzdCByb3V0ZVxuICAgKiAgICB2aWV3IGZyb20gdGhlIHJvdXRlciBvdXRsZXQuXG4gICAqXG4gICAqICAgYS4gSWYgdGhlIGxhc3Qgcm91dGUgdmlldyBleGlzdHMsIG5hdmlnYXRlIHRvIHRoYXQgdmlldyBpbmNsdWRpbmcgYW55XG4gICAqICAgICAgbmF2aWdhdGlvbiBleHRyYXNcbiAgICogICBiLiBJZiB0aGUgbGFzdCByb3V0ZSB2aWV3IGRvZXNuJ3QgZXhpc3QsIHRoZW4gbmF2aWdhdGVcbiAgICogICAgICB0byB0aGUgZGVmYXVsdCB0YWJSb290VXJsXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdpb25UYWJCdXR0b25DbGljaycsIFsnJGV2ZW50J10pXG4gIHNlbGVjdCh0YWJPckV2ZW50OiBzdHJpbmcgfCBDdXN0b21FdmVudCk6IFByb21pc2U8Ym9vbGVhbj4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzVGFiU3RyaW5nID0gdHlwZW9mIHRhYk9yRXZlbnQgPT09ICdzdHJpbmcnO1xuICAgIGNvbnN0IHRhYiA9IGlzVGFiU3RyaW5nID8gdGFiT3JFdmVudCA6ICh0YWJPckV2ZW50IGFzIEN1c3RvbUV2ZW50KS5kZXRhaWwudGFiO1xuICAgIGNvbnN0IGFscmVhZHlTZWxlY3RlZCA9IHRoaXMub3V0bGV0LmdldEFjdGl2ZVN0YWNrSWQoKSA9PT0gdGFiO1xuICAgIGNvbnN0IHRhYlJvb3RVcmwgPSBgJHt0aGlzLm91dGxldC50YWJzUHJlZml4fS8ke3RhYn1gO1xuXG4gICAgLyoqXG4gICAgICogSWYgdGhpcyBpcyBhIG5lc3RlZCB0YWIsIHByZXZlbnQgdGhlIGV2ZW50XG4gICAgICogZnJvbSBidWJibGluZyBvdGhlcndpc2UgdGhlIG91dGVyIHRhYnNcbiAgICAgKiB3aWxsIHJlc3BvbmQgdG8gdGhpcyBldmVudCB0b28sIGNhdXNpbmdcbiAgICAgKiB0aGUgYXBwIHRvIGdldCBkaXJlY3RlZCB0byB0aGUgd3JvbmcgcGxhY2UuXG4gICAgICovXG4gICAgaWYgKCFpc1RhYlN0cmluZykge1xuICAgICAgKHRhYk9yRXZlbnQgYXMgQ3VzdG9tRXZlbnQpLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGlmIChhbHJlYWR5U2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IGFjdGl2ZVN0YWNrSWQgPSB0aGlzLm91dGxldC5nZXRBY3RpdmVTdGFja0lkKCk7XG4gICAgICBjb25zdCBhY3RpdmVWaWV3ID0gdGhpcy5vdXRsZXQuZ2V0TGFzdFJvdXRlVmlldyhhY3RpdmVTdGFja0lkKTtcblxuICAgICAgLy8gSWYgb24gcm9vdCB0YWIsIGRvIG5vdCBuYXZpZ2F0ZSB0byByb290IHRhYiBhZ2FpblxuICAgICAgaWYgKGFjdGl2ZVZpZXc/LnVybCA9PT0gdGFiUm9vdFVybCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJvb3RWaWV3ID0gdGhpcy5vdXRsZXQuZ2V0Um9vdFZpZXcodGFiKTtcbiAgICAgIGNvbnN0IG5hdmlnYXRpb25FeHRyYXMgPSByb290VmlldyAmJiB0YWJSb290VXJsID09PSByb290Vmlldy51cmwgJiYgcm9vdFZpZXcuc2F2ZWRFeHRyYXM7XG4gICAgICByZXR1cm4gdGhpcy5uYXZDdHJsLm5hdmlnYXRlUm9vdCh0YWJSb290VXJsLCB7XG4gICAgICAgIC4uLm5hdmlnYXRpb25FeHRyYXMsXG4gICAgICAgIGFuaW1hdGVkOiB0cnVlLFxuICAgICAgICBhbmltYXRpb25EaXJlY3Rpb246ICdiYWNrJyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsYXN0Um91dGUgPSB0aGlzLm91dGxldC5nZXRMYXN0Um91dGVWaWV3KHRhYik7XG4gICAgICAvKipcbiAgICAgICAqIElmIHRoZXJlIGlzIGEgbGFzdFJvdXRlLCBnb3RvIHRoYXQsIG90aGVyd2lzZSBnb3RvIHRoZSBmYWxsYmFjayB1cmwgb2YgdGhlXG4gICAgICAgKiBzZWxlY3RlZCB0YWJcbiAgICAgICAqL1xuICAgICAgY29uc3QgdXJsID0gbGFzdFJvdXRlPy51cmwgfHwgdGFiUm9vdFVybDtcbiAgICAgIGNvbnN0IG5hdmlnYXRpb25FeHRyYXMgPSBsYXN0Um91dGU/LnNhdmVkRXh0cmFzO1xuXG4gICAgICByZXR1cm4gdGhpcy5uYXZDdHJsLm5hdmlnYXRlUm9vdCh1cmwsIHtcbiAgICAgICAgLi4ubmF2aWdhdGlvbkV4dHJhcyxcbiAgICAgICAgYW5pbWF0ZWQ6IHRydWUsXG4gICAgICAgIGFuaW1hdGlvbkRpcmVjdGlvbjogJ2JhY2snLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0U2VsZWN0ZWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5vdXRsZXQuZ2V0QWN0aXZlU3RhY2tJZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVjdHMgY2hhbmdlcyB0byB0aGUgc2xvdCBhdHRyaWJ1dGUgb2YgdGhlIHRhYiBiYXIuXG4gICAqXG4gICAqIElmIHRoZSBzbG90IGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCwgdGhlbiB0aGUgdGFiIGJhclxuICAgKiBzaG91bGQgYmUgcmVsb2NhdGVkIHRvIHRoZSBuZXcgc2xvdCBwb3NpdGlvbi5cbiAgICovXG4gIHByaXZhdGUgZGV0ZWN0U2xvdENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50YWJCYXJzLmZvckVhY2goKHRhYkJhcjogYW55KSA9PiB7XG4gICAgICAvLyBlbCBpcyBhIHByb3RlY3RlZCBhdHRyaWJ1dGUgZnJvbSB0aGUgZ2VuZXJhdGVkIGNvbXBvbmVudCB3cmFwcGVyXG4gICAgICBjb25zdCBjdXJyZW50U2xvdCA9IHRhYkJhci5lbC5nZXRBdHRyaWJ1dGUoJ3Nsb3QnKTtcblxuICAgICAgaWYgKGN1cnJlbnRTbG90ICE9PSB0aGlzLnRhYkJhclNsb3QpIHtcbiAgICAgICAgdGhpcy50YWJCYXJTbG90ID0gY3VycmVudFNsb3Q7XG4gICAgICAgIHRoaXMucmVsb2NhdGVUYWJCYXIoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWxvY2F0ZXMgdGhlIHRhYiBiYXIgdG8gdGhlIG5ldyBzbG90IHBvc2l0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSByZWxvY2F0ZVRhYkJhcigpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKiBgZWxgIGlzIGEgcHJvdGVjdGVkIGF0dHJpYnV0ZSBmcm9tIHRoZSBnZW5lcmF0ZWQgY29tcG9uZW50IHdyYXBwZXIuXG4gICAgICogVG8gYXZvaWQgaGF2aW5nIHRvIG1hbnVhbGx5IGNyZWF0ZSB0aGUgd3JhcHBlciBmb3IgdGFiIGJhciwgd2VcbiAgICAgKiBjYXN0IHRoZSB0YWIgYmFyIHRvIGFueSBhbmQgYWNjZXNzIHRoZSBwcm90ZWN0ZWQgYXR0cmlidXRlLlxuICAgICAqL1xuICAgIGNvbnN0IHRhYkJhciA9ICh0aGlzLnRhYkJhciBhcyBhbnkpLmVsIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMudGFiQmFyU2xvdCA9PT0gJ3RvcCcpIHtcbiAgICAgIC8qKlxuICAgICAgICogQSB0YWIgYmFyIHdpdGggYSBzbG90IG9mIFwidG9wXCIgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICAgKiBhdCB0aGUgdG9wIG9mIHRoZSBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIHRoaXMudGFic0lubmVyLm5hdGl2ZUVsZW1lbnQuYmVmb3JlKHRhYkJhcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qKlxuICAgICAgICogQSB0YWIgYmFyIHdpdGggYSBzbG90IG9mIFwiYm90dG9tXCIgb3Igd2l0aG91dCBhIHNsb3RcbiAgICAgICAqIHNob3VsZCBiZSBpbnNlcnRlZCBhdCB0aGUgZW5kIG9mIHRoZSBjb250YWluZXIuXG4gICAgICAgKi9cbiAgICAgIHRoaXMudGFic0lubmVyLm5hdGl2ZUVsZW1lbnQuYWZ0ZXIodGFiQmFyKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive } from '@angular/core';
|
|
3
|
+
import { ProxyCmp, proxyOutputs } from '../angular-component-lib/utils';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../providers/angular-delegate";
|
|
6
|
+
let NavDelegate = class NavDelegate {
|
|
7
|
+
constructor(ref, environmentInjector, injector, angularDelegate) {
|
|
8
|
+
this.el = ref.nativeElement;
|
|
9
|
+
ref.nativeElement.delegate = angularDelegate.create(environmentInjector, injector);
|
|
10
|
+
proxyOutputs(this, this.el, ['ionNavDidChange', 'ionNavWillChange']);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
/** @nocollapse */ NavDelegate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NavDelegate, deps: [{ token: i0.ElementRef }, { token: i0.EnvironmentInjector }, { token: i0.Injector }, { token: i1.AngularDelegate }], target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
/** @nocollapse */ NavDelegate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: NavDelegate, selector: "ion-nav", ngImport: i0 });
|
|
15
|
+
NavDelegate = __decorate([
|
|
16
|
+
ProxyCmp({
|
|
17
|
+
inputs: ['animated', 'animation', 'root', 'rootParams', 'swipeGesture'],
|
|
18
|
+
methods: [
|
|
19
|
+
'push',
|
|
20
|
+
'insert',
|
|
21
|
+
'insertPages',
|
|
22
|
+
'pop',
|
|
23
|
+
'popTo',
|
|
24
|
+
'popToRoot',
|
|
25
|
+
'removeIndex',
|
|
26
|
+
'setRoot',
|
|
27
|
+
'setPages',
|
|
28
|
+
'getActive',
|
|
29
|
+
'getByIndex',
|
|
30
|
+
'canGoBack',
|
|
31
|
+
'getPrevious',
|
|
32
|
+
],
|
|
33
|
+
})
|
|
34
|
+
], NavDelegate);
|
|
35
|
+
export { NavDelegate };
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NavDelegate, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: 'ion-nav',
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.EnvironmentInjector }, { type: i0.Injector }, { type: i1.AngularDelegate }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWRlbGVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZXMvbmF2aWdhdGlvbi9uYXYtZGVsZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBd0IsU0FBUyxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUdyRixPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7SUF3QjNELFdBQVcsU0FBWCxXQUFXO0lBRXRCLFlBQ0UsR0FBZSxFQUNmLG1CQUF3QyxFQUN4QyxRQUFrQixFQUNsQixlQUFnQztRQUVoQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7UUFDNUIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGLENBQUE7NEhBWlksV0FBVztnSEFBWCxXQUFXO0FBQVgsV0FBVztJQXRCdkIsUUFBUSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGNBQWMsQ0FBQztRQUN2RSxPQUFPLEVBQUU7WUFDUCxNQUFNO1lBQ04sUUFBUTtZQUNSLGFBQWE7WUFDYixLQUFLO1lBQ0wsT0FBTztZQUNQLFdBQVc7WUFDWCxhQUFhO1lBQ2IsU0FBUztZQUNULFVBQVU7WUFDVixXQUFXO1lBQ1gsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1NBQ2Q7S0FDRixDQUFDO0dBS1csV0FBVyxDQVl2QjtTQVpZLFdBQVc7NEZBQVgsV0FBVztrQkFKdkIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsU0FBUztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RvciwgRGlyZWN0aXZlLCBFbnZpcm9ubWVudEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFuZ3VsYXJEZWxlZ2F0ZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9hbmd1bGFyLWRlbGVnYXRlJztcbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnYW5pbWF0aW9uJywgJ3Jvb3QnLCAncm9vdFBhcmFtcycsICdzd2lwZUdlc3R1cmUnXSxcbiAgbWV0aG9kczogW1xuICAgICdwdXNoJyxcbiAgICAnaW5zZXJ0JyxcbiAgICAnaW5zZXJ0UGFnZXMnLFxuICAgICdwb3AnLFxuICAgICdwb3BUbycsXG4gICAgJ3BvcFRvUm9vdCcsXG4gICAgJ3JlbW92ZUluZGV4JyxcbiAgICAnc2V0Um9vdCcsXG4gICAgJ3NldFBhZ2VzJyxcbiAgICAnZ2V0QWN0aXZlJyxcbiAgICAnZ2V0QnlJbmRleCcsXG4gICAgJ2NhbkdvQmFjaycsXG4gICAgJ2dldFByZXZpb3VzJyxcbiAgXSxcbn0pXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpb24tbmF2Jyxcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBOYXZEZWxlZ2F0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlZjogRWxlbWVudFJlZixcbiAgICBlbnZpcm9ubWVudEluamVjdG9yOiBFbnZpcm9ubWVudEluamVjdG9yLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBhbmd1bGFyRGVsZWdhdGU6IEFuZ3VsYXJEZWxlZ2F0ZVxuICApIHtcbiAgICB0aGlzLmVsID0gcmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcmVmLm5hdGl2ZUVsZW1lbnQuZGVsZWdhdGUgPSBhbmd1bGFyRGVsZWdhdGUuY3JlYXRlKGVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdG9yKTtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpb25OYXZEaWRDaGFuZ2UnLCAnaW9uTmF2V2lsbENoYW5nZSddKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description
|
|
3
|
+
* NavParams are an object that exists on a page and can contain data for that particular view.
|
|
4
|
+
* Similar to how data was pass to a view in V1 with `$stateParams`, NavParams offer a much more flexible
|
|
5
|
+
* option with a simple `get` method.
|
|
6
|
+
*
|
|
7
|
+
* @usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { NavParams } from '@ionic/angular';
|
|
10
|
+
*
|
|
11
|
+
* export class MyClass{
|
|
12
|
+
*
|
|
13
|
+
* constructor(navParams: NavParams){
|
|
14
|
+
* // userParams is an object we have in our nav-parameters
|
|
15
|
+
* navParams.get('userParams');
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export class NavParams {
|
|
22
|
+
constructor(data = {}) {
|
|
23
|
+
this.data = data;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the value of a nav-parameter for the current view
|
|
27
|
+
*
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { NavParams } from 'ionic-angular';
|
|
30
|
+
*
|
|
31
|
+
* export class MyClass{
|
|
32
|
+
* constructor(public navParams: NavParams){
|
|
33
|
+
* // userParams is an object we have in our nav-parameters
|
|
34
|
+
* this.navParams.get('userParams');
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @param param Which param you want to look up
|
|
40
|
+
*/
|
|
41
|
+
get(param) {
|
|
42
|
+
return this.data[param];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXBhcmFtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmVzL25hdmlnYXRpb24vbmF2LXBhcmFtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBQ3BCLFlBQW1CLE9BQStCLEVBQUU7UUFBakMsU0FBSSxHQUFKLElBQUksQ0FBNkI7SUFBRyxDQUFDO0lBRXhEOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILEdBQUcsQ0FBVSxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvblxuICogTmF2UGFyYW1zIGFyZSBhbiBvYmplY3QgdGhhdCBleGlzdHMgb24gYSBwYWdlIGFuZCBjYW4gY29udGFpbiBkYXRhIGZvciB0aGF0IHBhcnRpY3VsYXIgdmlldy5cbiAqIFNpbWlsYXIgdG8gaG93IGRhdGEgd2FzIHBhc3MgdG8gYSB2aWV3IGluIFYxIHdpdGggYCRzdGF0ZVBhcmFtc2AsIE5hdlBhcmFtcyBvZmZlciBhIG11Y2ggbW9yZSBmbGV4aWJsZVxuICogb3B0aW9uIHdpdGggYSBzaW1wbGUgYGdldGAgbWV0aG9kLlxuICpcbiAqIEB1c2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IE5hdlBhcmFtcyB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbiAqXG4gKiBleHBvcnQgY2xhc3MgTXlDbGFzc3tcbiAqXG4gKiAgY29uc3RydWN0b3IobmF2UGFyYW1zOiBOYXZQYXJhbXMpe1xuICogICAgLy8gdXNlclBhcmFtcyBpcyBhbiBvYmplY3Qgd2UgaGF2ZSBpbiBvdXIgbmF2LXBhcmFtZXRlcnNcbiAqICAgIG5hdlBhcmFtcy5nZXQoJ3VzZXJQYXJhbXMnKTtcbiAqICB9XG4gKlxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZQYXJhbXMge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9KSB7fVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIG9mIGEgbmF2LXBhcmFtZXRlciBmb3IgdGhlIGN1cnJlbnQgdmlld1xuICAgKlxuICAgKiBgYGB0c1xuICAgKiBpbXBvcnQgeyBOYXZQYXJhbXMgfSBmcm9tICdpb25pYy1hbmd1bGFyJztcbiAgICpcbiAgICogZXhwb3J0IGNsYXNzIE15Q2xhc3N7XG4gICAqICBjb25zdHJ1Y3RvcihwdWJsaWMgbmF2UGFyYW1zOiBOYXZQYXJhbXMpe1xuICAgKiAgICAvLyB1c2VyUGFyYW1zIGlzIGFuIG9iamVjdCB3ZSBoYXZlIGluIG91ciBuYXYtcGFyYW1ldGVyc1xuICAgKiAgICB0aGlzLm5hdlBhcmFtcy5nZXQoJ3VzZXJQYXJhbXMnKTtcbiAgICogIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIHBhcmFtIFdoaWNoIHBhcmFtIHlvdSB3YW50IHRvIGxvb2sgdXBcbiAgICovXG4gIGdldDxUID0gYW55PihwYXJhbTogc3RyaW5nKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVtwYXJhbV07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,30 +1,111 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { RouterLinkDelegateDirective as RouterLinkDelegateBase, RouterLinkWithHrefDelegateDirective as RouterLinkHrefDelegateBase, } from '@ionic/angular/common';
|
|
1
|
+
import { Directive, HostListener, Input, Optional } from '@angular/core';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../providers/nav-controller";
|
|
5
|
+
import * as i3 from "@angular/router";
|
|
4
6
|
/**
|
|
5
7
|
* Adds support for Ionic routing directions and animations to the base Angular router link directive.
|
|
6
8
|
*
|
|
7
9
|
* When the router link is clicked, the directive will assign the direction and
|
|
8
10
|
* animation so that the routing integration will transition correctly.
|
|
9
11
|
*/
|
|
10
|
-
export class RouterLinkDelegateDirective
|
|
12
|
+
export class RouterLinkDelegateDirective {
|
|
13
|
+
constructor(locationStrategy, navCtrl, elementRef, router, routerLink) {
|
|
14
|
+
this.locationStrategy = locationStrategy;
|
|
15
|
+
this.navCtrl = navCtrl;
|
|
16
|
+
this.elementRef = elementRef;
|
|
17
|
+
this.router = router;
|
|
18
|
+
this.routerLink = routerLink;
|
|
19
|
+
this.routerDirection = 'forward';
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.updateTargetUrlAndHref();
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges() {
|
|
25
|
+
this.updateTargetUrlAndHref();
|
|
26
|
+
}
|
|
27
|
+
updateTargetUrlAndHref() {
|
|
28
|
+
if (this.routerLink?.urlTree) {
|
|
29
|
+
const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));
|
|
30
|
+
this.elementRef.nativeElement.href = href;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
onClick(ev) {
|
|
37
|
+
this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);
|
|
38
|
+
/**
|
|
39
|
+
* This prevents the browser from
|
|
40
|
+
* performing a page reload when pressing
|
|
41
|
+
* an Ionic component with routerLink.
|
|
42
|
+
* The page reload interferes with routing
|
|
43
|
+
* and causes ion-back-button to disappear
|
|
44
|
+
* since the local history is wiped on reload.
|
|
45
|
+
*/
|
|
46
|
+
ev.preventDefault();
|
|
47
|
+
}
|
|
11
48
|
}
|
|
12
|
-
/** @nocollapse */ RouterLinkDelegateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RouterLinkDelegateDirective, deps:
|
|
13
|
-
/** @nocollapse */ RouterLinkDelegateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RouterLinkDelegateDirective, selector: ":not(a):not(area)[routerLink]",
|
|
49
|
+
/** @nocollapse */ RouterLinkDelegateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RouterLinkDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: i2.NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
50
|
+
/** @nocollapse */ RouterLinkDelegateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RouterLinkDelegateDirective, selector: ":not(a):not(area)[routerLink]", inputs: { routerDirection: "routerDirection", routerAnimation: "routerAnimation" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0 });
|
|
14
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RouterLinkDelegateDirective, decorators: [{
|
|
15
52
|
type: Directive,
|
|
16
53
|
args: [{
|
|
17
54
|
selector: ':not(a):not(area)[routerLink]',
|
|
18
55
|
}]
|
|
19
|
-
}] }
|
|
20
|
-
|
|
56
|
+
}], ctorParameters: function () { return [{ type: i1.LocationStrategy }, { type: i2.NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{
|
|
57
|
+
type: Optional
|
|
58
|
+
}] }]; }, propDecorators: { routerDirection: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], routerAnimation: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], onClick: [{
|
|
63
|
+
type: HostListener,
|
|
64
|
+
args: ['click', ['$event']]
|
|
65
|
+
}] } });
|
|
66
|
+
export class RouterLinkWithHrefDelegateDirective {
|
|
67
|
+
constructor(locationStrategy, navCtrl, elementRef, router, routerLink) {
|
|
68
|
+
this.locationStrategy = locationStrategy;
|
|
69
|
+
this.navCtrl = navCtrl;
|
|
70
|
+
this.elementRef = elementRef;
|
|
71
|
+
this.router = router;
|
|
72
|
+
this.routerLink = routerLink;
|
|
73
|
+
this.routerDirection = 'forward';
|
|
74
|
+
}
|
|
75
|
+
ngOnInit() {
|
|
76
|
+
this.updateTargetUrlAndHref();
|
|
77
|
+
}
|
|
78
|
+
ngOnChanges() {
|
|
79
|
+
this.updateTargetUrlAndHref();
|
|
80
|
+
}
|
|
81
|
+
updateTargetUrlAndHref() {
|
|
82
|
+
if (this.routerLink?.urlTree) {
|
|
83
|
+
const href = this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.routerLink.urlTree));
|
|
84
|
+
this.elementRef.nativeElement.href = href;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
onClick() {
|
|
91
|
+
this.navCtrl.setDirection(this.routerDirection, undefined, undefined, this.routerAnimation);
|
|
92
|
+
}
|
|
21
93
|
}
|
|
22
|
-
/** @nocollapse */ RouterLinkWithHrefDelegateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, deps:
|
|
23
|
-
/** @nocollapse */ RouterLinkWithHrefDelegateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RouterLinkWithHrefDelegateDirective, selector: "a[routerLink],area[routerLink]",
|
|
94
|
+
/** @nocollapse */ RouterLinkWithHrefDelegateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, deps: [{ token: i1.LocationStrategy }, { token: i2.NavController }, { token: i0.ElementRef }, { token: i3.Router }, { token: i3.RouterLink, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
95
|
+
/** @nocollapse */ RouterLinkWithHrefDelegateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: RouterLinkWithHrefDelegateDirective, selector: "a[routerLink],area[routerLink]", inputs: { routerDirection: "routerDirection", routerAnimation: "routerAnimation" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
|
|
24
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RouterLinkWithHrefDelegateDirective, decorators: [{
|
|
25
97
|
type: Directive,
|
|
26
98
|
args: [{
|
|
27
99
|
selector: 'a[routerLink],area[routerLink]',
|
|
28
100
|
}]
|
|
29
|
-
}] }
|
|
30
|
-
|
|
101
|
+
}], ctorParameters: function () { return [{ type: i1.LocationStrategy }, { type: i2.NavController }, { type: i0.ElementRef }, { type: i3.Router }, { type: i3.RouterLink, decorators: [{
|
|
102
|
+
type: Optional
|
|
103
|
+
}] }]; }, propDecorators: { routerDirection: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], routerAnimation: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], onClick: [{
|
|
108
|
+
type: HostListener,
|
|
109
|
+
args: ['click']
|
|
110
|
+
}] } });
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWxpbmstZGVsZWdhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL3JvdXRlci1saW5rLWRlbGVnYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU14Rzs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFDVSxnQkFBa0MsRUFDbEMsT0FBc0IsRUFDdEIsVUFBc0IsRUFDdEIsTUFBYyxFQUNGLFVBQXVCO1FBSm5DLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDRixlQUFVLEdBQVYsVUFBVSxDQUFhO1FBVjdDLG9CQUFlLEdBQW9CLFNBQVMsQ0FBQztJQVcxQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFO1lBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDekcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUMzQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUVILE9BQU8sQ0FBQyxFQUFXO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFNUY7Ozs7Ozs7V0FPRztRQUNILEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs0SUE5Q1UsMkJBQTJCO2dJQUEzQiwyQkFBMkI7NEZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQzs7MEJBYUksUUFBUTs0Q0FWWCxlQUFlO3NCQURkLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQThCTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQW1CbkMsTUFBTSxPQUFPLG1DQUFtQztJQU85QyxZQUNVLGdCQUFrQyxFQUNsQyxPQUFzQixFQUN0QixVQUFzQixFQUN0QixNQUFjLEVBQ0YsVUFBdUI7UUFKbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNGLGVBQVUsR0FBVixVQUFVLENBQWE7UUFWN0Msb0JBQWUsR0FBb0IsU0FBUyxDQUFDO0lBVzFDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN6RyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQzNDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBRUgsT0FBTztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDOUYsQ0FBQzs7b0pBcENVLG1DQUFtQzt3SUFBbkMsbUNBQW1DOzRGQUFuQyxtQ0FBbUM7a0JBSC9DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdDQUFnQztpQkFDM0M7OzBCQWFJLFFBQVE7NENBVlgsZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkE4Qk4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25Jbml0LCBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQW5pbWF0aW9uQnVpbGRlciwgUm91dGVyRGlyZWN0aW9uIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXZDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL25hdi1jb250cm9sbGVyJztcblxuLyoqXG4gKiBBZGRzIHN1cHBvcnQgZm9yIElvbmljIHJvdXRpbmcgZGlyZWN0aW9ucyBhbmQgYW5pbWF0aW9ucyB0byB0aGUgYmFzZSBBbmd1bGFyIHJvdXRlciBsaW5rIGRpcmVjdGl2ZS5cbiAqXG4gKiBXaGVuIHRoZSByb3V0ZXIgbGluayBpcyBjbGlja2VkLCB0aGUgZGlyZWN0aXZlIHdpbGwgYXNzaWduIHRoZSBkaXJlY3Rpb24gYW5kXG4gKiBhbmltYXRpb24gc28gdGhhdCB0aGUgcm91dGluZyBpbnRlZ3JhdGlvbiB3aWxsIHRyYW5zaXRpb24gY29ycmVjdGx5LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICc6bm90KGEpOm5vdChhcmVhKVtyb3V0ZXJMaW5rXScsXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlckxpbmtEZWxlZ2F0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAgcm91dGVyRGlyZWN0aW9uOiBSb3V0ZXJEaXJlY3Rpb24gPSAnZm9yd2FyZCc7XG5cbiAgQElucHV0KClcbiAgcm91dGVyQW5pbWF0aW9uPzogQW5pbWF0aW9uQnVpbGRlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxvY2F0aW9uU3RyYXRlZ3k6IExvY2F0aW9uU3RyYXRlZ3ksXG4gICAgcHJpdmF0ZSBuYXZDdHJsOiBOYXZDb250cm9sbGVyLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyTGluaz86IFJvdXRlckxpbmtcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVGFyZ2V0VXJsQW5kSHJlZigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVUYXJnZXRVcmxBbmRIcmVmKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRhcmdldFVybEFuZEhyZWYoKSB7XG4gICAgaWYgKHRoaXMucm91dGVyTGluaz8udXJsVHJlZSkge1xuICAgICAgY29uc3QgaHJlZiA9IHRoaXMubG9jYXRpb25TdHJhdGVneS5wcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHRoaXMucm91dGVyTGluay51cmxUcmVlKSk7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5ocmVmID0gaHJlZjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXY6IFVJRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm5hdkN0cmwuc2V0RGlyZWN0aW9uKHRoaXMucm91dGVyRGlyZWN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdGhpcy5yb3V0ZXJBbmltYXRpb24pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBwcmV2ZW50cyB0aGUgYnJvd3NlciBmcm9tXG4gICAgICogcGVyZm9ybWluZyBhIHBhZ2UgcmVsb2FkIHdoZW4gcHJlc3NpbmdcbiAgICAgKiBhbiBJb25pYyBjb21wb25lbnQgd2l0aCByb3V0ZXJMaW5rLlxuICAgICAqIFRoZSBwYWdlIHJlbG9hZCBpbnRlcmZlcmVzIHdpdGggcm91dGluZ1xuICAgICAqIGFuZCBjYXVzZXMgaW9uLWJhY2stYnV0dG9uIHRvIGRpc2FwcGVhclxuICAgICAqIHNpbmNlIHRoZSBsb2NhbCBoaXN0b3J5IGlzIHdpcGVkIG9uIHJlbG9hZC5cbiAgICAgKi9cbiAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Fbcm91dGVyTGlua10sYXJlYVtyb3V0ZXJMaW5rXScsXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlckxpbmtXaXRoSHJlZkRlbGVnYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICByb3V0ZXJEaXJlY3Rpb246IFJvdXRlckRpcmVjdGlvbiA9ICdmb3J3YXJkJztcblxuICBASW5wdXQoKVxuICByb3V0ZXJBbmltYXRpb24/OiBBbmltYXRpb25CdWlsZGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbG9jYXRpb25TdHJhdGVneTogTG9jYXRpb25TdHJhdGVneSxcbiAgICBwcml2YXRlIG5hdkN0cmw6IE5hdkNvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByb3V0ZXJMaW5rPzogUm91dGVyTGlua1xuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVUYXJnZXRVcmxBbmRIcmVmKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVRhcmdldFVybEFuZEhyZWYoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGFyZ2V0VXJsQW5kSHJlZigpIHtcbiAgICBpZiAodGhpcy5yb3V0ZXJMaW5rPy51cmxUcmVlKSB7XG4gICAgICBjb25zdCBocmVmID0gdGhpcy5sb2NhdGlvblN0cmF0ZWd5LnByZXBhcmVFeHRlcm5hbFVybCh0aGlzLnJvdXRlci5zZXJpYWxpemVVcmwodGhpcy5yb3V0ZXJMaW5rLnVybFRyZWUpKTtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmhyZWYgPSBocmVmO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLm5hdkN0cmwuc2V0RGlyZWN0aW9uKHRoaXMucm91dGVyRGlyZWN0aW9uLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdGhpcy5yb3V0ZXJBbmltYXRpb24pO1xuICB9XG59XG4iXX0=
|