@nativescript-community/ui-material-bottomsheet 6.2.3 → 6.2.4
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/CHANGELOG.md +8 -0
- package/angular/bottomsheet.module.d.ts +3 -3
- package/angular/bottomsheet.service.d.ts +2 -2
- package/angular/{esm2015/bottomsheet.module.js → esm2020/bottomsheet.module.mjs} +1 -1
- package/angular/esm2020/bottomsheet.service.mjs +111 -0
- package/angular/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/angular/{esm2015/nativescript-community-ui-material-bottomsheet-angular.js → esm2020/nativescript-community-ui-material-bottomsheet-angular.mjs} +0 -0
- package/angular/fesm2015/{nativescript-community-ui-material-bottomsheet-angular.js → nativescript-community-ui-material-bottomsheet-angular.mjs} +15 -10
- package/angular/fesm2015/nativescript-community-ui-material-bottomsheet-angular.mjs.map +1 -0
- package/angular/fesm2020/nativescript-community-ui-material-bottomsheet-angular.mjs +137 -0
- package/angular/fesm2020/nativescript-community-ui-material-bottomsheet-angular.mjs.map +1 -0
- package/angular/package.json +21 -7
- package/bottomsheet.android.js.map +1 -1
- package/package.json +3 -3
- package/angular/bundles/nativescript-community-ui-material-bottomsheet-angular.umd.js +0 -179
- package/angular/bundles/nativescript-community-ui-material-bottomsheet-angular.umd.js.map +0 -1
- package/angular/bundles/nativescript-community-ui-material-bottomsheet-angular.umd.min.js +0 -2
- package/angular/bundles/nativescript-community-ui-material-bottomsheet-angular.umd.min.js.map +0 -1
- package/angular/esm2015/bottomsheet.service.js +0 -109
- package/angular/fesm2015/nativescript-community-ui-material-bottomsheet-angular.js.map +0 -1
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,14 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
## [6.2.4](https://github.com/nativescript-community/ui-material-components/tree/master/packages/bottomsheet/compare/v6.2.3...v6.2.4) (2021-11-25)
|
7
|
+
|
8
|
+
**Note:** Version bump only for package @nativescript-community/ui-material-bottomsheet
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
6
14
|
## [6.2.3](https://github.com/nativescript-community/ui-material-components/tree/master/packages/bottomsheet/compare/v6.2.2...v6.2.3) (2021-11-09)
|
7
15
|
|
8
16
|
**Note:** Version bump only for package @nativescript-community/ui-material-bottomsheet
|
@@ -4,7 +4,7 @@ export declare class NativeScriptMaterialBottomSheetModule {
|
|
4
4
|
private static initialized;
|
5
5
|
static forRoot(): ModuleWithProviders<NativeScriptMaterialBottomSheetModule>;
|
6
6
|
constructor();
|
7
|
-
static ɵfac: i0.ɵɵ
|
8
|
-
static ɵmod: i0.ɵɵ
|
9
|
-
static ɵinj: i0.ɵɵ
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NativeScriptMaterialBottomSheetModule, never>;
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NativeScriptMaterialBottomSheetModule, never, never, never>;
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NativeScriptMaterialBottomSheetModule>;
|
10
10
|
}
|
@@ -23,6 +23,6 @@ export declare class BottomSheetService {
|
|
23
23
|
private getBottomSheetParams;
|
24
24
|
private createDetachedLoader;
|
25
25
|
private loadComponent;
|
26
|
-
static ɵfac: i0.ɵɵ
|
27
|
-
static ɵprov: i0.ɵɵ
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BottomSheetService, never>;
|
27
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<BottomSheetService>;
|
28
28
|
}
|
@@ -23,4 +23,4 @@ NativeScriptMaterialBottomSheetModule.ɵinj = i0.ɵɵdefineInjector({});
|
|
23
23
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NativeScriptMaterialBottomSheetModule, [{
|
24
24
|
type: NgModule
|
25
25
|
}], function () { return []; }, null); })();
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tc2hlZXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JvdHRvbXNoZWV0L2FuZ3VsYXIvYm90dG9tc2hlZXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFHMUUsTUFBTSxPQUFPLHFDQUFxQztJQVc5QztRQUNJLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxXQUFXLEVBQUU7WUFDcEQsT0FBTyxFQUFFLENBQUM7WUFDVixxQ0FBcUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQVpELE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILFFBQVEsRUFBRSxxQ0FBcUM7WUFDL0MsU0FBUyxFQUFFLENBQUMsa0JBQWtCLENBQUM7U0FDbEMsQ0FBQztJQUNOLENBQUM7O0FBUGMsaURBQVcsR0FBRyxLQUFNLENBQUE7MEhBRjFCLHFDQUFxQzt5RUFBckMscUNBQXFDOzt1RkFBckMscUNBQXFDO2NBRGpELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCb3R0b21TaGVldFNlcnZpY2UgfSBmcm9tICcuL2JvdHRvbXNoZWV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgaW5zdGFsbCB9IGZyb20gJ0BuYXRpdmVzY3JpcHQtY29tbXVuaXR5L3VpLW1hdGVyaWFsLWJvdHRvbXNoZWV0JztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBOYXRpdmVTY3JpcHRNYXRlcmlhbEJvdHRvbVNoZWV0TW9kdWxlIHtcbiAgICAvLyBUaGlzIGZsYWcgaGVscCB1cyB0byBhdm9pZCBwcm9ibGVtcyB3aGVuIHVzaW5nIHRoZSBuZXcgZGV2ZWxvcG1lbnQgd29ya2Zsb3dcbiAgICBwcml2YXRlIHN0YXRpYyBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOYXRpdmVTY3JpcHRNYXRlcmlhbEJvdHRvbVNoZWV0TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmF0aXZlU2NyaXB0TWF0ZXJpYWxCb3R0b21TaGVldE1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW0JvdHRvbVNoZWV0U2VydmljZV0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpZiAoIU5hdGl2ZVNjcmlwdE1hdGVyaWFsQm90dG9tU2hlZXRNb2R1bGUuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGluc3RhbGwoKTtcbiAgICAgICAgICAgIE5hdGl2ZVNjcmlwdE1hdGVyaWFsQm90dG9tU2hlZXRNb2R1bGUuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -0,0 +1,111 @@
|
|
1
|
+
import { ComponentFactoryResolver, Injectable, Injector } from '@angular/core';
|
2
|
+
import { AppHostView, DetachedLoader, once } from '@nativescript/angular';
|
3
|
+
import { LayoutBase } from '@nativescript/core';
|
4
|
+
import { Subject } from 'rxjs';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export class BottomSheetParams {
|
7
|
+
constructor(context, closeCallback) {
|
8
|
+
this.context = context;
|
9
|
+
this.closeCallback = closeCallback;
|
10
|
+
}
|
11
|
+
}
|
12
|
+
export class BottomSheetService {
|
13
|
+
show(type, options) {
|
14
|
+
return this.showWithCloseCallback(type, options).observable;
|
15
|
+
}
|
16
|
+
showWithCloseCallback(type, options) {
|
17
|
+
if (!options.viewContainerRef) {
|
18
|
+
throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');
|
19
|
+
}
|
20
|
+
const sheetRef = {
|
21
|
+
result: new Subject()
|
22
|
+
};
|
23
|
+
const parentView = this.getParentView(options.viewContainerRef);
|
24
|
+
const factoryResolver = this.getFactoryResolver(options.viewContainerRef);
|
25
|
+
const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);
|
26
|
+
sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);
|
27
|
+
this.loadComponent(type, sheetRef).then((componentView) => {
|
28
|
+
parentView.showBottomSheet({
|
29
|
+
...options,
|
30
|
+
...bottomSheetParams,
|
31
|
+
view: componentView
|
32
|
+
});
|
33
|
+
});
|
34
|
+
return {
|
35
|
+
observable: sheetRef.result,
|
36
|
+
closeCallback: bottomSheetParams.closeCallback
|
37
|
+
};
|
38
|
+
}
|
39
|
+
getParentView(viewContainerRef) {
|
40
|
+
let parentView = viewContainerRef.element.nativeElement;
|
41
|
+
if (parentView instanceof AppHostView && parentView.ngAppRoot) {
|
42
|
+
parentView = parentView.ngAppRoot;
|
43
|
+
}
|
44
|
+
if (parentView._ngDialogRoot) {
|
45
|
+
parentView = parentView._ngDialogRoot;
|
46
|
+
}
|
47
|
+
return parentView;
|
48
|
+
}
|
49
|
+
getFactoryResolver(componentContainer) {
|
50
|
+
return componentContainer.injector.get(ComponentFactoryResolver);
|
51
|
+
}
|
52
|
+
createChildInjector(bottomSheetParams, containerRef) {
|
53
|
+
return Injector.create({
|
54
|
+
providers: [
|
55
|
+
{
|
56
|
+
provide: BottomSheetParams,
|
57
|
+
useValue: bottomSheetParams
|
58
|
+
}
|
59
|
+
],
|
60
|
+
parent: containerRef.injector
|
61
|
+
});
|
62
|
+
}
|
63
|
+
getBottomSheetParams(context, sheetRef) {
|
64
|
+
const closeCallback = once((args) => {
|
65
|
+
const { result, componentView, detachedLoader } = sheetRef;
|
66
|
+
result.next(args);
|
67
|
+
result.complete();
|
68
|
+
if (componentView) {
|
69
|
+
componentView.closeBottomSheet();
|
70
|
+
}
|
71
|
+
if (detachedLoader) {
|
72
|
+
detachedLoader.instance.detectChanges();
|
73
|
+
detachedLoader.destroy();
|
74
|
+
}
|
75
|
+
});
|
76
|
+
return new BottomSheetParams(context, closeCallback);
|
77
|
+
}
|
78
|
+
createDetachedLoader(factoryResolver, bottomSheetParams, viewContainerRef) {
|
79
|
+
const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);
|
80
|
+
const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);
|
81
|
+
return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);
|
82
|
+
}
|
83
|
+
async loadComponent(type, sheetRef) {
|
84
|
+
try {
|
85
|
+
const componentRef = await sheetRef.detachedLoader.instance.loadComponent(type);
|
86
|
+
const detachedProxy = componentRef.location.nativeElement;
|
87
|
+
if (detachedProxy.getChildrenCount() > 1) {
|
88
|
+
throw new Error('BottomSheet content has more than one root view.');
|
89
|
+
}
|
90
|
+
sheetRef.componentView = detachedProxy.getChildAt(0);
|
91
|
+
if (sheetRef.componentView.parent instanceof LayoutBase) {
|
92
|
+
sheetRef.componentView.parent._ngDialogRoot = sheetRef.componentView;
|
93
|
+
sheetRef.componentView.parent.removeChild(sheetRef.componentView);
|
94
|
+
}
|
95
|
+
return sheetRef.componentView;
|
96
|
+
}
|
97
|
+
catch (err) {
|
98
|
+
console.error(err);
|
99
|
+
return null;
|
100
|
+
}
|
101
|
+
}
|
102
|
+
}
|
103
|
+
BottomSheetService.ɵfac = function BottomSheetService_Factory(t) { return new (t || BottomSheetService)(); };
|
104
|
+
BottomSheetService.ɵprov = i0.ɵɵdefineInjectable({ token: BottomSheetService, factory: BottomSheetService.ɵfac, providedIn: 'root' });
|
105
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BottomSheetService, [{
|
106
|
+
type: Injectable,
|
107
|
+
args: [{
|
108
|
+
providedIn: 'root'
|
109
|
+
}]
|
110
|
+
}], null, null); })();
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tc2hlZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ib3R0b21zaGVldC9hbmd1bGFyL2JvdHRvbXNoZWV0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUVySCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBQzFFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBbUMsT0FBWSxFQUFrQixhQUFnQztRQUE5RCxZQUFPLEdBQVAsT0FBTyxDQUFLO1FBQWtCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtJQUFHLENBQUM7Q0FDeEc7QUFhRCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLElBQUksQ0FBZ0IsSUFBZSxFQUFFLE9BQTJCO1FBQ25FLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDaEUsQ0FBQztJQUVNLHFCQUFxQixDQUFnQixJQUFlLEVBQUUsT0FBMkI7UUFDcEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGlGQUFpRixDQUFDLENBQUM7U0FDdEc7UUFFRCxNQUFNLFFBQVEsR0FBc0I7WUFDaEMsTUFBTSxFQUFFLElBQUksT0FBTyxFQUFFO1NBQ3hCLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sZUFBZSxHQUFHLElB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QUNyRixDQUFDO0lBRU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFlLEVBQUUsUUFBa0I7UUFDM0QsSUFBSTtZQUNBLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hGLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBbUMsQ0FBQztZQUVoRixJQUFJLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO2FBQ3ZFO1lBRUQsUUFBUSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXJELElBQUksUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLFlBQVksVUFBVSxFQUFFO2dCQUNwRCxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQTZCLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7Z0JBQzdGLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDckU7WUFFRCxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUM7U0FDakM7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFbkIsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7O29GQXRIUSxrQkFBa0I7MERBQWxCLGtCQUFrQixXQUFsQixrQkFBa0IsbUJBRmYsTUFBTTt1RkFFVCxrQkFBa0I7Y0FIOUIsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEJvdHRvbVNoZWV0T3B0aW9ucyBhcyBNYXRlcmlhbEJvdHRvbVNoZWV0T3B0aW9ucyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQtY29tbXVuaXR5L3VpLW1hdGVyaWFsLWJvdHRvbXNoZWV0JztcbmltcG9ydCB7IEFwcEhvc3RWaWV3LCBEZXRhY2hlZExvYWRlciwgb25jZSB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvYW5ndWxhcic7XG5pbXBvcnQgeyBMYXlvdXRCYXNlLCBQcm94eVZpZXdDb250YWluZXIsIFZpZXcgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBCYXNlU2hvd0JvdHRvbVNoZWV0T3B0aW9ucyA9IE9taXQ8TWF0ZXJpYWxCb3R0b21TaGVldE9wdGlvbnMsICdjbG9zZUNhbGxiYWNrJyB8ICd2aWV3Jz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm90dG9tU2hlZXRPcHRpb25zIGV4dGVuZHMgQmFzZVNob3dCb3R0b21TaGVldE9wdGlvbnMge1xuICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xufVxuXG5leHBvcnQgY2xhc3MgQm90dG9tU2hlZXRQYXJhbXMge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgY29udGV4dDogYW55LCBwdWJsaWMgcmVhZG9ubHkgY2xvc2VDYWxsYmFjazogKC4uLmFyZ3MpID0+IHZvaWQpIHt9XG59XG5cbnR5cGUgVmlld1dpdGhEaWFsb2dSb290ID0gVmlldyAmIHsgX25nRGlhbG9nUm9vdD86IFZpZXcgfTtcblxuaW50ZXJmYWNlIFNoZWV0UmVmPFRSZXN1bHQgPSB1bmtub3duPiB7XG4gICAgZGV0YWNoZWRMb2FkZXI/OiBDb21wb25lbnRSZWY8RGV0YWNoZWRMb2FkZXI+O1xuICAgIGNvbXBvbmVudFZpZXc/OiBWaWV3O1xuICAgIHJlc3VsdDogU3ViamVjdDxUUmVzdWx0Pjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCb3R0b21TaGVldFNlcnZpY2Uge1xuICAgIHB1YmxpYyBzaG93PFRSZXN1bHQgPSBhbnk+KHR5cGU6IFR5cGU8YW55Piwgb3B0aW9uczogQm90dG9tU2hlZXRPcHRpb25zKTogT2JzZXJ2YWJsZTxUUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dXaXRoQ2xvc2VDYWxsYmFjayh0eXBlLCBvcHRpb25zKS5vYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93V2l0aENsb3NlQ2FsbGJhY2s8VFJlc3VsdCA9IGFueT4odHlwZTogVHlwZTxhbnk+LCBvcHRpb25zOiBCb3R0b21TaGVldE9wdGlvbnMpOiB7IG9ic2VydmFibGU6IE9ic2VydmFibGU8VFJlc3VsdD47IGNsb3NlQ2FsbGJhY2s6ICgpID0+IHZvaWQgfSB7XG4gICAgICAgIGlmICghb3B0aW9ucy52aWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHZpZXdDb250YWluZXJSZWY6IE1ha2Ugc3VyZSB5b3UgcGFzcyB2aWV3Q29udGFpbmVyUmVmIGluIEJvdHRvbVNoZWV0T3B0aW9ucy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNoZWV0UmVmOiBTaGVldFJlZjxUUmVzdWx0PiA9IHtcbiAgICAgICAgICAgIHJlc3VsdDogbmV3IFN1YmplY3QoKVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHBhcmVudFZpZXcgPSB0aGlzLmdldFBhcmVudFZpZXcob3B0aW9ucy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgY29uc3QgZmFjdG9yeVJlc29sdmVyID0gdGhpcy5nZXRGYWN0b3J5UmVzb2x2ZXIob3B0aW9ucy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgY29uc3QgYm90dG9tU2hlZXRQYXJhbXMgPSB0aGlzLmdldEJvdHRvbVNoZWV0UGFyYW1zKG9wdGlvbnMuY29udGV4dCwgc2hlZXRSZWYpO1xuXG4gICAgICAgIHNoZWV0UmVmLmRldGFjaGVkTG9hZGVyID0gdGhpcy5jcmVhdGVEZXRhY2hlZExvYWRlcihmYWN0b3J5UmVzb2x2ZXIsIGJvdHRvbVNoZWV0UGFyYW1zLCBvcHRpb25zLnZpZXdDb250YWluZXJSZWYpO1xuXG4gICAgICAgIHRoaXMubG9hZENvbXBvbmVudCh0eXBlLCBzaGVldFJlZikudGhlbigoY29tcG9uZW50VmlldykgPT4ge1xuICAgICAgICAgICAgcGFyZW50Vmlldy5zaG93Qm90dG9tU2hlZXQoe1xuICAgICAgICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgICAgICAgLi4uYm90dG9tU2hlZXRQYXJhbXMsXG4gICAgICAgICAgICAgICAgdmlldzogY29tcG9uZW50Vmlld1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvYnNlcnZhYmxlOiBzaGVldFJlZi5yZXN1bHQsXG4gICAgICAgICAgICBjbG9zZUNhbGxiYWNrOiBib3R0b21TaGVldFBhcmFtcy5jbG9zZUNhbGxiYWNrXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQYXJlbnRWaWV3KHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiBWaWV3IHtcbiAgICAgICAgbGV0IHBhcmVudFZpZXcgPSB2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBWaWV3O1xuXG4gICAgICAgIGlmIChwYXJlbnRWaWV3IGluc3RhbmNlb2YgQXBwSG9zdFZpZXcgJiYgcGFyZW50Vmlldy5uZ0FwcFJvb3QpIHtcbiAgICAgICAgICAgIHBhcmVudFZpZXcgPSBwYXJlbnRWaWV3Lm5nQXBwUm9vdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIF9uZ0RpYWxvZ1Jvb3QgaXMgdGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBwcmV2aW91c2x5IGRldGFjaGVkIHByb3h5LlxuICAgICAgICAvLyBJdCBzaG91bGQgaGF2ZSAndmlld0NvbnRyb2xsZXInIChpT1MpIG9yICdfZGlhbG9nRnJhZ21lbnQnIChBbmRyb2lkKSBhdmFpbGFibGUgZm9yXG4gICAgICAgIC8vIHByZXNlbnRpbmcgZnV0dXJlIGJvdHRvbVNoZWV0cyB2aWV3cy5cbiAgICAgICAgaWYgKChwYXJlbnRWaWV3IGFzIFZpZXdXaXRoRGlhbG9nUm9vdCkuX25nRGlhbG9nUm9vdCkge1xuICAgICAgICAgICAgcGFyZW50VmlldyA9IChwYXJlbnRWaWV3IGFzIFZpZXdXaXRoRGlhbG9nUm9vdCkuX25nRGlhbG9nUm9vdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJlbnRWaWV3O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmFjdG9yeVJlc29sdmVyKGNvbXBvbmVudENvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZik6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB7XG4gICAgICAgIC8vIHJlc29sdmUgZnJvbSBwYXJ0aWN1bGFyIG1vZHVsZSAobW9kdWxlUmVmKVxuICAgICAgICAvLyBvciBmcm9tIHNhbWUgbW9kdWxlIGFzIHBhcmVudFZpZXcgKHZpZXdDb250YWluZXJSZWYpXG4gICAgICAgIHJldHVybiBjb21wb25lbnRDb250YWluZXIuaW5qZWN0b3IuZ2V0KENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDaGlsZEluamVjdG9yKGJvdHRvbVNoZWV0UGFyYW1zOiBCb3R0b21TaGVldFBhcmFtcywgY29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKTogSW5qZWN0b3Ige1xuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQm90dG9tU2hlZXRQYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBib3R0b21TaGVldFBhcmFtc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBwYXJlbnQ6IGNvbnRhaW5lclJlZi5pbmplY3RvclxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJvdHRvbVNoZWV0UGFyYW1zKGNvbnRleHQ6IGFueSwgc2hlZXRSZWY6IFNoZWV0UmVmKTogQm90dG9tU2hlZXRQYXJhbXMge1xuICAgICAgICBjb25zdCBjbG9zZUNhbGxiYWNrID0gb25jZSgoYXJncykgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyByZXN1bHQsIGNvbXBvbmVudFZpZXcsIGRldGFjaGVkTG9hZGVyIH0gPSBzaGVldFJlZjtcblxuICAgICAgICAgICAgcmVzdWx0Lm5leHQoYXJncyk7XG4gICAgICAgICAgICByZXN1bHQuY29tcGxldGUoKTtcblxuICAgICAgICAgICAgaWYgKGNvbXBvbmVudFZpZXcpIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRWaWV3LmNsb3NlQm90dG9tU2hlZXQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGRldGFjaGVkTG9hZGVyKSB7XG4gICAgICAgICAgICAgICAgZGV0YWNoZWRMb2FkZXIuaW5zdGFuY2UuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgIGRldGFjaGVkTG9hZGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBCb3R0b21TaGVldFBhcmFtcyhjb250ZXh0LCBjbG9zZUNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZURldGFjaGVkTG9hZGVyKGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBib3R0b21TaGVldFBhcmFtczogQm90dG9tU2hlZXRQYXJhbXMsIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiBDb21wb25lbnRSZWY8RGV0YWNoZWRMb2FkZXI+IHtcbiAgICAgICAgY29uc3QgZGV0YWNoZWRMb2FkZXJGYWN0b3J5ID0gZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KERldGFjaGVkTG9hZGVyKTtcbiAgICAgICAgY29uc3QgY2hpbGRJbmplY3RvciA9IHRoaXMuY3JlYXRlQ2hpbGRJbmplY3Rvcihib3R0b21TaGVldFBhcmFtcywgdmlld0NvbnRhaW5lclJlZik7XG5cbiAgICAgICAgcmV0dXJuIHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGRldGFjaGVkTG9hZGVyRmFjdG9yeSwgMCwgY2hpbGRJbmplY3Rvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkQ29tcG9uZW50KHR5cGU6IFR5cGU8YW55Piwgc2hlZXRSZWY6IFNoZWV0UmVmKTogUHJvbWlzZTxWaWV3PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSBhd2FpdCBzaGVldFJlZi5kZXRhY2hlZExvYWRlci5pbnN0YW5jZS5sb2FkQ29tcG9uZW50KHR5cGUpO1xuICAgICAgICAgICAgY29uc3QgZGV0YWNoZWRQcm94eSA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50IGFzIFByb3h5Vmlld0NvbnRhaW5lcjtcblxuICAgICAgICAgICAgaWYgKGRldGFjaGVkUHJveHkuZ2V0Q2hpbGRyZW5Db3VudCgpID4gMSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQm90dG9tU2hlZXQgY29udGVudCBoYXMgbW9yZSB0aGFuIG9uZSByb290IHZpZXcuJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNoZWV0UmVmLmNvbXBvbmVudFZpZXcgPSBkZXRhY2hlZFByb3h5LmdldENoaWxkQXQoMCk7XG5cbiAgICAgICAgICAgIGlmIChzaGVldFJlZi5jb21wb25lbnRWaWV3LnBhcmVudCBpbnN0YW5jZW9mIExheW91dEJhc2UpIHtcbiAgICAgICAgICAgICAgICAoc2hlZXRSZWYuY29tcG9uZW50Vmlldy5wYXJlbnQgYXMgVmlld1dpdGhEaWFsb2dSb290KS5fbmdEaWFsb2dSb290ID0gc2hlZXRSZWYuY29tcG9uZW50VmlldztcbiAgICAgICAgICAgICAgICBzaGVldFJlZi5jb21wb25lbnRWaWV3LnBhcmVudC5yZW1vdmVDaGlsZChzaGVldFJlZi5jb21wb25lbnRWaWV3KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHNoZWV0UmVmLmNvbXBvbmVudFZpZXc7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
File without changes
|
File without changes
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { ComponentFactoryResolver, Injector, Injectable, NgModule } from '@angular/core';
|
3
|
+
import { __awaiter } from 'tslib';
|
3
4
|
import { AppHostView, once, DetachedLoader } from '@nativescript/angular';
|
4
5
|
import { LayoutBase } from '@nativescript/core';
|
5
6
|
import { Subject } from 'rxjs';
|
@@ -102,12 +103,14 @@ class BottomSheetService {
|
|
102
103
|
}
|
103
104
|
BottomSheetService.ɵfac = function BottomSheetService_Factory(t) { return new (t || BottomSheetService)(); };
|
104
105
|
BottomSheetService.ɵprov = i0.ɵɵdefineInjectable({ token: BottomSheetService, factory: BottomSheetService.ɵfac, providedIn: 'root' });
|
105
|
-
(function () {
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
106
|
+
(function () {
|
107
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BottomSheetService, [{
|
108
|
+
type: Injectable,
|
109
|
+
args: [{
|
110
|
+
providedIn: 'root'
|
111
|
+
}]
|
112
|
+
}], null, null);
|
113
|
+
})();
|
111
114
|
|
112
115
|
class NativeScriptMaterialBottomSheetModule {
|
113
116
|
constructor() {
|
@@ -127,9 +130,11 @@ NativeScriptMaterialBottomSheetModule.initialized = false;
|
|
127
130
|
NativeScriptMaterialBottomSheetModule.ɵfac = function NativeScriptMaterialBottomSheetModule_Factory(t) { return new (t || NativeScriptMaterialBottomSheetModule)(); };
|
128
131
|
NativeScriptMaterialBottomSheetModule.ɵmod = i0.ɵɵdefineNgModule({ type: NativeScriptMaterialBottomSheetModule });
|
129
132
|
NativeScriptMaterialBottomSheetModule.ɵinj = i0.ɵɵdefineInjector({});
|
130
|
-
(function () {
|
131
|
-
|
132
|
-
|
133
|
+
(function () {
|
134
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NativeScriptMaterialBottomSheetModule, [{
|
135
|
+
type: NgModule
|
136
|
+
}], function () { return []; }, null);
|
137
|
+
})();
|
133
138
|
|
134
139
|
export { BottomSheetParams, BottomSheetService, NativeScriptMaterialBottomSheetModule };
|
135
|
-
//# sourceMappingURL=nativescript-community-ui-material-bottomsheet-angular.
|
140
|
+
//# sourceMappingURL=nativescript-community-ui-material-bottomsheet-angular.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nativescript-community-ui-material-bottomsheet-angular.mjs","sources":["../../../../src/bottomsheet/angular/bottomsheet.service.ts","../../../../src/bottomsheet/angular/bottomsheet.module.ts"],"sourcesContent":["import { ComponentFactoryResolver, ComponentRef, Injectable, Injector, Type, ViewContainerRef } from '@angular/core';\nimport type { BottomSheetOptions as MaterialBottomSheetOptions } from '@nativescript-community/ui-material-bottomsheet';\nimport { AppHostView, DetachedLoader, once } from '@nativescript/angular';\nimport { LayoutBase, ProxyViewContainer, View } from '@nativescript/core';\nimport { Observable, Subject } from 'rxjs';\n\nexport type BaseShowBottomSheetOptions = Omit<MaterialBottomSheetOptions, 'closeCallback' | 'view'>;\n\nexport interface BottomSheetOptions extends BaseShowBottomSheetOptions {\n viewContainerRef?: ViewContainerRef;\n}\n\nexport class BottomSheetParams {\n public constructor(public readonly context: any, public readonly closeCallback: (...args) => void) {}\n}\n\ntype ViewWithDialogRoot = View & { _ngDialogRoot?: View };\n\ninterface SheetRef<TResult = unknown> {\n detachedLoader?: ComponentRef<DetachedLoader>;\n componentView?: View;\n result: Subject<TResult>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BottomSheetService {\n public show<TResult = any>(type: Type<any>, options: BottomSheetOptions): Observable<TResult> {\n return this.showWithCloseCallback(type, options).observable;\n }\n\n public showWithCloseCallback<TResult = any>(type: Type<any>, options: BottomSheetOptions): { observable: Observable<TResult>; closeCallback: () => void } {\n if (!options.viewContainerRef) {\n throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');\n }\n\n const sheetRef: SheetRef<TResult> = {\n result: new Subject()\n };\n\n const parentView = this.getParentView(options.viewContainerRef);\n const factoryResolver = this.getFactoryResolver(options.viewContainerRef);\n const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);\n\n sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);\n\n this.loadComponent(type, sheetRef).then((componentView) => {\n parentView.showBottomSheet({\n ...options,\n ...bottomSheetParams,\n view: componentView\n });\n });\n\n return {\n observable: sheetRef.result,\n closeCallback: bottomSheetParams.closeCallback\n };\n }\n\n private getParentView(viewContainerRef: ViewContainerRef): View {\n let parentView = viewContainerRef.element.nativeElement as View;\n\n if (parentView instanceof AppHostView && parentView.ngAppRoot) {\n parentView = parentView.ngAppRoot;\n }\n\n // _ngDialogRoot is the first child of the previously detached proxy.\n // It should have 'viewController' (iOS) or '_dialogFragment' (Android) available for\n // presenting future bottomSheets views.\n if ((parentView as ViewWithDialogRoot)._ngDialogRoot) {\n parentView = (parentView as ViewWithDialogRoot)._ngDialogRoot;\n }\n\n return parentView;\n }\n\n private getFactoryResolver(componentContainer: ViewContainerRef): ComponentFactoryResolver {\n // resolve from particular module (moduleRef)\n // or from same module as parentView (viewContainerRef)\n return componentContainer.injector.get(ComponentFactoryResolver);\n }\n\n private createChildInjector(bottomSheetParams: BottomSheetParams, containerRef: ViewContainerRef): Injector {\n return Injector.create({\n providers: [\n {\n provide: BottomSheetParams,\n useValue: bottomSheetParams\n }\n ],\n parent: containerRef.injector\n });\n }\n\n private getBottomSheetParams(context: any, sheetRef: SheetRef): BottomSheetParams {\n const closeCallback = once((args) => {\n const { result, componentView, detachedLoader } = sheetRef;\n\n result.next(args);\n result.complete();\n\n if (componentView) {\n componentView.closeBottomSheet();\n }\n\n if (detachedLoader) {\n detachedLoader.instance.detectChanges();\n detachedLoader.destroy();\n }\n });\n\n return new BottomSheetParams(context, closeCallback);\n }\n\n private createDetachedLoader(factoryResolver: ComponentFactoryResolver, bottomSheetParams: BottomSheetParams, viewContainerRef: ViewContainerRef): ComponentRef<DetachedLoader> {\n const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);\n const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);\n\n return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);\n }\n\n private async loadComponent(type: Type<any>, sheetRef: SheetRef): Promise<View> {\n try {\n const componentRef = await sheetRef.detachedLoader.instance.loadComponent(type);\n const detachedProxy = componentRef.location.nativeElement as ProxyViewContainer;\n\n if (detachedProxy.getChildrenCount() > 1) {\n throw new Error('BottomSheet content has more than one root view.');\n }\n\n sheetRef.componentView = detachedProxy.getChildAt(0);\n\n if (sheetRef.componentView.parent instanceof LayoutBase) {\n (sheetRef.componentView.parent as ViewWithDialogRoot)._ngDialogRoot = sheetRef.componentView;\n sheetRef.componentView.parent.removeChild(sheetRef.componentView);\n }\n\n return sheetRef.componentView;\n } catch (err) {\n console.error(err);\n\n return null;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { BottomSheetService } from './bottomsheet.service';\nimport { install } from '@nativescript-community/ui-material-bottomsheet';\n\n@NgModule()\nexport class NativeScriptMaterialBottomSheetModule {\n // This flag help us to avoid problems when using the new development workflow\n private static initialized = false;\n\n static forRoot(): ModuleWithProviders<NativeScriptMaterialBottomSheetModule> {\n return {\n ngModule: NativeScriptMaterialBottomSheetModule,\n providers: [BottomSheetService],\n };\n }\n\n public constructor() {\n if (!NativeScriptMaterialBottomSheetModule.initialized) {\n install();\n NativeScriptMaterialBottomSheetModule.initialized = true;\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,137 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { ComponentFactoryResolver, Injector, Injectable, NgModule } from '@angular/core';
|
3
|
+
import { AppHostView, once, DetachedLoader } from '@nativescript/angular';
|
4
|
+
import { LayoutBase } from '@nativescript/core';
|
5
|
+
import { Subject } from 'rxjs';
|
6
|
+
import { install } from '@nativescript-community/ui-material-bottomsheet';
|
7
|
+
|
8
|
+
class BottomSheetParams {
|
9
|
+
constructor(context, closeCallback) {
|
10
|
+
this.context = context;
|
11
|
+
this.closeCallback = closeCallback;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
class BottomSheetService {
|
15
|
+
show(type, options) {
|
16
|
+
return this.showWithCloseCallback(type, options).observable;
|
17
|
+
}
|
18
|
+
showWithCloseCallback(type, options) {
|
19
|
+
if (!options.viewContainerRef) {
|
20
|
+
throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');
|
21
|
+
}
|
22
|
+
const sheetRef = {
|
23
|
+
result: new Subject()
|
24
|
+
};
|
25
|
+
const parentView = this.getParentView(options.viewContainerRef);
|
26
|
+
const factoryResolver = this.getFactoryResolver(options.viewContainerRef);
|
27
|
+
const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);
|
28
|
+
sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);
|
29
|
+
this.loadComponent(type, sheetRef).then((componentView) => {
|
30
|
+
parentView.showBottomSheet({
|
31
|
+
...options,
|
32
|
+
...bottomSheetParams,
|
33
|
+
view: componentView
|
34
|
+
});
|
35
|
+
});
|
36
|
+
return {
|
37
|
+
observable: sheetRef.result,
|
38
|
+
closeCallback: bottomSheetParams.closeCallback
|
39
|
+
};
|
40
|
+
}
|
41
|
+
getParentView(viewContainerRef) {
|
42
|
+
let parentView = viewContainerRef.element.nativeElement;
|
43
|
+
if (parentView instanceof AppHostView && parentView.ngAppRoot) {
|
44
|
+
parentView = parentView.ngAppRoot;
|
45
|
+
}
|
46
|
+
if (parentView._ngDialogRoot) {
|
47
|
+
parentView = parentView._ngDialogRoot;
|
48
|
+
}
|
49
|
+
return parentView;
|
50
|
+
}
|
51
|
+
getFactoryResolver(componentContainer) {
|
52
|
+
return componentContainer.injector.get(ComponentFactoryResolver);
|
53
|
+
}
|
54
|
+
createChildInjector(bottomSheetParams, containerRef) {
|
55
|
+
return Injector.create({
|
56
|
+
providers: [
|
57
|
+
{
|
58
|
+
provide: BottomSheetParams,
|
59
|
+
useValue: bottomSheetParams
|
60
|
+
}
|
61
|
+
],
|
62
|
+
parent: containerRef.injector
|
63
|
+
});
|
64
|
+
}
|
65
|
+
getBottomSheetParams(context, sheetRef) {
|
66
|
+
const closeCallback = once((args) => {
|
67
|
+
const { result, componentView, detachedLoader } = sheetRef;
|
68
|
+
result.next(args);
|
69
|
+
result.complete();
|
70
|
+
if (componentView) {
|
71
|
+
componentView.closeBottomSheet();
|
72
|
+
}
|
73
|
+
if (detachedLoader) {
|
74
|
+
detachedLoader.instance.detectChanges();
|
75
|
+
detachedLoader.destroy();
|
76
|
+
}
|
77
|
+
});
|
78
|
+
return new BottomSheetParams(context, closeCallback);
|
79
|
+
}
|
80
|
+
createDetachedLoader(factoryResolver, bottomSheetParams, viewContainerRef) {
|
81
|
+
const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);
|
82
|
+
const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);
|
83
|
+
return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);
|
84
|
+
}
|
85
|
+
async loadComponent(type, sheetRef) {
|
86
|
+
try {
|
87
|
+
const componentRef = await sheetRef.detachedLoader.instance.loadComponent(type);
|
88
|
+
const detachedProxy = componentRef.location.nativeElement;
|
89
|
+
if (detachedProxy.getChildrenCount() > 1) {
|
90
|
+
throw new Error('BottomSheet content has more than one root view.');
|
91
|
+
}
|
92
|
+
sheetRef.componentView = detachedProxy.getChildAt(0);
|
93
|
+
if (sheetRef.componentView.parent instanceof LayoutBase) {
|
94
|
+
sheetRef.componentView.parent._ngDialogRoot = sheetRef.componentView;
|
95
|
+
sheetRef.componentView.parent.removeChild(sheetRef.componentView);
|
96
|
+
}
|
97
|
+
return sheetRef.componentView;
|
98
|
+
}
|
99
|
+
catch (err) {
|
100
|
+
console.error(err);
|
101
|
+
return null;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
BottomSheetService.ɵfac = function BottomSheetService_Factory(t) { return new (t || BottomSheetService)(); };
|
106
|
+
BottomSheetService.ɵprov = i0.ɵɵdefineInjectable({ token: BottomSheetService, factory: BottomSheetService.ɵfac, providedIn: 'root' });
|
107
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BottomSheetService, [{
|
108
|
+
type: Injectable,
|
109
|
+
args: [{
|
110
|
+
providedIn: 'root'
|
111
|
+
}]
|
112
|
+
}], null, null); })();
|
113
|
+
|
114
|
+
class NativeScriptMaterialBottomSheetModule {
|
115
|
+
constructor() {
|
116
|
+
if (!NativeScriptMaterialBottomSheetModule.initialized) {
|
117
|
+
install();
|
118
|
+
NativeScriptMaterialBottomSheetModule.initialized = true;
|
119
|
+
}
|
120
|
+
}
|
121
|
+
static forRoot() {
|
122
|
+
return {
|
123
|
+
ngModule: NativeScriptMaterialBottomSheetModule,
|
124
|
+
providers: [BottomSheetService],
|
125
|
+
};
|
126
|
+
}
|
127
|
+
}
|
128
|
+
NativeScriptMaterialBottomSheetModule.initialized = false;
|
129
|
+
NativeScriptMaterialBottomSheetModule.ɵfac = function NativeScriptMaterialBottomSheetModule_Factory(t) { return new (t || NativeScriptMaterialBottomSheetModule)(); };
|
130
|
+
NativeScriptMaterialBottomSheetModule.ɵmod = i0.ɵɵdefineNgModule({ type: NativeScriptMaterialBottomSheetModule });
|
131
|
+
NativeScriptMaterialBottomSheetModule.ɵinj = i0.ɵɵdefineInjector({});
|
132
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NativeScriptMaterialBottomSheetModule, [{
|
133
|
+
type: NgModule
|
134
|
+
}], function () { return []; }, null); })();
|
135
|
+
|
136
|
+
export { BottomSheetParams, BottomSheetService, NativeScriptMaterialBottomSheetModule };
|
137
|
+
//# sourceMappingURL=nativescript-community-ui-material-bottomsheet-angular.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"nativescript-community-ui-material-bottomsheet-angular.mjs","sources":["../../../../src/bottomsheet/angular/bottomsheet.service.ts","../../../../src/bottomsheet/angular/bottomsheet.module.ts"],"sourcesContent":["import { ComponentFactoryResolver, ComponentRef, Injectable, Injector, Type, ViewContainerRef } from '@angular/core';\nimport type { BottomSheetOptions as MaterialBottomSheetOptions } from '@nativescript-community/ui-material-bottomsheet';\nimport { AppHostView, DetachedLoader, once } from '@nativescript/angular';\nimport { LayoutBase, ProxyViewContainer, View } from '@nativescript/core';\nimport { Observable, Subject } from 'rxjs';\n\nexport type BaseShowBottomSheetOptions = Omit<MaterialBottomSheetOptions, 'closeCallback' | 'view'>;\n\nexport interface BottomSheetOptions extends BaseShowBottomSheetOptions {\n viewContainerRef?: ViewContainerRef;\n}\n\nexport class BottomSheetParams {\n public constructor(public readonly context: any, public readonly closeCallback: (...args) => void) {}\n}\n\ntype ViewWithDialogRoot = View & { _ngDialogRoot?: View };\n\ninterface SheetRef<TResult = unknown> {\n detachedLoader?: ComponentRef<DetachedLoader>;\n componentView?: View;\n result: Subject<TResult>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BottomSheetService {\n public show<TResult = any>(type: Type<any>, options: BottomSheetOptions): Observable<TResult> {\n return this.showWithCloseCallback(type, options).observable;\n }\n\n public showWithCloseCallback<TResult = any>(type: Type<any>, options: BottomSheetOptions): { observable: Observable<TResult>; closeCallback: () => void } {\n if (!options.viewContainerRef) {\n throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');\n }\n\n const sheetRef: SheetRef<TResult> = {\n result: new Subject()\n };\n\n const parentView = this.getParentView(options.viewContainerRef);\n const factoryResolver = this.getFactoryResolver(options.viewContainerRef);\n const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);\n\n sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);\n\n this.loadComponent(type, sheetRef).then((componentView) => {\n parentView.showBottomSheet({\n ...options,\n ...bottomSheetParams,\n view: componentView\n });\n });\n\n return {\n observable: sheetRef.result,\n closeCallback: bottomSheetParams.closeCallback\n };\n }\n\n private getParentView(viewContainerRef: ViewContainerRef): View {\n let parentView = viewContainerRef.element.nativeElement as View;\n\n if (parentView instanceof AppHostView && parentView.ngAppRoot) {\n parentView = parentView.ngAppRoot;\n }\n\n // _ngDialogRoot is the first child of the previously detached proxy.\n // It should have 'viewController' (iOS) or '_dialogFragment' (Android) available for\n // presenting future bottomSheets views.\n if ((parentView as ViewWithDialogRoot)._ngDialogRoot) {\n parentView = (parentView as ViewWithDialogRoot)._ngDialogRoot;\n }\n\n return parentView;\n }\n\n private getFactoryResolver(componentContainer: ViewContainerRef): ComponentFactoryResolver {\n // resolve from particular module (moduleRef)\n // or from same module as parentView (viewContainerRef)\n return componentContainer.injector.get(ComponentFactoryResolver);\n }\n\n private createChildInjector(bottomSheetParams: BottomSheetParams, containerRef: ViewContainerRef): Injector {\n return Injector.create({\n providers: [\n {\n provide: BottomSheetParams,\n useValue: bottomSheetParams\n }\n ],\n parent: containerRef.injector\n });\n }\n\n private getBottomSheetParams(context: any, sheetRef: SheetRef): BottomSheetParams {\n const closeCallback = once((args) => {\n const { result, componentView, detachedLoader } = sheetRef;\n\n result.next(args);\n result.complete();\n\n if (componentView) {\n componentView.closeBottomSheet();\n }\n\n if (detachedLoader) {\n detachedLoader.instance.detectChanges();\n detachedLoader.destroy();\n }\n });\n\n return new BottomSheetParams(context, closeCallback);\n }\n\n private createDetachedLoader(factoryResolver: ComponentFactoryResolver, bottomSheetParams: BottomSheetParams, viewContainerRef: ViewContainerRef): ComponentRef<DetachedLoader> {\n const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);\n const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);\n\n return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);\n }\n\n private async loadComponent(type: Type<any>, sheetRef: SheetRef): Promise<View> {\n try {\n const componentRef = await sheetRef.detachedLoader.instance.loadComponent(type);\n const detachedProxy = componentRef.location.nativeElement as ProxyViewContainer;\n\n if (detachedProxy.getChildrenCount() > 1) {\n throw new Error('BottomSheet content has more than one root view.');\n }\n\n sheetRef.componentView = detachedProxy.getChildAt(0);\n\n if (sheetRef.componentView.parent instanceof LayoutBase) {\n (sheetRef.componentView.parent as ViewWithDialogRoot)._ngDialogRoot = sheetRef.componentView;\n sheetRef.componentView.parent.removeChild(sheetRef.componentView);\n }\n\n return sheetRef.componentView;\n } catch (err) {\n console.error(err);\n\n return null;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { BottomSheetService } from './bottomsheet.service';\nimport { install } from '@nativescript-community/ui-material-bottomsheet';\n\n@NgModule()\nexport class NativeScriptMaterialBottomSheetModule {\n // This flag help us to avoid problems when using the new development workflow\n private static initialized = false;\n\n static forRoot(): ModuleWithProviders<NativeScriptMaterialBottomSheetModule> {\n return {\n ngModule: NativeScriptMaterialBottomSheetModule,\n providers: [BottomSheetService],\n };\n }\n\n public constructor() {\n if (!NativeScriptMaterialBottomSheetModule.initialized) {\n install();\n NativeScriptMaterialBottomSheetModule.initialized = true;\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
package/angular/package.json
CHANGED
@@ -1,16 +1,30 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nativescript-community/ui-material-bottomsheet-angular",
|
3
|
-
"main": "
|
4
|
-
"module": "fesm2015/nativescript-community-ui-material-bottomsheet-angular.
|
5
|
-
"
|
6
|
-
"
|
7
|
-
"
|
3
|
+
"main": "index.js",
|
4
|
+
"module": "fesm2015/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
5
|
+
"es2020": "fesm2020/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
6
|
+
"esm2020": "esm2020/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
7
|
+
"fesm2020": "fesm2020/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
8
|
+
"fesm2015": "fesm2015/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
8
9
|
"typings": "nativescript-community-ui-material-bottomsheet-angular.d.ts",
|
10
|
+
"exports": {
|
11
|
+
"./package.json": {
|
12
|
+
"default": "./package.json"
|
13
|
+
},
|
14
|
+
".": {
|
15
|
+
"types": "./nativescript-community-ui-material-bottomsheet-angular.d.ts",
|
16
|
+
"esm2020": "./esm2020/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
17
|
+
"es2020": "./fesm2020/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
18
|
+
"es2015": "./fesm2015/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
19
|
+
"node": "./fesm2015/nativescript-community-ui-material-bottomsheet-angular.mjs",
|
20
|
+
"default": "./fesm2020/nativescript-community-ui-material-bottomsheet-angular.mjs"
|
21
|
+
}
|
22
|
+
},
|
9
23
|
"sideEffects": false,
|
10
24
|
"dependencies": {
|
11
|
-
"tslib": "^2.
|
25
|
+
"tslib": "^2.3.0"
|
12
26
|
},
|
13
27
|
"scripts": {
|
14
|
-
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy. This is not allowed.\\nPlease delete and rebuild the package
|
28
|
+
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
|
15
29
|
}
|
16
30
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bottomsheet.android.js","sourceRoot":"../src/","sources":["bottomsheet.android.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"bottomsheet.android.js","sourceRoot":"../src/","sources":["bottomsheet.android.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nativescript-community/ui-material-bottomsheet",
|
3
|
-
"version": "6.2.
|
3
|
+
"version": "6.2.4",
|
4
4
|
"description": "Material Design Bottom Sheets slide up from the bottom of the screen to reveal more content. Bottom sheets integrate with the app to display supporting content or present deep-linked content from other apps.",
|
5
5
|
"main": "./bottomsheet",
|
6
6
|
"sideEffects": false,
|
@@ -45,7 +45,7 @@
|
|
45
45
|
},
|
46
46
|
"readmeFilename": "README.md",
|
47
47
|
"dependencies": {
|
48
|
-
"@nativescript-community/ui-material-core": "^6.2.
|
48
|
+
"@nativescript-community/ui-material-core": "^6.2.4"
|
49
49
|
},
|
50
|
-
"gitHead": "
|
50
|
+
"gitHead": "50155e59355fc8474311835bdfa0d66aaaec3fa1"
|
51
51
|
}
|
@@ -1,179 +0,0 @@
|
|
1
|
-
(function (global, factory) {
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('tslib'), require('@nativescript/angular'), require('@nativescript/core'), require('rxjs'), require('@nativescript-community/ui-material-bottomsheet')) :
|
3
|
-
typeof define === 'function' && define.amd ? define('@nativescript-community/ui-material-bottomsheet-angular', ['exports', '@angular/core', 'tslib', '@nativescript/angular', '@nativescript/core', 'rxjs', '@nativescript-community/ui-material-bottomsheet'], factory) :
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global['nativescript-community'] = global['nativescript-community'] || {}, global['nativescript-community']['ui-material-bottomsheet-angular'] = {}), global.ng.core, global.tslib, global['ns-angular'], global['ns-core'], global.rxjs, global['ns-material-bottomsheet']));
|
5
|
-
}(this, (function (exports, i0, tslib, angular, core, rxjs, uiMaterialBottomsheet) { 'use strict';
|
6
|
-
|
7
|
-
function _interopNamespace(e) {
|
8
|
-
if (e && e.__esModule) return e;
|
9
|
-
var n = Object.create(null);
|
10
|
-
if (e) {
|
11
|
-
Object.keys(e).forEach(function (k) {
|
12
|
-
if (k !== 'default') {
|
13
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
14
|
-
Object.defineProperty(n, k, d.get ? d : {
|
15
|
-
enumerable: true,
|
16
|
-
get: function () {
|
17
|
-
return e[k];
|
18
|
-
}
|
19
|
-
});
|
20
|
-
}
|
21
|
-
});
|
22
|
-
}
|
23
|
-
n['default'] = e;
|
24
|
-
return Object.freeze(n);
|
25
|
-
}
|
26
|
-
|
27
|
-
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
28
|
-
|
29
|
-
var BottomSheetParams = /** @class */ (function () {
|
30
|
-
function BottomSheetParams(context, closeCallback) {
|
31
|
-
this.context = context;
|
32
|
-
this.closeCallback = closeCallback;
|
33
|
-
}
|
34
|
-
return BottomSheetParams;
|
35
|
-
}());
|
36
|
-
var BottomSheetService = /** @class */ (function () {
|
37
|
-
function BottomSheetService() {
|
38
|
-
}
|
39
|
-
BottomSheetService.prototype.show = function (type, options) {
|
40
|
-
return this.showWithCloseCallback(type, options).observable;
|
41
|
-
};
|
42
|
-
BottomSheetService.prototype.showWithCloseCallback = function (type, options) {
|
43
|
-
if (!options.viewContainerRef) {
|
44
|
-
throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');
|
45
|
-
}
|
46
|
-
var sheetRef = {
|
47
|
-
result: new rxjs.Subject()
|
48
|
-
};
|
49
|
-
var parentView = this.getParentView(options.viewContainerRef);
|
50
|
-
var factoryResolver = this.getFactoryResolver(options.viewContainerRef);
|
51
|
-
var bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);
|
52
|
-
sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);
|
53
|
-
this.loadComponent(type, sheetRef).then(function (componentView) {
|
54
|
-
parentView.showBottomSheet(Object.assign(Object.assign(Object.assign({}, options), bottomSheetParams), { view: componentView }));
|
55
|
-
});
|
56
|
-
return {
|
57
|
-
observable: sheetRef.result,
|
58
|
-
closeCallback: bottomSheetParams.closeCallback
|
59
|
-
};
|
60
|
-
};
|
61
|
-
BottomSheetService.prototype.getParentView = function (viewContainerRef) {
|
62
|
-
var parentView = viewContainerRef.element.nativeElement;
|
63
|
-
if (parentView instanceof angular.AppHostView && parentView.ngAppRoot) {
|
64
|
-
parentView = parentView.ngAppRoot;
|
65
|
-
}
|
66
|
-
if (parentView._ngDialogRoot) {
|
67
|
-
parentView = parentView._ngDialogRoot;
|
68
|
-
}
|
69
|
-
return parentView;
|
70
|
-
};
|
71
|
-
BottomSheetService.prototype.getFactoryResolver = function (componentContainer) {
|
72
|
-
return componentContainer.injector.get(i0.ComponentFactoryResolver);
|
73
|
-
};
|
74
|
-
BottomSheetService.prototype.createChildInjector = function (bottomSheetParams, containerRef) {
|
75
|
-
return i0.Injector.create({
|
76
|
-
providers: [
|
77
|
-
{
|
78
|
-
provide: BottomSheetParams,
|
79
|
-
useValue: bottomSheetParams
|
80
|
-
}
|
81
|
-
],
|
82
|
-
parent: containerRef.injector
|
83
|
-
});
|
84
|
-
};
|
85
|
-
BottomSheetService.prototype.getBottomSheetParams = function (context, sheetRef) {
|
86
|
-
var closeCallback = angular.once(function (args) {
|
87
|
-
var result = sheetRef.result, componentView = sheetRef.componentView, detachedLoader = sheetRef.detachedLoader;
|
88
|
-
result.next(args);
|
89
|
-
result.complete();
|
90
|
-
if (componentView) {
|
91
|
-
componentView.closeBottomSheet();
|
92
|
-
}
|
93
|
-
if (detachedLoader) {
|
94
|
-
detachedLoader.instance.detectChanges();
|
95
|
-
detachedLoader.destroy();
|
96
|
-
}
|
97
|
-
});
|
98
|
-
return new BottomSheetParams(context, closeCallback);
|
99
|
-
};
|
100
|
-
BottomSheetService.prototype.createDetachedLoader = function (factoryResolver, bottomSheetParams, viewContainerRef) {
|
101
|
-
var detachedLoaderFactory = factoryResolver.resolveComponentFactory(angular.DetachedLoader);
|
102
|
-
var childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);
|
103
|
-
return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);
|
104
|
-
};
|
105
|
-
BottomSheetService.prototype.loadComponent = function (type, sheetRef) {
|
106
|
-
return __awaiter(this, void 0, void 0, function () {
|
107
|
-
var componentRef, detachedProxy, err_1;
|
108
|
-
return tslib.__generator(this, function (_a) {
|
109
|
-
switch (_a.label) {
|
110
|
-
case 0:
|
111
|
-
_a.trys.push([0, 2, , 3]);
|
112
|
-
return [4 /*yield*/, sheetRef.detachedLoader.instance.loadComponent(type)];
|
113
|
-
case 1:
|
114
|
-
componentRef = _a.sent();
|
115
|
-
detachedProxy = componentRef.location.nativeElement;
|
116
|
-
if (detachedProxy.getChildrenCount() > 1) {
|
117
|
-
throw new Error('BottomSheet content has more than one root view.');
|
118
|
-
}
|
119
|
-
sheetRef.componentView = detachedProxy.getChildAt(0);
|
120
|
-
if (sheetRef.componentView.parent instanceof core.LayoutBase) {
|
121
|
-
sheetRef.componentView.parent._ngDialogRoot = sheetRef.componentView;
|
122
|
-
sheetRef.componentView.parent.removeChild(sheetRef.componentView);
|
123
|
-
}
|
124
|
-
return [2 /*return*/, sheetRef.componentView];
|
125
|
-
case 2:
|
126
|
-
err_1 = _a.sent();
|
127
|
-
console.error(err_1);
|
128
|
-
return [2 /*return*/, null];
|
129
|
-
case 3: return [2 /*return*/];
|
130
|
-
}
|
131
|
-
});
|
132
|
-
});
|
133
|
-
};
|
134
|
-
return BottomSheetService;
|
135
|
-
}());
|
136
|
-
BottomSheetService.ɵfac = function BottomSheetService_Factory(t) { return new (t || BottomSheetService)(); };
|
137
|
-
BottomSheetService.ɵprov = i0__namespace.ɵɵdefineInjectable({ token: BottomSheetService, factory: BottomSheetService.ɵfac, providedIn: 'root' });
|
138
|
-
(function () {
|
139
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(BottomSheetService, [{
|
140
|
-
type: i0.Injectable,
|
141
|
-
args: [{
|
142
|
-
providedIn: 'root'
|
143
|
-
}]
|
144
|
-
}], null, null);
|
145
|
-
})();
|
146
|
-
|
147
|
-
var NativeScriptMaterialBottomSheetModule = /** @class */ (function () {
|
148
|
-
function NativeScriptMaterialBottomSheetModule() {
|
149
|
-
if (!NativeScriptMaterialBottomSheetModule.initialized) {
|
150
|
-
uiMaterialBottomsheet.install();
|
151
|
-
NativeScriptMaterialBottomSheetModule.initialized = true;
|
152
|
-
}
|
153
|
-
}
|
154
|
-
NativeScriptMaterialBottomSheetModule.forRoot = function () {
|
155
|
-
return {
|
156
|
-
ngModule: NativeScriptMaterialBottomSheetModule,
|
157
|
-
providers: [BottomSheetService],
|
158
|
-
};
|
159
|
-
};
|
160
|
-
return NativeScriptMaterialBottomSheetModule;
|
161
|
-
}());
|
162
|
-
NativeScriptMaterialBottomSheetModule.initialized = false;
|
163
|
-
NativeScriptMaterialBottomSheetModule.ɵfac = function NativeScriptMaterialBottomSheetModule_Factory(t) { return new (t || NativeScriptMaterialBottomSheetModule)(); };
|
164
|
-
NativeScriptMaterialBottomSheetModule.ɵmod = i0__namespace.ɵɵdefineNgModule({ type: NativeScriptMaterialBottomSheetModule });
|
165
|
-
NativeScriptMaterialBottomSheetModule.ɵinj = i0__namespace.ɵɵdefineInjector({});
|
166
|
-
(function () {
|
167
|
-
(typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(NativeScriptMaterialBottomSheetModule, [{
|
168
|
-
type: i0.NgModule
|
169
|
-
}], function () { return []; }, null);
|
170
|
-
})();
|
171
|
-
|
172
|
-
exports.BottomSheetParams = BottomSheetParams;
|
173
|
-
exports.BottomSheetService = BottomSheetService;
|
174
|
-
exports.NativeScriptMaterialBottomSheetModule = NativeScriptMaterialBottomSheetModule;
|
175
|
-
|
176
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
177
|
-
|
178
|
-
})));
|
179
|
-
//# sourceMappingURL=nativescript-community-ui-material-bottomsheet-angular.umd.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"nativescript-community-ui-material-bottomsheet-angular.umd.js","sources":["../../../../src/bottomsheet/angular/bottomsheet.service.ts","../../../../src/bottomsheet/angular/bottomsheet.module.ts"],"sourcesContent":["import { ComponentFactoryResolver, ComponentRef, Injectable, Injector, Type, ViewContainerRef } from '@angular/core';\nimport type { BottomSheetOptions as MaterialBottomSheetOptions } from '@nativescript-community/ui-material-bottomsheet';\nimport { AppHostView, DetachedLoader, once } from '@nativescript/angular';\nimport { LayoutBase, ProxyViewContainer, View } from '@nativescript/core';\nimport { Observable, Subject } from 'rxjs';\n\nexport type BaseShowBottomSheetOptions = Omit<MaterialBottomSheetOptions, 'closeCallback' | 'view'>;\n\nexport interface BottomSheetOptions extends BaseShowBottomSheetOptions {\n viewContainerRef?: ViewContainerRef;\n}\n\nexport class BottomSheetParams {\n public constructor(public readonly context: any, public readonly closeCallback: (...args) => void) {}\n}\n\ntype ViewWithDialogRoot = View & { _ngDialogRoot?: View };\n\ninterface SheetRef<TResult = unknown> {\n detachedLoader?: ComponentRef<DetachedLoader>;\n componentView?: View;\n result: Subject<TResult>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BottomSheetService {\n public show<TResult = any>(type: Type<any>, options: BottomSheetOptions): Observable<TResult> {\n return this.showWithCloseCallback(type, options).observable;\n }\n\n public showWithCloseCallback<TResult = any>(type: Type<any>, options: BottomSheetOptions): { observable: Observable<TResult>; closeCallback: () => void } {\n if (!options.viewContainerRef) {\n throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');\n }\n\n const sheetRef: SheetRef<TResult> = {\n result: new Subject()\n };\n\n const parentView = this.getParentView(options.viewContainerRef);\n const factoryResolver = this.getFactoryResolver(options.viewContainerRef);\n const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);\n\n sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);\n\n this.loadComponent(type, sheetRef).then((componentView) => {\n parentView.showBottomSheet({\n ...options,\n ...bottomSheetParams,\n view: componentView\n });\n });\n\n return {\n observable: sheetRef.result,\n closeCallback: bottomSheetParams.closeCallback\n };\n }\n\n private getParentView(viewContainerRef: ViewContainerRef): View {\n let parentView = viewContainerRef.element.nativeElement as View;\n\n if (parentView instanceof AppHostView && parentView.ngAppRoot) {\n parentView = parentView.ngAppRoot;\n }\n\n // _ngDialogRoot is the first child of the previously detached proxy.\n // It should have 'viewController' (iOS) or '_dialogFragment' (Android) available for\n // presenting future bottomSheets views.\n if ((parentView as ViewWithDialogRoot)._ngDialogRoot) {\n parentView = (parentView as ViewWithDialogRoot)._ngDialogRoot;\n }\n\n return parentView;\n }\n\n private getFactoryResolver(componentContainer: ViewContainerRef): ComponentFactoryResolver {\n // resolve from particular module (moduleRef)\n // or from same module as parentView (viewContainerRef)\n return componentContainer.injector.get(ComponentFactoryResolver);\n }\n\n private createChildInjector(bottomSheetParams: BottomSheetParams, containerRef: ViewContainerRef): Injector {\n return Injector.create({\n providers: [\n {\n provide: BottomSheetParams,\n useValue: bottomSheetParams\n }\n ],\n parent: containerRef.injector\n });\n }\n\n private getBottomSheetParams(context: any, sheetRef: SheetRef): BottomSheetParams {\n const closeCallback = once((args) => {\n const { result, componentView, detachedLoader } = sheetRef;\n\n result.next(args);\n result.complete();\n\n if (componentView) {\n componentView.closeBottomSheet();\n }\n\n if (detachedLoader) {\n detachedLoader.instance.detectChanges();\n detachedLoader.destroy();\n }\n });\n\n return new BottomSheetParams(context, closeCallback);\n }\n\n private createDetachedLoader(factoryResolver: ComponentFactoryResolver, bottomSheetParams: BottomSheetParams, viewContainerRef: ViewContainerRef): ComponentRef<DetachedLoader> {\n const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);\n const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);\n\n return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);\n }\n\n private async loadComponent(type: Type<any>, sheetRef: SheetRef): Promise<View> {\n try {\n const componentRef = await sheetRef.detachedLoader.instance.loadComponent(type);\n const detachedProxy = componentRef.location.nativeElement as ProxyViewContainer;\n\n if (detachedProxy.getChildrenCount() > 1) {\n throw new Error('BottomSheet content has more than one root view.');\n }\n\n sheetRef.componentView = detachedProxy.getChildAt(0);\n\n if (sheetRef.componentView.parent instanceof LayoutBase) {\n (sheetRef.componentView.parent as ViewWithDialogRoot)._ngDialogRoot = sheetRef.componentView;\n sheetRef.componentView.parent.removeChild(sheetRef.componentView);\n }\n\n return sheetRef.componentView;\n } catch (err) {\n console.error(err);\n\n return null;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { BottomSheetService } from './bottomsheet.service';\nimport { install } from '@nativescript-community/ui-material-bottomsheet';\n\n@NgModule()\nexport class NativeScriptMaterialBottomSheetModule {\n // This flag help us to avoid problems when using the new development workflow\n private static initialized = false;\n\n static forRoot(): ModuleWithProviders<NativeScriptMaterialBottomSheetModule> {\n return {\n ngModule: NativeScriptMaterialBottomSheetModule,\n providers: [BottomSheetService],\n };\n }\n\n public constructor() {\n if (!NativeScriptMaterialBottomSheetModule.initialized) {\n install();\n NativeScriptMaterialBottomSheetModule.initialized = true;\n }\n }\n}\n"],"names":["Subject","AppHostView","ComponentFactoryResolver","Injector","once","DetachedLoader","LayoutBase","Injectable","install","NgModule"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("tslib"),require("@nativescript/angular"),require("@nativescript/core"),require("rxjs"),require("@nativescript-community/ui-material-bottomsheet")):"function"==typeof define&&define.amd?define("@nativescript-community/ui-material-bottomsheet-angular",["exports","@angular/core","tslib","@nativescript/angular","@nativescript/core","rxjs","@nativescript-community/ui-material-bottomsheet"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["nativescript-community"]=e["nativescript-community"]||{},e["nativescript-community"]["ui-material-bottomsheet-angular"]={}),e.ng.core,e.tslib,e["ns-angular"],e["ns-core"],e.rxjs,e["ns-material-bottomsheet"])}(this,(function(e,t,o,n,r,i,a){"use strict";function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var s=c(t),u=function(e,t){this.context=e,this.closeCallback=t},l=function(){function e(){}return e.prototype.show=function(e,t){return this.showWithCloseCallback(e,t).observable},e.prototype.showWithCloseCallback=function(e,t){if(!t.viewContainerRef)throw new Error("No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.");var o={result:new i.Subject},n=this.getParentView(t.viewContainerRef),r=this.getFactoryResolver(t.viewContainerRef),a=this.getBottomSheetParams(t.context,o);return o.detachedLoader=this.createDetachedLoader(r,a,t.viewContainerRef),this.loadComponent(e,o).then((function(e){n.showBottomSheet(Object.assign(Object.assign(Object.assign({},t),a),{view:e}))})),{observable:o.result,closeCallback:a.closeCallback}},e.prototype.getParentView=function(e){var t=e.element.nativeElement;return t instanceof n.AppHostView&&t.ngAppRoot&&(t=t.ngAppRoot),t._ngDialogRoot&&(t=t._ngDialogRoot),t},e.prototype.getFactoryResolver=function(e){return e.injector.get(t.ComponentFactoryResolver)},e.prototype.createChildInjector=function(e,o){return t.Injector.create({providers:[{provide:u,useValue:e}],parent:o.injector})},e.prototype.getBottomSheetParams=function(e,t){var o=n.once((function(e){var o=t.result,n=t.componentView,r=t.detachedLoader;o.next(e),o.complete(),n&&n.closeBottomSheet(),r&&(r.instance.detectChanges(),r.destroy())}));return new u(e,o)},e.prototype.createDetachedLoader=function(e,t,o){var r=e.resolveComponentFactory(n.DetachedLoader),i=this.createChildInjector(t,o);return o.createComponent(r,0,i)},e.prototype.loadComponent=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n,i,a;return o.__generator(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),[4,t.detachedLoader.instance.loadComponent(e)];case 1:if(n=o.sent(),(i=n.location.nativeElement).getChildrenCount()>1)throw new Error("BottomSheet content has more than one root view.");return t.componentView=i.getChildAt(0),t.componentView.parent instanceof r.LayoutBase&&(t.componentView.parent._ngDialogRoot=t.componentView,t.componentView.parent.removeChild(t.componentView)),[2,t.componentView];case 2:return a=o.sent(),console.error(a),[2,null];case 3:return[2]}}))}))},e}();l.ɵfac=function(e){return new(e||l)},l.ɵprov=s.ɵɵdefineInjectable({token:l,factory:l.ɵfac,providedIn:"root"}),("undefined"==typeof ngDevMode||ngDevMode)&&s.ɵsetClassMetadata(l,[{type:t.Injectable,args:[{providedIn:"root"}]}],null,null);var p=function(){function e(){e.initialized||(a.install(),e.initialized=!0)}return e.forRoot=function(){return{ngModule:e,providers:[l]}},e}();p.initialized=!1,p.ɵfac=function(e){return new(e||p)},p.ɵmod=s.ɵɵdefineNgModule({type:p}),p.ɵinj=s.ɵɵdefineInjector({}),("undefined"==typeof ngDevMode||ngDevMode)&&s.ɵsetClassMetadata(p,[{type:t.NgModule}],(function(){return[]}),null),e.BottomSheetParams=u,e.BottomSheetService=l,e.NativeScriptMaterialBottomSheetModule=p,Object.defineProperty(e,"__esModule",{value:!0})}));
|
2
|
-
//# sourceMappingURL=nativescript-community-ui-material-bottomsheet-angular.umd.min.js.map
|
package/angular/bundles/nativescript-community-ui-material-bottomsheet-angular.umd.min.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/bottomsheet/angular/bottomsheet.service.ts","../../../../src/bottomsheet/angular/bottomsheet.module.ts"],"names":["context","closeCallback","this","BottomSheetService","prototype","show","type","options","showWithCloseCallback","observable","viewContainerRef","Error","sheetRef","result","Subject","parentView","getParentView","factoryResolver","getFactoryResolver","bottomSheetParams","getBottomSheetParams","detachedLoader","createDetachedLoader","loadComponent","then","componentView","showBottomSheet","Object","assign","view","element","nativeElement","AppHostView","ngAppRoot","_ngDialogRoot","componentContainer","injector","get","ComponentFactoryResolver","createChildInjector","containerRef","Injector","create","providers","provide","BottomSheetParams","useValue","parent","once","args","next","complete","closeBottomSheet","instance","detectChanges","destroy","detachedLoaderFactory","resolveComponentFactory","DetachedLoader","childInjector","createComponent","componentRef","_a","sent","detachedProxy","location","getChildrenCount","getChildAt","LayoutBase","removeChild","console","error","err_1","factory","ɵfac","providedIn","Injectable","NativeScriptMaterialBottomSheetModule","initialized","install","forRoot","ngModule","NgModule"],"mappings":"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","sourcesContent":["import { ComponentFactoryResolver, ComponentRef, Injectable, Injector, Type, ViewContainerRef } from '@angular/core';\nimport type { BottomSheetOptions as MaterialBottomSheetOptions } from '@nativescript-community/ui-material-bottomsheet';\nimport { AppHostView, DetachedLoader, once } from '@nativescript/angular';\nimport { LayoutBase, ProxyViewContainer, View } from '@nativescript/core';\nimport { Observable, Subject } from 'rxjs';\n\nexport type BaseShowBottomSheetOptions = Omit<MaterialBottomSheetOptions, 'closeCallback' | 'view'>;\n\nexport interface BottomSheetOptions extends BaseShowBottomSheetOptions {\n viewContainerRef?: ViewContainerRef;\n}\n\nexport class BottomSheetParams {\n public constructor(public readonly context: any, public readonly closeCallback: (...args) => void) {}\n}\n\ntype ViewWithDialogRoot = View & { _ngDialogRoot?: View };\n\ninterface SheetRef<TResult = unknown> {\n detachedLoader?: ComponentRef<DetachedLoader>;\n componentView?: View;\n result: Subject<TResult>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BottomSheetService {\n public show<TResult = any>(type: Type<any>, options: BottomSheetOptions): Observable<TResult> {\n return this.showWithCloseCallback(type, options).observable;\n }\n\n public showWithCloseCallback<TResult = any>(type: Type<any>, options: BottomSheetOptions): { observable: Observable<TResult>; closeCallback: () => void } {\n if (!options.viewContainerRef) {\n throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');\n }\n\n const sheetRef: SheetRef<TResult> = {\n result: new Subject()\n };\n\n const parentView = this.getParentView(options.viewContainerRef);\n const factoryResolver = this.getFactoryResolver(options.viewContainerRef);\n const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);\n\n sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);\n\n this.loadComponent(type, sheetRef).then((componentView) => {\n parentView.showBottomSheet({\n ...options,\n ...bottomSheetParams,\n view: componentView\n });\n });\n\n return {\n observable: sheetRef.result,\n closeCallback: bottomSheetParams.closeCallback\n };\n }\n\n private getParentView(viewContainerRef: ViewContainerRef): View {\n let parentView = viewContainerRef.element.nativeElement as View;\n\n if (parentView instanceof AppHostView && parentView.ngAppRoot) {\n parentView = parentView.ngAppRoot;\n }\n\n // _ngDialogRoot is the first child of the previously detached proxy.\n // It should have 'viewController' (iOS) or '_dialogFragment' (Android) available for\n // presenting future bottomSheets views.\n if ((parentView as ViewWithDialogRoot)._ngDialogRoot) {\n parentView = (parentView as ViewWithDialogRoot)._ngDialogRoot;\n }\n\n return parentView;\n }\n\n private getFactoryResolver(componentContainer: ViewContainerRef): ComponentFactoryResolver {\n // resolve from particular module (moduleRef)\n // or from same module as parentView (viewContainerRef)\n return componentContainer.injector.get(ComponentFactoryResolver);\n }\n\n private createChildInjector(bottomSheetParams: BottomSheetParams, containerRef: ViewContainerRef): Injector {\n return Injector.create({\n providers: [\n {\n provide: BottomSheetParams,\n useValue: bottomSheetParams\n }\n ],\n parent: containerRef.injector\n });\n }\n\n private getBottomSheetParams(context: any, sheetRef: SheetRef): BottomSheetParams {\n const closeCallback = once((args) => {\n const { result, componentView, detachedLoader } = sheetRef;\n\n result.next(args);\n result.complete();\n\n if (componentView) {\n componentView.closeBottomSheet();\n }\n\n if (detachedLoader) {\n detachedLoader.instance.detectChanges();\n detachedLoader.destroy();\n }\n });\n\n return new BottomSheetParams(context, closeCallback);\n }\n\n private createDetachedLoader(factoryResolver: ComponentFactoryResolver, bottomSheetParams: BottomSheetParams, viewContainerRef: ViewContainerRef): ComponentRef<DetachedLoader> {\n const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);\n const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);\n\n return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);\n }\n\n private async loadComponent(type: Type<any>, sheetRef: SheetRef): Promise<View> {\n try {\n const componentRef = await sheetRef.detachedLoader.instance.loadComponent(type);\n const detachedProxy = componentRef.location.nativeElement as ProxyViewContainer;\n\n if (detachedProxy.getChildrenCount() > 1) {\n throw new Error('BottomSheet content has more than one root view.');\n }\n\n sheetRef.componentView = detachedProxy.getChildAt(0);\n\n if (sheetRef.componentView.parent instanceof LayoutBase) {\n (sheetRef.componentView.parent as ViewWithDialogRoot)._ngDialogRoot = sheetRef.componentView;\n sheetRef.componentView.parent.removeChild(sheetRef.componentView);\n }\n\n return sheetRef.componentView;\n } catch (err) {\n console.error(err);\n\n return null;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { BottomSheetService } from './bottomsheet.service';\nimport { install } from '@nativescript-community/ui-material-bottomsheet';\n\n@NgModule()\nexport class NativeScriptMaterialBottomSheetModule {\n // This flag help us to avoid problems when using the new development workflow\n private static initialized = false;\n\n static forRoot(): ModuleWithProviders<NativeScriptMaterialBottomSheetModule> {\n return {\n ngModule: NativeScriptMaterialBottomSheetModule,\n providers: [BottomSheetService],\n };\n }\n\n public constructor() {\n if (!NativeScriptMaterialBottomSheetModule.initialized) {\n install();\n NativeScriptMaterialBottomSheetModule.initialized = true;\n }\n }\n}\n"]}
|
@@ -1,109 +0,0 @@
|
|
1
|
-
import { ComponentFactoryResolver, Injectable, Injector } from '@angular/core';
|
2
|
-
import { AppHostView, DetachedLoader, once } from '@nativescript/angular';
|
3
|
-
import { LayoutBase } from '@nativescript/core';
|
4
|
-
import { Subject } from 'rxjs';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
export class BottomSheetParams {
|
7
|
-
constructor(context, closeCallback) {
|
8
|
-
this.context = context;
|
9
|
-
this.closeCallback = closeCallback;
|
10
|
-
}
|
11
|
-
}
|
12
|
-
export class BottomSheetService {
|
13
|
-
show(type, options) {
|
14
|
-
return this.showWithCloseCallback(type, options).observable;
|
15
|
-
}
|
16
|
-
showWithCloseCallback(type, options) {
|
17
|
-
if (!options.viewContainerRef) {
|
18
|
-
throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');
|
19
|
-
}
|
20
|
-
const sheetRef = {
|
21
|
-
result: new Subject()
|
22
|
-
};
|
23
|
-
const parentView = this.getParentView(options.viewContainerRef);
|
24
|
-
const factoryResolver = this.getFactoryResolver(options.viewContainerRef);
|
25
|
-
const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);
|
26
|
-
sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);
|
27
|
-
this.loadComponent(type, sheetRef).then((componentView) => {
|
28
|
-
parentView.showBottomSheet(Object.assign(Object.assign(Object.assign({}, options), bottomSheetParams), { view: componentView }));
|
29
|
-
});
|
30
|
-
return {
|
31
|
-
observable: sheetRef.result,
|
32
|
-
closeCallback: bottomSheetParams.closeCallback
|
33
|
-
};
|
34
|
-
}
|
35
|
-
getParentView(viewContainerRef) {
|
36
|
-
let parentView = viewContainerRef.element.nativeElement;
|
37
|
-
if (parentView instanceof AppHostView && parentView.ngAppRoot) {
|
38
|
-
parentView = parentView.ngAppRoot;
|
39
|
-
}
|
40
|
-
if (parentView._ngDialogRoot) {
|
41
|
-
parentView = parentView._ngDialogRoot;
|
42
|
-
}
|
43
|
-
return parentView;
|
44
|
-
}
|
45
|
-
getFactoryResolver(componentContainer) {
|
46
|
-
return componentContainer.injector.get(ComponentFactoryResolver);
|
47
|
-
}
|
48
|
-
createChildInjector(bottomSheetParams, containerRef) {
|
49
|
-
return Injector.create({
|
50
|
-
providers: [
|
51
|
-
{
|
52
|
-
provide: BottomSheetParams,
|
53
|
-
useValue: bottomSheetParams
|
54
|
-
}
|
55
|
-
],
|
56
|
-
parent: containerRef.injector
|
57
|
-
});
|
58
|
-
}
|
59
|
-
getBottomSheetParams(context, sheetRef) {
|
60
|
-
const closeCallback = once((args) => {
|
61
|
-
const { result, componentView, detachedLoader } = sheetRef;
|
62
|
-
result.next(args);
|
63
|
-
result.complete();
|
64
|
-
if (componentView) {
|
65
|
-
componentView.closeBottomSheet();
|
66
|
-
}
|
67
|
-
if (detachedLoader) {
|
68
|
-
detachedLoader.instance.detectChanges();
|
69
|
-
detachedLoader.destroy();
|
70
|
-
}
|
71
|
-
});
|
72
|
-
return new BottomSheetParams(context, closeCallback);
|
73
|
-
}
|
74
|
-
createDetachedLoader(factoryResolver, bottomSheetParams, viewContainerRef) {
|
75
|
-
const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);
|
76
|
-
const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);
|
77
|
-
return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);
|
78
|
-
}
|
79
|
-
loadComponent(type, sheetRef) {
|
80
|
-
return __awaiter(this, void 0, void 0, function* () {
|
81
|
-
try {
|
82
|
-
const componentRef = yield sheetRef.detachedLoader.instance.loadComponent(type);
|
83
|
-
const detachedProxy = componentRef.location.nativeElement;
|
84
|
-
if (detachedProxy.getChildrenCount() > 1) {
|
85
|
-
throw new Error('BottomSheet content has more than one root view.');
|
86
|
-
}
|
87
|
-
sheetRef.componentView = detachedProxy.getChildAt(0);
|
88
|
-
if (sheetRef.componentView.parent instanceof LayoutBase) {
|
89
|
-
sheetRef.componentView.parent._ngDialogRoot = sheetRef.componentView;
|
90
|
-
sheetRef.componentView.parent.removeChild(sheetRef.componentView);
|
91
|
-
}
|
92
|
-
return sheetRef.componentView;
|
93
|
-
}
|
94
|
-
catch (err) {
|
95
|
-
console.error(err);
|
96
|
-
return null;
|
97
|
-
}
|
98
|
-
});
|
99
|
-
}
|
100
|
-
}
|
101
|
-
BottomSheetService.ɵfac = function BottomSheetService_Factory(t) { return new (t || BottomSheetService)(); };
|
102
|
-
BottomSheetService.ɵprov = i0.ɵɵdefineInjectable({ token: BottomSheetService, factory: BottomSheetService.ɵfac, providedIn: 'root' });
|
103
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BottomSheetService, [{
|
104
|
-
type: Injectable,
|
105
|
-
args: [{
|
106
|
-
providedIn: 'root'
|
107
|
-
}]
|
108
|
-
}], null, null); })();
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tc2hlZXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ib3R0b21zaGVldC9hbmd1bGFyL2JvdHRvbXNoZWV0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFnQixVQUFVLEVBQUUsUUFBUSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUVySCxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBQzFFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFBbUMsT0FBWSxFQUFrQixhQUFnQztRQUE5RCxZQUFPLEdBQVAsT0FBTyxDQUFLO1FBQWtCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtJQUFHLENBQUM7Q0FDeEc7QUFhRCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLElBQUksQ0FBZ0IsSUFBZSxFQUFFLE9BQTJCO1FBQ25FLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDaEUsQ0FBQztJQUVNLHFCQUFxQixDQUFnQixJQUFlLEVBQUUsT0FBMkI7UUFDcEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGlGQUFpRixDQUFDLENBQUM7U0FDdEc7UUFFRCxNQUFNLFFBQVEsR0FBc0I7WUFDaEMsTUFBTSxFQUFFLElBQUksT0FBTyxFQUFFO1NBQ3hCLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sZUFBZSxHQUFHLElB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QUMsSUFBZSxFQUFFLFFBQWtCOztZQUMzRCxJQUFJO2dCQUNBLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQW1DLENBQUM7Z0JBRWhGLElBQUksYUFBYSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7aUJBQ3ZFO2dCQUVELFFBQVEsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFckQsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sWUFBWSxVQUFVLEVBQUU7b0JBQ3BELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBNkIsQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztvQkFDN0YsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDckU7Z0JBRUQsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDO2FBQ2pDO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFbkIsT0FBTyxJQUFJLENBQUM7YUFDZjtRQUNMLENBQUM7S0FBQTs7b0ZBdEhRLGtCQUFrQjswREFBbEIsa0JBQWtCLFdBQWxCLGtCQUFrQixtQkFGZixNQUFNO3VGQUVULGtCQUFrQjtjQUg5QixVQUFVO2VBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFR5cGUsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQm90dG9tU2hlZXRPcHRpb25zIGFzIE1hdGVyaWFsQm90dG9tU2hlZXRPcHRpb25zIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC1jb21tdW5pdHkvdWktbWF0ZXJpYWwtYm90dG9tc2hlZXQnO1xuaW1wb3J0IHsgQXBwSG9zdFZpZXcsIERldGFjaGVkTG9hZGVyLCBvbmNlIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9hbmd1bGFyJztcbmltcG9ydCB7IExheW91dEJhc2UsIFByb3h5Vmlld0NvbnRhaW5lciwgVmlldyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEJhc2VTaG93Qm90dG9tU2hlZXRPcHRpb25zID0gT21pdDxNYXRlcmlhbEJvdHRvbVNoZWV0T3B0aW9ucywgJ2Nsb3NlQ2FsbGJhY2snIHwgJ3ZpZXcnPjtcblxuZXhwb3J0IGludGVyZmFjZSBCb3R0b21TaGVldE9wdGlvbnMgZXh0ZW5kcyBCYXNlU2hvd0JvdHRvbVNoZWV0T3B0aW9ucyB7XG4gICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWY7XG59XG5cbmV4cG9ydCBjbGFzcyBCb3R0b21TaGVldFBhcmFtcyB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjb250ZXh0OiBhbnksIHB1YmxpYyByZWFkb25seSBjbG9zZUNhbGxiYWNrOiAoLi4uYXJncykgPT4gdm9pZCkge31cbn1cblxudHlwZSBWaWV3V2l0aERpYWxvZ1Jvb3QgPSBWaWV3ICYgeyBfbmdEaWFsb2dSb290PzogVmlldyB9O1xuXG5pbnRlcmZhY2UgU2hlZXRSZWY8VFJlc3VsdCA9IHVua25vd24+IHtcbiAgICBkZXRhY2hlZExvYWRlcj86IENvbXBvbmVudFJlZjxEZXRhY2hlZExvYWRlcj47XG4gICAgY29tcG9uZW50Vmlldz86IFZpZXc7XG4gICAgcmVzdWx0OiBTdWJqZWN0PFRSZXN1bHQ+O1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJvdHRvbVNoZWV0U2VydmljZSB7XG4gICAgcHVibGljIHNob3c8VFJlc3VsdCA9IGFueT4odHlwZTogVHlwZTxhbnk+LCBvcHRpb25zOiBCb3R0b21TaGVldE9wdGlvbnMpOiBPYnNlcnZhYmxlPFRSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hvd1dpdGhDbG9zZUNhbGxiYWNrKHR5cGUsIG9wdGlvbnMpLm9ic2VydmFibGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dXaXRoQ2xvc2VDYWxsYmFjazxUUmVzdWx0ID0gYW55Pih0eXBlOiBUeXBlPGFueT4sIG9wdGlvbnM6IEJvdHRvbVNoZWV0T3B0aW9ucyk6IHsgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUUmVzdWx0PjsgY2xvc2VDYWxsYmFjazogKCkgPT4gdm9pZCB9IHtcbiAgICAgICAgaWYgKCFvcHRpb25zLnZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gdmlld0NvbnRhaW5lclJlZjogTWFrZSBzdXJlIHlvdSBwYXNzIHZpZXdDb250YWluZXJSZWYgaW4gQm90dG9tU2hlZXRPcHRpb25zLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2hlZXRSZWY6IFNoZWV0UmVmPFRSZXN1bHQ+ID0ge1xuICAgICAgICAgICAgcmVzdWx0OiBuZXcgU3ViamVjdCgpXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcGFyZW50VmlldyA9IHRoaXMuZ2V0UGFyZW50VmlldyhvcHRpb25zLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICBjb25zdCBmYWN0b3J5UmVzb2x2ZXIgPSB0aGlzLmdldEZhY3RvcnlSZXNvbHZlcihvcHRpb25zLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICBjb25zdCBib3R0b21TaGVldFBhcmFtcyA9IHRoaXMuZ2V0Qm90dG9tU2hlZXRQYXJhbXMob3B0aW9ucy5jb250ZXh0LCBzaGVldFJlZik7XG5cbiAgICAgICAgc2hlZXRSZWYuZGV0YWNoZWRMb2FkZXIgPSB0aGlzLmNyZWF0ZURldGFjaGVkTG9hZGVyKGZhY3RvcnlSZXNvbHZlciwgYm90dG9tU2hlZXRQYXJhbXMsIG9wdGlvbnMudmlld0NvbnRhaW5lclJlZik7XG5cbiAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KHR5cGUsIHNoZWV0UmVmKS50aGVuKChjb21wb25lbnRWaWV3KSA9PiB7XG4gICAgICAgICAgICBwYXJlbnRWaWV3LnNob3dCb3R0b21TaGVldCh7XG4gICAgICAgICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAuLi5ib3R0b21TaGVldFBhcmFtcyxcbiAgICAgICAgICAgICAgICB2aWV3OiBjb21wb25lbnRWaWV3XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9ic2VydmFibGU6IHNoZWV0UmVmLnJlc3VsdCxcbiAgICAgICAgICAgIGNsb3NlQ2FsbGJhY2s6IGJvdHRvbVNoZWV0UGFyYW1zLmNsb3NlQ2FsbGJhY2tcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBhcmVudFZpZXcodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IFZpZXcge1xuICAgICAgICBsZXQgcGFyZW50VmlldyA9IHZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIFZpZXc7XG5cbiAgICAgICAgaWYgKHBhcmVudFZpZXcgaW5zdGFuY2VvZiBBcHBIb3N0VmlldyAmJiBwYXJlbnRWaWV3Lm5nQXBwUm9vdCkge1xuICAgICAgICAgICAgcGFyZW50VmlldyA9IHBhcmVudFZpZXcubmdBcHBSb290O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gX25nRGlhbG9nUm9vdCBpcyB0aGUgZmlyc3QgY2hpbGQgb2YgdGhlIHByZXZpb3VzbHkgZGV0YWNoZWQgcHJveHkuXG4gICAgICAgIC8vIEl0IHNob3VsZCBoYXZlICd2aWV3Q29udHJvbGxlcicgKGlPUykgb3IgJ19kaWFsb2dGcmFnbWVudCcgKEFuZHJvaWQpIGF2YWlsYWJsZSBmb3JcbiAgICAgICAgLy8gcHJlc2VudGluZyBmdXR1cmUgYm90dG9tU2hlZXRzIHZpZXdzLlxuICAgICAgICBpZiAoKHBhcmVudFZpZXcgYXMgVmlld1dpdGhEaWFsb2dSb290KS5fbmdEaWFsb2dSb290KSB7XG4gICAgICAgICAgICBwYXJlbnRWaWV3ID0gKHBhcmVudFZpZXcgYXMgVmlld1dpdGhEaWFsb2dSb290KS5fbmdEaWFsb2dSb290O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmVudFZpZXc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGYWN0b3J5UmVzb2x2ZXIoY29tcG9uZW50Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKTogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIHtcbiAgICAgICAgLy8gcmVzb2x2ZSBmcm9tIHBhcnRpY3VsYXIgbW9kdWxlIChtb2R1bGVSZWYpXG4gICAgICAgIC8vIG9yIGZyb20gc2FtZSBtb2R1bGUgYXMgcGFyZW50VmlldyAodmlld0NvbnRhaW5lclJlZilcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudENvbnRhaW5lci5pbmplY3Rvci5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNoaWxkSW5qZWN0b3IoYm90dG9tU2hlZXRQYXJhbXM6IEJvdHRvbVNoZWV0UGFyYW1zLCBjb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiBJbmplY3RvciB7XG4gICAgICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBCb3R0b21TaGVldFBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IGJvdHRvbVNoZWV0UGFyYW1zXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBhcmVudDogY29udGFpbmVyUmVmLmluamVjdG9yXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Qm90dG9tU2hlZXRQYXJhbXMoY29udGV4dDogYW55LCBzaGVldFJlZjogU2hlZXRSZWYpOiBCb3R0b21TaGVldFBhcmFtcyB7XG4gICAgICAgIGNvbnN0IGNsb3NlQ2FsbGJhY2sgPSBvbmNlKChhcmdzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHJlc3VsdCwgY29tcG9uZW50VmlldywgZGV0YWNoZWRMb2FkZXIgfSA9IHNoZWV0UmVmO1xuXG4gICAgICAgICAgICByZXN1bHQubmV4dChhcmdzKTtcbiAgICAgICAgICAgIHJlc3VsdC5jb21wbGV0ZSgpO1xuXG4gICAgICAgICAgICBpZiAoY29tcG9uZW50Vmlldykge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFZpZXcuY2xvc2VCb3R0b21TaGVldCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZGV0YWNoZWRMb2FkZXIpIHtcbiAgICAgICAgICAgICAgICBkZXRhY2hlZExvYWRlci5pbnN0YW5jZS5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgZGV0YWNoZWRMb2FkZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbmV3IEJvdHRvbVNoZWV0UGFyYW1zKGNvbnRleHQsIGNsb3NlQ2FsbGJhY2spO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGV0YWNoZWRMb2FkZXIoZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIGJvdHRvbVNoZWV0UGFyYW1zOiBCb3R0b21TaGVldFBhcmFtcywgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IENvbXBvbmVudFJlZjxEZXRhY2hlZExvYWRlcj4ge1xuICAgICAgICBjb25zdCBkZXRhY2hlZExvYWRlckZhY3RvcnkgPSBmYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRGV0YWNoZWRMb2FkZXIpO1xuICAgICAgICBjb25zdCBjaGlsZEluamVjdG9yID0gdGhpcy5jcmVhdGVDaGlsZEluamVjdG9yKGJvdHRvbVNoZWV0UGFyYW1zLCB2aWV3Q29udGFpbmVyUmVmKTtcblxuICAgICAgICByZXR1cm4gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZGV0YWNoZWRMb2FkZXJGYWN0b3J5LCAwLCBjaGlsZEluamVjdG9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGxvYWRDb21wb25lbnQodHlwZTogVHlwZTxhbnk+LCBzaGVldFJlZjogU2hlZXRSZWYpOiBQcm9taXNlPFZpZXc+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGF3YWl0IHNoZWV0UmVmLmRldGFjaGVkTG9hZGVyLmluc3RhbmNlLmxvYWRDb21wb25lbnQodHlwZSk7XG4gICAgICAgICAgICBjb25zdCBkZXRhY2hlZFByb3h5ID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQgYXMgUHJveHlWaWV3Q29udGFpbmVyO1xuXG4gICAgICAgICAgICBpZiAoZGV0YWNoZWRQcm94eS5nZXRDaGlsZHJlbkNvdW50KCkgPiAxKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCb3R0b21TaGVldCBjb250ZW50IGhhcyBtb3JlIHRoYW4gb25lIHJvb3Qgdmlldy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2hlZXRSZWYuY29tcG9uZW50VmlldyA9IGRldGFjaGVkUHJveHkuZ2V0Q2hpbGRBdCgwKTtcblxuICAgICAgICAgICAgaWYgKHNoZWV0UmVmLmNvbXBvbmVudFZpZXcucGFyZW50IGluc3RhbmNlb2YgTGF5b3V0QmFzZSkge1xuICAgICAgICAgICAgICAgIChzaGVldFJlZi5jb21wb25lbnRWaWV3LnBhcmVudCBhcyBWaWV3V2l0aERpYWxvZ1Jvb3QpLl9uZ0RpYWxvZ1Jvb3QgPSBzaGVldFJlZi5jb21wb25lbnRWaWV3O1xuICAgICAgICAgICAgICAgIHNoZWV0UmVmLmNvbXBvbmVudFZpZXcucGFyZW50LnJlbW92ZUNoaWxkKHNoZWV0UmVmLmNvbXBvbmVudFZpZXcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc2hlZXRSZWYuY29tcG9uZW50VmlldztcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"nativescript-community-ui-material-bottomsheet-angular.js","sources":["../../../../src/bottomsheet/angular/bottomsheet.service.ts","../../../../src/bottomsheet/angular/bottomsheet.module.ts"],"sourcesContent":["import { ComponentFactoryResolver, ComponentRef, Injectable, Injector, Type, ViewContainerRef } from '@angular/core';\nimport type { BottomSheetOptions as MaterialBottomSheetOptions } from '@nativescript-community/ui-material-bottomsheet';\nimport { AppHostView, DetachedLoader, once } from '@nativescript/angular';\nimport { LayoutBase, ProxyViewContainer, View } from '@nativescript/core';\nimport { Observable, Subject } from 'rxjs';\n\nexport type BaseShowBottomSheetOptions = Omit<MaterialBottomSheetOptions, 'closeCallback' | 'view'>;\n\nexport interface BottomSheetOptions extends BaseShowBottomSheetOptions {\n viewContainerRef?: ViewContainerRef;\n}\n\nexport class BottomSheetParams {\n public constructor(public readonly context: any, public readonly closeCallback: (...args) => void) {}\n}\n\ntype ViewWithDialogRoot = View & { _ngDialogRoot?: View };\n\ninterface SheetRef<TResult = unknown> {\n detachedLoader?: ComponentRef<DetachedLoader>;\n componentView?: View;\n result: Subject<TResult>;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BottomSheetService {\n public show<TResult = any>(type: Type<any>, options: BottomSheetOptions): Observable<TResult> {\n return this.showWithCloseCallback(type, options).observable;\n }\n\n public showWithCloseCallback<TResult = any>(type: Type<any>, options: BottomSheetOptions): { observable: Observable<TResult>; closeCallback: () => void } {\n if (!options.viewContainerRef) {\n throw new Error('No viewContainerRef: Make sure you pass viewContainerRef in BottomSheetOptions.');\n }\n\n const sheetRef: SheetRef<TResult> = {\n result: new Subject()\n };\n\n const parentView = this.getParentView(options.viewContainerRef);\n const factoryResolver = this.getFactoryResolver(options.viewContainerRef);\n const bottomSheetParams = this.getBottomSheetParams(options.context, sheetRef);\n\n sheetRef.detachedLoader = this.createDetachedLoader(factoryResolver, bottomSheetParams, options.viewContainerRef);\n\n this.loadComponent(type, sheetRef).then((componentView) => {\n parentView.showBottomSheet({\n ...options,\n ...bottomSheetParams,\n view: componentView\n });\n });\n\n return {\n observable: sheetRef.result,\n closeCallback: bottomSheetParams.closeCallback\n };\n }\n\n private getParentView(viewContainerRef: ViewContainerRef): View {\n let parentView = viewContainerRef.element.nativeElement as View;\n\n if (parentView instanceof AppHostView && parentView.ngAppRoot) {\n parentView = parentView.ngAppRoot;\n }\n\n // _ngDialogRoot is the first child of the previously detached proxy.\n // It should have 'viewController' (iOS) or '_dialogFragment' (Android) available for\n // presenting future bottomSheets views.\n if ((parentView as ViewWithDialogRoot)._ngDialogRoot) {\n parentView = (parentView as ViewWithDialogRoot)._ngDialogRoot;\n }\n\n return parentView;\n }\n\n private getFactoryResolver(componentContainer: ViewContainerRef): ComponentFactoryResolver {\n // resolve from particular module (moduleRef)\n // or from same module as parentView (viewContainerRef)\n return componentContainer.injector.get(ComponentFactoryResolver);\n }\n\n private createChildInjector(bottomSheetParams: BottomSheetParams, containerRef: ViewContainerRef): Injector {\n return Injector.create({\n providers: [\n {\n provide: BottomSheetParams,\n useValue: bottomSheetParams\n }\n ],\n parent: containerRef.injector\n });\n }\n\n private getBottomSheetParams(context: any, sheetRef: SheetRef): BottomSheetParams {\n const closeCallback = once((args) => {\n const { result, componentView, detachedLoader } = sheetRef;\n\n result.next(args);\n result.complete();\n\n if (componentView) {\n componentView.closeBottomSheet();\n }\n\n if (detachedLoader) {\n detachedLoader.instance.detectChanges();\n detachedLoader.destroy();\n }\n });\n\n return new BottomSheetParams(context, closeCallback);\n }\n\n private createDetachedLoader(factoryResolver: ComponentFactoryResolver, bottomSheetParams: BottomSheetParams, viewContainerRef: ViewContainerRef): ComponentRef<DetachedLoader> {\n const detachedLoaderFactory = factoryResolver.resolveComponentFactory(DetachedLoader);\n const childInjector = this.createChildInjector(bottomSheetParams, viewContainerRef);\n\n return viewContainerRef.createComponent(detachedLoaderFactory, 0, childInjector);\n }\n\n private async loadComponent(type: Type<any>, sheetRef: SheetRef): Promise<View> {\n try {\n const componentRef = await sheetRef.detachedLoader.instance.loadComponent(type);\n const detachedProxy = componentRef.location.nativeElement as ProxyViewContainer;\n\n if (detachedProxy.getChildrenCount() > 1) {\n throw new Error('BottomSheet content has more than one root view.');\n }\n\n sheetRef.componentView = detachedProxy.getChildAt(0);\n\n if (sheetRef.componentView.parent instanceof LayoutBase) {\n (sheetRef.componentView.parent as ViewWithDialogRoot)._ngDialogRoot = sheetRef.componentView;\n sheetRef.componentView.parent.removeChild(sheetRef.componentView);\n }\n\n return sheetRef.componentView;\n } catch (err) {\n console.error(err);\n\n return null;\n }\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\n\nimport { BottomSheetService } from './bottomsheet.service';\nimport { install } from '@nativescript-community/ui-material-bottomsheet';\n\n@NgModule()\nexport class NativeScriptMaterialBottomSheetModule {\n // This flag help us to avoid problems when using the new development workflow\n private static initialized = false;\n\n static forRoot(): ModuleWithProviders<NativeScriptMaterialBottomSheetModule> {\n return {\n ngModule: NativeScriptMaterialBottomSheetModule,\n providers: [BottomSheetService],\n };\n }\n\n public constructor() {\n if (!NativeScriptMaterialBottomSheetModule.initialized) {\n install();\n NativeScriptMaterialBottomSheetModule.initialized = true;\n }\n }\n}\n"],"names":[],"mappings":"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"}
|