@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
JavaScript
/**
* @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==