UNPKG

@uex/web-extensions

Version:

Uex extensions for Angular 6+ web projects

163 lines 13.2 kB
/** * @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==