@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
103 lines • 11 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: dialog.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, ComponentFactoryResolver, } from '@angular/core';
import { ModalComponent } from './modal.component';
import { OverlayContainerRef } from '@duoduo-oba/ng-devui/overlay-container';
import { assign, isUndefined } from 'lodash-es';
import { ModalContainerComponent } from './modal-container.component';
export class DialogService {
/**
* @param {?} componentFactoryResolver
* @param {?} overlayContainerRef
*/
constructor(componentFactoryResolver, overlayContainerRef) {
this.componentFactoryResolver = componentFactoryResolver;
this.overlayContainerRef = overlayContainerRef;
}
/**
* @param {?} __0
* @return {?}
*/
open({ id, width, backdropCloseable, maxHeight, showAnimate, title, content, html, data, buttons, injector, componentFactoryResolver, beforeHidden, onClose, dialogtype = 'standard', showCloseBtn = true, draggable = true, placement = 'center', offsetX, offsetY, bodyScrollable }) {
/** @type {?} */
const finalComponentFactoryResolver = componentFactoryResolver || this.componentFactoryResolver;
/** @type {?} */
const modalRef = this.overlayContainerRef.createComponent(finalComponentFactoryResolver.resolveComponentFactory(ModalComponent), injector);
assign(modalRef.instance, {
id,
width,
showAnimate,
beforeHidden,
// set backdropCloseable default value "true" when not passing it
backdropCloseable: isUndefined(backdropCloseable) ? true : backdropCloseable,
draggable,
placement,
offsetX,
offsetY,
bodyScrollable
});
/** @type {?} */
const modalContainerRef = modalRef.instance.modalContainerHost.viewContainerRef
.createComponent(finalComponentFactoryResolver.resolveComponentFactory(ModalContainerComponent), 0, injector);
assign(modalContainerRef.instance, { title, buttons, maxHeight, dialogtype, showCloseBtn });
if (typeof content === 'string') {
assign(modalContainerRef.instance, { content, html });
}
else {
this.contentRef = modalContainerRef.instance.modalContentHost.viewContainerRef
.createComponent(finalComponentFactoryResolver.resolveComponentFactory(content));
assign(this.contentRef.instance, { data }, dialogtype);
}
modalContainerRef.instance.onClose = (/**
* @return {?}
*/
() => {
modalRef.instance.hide();
});
modalRef.instance.onHidden = (/**
* @return {?}
*/
() => {
if (onClose) {
onClose();
}
setTimeout((/**
* @return {?}
*/
() => {
modalRef.hostView.destroy();
}));
});
modalRef.instance.show();
return {
modalInstance: modalRef.instance,
modalContentInstance: this.contentRef ? this.contentRef.instance : null,
};
}
}
DialogService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
DialogService.ctorParameters = () => [
{ type: ComponentFactoryResolver },
{ type: OverlayContainerRef }
];
if (false) {
/** @type {?} */
DialogService.prototype.contentRef;
/**
* @type {?}
* @private
*/
DialogService.prototype.componentFactoryResolver;
/**
* @type {?}
* @private
*/
DialogService.prototype.overlayContainerRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9tb2RhbC8iLCJzb3VyY2VzIjpbImRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVix3QkFBd0IsR0FFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE1BQU0sT0FBTyxhQUFhOzs7OztJQUd4QixZQUFvQix3QkFBa0QsRUFDbEQsbUJBQXdDO1FBRHhDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUM1RCxDQUFDOzs7OztJQUVELElBQUksQ0FBQyxFQUNILEVBQUUsRUFDRixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLEVBQ0osSUFBSSxFQUNKLE9BQU8sRUFDUCxRQUFRLEVBQ1Isd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixPQUFPLEVBQ1AsVUFBVSxHQUFHLFVBQVUsRUFDdkIsWUFBWSxHQUFHLElBQUksRUFDbkIsU0FBUyxHQUFHLElBQUksRUFDaEIsU0FBUyxHQUFHLFFBQVEsRUFDcEIsT0FBTyxFQUNQLE9BQU8sRUFDUCxjQUFjLEVBQ0M7O2NBQ1QsNkJBQTZCLEdBQUcsd0JBQXdCLElBQUksSUFBSSxDQUFDLHdCQUF3Qjs7Y0FFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQ3ZELDZCQUE2QixDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxFQUNyRSxRQUFRLENBQ1Q7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUN4QixFQUFFO1lBQ0YsS0FBSztZQUNMLFdBQVc7WUFDWCxZQUFZOztZQUVaLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtZQUM1RSxTQUFTO1lBQ1QsU0FBUztZQUNULE9BQU87WUFDUCxPQUFPO1lBQ1AsY0FBYztTQUNmLENBQUMsQ0FBQzs7Y0FFRyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQjthQUM1RSxlQUFlLENBQUMsNkJBQTZCLENBQUMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQy9HLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztRQUUxRixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQjtpQkFDM0UsZUFBZSxDQUFDLDZCQUE2QixDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkYsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTzs7O1FBQUcsR0FBRyxFQUFFO1lBQ3hDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFBLENBQUM7UUFFRixRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVE7OztRQUFHLEdBQUcsRUFBRTtZQUNoQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsVUFBVTs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLENBQUEsQ0FBQztRQUVGLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFekIsT0FBTztZQUNMLGFBQWEsRUFBRSxRQUFRLENBQUMsUUFBUTtZQUNoQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUN4RSxDQUFDO0lBQ0osQ0FBQzs7O1lBbEZGLFVBQVU7Ozs7WUFUVCx3QkFBd0I7WUFJbEIsbUJBQW1COzs7O0lBT3pCLG1DQUE4Qjs7Ozs7SUFFbEIsaURBQTBEOzs7OztJQUMxRCw0Q0FBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEluamVjdGFibGUsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge092ZXJsYXlDb250YWluZXJSZWZ9IGZyb20gJ25nLWRldnVpL292ZXJsYXktY29udGFpbmVyJztcclxuaW1wb3J0IHthc3NpZ24sIGlzVW5kZWZpbmVkfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQge0lEaWFsb2dPcHRpb25zfSBmcm9tICcuL21vZGFsLnR5cGVzJztcclxuaW1wb3J0IHtNb2RhbENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9tb2RhbC1jb250YWluZXIuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG4gIGNvbnRlbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lclJlZjogT3ZlcmxheUNvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgb3Blbih7XHJcbiAgICBpZCxcclxuICAgIHdpZHRoLFxyXG4gICAgYmFja2Ryb3BDbG9zZWFibGUsXHJcbiAgICBtYXhIZWlnaHQsXHJcbiAgICBzaG93QW5pbWF0ZSxcclxuICAgIHRpdGxlLFxyXG4gICAgY29udGVudCxcclxuICAgIGh0bWwsXHJcbiAgICBkYXRhLFxyXG4gICAgYnV0dG9ucyxcclxuICAgIGluamVjdG9yLFxyXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgYmVmb3JlSGlkZGVuLFxyXG4gICAgb25DbG9zZSxcclxuICAgIGRpYWxvZ3R5cGUgPSAnc3RhbmRhcmQnLFxyXG4gICAgc2hvd0Nsb3NlQnRuID0gdHJ1ZSxcclxuICAgIGRyYWdnYWJsZSA9IHRydWUsXHJcbiAgICBwbGFjZW1lbnQgPSAnY2VudGVyJyxcclxuICAgIG9mZnNldFgsXHJcbiAgICBvZmZzZXRZLFxyXG4gICAgYm9keVNjcm9sbGFibGVcclxuICB9OiBJRGlhbG9nT3B0aW9ucykge1xyXG4gICAgY29uc3QgZmluYWxDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XHJcblxyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNb2RhbENvbXBvbmVudCksXHJcbiAgICAgIGluamVjdG9yXHJcbiAgICApO1xyXG4gICAgYXNzaWduKG1vZGFsUmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGlkLFxyXG4gICAgICB3aWR0aCxcclxuICAgICAgc2hvd0FuaW1hdGUsXHJcbiAgICAgIGJlZm9yZUhpZGRlbixcclxuICAgICAgLy8gc2V0IGJhY2tkcm9wQ2xvc2VhYmxlIGRlZmF1bHQgdmFsdWUgXCJ0cnVlXCIgd2hlbiBub3QgcGFzc2luZyBpdFxyXG4gICAgICBiYWNrZHJvcENsb3NlYWJsZTogaXNVbmRlZmluZWQoYmFja2Ryb3BDbG9zZWFibGUpID8gdHJ1ZSA6IGJhY2tkcm9wQ2xvc2VhYmxlLFxyXG4gICAgICBkcmFnZ2FibGUsXHJcbiAgICAgIHBsYWNlbWVudCxcclxuICAgICAgb2Zmc2V0WCxcclxuICAgICAgb2Zmc2V0WSxcclxuICAgICAgYm9keVNjcm9sbGFibGVcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG1vZGFsQ29udGFpbmVyUmVmID0gbW9kYWxSZWYuaW5zdGFuY2UubW9kYWxDb250YWluZXJIb3N0LnZpZXdDb250YWluZXJSZWZcclxuICAgICAgLmNyZWF0ZUNvbXBvbmVudChmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNb2RhbENvbnRhaW5lckNvbXBvbmVudCksIDAsIGluamVjdG9yKTtcclxuICAgIGFzc2lnbihtb2RhbENvbnRhaW5lclJlZi5pbnN0YW5jZSwge3RpdGxlLCBidXR0b25zLCBtYXhIZWlnaHQsIGRpYWxvZ3R5cGUsIHNob3dDbG9zZUJ0bn0pO1xyXG5cclxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgYXNzaWduKG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLCB7Y29udGVudCwgaHRtbH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb250ZW50UmVmID0gbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UubW9kYWxDb250ZW50SG9zdC52aWV3Q29udGFpbmVyUmVmXHJcbiAgICAgICAgLmNyZWF0ZUNvbXBvbmVudChmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb250ZW50KSk7XHJcbiAgICAgIGFzc2lnbih0aGlzLmNvbnRlbnRSZWYuaW5zdGFuY2UsIHtkYXRhfSwgZGlhbG9ndHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2Uub25DbG9zZSA9ICgpID0+IHtcclxuICAgICAgbW9kYWxSZWYuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5vbkhpZGRlbiA9ICgpID0+IHtcclxuICAgICAgaWYgKG9uQ2xvc2UpIHtcclxuICAgICAgICBvbkNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgbW9kYWxSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2Uuc2hvdygpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1vZGFsSW5zdGFuY2U6IG1vZGFsUmVmLmluc3RhbmNlLFxyXG4gICAgICBtb2RhbENvbnRlbnRJbnN0YW5jZTogdGhpcy5jb250ZW50UmVmID8gdGhpcy5jb250ZW50UmVmLmluc3RhbmNlIDogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==