@zambon-dev/framework 1.0.1 → 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,10 +9,11 @@ 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 } 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
- import { HttpErrorResponse } from '@angular/common/http';
15
+ import { HttpErrorResponse, HttpBackend } from '@angular/common/http';
16
+ import { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader';
16
17
 
17
18
  const ADMINISTRATIVE_MASTER_ACTION = 'AdministrativeMaster';
18
19
  class AuthService {
@@ -1055,7 +1056,7 @@ class ButtonConfirmComponent extends BaseButton {
1055
1056
  });
1056
1057
  }
1057
1058
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1058
- 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" }] });
1059
1060
  }
1060
1061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonConfirmComponent, decorators: [{
1061
1062
  type: Component,
@@ -1133,7 +1134,7 @@ class ButtonDeleteComponent extends BaseButton {
1133
1134
  });
1134
1135
  }
1135
1136
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1136
- 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" }] });
1137
1138
  }
1138
1139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonDeleteComponent, decorators: [{
1139
1140
  type: Component,
@@ -1237,7 +1238,7 @@ class ButtonEditComponent extends BaseButton {
1237
1238
  }
1238
1239
  }
1239
1240
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1240
- 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"] }] });
1241
1242
  }
1242
1243
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditComponent, decorators: [{
1243
1244
  type: Component,
@@ -1259,6 +1260,95 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
1259
1260
  type: Input
1260
1261
  }] } });
1261
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
+
1262
1352
  class ButtonFiltersComponent extends BaseButton {
1263
1353
  //#region ViewChilds, Inputs, Outputs
1264
1354
  modal;
@@ -1343,7 +1433,7 @@ class ButtonFiltersComponent extends BaseButton {
1343
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: [
1344
1434
  FormService,
1345
1435
  { provide: RibbonGroupChild, useExisting: forwardRef(() => ButtonFiltersComponent) },
1346
- ], 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" }] });
1347
1437
  }
1348
1438
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonFiltersComponent, decorators: [{
1349
1439
  type: Component,
@@ -1471,7 +1561,7 @@ class ButtonNewComponent extends BaseButton {
1471
1561
  this.tabService.navigateCurrentTab(tab);
1472
1562
  }
1473
1563
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1474
- 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"] }] });
1475
1565
  }
1476
1566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewComponent, decorators: [{
1477
1567
  type: Component,
@@ -1527,7 +1617,7 @@ class ButtonOpenRecordComponent extends BaseButton {
1527
1617
  this.tabService.navigateCurrentTab(new Tab({ entityBaseUrl: path, url: path }));
1528
1618
  }
1529
1619
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1530
- 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"] }] });
1531
1621
  }
1532
1622
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordComponent, decorators: [{
1533
1623
  type: Component,
@@ -1568,7 +1658,7 @@ class ButtonRefreshComponent extends BaseButton {
1568
1658
  this.dataGridDataset?.refresh();
1569
1659
  }
1570
1660
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonRefreshComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1571
- 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"] }] });
1572
1662
  }
1573
1663
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonRefreshComponent, decorators: [{
1574
1664
  type: Component,
@@ -1712,7 +1802,7 @@ class ButtonSaveComponent extends BaseButton {
1712
1802
  return this.dataProviderService.saveModel(model);
1713
1803
  }
1714
1804
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1715
- 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"] }] });
1716
1806
  }
1717
1807
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveComponent, decorators: [{
1718
1808
  type: Component,
@@ -1857,7 +1947,7 @@ class ButtonViewsComponent extends BaseButton {
1857
1947
  return this.defaultViewId;
1858
1948
  }
1859
1949
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1860
- 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"] }] });
1861
1951
  }
1862
1952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsComponent, decorators: [{
1863
1953
  type: Component,
@@ -1890,7 +1980,7 @@ class ButtonComponent extends BaseButton {
1890
1980
  this.action.emit();
1891
1981
  }
1892
1982
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1893
- 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"] }] });
1894
1984
  }
1895
1985
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonComponent, decorators: [{
1896
1986
  type: Component,
@@ -2782,7 +2872,7 @@ class ButtonEditLegacyComponent extends BaseButton {
2782
2872
  }
2783
2873
  }
2784
2874
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2785
- 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"] }] });
2786
2876
  }
2787
2877
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonEditLegacyComponent, decorators: [{
2788
2878
  type: Component,
@@ -2832,7 +2922,7 @@ class ButtonNewLegacyComponent extends BaseButton {
2832
2922
  // this.tabService.navigateTab(this.tabView, `${this.path}/${this.endpoint}`);
2833
2923
  }
2834
2924
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2835
- 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"] }] });
2836
2926
  }
2837
2927
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonNewLegacyComponent, decorators: [{
2838
2928
  type: Component,
@@ -2887,7 +2977,7 @@ class ButtonOpenRecordLegacyComponent extends BaseButton {
2887
2977
  }
2888
2978
  }
2889
2979
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2890
- 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"] }] });
2891
2981
  }
2892
2982
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonOpenRecordLegacyComponent, decorators: [{
2893
2983
  type: Component,
@@ -2980,7 +3070,7 @@ class ButtonSaveLegacyComponent extends BaseButton {
2980
3070
  super.finishLoading(status);
2981
3071
  }
2982
3072
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2983
- 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"] }] });
2984
3074
  }
2985
3075
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonSaveLegacyComponent, decorators: [{
2986
3076
  type: Component,
@@ -3012,7 +3102,7 @@ class ButtonViewsLegacyComponent extends BaseButton {
3012
3102
  this.viewChanged.emit(option);
3013
3103
  }
3014
3104
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsLegacyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3015
- 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"] }] });
3016
3106
  }
3017
3107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: ButtonViewsLegacyComponent, decorators: [{
3018
3108
  type: Component,
@@ -3033,6 +3123,7 @@ class FrameworkButtonsModule {
3033
3123
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: FrameworkButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3034
3124
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.6", ngImport: i0, type: FrameworkButtonsModule, imports: [ButtonDeleteComponent,
3035
3125
  ButtonEditComponent,
3126
+ ButtonExportComponent,
3036
3127
  ButtonFiltersComponent,
3037
3128
  ButtonNewComponent,
3038
3129
  ButtonOpenRecordComponent,
@@ -3045,6 +3136,7 @@ class FrameworkButtonsModule {
3045
3136
  ButtonViewsLegacyComponent,
3046
3137
  ButtonOpenRecordLegacyComponent], exports: [ButtonDeleteComponent,
3047
3138
  ButtonEditComponent,
3139
+ ButtonExportComponent,
3048
3140
  ButtonFiltersComponent,
3049
3141
  ButtonNewComponent,
3050
3142
  ButtonOpenRecordComponent,
@@ -3058,6 +3150,7 @@ class FrameworkButtonsModule {
3058
3150
  ButtonOpenRecordLegacyComponent] });
3059
3151
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.6", ngImport: i0, type: FrameworkButtonsModule, imports: [ButtonDeleteComponent,
3060
3152
  ButtonEditComponent,
3153
+ ButtonExportComponent,
3061
3154
  ButtonFiltersComponent,
3062
3155
  ButtonNewComponent,
3063
3156
  ButtonOpenRecordComponent,
@@ -3077,6 +3170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
3077
3170
  imports: [
3078
3171
  ButtonDeleteComponent,
3079
3172
  ButtonEditComponent,
3173
+ ButtonExportComponent,
3080
3174
  ButtonFiltersComponent,
3081
3175
  ButtonNewComponent,
3082
3176
  ButtonOpenRecordComponent,
@@ -3092,6 +3186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
3092
3186
  exports: [
3093
3187
  ButtonDeleteComponent,
3094
3188
  ButtonEditComponent,
3189
+ ButtonExportComponent,
3095
3190
  ButtonFiltersComponent,
3096
3191
  ButtonNewComponent,
3097
3192
  ButtonOpenRecordComponent,
@@ -3556,9 +3651,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.6", ngImpor
3556
3651
  }]
3557
3652
  }] });
3558
3653
 
3654
+ const ZAMBON_FRAMEWORK_I18N_ASSET_PATH = 'assets/i18n/zambon-dev/framework';
3655
+ const ZAMBON_FRAMEWORK_I18N_ASSET = {
3656
+ glob: '**/*.json',
3657
+ input: 'node_modules/@zambon-dev/framework/i18n',
3658
+ output: ZAMBON_FRAMEWORK_I18N_ASSET_PATH,
3659
+ };
3660
+ const ZAMBON_FRAMEWORK_I18N_RESOURCES = [
3661
+ { prefix: `/${ZAMBON_FRAMEWORK_I18N_ASSET_PATH}/`, suffix: '.json' },
3662
+ ];
3663
+ function createZambonFrameworkTranslateLoader(httpBackend, appResources = []) {
3664
+ return new MultiTranslateHttpLoader(httpBackend, [
3665
+ ...ZAMBON_FRAMEWORK_I18N_RESOURCES,
3666
+ ...appResources,
3667
+ ]);
3668
+ }
3669
+ function provideZambonFrameworkTranslateLoader(appResources = []) {
3670
+ return {
3671
+ provide: TranslateLoader,
3672
+ useFactory: (httpBackend) => createZambonFrameworkTranslateLoader(httpBackend, appResources),
3673
+ deps: [HttpBackend],
3674
+ };
3675
+ }
3676
+ function provideZambonFrameworkTranslateService(config = {}) {
3677
+ return provideTranslateService({
3678
+ defaultLanguage: config.defaultLanguage,
3679
+ loader: provideZambonFrameworkTranslateLoader(config.appResources),
3680
+ });
3681
+ }
3682
+
3559
3683
  /**
3560
3684
  * Generated bundle index. Do not edit.
3561
3685
  */
3562
3686
 
3563
- 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 };
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 };
3564
3688
  //# sourceMappingURL=zambon-dev-framework.mjs.map