UNPKG

@asi-ngtools/lib

Version:

This project is a little components library, simple to use, which will help you to simplify your project.

125 lines (124 loc) 8.21 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Subject } from 'rxjs'; import { AsiDialogConfig } from './../asi-dialog-config'; import { Component, ViewContainerRef, HostBinding, HostListener, ElementRef } from '@angular/core'; /** * @template T */ export class AsiDialog { /** * @param {?} viewContainerRef * @param {?} elementRef */ constructor(viewContainerRef, elementRef) { this.viewContainerRef = viewContainerRef; this.elementRef = elementRef; this.class = 'asi-component asi-dialog'; this._dialogDestroy = new Subject(); this.dialogClose = new Subject(); this.dialogCancel = new Subject(); } /** * @return {?} */ getComponent() { return this._component; } /** * @param {?} config * @return {?} */ setConfig(config) { this._config = config || new AsiDialogConfig(); if (this._config.class) { this.class += ' ' + this._config.class; } } /** * @return {?} */ getConfig() { return this._config; } /** * @param {?=} param * @return {?} */ close(param) { this.dialogClose.next(param); this.dialogClose.complete(); // notify the container this._dialogDestroy.next(); this._dialogDestroy.complete(); } /** * @param {?=} param * @return {?} */ cancel(param) { this.dialogCancel.next(param); this.dialogCancel.complete(); this._dialogDestroy.next(); this._dialogDestroy.complete(); } /** * @param {?} event * @return {?} */ documentClick(event) { if (this._config.outsideDrop) { if (!this.elementRef.nativeElement.contains(event.target)) { this.close(); } } } /** * @return {?} */ onDialogCancel() { return this.dialogCancel.asObservable(); } /** * @return {?} */ onDialogClose() { return this.dialogClose.asObservable(); } } AsiDialog.decorators = [ { type: Component, args: [{ selector: 'asi-dialog', template: "<div class=\"dialog-panel\">\r\n</div>" }] } ]; /** @nocollapse */ AsiDialog.ctorParameters = () => [ { type: ViewContainerRef }, { type: ElementRef } ]; AsiDialog.propDecorators = { class: [{ type: HostBinding, args: ['class',] }], documentClick: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }] }; if (false) { /** @type {?} */ AsiDialog.prototype.class; /** @type {?} */ AsiDialog.prototype._component; /** @type {?} */ AsiDialog.prototype._config; /** @type {?} */ AsiDialog.prototype._dialogDestroy; /** @type {?} */ AsiDialog.prototype.dialogClose; /** @type {?} */ AsiDialog.prototype.dialogCancel; /** @type {?} */ AsiDialog.prototype.viewContainerRef; /** @type {?} */ AsiDialog.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYXNpLW5ndG9vbHMvbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYXNpLWRpYWxvZy9kaWFsb2cvYXNpLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNbkcsTUFBTTs7Ozs7SUFVSixZQUFtQixnQkFBa0MsRUFBVSxVQUFzQjtRQUFsRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtxQkFSdkQsMEJBQTBCOzhCQUlqQixJQUFJLE9BQU8sRUFBRTsyQkFDaEIsSUFBSSxPQUFPLEVBQUU7NEJBQ1osSUFBSSxPQUFPLEVBQUU7S0FHakQ7Ozs7SUFFRCxZQUFZO1FBQ1YsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDeEI7Ozs7O0lBRUQsU0FBUyxDQUFDLE1BQXVCO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLElBQUksZUFBZSxFQUFFLENBQUM7UUFDL0MsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxLQUFLLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ3hDO0tBQ0Y7Ozs7SUFFRCxTQUFTO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7S0FDckI7Ozs7O0lBRUQsS0FBSyxDQUFDLEtBQVc7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDOztRQUc1QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDaEM7Ozs7O0lBRUQsTUFBTSxDQUFDLEtBQVc7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDaEM7Ozs7O0lBR0QsYUFBYSxDQUFDLEtBQWlCO1FBQzdCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUM3QixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDZDtTQUNGO0tBQ0Y7Ozs7SUFFRCxjQUFjO1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDekM7Ozs7SUFFRCxhQUFhO1FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDeEM7OztZQWhFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGtEQUF3QzthQUN6Qzs7OztZQUxtQixnQkFBZ0I7WUFBNkIsVUFBVTs7O29CQVF4RSxXQUFXLFNBQUMsT0FBTzs0QkEyQ25CLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXNpRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi8uLi9hc2ktZGlhbG9nLWNvbmZpZyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NvbnRhaW5lclJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhc2ktZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJ2FzaS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc2lEaWFsb2c8VD4ge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnYXNpLWNvbXBvbmVudCBhc2ktZGlhbG9nJztcclxuXHJcbiAgcHJpdmF0ZSBfY29tcG9uZW50OiBUO1xyXG4gIHByaXZhdGUgX2NvbmZpZzogQXNpRGlhbG9nQ29uZmlnO1xyXG4gIHByaXZhdGUgX2RpYWxvZ0Rlc3Ryb3k6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSBkaWFsb2dDbG9zZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwcml2YXRlIGRpYWxvZ0NhbmNlbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29tcG9uZW50KCk6IFQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIHNldENvbmZpZyhjb25maWc6IEFzaURpYWxvZ0NvbmZpZykge1xyXG4gICAgdGhpcy5fY29uZmlnID0gY29uZmlnIHx8IG5ldyBBc2lEaWFsb2dDb25maWcoKTtcclxuICAgIGlmICh0aGlzLl9jb25maWcuY2xhc3MpIHtcclxuICAgICAgdGhpcy5jbGFzcyArPSAnICcgKyB0aGlzLl9jb25maWcuY2xhc3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb25maWcoKTogQXNpRGlhbG9nQ29uZmlnIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWc7XHJcbiAgfVxyXG5cclxuICBjbG9zZShwYXJhbT86IGFueSkge1xyXG4gICAgdGhpcy5kaWFsb2dDbG9zZS5uZXh0KHBhcmFtKTtcclxuICAgIHRoaXMuZGlhbG9nQ2xvc2UuY29tcGxldGUoKTtcclxuXHJcbiAgICAvLyBub3RpZnkgdGhlIGNvbnRhaW5lclxyXG4gICAgdGhpcy5fZGlhbG9nRGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kaWFsb2dEZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwocGFyYW0/OiBhbnkpIHtcclxuICAgIHRoaXMuZGlhbG9nQ2FuY2VsLm5leHQocGFyYW0pO1xyXG4gICAgdGhpcy5kaWFsb2dDYW5jZWwuY29tcGxldGUoKTtcclxuXHJcbiAgICB0aGlzLl9kaWFsb2dEZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2RpYWxvZ0Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNldXAnLCBbJyRldmVudCddKVxyXG4gIGRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLl9jb25maWcub3V0c2lkZURyb3ApIHtcclxuICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRpYWxvZ0NhbmNlbCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nQ2FuY2VsLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgb25EaWFsb2dDbG9zZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nQ2xvc2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==