@ionic/angular 7.3.4-dev.11699470772.1dad7e66 → 7.3.4-dev.11699991837.1bc64f72
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/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 +29 -3
- package/esm2020/app-initialize.mjs +1 -1
- 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 +62 -10
- 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/fesm2015/ionic-angular.mjs +2485 -135
- package/fesm2015/ionic-angular.mjs.map +1 -1
- package/fesm2020/ionic-angular.mjs +2477 -136
- 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 +1 -1
- 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/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 -26
- 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/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 -26
- 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/directives/navigation/ion-nav.mjs +0 -21
- package/esm2020/standalone/directives/angular-component-lib/utils.mjs +0 -51
- package/esm2020/standalone/directives/icon.mjs +0 -33
- package/esm2020/standalone/directives/proxies.mjs +0 -2960
- 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 -30
- 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 -2472
- package/fesm2015/ionic-angular-common.mjs.map +0 -1
- package/fesm2015/ionic-angular-standalone.mjs +0 -3191
- package/fesm2015/ionic-angular-standalone.mjs.map +0 -1
- package/fesm2020/ionic-angular-common.mjs +0 -2461
- package/fesm2020/ionic-angular-common.mjs.map +0 -1
- package/fesm2020/ionic-angular-standalone.mjs +0 -3189
- package/fesm2020/ionic-angular-standalone.mjs.map +0 -1
- package/standalone/directives/angular-component-lib/utils.d.ts +0 -9
- package/standalone/directives/icon.d.ts +0 -9
- package/standalone/directives/proxies.d.ts +0 -1217
- 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
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { loadingController } from '@ionic/core';
|
|
3
|
+
import { OverlayBaseController } from '../util/overlay';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class LoadingController extends OverlayBaseController {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(loadingController);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/** @nocollapse */ LoadingController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LoadingController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
/** @nocollapse */ LoadingController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LoadingController, providedIn: 'root' });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: LoadingController, decorators: [{
|
|
13
|
+
type: Injectable,
|
|
14
|
+
args: [{
|
|
15
|
+
providedIn: 'root',
|
|
16
|
+
}]
|
|
17
|
+
}], ctorParameters: function () { return []; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9sb2FkaW5nLWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUt4RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQTREO0lBQ2pHO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0IsQ0FBQzs7a0lBSFUsaUJBQWlCO3NJQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9hZGluZ09wdGlvbnMsIGxvYWRpbmdDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5pbXBvcnQgeyBPdmVybGF5QmFzZUNvbnRyb2xsZXIgfSBmcm9tICcuLi91dGlsL292ZXJsYXknO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTG9hZGluZ0NvbnRyb2xsZXIgZXh0ZW5kcyBPdmVybGF5QmFzZUNvbnRyb2xsZXI8TG9hZGluZ09wdGlvbnMsIEhUTUxJb25Mb2FkaW5nRWxlbWVudD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihsb2FkaW5nQ29udHJvbGxlcik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { menuController } from '@ionic/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class MenuController {
|
|
5
|
+
/**
|
|
6
|
+
* Programmatically open the Menu.
|
|
7
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
8
|
+
* @return returns a promise when the menu is fully opened
|
|
9
|
+
*/
|
|
10
|
+
open(menuId) {
|
|
11
|
+
return menuController.open(menuId);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Programmatically close the Menu. If no `menuId` is given as the first
|
|
15
|
+
* argument then it'll close any menu which is open. If a `menuId`
|
|
16
|
+
* is given then it'll close that exact menu.
|
|
17
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
18
|
+
* @return returns a promise when the menu is fully closed
|
|
19
|
+
*/
|
|
20
|
+
close(menuId) {
|
|
21
|
+
return menuController.close(menuId);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Toggle the menu. If it's closed, it will open, and if opened, it
|
|
25
|
+
* will close.
|
|
26
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
27
|
+
* @return returns a promise when the menu has been toggled
|
|
28
|
+
*/
|
|
29
|
+
toggle(menuId) {
|
|
30
|
+
return menuController.toggle(menuId);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Used to enable or disable a menu. For example, there could be multiple
|
|
34
|
+
* left menus, but only one of them should be able to be opened at the same
|
|
35
|
+
* time. If there are multiple menus on the same side, then enabling one menu
|
|
36
|
+
* will also automatically disable all the others that are on the same side.
|
|
37
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
38
|
+
* @return Returns the instance of the menu, which is useful for chaining.
|
|
39
|
+
*/
|
|
40
|
+
enable(shouldEnable, menuId) {
|
|
41
|
+
return menuController.enable(shouldEnable, menuId);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Used to enable or disable the ability to swipe open the menu.
|
|
45
|
+
* @param shouldEnable True if it should be swipe-able, false if not.
|
|
46
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
47
|
+
* @return Returns the instance of the menu, which is useful for chaining.
|
|
48
|
+
*/
|
|
49
|
+
swipeGesture(shouldEnable, menuId) {
|
|
50
|
+
return menuController.swipeGesture(shouldEnable, menuId);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
54
|
+
* @return Returns true if the specified menu is currently open, otherwise false.
|
|
55
|
+
* If the menuId is not specified, it returns true if ANY menu is currenly open.
|
|
56
|
+
*/
|
|
57
|
+
isOpen(menuId) {
|
|
58
|
+
return menuController.isOpen(menuId);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
62
|
+
* @return Returns true if the menu is currently enabled, otherwise false.
|
|
63
|
+
*/
|
|
64
|
+
isEnabled(menuId) {
|
|
65
|
+
return menuController.isEnabled(menuId);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Used to get a menu instance. If a `menuId` is not provided then it'll
|
|
69
|
+
* return the first menu found. If a `menuId` is `left` or `right`, then
|
|
70
|
+
* it'll return the enabled menu on that side. Otherwise, if a `menuId` is
|
|
71
|
+
* provided, then it'll try to find the menu using the menu's `id`
|
|
72
|
+
* property. If a menu is not found then it'll return `null`.
|
|
73
|
+
* @param [menuId] Optionally get the menu by its id, or side.
|
|
74
|
+
* @return Returns the instance of the menu if found, otherwise `null`.
|
|
75
|
+
*/
|
|
76
|
+
get(menuId) {
|
|
77
|
+
return menuController.get(menuId);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @return Returns the instance of the menu already opened, otherwise `null`.
|
|
81
|
+
*/
|
|
82
|
+
getOpen() {
|
|
83
|
+
return menuController.getOpen();
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @return Returns an array of all menu instances.
|
|
87
|
+
*/
|
|
88
|
+
getMenus() {
|
|
89
|
+
return menuController.getMenus();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** @nocollapse */ MenuController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
93
|
+
/** @nocollapse */ MenuController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuController, providedIn: 'root' });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: MenuController, decorators: [{
|
|
95
|
+
type: Injectable,
|
|
96
|
+
args: [{
|
|
97
|
+
providedIn: 'root',
|
|
98
|
+
}]
|
|
99
|
+
}] });
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9tZW51LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUs3QyxNQUFNLE9BQU8sY0FBYztJQUN6Qjs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLE1BQWU7UUFDbEIsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsTUFBZTtRQUNuQixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE1BQWU7UUFDcEIsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFlBQXFCLEVBQUUsTUFBZTtRQUMzQyxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxZQUFxQixFQUFFLE1BQWU7UUFDakQsT0FBTyxjQUFjLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFlO1FBQ3BCLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQWU7UUFDdkIsT0FBTyxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEdBQUcsQ0FBQyxNQUFlO1FBQ2pCLE9BQU8sY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OytIQS9GVSxjQUFjO21JQUFkLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVudUNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBQcm9ncmFtbWF0aWNhbGx5IG9wZW4gdGhlIE1lbnUuXG4gICAqIEBwYXJhbSBbbWVudUlkXSAgT3B0aW9uYWxseSBnZXQgdGhlIG1lbnUgYnkgaXRzIGlkLCBvciBzaWRlLlxuICAgKiBAcmV0dXJuIHJldHVybnMgYSBwcm9taXNlIHdoZW4gdGhlIG1lbnUgaXMgZnVsbHkgb3BlbmVkXG4gICAqL1xuICBvcGVuKG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBtZW51Q29udHJvbGxlci5vcGVuKG1lbnVJZCk7XG4gIH1cblxuICAvKipcbiAgICogUHJvZ3JhbW1hdGljYWxseSBjbG9zZSB0aGUgTWVudS4gSWYgbm8gYG1lbnVJZGAgaXMgZ2l2ZW4gYXMgdGhlIGZpcnN0XG4gICAqIGFyZ3VtZW50IHRoZW4gaXQnbGwgY2xvc2UgYW55IG1lbnUgd2hpY2ggaXMgb3Blbi4gSWYgYSBgbWVudUlkYFxuICAgKiBpcyBnaXZlbiB0aGVuIGl0J2xsIGNsb3NlIHRoYXQgZXhhY3QgbWVudS5cbiAgICogQHBhcmFtIFttZW51SWRdICBPcHRpb25hbGx5IGdldCB0aGUgbWVudSBieSBpdHMgaWQsIG9yIHNpZGUuXG4gICAqIEByZXR1cm4gcmV0dXJucyBhIHByb21pc2Ugd2hlbiB0aGUgbWVudSBpcyBmdWxseSBjbG9zZWRcbiAgICovXG4gIGNsb3NlKG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBtZW51Q29udHJvbGxlci5jbG9zZShtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgbWVudS4gSWYgaXQncyBjbG9zZWQsIGl0IHdpbGwgb3BlbiwgYW5kIGlmIG9wZW5lZCwgaXRcbiAgICogd2lsbCBjbG9zZS5cbiAgICogQHBhcmFtIFttZW51SWRdICBPcHRpb25hbGx5IGdldCB0aGUgbWVudSBieSBpdHMgaWQsIG9yIHNpZGUuXG4gICAqIEByZXR1cm4gcmV0dXJucyBhIHByb21pc2Ugd2hlbiB0aGUgbWVudSBoYXMgYmVlbiB0b2dnbGVkXG4gICAqL1xuICB0b2dnbGUobWVudUlkPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG1lbnVDb250cm9sbGVyLnRvZ2dsZShtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgYSBtZW51LiBGb3IgZXhhbXBsZSwgdGhlcmUgY291bGQgYmUgbXVsdGlwbGVcbiAgICogbGVmdCBtZW51cywgYnV0IG9ubHkgb25lIG9mIHRoZW0gc2hvdWxkIGJlIGFibGUgdG8gYmUgb3BlbmVkIGF0IHRoZSBzYW1lXG4gICAqIHRpbWUuIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBtZW51cyBvbiB0aGUgc2FtZSBzaWRlLCB0aGVuIGVuYWJsaW5nIG9uZSBtZW51XG4gICAqIHdpbGwgYWxzbyBhdXRvbWF0aWNhbGx5IGRpc2FibGUgYWxsIHRoZSBvdGhlcnMgdGhhdCBhcmUgb24gdGhlIHNhbWUgc2lkZS5cbiAgICogQHBhcmFtIFttZW51SWRdICBPcHRpb25hbGx5IGdldCB0aGUgbWVudSBieSBpdHMgaWQsIG9yIHNpZGUuXG4gICAqIEByZXR1cm4gUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIG1lbnUsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBlbmFibGUoc2hvdWxkRW5hYmxlOiBib29sZWFuLCBtZW51SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEhUTUxJb25NZW51RWxlbWVudCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBtZW51Q29udHJvbGxlci5lbmFibGUoc2hvdWxkRW5hYmxlLCBtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZW5hYmxlIG9yIGRpc2FibGUgdGhlIGFiaWxpdHkgdG8gc3dpcGUgb3BlbiB0aGUgbWVudS5cbiAgICogQHBhcmFtIHNob3VsZEVuYWJsZSAgVHJ1ZSBpZiBpdCBzaG91bGQgYmUgc3dpcGUtYWJsZSwgZmFsc2UgaWYgbm90LlxuICAgKiBAcGFyYW0gW21lbnVJZF0gIE9wdGlvbmFsbHkgZ2V0IHRoZSBtZW51IGJ5IGl0cyBpZCwgb3Igc2lkZS5cbiAgICogQHJldHVybiBSZXR1cm5zIHRoZSBpbnN0YW5jZSBvZiB0aGUgbWVudSwgd2hpY2ggaXMgdXNlZnVsIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHN3aXBlR2VzdHVyZShzaG91bGRFbmFibGU6IGJvb2xlYW4sIG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8SFRNTElvbk1lbnVFbGVtZW50IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG1lbnVDb250cm9sbGVyLnN3aXBlR2VzdHVyZShzaG91bGRFbmFibGUsIG1lbnVJZCk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIFttZW51SWRdIE9wdGlvbmFsbHkgZ2V0IHRoZSBtZW51IGJ5IGl0cyBpZCwgb3Igc2lkZS5cbiAgICogQHJldHVybiBSZXR1cm5zIHRydWUgaWYgdGhlIHNwZWNpZmllZCBtZW51IGlzIGN1cnJlbnRseSBvcGVuLCBvdGhlcndpc2UgZmFsc2UuXG4gICAqIElmIHRoZSBtZW51SWQgaXMgbm90IHNwZWNpZmllZCwgaXQgcmV0dXJucyB0cnVlIGlmIEFOWSBtZW51IGlzIGN1cnJlbmx5IG9wZW4uXG4gICAqL1xuICBpc09wZW4obWVudUlkPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG1lbnVDb250cm9sbGVyLmlzT3BlbihtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBbbWVudUlkXSAgT3B0aW9uYWxseSBnZXQgdGhlIG1lbnUgYnkgaXRzIGlkLCBvciBzaWRlLlxuICAgKiBAcmV0dXJuIFJldHVybnMgdHJ1ZSBpZiB0aGUgbWVudSBpcyBjdXJyZW50bHkgZW5hYmxlZCwgb3RoZXJ3aXNlIGZhbHNlLlxuICAgKi9cbiAgaXNFbmFibGVkKG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBtZW51Q29udHJvbGxlci5pc0VuYWJsZWQobWVudUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIHRvIGdldCBhIG1lbnUgaW5zdGFuY2UuIElmIGEgYG1lbnVJZGAgaXMgbm90IHByb3ZpZGVkIHRoZW4gaXQnbGxcbiAgICogcmV0dXJuIHRoZSBmaXJzdCBtZW51IGZvdW5kLiBJZiBhIGBtZW51SWRgIGlzIGBsZWZ0YCBvciBgcmlnaHRgLCB0aGVuXG4gICAqIGl0J2xsIHJldHVybiB0aGUgZW5hYmxlZCBtZW51IG9uIHRoYXQgc2lkZS4gT3RoZXJ3aXNlLCBpZiBhIGBtZW51SWRgIGlzXG4gICAqIHByb3ZpZGVkLCB0aGVuIGl0J2xsIHRyeSB0byBmaW5kIHRoZSBtZW51IHVzaW5nIHRoZSBtZW51J3MgYGlkYFxuICAgKiBwcm9wZXJ0eS4gSWYgYSBtZW51IGlzIG5vdCBmb3VuZCB0aGVuIGl0J2xsIHJldHVybiBgbnVsbGAuXG4gICAqIEBwYXJhbSBbbWVudUlkXSAgT3B0aW9uYWxseSBnZXQgdGhlIG1lbnUgYnkgaXRzIGlkLCBvciBzaWRlLlxuICAgKiBAcmV0dXJuIFJldHVybnMgdGhlIGluc3RhbmNlIG9mIHRoZSBtZW51IGlmIGZvdW5kLCBvdGhlcndpc2UgYG51bGxgLlxuICAgKi9cbiAgZ2V0KG1lbnVJZD86IHN0cmluZyk6IFByb21pc2U8SFRNTElvbk1lbnVFbGVtZW50IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG1lbnVDb250cm9sbGVyLmdldChtZW51SWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4gUmV0dXJucyB0aGUgaW5zdGFuY2Ugb2YgdGhlIG1lbnUgYWxyZWFkeSBvcGVuZWQsIG90aGVyd2lzZSBgbnVsbGAuXG4gICAqL1xuICBnZXRPcGVuKCk6IFByb21pc2U8SFRNTElvbk1lbnVFbGVtZW50IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIG1lbnVDb250cm9sbGVyLmdldE9wZW4oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIG1lbnUgaW5zdGFuY2VzLlxuICAgKi9cbiAgZ2V0TWVudXMoKTogUHJvbWlzZTxIVE1MSW9uTWVudUVsZW1lbnRbXT4ge1xuICAgIHJldHVybiBtZW51Q29udHJvbGxlci5nZXRNZW51cygpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Injector, Injectable, EnvironmentInjector, inject } from '@angular/core';
|
|
2
|
+
import { modalController } from '@ionic/core';
|
|
3
|
+
import { OverlayBaseController } from '../util/overlay';
|
|
4
|
+
import { AngularDelegate } from './angular-delegate';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ModalController extends OverlayBaseController {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(modalController);
|
|
9
|
+
this.angularDelegate = inject(AngularDelegate);
|
|
10
|
+
this.injector = inject(Injector);
|
|
11
|
+
this.environmentInjector = inject(EnvironmentInjector);
|
|
12
|
+
}
|
|
13
|
+
create(opts) {
|
|
14
|
+
return super.create({
|
|
15
|
+
...opts,
|
|
16
|
+
delegate: this.angularDelegate.create(this.environmentInjector, this.injector, 'modal'),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** @nocollapse */ ModalController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
/** @nocollapse */ ModalController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalController });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalController, decorators: [{
|
|
23
|
+
type: Injectable
|
|
24
|
+
}], ctorParameters: function () { return []; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvbW9kYWwtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUdyRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxxQkFBd0Q7SUFLM0Y7UUFDRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFMakIsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1Qix3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUkxRCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWtCO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQixHQUFHLElBQUk7WUFDUCxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO1NBQ3hGLENBQUMsQ0FBQztJQUNMLENBQUM7O2dJQWRVLGVBQWU7b0lBQWYsZUFBZTs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIEluamVjdGFibGUsIEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kYWxPcHRpb25zLCBtb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmltcG9ydCB7IE92ZXJsYXlCYXNlQ29udHJvbGxlciB9IGZyb20gJy4uL3V0aWwvb3ZlcmxheSc7XG5cbmltcG9ydCB7IEFuZ3VsYXJEZWxlZ2F0ZSB9IGZyb20gJy4vYW5ndWxhci1kZWxlZ2F0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNb2RhbENvbnRyb2xsZXIgZXh0ZW5kcyBPdmVybGF5QmFzZUNvbnRyb2xsZXI8TW9kYWxPcHRpb25zLCBIVE1MSW9uTW9kYWxFbGVtZW50PiB7XG4gIHByaXZhdGUgYW5ndWxhckRlbGVnYXRlID0gaW5qZWN0KEFuZ3VsYXJEZWxlZ2F0ZSk7XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBwcml2YXRlIGVudmlyb25tZW50SW5qZWN0b3IgPSBpbmplY3QoRW52aXJvbm1lbnRJbmplY3Rvcik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIobW9kYWxDb250cm9sbGVyKTtcbiAgfVxuXG4gIGNyZWF0ZShvcHRzOiBNb2RhbE9wdGlvbnMpOiBQcm9taXNlPEhUTUxJb25Nb2RhbEVsZW1lbnQ+IHtcbiAgICByZXR1cm4gc3VwZXIuY3JlYXRlKHtcbiAgICAgIC4uLm9wdHMsXG4gICAgICBkZWxlZ2F0ZTogdGhpcy5hbmd1bGFyRGVsZWdhdGUuY3JlYXRlKHRoaXMuZW52aXJvbm1lbnRJbmplY3RvciwgdGhpcy5pbmplY3RvciwgJ21vZGFsJyksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { NavigationStart } from '@angular/router';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./platform";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/router";
|
|
7
|
+
export class NavController {
|
|
8
|
+
constructor(platform, location, serializer, router) {
|
|
9
|
+
this.location = location;
|
|
10
|
+
this.serializer = serializer;
|
|
11
|
+
this.router = router;
|
|
12
|
+
this.direction = DEFAULT_DIRECTION;
|
|
13
|
+
this.animated = DEFAULT_ANIMATED;
|
|
14
|
+
this.guessDirection = 'forward';
|
|
15
|
+
this.lastNavId = -1;
|
|
16
|
+
// Subscribe to router events to detect direction
|
|
17
|
+
if (router) {
|
|
18
|
+
router.events.subscribe((ev) => {
|
|
19
|
+
if (ev instanceof NavigationStart) {
|
|
20
|
+
const id = ev.restoredState ? ev.restoredState.navigationId : ev.id;
|
|
21
|
+
this.guessDirection = id < this.lastNavId ? 'back' : 'forward';
|
|
22
|
+
this.guessAnimation = !ev.restoredState ? this.guessDirection : undefined;
|
|
23
|
+
this.lastNavId = this.guessDirection === 'forward' ? ev.id : id;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
// Subscribe to backButton events
|
|
28
|
+
platform.backButton.subscribeWithPriority(0, (processNextHandler) => {
|
|
29
|
+
this.pop();
|
|
30
|
+
processNextHandler();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
|
|
35
|
+
* it's equivalent to calling `this.router.navigateByUrl()`, but it's explicit about the **direction** of the transition.
|
|
36
|
+
*
|
|
37
|
+
* Going **forward** means that a new page is going to be pushed to the stack of the outlet (ion-router-outlet),
|
|
38
|
+
* and that it will show a "forward" animation by default.
|
|
39
|
+
*
|
|
40
|
+
* Navigating forward can also be triggered in a declarative manner by using the `[routerDirection]` directive:
|
|
41
|
+
*
|
|
42
|
+
* ```html
|
|
43
|
+
* <a routerLink="/path/to/page" routerDirection="forward">Link</a>
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
navigateForward(url, options = {}) {
|
|
47
|
+
this.setDirection('forward', options.animated, options.animationDirection, options.animation);
|
|
48
|
+
return this.navigate(url, options);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
|
|
52
|
+
* it's equivalent to calling:
|
|
53
|
+
*
|
|
54
|
+
* ```ts
|
|
55
|
+
* this.navController.setDirection('back');
|
|
56
|
+
* this.router.navigateByUrl(path);
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* Going **back** means that all the pages in the stack until the navigated page is found will be popped,
|
|
60
|
+
* and that it will show a "back" animation by default.
|
|
61
|
+
*
|
|
62
|
+
* Navigating back can also be triggered in a declarative manner by using the `[routerDirection]` directive:
|
|
63
|
+
*
|
|
64
|
+
* ```html
|
|
65
|
+
* <a routerLink="/path/to/page" routerDirection="back">Link</a>
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
navigateBack(url, options = {}) {
|
|
69
|
+
this.setDirection('back', options.animated, options.animationDirection, options.animation);
|
|
70
|
+
return this.navigate(url, options);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
|
|
74
|
+
* it's equivalent to calling:
|
|
75
|
+
*
|
|
76
|
+
* ```ts
|
|
77
|
+
* this.navController.setDirection('root');
|
|
78
|
+
* this.router.navigateByUrl(path);
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* Going **root** means that all existing pages in the stack will be removed,
|
|
82
|
+
* and the navigated page will become the single page in the stack.
|
|
83
|
+
*
|
|
84
|
+
* Navigating root can also be triggered in a declarative manner by using the `[routerDirection]` directive:
|
|
85
|
+
*
|
|
86
|
+
* ```html
|
|
87
|
+
* <a routerLink="/path/to/page" routerDirection="root">Link</a>
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
navigateRoot(url, options = {}) {
|
|
91
|
+
this.setDirection('root', options.animated, options.animationDirection, options.animation);
|
|
92
|
+
return this.navigate(url, options);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Same as [Location](https://angular.io/api/common/Location)'s back() method.
|
|
96
|
+
* It will use the standard `window.history.back()` under the hood, but featuring a `back` animation
|
|
97
|
+
* by default.
|
|
98
|
+
*/
|
|
99
|
+
back(options = { animated: true, animationDirection: 'back' }) {
|
|
100
|
+
this.setDirection('back', options.animated, options.animationDirection, options.animation);
|
|
101
|
+
return this.location.back();
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* This methods goes back in the context of Ionic's stack navigation.
|
|
105
|
+
*
|
|
106
|
+
* It recursively finds the top active `ion-router-outlet` and calls `pop()`.
|
|
107
|
+
* This is the recommended way to go back when you are using `ion-router-outlet`.
|
|
108
|
+
*
|
|
109
|
+
* Resolves to `true` if it was able to pop.
|
|
110
|
+
*/
|
|
111
|
+
async pop() {
|
|
112
|
+
let outlet = this.topOutlet;
|
|
113
|
+
while (outlet) {
|
|
114
|
+
if (await outlet.pop()) {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
outlet = outlet.parentOutlet;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* This methods specifies the direction of the next navigation performed by the Angular router.
|
|
125
|
+
*
|
|
126
|
+
* `setDirection()` does not trigger any transition, it just sets some flags to be consumed by `ion-router-outlet`.
|
|
127
|
+
*
|
|
128
|
+
* It's recommended to use `navigateForward()`, `navigateBack()` and `navigateRoot()` instead of `setDirection()`.
|
|
129
|
+
*/
|
|
130
|
+
setDirection(direction, animated, animationDirection, animationBuilder) {
|
|
131
|
+
this.direction = direction;
|
|
132
|
+
this.animated = getAnimation(direction, animated, animationDirection);
|
|
133
|
+
this.animationBuilder = animationBuilder;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* @internal
|
|
137
|
+
*/
|
|
138
|
+
setTopOutlet(outlet) {
|
|
139
|
+
this.topOutlet = outlet;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
144
|
+
consumeTransition() {
|
|
145
|
+
let direction = 'root';
|
|
146
|
+
let animation;
|
|
147
|
+
const animationBuilder = this.animationBuilder;
|
|
148
|
+
if (this.direction === 'auto') {
|
|
149
|
+
direction = this.guessDirection;
|
|
150
|
+
animation = this.guessAnimation;
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
animation = this.animated;
|
|
154
|
+
direction = this.direction;
|
|
155
|
+
}
|
|
156
|
+
this.direction = DEFAULT_DIRECTION;
|
|
157
|
+
this.animated = DEFAULT_ANIMATED;
|
|
158
|
+
this.animationBuilder = undefined;
|
|
159
|
+
return {
|
|
160
|
+
direction,
|
|
161
|
+
animation,
|
|
162
|
+
animationBuilder,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
navigate(url, options) {
|
|
166
|
+
if (Array.isArray(url)) {
|
|
167
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
168
|
+
return this.router.navigate(url, options);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
/**
|
|
172
|
+
* navigateByUrl ignores any properties that
|
|
173
|
+
* would change the url, so things like queryParams
|
|
174
|
+
* would be ignored unless we create a url tree
|
|
175
|
+
* More Info: https://github.com/angular/angular/issues/18798
|
|
176
|
+
*/
|
|
177
|
+
const urlTree = this.serializer.parse(url.toString());
|
|
178
|
+
if (options.queryParams !== undefined) {
|
|
179
|
+
urlTree.queryParams = { ...options.queryParams };
|
|
180
|
+
}
|
|
181
|
+
if (options.fragment !== undefined) {
|
|
182
|
+
urlTree.fragment = options.fragment;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* `navigateByUrl` will still apply `NavigationExtras` properties
|
|
186
|
+
* that do not modify the url, such as `replaceUrl` which is why
|
|
187
|
+
* `options` is passed in here.
|
|
188
|
+
*/
|
|
189
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
190
|
+
return this.router.navigateByUrl(urlTree, options);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/** @nocollapse */ NavController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NavController, deps: [{ token: i1.Platform }, { token: i2.Location }, { token: i3.UrlSerializer }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
195
|
+
/** @nocollapse */ NavController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NavController, providedIn: 'root' });
|
|
196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NavController, decorators: [{
|
|
197
|
+
type: Injectable,
|
|
198
|
+
args: [{
|
|
199
|
+
providedIn: 'root',
|
|
200
|
+
}]
|
|
201
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: i2.Location }, { type: i3.UrlSerializer }, { type: i3.Router, decorators: [{
|
|
202
|
+
type: Optional
|
|
203
|
+
}] }]; } });
|
|
204
|
+
const getAnimation = (direction, animated, animationDirection) => {
|
|
205
|
+
if (animated === false) {
|
|
206
|
+
return undefined;
|
|
207
|
+
}
|
|
208
|
+
if (animationDirection !== undefined) {
|
|
209
|
+
return animationDirection;
|
|
210
|
+
}
|
|
211
|
+
if (direction === 'forward' || direction === 'back') {
|
|
212
|
+
return direction;
|
|
213
|
+
}
|
|
214
|
+
else if (direction === 'root' && animated === true) {
|
|
215
|
+
return 'forward';
|
|
216
|
+
}
|
|
217
|
+
return undefined;
|
|
218
|
+
};
|
|
219
|
+
const DEFAULT_DIRECTION = 'auto';
|
|
220
|
+
const DEFAULT_ANIMATED = undefined;
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL25hdi1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBb0QsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBa0JwRyxNQUFNLE9BQU8sYUFBYTtJQVN4QixZQUNFLFFBQWtCLEVBQ1YsUUFBa0IsRUFDbEIsVUFBeUIsRUFDYixNQUFlO1FBRjNCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBZTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVM7UUFYN0IsY0FBUyxHQUF5QyxpQkFBaUIsQ0FBQztRQUNwRSxhQUFRLEdBQWtCLGdCQUFnQixDQUFDO1FBRTNDLG1CQUFjLEdBQW9CLFNBQVMsQ0FBQztRQUU1QyxjQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFRckIsaURBQWlEO1FBQ2pELElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxFQUFFLFlBQVksZUFBZSxFQUFFO29CQUNqQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDcEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQy9ELElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMs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RDtZQUVELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUNyQztZQUVEOzs7O2VBSUc7WUFDSCxvRUFBb0U7WUFDcEUsT0FBTyxJQUFJLENBQUMsTUFBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzs4SEF0TlUsYUFBYTtrSUFBYixhQUFhLGNBRlosTUFBTTs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBY0ksUUFBUTs7QUE0TWIsTUFBTSxZQUFZLEdBQUcsQ0FDbkIsU0FBMEIsRUFDMUIsUUFBNkIsRUFDN0Isa0JBQWtELEVBQ3hCLEVBQUU7SUFDNUIsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBQ0QsSUFBSSxrQkFBa0IsS0FBSyxTQUFTLEVBQUU7UUFDcEMsT0FBTyxrQkFBa0IsQ0FBQztLQUMzQjtJQUNELElBQUksU0FBUyxLQUFLLFNBQVMsSUFBSSxTQUFTLEtBQUssTUFBTSxFQUFFO1FBQ25ELE9BQU8sU0FBUyxDQUFDO0tBQ2xCO1NBQU0sSUFBSSxTQUFTLEtBQUssTUFBTSxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7UUFDcEQsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRXh0cmFzLCBSb3V0ZXIsIFVybFNlcmlhbGl6ZXIsIFVybFRyZWUsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBbmltYXRpb25CdWlsZGVyLCBOYXZEaXJlY3Rpb24sIFJvdXRlckRpcmVjdGlvbiB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuaW1wb3J0IHsgSW9uUm91dGVyT3V0bGV0IH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL2lvbi1yb3V0ZXItb3V0bGV0JztcblxuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICcuL3BsYXRmb3JtJztcblxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRpb25PcHRpb25zIHtcbiAgYW5pbWF0ZWQ/OiBib29sZWFuO1xuICBhbmltYXRpb24/OiBBbmltYXRpb25CdWlsZGVyO1xuICBhbmltYXRpb25EaXJlY3Rpb24/OiAnZm9yd2FyZCcgfCAnYmFjayc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbk9wdGlvbnMgZXh0ZW5kcyBOYXZpZ2F0aW9uRXh0cmFzLCBBbmltYXRpb25PcHRpb25zIHt9XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSB0b3BPdXRsZXQ/OiBJb25Sb3V0ZXJPdXRsZXQ7XG4gIHByaXZhdGUgZGlyZWN0aW9uOiAnZm9yd2FyZCcgfCAnYmFjaycgfCAncm9vdCcgfCAnYXV0bycgPSBERUZBVUxUX0RJUkVDVElPTjtcbiAgcHJpdmF0ZSBhbmltYXRlZD86IE5hdkRpcmVjdGlvbiA9IERFRkFVTFRfQU5JTUFURUQ7XG4gIHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcj86IEFuaW1hdGlvbkJ1aWxkZXI7XG4gIHByaXZhdGUgZ3Vlc3NEaXJlY3Rpb246IFJvdXRlckRpcmVjdGlvbiA9ICdmb3J3YXJkJztcbiAgcHJpdmF0ZSBndWVzc0FuaW1hdGlvbj86IE5hdkRpcmVjdGlvbjtcbiAgcHJpdmF0ZSBsYXN0TmF2SWQgPSAtMTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBzZXJpYWxpemVyOiBVcmxTZXJpYWxpemVyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcm91dGVyPzogUm91dGVyXG4gICkge1xuICAgIC8vIFN1YnNjcmliZSB0byByb3V0ZXIgZXZlbnRzIHRvIGRldGVjdCBkaXJlY3Rpb25cbiAgICBpZiAocm91dGVyKSB7XG4gICAgICByb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXYpID0+IHtcbiAgICAgICAgaWYgKGV2IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgY29uc3QgaWQgPSBldi5yZXN0b3JlZFN0YXRlID8gZXYucmVzdG9yZWRTdGF0ZS5uYXZpZ2F0aW9uSWQgOiBldi5pZDtcbiAgICAgICAgICB0aGlzLmd1ZXNzRGlyZWN0aW9uID0gaWQgPCB0aGlzLmxhc3ROYXZJZCA/ICdiYWNrJyA6ICdmb3J3YXJkJztcbiAgICAgICAgICB0aGlzLmd1ZXNzQW5pbWF0aW9uID0gIWV2LnJlc3RvcmVkU3RhdGUgPyB0aGlzLmd1ZXNzRGlyZWN0aW9uIDogdW5kZWZpbmVkO1xuICAgICAgICAgIHRoaXMubGFzdE5hdklkID0gdGhpcy5ndWVzc0RpcmVjdGlvbiA9PT0gJ2ZvcndhcmQnID8gZXYuaWQgOiBpZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU3Vic2NyaWJlIHRvIGJhY2tCdXR0b24gZXZlbnRzXG4gICAgcGxhdGZvcm0uYmFja0J1dHRvbi5zdWJzY3JpYmVXaXRoUHJpb3JpdHkoMCwgKHByb2Nlc3NOZXh0SGFuZGxlcikgPT4ge1xuICAgICAgdGhpcy5wb3AoKTtcbiAgICAgIHByb2Nlc3NOZXh0SGFuZGxlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHVzZXMgQW5ndWxhcidzIFtSb3V0ZXJdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvcm91dGVyL1JvdXRlcikgdW5kZXIgdGhlIGhvb2QsXG4gICAqIGl0J3MgZXF1aXZhbGVudCB0byBjYWxsaW5nIGB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKClgLCBidXQgaXQncyBleHBsaWNpdCBhYm91dCB0aGUgKipkaXJlY3Rpb24qKiBvZiB0aGUgdHJhbnNpdGlvbi5cbiAgICpcbiAgICogR29pbmcgKipmb3J3YXJkKiogbWVhbnMgdGhhdCBhIG5ldyBwYWdlIGlzIGdvaW5nIHRvIGJlIHB1c2hlZCB0byB0aGUgc3RhY2sgb2YgdGhlIG91dGxldCAoaW9uLXJvdXRlci1vdXRsZXQpLFxuICAgKiBhbmQgdGhhdCBpdCB3aWxsIHNob3cgYSBcImZvcndhcmRcIiBhbmltYXRpb24gYnkgZGVmYXVsdC5cbiAgICpcbiAgICogTmF2aWdhdGluZyBmb3J3YXJkIGNhbiBhbHNvIGJlIHRyaWdnZXJlZCBpbiBhIGRlY2xhcmF0aXZlIG1hbm5lciBieSB1c2luZyB0aGUgYFtyb3V0ZXJEaXJlY3Rpb25dYCBkaXJlY3RpdmU6XG4gICAqXG4gICAqIGBgYGh0bWxcbiAgICogPGEgcm91dGVyTGluaz1cIi9wYXRoL3RvL3BhZ2VcIiByb3V0ZXJEaXJlY3Rpb249XCJmb3J3YXJkXCI+TGluazwvYT5cbiAgICogYGBgXG4gICAqL1xuICBuYXZpZ2F0ZUZvcndhcmQodXJsOiBzdHJpbmcgfCBVcmxUcmVlIHwgYW55W10sIG9wdGlvbnM6IE5hdmlnYXRpb25PcHRpb25zID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLnNldERpcmVjdGlvbignZm9yd2FyZCcsIG9wdGlvbnMuYW5pbWF0ZWQsIG9wdGlvbnMuYW5pbWF0aW9uRGlyZWN0aW9uLCBvcHRpb25zLmFuaW1hdGlvbik7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGUodXJsLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB1c2VzIEFuZ3VsYXIncyBbUm91dGVyXShodHRwczovL2FuZ3VsYXIuaW8vYXBpL3JvdXRlci9Sb3V0ZXIpIHVuZGVyIHRoZSBob29kLFxuICAgKiBpdCdzIGVxdWl2YWxlbnQgdG8gY2FsbGluZzpcbiAgICpcbiAgICogYGBgdHNcbiAgICogdGhpcy5uYXZDb250cm9sbGVyLnNldERpcmVjdGlvbignYmFjaycpO1xuICAgKiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpO1xuICAgKiBgYGBcbiAgICpcbiAgICogR29pbmcgKipiYWNrKiogbWVhbnMgdGhhdCBhbGwgdGhlIHBhZ2VzIGluIHRoZSBzdGFjayB1bnRpbCB0aGUgbmF2aWdhdGVkIHBhZ2UgaXMgZm91bmQgd2lsbCBiZSBwb3BwZWQsXG4gICAqIGFuZCB0aGF0IGl0IHdpbGwgc2hvdyBhIFwiYmFja1wiIGFuaW1hdGlvbiBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBOYXZpZ2F0aW5nIGJhY2sgY2FuIGFsc28gYmUgdHJpZ2dlcmVkIGluIGEgZGVjbGFyYXRpdmUgbWFubmVyIGJ5IHVzaW5nIHRoZSBgW3JvdXRlckRpcmVjdGlvbl1gIGRpcmVjdGl2ZTpcbiAgICpcbiAgICogYGBgaHRtbFxuICAgKiA8YSByb3V0ZXJMaW5rPVwiL3BhdGgvdG8vcGFnZVwiIHJvdXRlckRpcmVjdGlvbj1cImJhY2tcIj5MaW5rPC9hPlxuICAgKiBgYGBcbiAgICovXG4gIG5hdmlnYXRlQmFjayh1cmw6IHN0cmluZyB8IFVybFRyZWUgfCBhbnlbXSwgb3B0aW9uczogTmF2aWdhdGlvbk9wdGlvbnMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuc2V0RGlyZWN0aW9uKCdiYWNrJywgb3B0aW9ucy5hbmltYXRlZCwgb3B0aW9ucy5hbmltYXRpb25EaXJlY3Rpb24sIG9wdGlvbnMuYW5pbWF0aW9uKTtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZSh1cmwsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHVzZXMgQW5ndWxhcidzIFtSb3V0ZXJdKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvcm91dGVyL1JvdXRlcikgdW5kZXIgdGhlIGhvb2QsXG4gICAqIGl0J3MgZXF1aXZhbGVudCB0byBjYWxsaW5nOlxuICAgKlxuICAgKiBgYGB0c1xuICAgKiB0aGlzLm5hdkNvbnRyb2xsZXIuc2V0RGlyZWN0aW9uKCdyb290Jyk7XG4gICAqIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocGF0aCk7XG4gICAqIGBgYFxuICAgKlxuICAgKiBHb2luZyAqKnJvb3QqKiBtZWFucyB0aGF0IGFsbCBleGlzdGluZyBwYWdlcyBpbiB0aGUgc3RhY2sgd2lsbCBiZSByZW1vdmVkLFxuICAgKiBhbmQgdGhlIG5hdmlnYXRlZCBwYWdlIHdpbGwgYmVjb21lIHRoZSBzaW5nbGUgcGFnZSBpbiB0aGUgc3RhY2suXG4gICAqXG4gICAqIE5hdmlnYXRpbmcgcm9vdCBjYW4gYWxzbyBiZSB0cmlnZ2VyZWQgaW4gYSBkZWNsYXJhdGl2ZSBtYW5uZXIgYnkgdXNpbmcgdGhlIGBbcm91dGVyRGlyZWN0aW9uXWAgZGlyZWN0aXZlOlxuICAgKlxuICAgKiBgYGBodG1sXG4gICAqIDxhIHJvdXRlckxpbms9XCIvcGF0aC90by9wYWdlXCIgcm91dGVyRGlyZWN0aW9uPVwicm9vdFwiPkxpbms8L2E+XG4gICAqIGBgYFxuICAgKi9cbiAgbmF2aWdhdGVSb290KHVybDogc3RyaW5nIHwgVXJsVHJlZSB8IGFueVtdLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5zZXREaXJlY3Rpb24oJ3Jvb3QnLCBvcHRpb25zLmFuaW1hdGVkLCBvcHRpb25zLmFuaW1hdGlvbkRpcmVjdGlvbiwgb3B0aW9ucy5hbmltYXRpb24pO1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRlKHVybCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogU2FtZSBhcyBbTG9jYXRpb25dKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29tbW9uL0xvY2F0aW9uKSdzIGJhY2soKSBtZXRob2QuXG4gICAqIEl0IHdpbGwgdXNlIHRoZSBzdGFuZGFyZCBgd2luZG93Lmhpc3RvcnkuYmFjaygpYCB1bmRlciB0aGUgaG9vZCwgYnV0IGZlYXR1cmluZyBhIGBiYWNrYCBhbmltYXRpb25cbiAgICogYnkgZGVmYXVsdC5cbiAgICovXG4gIGJhY2sob3B0aW9uczogQW5pbWF0aW9uT3B0aW9ucyA9IHsgYW5pbWF0ZWQ6IHRydWUsIGFuaW1hdGlvbkRpcmVjdGlvbjogJ2JhY2snIH0pOiB2b2lkIHtcbiAgICB0aGlzLnNldERpcmVjdGlvbignYmFjaycsIG9wdGlvbnMuYW5pbWF0ZWQsIG9wdGlvbnMuYW5pbWF0aW9uRGlyZWN0aW9uLCBvcHRpb25zLmFuaW1hdGlvbik7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kcyBnb2VzIGJhY2sgaW4gdGhlIGNvbnRleHQgb2YgSW9uaWMncyBzdGFjayBuYXZpZ2F0aW9uLlxuICAgKlxuICAgKiBJdCByZWN1cnNpdmVseSBmaW5kcyB0aGUgdG9wIGFjdGl2ZSBgaW9uLXJvdXRlci1vdXRsZXRgIGFuZCBjYWxscyBgcG9wKClgLlxuICAgKiBUaGlzIGlzIHRoZSByZWNvbW1lbmRlZCB3YXkgdG8gZ28gYmFjayB3aGVuIHlvdSBhcmUgdXNpbmcgYGlvbi1yb3V0ZXItb3V0bGV0YC5cbiAgICpcbiAgICogUmVzb2x2ZXMgdG8gYHRydWVgIGlmIGl0IHdhcyBhYmxlIHRvIHBvcC5cbiAgICovXG4gIGFzeW5jIHBvcCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgb3V0bGV0ID0gdGhpcy50b3BPdXRsZXQ7XG5cbiAgICB3aGlsZSAob3V0bGV0KSB7XG4gICAgICBpZiAoYXdhaXQgb3V0bGV0LnBvcCgpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0bGV0ID0gb3V0bGV0LnBhcmVudE91dGxldDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2RzIHNwZWNpZmllcyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBuZXh0IG5hdmlnYXRpb24gcGVyZm9ybWVkIGJ5IHRoZSBBbmd1bGFyIHJvdXRlci5cbiAgICpcbiAgICogYHNldERpcmVjdGlvbigpYCBkb2VzIG5vdCB0cmlnZ2VyIGFueSB0cmFuc2l0aW9uLCBpdCBqdXN0IHNldHMgc29tZSBmbGFncyB0byBiZSBjb25zdW1lZCBieSBgaW9uLXJvdXRlci1vdXRsZXRgLlxuICAgKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSBgbmF2aWdhdGVGb3J3YXJkKClgLCBgbmF2aWdhdGVCYWNrKClgIGFuZCBgbmF2aWdhdGVSb290KClgIGluc3RlYWQgb2YgYHNldERpcmVjdGlvbigpYC5cbiAgICovXG4gIHNldERpcmVjdGlvbihcbiAgICBkaXJlY3Rpb246IFJvdXRlckRpcmVjdGlvbixcbiAgICBhbmltYXRlZD86IGJvb2xlYW4sXG4gICAgYW5pbWF0aW9uRGlyZWN0aW9uPzogJ2ZvcndhcmQnIHwgJ2JhY2snLFxuICAgIGFuaW1hdGlvbkJ1aWxkZXI/OiBBbmltYXRpb25CdWlsZGVyXG4gICk6IHZvaWQge1xuICAgIHRoaXMuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgIHRoaXMuYW5pbWF0ZWQgPSBnZXRBbmltYXRpb24oZGlyZWN0aW9uLCBhbmltYXRlZCwgYW5pbWF0aW9uRGlyZWN0aW9uKTtcbiAgICB0aGlzLmFuaW1hdGlvbkJ1aWxkZXIgPSBhbmltYXRpb25CdWlsZGVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc2V0VG9wT3V0bGV0KG91dGxldDogSW9uUm91dGVyT3V0bGV0KTogdm9pZCB7XG4gICAgdGhpcy50b3BPdXRsZXQgPSBvdXRsZXQ7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb25zdW1lVHJhbnNpdGlvbigpOiB7XG4gICAgZGlyZWN0aW9uOiBSb3V0ZXJEaXJlY3Rpb247XG4gICAgYW5pbWF0aW9uOiBOYXZEaXJlY3Rpb24gfCB1bmRlZmluZWQ7XG4gICAgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlciB8IHVuZGVmaW5lZDtcbiAgfSB7XG4gICAgbGV0IGRpcmVjdGlvbjogUm91dGVyRGlyZWN0aW9uID0gJ3Jvb3QnO1xuICAgIGxldCBhbmltYXRpb246IE5hdkRpcmVjdGlvbiB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBhbmltYXRpb25CdWlsZGVyID0gdGhpcy5hbmltYXRpb25CdWlsZGVyO1xuXG4gICAgaWYgKHRoaXMuZGlyZWN0aW9uID09PSAnYXV0bycpIHtcbiAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZ3Vlc3NEaXJlY3Rpb247XG4gICAgICBhbmltYXRpb24gPSB0aGlzLmd1ZXNzQW5pbWF0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBhbmltYXRpb24gPSB0aGlzLmFuaW1hdGVkO1xuICAgICAgZGlyZWN0aW9uID0gdGhpcy5kaXJlY3Rpb247XG4gICAgfVxuICAgIHRoaXMuZGlyZWN0aW9uID0gREVGQVVMVF9ESVJFQ1RJT047XG4gICAgdGhpcy5hbmltYXRlZCA9IERFRkFVTFRfQU5JTUFURUQ7XG4gICAgdGhpcy5hbmltYXRpb25CdWlsZGVyID0gdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpcmVjdGlvbixcbiAgICAgIGFuaW1hdGlvbixcbiAgICAgIGFuaW1hdGlvbkJ1aWxkZXIsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGUodXJsOiBzdHJpbmcgfCBVcmxUcmVlIHwgYW55W10sIG9wdGlvbnM6IE5hdmlnYXRpb25PcHRpb25zKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodXJsKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgIHJldHVybiB0aGlzLnJvdXRlciEubmF2aWdhdGUodXJsLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLyoqXG4gICAgICAgKiBuYXZpZ2F0ZUJ5VXJsIGlnbm9yZXMgYW55IHByb3BlcnRpZXMgdGhhdFxuICAgICAgICogd291bGQgY2hhbmdlIHRoZSB1cmwsIHNvIHRoaW5ncyBsaWtlIHF1ZXJ5UGFyYW1zXG4gICAgICAgKiB3b3VsZCBiZSBpZ25vcmVkIHVubGVzcyB3ZSBjcmVhdGUgYSB1cmwgdHJlZVxuICAgICAgICogTW9yZSBJbmZvOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xODc5OFxuICAgICAgICovXG4gICAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5zZXJpYWxpemVyLnBhcnNlKHVybC50b1N0cmluZygpKTtcblxuICAgICAgaWYgKG9wdGlvbnMucXVlcnlQYXJhbXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB1cmxUcmVlLnF1ZXJ5UGFyYW1zID0geyAuLi5vcHRpb25zLnF1ZXJ5UGFyYW1zIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpb25zLmZyYWdtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdXJsVHJlZS5mcmFnbWVudCA9IG9wdGlvbnMuZnJhZ21lbnQ7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogYG5hdmlnYXRlQnlVcmxgIHdpbGwgc3RpbGwgYXBwbHkgYE5hdmlnYXRpb25FeHRyYXNgIHByb3BlcnRpZXNcbiAgICAgICAqIHRoYXQgZG8gbm90IG1vZGlmeSB0aGUgdXJsLCBzdWNoIGFzIGByZXBsYWNlVXJsYCB3aGljaCBpcyB3aHlcbiAgICAgICAqIGBvcHRpb25zYCBpcyBwYXNzZWQgaW4gaGVyZS5cbiAgICAgICAqL1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgIHJldHVybiB0aGlzLnJvdXRlciEubmF2aWdhdGVCeVVybCh1cmxUcmVlLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgZ2V0QW5pbWF0aW9uID0gKFxuICBkaXJlY3Rpb246IFJvdXRlckRpcmVjdGlvbixcbiAgYW5pbWF0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG4gIGFuaW1hdGlvbkRpcmVjdGlvbjogJ2ZvcndhcmQnIHwgJ2JhY2snIHwgdW5kZWZpbmVkXG4pOiBOYXZEaXJlY3Rpb24gfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoYW5pbWF0ZWQgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAoYW5pbWF0aW9uRGlyZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gYW5pbWF0aW9uRGlyZWN0aW9uO1xuICB9XG4gIGlmIChkaXJlY3Rpb24gPT09ICdmb3J3YXJkJyB8fCBkaXJlY3Rpb24gPT09ICdiYWNrJykge1xuICAgIHJldHVybiBkaXJlY3Rpb247XG4gIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAncm9vdCcgJiYgYW5pbWF0ZWQgPT09IHRydWUpIHtcbiAgICByZXR1cm4gJ2ZvcndhcmQnO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBERUZBVUxUX0RJUkVDVElPTiA9ICdhdXRvJztcbmNvbnN0IERFRkFVTFRfQU5JTUFURUQgPSB1bmRlZmluZWQ7XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { pickerController } from '@ionic/core';
|
|
3
|
+
import { OverlayBaseController } from '../util/overlay';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class PickerController extends OverlayBaseController {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(pickerController);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/** @nocollapse */ PickerController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickerController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
/** @nocollapse */ PickerController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickerController, providedIn: 'root' });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PickerController, decorators: [{
|
|
13
|
+
type: Injectable,
|
|
14
|
+
args: [{
|
|
15
|
+
providedIn: 'root',
|
|
16
|
+
}]
|
|
17
|
+
}], ctorParameters: function () { return []; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdmlkZXJzL3BpY2tlci1jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFLeEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHFCQUEwRDtJQUM5RjtRQUNFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2lJQUhVLGdCQUFnQjtxSUFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGlja2VyT3B0aW9ucywgcGlja2VyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheUJhc2VDb250cm9sbGVyIH0gZnJvbSAnLi4vdXRpbC9vdmVybGF5JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBpY2tlckNvbnRyb2xsZXIgZXh0ZW5kcyBPdmVybGF5QmFzZUNvbnRyb2xsZXI8UGlja2VyT3B0aW9ucywgSFRNTElvblBpY2tlckVsZW1lbnQ+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIocGlja2VyQ29udHJvbGxlcik7XG4gIH1cbn1cbiJdfQ==
|