@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
135 lines (134 loc) • 12.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Subject } from 'rxjs';
import { Component, ViewContainerRef, ViewChild, HostBinding } from '@angular/core';
import * as nh from '../../../native-helper';
var AsiDialogContainer = /** @class */ (function () {
function AsiDialogContainer(viewContainerRef) {
this.viewContainerRef = viewContainerRef;
this.class = 'asi-component asi-dialog-container';
this.dialogs = [];
this.subjectContainer = new Subject();
}
/**
* @return {?}
*/
AsiDialogContainer.prototype.onContainerEmpty = /**
* @return {?}
*/
function () {
return this.subjectContainer.asObservable();
};
/**
* @param {?} dialogRef
* @return {?}
*/
AsiDialogContainer.prototype.addDialog = /**
* @param {?} dialogRef
* @return {?}
*/
function (dialogRef) {
var _this = this;
this.dialogs.push(dialogRef);
dialogRef.instance['_dialogDestroy'].subscribe(function () {
_this.removeDialog(dialogRef);
});
setTimeout(function () {
if (_this.visibleDialog && !dialogRef.instance.getConfig().over) {
_this.visibleDialog.location.nativeElement.style.display = 'none';
}
_this.visibleDialog = dialogRef;
_this.visibleDialog.location.nativeElement.style.display = 'flex';
if (dialogRef.instance.getConfig().over) {
/** @type {?} */
var stillOpen = _this.dialogs.find(function (dialog) {
return dialog.instance === dialogRef.instance;
}) != null;
if (stillOpen) {
_this.shadow.nativeElement.style.zIndex = 2;
_this.visibleDialog.location.nativeElement.style.position = 'absolute';
_this.visibleDialog.location.nativeElement.style.zIndex = 3;
}
}
}, 200);
};
/**
* @param {?} dialogRef
* @return {?}
*/
AsiDialogContainer.prototype.removeDialog = /**
* @param {?} dialogRef
* @return {?}
*/
function (dialogRef) {
var _this = this;
nh.remove(this.dialogs, function (dialog) {
return dialog.instance === dialogRef.instance;
});
if (dialogRef.instance.getConfig().over) {
this.shadow.nativeElement.style.zIndex = 1;
}
dialogRef.destroy();
if (this.dialogs.length === 0) {
this.shadow.nativeElement.style.opacity = '0';
setTimeout(function () {
if (_this.dialogs.length === 0) {
_this.subjectContainer.next(_this);
_this.subjectContainer.complete();
}
else {
_this.shadow.nativeElement.style.opacity = '0.5';
}
}, 200);
}
else {
this.visibleDialog = this.dialogs[this.dialogs.length - 1];
this.visibleDialog.location.nativeElement.style.display = 'flex';
}
};
/**
* @return {?}
*/
AsiDialogContainer.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
var _this = this;
setTimeout(function () {
_this.shadow.nativeElement.style.opacity = '0.5';
}, 50);
};
AsiDialogContainer.decorators = [
{ type: Component, args: [{
selector: 'asi-dialog-container',
template: "<div class=\"dialog-container\">\r\n <div #shadow class=\"dialog-backdrop\"></div>\r\n</div>"
}] }
];
/** @nocollapse */
AsiDialogContainer.ctorParameters = function () { return [
{ type: ViewContainerRef }
]; };
AsiDialogContainer.propDecorators = {
class: [{ type: HostBinding, args: ['class',] }],
shadow: [{ type: ViewChild, args: ['shadow',] }]
};
return AsiDialogContainer;
}());
export { AsiDialogContainer };
if (false) {
/** @type {?} */
AsiDialogContainer.prototype.class;
/** @type {?} */
AsiDialogContainer.prototype.dialogs;
/** @type {?} */
AsiDialogContainer.prototype.visibleDialog;
/** @type {?} */
AsiDialogContainer.prototype.shadow;
/** @type {?} */
AsiDialogContainer.prototype.subjectContainer;
/** @type {?} */
AsiDialogContainer.prototype.viewContainerRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWRpYWxvZy1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFzaS1uZ3Rvb2xzL2xpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FzaS1kaWFsb2cvY29udGFpbmVyL2FzaS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFrQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0lBaUIzQyw0QkFBbUIsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7cUJBVHZCLG9DQUFvQzt1QkFFbkIsRUFBRTtnQ0FLTyxJQUFJLE9BQU8sRUFBRTtLQUdwRTs7OztJQUVELDZDQUFnQjs7O0lBQWhCO1FBQ0UsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQUM3Qzs7Ozs7SUFFRCxzQ0FBUzs7OztJQUFULFVBQVUsU0FBdUM7UUFBakQsaUJBNEJDO1FBM0JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdCLFNBQVMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0MsS0FBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5QixDQUFDLENBQUM7UUFFSCxVQUFVLENBQUM7WUFDVCxFQUFFLENBQUMsQ0FBQyxLQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxLQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEs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QUFDO1NBQ2pELEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDUjs7Z0JBbEZGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyx5R0FBa0Q7aUJBQ25EOzs7O2dCQVBtQixnQkFBZ0I7Ozt3QkFVakMsV0FBVyxTQUFDLE9BQU87eUJBS25CLFNBQVMsU0FBQyxRQUFROzs2QkFqQnJCOztTQVVhLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzaURpYWxvZyB9IGZyb20gJy4vLi4vZGlhbG9nL2FzaS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiwgQWZ0ZXJDb250ZW50SW5pdCwgVmlld0NoaWxkLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0ICogYXMgbmggZnJvbSAnLi4vLi4vLi4vbmF0aXZlLWhlbHBlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FzaS1kaWFsb2ctY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJ2FzaS1kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFzaURpYWxvZ0NvbnRhaW5lciBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnYXNpLWNvbXBvbmVudCBhc2ktZGlhbG9nLWNvbnRhaW5lcic7XHJcblxyXG4gIGRpYWxvZ3M6IEFycmF5PENvbXBvbmVudFJlZjxBc2lEaWFsb2c8YW55Pj4+ID0gW107XHJcbiAgdmlzaWJsZURpYWxvZzogQ29tcG9uZW50UmVmPEFzaURpYWxvZzxhbnk+PjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2hhZG93Jykgc2hhZG93OiBhbnk7XHJcblxyXG4gIHByaXZhdGUgc3ViamVjdENvbnRhaW5lcjogU3ViamVjdDxBc2lEaWFsb2dDb250YWluZXI+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICB9XHJcblxyXG4gIG9uQ29udGFpbmVyRW1wdHkoKTogT2JzZXJ2YWJsZTxBc2lEaWFsb2dDb250YWluZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnN1YmplY3RDb250YWluZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBhZGREaWFsb2coZGlhbG9nUmVmOiBDb21wb25lbnRSZWY8QXNpRGlhbG9nPGFueT4+KSB7XHJcbiAgICB0aGlzLmRpYWxvZ3MucHVzaChkaWFsb2dSZWYpO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5pbnN0YW5jZVsnX2RpYWxvZ0Rlc3Ryb3knXS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbW92ZURpYWxvZyhkaWFsb2dSZWYpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnZpc2libGVEaWFsb2cgJiYgIWRpYWxvZ1JlZi5pbnN0YW5jZS5nZXRDb25maWcoKS5vdmVyKSB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlRGlhbG9nLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnZpc2libGVEaWFsb2cgPSBkaWFsb2dSZWY7XHJcbiAgICAgIHRoaXMudmlzaWJsZURpYWxvZy5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XHJcblxyXG5cclxuICAgICAgaWYgKGRpYWxvZ1JlZi5pbnN0YW5jZS5nZXRDb25maWcoKS5vdmVyKSB7XHJcbiAgICAgICAgLy8gaWYgdGhlIGRpYWxvZyBpcyBzdGlsbCBvcGVuXHJcbiAgICAgICAgY29uc3Qgc3RpbGxPcGVuID0gdGhpcy5kaWFsb2dzLmZpbmQoKGRpYWxvZykgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGRpYWxvZy5pbnN0YW5jZSA9PT0gZGlhbG9nUmVmLmluc3RhbmNlO1xyXG4gICAgICAgIH0pICE9IG51bGw7XHJcbiAgICAgICAgaWYgKHN0aWxsT3Blbikge1xyXG4gICAgICAgICAgdGhpcy5zaGFkb3cubmF0aXZlRWxlbWVudC5zdHlsZS56SW5kZXggPSAyO1xyXG4gICAgICAgICAgdGhpcy52aXNpYmxlRGlhbG9nLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xyXG4gICAgICAgICAgdGhpcy52aXNpYmxlRGlhbG9nLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuekluZGV4ID0gMztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIDIwMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRGlhbG9nKGRpYWxvZ1JlZjogQ29tcG9uZW50UmVmPEFzaURpYWxvZzxhbnk+Pikge1xyXG4gICAgbmgucmVtb3ZlKHRoaXMuZGlhbG9ncywgKGRpYWxvZykgPT4ge1xyXG4gICAgICByZXR1cm4gZGlhbG9nLmluc3RhbmNlID09PSBkaWFsb2dSZWYuaW5zdGFuY2U7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoZGlhbG9nUmVmLmluc3RhbmNlLmdldENvbmZpZygpLm92ZXIpIHtcclxuICAgICAgdGhpcy5zaGFkb3cubmF0aXZlRWxlbWVudC5zdHlsZS56SW5kZXggPSAxO1xyXG4gICAgfVxyXG4gICAgZGlhbG9nUmVmLmRlc3Ryb3koKTtcclxuXHJcbiAgICBpZiAodGhpcy5kaWFsb2dzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnNoYWRvdy5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMCc7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ3MubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLnN1YmplY3RDb250YWluZXIubmV4dCh0aGlzKTtcclxuICAgICAgICAgIHRoaXMuc3ViamVjdENvbnRhaW5lci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNoYWRvdy5uYXRpdmVFbGVtZW50LnN0eWxlLm9wYWNpdHkgPSAnMC41JztcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDIwMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZpc2libGVEaWFsb2cgPSB0aGlzLmRpYWxvZ3NbdGhpcy5kaWFsb2dzLmxlbmd0aCAtIDFdO1xyXG4gICAgICB0aGlzLnZpc2libGVEaWFsb2cubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2hhZG93Lm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9ICcwLjUnO1xyXG4gICAgfSwgNTApO1xyXG4gIH1cclxufVxyXG4iXX0=