systelab-components
Version:
systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.
52 lines • 11.7 kB
JavaScript
import { Component } from '@angular/core';
import { SystelabModalContext } from '../dialog/modal-context';
import * as i0 from "@angular/core";
import * as i1 from "../dialog/dialog-ref";
import * as i2 from "@angular/common";
import * as i3 from "../../switch/switch.component";
import * as i4 from "../header/dialog-header.component";
import * as i5 from "../bottom/dialog-bottom.component";
import * as i6 from "./message-with-icon.component";
import * as i7 from "../../directives/autofocus.directive";
import * as i8 from "systelab-translate";
export class MessagePopupViewContext extends SystelabModalContext {
constructor() {
super(...arguments);
this.fullScreen = false;
this.maxWidth = 700;
this.minWidth = 499;
this.maxHeight = 400;
this.minHeight = 280;
this.buttons = [];
this.askAgain = false;
}
}
export class MessagePopupViewComponent {
constructor(dialog) {
this.dialog = dialog;
this.hasAnyButtonFocus = false;
this.checkAskAgain = false;
this.parameters = dialog.context;
if (this.parameters.buttons) {
this.hasAnyButtonFocus = this.parameters.buttons.some(button => button.focus);
}
}
static getParameters() {
return new MessagePopupViewContext();
}
close(value) {
if (this.parameters.askAgain) {
this.dialog.close([value, this.checkAskAgain]);
}
else {
this.dialog.close(value);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MessagePopupViewComponent, deps: [{ token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.9", type: MessagePopupViewComponent, selector: "dialog-view", ngImport: i0, template: "<systelab-dialog-header (close)=\"close()\">{{parameters.title}}</systelab-dialog-header>\n<systelab-message-with-icon class=\"d-flex slab-flex-1 slab-overflow-container\" [message]=\"parameters.msg\" [type]=\"parameters.type\"\n [icon]=\"parameters.icon\"></systelab-message-with-icon>\n<div *ngIf=\"parameters.askAgain\" class=\"d-flex slab-flex-1 align-items-center pl-5\">\n <systelab-switch [(isChecked)]=\"checkAskAgain\"></systelab-switch>\n <label class=\"col-form-label ml-2\">{{parameters.msgAskAgain}}</label>\n</div>\n<systelab-dialog-bottom>\n <div class=\"ml-auto\" *ngIf=\"parameters.buttons.length>0\">\n @for (button of parameters.buttons; track button; let i = $index; let cnt = $count;) {\n <button type=\"button\"\n class=\"btn ml-1 {{button.cssClass}}\"\n (click)=\"close(button.returnValue)\"\n [autoFocus]=\"button.focus || (!hasAnyButtonFocus && i===cnt-1)\">{{button.title}}</button>\n }\n </div>\n <div class=\"ml-auto\" *ngIf=\"parameters.buttons.length===0\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"close()\" [autoFocus]=\"true\">{{ 'COMMON_CLOSE' | translate | async }}</button>\n </div>\n</systelab-dialog-bottom>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SwitchComponent, selector: "systelab-switch", inputs: ["isChecked", "disabled"], outputs: ["isCheckedChange"] }, { kind: "component", type: i4.DialogHeaderComponent, selector: "systelab-dialog-header", inputs: ["withClose", "withInfo", "withProgressBar", "withTextProgressBar", "withHome", "withMinimize", "withDrag"], outputs: ["close", "info", "home", "minimize"] }, { kind: "component", type: i5.DialogBottomComponent, selector: "systelab-dialog-bottom" }, { kind: "component", type: i6.MessageWithIconComponent, selector: "systelab-message-with-icon", inputs: ["message", "type", "icon"] }, { kind: "directive", type: i7.AutofocusDirective, selector: "[autoFocus]", inputs: ["autoFocus"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.GeneralTranslatePipe, name: "translate" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MessagePopupViewComponent, decorators: [{
type: Component,
args: [{ selector: 'dialog-view', template: "<systelab-dialog-header (close)=\"close()\">{{parameters.title}}</systelab-dialog-header>\n<systelab-message-with-icon class=\"d-flex slab-flex-1 slab-overflow-container\" [message]=\"parameters.msg\" [type]=\"parameters.type\"\n [icon]=\"parameters.icon\"></systelab-message-with-icon>\n<div *ngIf=\"parameters.askAgain\" class=\"d-flex slab-flex-1 align-items-center pl-5\">\n <systelab-switch [(isChecked)]=\"checkAskAgain\"></systelab-switch>\n <label class=\"col-form-label ml-2\">{{parameters.msgAskAgain}}</label>\n</div>\n<systelab-dialog-bottom>\n <div class=\"ml-auto\" *ngIf=\"parameters.buttons.length>0\">\n @for (button of parameters.buttons; track button; let i = $index; let cnt = $count;) {\n <button type=\"button\"\n class=\"btn ml-1 {{button.cssClass}}\"\n (click)=\"close(button.returnValue)\"\n [autoFocus]=\"button.focus || (!hasAnyButtonFocus && i===cnt-1)\">{{button.title}}</button>\n }\n </div>\n <div class=\"ml-auto\" *ngIf=\"parameters.buttons.length===0\">\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"close()\" [autoFocus]=\"true\">{{ 'COMMON_CLOSE' | translate | async }}</button>\n </div>\n</systelab-dialog-bottom>\n\n" }]
}], ctorParameters: () => [{ type: i1.DialogRef }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1wb3B1cC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbC9tZXNzYWdlLXBvcHVwL21lc3NhZ2UtcG9wdXAtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvbW9kYWwvbWVzc2FnZS1wb3B1cC9tZXNzYWdlLXBvcHVwLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxPQUFPLEVBQWtCLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7QUFHL0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQUFqRTs7UUFFaUIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2YsYUFBUSxHQUFHLEdBQUcsQ0FBQztRQUNmLGNBQVMsR0FBRyxHQUFHLENBQUM7UUFDaEIsY0FBUyxHQUFHLEdBQUcsQ0FBQztRQU16QixZQUFPLEdBQXlCLEVBQUUsQ0FBQztRQUNuQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBRXpCLENBQUM7Q0FBQTtBQU9ELE1BQU0sT0FBTyx5QkFBeUI7SUFNckMsWUFBbUIsTUFBMEM7UUFBMUMsV0FBTSxHQUFOLE1BQU0sQ0FBb0M7UUFIdEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUU7SUFDRixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWE7UUFDMUIsT0FBTyxJQUFJLHVCQUF1QixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFXO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDL0M7YUFBTTtZQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0YsQ0FBQzs4R0F2QlcseUJBQXlCO2tHQUF6Qix5QkFBeUIsbURDNUJ0QywweENBcUJBOzsyRkRPYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZVBvcHVwQnV0dG9uIH0gZnJvbSAnLi9tZXNzYWdlLXBvcHVwLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQsIFN5c3RlbGFiTW9kYWxDb250ZXh0IH0gZnJvbSAnLi4vZGlhbG9nL21vZGFsLWNvbnRleHQnO1xuaW1wb3J0IHsgTWVzc2FnZVBvcHVwSWNvbiB9IGZyb20gJy4vbWVzc2FnZS13aXRoLWljb24uY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VQb3B1cFZpZXdDb250ZXh0IGV4dGVuZHMgU3lzdGVsYWJNb2RhbENvbnRleHQge1xuXG5cdHB1YmxpYyBvdmVycmlkZSBmdWxsU2NyZWVuID0gZmFsc2U7XG5cdHB1YmxpYyBvdmVycmlkZSBtYXhXaWR0aCA9IDcwMDtcblx0cHVibGljIG92ZXJyaWRlIG1pbldpZHRoID0gNDk5O1xuXHRwdWJsaWMgb3ZlcnJpZGUgbWF4SGVpZ2h0ID0gNDAwO1xuXHRwdWJsaWMgb3ZlcnJpZGUgbWluSGVpZ2h0ID0gMjgwO1xuXHRwdWJsaWMgdGl0bGU6IHN0cmluZztcblx0cHVibGljIG1zZzogc3RyaW5nO1xuXHRwdWJsaWMgaWNvbjogTWVzc2FnZVBvcHVwSWNvbjtcblx0cHVibGljIHR5cGU6IG51bWJlcjtcblx0cHVibGljIGNvbG9yOiBzdHJpbmc7XG5cdHB1YmxpYyBidXR0b25zOiBNZXNzYWdlUG9wdXBCdXR0b25bXSA9IFtdO1xuXHRwdWJsaWMgYXNrQWdhaW4gPSBmYWxzZTtcblx0cHVibGljIG1zZ0Fza0FnYWluOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogICAgJ2RpYWxvZy12aWV3Jyxcblx0dGVtcGxhdGVVcmw6ICdtZXNzYWdlLXBvcHVwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6ICAgWydtZXNzYWdlLXBvcHVwLXZpZXcuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlUG9wdXBWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgTW9kYWxDb21wb25lbnQ8TWVzc2FnZVBvcHVwVmlld0NvbnRleHQ+IHtcblxuXHRwdWJsaWMgcGFyYW1ldGVyczogTWVzc2FnZVBvcHVwVmlld0NvbnRleHQ7XG5cdHB1YmxpYyBoYXNBbnlCdXR0b25Gb2N1cyA9IGZhbHNlO1xuXHRwdWJsaWMgY2hlY2tBc2tBZ2FpbiA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IERpYWxvZ1JlZjxNZXNzYWdlUG9wdXBWaWV3Q29udGV4dD4pIHtcblx0XHR0aGlzLnBhcmFtZXRlcnMgPSBkaWFsb2cuY29udGV4dDtcblx0XHRpZiAodGhpcy5wYXJhbWV0ZXJzLmJ1dHRvbnMpIHtcblx0XHRcdHRoaXMuaGFzQW55QnV0dG9uRm9jdXMgPSB0aGlzLnBhcmFtZXRlcnMuYnV0dG9ucy5zb21lKGJ1dHRvbiA9PiBidXR0b24uZm9jdXMpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1ldGVycygpOiBNZXNzYWdlUG9wdXBWaWV3Q29udGV4dCB7XG5cdFx0cmV0dXJuIG5ldyBNZXNzYWdlUG9wdXBWaWV3Q29udGV4dCgpO1xuXHR9XG5cblx0cHVibGljIGNsb3NlKHZhbHVlPzogYW55KTogdm9pZCB7XG5cdFx0aWYgKHRoaXMucGFyYW1ldGVycy5hc2tBZ2Fpbikge1xuXHRcdFx0dGhpcy5kaWFsb2cuY2xvc2UoW3ZhbHVlLCB0aGlzLmNoZWNrQXNrQWdhaW5dKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5kaWFsb2cuY2xvc2UodmFsdWUpO1xuXHRcdH1cblx0fVxufVxuIiwiPHN5c3RlbGFiLWRpYWxvZy1oZWFkZXIgKGNsb3NlKT1cImNsb3NlKClcIj57e3BhcmFtZXRlcnMudGl0bGV9fTwvc3lzdGVsYWItZGlhbG9nLWhlYWRlcj5cbjxzeXN0ZWxhYi1tZXNzYWdlLXdpdGgtaWNvbiBjbGFzcz1cImQtZmxleCBzbGFiLWZsZXgtMSBzbGFiLW92ZXJmbG93LWNvbnRhaW5lclwiIFttZXNzYWdlXT1cInBhcmFtZXRlcnMubXNnXCIgW3R5cGVdPVwicGFyYW1ldGVycy50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJwYXJhbWV0ZXJzLmljb25cIj48L3N5c3RlbGFiLW1lc3NhZ2Utd2l0aC1pY29uPlxuPGRpdiAqbmdJZj1cInBhcmFtZXRlcnMuYXNrQWdhaW5cIiBjbGFzcz1cImQtZmxleCBzbGFiLWZsZXgtMSBhbGlnbi1pdGVtcy1jZW50ZXIgcGwtNVwiPlxuICAgIDxzeXN0ZWxhYi1zd2l0Y2ggWyhpc0NoZWNrZWQpXT1cImNoZWNrQXNrQWdhaW5cIj48L3N5c3RlbGFiLXN3aXRjaD5cbiAgICA8bGFiZWwgY2xhc3M9XCJjb2wtZm9ybS1sYWJlbCBtbC0yXCI+e3twYXJhbWV0ZXJzLm1zZ0Fza0FnYWlufX08L2xhYmVsPlxuPC9kaXY+XG48c3lzdGVsYWItZGlhbG9nLWJvdHRvbT5cbiAgICA8ZGl2IGNsYXNzPVwibWwtYXV0b1wiICpuZ0lmPVwicGFyYW1ldGVycy5idXR0b25zLmxlbmd0aD4wXCI+XG4gICAgICAgIEBmb3IgKGJ1dHRvbiBvZiBwYXJhbWV0ZXJzLmJ1dHRvbnM7IHRyYWNrIGJ1dHRvbjsgbGV0IGkgPSAkaW5kZXg7IGxldCBjbnQgPSAkY291bnQ7KSB7XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBtbC0xIHt7YnV0dG9uLmNzc0NsYXNzfX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoYnV0dG9uLnJldHVyblZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgIFthdXRvRm9jdXNdPVwiYnV0dG9uLmZvY3VzIHx8ICghaGFzQW55QnV0dG9uRm9jdXMgJiYgaT09PWNudC0xKVwiPnt7YnV0dG9uLnRpdGxlfX08L2J1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvXCIgKm5nSWY9XCJwYXJhbWV0ZXJzLmJ1dHRvbnMubGVuZ3RoPT09MFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCIgW2F1dG9Gb2N1c109XCJ0cnVlXCI+e3sgJ0NPTU1PTl9DTE9TRScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9zeXN0ZWxhYi1kaWFsb2ctYm90dG9tPlxuXG4iXX0=