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.
63 lines • 13.1 kB
JavaScript
import { Component } from '@angular/core';
import { GridColumnsOptions } from './grid-column-options';
import { SystelabModalContext } from '../../modal/dialog/modal-context';
import * as i0 from "@angular/core";
import * as i1 from "../../modal/dialog/dialog-ref";
import * as i2 from "systelab-translate";
import * as i3 from "../../twolist/two-list.component";
import * as i4 from "../../button/button.component";
import * as i5 from "../../tabs/tabs.component";
import * as i6 from "../../tabs/tab.component";
import * as i7 from "../../modal/header/dialog-header.component";
import * as i8 from "../../modal/bottom/dialog-bottom.component";
import * as i9 from "@angular/common";
export class GridColumnOptionsDialogParameters extends SystelabModalContext {
constructor() {
super(...arguments);
this.width = 800;
this.height = 500;
this.canHideAllColumns = false;
}
}
export class GridColumnOptionsDialog {
constructor(dialog, i18nService) {
this.dialog = dialog;
this.i18nService = i18nService;
this.availableColumns = [];
this.visibleColumns = [];
this.initialAvailableColumns = [];
this.canHideAllColumns = false;
this.gridColumnOptionsDialogParameters = dialog.context;
this.availableColumns = this.gridColumnOptionsDialogParameters.columnOptions.available;
this.visibleColumns = this.gridColumnOptionsDialogParameters.columnOptions.visible;
this.initialAvailableColumns = this.gridColumnOptionsDialogParameters.columnOptions.initialAvailableColumns;
this.canHideAllColumns = this.gridColumnOptionsDialogParameters.canHideAllColumns;
}
isSubmitDisabled() {
return this.canHideAllColumns ? false : this.visibleColumns.length === 0;
}
submit() {
const options = new GridColumnsOptions();
options.visible = this.visibleColumns;
this.dialog.close(options);
}
close() {
this.dialog.close();
}
static getParameters() {
return new GridColumnOptionsDialogParameters();
}
getTabTitle(code) {
return this.i18nService.instant(code);
}
ngAfterViewInit() {
setTimeout(() => document.getElementById('ID_optionsSubmitButton').focus());
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: GridColumnOptionsDialog, deps: [{ token: i1.DialogRef }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: GridColumnOptionsDialog, selector: "grid-column-options-dialog", ngImport: i0, template: "<systelab-dialog-header [withInfo]=\"false\" (close)=\"close();\">{{ 'COMMON_OPTIONS' | translate | async }}\n</systelab-dialog-header>\n<systelab-tabs class=\"slab-flex-1 slab-overflow-container\">\n <systelab-tab [title]=\"getTabTitle('COMMON_FIELDS')\" class=\"p-2 slab-overflow-container\">\n <systelab-two-list class=\"slab-flex-1 slab-overflow-container\"\n [(available)]=\"availableColumns\"\n [(visible)]=\"visibleColumns\"\n [initialAvailableColumns]=\"initialAvailableColumns\">\n </systelab-two-list>\n </systelab-tab>\n</systelab-tabs>\n<systelab-dialog-bottom>\n <systelab-button type=\"primary\" class=\"ml-auto\" id=\"ID_optionsSubmitButton\"\n [disabled]=\"isSubmitDisabled()\" (action)=\"submit()\"> {{'COMMON_SUBMIT' | translate | async}}\n </systelab-button>\n</systelab-dialog-bottom>\n\n", dependencies: [{ kind: "component", type: i3.TwoListComponent, selector: "systelab-two-list", inputs: ["available", "visible", "initialAvailableColumns", "defaultVisibleColumns", "defaultHiddenColumns", "dragAndDropEnabled"], outputs: ["visibleChange", "availableChange"] }, { kind: "component", type: i4.ButtonComponent, selector: "systelab-button", inputs: ["disabled", "type", "size"], outputs: ["action"] }, { kind: "component", type: i5.TabsComponent, selector: "systelab-tabs", inputs: ["showTabBackground", "shrink", "paintFocus"], outputs: ["select"] }, { kind: "component", type: i6.TabComponent, selector: "systelab-tab", inputs: ["title", "titleHtml", "active", "id", "warning"] }, { kind: "component", type: i7.DialogHeaderComponent, selector: "systelab-dialog-header", inputs: ["withClose", "withInfo", "withProgressBar", "withTextProgressBar", "withHome", "withMinimize", "withDrag"], outputs: ["close", "info", "home", "minimize"] }, { kind: "component", type: i8.DialogBottomComponent, selector: "systelab-dialog-bottom" }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.GeneralTranslatePipe, name: "translate" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: GridColumnOptionsDialog, decorators: [{
type: Component,
args: [{ selector: 'grid-column-options-dialog', template: "<systelab-dialog-header [withInfo]=\"false\" (close)=\"close();\">{{ 'COMMON_OPTIONS' | translate | async }}\n</systelab-dialog-header>\n<systelab-tabs class=\"slab-flex-1 slab-overflow-container\">\n <systelab-tab [title]=\"getTabTitle('COMMON_FIELDS')\" class=\"p-2 slab-overflow-container\">\n <systelab-two-list class=\"slab-flex-1 slab-overflow-container\"\n [(available)]=\"availableColumns\"\n [(visible)]=\"visibleColumns\"\n [initialAvailableColumns]=\"initialAvailableColumns\">\n </systelab-two-list>\n </systelab-tab>\n</systelab-tabs>\n<systelab-dialog-bottom>\n <systelab-button type=\"primary\" class=\"ml-auto\" id=\"ID_optionsSubmitButton\"\n [disabled]=\"isSubmitDisabled()\" (action)=\"submit()\"> {{'COMMON_SUBMIT' | translate | async}}\n </systelab-button>\n</systelab-dialog-bottom>\n\n" }]
}], ctorParameters: () => [{ type: i1.DialogRef }, { type: i2.I18nService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4tb3B0aW9ucy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3lzdGVsYWItY29tcG9uZW50cy9zcmMvbGliL2dyaWQvb3B0aW9ucy9ncmlkLWNvbHVtbi1vcHRpb25zLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvZ3JpZC9vcHRpb25zL2dyaWQtY29sdW1uLW9wdGlvbnMtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTNELE9BQU8sRUFBa0Isb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFHeEYsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLG9CQUFvQjtJQUEzRTs7UUFDaUIsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUNaLFdBQU0sR0FBRyxHQUFHLENBQUM7UUFFdEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7Q0FBQTtBQU1ELE1BQU0sT0FBTyx1QkFBdUI7SUFVbkMsWUFBbUIsTUFBb0QsRUFBWSxXQUF3QjtRQUF4RixXQUFNLEdBQU4sTUFBTSxDQUE4QztRQUFZLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTnBHLHFCQUFnQixHQUF1QixFQUFFLENBQUM7UUFDMUMsbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLDRCQUF1QixHQUF1QixFQUFFLENBQUM7UUFFdkMsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBR25ELElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBRXhELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUNBQWlDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUN2RixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQ25GLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsaUNBQWlDLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDO1FBQzVHLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUNBQWlDLENBQUMsaUJBQWlCLENBQUM7SUFDbkYsQ0FBQztJQUVNLGdCQUFnQjtRQUN0QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLE1BQU07UUFDWixNQUFNLE9BQU8sR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDekMsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWE7UUFDMUIsT0FBTyxJQUFJLGlDQUFpQyxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLGVBQWU7UUFDckIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLENBQUM7OEdBM0NXLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGtFQ2xCcEMsczZCQWlCQTs7MkZEQ2EsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNJLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHdvTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi90d29saXN0L3R3by1saXN0LXV0aWxpdGllcyc7XG5pbXBvcnQgeyBHcmlkQ29sdW1uc09wdGlvbnMgfSBmcm9tICcuL2dyaWQtY29sdW1uLW9wdGlvbnMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICdzeXN0ZWxhYi10cmFuc2xhdGUnO1xuaW1wb3J0IHsgTW9kYWxDb21wb25lbnQsIFN5c3RlbGFiTW9kYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kYWwvZGlhbG9nL21vZGFsLWNvbnRleHQnO1xuaW1wb3J0IHsgRGlhbG9nUmVmIH0gZnJvbSAnLi4vLi4vbW9kYWwvZGlhbG9nL2RpYWxvZy1yZWYnO1xuXG5leHBvcnQgY2xhc3MgR3JpZENvbHVtbk9wdGlvbnNEaWFsb2dQYXJhbWV0ZXJzIGV4dGVuZHMgU3lzdGVsYWJNb2RhbENvbnRleHQge1xuXHRwdWJsaWMgb3ZlcnJpZGUgd2lkdGggPSA4MDA7XG5cdHB1YmxpYyBvdmVycmlkZSBoZWlnaHQgPSA1MDA7XG5cdHB1YmxpYyBjb2x1bW5PcHRpb25zOiBHcmlkQ29sdW1uc09wdGlvbnM7XG5cdHB1YmxpYyBjYW5IaWRlQWxsQ29sdW1ucyA9IGZhbHNlO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICAgICdncmlkLWNvbHVtbi1vcHRpb25zLWRpYWxvZycsXG5cdHRlbXBsYXRlVXJsOiAnZ3JpZC1jb2x1bW4tb3B0aW9ucy1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBHcmlkQ29sdW1uT3B0aW9uc0RpYWxvZyBpbXBsZW1lbnRzIE1vZGFsQ29tcG9uZW50PEdyaWRDb2x1bW5PcHRpb25zRGlhbG9nUGFyYW1ldGVycz4sIEFmdGVyVmlld0luaXQge1xuXG5cdHB1YmxpYyBncmlkQ29sdW1uT3B0aW9uc0RpYWxvZ1BhcmFtZXRlcnM6IEdyaWRDb2x1bW5PcHRpb25zRGlhbG9nUGFyYW1ldGVycztcblxuXHRwdWJsaWMgYXZhaWxhYmxlQ29sdW1uczogQXJyYXk8VHdvTGlzdEl0ZW0+ID0gW107XG5cdHB1YmxpYyB2aXNpYmxlQ29sdW1uczogQXJyYXk8VHdvTGlzdEl0ZW0+ID0gW107XG5cdHB1YmxpYyBpbml0aWFsQXZhaWxhYmxlQ29sdW1uczogQXJyYXk8VHdvTGlzdEl0ZW0+ID0gW107XG5cblx0cHJpdmF0ZSByZWFkb25seSBjYW5IaWRlQWxsQ29sdW1uczogYm9vbGVhbiA9IGZhbHNlO1xuXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IERpYWxvZ1JlZjxHcmlkQ29sdW1uT3B0aW9uc0RpYWxvZ1BhcmFtZXRlcnM+LCBwcm90ZWN0ZWQgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlKSB7XG5cdFx0dGhpcy5ncmlkQ29sdW1uT3B0aW9uc0RpYWxvZ1BhcmFtZXRlcnMgPSBkaWFsb2cuY29udGV4dDtcblxuXHRcdHRoaXMuYXZhaWxhYmxlQ29sdW1ucyA9IHRoaXMuZ3JpZENvbHVtbk9wdGlvbnNEaWFsb2dQYXJhbWV0ZXJzLmNvbHVtbk9wdGlvbnMuYXZhaWxhYmxlO1xuXHRcdHRoaXMudmlzaWJsZUNvbHVtbnMgPSB0aGlzLmdyaWRDb2x1bW5PcHRpb25zRGlhbG9nUGFyYW1ldGVycy5jb2x1bW5PcHRpb25zLnZpc2libGU7XG5cdFx0dGhpcy5pbml0aWFsQXZhaWxhYmxlQ29sdW1ucyA9IHRoaXMuZ3JpZENvbHVtbk9wdGlvbnNEaWFsb2dQYXJhbWV0ZXJzLmNvbHVtbk9wdGlvbnMuaW5pdGlhbEF2YWlsYWJsZUNvbHVtbnM7XG5cdFx0dGhpcy5jYW5IaWRlQWxsQ29sdW1ucyA9IHRoaXMuZ3JpZENvbHVtbk9wdGlvbnNEaWFsb2dQYXJhbWV0ZXJzLmNhbkhpZGVBbGxDb2x1bW5zO1xuXHR9XG5cblx0cHVibGljIGlzU3VibWl0RGlzYWJsZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FuSGlkZUFsbENvbHVtbnMgPyBmYWxzZSA6IHRoaXMudmlzaWJsZUNvbHVtbnMubGVuZ3RoID09PSAwO1xuXHR9XG5cblx0cHVibGljIHN1Ym1pdCgpOiB2b2lkIHtcblx0XHRjb25zdCBvcHRpb25zID0gbmV3IEdyaWRDb2x1bW5zT3B0aW9ucygpO1xuXHRcdG9wdGlvbnMudmlzaWJsZSA9IHRoaXMudmlzaWJsZUNvbHVtbnM7XG5cdFx0dGhpcy5kaWFsb2cuY2xvc2Uob3B0aW9ucyk7XG5cdH1cblxuXHRwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG5cdFx0dGhpcy5kaWFsb2cuY2xvc2UoKTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1ldGVycygpOiBHcmlkQ29sdW1uT3B0aW9uc0RpYWxvZ1BhcmFtZXRlcnMge1xuXHRcdHJldHVybiBuZXcgR3JpZENvbHVtbk9wdGlvbnNEaWFsb2dQYXJhbWV0ZXJzKCk7XG5cdH1cblxuXHRwdWJsaWMgZ2V0VGFiVGl0bGUoY29kZTogc3RyaW5nKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5pMThuU2VydmljZS5pbnN0YW50KGNvZGUpO1xuXHR9XG5cblx0cHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdJRF9vcHRpb25zU3VibWl0QnV0dG9uJykuZm9jdXMoKSk7XG5cdH1cblxufVxuIiwiPHN5c3RlbGFiLWRpYWxvZy1oZWFkZXIgW3dpdGhJbmZvXT1cImZhbHNlXCIgKGNsb3NlKT1cImNsb3NlKCk7XCI+e3sgJ0NPTU1PTl9PUFRJT05TJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19XG48L3N5c3RlbGFiLWRpYWxvZy1oZWFkZXI+XG48c3lzdGVsYWItdGFicyBjbGFzcz1cInNsYWItZmxleC0xIHNsYWItb3ZlcmZsb3ctY29udGFpbmVyXCI+XG4gICAgPHN5c3RlbGFiLXRhYiBbdGl0bGVdPVwiZ2V0VGFiVGl0bGUoJ0NPTU1PTl9GSUVMRFMnKVwiIGNsYXNzPVwicC0yIHNsYWItb3ZlcmZsb3ctY29udGFpbmVyXCI+XG4gICAgICAgIDxzeXN0ZWxhYi10d28tbGlzdCBjbGFzcz1cInNsYWItZmxleC0xIHNsYWItb3ZlcmZsb3ctY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoYXZhaWxhYmxlKV09XCJhdmFpbGFibGVDb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmlzaWJsZSldPVwidmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luaXRpYWxBdmFpbGFibGVDb2x1bW5zXT1cImluaXRpYWxBdmFpbGFibGVDb2x1bW5zXCI+XG4gICAgICAgIDwvc3lzdGVsYWItdHdvLWxpc3Q+XG4gICAgPC9zeXN0ZWxhYi10YWI+XG48L3N5c3RlbGFiLXRhYnM+XG48c3lzdGVsYWItZGlhbG9nLWJvdHRvbT5cbiAgICA8c3lzdGVsYWItYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgY2xhc3M9XCJtbC1hdXRvXCIgaWQ9XCJJRF9vcHRpb25zU3VibWl0QnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdERpc2FibGVkKClcIiAoYWN0aW9uKT1cInN1Ym1pdCgpXCI+IHt7J0NPTU1PTl9TVUJNSVQnIHwgdHJhbnNsYXRlIHwgYXN5bmN9fVxuICAgIDwvc3lzdGVsYWItYnV0dG9uPlxuPC9zeXN0ZWxhYi1kaWFsb2ctYm90dG9tPlxuXG4iXX0=