@zambon-dev/framework 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ import * as i1 from '@angular/common';
9
9
  import { NgClass, NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
10
10
  import * as i2 from '@angular/router';
11
11
  import { Router, NavigationEnd, RouterModule, ActivatedRoute } from '@angular/router';
12
- import { TranslatePipe, TranslateLoader, provideTranslateService } from '@ngx-translate/core';
12
+ import { TranslatePipe, TranslateService, TranslateLoader, provideTranslateService } from '@ngx-translate/core';
13
13
  import * as i1$1 from '@angular/forms';
14
14
  import { ControlContainer, FormGroupDirective, FormBuilder } from '@angular/forms';
15
15
  import { HttpErrorResponse, HttpBackend } from '@angular/common/http';
@@ -1056,7 +1056,7 @@ class ButtonConfirmComponent extends BaseButton {
1056
1056
  });
1057
1057
  }
1058
1058
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1059
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonConfirmComponent, isStandalone: true, selector: "framework-button-confirm", inputs: { action: "action", color: "color", icon: "icon", label: "label", modalConfirmButtonColor: "modalConfirmButtonColor", modalConfirmButtonLabel: "modalConfirmButtonLabel", modalMessage: "modalMessage", modalMessageIcon: "modalMessageIcon", modalMessageIconColor: "modalMessageIconColor", modalTitle: "modalTitle" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonConfirmComponent) }], viewQueries: [{ propertyName: "confirmModal", first: true, predicate: ConfirmModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\n[color]=\"color\"\n[disabled]=\"disabled\"\n[icon]=\"icon\"\n[label]=\"label\"\n[loading]=\"loading\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>\n\n<framework-confirm-modal #modal\n[message]=\"modalMessage\"\n[messageIcon]=\"modalMessageIcon\"\n[messageIconColor]=\"modalMessageIconColor\"\n[title]=\"modalTitle\">\n <div footer>\n <button\n class=\"btn {{ modalConfirmButtonColor }}\"\n type=\"button\"\n [class.loading]=\"modal.isLoading\"\n (click)=\"onDelete()\">\n {{ modalConfirmButtonLabel | translate }}\n </button>\n </div>\n</framework-confirm-modal>", dependencies: [{ kind: "component", type: ConfirmModalComponent, selector: "framework-confirm-modal", inputs: ["errorMessage", "message", "messageIcon", "messageIconColor", "showMessageIcon", "size", "title"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
1059
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonConfirmComponent, isStandalone: true, selector: "framework-button-confirm", inputs: { action: "action", color: "color", icon: "icon", label: "label", modalConfirmButtonColor: "modalConfirmButtonColor", modalConfirmButtonLabel: "modalConfirmButtonLabel", modalMessage: "modalMessage", modalMessageIcon: "modalMessageIcon", modalMessageIconColor: "modalMessageIconColor", modalTitle: "modalTitle" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonConfirmComponent) }], viewQueries: [{ propertyName: "confirmModal", first: true, predicate: ConfirmModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\n[color]=\"color\"\n[disabled]=\"disabled\"\n[icon]=\"icon\"\n[label]=\"label\"\n[loading]=\"loading\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>\n\n<framework-confirm-modal #modal\n[message]=\"modalMessage\"\n[messageIcon]=\"modalMessageIcon\"\n[messageIconColor]=\"modalMessageIconColor\"\n[title]=\"modalTitle\">\n <div footer>\n <button\n class=\"btn {{ modalConfirmButtonColor }}\"\n type=\"button\"\n [class.loading]=\"modal.isLoading\"\n (click)=\"onDelete()\">\n {{ modalConfirmButtonLabel | translate }}\n </button>\n </div>\n</framework-confirm-modal>", dependencies: [{ kind: "component", type: ConfirmModalComponent, selector: "framework-confirm-modal", inputs: ["errorMessage", "message", "messageIcon", "messageIconColor", "showMessageIcon", "size", "title"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
1060
1060
  }
1061
1061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonConfirmComponent, decorators: [{
1062
1062
  type: Component,
@@ -1134,7 +1134,7 @@ class ButtonDeleteComponent extends BaseButton {
1134
1134
  });
1135
1135
  }
1136
1136
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1137
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonDeleteComponent, isStandalone: true, selector: "framework-button-delete", inputs: { action: "action", label: "label", modalConfirmButtonLabel: "modalConfirmButtonLabel", modalMessage: "modalMessage", modalTitle: "modalTitle" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonDeleteComponent) }], viewQueries: [{ propertyName: "confirmModal", first: true, predicate: ConfirmModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\ncolor=\"text-red-500\"\nicon=\"fa-trash-alt\"\n[disabled]=\"disabled\"\n[label]=\"label\"\n[loading]=\"loading\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>\n\n<framework-confirm-modal #modal\nmessageIcon=\"fa-solid fa-circle-exclamation\"\nmessageIconColor=\"text-red-500\"\n[message]=\"modalMessage\"\n[title]=\"modalTitle\">\n <div footer>\n <button\n class=\"btn red-500\"\n type=\"button\"\n [class.loading]=\"modal.isLoading\"\n (click)=\"onDelete()\">\n {{ modalConfirmButtonLabel | translate }}\n </button>\n </div>\n</framework-confirm-modal>", dependencies: [{ kind: "component", type: ConfirmModalComponent, selector: "framework-confirm-modal", inputs: ["errorMessage", "message", "messageIcon", "messageIconColor", "showMessageIcon", "size", "title"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
1137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonDeleteComponent, isStandalone: true, selector: "framework-button-delete", inputs: { action: "action", label: "label", modalConfirmButtonLabel: "modalConfirmButtonLabel", modalMessage: "modalMessage", modalTitle: "modalTitle" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonDeleteComponent) }], viewQueries: [{ propertyName: "confirmModal", first: true, predicate: ConfirmModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\ncolor=\"text-red-500\"\nicon=\"fa-trash-alt\"\n[disabled]=\"disabled\"\n[label]=\"label\"\n[loading]=\"loading\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>\n\n<framework-confirm-modal #modal\nmessageIcon=\"fa-solid fa-circle-exclamation\"\nmessageIconColor=\"text-red-500\"\n[message]=\"modalMessage\"\n[title]=\"modalTitle\">\n <div footer>\n <button\n class=\"btn red-500\"\n type=\"button\"\n [class.loading]=\"modal.isLoading\"\n (click)=\"onDelete()\">\n {{ modalConfirmButtonLabel | translate }}\n </button>\n </div>\n</framework-confirm-modal>", dependencies: [{ kind: "component", type: ConfirmModalComponent, selector: "framework-confirm-modal", inputs: ["errorMessage", "message", "messageIcon", "messageIconColor", "showMessageIcon", "size", "title"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
1138
1138
  }
1139
1139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonDeleteComponent, decorators: [{
1140
1140
  type: Component,
@@ -1238,7 +1238,7 @@ class ButtonEditComponent extends BaseButton {
1238
1238
  }
1239
1239
  }
1240
1240
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonEditComponent, isStandalone: true, selector: "framework-button-edit", inputs: { cancelColor: "cancelColor", cancelIcon: "cancelIcon", cancelLabel: "cancelLabel", editIcon: "editIcon", editLabel: "editLabel", modal: "modal" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonEditComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible && !isButtonCancelVisible && hasDataProviderEntityID\"\n[disabled]=\"disabled || !isAccessLoaded || isFormLoading\"\n[icon]=\"editIcon\"\n[iconSize]=\"iconSize\"\n[label]=\"editLabel\"\n[loading]=\"loading\"\n(action)=\"onEditClicked()\">\n</lib-ribbon-button>\n\n<lib-ribbon-button *ngIf=\"visible && isButtonCancelVisible && hasDataProviderEntityID\"\n[color]=\"cancelColor\"\n[disabled]=\"disabled || !isAccessLoaded || isFormLoading\"\n[icon]=\"cancelIcon\"\n[label]=\"cancelLabel\"\n[loading]=\"loading\"\n(action)=\"onCancelClicked()\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
1241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonEditComponent, isStandalone: true, selector: "framework-button-edit", inputs: { cancelColor: "cancelColor", cancelIcon: "cancelIcon", cancelLabel: "cancelLabel", editIcon: "editIcon", editLabel: "editLabel", modal: "modal" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonEditComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible && !isButtonCancelVisible && hasDataProviderEntityID\"\n[disabled]=\"disabled || !isAccessLoaded || isFormLoading\"\n[icon]=\"editIcon\"\n[iconSize]=\"iconSize\"\n[label]=\"editLabel\"\n[loading]=\"loading\"\n(action)=\"onEditClicked()\">\n</lib-ribbon-button>\n\n<lib-ribbon-button *ngIf=\"visible && isButtonCancelVisible && hasDataProviderEntityID\"\n[color]=\"cancelColor\"\n[disabled]=\"disabled || !isAccessLoaded || isFormLoading\"\n[icon]=\"cancelIcon\"\n[label]=\"cancelLabel\"\n[loading]=\"loading\"\n(action)=\"onCancelClicked()\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1242
1242
  }
1243
1243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditComponent, decorators: [{
1244
1244
  type: Component,
@@ -1260,6 +1260,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
1260
1260
  type: Input
1261
1261
  }] } });
1262
1262
 
1263
+ const MaxExportRows = 50000;
1264
+ class ButtonExportComponent extends BaseButton {
1265
+ //#region ViewChilds, Inputs, Outputs
1266
+ fileBaseName = 'export';
1267
+ //#endregion
1268
+ //#region Variables
1269
+ dataGridDataset = inject(DataGridDataset, { optional: true });
1270
+ translateService = inject(TranslateService);
1271
+ //#endregion
1272
+ //#region Properties
1273
+ get isButtonDisabled() {
1274
+ return super.isButtonDisabled || this.isExceedingExportLimit;
1275
+ }
1276
+ get tooltip() {
1277
+ if (this.isExceedingExportLimit) {
1278
+ return this.translateService.instant('Button-Export-LimitExceeded', { max: MaxExportRows });
1279
+ }
1280
+ return '';
1281
+ }
1282
+ get isExceedingExportLimit() {
1283
+ const totalRows = this.dataGridDataset?.totalRows;
1284
+ return totalRows !== undefined && totalRows > MaxExportRows;
1285
+ }
1286
+ //#endregion
1287
+ //#region Constructor and Angular life cycle methods
1288
+ constructor() {
1289
+ super();
1290
+ this.options = [
1291
+ { id: 'xlsx', label: 'Button-Export-Excel', icon: 'fa-file-excel' },
1292
+ { id: 'pdf', label: 'Button-Export-PDF', icon: 'fa-file-pdf' },
1293
+ { id: 'csv', label: 'Button-Export-CSV', icon: 'fa-file-csv' },
1294
+ { id: 'xml', label: 'Button-Export-XML', icon: 'fa-file-code' },
1295
+ { id: 'mhtml', label: 'Button-Export-MHTML', icon: 'fa-file-archive' },
1296
+ ];
1297
+ }
1298
+ //#endregion
1299
+ //#region Event handlers
1300
+ onButtonClicked(format) {
1301
+ if (!this.dataGridDataset) {
1302
+ return;
1303
+ }
1304
+ const resolvedFormat = format ?? 'xlsx';
1305
+ this.startLoading();
1306
+ const parameters = {
1307
+ endRow: 0,
1308
+ filters: this.dataGridDataset.filters,
1309
+ startRow: 0,
1310
+ };
1311
+ this.dataGridDataset.export(resolvedFormat, parameters)
1312
+ .pipe(take(1))
1313
+ .subscribe({
1314
+ next: (response) => {
1315
+ this.download(response);
1316
+ this.finishLoading('success');
1317
+ },
1318
+ error: (_) => {
1319
+ this.finishLoading('failure');
1320
+ }
1321
+ });
1322
+ }
1323
+ //#endregion
1324
+ //#region Private methods
1325
+ download(response) {
1326
+ if (!response.body) {
1327
+ return;
1328
+ }
1329
+ const contentDisposition = response.headers.get('Content-Disposition') ?? '';
1330
+ const match = /filename\*?=(?:UTF-8'')?"?([^";]+)"?/i.exec(contentDisposition);
1331
+ const fileName = match ? decodeURIComponent(match[1]) : this.fileBaseName;
1332
+ const url = URL.createObjectURL(response.body);
1333
+ const anchor = document.createElement('a');
1334
+ anchor.href = url;
1335
+ anchor.download = fileName;
1336
+ anchor.click();
1337
+ URL.revokeObjectURL(url);
1338
+ }
1339
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonExportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1340
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonExportComponent, isStandalone: true, selector: "framework-button-export", inputs: { fileBaseName: "fileBaseName" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonExportComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\nlabel=\"Button-Export\"\nicon=\"fa-file-export\"\n[disabled]=\"isButtonDisabled\"\n[loading]=\"loading\"\n[options]=\"options\"\n[tooltip]=\"tooltip\"\n(action)=\"onButtonClicked($event)\">\n</lib-ribbon-button>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1341
+ }
1342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonExportComponent, decorators: [{
1343
+ type: Component,
1344
+ args: [{ selector: 'framework-button-export', imports: [
1345
+ NgIf,
1346
+ RibbonButtonComponent,
1347
+ ], providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonExportComponent) }], template: "<lib-ribbon-button *ngIf=\"visible\"\nlabel=\"Button-Export\"\nicon=\"fa-file-export\"\n[disabled]=\"isButtonDisabled\"\n[loading]=\"loading\"\n[options]=\"options\"\n[tooltip]=\"tooltip\"\n(action)=\"onButtonClicked($event)\">\n</lib-ribbon-button>\n" }]
1348
+ }], ctorParameters: () => [], propDecorators: { fileBaseName: [{
1349
+ type: Input
1350
+ }] } });
1351
+
1263
1352
  class ButtonFiltersComponent extends BaseButton {
1264
1353
  //#region ViewChilds, Inputs, Outputs
1265
1354
  modal;
@@ -1344,7 +1433,7 @@ class ButtonFiltersComponent extends BaseButton {
1344
1433
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonFiltersComponent, isStandalone: true, selector: "framework-button-filters", inputs: { modalSize: "modalSize", modalTitle: "modalTitle", validateFormFunction: "validateFormFunction" }, providers: [
1345
1434
  FormService,
1346
1435
  { provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonFiltersComponent) },
1347
- ], viewQueries: [{ propertyName: "modal", first: true, predicate: ModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[color]=\"hasFiltersApplied ? 'text-amber-500' : 'text-primary-500'\"\n[disabled]=\"disabled\"\n[icon]=\"'fa-filter'\"\n[iconSize]=\"iconSize\"\n[label]=\"'Button-Filters'\"\n[loading]=\"loading\"\n(action)=\"onFiltersButtonClicked()\">\n</lib-ribbon-button>\n\n<lib-ribbon-button\n*ngIf=\"hasFiltersApplied\"\n[color]=\"'text-red-500'\"\n[disabled]=\"disabled\"\n[icon]=\"'fa-broom'\"\n[iconSize]=\"iconSize\"\n[label]=\"'Button-Filters-Clear'\"\n[loading]=\"loading\"\n(action)=\"onResetButtonClicked()\">\n</lib-ribbon-button>\n\n<lib-modal position=\"top\" [size]=\"modalSize\" [title]=\"modalTitle | translate\" [closeButtonText]=\"'Button-Modal-Cancel' | translate\">\n <ng-container body>\n <ng-content></ng-content>\n </ng-container>\n <div footer>\n <button type=\"submit\" class=\"btn blue-500\" (click)=\"onFiltersSubmitClicked()\">{{ 'Button-Filters-Modal-Confirm' | translate }}</button>\n </div>\n</lib-modal>", styles: [":host-context{display:grid;grid-auto-columns:auto;grid-auto-flow:column}\n"], dependencies: [{ kind: "component", type: ModalComponent, selector: "lib-modal", inputs: ["closeButtonText", "dialog", "modalProcessing", "position", "size", "title"], outputs: ["closed"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
1436
+ ], viewQueries: [{ propertyName: "modal", first: true, predicate: ModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[color]=\"hasFiltersApplied ? 'text-amber-500' : 'text-primary-500'\"\n[disabled]=\"disabled\"\n[icon]=\"'fa-filter'\"\n[iconSize]=\"iconSize\"\n[label]=\"'Button-Filters'\"\n[loading]=\"loading\"\n(action)=\"onFiltersButtonClicked()\">\n</lib-ribbon-button>\n\n<lib-ribbon-button\n*ngIf=\"hasFiltersApplied\"\n[color]=\"'text-red-500'\"\n[disabled]=\"disabled\"\n[icon]=\"'fa-broom'\"\n[iconSize]=\"iconSize\"\n[label]=\"'Button-Filters-Clear'\"\n[loading]=\"loading\"\n(action)=\"onResetButtonClicked()\">\n</lib-ribbon-button>\n\n<lib-modal position=\"top\" [size]=\"modalSize\" [title]=\"modalTitle | translate\" [closeButtonText]=\"'Button-Modal-Cancel' | translate\">\n <ng-container body>\n <ng-content></ng-content>\n </ng-container>\n <div footer>\n <button type=\"submit\" class=\"btn blue-500\" (click)=\"onFiltersSubmitClicked()\">{{ 'Button-Filters-Modal-Confirm' | translate }}</button>\n </div>\n</lib-modal>", styles: [":host-context{display:grid;grid-auto-columns:auto;grid-auto-flow:column}\n"], dependencies: [{ kind: "component", type: ModalComponent, selector: "lib-modal", inputs: ["closeButtonText", "dialog", "modalProcessing", "position", "size", "title"], outputs: ["closed"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
1348
1437
  }
1349
1438
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonFiltersComponent, decorators: [{
1350
1439
  type: Component,
@@ -1472,7 +1561,7 @@ class ButtonNewComponent extends BaseButton {
1472
1561
  this.tabService.navigateCurrentTab(tab);
1473
1562
  }
1474
1563
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1475
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonNewComponent, isStandalone: true, selector: "framework-button-new", inputs: { endpoint: "endpoint", parameters: "parameters", path: "path" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonNewComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible && (!hasDataProvider || hasDataProviderEntityID)\"\nicon=\"fa-plus\"\nlabel=\"Button-New\"\n[disabled]=\"disabled || !isAccessLoaded\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClicked($event)\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
1564
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonNewComponent, isStandalone: true, selector: "framework-button-new", inputs: { endpoint: "endpoint", parameters: "parameters", path: "path" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonNewComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible && (!hasDataProvider || hasDataProviderEntityID)\"\nicon=\"fa-plus\"\nlabel=\"Button-New\"\n[disabled]=\"disabled || !isAccessLoaded\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClicked($event)\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1476
1565
  }
1477
1566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewComponent, decorators: [{
1478
1567
  type: Component,
@@ -1528,7 +1617,7 @@ class ButtonOpenRecordComponent extends BaseButton {
1528
1617
  this.tabService.navigateCurrentTab(new Tab({ entityBaseUrl: path, url: path }));
1529
1618
  }
1530
1619
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1531
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonOpenRecordComponent, isStandalone: true, selector: "framework-button-open-record", inputs: { elementPath: "elementPath", rootPath: "rootPath" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonOpenRecordComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\nicon=\"fa-eye\"\nlabel=\"Button-Open-Record\"\n[disabled]=\"disabled || !isAccessLoaded || !isSelectedOneRecord\"\n[iconSize]=\"iconSize\"\n[loading]=\"loading\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
1620
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonOpenRecordComponent, isStandalone: true, selector: "framework-button-open-record", inputs: { elementPath: "elementPath", rootPath: "rootPath" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonOpenRecordComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\nicon=\"fa-eye\"\nlabel=\"Button-Open-Record\"\n[disabled]=\"disabled || !isAccessLoaded || !isSelectedOneRecord\"\n[iconSize]=\"iconSize\"\n[loading]=\"loading\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1532
1621
  }
1533
1622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordComponent, decorators: [{
1534
1623
  type: Component,
@@ -1569,7 +1658,7 @@ class ButtonRefreshComponent extends BaseButton {
1569
1658
  this.dataGridDataset?.refresh();
1570
1659
  }
1571
1660
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonRefreshComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1572
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonRefreshComponent, isStandalone: true, selector: "framework-button-refresh", providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonRefreshComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\nlabel=\"Button-Refresh\"\nicon=\"fa-sync-alt\"\n[disabled]=\"disabled\"\n[loading]=\"loading\"\n[iconSize]=\"iconSize\"\n(action)=\"onButtonClicked()\"\n></lib-ribbon-button>", dependencies: [{ kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
1661
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonRefreshComponent, isStandalone: true, selector: "framework-button-refresh", providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonRefreshComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\nlabel=\"Button-Refresh\"\nicon=\"fa-sync-alt\"\n[disabled]=\"disabled\"\n[loading]=\"loading\"\n[iconSize]=\"iconSize\"\n(action)=\"onButtonClicked()\"\n></lib-ribbon-button>", dependencies: [{ kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1573
1662
  }
1574
1663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonRefreshComponent, decorators: [{
1575
1664
  type: Component,
@@ -1713,7 +1802,7 @@ class ButtonSaveComponent extends BaseButton {
1713
1802
  return this.dataProviderService.saveModel(model);
1714
1803
  }
1715
1804
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1716
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonSaveComponent, isStandalone: true, selector: "framework-button-save", inputs: { defaultOption: "defaultOption" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonSaveComponent) }], viewQueries: [{ propertyName: "errorModal", first: true, predicate: ErrorModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\nlabel=\"Button-Save\"\nicon=\"fa-save\"\n[defaultOption]=\"defaultOption\"\n[disabled]=\"disabled || !isAccessLoaded || !isFormEditMode || isFormLoading\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClicked($event)\">\n</lib-ribbon-button>\n\n<framework-error-modal></framework-error-modal>", dependencies: [{ kind: "component", type: ErrorModalComponent, selector: "framework-error-modal", inputs: ["errorMessage", "size", "subtitle", "title"], outputs: ["closed"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
1805
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonSaveComponent, isStandalone: true, selector: "framework-button-save", inputs: { defaultOption: "defaultOption" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonSaveComponent) }], viewQueries: [{ propertyName: "errorModal", first: true, predicate: ErrorModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\nlabel=\"Button-Save\"\nicon=\"fa-save\"\n[defaultOption]=\"defaultOption\"\n[disabled]=\"disabled || !isAccessLoaded || !isFormEditMode || isFormLoading\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClicked($event)\">\n</lib-ribbon-button>\n\n<framework-error-modal></framework-error-modal>", dependencies: [{ kind: "component", type: ErrorModalComponent, selector: "framework-error-modal", inputs: ["errorMessage", "size", "subtitle", "title"], outputs: ["closed"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1717
1806
  }
1718
1807
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveComponent, decorators: [{
1719
1808
  type: Component,
@@ -1858,7 +1947,7 @@ class ButtonViewsComponent extends BaseButton {
1858
1947
  return this.defaultViewId;
1859
1948
  }
1860
1949
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1861
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonViewsComponent, isStandalone: true, selector: "framework-button-views", inputs: { detailsViewRoute: "detailsViewRoute" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonViewsComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"hasOptions\"\nicon=\"fa-eye\"\nlabel=\"Button-Views\"\n[disabled]=\"!isAccessLoaded || isNewEntity\"\n[options]=\"options\"\n(action)=\"onViewClicked($event)\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
1950
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonViewsComponent, isStandalone: true, selector: "framework-button-views", inputs: { detailsViewRoute: "detailsViewRoute" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonViewsComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"hasOptions\"\nicon=\"fa-eye\"\nlabel=\"Button-Views\"\n[disabled]=\"!isAccessLoaded || isNewEntity\"\n[options]=\"options\"\n(action)=\"onViewClicked($event)\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1862
1951
  }
1863
1952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsComponent, decorators: [{
1864
1953
  type: Component,
@@ -1891,7 +1980,7 @@ class ButtonComponent extends BaseButton {
1891
1980
  this.action.emit();
1892
1981
  }
1893
1982
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1894
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonComponent, isStandalone: true, selector: "framework-button", inputs: { color: "color", icon: "icon", label: "label" }, outputs: { action: "action" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\n[color]=\"color\"\n[disabled]=\"disabled || !isAccessLoaded\"\n[icon]=\"icon\"\n[iconSize]=\"iconSize\"\n[label]=\"label\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
1983
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonComponent, isStandalone: true, selector: "framework-button", inputs: { color: "color", icon: "icon", label: "label" }, outputs: { action: "action" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\n[color]=\"color\"\n[disabled]=\"disabled || !isAccessLoaded\"\n[icon]=\"icon\"\n[iconSize]=\"iconSize\"\n[label]=\"label\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClicked()\">\n</lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
1895
1984
  }
1896
1985
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonComponent, decorators: [{
1897
1986
  type: Component,
@@ -2783,7 +2872,7 @@ class ButtonEditLegacyComponent extends BaseButton {
2783
2872
  }
2784
2873
  }
2785
2874
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2786
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonEditLegacyComponent, isStandalone: true, selector: "framework-button-edit-legacy", inputs: { cancelColor: "cancelColor", cancelIcon: "cancelIcon", cancelLabel: "cancelLabel", editIcon: "editIcon", editLabel: "editLabel", form: "form", modal: "modal" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonEditLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible && (!form || form.viewMode !== 'edit')\"\n[disabled]=\"disabled || (!!form && form.loading)\"\n[icon]=\"editIcon\"\n[iconSize]=\"iconSize\"\n[label]=\"editLabel\"\n[loading]=\"loading\"\n(action)=\"onEditAction()\"\n></lib-ribbon-button>\n\n<lib-ribbon-button *ngIf=\"visible && form && form.viewMode === 'edit' && !form.isNew\"\n[color]=\"cancelColor\"\n[disabled]=\"disabled || form.loading\"\n[icon]=\"cancelIcon\"\n[label]=\"cancelLabel\"\n[loading]=\"loading\"\n(action)=\"onCancelAction()\"\n></lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
2875
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonEditLegacyComponent, isStandalone: true, selector: "framework-button-edit-legacy", inputs: { cancelColor: "cancelColor", cancelIcon: "cancelIcon", cancelLabel: "cancelLabel", editIcon: "editIcon", editLabel: "editLabel", form: "form", modal: "modal" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonEditLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible && (!form || form.viewMode !== 'edit')\"\n[disabled]=\"disabled || (!!form && form.loading)\"\n[icon]=\"editIcon\"\n[iconSize]=\"iconSize\"\n[label]=\"editLabel\"\n[loading]=\"loading\"\n(action)=\"onEditAction()\"\n></lib-ribbon-button>\n\n<lib-ribbon-button *ngIf=\"visible && form && form.viewMode === 'edit' && !form.isNew\"\n[color]=\"cancelColor\"\n[disabled]=\"disabled || form.loading\"\n[icon]=\"cancelIcon\"\n[label]=\"cancelLabel\"\n[loading]=\"loading\"\n(action)=\"onCancelAction()\"\n></lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
2787
2876
  }
2788
2877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditLegacyComponent, decorators: [{
2789
2878
  type: Component,
@@ -2833,7 +2922,7 @@ class ButtonNewLegacyComponent extends BaseButton {
2833
2922
  // this.tabService.navigateTab(this.tabView, `${this.path}/${this.endpoint}`);
2834
2923
  }
2835
2924
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2836
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonNewLegacyComponent, isStandalone: true, selector: "framework-button-new-legacy", inputs: { endpoint: "endpoint", path: "path", tabView: "tabView" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonNewLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[label]=\"'Button-New'\"\n[icon]=\"'fa-plus'\"\n[disabled]=\"disabled\"\n[loading]=\"loading\"\n(action)=\"clicked()\"\n*ngIf=\"visible\"\n></lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
2925
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonNewLegacyComponent, isStandalone: true, selector: "framework-button-new-legacy", inputs: { endpoint: "endpoint", path: "path", tabView: "tabView" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonNewLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[label]=\"'Button-New'\"\n[icon]=\"'fa-plus'\"\n[disabled]=\"disabled\"\n[loading]=\"loading\"\n(action)=\"clicked()\"\n*ngIf=\"visible\"\n></lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
2837
2926
  }
2838
2927
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewLegacyComponent, decorators: [{
2839
2928
  type: Component,
@@ -2888,7 +2977,7 @@ class ButtonOpenRecordLegacyComponent extends BaseButton {
2888
2977
  }
2889
2978
  }
2890
2979
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2891
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonOpenRecordLegacyComponent, isStandalone: true, selector: "framework-button-open-record-legacy", inputs: { endpoint: "endpoint", path: "path", tabView: "tabView" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonOpenRecordLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[label]=\"'Button-Open-Record'\"\n[icon]=\"'fa-eye'\"\n[disabled]=\"disabled || selectionCount !== 1\"\n[loading]=\"loading\"\n(action)=\"clicked()\"\n*ngIf=\"visible\"\n></lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
2980
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonOpenRecordLegacyComponent, isStandalone: true, selector: "framework-button-open-record-legacy", inputs: { endpoint: "endpoint", path: "path", tabView: "tabView" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonOpenRecordLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[label]=\"'Button-Open-Record'\"\n[icon]=\"'fa-eye'\"\n[disabled]=\"disabled || selectionCount !== 1\"\n[loading]=\"loading\"\n(action)=\"clicked()\"\n*ngIf=\"visible\"\n></lib-ribbon-button>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
2892
2981
  }
2893
2982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordLegacyComponent, decorators: [{
2894
2983
  type: Component,
@@ -2981,7 +3070,7 @@ class ButtonSaveLegacyComponent extends BaseButton {
2981
3070
  super.finishLoading(status);
2982
3071
  }
2983
3072
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2984
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonSaveLegacyComponent, isStandalone: true, selector: "framework-button-save-legacy", inputs: { defaultOption: "defaultOption", form: "form", tabView: "tabView" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonSaveLegacyComponent) }], viewQueries: [{ propertyName: "errorModal", first: true, predicate: ErrorModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\nlabel=\"Button-Save\"\nicon=\"fa-save\"\n[defaultOption]=\"defaultOption\"\n[disabled]=\"disabled || (form?.viewMode !== 'edit') || (form?.loading ?? false)\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClick($event)\">\n</lib-ribbon-button>\n\n<framework-error-modal></framework-error-modal>", dependencies: [{ kind: "component", type: ErrorModalComponent, selector: "framework-error-modal", inputs: ["errorMessage", "size", "subtitle", "title"], outputs: ["closed"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
3073
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonSaveLegacyComponent, isStandalone: true, selector: "framework-button-save-legacy", inputs: { defaultOption: "defaultOption", form: "form", tabView: "tabView" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonSaveLegacyComponent) }], viewQueries: [{ propertyName: "errorModal", first: true, predicate: ErrorModalComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button *ngIf=\"visible\"\nlabel=\"Button-Save\"\nicon=\"fa-save\"\n[defaultOption]=\"defaultOption\"\n[disabled]=\"disabled || (form?.viewMode !== 'edit') || (form?.loading ?? false)\"\n[loading]=\"loading\"\n[options]=\"options\"\n(action)=\"onButtonClick($event)\">\n</lib-ribbon-button>\n\n<framework-error-modal></framework-error-modal>", dependencies: [{ kind: "component", type: ErrorModalComponent, selector: "framework-error-modal", inputs: ["errorMessage", "size", "subtitle", "title"], outputs: ["closed"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
2985
3074
  }
2986
3075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveLegacyComponent, decorators: [{
2987
3076
  type: Component,
@@ -3013,7 +3102,7 @@ class ButtonViewsLegacyComponent extends BaseButton {
3013
3102
  this.viewChanged.emit(option);
3014
3103
  }
3015
3104
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3016
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonViewsLegacyComponent, isStandalone: true, selector: "framework-button-views-legacy", inputs: { views: "views" }, outputs: { viewChanged: "viewChanged" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonViewsLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[label]=\"'Button-Views'\"\n[icon]=\"'fa-eye'\"\n[options]=\"views\"\n(action)=\"clicked($event)\"\n></lib-ribbon-button>", dependencies: [{ kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options"], outputs: ["action"] }] });
3105
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.6", type: ButtonViewsLegacyComponent, isStandalone: true, selector: "framework-button-views-legacy", inputs: { views: "views" }, outputs: { viewChanged: "viewChanged" }, providers: [{ provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonViewsLegacyComponent) }], usesInheritance: true, ngImport: i0, template: "<lib-ribbon-button\n[label]=\"'Button-Views'\"\n[icon]=\"'fa-eye'\"\n[options]=\"views\"\n(action)=\"clicked($event)\"\n></lib-ribbon-button>", dependencies: [{ kind: "component", type: RibbonButtonComponent, selector: "lib-ribbon-button", inputs: ["color", "defaultOption", "disabled", "icon", "iconSize", "label", "loading", "options", "tooltip"], outputs: ["action"] }] });
3017
3106
  }
3018
3107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsLegacyComponent, decorators: [{
3019
3108
  type: Component,
@@ -3034,6 +3123,7 @@ class FrameworkButtonsModule {
3034
3123
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: FrameworkButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3035
3124
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.6", ngImport: i0, type: FrameworkButtonsModule, imports: [ButtonDeleteComponent,
3036
3125
  ButtonEditComponent,
3126
+ ButtonExportComponent,
3037
3127
  ButtonFiltersComponent,
3038
3128
  ButtonNewComponent,
3039
3129
  ButtonOpenRecordComponent,
@@ -3046,6 +3136,7 @@ class FrameworkButtonsModule {
3046
3136
  ButtonViewsLegacyComponent,
3047
3137
  ButtonOpenRecordLegacyComponent], exports: [ButtonDeleteComponent,
3048
3138
  ButtonEditComponent,
3139
+ ButtonExportComponent,
3049
3140
  ButtonFiltersComponent,
3050
3141
  ButtonNewComponent,
3051
3142
  ButtonOpenRecordComponent,
@@ -3059,6 +3150,7 @@ class FrameworkButtonsModule {
3059
3150
  ButtonOpenRecordLegacyComponent] });
3060
3151
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: FrameworkButtonsModule, imports: [ButtonDeleteComponent,
3061
3152
  ButtonEditComponent,
3153
+ ButtonExportComponent,
3062
3154
  ButtonFiltersComponent,
3063
3155
  ButtonNewComponent,
3064
3156
  ButtonOpenRecordComponent,
@@ -3078,6 +3170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
3078
3170
  imports: [
3079
3171
  ButtonDeleteComponent,
3080
3172
  ButtonEditComponent,
3173
+ ButtonExportComponent,
3081
3174
  ButtonFiltersComponent,
3082
3175
  ButtonNewComponent,
3083
3176
  ButtonOpenRecordComponent,
@@ -3093,6 +3186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
3093
3186
  exports: [
3094
3187
  ButtonDeleteComponent,
3095
3188
  ButtonEditComponent,
3189
+ ButtonExportComponent,
3096
3190
  ButtonFiltersComponent,
3097
3191
  ButtonNewComponent,
3098
3192
  ButtonOpenRecordComponent,
@@ -3590,5 +3684,5 @@ function provideZambonFrameworkTranslateService(config = {}) {
3590
3684
  * Generated bundle index. Do not edit.
3591
3685
  */
3592
3686
 
3593
- export { APP_CONFIG, AppConfig, AuthService, BackendFormValidationHelper, BaseButton, BaseFormViewButton, ButtonComponent, ButtonConfirmComponent, ButtonDeleteComponent, ButtonEditComponent, ButtonEditLegacyComponent, ButtonFiltersComponent, ButtonNewComponent, ButtonNewLegacyComponent, ButtonOpenRecordComponent, ButtonOpenRecordLegacyComponent, ButtonRefreshComponent, ButtonSaveComponent, ButtonSaveLegacyComponent, ButtonViewsComponent, ButtonViewsLegacyComponent, ChildList, ChildListLegacy, ConfirmModalComponent, CustomReuseStrategy, DefaultDetailsTabViewComponent, DefaultTabViewComponent, ErrorModalComponent, FRAMEWORK_VIEW_TYPE, FormView, FrameworkButtonsModule, FrameworkComponentsModule, FrameworkGridConfigsProvider, FrameworkModalsModule, FrameworkModule, FrameworkViewType, FrameworkViewsModule, LegacySubViewForm, LegacyTabViewDetails, LegacyTabViewList, ListView, ModalBase, MultiEditorLegacyModal, MultiEditorModal, MultiSelectModal, RouteHelper, Tab, TabBreadcrumbsComponent, TabService, TabViewBase, TabViewList, TabViewService, TabsComponent, ViewBase, ViewModal, ZAMBON_FRAMEWORK_I18N_ASSET, ZAMBON_FRAMEWORK_I18N_ASSET_PATH, ZAMBON_FRAMEWORK_I18N_RESOURCES, createZambonFrameworkTranslateLoader, provideZambonFrameworkTranslateLoader, provideZambonFrameworkTranslateService };
3687
+ export { APP_CONFIG, AppConfig, AuthService, BackendFormValidationHelper, BaseButton, BaseFormViewButton, ButtonComponent, ButtonConfirmComponent, ButtonDeleteComponent, ButtonEditComponent, ButtonEditLegacyComponent, ButtonExportComponent, ButtonFiltersComponent, ButtonNewComponent, ButtonNewLegacyComponent, ButtonOpenRecordComponent, ButtonOpenRecordLegacyComponent, ButtonRefreshComponent, ButtonSaveComponent, ButtonSaveLegacyComponent, ButtonViewsComponent, ButtonViewsLegacyComponent, ChildList, ChildListLegacy, ConfirmModalComponent, CustomReuseStrategy, DefaultDetailsTabViewComponent, DefaultTabViewComponent, ErrorModalComponent, FRAMEWORK_VIEW_TYPE, FormView, FrameworkButtonsModule, FrameworkComponentsModule, FrameworkGridConfigsProvider, FrameworkModalsModule, FrameworkModule, FrameworkViewType, FrameworkViewsModule, LegacySubViewForm, LegacyTabViewDetails, LegacyTabViewList, ListView, MaxExportRows, ModalBase, MultiEditorLegacyModal, MultiEditorModal, MultiSelectModal, RouteHelper, Tab, TabBreadcrumbsComponent, TabService, TabViewBase, TabViewList, TabViewService, TabsComponent, ViewBase, ViewModal, ZAMBON_FRAMEWORK_I18N_ASSET, ZAMBON_FRAMEWORK_I18N_ASSET_PATH, ZAMBON_FRAMEWORK_I18N_RESOURCES, createZambonFrameworkTranslateLoader, provideZambonFrameworkTranslateLoader, provideZambonFrameworkTranslateService };
3594
3688
  //# sourceMappingURL=zambon-dev-framework.mjs.map