@uex/web-extensions
Version:
Uex extensions for Angular 6+ web projects
163 lines • 13.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/modules/dialog/dialog.base.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, EventEmitter } from "@angular/core";
import * as _ from "lodash";
import { Dialog } from "./dialog.base";
/**
* @ignore
*/
export class DialogBaseService {
/**
* @ignore
*/
constructor() {
this.dialogs = [];
this.onShow = new EventEmitter();
this.onHide = new EventEmitter();
this._current_index = 0;
this._zindex = 10010;
this._content_zindex = 10020;
this._backdrop_zindex = 10000;
document.addEventListener("keydown", (/**
* @param {?} event
* @return {?}
*/
event => {
/** @type {?} */
const keyCode = event.which || event.keyCode;
if ([
13,
27 // Escape
].indexOf(keyCode) > -1) {
/** @type {?} */
const visible_dialogs = this.dialogs.filter((/**
* @param {?} dialog
* @return {?}
*/
dialog => dialog.visible));
if (visible_dialogs.length > 0) {
// const is_escape = keyCode == 27;
// const is_return = keyCode == 13;
/** @type {?} */
const last_visible_dialogs = _.last(visible_dialogs);
/** @type {?} */
let handler = null;
if (!last_visible_dialogs.settings.keyboard)
return;
switch (keyCode) {
case 13:
handler = last_visible_dialogs.settings.keyboard.onReturn;
break;
case 27:
handler = last_visible_dialogs.settings.keyboard.onEscape;
break;
}
if (_.isFunction(handler)) {
handler();
}
else {
switch (handler) {
case "close":
event.preventDefault();
last_visible_dialogs.close();
break;
case "dismiss":
event.preventDefault();
last_visible_dialogs.dismiss();
break;
default:
return;
}
}
}
}
}), true);
}
/**
* @return {?}
*/
get visibleDialogs() {
return this.dialogs.filter((/**
* @param {?} dialog
* @return {?}
*/
dialog => dialog.visible));
}
/**
* @param {?} component
* @param {?=} params
* @param {?=} settings
* @return {?}
*/
create(component, params, settings) {
if (!(params && _.isPlainObject(params)))
params = {};
/** @type {?} */
let data = {
component: component,
params: params,
settings: settings,
zindex: this._zindex,
content_zindex: this._content_zindex,
backdrop_zindex: this._backdrop_zindex
};
this._zindex += 100;
this._content_zindex += 100;
this._backdrop_zindex += 100;
/** @type {?} */
const dialog_instance = new Dialog(this, data, this._current_index);
this._current_index++;
return dialog_instance;
}
/**
* @param {?} component
* @param {?=} params
* @param {?=} settings
* @return {?}
*/
open(component, params, settings) {
if (!(params && _.isPlainObject(params)))
params = {};
/** @type {?} */
let instance = this.create(component, params, settings);
instance.open();
return instance;
}
}
DialogBaseService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
DialogBaseService.ctorParameters = () => [];
if (false) {
/** @type {?} */
DialogBaseService.prototype.dialogs;
/** @type {?} */
DialogBaseService.prototype.onShow;
/** @type {?} */
DialogBaseService.prototype.onHide;
/**
* @type {?}
* @private
*/
DialogBaseService.prototype._current_index;
/**
* @type {?}
* @private
*/
DialogBaseService.prototype._zindex;
/**
* @type {?}
* @private
*/
DialogBaseService.prototype._content_zindex;
/**
* @type {?}
* @private
*/
DialogBaseService.prototype._backdrop_zindex;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1ZXgvd2ViLWV4dGVuc2lvbnMvIiwic291cmNlcyI6WyJsaWIvbW9kdWxlcy9kaWFsb2cvZGlhbG9nLmJhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNdkMsTUFBTSxPQUFPLGlCQUFpQjs7OztJQUk1QjtRQWlETyxZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEQsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWpELG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBRTNCLFlBQU8sR0FBVyxLQUFLLENBQUM7UUFDeEIsb0JBQWUsR0FBVyxLQUFLLENBQUM7UUFDaEMscUJBQWdCLEdBQVcsS0FBSyxDQUFDO1FBekR2QyxRQUFRLENBQUMsZ0JBQWdCLENBQ3ZCLFNBQVM7Ozs7UUFDVCxLQUFLLENBQUMsRUFBRTs7a0JBQ0EsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU87WUFDNUMsSUFDRTtnQkFDRSxFQUFFO2dCQUNGLEVBQUUsQ0FBQyxTQUFTO2FBQ2IsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ3ZCOztzQkFDTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNOzs7O2dCQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBQztnQkFDckUsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs7OzswQkFHeEIsb0JBQW9CLEdBQUcs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ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2dTZXR0aW5ncyB9IGZyb20gXCIuL2RpYWxvZy5iYXNlXCI7XHJcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gXCIuL2RpYWxvZy5iYXNlXCI7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQmFzZVNlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXHJcbiAgICAgIFwia2V5ZG93blwiLFxyXG4gICAgICBldmVudCA9PiB7XHJcbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LndoaWNoIHx8IGV2ZW50LmtleUNvZGU7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgW1xyXG4gICAgICAgICAgICAxMywgLy8gUmV0dXJuXHJcbiAgICAgICAgICAgIDI3IC8vIEVzY2FwZVxyXG4gICAgICAgICAgXS5pbmRleE9mKGtleUNvZGUpID4gLTFcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGNvbnN0IHZpc2libGVfZGlhbG9ncyA9IHRoaXMuZGlhbG9ncy5maWx0ZXIoZGlhbG9nID0+IGRpYWxvZy52aXNpYmxlKTtcclxuICAgICAgICAgIGlmICh2aXNpYmxlX2RpYWxvZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyBjb25zdCBpc19lc2NhcGUgPSBrZXlDb2RlID09IDI3O1xyXG4gICAgICAgICAgICAvLyBjb25zdCBpc19yZXR1cm4gPSBrZXlDb2RlID09IDEzO1xyXG4gICAgICAgICAgICBjb25zdCBsYXN0X3Zpc2libGVfZGlhbG9ncyA9IF8ubGFzdCh2aXNpYmxlX2RpYWxvZ3MpO1xyXG4gICAgICAgICAgICBsZXQgaGFuZGxlciA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmICghbGFzdF92aXNpYmxlX2RpYWxvZ3Muc2V0dGluZ3Mua2V5Ym9hcmQpIHJldHVybjtcclxuICAgICAgICAgICAgc3dpdGNoIChrZXlDb2RlKSB7XHJcbiAgICAgICAgICAgICAgY2FzZSAxMzpcclxuICAgICAgICAgICAgICAgIGhhbmRsZXIgPSBsYXN0X3Zpc2libGVfZGlhbG9ncy5zZXR0aW5ncy5rZXlib2FyZC5vblJldHVybjtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgIGNhc2UgMjc6XHJcbiAgICAgICAgICAgICAgICBoYW5kbGVyID0gbGFzdF92aXNpYmxlX2RpYWxvZ3Muc2V0dGluZ3Mua2V5Ym9hcmQub25Fc2NhcGU7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoXy5pc0Z1bmN0aW9uKGhhbmRsZXIpKSB7XHJcbiAgICAgICAgICAgICAgaGFuZGxlcigpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHN3aXRjaCAoaGFuZGxlcikge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcImNsb3NlXCI6XHJcbiAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgIGxhc3RfdmlzaWJsZV9kaWFsb2dzLmNsb3NlKCk7XHJcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcImRpc21pc3NcIjpcclxuICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgbGFzdF92aXNpYmxlX2RpYWxvZ3MuZGlzbWlzcygpO1xyXG4gICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlhbG9nczogQXJyYXk8RGlhbG9nPiA9IFtdO1xyXG5cclxuICBwdWJsaWMgb25TaG93OiBFdmVudEVtaXR0ZXI8RGlhbG9nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwdWJsaWMgb25IaWRlOiBFdmVudEVtaXR0ZXI8RGlhbG9nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHJpdmF0ZSBfY3VycmVudF9pbmRleDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfemluZGV4OiBudW1iZXIgPSAxMDAxMDtcclxuICBwcml2YXRlIF9jb250ZW50X3ppbmRleDogbnVtYmVyID0gMTAwMjA7XHJcbiAgcHJpdmF0ZSBfYmFja2Ryb3BfemluZGV4OiBudW1iZXIgPSAxMDAwMDtcclxuXHJcbiAgcHVibGljIGdldCB2aXNpYmxlRGlhbG9ncygpOiBBcnJheTxEaWFsb2c+IHtcclxuICAgIHJldHVybiB0aGlzLmRpYWxvZ3MuZmlsdGVyKGRpYWxvZyA9PiBkaWFsb2cudmlzaWJsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlKFxyXG4gICAgY29tcG9uZW50OiBhbnksXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBzZXR0aW5ncz86IERpYWxvZ1NldHRpbmdzXHJcbiAgKTogRGlhbG9nIHtcclxuICAgIGlmICghKHBhcmFtcyAmJiBfLmlzUGxhaW5PYmplY3QocGFyYW1zKSkpIHBhcmFtcyA9IHt9O1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGNvbXBvbmVudDogY29tcG9uZW50LFxyXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgICAgc2V0dGluZ3M6IHNldHRpbmdzLFxyXG4gICAgICB6aW5kZXg6IHRoaXMuX3ppbmRleCxcclxuICAgICAgY29udGVudF96aW5kZXg6IHRoaXMuX2NvbnRlbnRfemluZGV4LFxyXG4gICAgICBiYWNrZHJvcF96aW5kZXg6IHRoaXMuX2JhY2tkcm9wX3ppbmRleFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLl96aW5kZXggKz0gMTAwO1xyXG4gICAgdGhpcy5fY29udGVudF96aW5kZXggKz0gMTAwO1xyXG4gICAgdGhpcy5fYmFja2Ryb3BfemluZGV4ICs9IDEwMDtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dfaW5zdGFuY2UgPSBuZXcgRGlhbG9nKHRoaXMsIGRhdGEsIHRoaXMuX2N1cnJlbnRfaW5kZXgpO1xyXG5cclxuICAgIHRoaXMuX2N1cnJlbnRfaW5kZXgrKztcclxuXHJcbiAgICByZXR1cm4gZGlhbG9nX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW4oY29tcG9uZW50OiBhbnksIHBhcmFtcz86IGFueSwgc2V0dGluZ3M/OiBEaWFsb2dTZXR0aW5ncyk6IERpYWxvZyB7XHJcbiAgICBpZiAoIShwYXJhbXMgJiYgXy5pc1BsYWluT2JqZWN0KHBhcmFtcykpKSBwYXJhbXMgPSB7fTtcclxuICAgIGxldCBpbnN0YW5jZSA9IHRoaXMuY3JlYXRlKGNvbXBvbmVudCwgcGFyYW1zLCBzZXR0aW5ncyk7XHJcbiAgICBpbnN0YW5jZS5vcGVuKCk7XHJcbiAgICByZXR1cm4gaW5zdGFuY2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==