UNPKG

@cause-911/devextreme

Version:

Run `npm install @cause-911/devextreme --save` to add this library to your project

190 lines 14.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, EventEmitter, Input, NgZone, Output } from '@angular/core'; import { TranslateService } from '@cause-911/core'; export class CausePopupEditComponent { /** * @param {?} zone * @param {?} translate */ constructor(zone, translate) { this.zone = zone; this.translate = translate; this.title = ''; this.visibleChange = new EventEmitter(); this.popupShown = new EventEmitter(); this.save = new EventEmitter(); this.barItems = { ['ok']: { widget: 'dxButton', location: 'after', visible: true, options: { text: '' }, toolbar: 'bottom', parent: this, onClick: CausePopupEditComponent.onSaveClick }, ['save']: { widget: 'dxButton', location: 'after', visible: true, options: { text: '' }, toolbar: 'bottom', parent: this, onClick: CausePopupEditComponent.onSaveClick }, ['cancel']: { widget: 'dxButton', location: 'after', visible: true, options: { text: '' }, toolbar: 'bottom', parent: this, onClick: CausePopupEditComponent.onCancelClick } }; this.botomToolbarItems = [this.barItems['save'], this.barItems['cancel']]; this.translationKeyParent = 'devextreme.popupedit'; this.translationKeys = ['buttonsave', 'buttonok', 'buttoncancel']; this.types = { savecancel: 'savecancel', okcancel: 'okcancel' }; } /** * @param {?} name * @return {?} */ set type(name) { switch (name) { case this.types.okcancel: this.botomToolbarItems = [this.barItems.ok, this.barItems.cancel]; break; default: this.botomToolbarItems = [this.barItems.save, this.barItems.cancel]; break; } } /** * @param {?} e * @return {?} */ static onSaveClick(e) { e.itemData.parent.save.emit(); } /** * @param {?} e * @return {?} */ static onCancelClick(e) { e.itemData.parent.visible = false; e.itemData.parent.onVisibleChange(); } /** * @return {?} */ ngOnInit() { this.getTranslations(); } /** * @return {?} */ getTranslations() { /** @type {?} */ const keys = this.translationKeys.map((/** * @param {?} key * @return {?} */ key => [this.translationKeyParent, key].join('.'))); this.translate.get(keys).subscribe((/** * @param {?} translations * @return {?} */ translations => { this.initBarText(translations); })); } /** * @return {?} */ onVisibleChange() { this.visibleChange.emit(this.visible); } /** * @param {?} translations * @return {?} */ initBarText(translations) { this.barItems.save.options.text = translations[[this.translationKeyParent, 'buttonsave'].join('.')]; this.barItems.ok.options.text = translations[[this.translationKeyParent, 'buttonok'].join('.')]; this.barItems.cancel.options.text = translations[[this.translationKeyParent, 'buttoncancel'].join('.')]; } /** * @return {?} */ popupHidden() { this.visible = false; this.onVisibleChange(); } /** * @param {?} e * @return {?} */ onShown(e) { this.popupShown.emit(e); } } CausePopupEditComponent.decorators = [ { type: Component, args: [{ selector: 'cause-popup-edit', template: "<div>\n <dx-popup\n class=\"popup\"\n [showTitle]=\"true\"\n [title]=\"title\"\n [dragEnabled]=\"false\"\n [showCloseButton]=\"true\"\n [closeOnOutsideClick]=\"false\"\n [(visible)]=\"visible\"\n [toolbarItems]=\"botomToolbarItems\"\n (onHidden)=\"popupHidden()\"\n (onShown)=\"onShown($event)\"\n >\n <ng-content></ng-content>\n </dx-popup>\n</div>\n", styles: [""] }] } ]; /** @nocollapse */ CausePopupEditComponent.ctorParameters = () => [ { type: NgZone }, { type: TranslateService } ]; CausePopupEditComponent.propDecorators = { title: [{ type: Input }], type: [{ type: Input }], visible: [{ type: Input }], visibleChange: [{ type: Output }], popupShown: [{ type: Output }], save: [{ type: Output }] }; if (false) { /** @type {?} */ CausePopupEditComponent.prototype.title; /** @type {?} */ CausePopupEditComponent.prototype.visible; /** @type {?} */ CausePopupEditComponent.prototype.visibleChange; /** @type {?} */ CausePopupEditComponent.prototype.popupShown; /** @type {?} */ CausePopupEditComponent.prototype.save; /** @type {?} */ CausePopupEditComponent.prototype.barItems; /** @type {?} */ CausePopupEditComponent.prototype.botomToolbarItems; /** @type {?} */ CausePopupEditComponent.prototype.translationKeyParent; /** @type {?} */ CausePopupEditComponent.prototype.translationKeys; /** @type {?} */ CausePopupEditComponent.prototype.types; /** * @type {?} * @private */ CausePopupEditComponent.prototype.zone; /** * @type {?} * @private */ CausePopupEditComponent.prototype.translate; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F1c2UtcG9wdXAtZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2F1c2UtOTExL2RldmV4dHJlbWUvIiwic291cmNlcyI6WyJsaWIvY2F1c2UtcG9wdXAtZWRpdC9jYXVzZS1wb3B1cC1lZGl0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFPakQsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7SUFrRWxDLFlBQW9CLElBQVksRUFBVSxTQUEyQjtRQUFqRCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFqRTVELFVBQUssR0FBRyxFQUFFLENBQUM7UUFjVixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFMUMsYUFBUSxHQUFRO1lBQ2QsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDTixNQUFNLEVBQUUsVUFBVTtnQkFDbEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUM7Z0JBQ25CLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixNQUFNLEVBQUUsSUFBSTtnQkFDWixPQUFPLEVBQUUsdUJBQXVCLENBQUMsV0FBVzthQUM3QztZQUNELENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixPQUFPLEVBQUUsSUFBSTtnQkFDYixPQUFPLEVBQUUsRUFBQyxJQUFJ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RSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLENBQUM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDOzs7WUF0R0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLGlaQUFnRDs7YUFFakQ7Ozs7WUFQdUMsTUFBTTtZQUN0QyxnQkFBZ0I7OztvQkFRckIsS0FBSzttQkFFTCxLQUFLO3NCQVdMLEtBQUs7NEJBQ0wsTUFBTTt5QkFDTixNQUFNO21CQUNOLE1BQU07Ozs7SUFoQlAsd0NBQW9COztJQWFwQiwwQ0FBMEI7O0lBQzFCLGdEQUFzRDs7SUFDdEQsNkNBQStDOztJQUMvQyx1Q0FBMEM7O0lBRTFDLDJDQTRCRTs7SUFFRixvREFBMEU7O0lBQzFFLHVEQUE4Qzs7SUFDOUMsa0RBQTZEOztJQUU3RCx3Q0FFRTs7Ozs7SUFXVSx1Q0FBb0I7Ozs7O0lBQUUsNENBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGNhdXNlLTkxMS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2F1c2UtcG9wdXAtZWRpdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXVzZS1wb3B1cC1lZGl0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2F1c2UtcG9wdXAtZWRpdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhdXNlUG9wdXBFZGl0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGUgPSAnJztcblxuICBASW5wdXQoKSBzZXQgdHlwZShuYW1lOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgdGhpcy50eXBlcy5va2NhbmNlbCA6XG4gICAgICAgIHRoaXMuYm90b21Ub29sYmFySXRlbXMgPSBbdGhpcy5iYXJJdGVtcy5vaywgdGhpcy5iYXJJdGVtcy5jYW5jZWxdO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYm90b21Ub29sYmFySXRlbXMgPSBbdGhpcy5iYXJJdGVtcy5zYXZlLCB0aGlzLmJhckl0ZW1zLmNhbmNlbF07XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpIHZpc2libGU6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcG9wdXBTaG93biA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBiYXJJdGVtczogYW55ID0ge1xuICAgIFsnb2snXToge1xuICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxuICAgICAgbG9jYXRpb246ICdhZnRlcicsXG4gICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgb3B0aW9uczoge3RleHQ6ICcnfSxcbiAgICAgIHRvb2xiYXI6ICdib3R0b20nLFxuICAgICAgcGFyZW50OiB0aGlzLFxuICAgICAgb25DbGljazogQ2F1c2VQb3B1cEVkaXRDb21wb25lbnQub25TYXZlQ2xpY2tcbiAgICB9LFxuICAgIFsnc2F2ZSddOiB7XG4gICAgICB3aWRnZXQ6ICdkeEJ1dHRvbicsXG4gICAgICBsb2NhdGlvbjogJ2FmdGVyJyxcbiAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICBvcHRpb25zOiB7dGV4dDogJyd9LFxuICAgICAgdG9vbGJhcjogJ2JvdHRvbScsXG4gICAgICBwYXJlbnQ6IHRoaXMsXG4gICAgICBvbkNsaWNrOiBDYXVzZVBvcHVwRWRpdENvbXBvbmVudC5vblNhdmVDbGlja1xuICAgIH0sXG4gICAgWydjYW5jZWwnXToge1xuICAgICAgd2lkZ2V0OiAnZHhCdXR0b24nLFxuICAgICAgbG9jYXRpb246ICdhZnRlcicsXG4gICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgb3B0aW9uczoge3RleHQ6ICcnfSxcbiAgICAgIHRvb2xiYXI6ICdib3R0b20nLFxuICAgICAgcGFyZW50OiB0aGlzLFxuICAgICAgb25DbGljazogQ2F1c2VQb3B1cEVkaXRDb21wb25lbnQub25DYW5jZWxDbGlja1xuICAgIH1cbiAgfTtcblxuICBib3RvbVRvb2xiYXJJdGVtczogYW55ID0gW3RoaXMuYmFySXRlbXNbJ3NhdmUnXSwgdGhpcy5iYXJJdGVtc1snY2FuY2VsJ11dO1xuICB0cmFuc2xhdGlvbktleVBhcmVudCA9ICdkZXZleHRyZW1lLnBvcHVwZWRpdCc7XG4gIHRyYW5zbGF0aW9uS2V5cyA9IFsnYnV0dG9uc2F2ZScsICdidXR0b25vaycsICdidXR0b25jYW5jZWwnXTtcblxuICB0eXBlcyA9IHtcbiAgICBzYXZlY2FuY2VsOiAnc2F2ZWNhbmNlbCcsIG9rY2FuY2VsOiAnb2tjYW5jZWwnXG4gIH07XG5cbiAgc3RhdGljIG9uU2F2ZUNsaWNrKGUpIHtcbiAgICBlLml0ZW1EYXRhLnBhcmVudC5zYXZlLmVtaXQoKTtcbiAgfVxuXG4gIHN0YXRpYyBvbkNhbmNlbENsaWNrKGUpIHtcbiAgICBlLml0ZW1EYXRhLnBhcmVudC52aXNpYmxlID0gZmFsc2U7XG4gICAgZS5pdGVtRGF0YS5wYXJlbnQub25WaXNpYmxlQ2hhbmdlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0VHJhbnNsYXRpb25zKCk7XG4gIH1cblxuICBnZXRUcmFuc2xhdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3Qga2V5cyA9IHRoaXMudHJhbnNsYXRpb25LZXlzLm1hcChrZXkgPT4gW3RoaXMudHJhbnNsYXRpb25LZXlQYXJlbnQsIGtleV0uam9pbignLicpKTtcbiAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoa2V5cykuc3Vic2NyaWJlKHRyYW5zbGF0aW9ucyA9PiB7XG4gICAgICB0aGlzLmluaXRCYXJUZXh0KHRyYW5zbGF0aW9ucyk7XG4gICAgfSk7XG4gIH1cblxuICBvblZpc2libGVDaGFuZ2UoKSB7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy52aXNpYmxlKTtcbiAgfVxuXG4gIGluaXRCYXJUZXh0KHRyYW5zbGF0aW9uczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmJhckl0ZW1zLnNhdmUub3B0aW9ucy50ZXh0ID0gdHJhbnNsYXRpb25zW1t0aGlzLnRyYW5zbGF0aW9uS2V5UGFyZW50LCAnYnV0dG9uc2F2ZSddLmpvaW4oJy4nKV07XG4gICAgdGhpcy5iYXJJdGVtcy5vay5vcHRpb25zLnRleHQgPSB0cmFuc2xhdGlvbnNbW3RoaXMudHJhbnNsYXRpb25LZXlQYXJlbnQsICdidXR0b25vayddLmpvaW4oJy4nKV07XG4gICAgdGhpcy5iYXJJdGVtcy5jYW5jZWwub3B0aW9ucy50ZXh0ID0gdHJhbnNsYXRpb25zW1t0aGlzLnRyYW5zbGF0aW9uS2V5UGFyZW50LCAnYnV0dG9uY2FuY2VsJ10uam9pbignLicpXTtcbiAgfVxuXG4gIHBvcHVwSGlkZGVuKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMub25WaXNpYmxlQ2hhbmdlKCk7XG4gIH1cblxuICBvblNob3duKGUpIHtcbiAgICB0aGlzLnBvcHVwU2hvd24uZW1pdChlKTtcbiAgfVxufVxuIl19