UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

140 lines (139 loc) 10.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Component, Input, ElementRef } from '@angular/core'; import { DialogModel } from '.././model/DialogModel'; import { ButtonModel } from '.././model/ComponentDialogModel'; import { PhloxAppInfoService } from '../../service/PhloxAppInfoService.service'; import { AbstractDialogController } from '../AbstractDialogController'; const /** @type {?} */ TYPE_NAME = "phx-message-dialog"; /** * <p style="text-indent: 2em;"> * A <code>child-view</code> component class of [[PhloxDialog]] handling logic of <code>message dialog</code>. This class should be * <b>internally used by the framework</b>. If you just want to show a <code>message dialog</code>. Please see [[DialogService.showMessageDialog]] * for more info. * </p> * * @author shiorin, tee4cute * @see [[PhloxDialog]] * @see [[DialogService]] */ export class MessageDialog extends AbstractDialogController { /** * @param {?} elementRef * @param {?} phloxAppService */ constructor(elementRef, phloxAppService) { super(elementRef); if (phloxAppService != null) { phloxAppService.getAppInfo().then((result) => { this.phloxAppInfo = result; }); } } /** * @return {?} */ ngOnInit() { let /** @type {?} */ confirmHandler = () => { if (this.dialog !== null && typeof this.dialog !== 'undefined') { this.dialog.hideDialog(); } }; this.dialogButtons = [new ButtonModel(this.getI18NMessage('OK'), null, confirmHandler, ['dialog-btn'])]; } /** * @param {?} key * @return {?} */ getI18NMessage(key) { if (this.phloxAppInfo != null && this.phloxAppInfo.i18n != null) { if (this.phloxAppInfo.i18n[key] !== null && typeof this.phloxAppInfo.i18n[key] !== 'undefined') { return this.phloxAppInfo.i18n[key]; } } return key; } /** * @return {?} */ showDialog() { this.show = true; } /** * @return {?} */ hideDialog() { this.show = false; } /** * @return {?} */ isShow() { return this.show; } /** * @return {?} */ getModel() { return this.model; } /** * @param {?} model * @return {?} */ setModel(model) { this.model = model; } } MessageDialog.TYPE_NAME = TYPE_NAME; MessageDialog.decorators = [ { type: Component, args: [{ moduleId: module.id, selector: TYPE_NAME, template: `<div class="phx-message-dialog" [class.show]="isShow()"> <div class="dialog-header"><div>{{getModel() != null ? getModel().title : ''}}</div></div> <div class="dialog-body"><div>{{getModel() != null ? getModel().body : ''}}</div></div> <div class="dialog-footer"> <div> <ng-template [ngIf]="getModel() != null"> <div *ngFor="let item of getDialogButtons(); let j = index" [ngClass]="item.styleClass" (click)="item.handler()">{{item.label}}</div> </ng-template> </div> </div> </div> ` },] }, ]; /** @nocollapse */ MessageDialog.ctorParameters = () => [ { type: ElementRef, }, { type: PhloxAppInfoService, }, ]; MessageDialog.propDecorators = { "model": [{ type: Input },], "dialog": [{ type: Input },], }; function MessageDialog_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ MessageDialog.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ MessageDialog.ctorParameters; /** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */ MessageDialog.propDecorators; /** @type {?} */ MessageDialog.TYPE_NAME; /** @type {?} */ MessageDialog.prototype.model; /** @type {?} */ MessageDialog.prototype.dialog; /** @type {?} */ MessageDialog.prototype.show; /** @type {?} */ MessageDialog.prototype.phloxAppInfo; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZURpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jb20ucGhsb3h1aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnQvZGlhbG9nLmludGVybmFsL01lc3NhZ2VEaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0IsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQXdCLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXZFLHVCQUFNLFNBQVMsR0FBVyxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7O0FBNkIvQyxNQUFNLG9CQUFxQixTQUFRLHdCQUF3Qjs7Ozs7SUFXekQsWUFBWSxVQUFzQixFQUFFLGVBQW9DO1FBQ3RFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsQixFQUFFLENBQUMsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM1QixlQUFlLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO2FBQzVCLENBQUMsQ0FBQztTQUNKO0tBQ0Y7Ozs7SUFFTSxRQUFRO1FBQ2IscUJBQUksY0FBYyxHQUFhLEdBQUcsRUFBRTtZQUNsQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUMxQjtTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7Ozs7SUFHbEcsY0FBYyxDQUFDLEdBQVc7UUFDaEMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNoRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUMvRixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDcEM7U0FDRjtRQUNELE1BQU0sQ0FBQyxHQUFHLENBQUM7Ozs7O0lBR04sVUFBVTtRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDOzs7OztJQUdaLFVBQVU7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQzs7Ozs7SUFHYixNQUFNO1FBQ1gsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Ozs7O0lBR1osUUFBUTtRQUNiLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDOzs7Ozs7SUFHYixRQUFRLENBQUMsS0FBVTtRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzs7OzBCQXREc0IsU0FBUzs7WUFsQnJELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0NBV1g7YUFDQTs7OztZQXBDZ0QsVUFBVTtZQUlsRCxtQkFBbUI7OztzQkFxQ3pCLEtBQUs7dUJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dNb2RlbCB9IGZyb20gJy4uLy4vbW9kZWwvRGlhbG9nTW9kZWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50RGlhbG9nTW9kZWwsIEJ1dHRvbk1vZGVsIH0gZnJvbSAnLi4vLi9tb2RlbC9Db21wb25lbnREaWFsb2dNb2RlbCc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm8gfSBmcm9tICcuLi8uLi9jb21wb25lbnQvbW9kZWwvUGhsb3hBcHBJbmZvJztcbmltcG9ydCB7IFBobG94QXBwSW5mb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL1BobG94QXBwSW5mb1NlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBJRGlhbG9nIH0gZnJvbSAnLi9JRGlhbG9nJztcbmltcG9ydCB7IEFic3RyYWN0RGlhbG9nQ29udHJvbGxlciB9IGZyb20gJy4uL0Fic3RyYWN0RGlhbG9nQ29udHJvbGxlcic7XG5cbmNvbnN0IFRZUEVfTkFNRTogc3RyaW5nID0gXCJwaHgtbWVzc2FnZS1kaWFsb2dcIjtcblxuLyoqXG4gKiA8cCBzdHlsZT1cInRleHQtaW5kZW50OiAyZW07XCI+XG4gKiBBIDxjb2RlPmNoaWxkLXZpZXc8L2NvZGU+IGNvbXBvbmVudCBjbGFzcyBvZiBbW1BobG94RGlhbG9nXV0gaGFuZGxpbmcgbG9naWMgb2YgPGNvZGU+bWVzc2FnZSBkaWFsb2c8L2NvZGU+LiBUaGlzIGNsYXNzIHNob3VsZCBiZVxuICogPGI+aW50ZXJuYWxseSB1c2VkIGJ5IHRoZSBmcmFtZXdvcms8L2I+LiBJZiB5b3UganVzdCB3YW50IHRvIHNob3cgYSA8Y29kZT5tZXNzYWdlIGRpYWxvZzwvY29kZT4uIFBsZWFzZSBzZWUgW1tEaWFsb2dTZXJ2aWNlLnNob3dNZXNzYWdlRGlhbG9nXV1cbiAqIGZvciBtb3JlIGluZm8uXG4gKiA8L3A+XG4gKlxuICogQGF1dGhvciBzaGlvcmluLCB0ZWU0Y3V0ZVxuICogQHNlZSBbW1BobG94RGlhbG9nXV1cbiAqIEBzZWUgW1tEaWFsb2dTZXJ2aWNlXV1cbiAqL1xuQENvbXBvbmVudCh7XG4gIG1vZHVsZUlkOiBtb2R1bGUuaWQsXG4gIHNlbGVjdG9yOiBUWVBFX05BTUUsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cInBoeC1tZXNzYWdlLWRpYWxvZ1wiIFtjbGFzcy5zaG93XT1cImlzU2hvdygpXCI+XG4gIDxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+PGRpdj57e2dldE1vZGVsKCkgIT0gbnVsbCA/IGdldE1vZGVsKCkudGl0bGUgOiAnJ319PC9kaXY+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkaWFsb2ctYm9keVwiPjxkaXY+e3tnZXRNb2RlbCgpICE9IG51bGwgPyBnZXRNb2RlbCgpLmJvZHkgOiAnJ319PC9kaXY+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkaWFsb2ctZm9vdGVyXCI+XG5cdCAgPGRpdj5cblx0ICBcdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJnZXRNb2RlbCgpICE9IG51bGxcIj5cblx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0RGlhbG9nQnV0dG9ucygpOyBsZXQgaiA9IGluZGV4XCIgW25nQ2xhc3NdPVwiaXRlbS5zdHlsZUNsYXNzXCIgKGNsaWNrKT1cIml0ZW0uaGFuZGxlcigpXCI+e3tpdGVtLmxhYmVsfX08L2Rpdj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHQgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuYFxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlRGlhbG9nIGV4dGVuZHMgQWJzdHJhY3REaWFsb2dDb250cm9sbGVyIGltcGxlbWVudHMgSURpYWxvZywgT25Jbml0IHtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRZUEVfTkFNRTogc3RyaW5nID0gVFlQRV9OQU1FO1xuXG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgbW9kZWw6IERpYWxvZ01vZGVsO1xuICBASW5wdXQoKVxuICBwcml2YXRlIGRpYWxvZzogYW55O1xuICBwcml2YXRlIHNob3c6IGJvb2xlYW47XG4gIHByaXZhdGUgcGhsb3hBcHBJbmZvOiBQaGxveEFwcEluZm87XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcGhsb3hBcHBTZXJ2aWNlOiBQaGxveEFwcEluZm9TZXJ2aWNlKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZik7XG5cbiAgICBpZiAocGhsb3hBcHBTZXJ2aWNlICE9IG51bGwpIHtcbiAgICAgIHBobG94QXBwU2VydmljZS5nZXRBcHBJbmZvKCkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMucGhsb3hBcHBJbmZvID0gcmVzdWx0O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGxldCBjb25maXJtSGFuZGxlcjogRnVuY3Rpb24gPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5kaWFsb2cgIT09IG51bGwgJiYgdHlwZW9mIHRoaXMuZGlhbG9nICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB0aGlzLmRpYWxvZy5oaWRlRGlhbG9nKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmRpYWxvZ0J1dHRvbnMgPSBbbmV3IEJ1dHRvbk1vZGVsKHRoaXMuZ2V0STE4Tk1lc3NhZ2UoJ09LJyksIG51bGwsIGNvbmZpcm1IYW5kbGVyLCBbJ2RpYWxvZy1idG4nXSldO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJMThOTWVzc2FnZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucGhsb3hBcHBJbmZvICE9IG51bGwgJiYgdGhpcy5waGxveEFwcEluZm8uaTE4biAhPSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5waGxveEFwcEluZm8uaTE4bltrZXldICE9PSBudWxsICYmIHR5cGVvZiB0aGlzLnBobG94QXBwSW5mby5pMThuW2tleV0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBobG94QXBwSW5mby5pMThuW2tleV07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBrZXk7XG4gIH1cblxuICBwdWJsaWMgc2hvd0RpYWxvZygpOiB2b2lkIHtcbiAgICB0aGlzLnNob3cgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIGhpZGVEaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgaXNTaG93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNob3c7XG4gIH1cblxuICBwdWJsaWMgZ2V0TW9kZWwoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNb2RlbChtb2RlbDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICB9XG5cbn1cbiJdfQ==