UNPKG

@universal-material/angular

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.

39 lines 6.5 kB
import { Injectable, InjectionToken } from '@angular/core'; import { DialogInjector } from './dialog-injector'; import * as i0 from "@angular/core"; import * as i1 from "./dialog-stack.service"; export const DIALOG_DATA = new InjectionToken('DIALOG_DATA'); export class DialogService { constructor(_componentFactoryResolver, _appRef, _injector, _dialogStackService) { this._componentFactoryResolver = _componentFactoryResolver; this._appRef = _appRef; this._injector = _injector; this._dialogStackService = _dialogStackService; } _internalOpen(dialogType, customInjectionTokens) { const dialogComponent = this._componentFactoryResolver.resolveComponentFactory(dialogType); const dialogComponentRef = dialogComponent.create(new DialogInjector(this._injector, customInjectionTokens)); dialogComponentRef.instance.afterClose.subscribe(() => { this._appRef.detachView(dialogComponentRef.hostView); dialogComponentRef.destroy(); }); this._appRef.attachView(dialogComponentRef.hostView); this._dialogStackService.add(dialogComponentRef.instance); document .querySelector('body') .appendChild(dialogComponentRef.location.nativeElement); return dialogComponentRef.instance; } open(dialogType, data) { return this._internalOpen(dialogType, new WeakMap(data && [[DIALOG_DATA, data]])); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.DialogStackService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DialogService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i1.DialogStackService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEMsVUFBVSxFQUFFLGNBQWMsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFFckgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFJbkQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFNLGFBQWEsQ0FBQyxDQUFDO0FBS2xFLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQTZCLHlCQUFtRCxFQUNuRCxPQUF1QixFQUN2QixTQUFtQixFQUNuQixtQkFBdUM7UUFIdkMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNuRCxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7SUFFcEUsQ0FBQztJQUVELGFBQWEsQ0FBNEIsVUFBbUIsRUFBRSxxQkFBd0M7UUFDcEcsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTNGLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQztRQUU3RyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckQsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELFFBQVE7YUFDTCxhQUFhLENBQUMsTUFBTSxDQUFFO2FBQ3RCLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFMUQsT0FBTyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksQ0FBNEIsVUFBbUIsRUFBRSxJQUFVO1FBQzdELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQzsrR0FoQ1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRGlhbG9nSW5qZWN0b3IgfSBmcm9tICcuL2RpYWxvZy1pbmplY3Rvcic7XG5pbXBvcnQgeyBEaWFsb2dTdGFja1NlcnZpY2UgfSBmcm9tICcuL2RpYWxvZy1zdGFjay5zZXJ2aWNlJztcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBESUFMT0dfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdESUFMT0dfREFUQScpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9kaWFsb2dTdGFja1NlcnZpY2U6IERpYWxvZ1N0YWNrU2VydmljZSkge1xuXG4gIH1cblxuICBfaW50ZXJuYWxPcGVuPFQgZXh0ZW5kcyBEaWFsb2dDb21wb25lbnQ+KGRpYWxvZ1R5cGU6IFR5cGU8VD4sIGN1c3RvbUluamVjdGlvblRva2VuczogV2Vha01hcDxhbnksIGFueT4pOiBUIHtcbiAgICBjb25zdCBkaWFsb2dDb21wb25lbnQgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoZGlhbG9nVHlwZSk7XG5cbiAgICBjb25zdCBkaWFsb2dDb21wb25lbnRSZWYgPSBkaWFsb2dDb21wb25lbnQuY3JlYXRlKG5ldyBEaWFsb2dJbmplY3Rvcih0aGlzLl9pbmplY3RvciwgY3VzdG9tSW5qZWN0aW9uVG9rZW5zKSk7XG5cbiAgICBkaWFsb2dDb21wb25lbnRSZWYuaW5zdGFuY2UuYWZ0ZXJDbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fYXBwUmVmLmRldGFjaFZpZXcoZGlhbG9nQ29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgIGRpYWxvZ0NvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyhkaWFsb2dDb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgdGhpcy5fZGlhbG9nU3RhY2tTZXJ2aWNlLmFkZChkaWFsb2dDb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuXG4gICAgZG9jdW1lbnRcbiAgICAgIC5xdWVyeVNlbGVjdG9yKCdib2R5JykhXG4gICAgICAuYXBwZW5kQ2hpbGQoZGlhbG9nQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgcmV0dXJuIGRpYWxvZ0NvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIG9wZW48VCBleHRlbmRzIERpYWxvZ0NvbXBvbmVudD4oZGlhbG9nVHlwZTogVHlwZTxUPiwgZGF0YT86IGFueSk6IFQge1xuICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbE9wZW4oZGlhbG9nVHlwZSwgbmV3IFdlYWtNYXAoZGF0YSAmJiBbW0RJQUxPR19EQVRBLCBkYXRhXV0pKTtcbiAgfVxufVxuIl19