geonetwork-ui 2.6.1 → 2.6.2-dev.0ddab62ac

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.
@@ -2,7 +2,7 @@ import { ScrollingModule } from '@angular/cdk/scrolling';
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
3
3
  import { MatSort, MatSortModule } from '@angular/material/sort';
4
4
  import { MatTableModule } from '@angular/material/table';
5
- import { TranslatePipe, TranslateService } from '@ngx-translate/core';
5
+ import { TranslateDirective, TranslatePipe, TranslateService, } from '@ngx-translate/core';
6
6
  import { DataTableDataSource } from './data-table.data.source';
7
7
  import { BaseReader, FetchError } from '../../../../../../libs/util/data-fetcher/src';
8
8
  import { MatPaginator, MatPaginatorIntl, MatPaginatorModule, } from '@angular/material/paginator';
@@ -105,7 +105,7 @@ export class DataTableComponent {
105
105
  }
106
106
  }
107
107
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "gn-ui-data-table", inputs: { featureAttributes: "featureAttributes", dataset: "dataset", activeId: "activeId" }, outputs: { selected: "selected" }, providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "gn-ui-data-table", inputs: { featureAttributes: "featureAttributes", dataset: "dataset", activeId: "activeId" }, outputs: { selected: "selected" }, providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
109
109
  }
110
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, decorators: [{
111
111
  type: Component,
@@ -119,6 +119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
119
119
  PopupAlertComponent,
120
120
  LetDirective,
121
121
  TranslatePipe,
122
+ TranslateDirective,
122
123
  ], providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], selector: 'gn-ui-data-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"] }]
123
124
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.TranslateService }], propDecorators: { featureAttributes: [{
124
125
  type: Input
@@ -135,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
135
136
  type: ViewChild,
136
137
  args: [MatPaginator]
137
138
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYy9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQTtBQUNyRixPQUFPLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsTUFBTSw2QkFBNkIsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlE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d0JBQ3BCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixhQUFhO3FCQUNkLGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxZQUNsRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTTs4SUFJbEMsaUJBQWlCO3NCQUE3QixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUVhLElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTztnQkFDTyxTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJ1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdFNvcnQsIE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0J1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRGF0YVRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YS10YWJsZS5kYXRhLnNvdXJjZSdcbmltcG9ydCB7IEJhc2VSZWFkZXIsIEZldGNoRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcbmltcG9ydCB7XG4gIE1hdFBhZ2luYXRvcixcbiAgTWF0UGFnaW5hdG9ySW50bCxcbiAgTWF0UGFnaW5hdG9yTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InXG5pbXBvcnQgeyBDdXN0b21NYXRQYWdpbmF0b3JJbnRsIH0gZnJvbSAnLi9jdXN0b20ubWF0LnBhZ2luYXRvci5pbnRsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50J1xuXG5jb25zdCByb3dJZFByZWZpeCA9ICd0YWJsZS1pdGVtLSdcblxuZXhwb3J0IHR5cGUgVGFibGVJdGVtSWQgPSBzdHJpbmcgfCBudW1iZXJcbnR5cGUgVGFibGVJdGVtVHlwZSA9IHN0cmluZyB8IG51bWJlciB8IERhdGVcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUl0ZW1Nb2RlbCB7XG4gIGlkOiBUYWJsZUl0ZW1JZFxuICBba2V5OiBzdHJpbmddOiBUYWJsZUl0ZW1UeXBlXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICAgIExldERpcmVjdGl2ZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdFBhZ2luYXRvckludGwsIHVzZUNsYXNzOiBDdXN0b21NYXRQYWdpbmF0b3JJbnRsIH1dLFxuICBzZWxlY3RvcjogJ2duLXVpLWRhdGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBfZmVhdHVyZUF0dHJpYnV0ZXMgPSBbXVxuICBASW5wdXQoKSBzZXQgZmVhdHVyZUF0dHJpYnV0ZXModmFsdWU6IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9W10pIHtcbiAgICB0aGlzLl9mZWF0dXJlQXR0cmlidXRlcyA9IHZhbHVlXG4gICAgdGhpcy5wcm9wZXJ0aWVzJC5uZXh0KHZhbHVlLm1hcCgoYXR0cikgPT4gYXR0ci52YWx1ZSkpXG4gIH1cbiAgQElucHV0KCkgc2V0IGRhdGFzZXQodmFsdWU6IEJhc2VSZWFkZXIpIHtcbiAgICB0aGlzLmRhdGFzZXRfID0gdmFsdWVcbiAgICB0aGlzLmRhdGFzZXRfLmxvYWQoKVxuICAgIHRoaXMuZGF0YXNldF8uaW5mby50aGVuKChpbmZvKSA9PiAodGhpcy5jb3VudCA9IGluZm8uaXRlbXNDb3VudCkpXG4gIH1cbiAgQElucHV0KCkgYWN0aXZlSWQ6IFRhYmxlSXRlbUlkXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0XG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvclxuXG4gIGRhdGFzZXRfOiBCYXNlUmVhZGVyXG4gIHByb3BlcnRpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4obnVsbClcbiAgZGF0YVNvdXJjZTogRGF0YVRhYmxlRGF0YVNvdXJjZVxuICBoZWFkZXJIZWlnaHQ6IG51bWJlclxuICBjb3VudDogbnVtYmVyXG4gIGxvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSlcbiAgZXJyb3IgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbHRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IERhdGFUYWJsZURhdGFTb3VyY2UoKVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuaGVhZGVySGVpZ2h0ID1cbiAgICAgIHRoaXMuZWx0UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5vZmZzZXRIZWlnaHRcbiAgICB0aGlzLnNldFBhZ2luYXRpb24oKVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5zZXRQYWdpbmF0aW9uKClcbiAgfVxuXG4gIHNldFNvcnQoc29ydDogTWF0U29ydCkge1xuICAgIGlmICghdGhpcy5kYXRhc2V0XykgcmV0dXJuXG4gICAgaWYgKCFzb3J0LmFjdGl2ZSkge1xuICAgICAgdGhpcy5kYXRhc2V0Xy5vcmRlckJ5KClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRhc2V0Xy5vcmRlckJ5KFtzb3J0LmRpcmVjdGlvbiB8fCAnYXNjJywgc29ydC5hY3RpdmVdKVxuICAgIH1cbiAgICB0aGlzLnJlYWREYXRhKClcbiAgfVxuXG4gIHNldFBhZ2luYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLnBhZ2luYXRvcikgcmV0dXJuXG4gICAgaWYgKCF0aGlzLmRhdGFzZXRfKSByZXR1cm5cbiAgICB0aGlzLmRhdGFzZXRfLmxpbWl0KFxuICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ICogdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsXG4gICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZVxuICAgIClcbiAgICB0aGlzLnJlYWREYXRhKClcbiAgfVxuXG4gIGFzeW5jIHJlYWREYXRhKCkge1xuICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKVxuICAgIC8vIHdhaXQgZm9yIHByb3BlcnRpZXMgdG8gYmUgcmVhZFxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMucHJvcGVydGllcyQucGlwZShmaWx0ZXIoKHApID0+ICEhcCkpXG4gICAgKVxuICAgIGNvbnN0IHByb3BzV2l0aG91dEdlb20gPSBwcm9wZXJ0aWVzLmZpbHRlcihcbiAgICAgIChwKSA9PiAhcC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2dlb20nKVxuICAgIClcbiAgICB0aGlzLmRhdGFzZXRfLnNlbGVjdCguLi5wcm9wc1dpdGhvdXRHZW9tKVxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmRhdGFTb3VyY2Uuc2hvd0RhdGEodGhpcy5kYXRhc2V0Xy5yZWFkKCkpXG4gICAgICB0aGlzLmVycm9yID0gbnVsbFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yIGFzIEZldGNoRXJyb3IgfCBFcnJvcilcbiAgICB9XG4gICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKVxuICB9XG5cbiAgc2Nyb2xsVG9JdGVtKGl0ZW1JZDogVGFibGVJdGVtSWQpOiB2b2lkIHtcbiAgICBjb25zdCByb3cgPSB0aGlzLmVsdFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBgIyR7dGhpcy5nZXRSb3dFbHRJZChpdGVtSWQpfWBcbiAgICApXG4gICAgdGhpcy5lbHRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSByb3cub2Zmc2V0VG9wIC0gdGhpcy5oZWFkZXJIZWlnaHRcbiAgfVxuXG4gIHB1YmxpYyBnZXRSb3dFbHRJZChpZDogVGFibGVJdGVtSWQpOiBzdHJpbmcge1xuICAgIHJldHVybiByb3dJZFByZWZpeCArIGlkXG4gIH1cblxuICBoYW5kbGVFcnJvcihlcnJvcjogRmV0Y2hFcnJvciB8IEVycm9yKSB7XG4gICAgdGhpcy5kYXRhU291cmNlLmNsZWFyRGF0YSgpXG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRmV0Y2hFcnJvcikge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBgZGF0YXNldC5lcnJvci4ke2Vycm9yLnR5cGV9YCxcbiAgICAgICAge1xuICAgICAgICAgIGluZm86IGVycm9yLmluZm8sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIGNvbnNvbGUud2FybihlcnJvci5tZXNzYWdlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVycm9yID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXJyb3IubWVzc2FnZSlcbiAgICAgIGNvbnNvbGUud2FybihlcnJvci5zdGFjayB8fCBlcnJvcilcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGJvcmRlciBib3JkZXItZ3JheS0zMDAgcm91bmRlZC1sZyBiZy13aGl0ZSBoLWZ1bGxcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXgtMSBvdmVyZmxvdy15LWhpZGRlbiBvdmVyZmxvdy14LWF1dG8gcm91bmRlZC1sZyByZWxhdGl2ZVwiPlxuICAgIDx0YWJsZVxuICAgICAgbWF0LXRhYmxlXG4gICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICAgIG1hdFNvcnRcbiAgICAgIChtYXRTb3J0Q2hhbmdlKT1cInNldFNvcnQoJGV2ZW50KVwiXG4gICAgICBbbWF0U29ydERpc2FibGVDbGVhcl09XCJ0cnVlXCJcbiAgICAgICpuZ3J4TGV0PVwicHJvcGVydGllcyQgYXMgcHJvcGVydGllc1wiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJsZXQgYXR0ciBvZiBfZmVhdHVyZUF0dHJpYnV0ZXNcIlxuICAgICAgICBbbWF0Q29sdW1uRGVmXT1cImF0dHIudmFsdWVcIlxuICAgICAgPlxuICAgICAgICA8dGhcbiAgICAgICAgICBtYXQtaGVhZGVyLWNlbGxcbiAgICAgICAgICAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSB0ZXh0LWJsYWNrIGJnLXdoaXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGF0dHIubGFiZWwgfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkXG4gICAgICAgICAgbWF0LWNlbGxcbiAgICAgICAgICAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCJcbiAgICAgICAgICBjbGFzcz1cIndoaXRlc3BhY2Utbm93cmFwIHByLTEgdHJ1bmNhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZWxlbWVudFthdHRyLnZhbHVlXSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwicHJvcGVydGllczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cbiAgICAgIDx0clxuICAgICAgICBbaWRdPVwiZ2V0Um93RWx0SWQocm93LmlkKVwiXG4gICAgICAgIG1hdC1yb3dcbiAgICAgICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IHByb3BlcnRpZXNcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWQuZW1pdChyb3cpXCJcbiAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJcbiAgICAgICAgICBhY3RpdmVJZCAhPT0gdW5kZWZpbmVkICYmIGFjdGl2ZUlkICE9PSBudWxsICYmIHJvdy5pZCA9PT0gYWN0aXZlSWRcbiAgICAgICAgXCJcbiAgICAgID48L3RyPlxuICAgIDwvdGFibGU+XG4gICAgPGduLXVpLWxvYWRpbmctbWFza1xuICAgICAgKm5nSWY9XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICAgIGNsYXNzPVwic3RpY2t5IGluc2V0LTBcIlxuICAgICAgW21lc3NhZ2VdPVwiJ3RhYmxlLmxvYWRpbmcuZGF0YScgfCB0cmFuc2xhdGVcIlxuICAgID48L2duLXVpLWxvYWRpbmctbWFzaz5cbiAgICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgICAgdHlwZT1cIndhcm5pbmdcIlxuICAgICAgaWNvbj1cIm1hdEVycm9yT3V0bGluZU91dGxpbmVcIlxuICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBtLTIgaW5zZXQtMCB6LVsxMDBdXCJcbiAgICA+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgPC9nbi11aS1wb3B1cC1hbGVydD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS05MDAgcHgtNCBweS0yIHRleHQtc21cIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY291bnQgZm9udC1leHRyYWJvbGQgdGV4dC1wcmltYXJ5XCI+e3sgY291bnQgfX08L3NwYW5cbiAgICAgID4mbmJzcDs8c3BhbiB0cmFuc2xhdGU+dGFibGUub2JqZWN0LmNvdW50PC9zcGFuPi5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtcGFnaW5hdG9yXG4gICAgICBjbGFzcz1cIm15LVstMTZweF1cIlxuICAgICAgKHBhZ2UpPVwic2V0UGFnaW5hdGlvbigpXCJcbiAgICAgIFtsZW5ndGhdPVwiY291bnRcIlxuICAgICAgW3BhZ2VTaXplXT1cIjEwXCJcbiAgICAgIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgIFtoaWRlUGFnZVNpemVdPVwidHJ1ZVwiXG4gICAgPjwvbWF0LXBhZ2luYXRvcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2RhdGF2aXovc3JjL2xpYi9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9kYXRhdml6L3NyYy9saWIvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN4RCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN4RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQ3JGLE9BQU8sRUFDTCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLDZCQUE2QixDQUFBO0FBQ3BDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxN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QWU7d0JBQ2YsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGtCQUFrQjtxQkFDbkIsYUFDVSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLFlBQ2xFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzhJQUlsQyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRWEsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTWF0U29ydCwgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJ1xuaW1wb3J0IHtcbiAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICBUcmFuc2xhdGVQaXBlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxufSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgRGF0YVRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YS10YWJsZS5kYXRhLnNvdXJjZSdcbmltcG9ydCB7IEJhc2VSZWFkZXIsIEZldGNoRXJyb3IgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYydcbmltcG9ydCB7XG4gIE1hdFBhZ2luYXRvcixcbiAgTWF0UGFnaW5hdG9ySW50bCxcbiAgTWF0UGFnaW5hdG9yTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InXG5pbXBvcnQgeyBDdXN0b21NYXRQYWdpbmF0b3JJbnRsIH0gZnJvbSAnLi9jdXN0b20ubWF0LnBhZ2luYXRvci5pbnRsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gIExvYWRpbmdNYXNrQ29tcG9uZW50LFxuICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50J1xuXG5jb25zdCByb3dJZFByZWZpeCA9ICd0YWJsZS1pdGVtLSdcblxuZXhwb3J0IHR5cGUgVGFibGVJdGVtSWQgPSBzdHJpbmcgfCBudW1iZXJcbnR5cGUgVGFibGVJdGVtVHlwZSA9IHN0cmluZyB8IG51bWJlciB8IERhdGVcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUl0ZW1Nb2RlbCB7XG4gIGlkOiBUYWJsZUl0ZW1JZFxuICBba2V5OiBzdHJpbmddOiBUYWJsZUl0ZW1UeXBlXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBMb2FkaW5nTWFza0NvbXBvbmVudCxcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICAgIExldERpcmVjdGl2ZSxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBNYXRQYWdpbmF0b3JJbnRsLCB1c2VDbGFzczogQ3VzdG9tTWF0UGFnaW5hdG9ySW50bCB9XSxcbiAgc2VsZWN0b3I6ICdnbi11aS1kYXRhLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgX2ZlYXR1cmVBdHRyaWJ1dGVzID0gW11cbiAgQElucHV0KCkgc2V0IGZlYXR1cmVBdHRyaWJ1dGVzKHZhbHVlOiB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfVtdKSB7XG4gICAgdGhpcy5fZmVhdHVyZUF0dHJpYnV0ZXMgPSB2YWx1ZVxuICAgIHRoaXMucHJvcGVydGllcyQubmV4dCh2YWx1ZS5tYXAoKGF0dHIpID0+IGF0dHIudmFsdWUpKVxuICB9XG4gIEBJbnB1dCgpIHNldCBkYXRhc2V0KHZhbHVlOiBCYXNlUmVhZGVyKSB7XG4gICAgdGhpcy5kYXRhc2V0XyA9IHZhbHVlXG4gICAgdGhpcy5kYXRhc2V0Xy5sb2FkKClcbiAgICB0aGlzLmRhdGFzZXRfLmluZm8udGhlbigoaW5mbykgPT4gKHRoaXMuY291bnQgPSBpbmZvLml0ZW1zQ291bnQpKVxuICB9XG4gIEBJbnB1dCgpIGFjdGl2ZUlkOiBUYWJsZUl0ZW1JZFxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydDogTWF0U29ydFxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3JcblxuICBkYXRhc2V0XzogQmFzZVJlYWRlclxuICBwcm9wZXJ0aWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KG51bGwpXG4gIGRhdGFTb3VyY2U6IERhdGFUYWJsZURhdGFTb3VyY2VcbiAgaGVhZGVySGVpZ2h0OiBudW1iZXJcbiAgY291bnQ6IG51bWJlclxuICBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpXG4gIGVycm9yID0gbnVsbFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWx0UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBEYXRhVGFibGVEYXRhU291cmNlKClcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmhlYWRlckhlaWdodCA9XG4gICAgICB0aGlzLmVsdFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJykub2Zmc2V0SGVpZ2h0XG4gICAgdGhpcy5zZXRQYWdpbmF0aW9uKClcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuc2V0UGFnaW5hdGlvbigpXG4gIH1cblxuICBzZXRTb3J0KHNvcnQ6IE1hdFNvcnQpIHtcbiAgICBpZiAoIXRoaXMuZGF0YXNldF8pIHJldHVyblxuICAgIGlmICghc29ydC5hY3RpdmUpIHtcbiAgICAgIHRoaXMuZGF0YXNldF8ub3JkZXJCeSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF0YXNldF8ub3JkZXJCeShbc29ydC5kaXJlY3Rpb24gfHwgJ2FzYycsIHNvcnQuYWN0aXZlXSlcbiAgICB9XG4gICAgdGhpcy5yZWFkRGF0YSgpXG4gIH1cblxuICBzZXRQYWdpbmF0aW9uKCkge1xuICAgIGlmICghdGhpcy5wYWdpbmF0b3IpIHJldHVyblxuICAgIGlmICghdGhpcy5kYXRhc2V0XykgcmV0dXJuXG4gICAgdGhpcy5kYXRhc2V0Xy5saW1pdChcbiAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCAqIHRoaXMucGFnaW5hdG9yLnBhZ2VTaXplLFxuICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZVNpemVcbiAgICApXG4gICAgdGhpcy5yZWFkRGF0YSgpXG4gIH1cblxuICBhc3luYyByZWFkRGF0YSgpIHtcbiAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSlcbiAgICAvLyB3YWl0IGZvciBwcm9wZXJ0aWVzIHRvIGJlIHJlYWRcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnByb3BlcnRpZXMkLnBpcGUoZmlsdGVyKChwKSA9PiAhIXApKVxuICAgIClcbiAgICBjb25zdCBwcm9wc1dpdGhvdXRHZW9tID0gcHJvcGVydGllcy5maWx0ZXIoXG4gICAgICAocCkgPT4gIXAudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdnZW9tJylcbiAgICApXG4gICAgdGhpcy5kYXRhc2V0Xy5zZWxlY3QoLi4ucHJvcHNXaXRob3V0R2VvbSlcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5kYXRhU291cmNlLnNob3dEYXRhKHRoaXMuZGF0YXNldF8ucmVhZCgpKVxuICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciBhcyBGZXRjaEVycm9yIHwgRXJyb3IpXG4gICAgfVxuICAgIHRoaXMubG9hZGluZyQubmV4dChmYWxzZSlcbiAgfVxuXG4gIHNjcm9sbFRvSXRlbShpdGVtSWQ6IFRhYmxlSXRlbUlkKTogdm9pZCB7XG4gICAgY29uc3Qgcm93ID0gdGhpcy5lbHRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYCMke3RoaXMuZ2V0Um93RWx0SWQoaXRlbUlkKX1gXG4gICAgKVxuICAgIHRoaXMuZWx0UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gcm93Lm9mZnNldFRvcCAtIHRoaXMuaGVhZGVySGVpZ2h0XG4gIH1cblxuICBwdWJsaWMgZ2V0Um93RWx0SWQoaWQ6IFRhYmxlSXRlbUlkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm93SWRQcmVmaXggKyBpZFxuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEZldGNoRXJyb3IgfCBFcnJvcikge1xuICAgIHRoaXMuZGF0YVNvdXJjZS5jbGVhckRhdGEoKVxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEZldGNoRXJyb3IpIHtcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgYGRhdGFzZXQuZXJyb3IuJHtlcnJvci50eXBlfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmZvOiBlcnJvci5pbmZvLFxuICAgICAgICB9XG4gICAgICApXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3IubWVzc2FnZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lcnJvciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGVycm9yLm1lc3NhZ2UpXG4gICAgICBjb25zb2xlLndhcm4oZXJyb3Iuc3RhY2sgfHwgZXJyb3IpXG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQtbGcgYmctd2hpdGUgaC1mdWxsXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4LTEgb3ZlcmZsb3cteS1oaWRkZW4gb3ZlcmZsb3cteC1hdXRvIHJvdW5kZWQtbGcgcmVsYXRpdmVcIj5cbiAgICA8dGFibGVcbiAgICAgIG1hdC10YWJsZVxuICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICBtYXRTb3J0XG4gICAgICAobWF0U29ydENoYW5nZSk9XCJzZXRTb3J0KCRldmVudClcIlxuICAgICAgW21hdFNvcnREaXNhYmxlQ2xlYXJdPVwidHJ1ZVwiXG4gICAgICAqbmdyeExldD1cInByb3BlcnRpZXMkIGFzIHByb3BlcnRpZXNcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGF0dHIgb2YgX2ZlYXR1cmVBdHRyaWJ1dGVzXCJcbiAgICAgICAgW21hdENvbHVtbkRlZl09XCJhdHRyLnZhbHVlXCJcbiAgICAgID5cbiAgICAgICAgPHRoXG4gICAgICAgICAgbWF0LWhlYWRlci1jZWxsXG4gICAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgICBtYXQtc29ydC1oZWFkZXJcbiAgICAgICAgICBjbGFzcz1cInRleHQtc20gdGV4dC1ibGFjayBiZy13aGl0ZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBhdHRyLmxhYmVsIH19XG4gICAgICAgIDwvdGg+XG4gICAgICAgIDx0ZFxuICAgICAgICAgIG1hdC1jZWxsXG4gICAgICAgICAgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiXG4gICAgICAgICAgY2xhc3M9XCJ3aGl0ZXNwYWNlLW5vd3JhcCBwci0xIHRydW5jYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGVsZW1lbnRbYXR0ci52YWx1ZV0gfX1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cInByb3BlcnRpZXM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XG4gICAgICA8dHJcbiAgICAgICAgW2lkXT1cImdldFJvd0VsdElkKHJvdy5pZClcIlxuICAgICAgICBtYXQtcm93XG4gICAgICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBwcm9wZXJ0aWVzXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdGVkLmVtaXQocm93KVwiXG4gICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiXG4gICAgICAgICAgYWN0aXZlSWQgIT09IHVuZGVmaW5lZCAmJiBhY3RpdmVJZCAhPT0gbnVsbCAmJiByb3cuaWQgPT09IGFjdGl2ZUlkXG4gICAgICAgIFwiXG4gICAgICA+PC90cj5cbiAgICA8L3RhYmxlPlxuICAgIDxnbi11aS1sb2FkaW5nLW1hc2tcbiAgICAgICpuZ0lmPVwibG9hZGluZyQgfCBhc3luY1wiXG4gICAgICBjbGFzcz1cInN0aWNreSBpbnNldC0wXCJcbiAgICAgIFttZXNzYWdlXT1cIid0YWJsZS5sb2FkaW5nLmRhdGEnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC9nbi11aS1sb2FkaW5nLW1hc2s+XG4gICAgPGduLXVpLXBvcHVwLWFsZXJ0XG4gICAgICAqbmdJZj1cImVycm9yXCJcbiAgICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICAgIGNsYXNzPVwiYWJzb2x1dGUgbS0yIGluc2V0LTAgei1bMTAwXVwiXG4gICAgPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPnt7IGVycm9yIH19PC9zcGFuPlxuICAgIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWdyYXktOTAwIHB4LTQgcHktMiB0ZXh0LXNtXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImNvdW50IGZvbnQtZXh0cmFib2xkIHRleHQtcHJpbWFyeVwiPnt7IGNvdW50IH19PC9zcGFuXG4gICAgICA+Jm5ic3A7PHNwYW4gdHJhbnNsYXRlPnRhYmxlLm9iamVjdC5jb3VudDwvc3Bhbj4uXG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LXBhZ2luYXRvclxuICAgICAgY2xhc3M9XCJteS1bLTE2cHhdXCJcbiAgICAgIChwYWdlKT1cInNldFBhZ2luYXRpb24oKVwiXG4gICAgICBbbGVuZ3RoXT1cImNvdW50XCJcbiAgICAgIFtwYWdlU2l6ZV09XCIxMFwiXG4gICAgICBbc2hvd0ZpcnN0TGFzdEJ1dHRvbnNdPVwidHJ1ZVwiXG4gICAgICBbaGlkZVBhZ2VTaXplXT1cInRydWVcIlxuICAgID48L21hdC1wYWdpbmF0b3I+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -26414,7 +26414,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
26414
26414
  }] } });
26415
26415
 
26416
26416
  var name = "geonetwork-ui";
26417
- var version = "2.6.1";
26417
+ var version = "2.6.2-dev.0ddab62ac";
26418
26418
  var engines = {
26419
26419
  node: ">=20"
26420
26420
  };
@@ -38717,7 +38717,7 @@ class DataTableComponent {
38717
38717
  }
38718
38718
  }
38719
38719
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
38720
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "gn-ui-data-table", inputs: { featureAttributes: "featureAttributes", dataset: "dataset", activeId: "activeId" }, outputs: { selected: "selected" }, providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3$1.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38720
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DataTableComponent, isStandalone: true, selector: "gn-ui-data-table", inputs: { featureAttributes: "featureAttributes", dataset: "dataset", activeId: "activeId" }, outputs: { selected: "selected" }, providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"], dependencies: [{ kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i2$5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2$5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2$5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2$5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2$5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2$5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2$5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2$5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2$5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2$5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatSortModule }, { kind: "directive", type: i3$1.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3$1.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: LoadingMaskComponent, selector: "gn-ui-loading-mask", inputs: ["message"] }, { kind: "component", type: PopupAlertComponent, selector: "gn-ui-popup-alert", inputs: ["icon", "type", "position"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38721
38721
  }
38722
38722
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataTableComponent, decorators: [{
38723
38723
  type: Component,
@@ -38731,6 +38731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
38731
38731
  PopupAlertComponent,
38732
38732
  LetDirective,
38733
38733
  TranslatePipe,
38734
+ TranslateDirective,
38734
38735
  ], providers: [{ provide: MatPaginatorIntl, useClass: CustomMatPaginatorIntl }], selector: 'gn-ui-data-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col border border-gray-300 rounded-lg bg-white h-full\">\n <div class=\"flex-1 overflow-y-hidden overflow-x-auto rounded-lg relative\">\n <table\n mat-table\n [dataSource]=\"dataSource\"\n matSort\n (matSortChange)=\"setSort($event)\"\n [matSortDisableClear]=\"true\"\n *ngrxLet=\"properties$ as properties\"\n >\n <ng-container\n *ngFor=\"let attr of _featureAttributes\"\n [matColumnDef]=\"attr.value\"\n >\n <th\n mat-header-cell\n *matHeaderCellDef\n mat-sort-header\n class=\"text-sm text-black bg-white\"\n >\n {{ attr.label }}\n </th>\n <td\n mat-cell\n *matCellDef=\"let element\"\n class=\"whitespace-nowrap pr-1 truncate\"\n >\n {{ element[attr.value] }}\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"properties; sticky: true\"></tr>\n <tr\n [id]=\"getRowEltId(row.id)\"\n mat-row\n *matRowDef=\"let row; columns: properties\"\n (click)=\"selected.emit(row)\"\n [class.active]=\"\n activeId !== undefined && activeId !== null && row.id === activeId\n \"\n ></tr>\n </table>\n <gn-ui-loading-mask\n *ngIf=\"loading$ | async\"\n class=\"sticky inset-0\"\n [message]=\"'table.loading.data' | translate\"\n ></gn-ui-loading-mask>\n <gn-ui-popup-alert\n *ngIf=\"error\"\n type=\"warning\"\n icon=\"matErrorOutlineOutline\"\n class=\"absolute m-2 inset-0 z-[100]\"\n >\n <span translate>{{ error }}</span>\n </gn-ui-popup-alert>\n </div>\n <div class=\"flex justify-between items-center overflow-hidden\">\n <div class=\"text-gray-900 px-4 py-2 text-sm\">\n <span class=\"count font-extrabold text-primary\">{{ count }}</span\n >&nbsp;<span translate>table.object.count</span>.\n </div>\n\n <mat-paginator\n class=\"my-[-16px]\"\n (page)=\"setPagination()\"\n [length]=\"count\"\n [pageSize]=\"10\"\n [showFirstLastButtons]=\"true\"\n [hidePageSize]=\"true\"\n ></mat-paginator>\n </div>\n</div>\n", styles: ["table{width:100%;background:#fff}th.mat-mdc-header-cell,td.mat-mdc-cell,td.mat-mdc-footer-cell{padding-right:20px}tr.mat-mdc-row,tr.mat-mdc-footer-row{height:36px}tr:hover{background:#f5f5f5}tr.mat-mdc-header-row{height:48px}[mat-header-cell]{color:#0000008a;font-size:12px;font-weight:500}tr{cursor:pointer}.active .mat-mdc-cell{color:var(--color-primary)}.mat-mdc-paginator{background:none}\n"] }]
38735
38736
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1$1.TranslateService }], propDecorators: { featureAttributes: [{
38736
38737
  type: Input