ngx-aur-mat-table 0.0.57 → 0.0.58

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.
@@ -287,7 +287,7 @@
287
287
  return NgxAurMatTableComponent;
288
288
  }());
289
289
  NgxAurMatTableComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxAurMatTableComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
290
- NgxAurMatTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NgxAurMatTableComponent, selector: "aur-mat-table", inputs: { isFilterable: "isFilterable", indexable: "indexable", isPageable: "isPageable", paginationSizes: "paginationSizes", defaultPageSize: "defaultPageSize", rowActionable: "rowActionable", selectable: "selectable", tableConfig: "tableConfig", tableData: "tableData" }, outputs: { sort: "sort", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onRowClick: "onRowClick" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: i8.MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: i7.MatSort, descendants: true, static: true }], ngImport: i0__namespace, template: "<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n", styles: ["table{width:100%}th,td{padding:10px!important}mat-form-field{width:40%}.text-right{text-align:right!important}\n"], components: [{ type: i1__namespace$1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: ColumnViewComponent, selector: "lib-column-view", inputs: ["config"] }, { type: i4__namespace.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i1__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7__namespace.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i2__namespace.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2__namespace.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8__namespace.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i9__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$1.MatLabel, selector: "mat-label" }, { type: i10__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7__namespace.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2__namespace.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2__namespace.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2__namespace.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2__namespace.MatCellDef, selector: "[matCellDef]" }, { type: i2__namespace.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i9__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i9__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2__namespace.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], pipes: { "dataPropertyGetter": DataPropertyGetterPipe } });
290
+ NgxAurMatTableComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NgxAurMatTableComponent, selector: "aur-mat-table", inputs: { isFilterable: "isFilterable", indexable: "indexable", isPageable: "isPageable", paginationSizes: "paginationSizes", defaultPageSize: "defaultPageSize", rowActionable: "rowActionable", selectable: "selectable", tableConfig: "tableConfig", tableData: "tableData" }, outputs: { sort: "sort", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onRowClick: "onRowClick" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: i8.MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: i7.MatSort, descendants: true, static: true }], ngImport: i0__namespace, template: "<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, castSrc(element).rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n", styles: ["table{width:100%}th,td{padding:10px!important}mat-form-field{width:40%}.text-right{text-align:right!important}\n"], components: [{ type: i1__namespace$1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: ColumnViewComponent, selector: "lib-column-view", inputs: ["config"] }, { type: i4__namespace.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5__namespace.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i1__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7__namespace.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i2__namespace.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2__namespace.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8__namespace.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i9__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$1.MatLabel, selector: "mat-label" }, { type: i10__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7__namespace.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2__namespace.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2__namespace.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2__namespace.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2__namespace.MatCellDef, selector: "[matCellDef]" }, { type: i2__namespace.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i9__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i9__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2__namespace.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], pipes: { "dataPropertyGetter": DataPropertyGetterPipe } });
291
291
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: NgxAurMatTableComponent, decorators: [{
292
292
  type: i0.Component,
293
293
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-aur-mat-table.umd.js","sources":["../../../projects/ngx-aur-mat-table/src/lib/providers/SelectionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/RowActionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableViewConverter.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/IndexProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/model/TableRow.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableDataProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.html","../../../projects/ngx-aur-mat-table/src/lib/data-property-getter-pipe/data-property-getter.pipe.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.html","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.module.ts","../../../projects/ngx-aur-mat-table/src/public-api.ts","../../../projects/ngx-aur-mat-table/src/ngx-aur-mat-table.ts"],"sourcesContent":["import {SelectionModel} from '@angular/cdk/collections';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {EventEmitter} from '@angular/core';\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport interface SelectionConfig {\r\n position?: 'start' | 'end';\r\n multiple?: boolean;\r\n}\r\n\r\nexport class SelectionProvider<T> {\r\n\r\n public readonly COLUMN_NAME = 'tbl_selects';\r\n selection: SelectionModel<T>;\r\n config: SelectionConfig;\r\n tableDataSource: MatTableDataSource<TableRow<T>>;\r\n\r\n constructor(ctx: SelectionConfig, columns: string[], tableDataSource: MatTableDataSource<TableRow<T>>) {\r\n this.config = ctx;\r\n this.selection = new SelectionModel<T>(ctx.multiple, []);\r\n this.tableDataSource = tableDataSource;\r\n this.initCheckboxColumn(columns);\r\n }\r\n\r\n initCheckboxColumn(columns: string[]) {\r\n if (this.config.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n\r\n bind(selected: EventEmitter<T[]>, onSelect: EventEmitter<T[]>, onDeselect: EventEmitter<T[]>) {\r\n this.selection.changed\r\n .subscribe(event => {\r\n if (event.added) {\r\n onSelect.emit(event.added);\r\n }\r\n if (event.removed) {\r\n onDeselect.emit(event.removed);\r\n }\r\n selected.emit(this.selection.selected);\r\n });\r\n }\r\n\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.tableDataSource.data.forEach(row => this.selection.select(row.rowSrc));\r\n }\r\n\r\n isAllSelected(): boolean {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.tableDataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n}\r\n","import {IconConfig} from \"../model/TableConfig\";\r\n\r\nexport interface ActionEvent<T> {\r\n action: string;\r\n value: T;\r\n}\r\n\r\nexport interface RowActionConfig {\r\n position?: 'start' | 'end';\r\n actions: ActionConfig[];\r\n}\r\n\r\nexport interface ActionConfig {\r\n action: string;\r\n icon: IconConfig<string>;\r\n}\r\n\r\nexport class RowActionProvider<T> {\r\n\r\n readonly COLUMN_NAME = 'tbl_actions';\r\n context: RowActionConfig;\r\n\r\n constructor(ctx: RowActionConfig, columns: string[]) {\r\n this.context = ctx;\r\n if (ctx.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","import {TableRow} from \"../model/TableRow\";\r\nimport {ColumnConfig, IconConfig, TableConfig, TextConfig} from \"../model/TableConfig\";\r\n\r\nexport class TableViewConverter {\r\n\r\n public static toView<T>(rows: TableRow<T>[], tableConfig: TableConfig<TableRow<T>>[]): Map<string, ColumnConfig<string>>[] {\r\n const result: Map<string, ColumnConfig<(value: TableRow<T>) => string>> = new Map();\r\n tableConfig.forEach(c => {\r\n if (c.valueColumn) {\r\n result.set(c.key, c.valueColumn)\r\n }\r\n })\r\n return this.toViewInternal(rows, result);\r\n }\r\n\r\n private static toViewInternal<T>(rows: TableRow<T>[], source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>): Map<string, ColumnConfig<string>>[] {\r\n return rows.map(row => this.columnConfig(source, row));\r\n }\r\n\r\n private static columnConfig<T>(source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>, row: TableRow<T>): Map<string, ColumnConfig<string>> {\r\n const result: Map<string, ColumnConfig<string>> = new Map();\r\n source.forEach((source, key) => {\r\n const value: ColumnConfig<string> = {\r\n icon: this.iconConfig(source.icon, row),\r\n text: this.textConfig(source.text, row)\r\n }\r\n result.set(key, value)\r\n });\r\n return result;\r\n }\r\n\r\n private static iconConfig<T>(iconSource: IconConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): IconConfig<string> | undefined {\r\n if (!iconSource) {\r\n return undefined;\r\n }\r\n return {\r\n name: iconSource.name(row),\r\n color: iconSource.color ? iconSource.color(row) : undefined,\r\n tooltip: iconSource.tooltip ? iconSource.tooltip(row) : undefined,\r\n position: iconSource.position,\r\n }\r\n }\r\n\r\n private static textConfig<T>(textSource: TextConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): TextConfig<string> | undefined {\r\n if (!textSource) {\r\n return undefined;\r\n }\r\n return {\r\n show: textSource.show,\r\n tooltip: textSource.tooltip ? textSource.tooltip(row) : undefined,\r\n color: textSource.color ? textSource.color(row) : undefined,\r\n }\r\n }\r\n}\r\n","import {ColumnConfig} from \"../model/TableConfig\";\r\n\r\nexport interface IndexConfig {\r\n enable: true,\r\n\r\n /** смещение для первого индекса например 1 чтобы нумерация началась с 1 по умолчанию от нуля */\r\n offset?: number,\r\n\r\n headerColumn?: ColumnConfig<string>\r\n\r\n /** название для колонки, по умолчанию ''*/\r\n name?: string;\r\n}\r\n\r\nexport class IndexProvider {\r\n public readonly COLUMN_NAME = 'tbl_index';\r\n\r\n constructor(indexConfig: IndexConfig, columns: string[]) {\r\n if (indexConfig && indexConfig.enable) {\r\n columns.unshift(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","export class TableRow<T> {\r\n rowSrc: T;\r\n [key: string]: any;\r\n\r\n constructor(rowSrc: T) {\r\n this.rowSrc = rowSrc;\r\n }\r\n}\r\n","import {TableConfig} from \"../model/TableConfig\";\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport class TableDataProvider<T> {\r\n\r\n public convert(data: T[], config: TableConfig<T>[]): TableRow<T>[] {\r\n return data.map(d => this.tableRow(d, config));\r\n }\r\n\r\n private tableRow(obj: T, config: TableConfig<T>[]): TableRow<T> {\r\n const row = new TableRow<T>(obj);\r\n config.forEach(c => row[c.key] = c.valueConverter(obj));\r\n return row;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\nimport {ColumnConfig} from \"../../model/TableConfig\";\n\n@Component({\n selector: 'lib-column-view',\n templateUrl: './column-view.component.html',\n styleUrls: ['./column-view.component.css']\n})\nexport class ColumnViewComponent {\n @Input() config: ColumnConfig<string> | undefined;\n}\n","<mat-icon *ngIf=\"config?.icon\"\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\n [style.color]=\"config?.icon?.color\"\n>\n {{config?.icon?.name}}\n</mat-icon>\n\n<span *ngIf=\"config?.text?.show != false\"\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\n>\n <ng-content></ng-content>\n</span>\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'dataPropertyGetter'\r\n})\r\nexport class DataPropertyGetterPipe implements PipeTransform {\r\n\r\n transform(object: any, keyName: string, ...args: unknown[]): unknown {\r\n return object[keyName];\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {ColumnConfig, TableConfig} from './model/TableConfig';\nimport {MatSort, Sort} from '@angular/material/sort';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {SelectionConfig, SelectionProvider} from './providers/SelectionProvider';\nimport {ActionEvent, RowActionConfig, RowActionProvider} from './providers/RowActionProvider';\nimport {TableRow} from \"./model/TableRow\";\nimport {TableViewConverter} from \"./providers/TableViewConverter\";\nimport {IndexProvider, IndexConfig} from \"./providers/IndexProvider\";\nimport {TableDataProvider} from \"./providers/TableDataProvider\";\n\n\n@Component({\n selector: 'aur-mat-table',\n templateUrl: './ngx-aur-mat-table.component.html',\n styleUrls: ['./ngx-aur-mat-table.component.scss'],\n})\nexport class NgxAurMatTableComponent<T> implements OnInit, AfterViewInit {\n\n public tableDataSource = new MatTableDataSource<TableRow<T>>([]);\n public displayedColumns: string[] = [];\n\n public tableView: Map<string, ColumnConfig<string>>[] = [];\n\n // @ts-ignore\n @ViewChild(MatPaginator, {static: false}) matPaginator: MatPaginator;\n // @ts-ignore\n @ViewChild(MatSort, {static: true}) matSort: MatSort;\n @Input() isFilterable = false;\n\n // @ts-ignore\n @Input() indexable: IndexConfig;\n\n\n @Input() isPageable = false;\n @Input() paginationSizes: number[] = [5, 10, 15, 25, 50];\n @Input() defaultPageSize = this.paginationSizes[1];\n\n @Output() sort: EventEmitter<Sort> = new EventEmitter();\n\n // @ts-ignore\n @Input() rowActionable: RowActionConfig;\n @Output() onRowAction: EventEmitter<ActionEvent<T>> = new EventEmitter<ActionEvent<T>>();\n\n // @ts-ignore\n @Input() selectable: SelectionConfig;\n @Output() selected = new EventEmitter<T[]>();\n @Output() onSelect = new EventEmitter<T[]>();\n @Output() onDeselect = new EventEmitter<T[]>();\n\n @Output() onRowClick = new EventEmitter<T>();\n\n @Input() tableConfig: TableConfig<any>[] = [];\n\n @Input() tableData: T[] = [];\n\n // @ts-ignore\n selectionProvider: SelectionProvider<T>;\n // @ts-ignore\n rowActionsProvider: RowActionProvider<T>;\n\n // @ts-ignore\n indexProvider: IndexProvider;\n\n tableDataProvider = new TableDataProvider<T>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.setTableDataSource();\n this.tableView = TableViewConverter.toView(this.tableDataSource.data, this.tableConfig)\n this.displayedColumns = this.tableConfig.map((tableColumn: TableConfig<any>) => tableColumn.name);\n if (this.indexable) {\n this.indexProvider = new IndexProvider(this.indexable, this.displayedColumns);\n } else if (this.rowActionable) {\n this.rowActionsProvider = new RowActionProvider<TableRow<T>>(this.rowActionable, this.displayedColumns);\n } else if (this.selectable) {\n this.selectionProvider = new SelectionProvider<T>(this.selectable, this.displayedColumns, this.tableDataSource);\n this.selectionProvider.bind(this.selected, this.onSelect, this.onDeselect);\n }\n }\n\n // we need this, in order to make pagination work with *ngIf\n ngAfterViewInit(): void {\n this.tableDataSource.paginator = this.matPaginator;\n }\n\n\n setTableDataSource() {\n let convert = this.tableDataProvider.convert(this.tableData, this.tableConfig);\n this.tableDataSource = new MatTableDataSource<TableRow<T>>(convert);\n this.tableDataSource.paginator = this.matPaginator;\n this.tableDataSource.sort = this.matSort;\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.tableDataSource.filter = filterValue.trim().toLowerCase();\n }\n\n sortTable(sortParameters: Sort) {\n // defining name of data property, to sort by, instead of column name\n // @ts-ignore\n sortParameters.active = this.tableConfig.find(column => column.name === sortParameters.active).dataKey;\n this.sort.emit(sortParameters);\n }\n\n emitRowAction(action: string, row: T, $event: MouseEvent) {\n $event.stopPropagation();\n this.onRowAction.emit({action, value: row});\n }\n\n masterToggle() {\n this.selectionProvider.masterToggle();\n }\n\n isAllSelected(): boolean {\n return this.selectionProvider.isAllSelected();\n }\n\n castSrc(row: any): TableRow<T> {\n return row;\n }\n\n getView(rowIndex: number, columnKey: string): ColumnConfig<string> | undefined {\n return this.tableView[rowIndex].get(columnKey);\n }\n}\n","<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value получать настройки колонок нужно через getView(rowIndex, columnConfig.key) там находятся уже\r\n подготовленные значения для использования-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n","import {NgModule} from '@angular/core';\nimport {NgxAurMatTableComponent} from './ngx-aur-mat-table.component';\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatTableModule} from \"@angular/material/table\";\nimport {MatPaginatorModule} from \"@angular/material/paginator\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\nimport {DataPropertyGetterPipe} from \"./data-property-getter-pipe/data-property-getter.pipe\";\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\nimport { ColumnViewComponent } from './components/column-value/column-view.component';\n\n\n@NgModule({\n declarations: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe,\n ColumnViewComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatButtonModule,\n MatInputModule,\n MatSortModule,\n MatTooltipModule,\n MatCheckboxModule,\n MatFormFieldModule\n ],\n exports: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe\n ]\n})\nexport class NgxAurMatTableModule {\n}\n","/*\n * Public API Surface of ngx-aur-mat-table\n */\n\nexport * from './lib/ngx-aur-mat-table.component';\nexport * from './lib/ngx-aur-mat-table.module';\nexport * from './lib/data-property-getter-pipe/data-property-getter.pipe';\nexport * from './lib/model/TableRow'\nexport * from './lib/model/TableConfig'\nexport * from './lib/providers/RowActionProvider'\nexport * from './lib/providers/SelectionProvider'\nexport * from './lib/providers/IndexProvider'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SelectionModel","i0","i1","i2","i3","Component","Input","Pipe","MatTableDataSource","EventEmitter","MatPaginator","MatSort","i3.ColumnViewComponent","i4","i5","i6","i7","i8","i9","i10","i11","i12.DataPropertyGetterPipe","ViewChild","Output","BrowserModule","BrowserAnimationsModule","MatIconModule","MatTableModule","MatPaginatorModule","MatButtonModule","MatInputModule","MatSortModule","MatTooltipModule","MatCheckboxModule","MatFormFieldModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-aur-mat-table.umd.js","sources":["../../../projects/ngx-aur-mat-table/src/lib/providers/SelectionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/RowActionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableViewConverter.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/IndexProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/model/TableRow.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableDataProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.html","../../../projects/ngx-aur-mat-table/src/lib/data-property-getter-pipe/data-property-getter.pipe.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.html","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.module.ts","../../../projects/ngx-aur-mat-table/src/public-api.ts","../../../projects/ngx-aur-mat-table/src/ngx-aur-mat-table.ts"],"sourcesContent":["import {SelectionModel} from '@angular/cdk/collections';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {EventEmitter} from '@angular/core';\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport interface SelectionConfig {\r\n position?: 'start' | 'end';\r\n multiple?: boolean;\r\n}\r\n\r\nexport class SelectionProvider<T> {\r\n\r\n public readonly COLUMN_NAME = 'tbl_selects';\r\n selection: SelectionModel<T>;\r\n config: SelectionConfig;\r\n tableDataSource: MatTableDataSource<TableRow<T>>;\r\n\r\n constructor(ctx: SelectionConfig, columns: string[], tableDataSource: MatTableDataSource<TableRow<T>>) {\r\n this.config = ctx;\r\n this.selection = new SelectionModel<T>(ctx.multiple, []);\r\n this.tableDataSource = tableDataSource;\r\n this.initCheckboxColumn(columns);\r\n }\r\n\r\n initCheckboxColumn(columns: string[]) {\r\n if (this.config.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n\r\n bind(selected: EventEmitter<T[]>, onSelect: EventEmitter<T[]>, onDeselect: EventEmitter<T[]>) {\r\n this.selection.changed\r\n .subscribe(event => {\r\n if (event.added) {\r\n onSelect.emit(event.added);\r\n }\r\n if (event.removed) {\r\n onDeselect.emit(event.removed);\r\n }\r\n selected.emit(this.selection.selected);\r\n });\r\n }\r\n\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.tableDataSource.data.forEach(row => this.selection.select(row.rowSrc));\r\n }\r\n\r\n isAllSelected(): boolean {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.tableDataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n}\r\n","import {IconConfig} from \"../model/TableConfig\";\r\n\r\nexport interface ActionEvent<T> {\r\n action: string;\r\n value: T;\r\n}\r\n\r\nexport interface RowActionConfig {\r\n position?: 'start' | 'end';\r\n actions: ActionConfig[];\r\n}\r\n\r\nexport interface ActionConfig {\r\n action: string;\r\n icon: IconConfig<string>;\r\n}\r\n\r\nexport class RowActionProvider<T> {\r\n\r\n readonly COLUMN_NAME = 'tbl_actions';\r\n context: RowActionConfig;\r\n\r\n constructor(ctx: RowActionConfig, columns: string[]) {\r\n this.context = ctx;\r\n if (ctx.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","import {TableRow} from \"../model/TableRow\";\r\nimport {ColumnConfig, IconConfig, TableConfig, TextConfig} from \"../model/TableConfig\";\r\n\r\nexport class TableViewConverter {\r\n\r\n public static toView<T>(rows: TableRow<T>[], tableConfig: TableConfig<TableRow<T>>[]): Map<string, ColumnConfig<string>>[] {\r\n const result: Map<string, ColumnConfig<(value: TableRow<T>) => string>> = new Map();\r\n tableConfig.forEach(c => {\r\n if (c.valueColumn) {\r\n result.set(c.key, c.valueColumn)\r\n }\r\n })\r\n return this.toViewInternal(rows, result);\r\n }\r\n\r\n private static toViewInternal<T>(rows: TableRow<T>[], source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>): Map<string, ColumnConfig<string>>[] {\r\n return rows.map(row => this.columnConfig(source, row));\r\n }\r\n\r\n private static columnConfig<T>(source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>, row: TableRow<T>): Map<string, ColumnConfig<string>> {\r\n const result: Map<string, ColumnConfig<string>> = new Map();\r\n source.forEach((source, key) => {\r\n const value: ColumnConfig<string> = {\r\n icon: this.iconConfig(source.icon, row),\r\n text: this.textConfig(source.text, row)\r\n }\r\n result.set(key, value)\r\n });\r\n return result;\r\n }\r\n\r\n private static iconConfig<T>(iconSource: IconConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): IconConfig<string> | undefined {\r\n if (!iconSource) {\r\n return undefined;\r\n }\r\n return {\r\n name: iconSource.name(row),\r\n color: iconSource.color ? iconSource.color(row) : undefined,\r\n tooltip: iconSource.tooltip ? iconSource.tooltip(row) : undefined,\r\n position: iconSource.position,\r\n }\r\n }\r\n\r\n private static textConfig<T>(textSource: TextConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): TextConfig<string> | undefined {\r\n if (!textSource) {\r\n return undefined;\r\n }\r\n return {\r\n show: textSource.show,\r\n tooltip: textSource.tooltip ? textSource.tooltip(row) : undefined,\r\n color: textSource.color ? textSource.color(row) : undefined,\r\n }\r\n }\r\n}\r\n","import {ColumnConfig} from \"../model/TableConfig\";\r\n\r\nexport interface IndexConfig {\r\n enable: true,\r\n\r\n /** смещение для первого индекса например 1 чтобы нумерация началась с 1 по умолчанию от нуля */\r\n offset?: number,\r\n\r\n headerColumn?: ColumnConfig<string>\r\n\r\n /** название для колонки, по умолчанию ''*/\r\n name?: string;\r\n}\r\n\r\nexport class IndexProvider {\r\n public readonly COLUMN_NAME = 'tbl_index';\r\n\r\n constructor(indexConfig: IndexConfig, columns: string[]) {\r\n if (indexConfig && indexConfig.enable) {\r\n columns.unshift(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","export class TableRow<T> {\r\n rowSrc: T;\r\n [key: string]: any;\r\n\r\n constructor(rowSrc: T) {\r\n this.rowSrc = rowSrc;\r\n }\r\n}\r\n","import {TableConfig} from \"../model/TableConfig\";\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport class TableDataProvider<T> {\r\n\r\n public convert(data: T[], config: TableConfig<T>[]): TableRow<T>[] {\r\n return data.map(d => this.tableRow(d, config));\r\n }\r\n\r\n private tableRow(obj: T, config: TableConfig<T>[]): TableRow<T> {\r\n const row = new TableRow<T>(obj);\r\n config.forEach(c => row[c.key] = c.valueConverter(obj));\r\n return row;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\nimport {ColumnConfig} from \"../../model/TableConfig\";\n\n@Component({\n selector: 'lib-column-view',\n templateUrl: './column-view.component.html',\n styleUrls: ['./column-view.component.css']\n})\nexport class ColumnViewComponent {\n @Input() config: ColumnConfig<string> | undefined;\n}\n","<mat-icon *ngIf=\"config?.icon\"\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\n [style.color]=\"config?.icon?.color\"\n>\n {{config?.icon?.name}}\n</mat-icon>\n\n<span *ngIf=\"config?.text?.show != false\"\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\n>\n <ng-content></ng-content>\n</span>\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'dataPropertyGetter'\r\n})\r\nexport class DataPropertyGetterPipe implements PipeTransform {\r\n\r\n transform(object: any, keyName: string, ...args: unknown[]): unknown {\r\n return object[keyName];\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {ColumnConfig, TableConfig} from './model/TableConfig';\nimport {MatSort, Sort} from '@angular/material/sort';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {SelectionConfig, SelectionProvider} from './providers/SelectionProvider';\nimport {ActionEvent, RowActionConfig, RowActionProvider} from './providers/RowActionProvider';\nimport {TableRow} from \"./model/TableRow\";\nimport {TableViewConverter} from \"./providers/TableViewConverter\";\nimport {IndexProvider, IndexConfig} from \"./providers/IndexProvider\";\nimport {TableDataProvider} from \"./providers/TableDataProvider\";\n\n\n@Component({\n selector: 'aur-mat-table',\n templateUrl: './ngx-aur-mat-table.component.html',\n styleUrls: ['./ngx-aur-mat-table.component.scss'],\n})\nexport class NgxAurMatTableComponent<T> implements OnInit, AfterViewInit {\n\n public tableDataSource = new MatTableDataSource<TableRow<T>>([]);\n public displayedColumns: string[] = [];\n\n public tableView: Map<string, ColumnConfig<string>>[] = [];\n\n // @ts-ignore\n @ViewChild(MatPaginator, {static: false}) matPaginator: MatPaginator;\n // @ts-ignore\n @ViewChild(MatSort, {static: true}) matSort: MatSort;\n @Input() isFilterable = false;\n\n // @ts-ignore\n @Input() indexable: IndexConfig;\n\n\n @Input() isPageable = false;\n @Input() paginationSizes: number[] = [5, 10, 15, 25, 50];\n @Input() defaultPageSize = this.paginationSizes[1];\n\n @Output() sort: EventEmitter<Sort> = new EventEmitter();\n\n // @ts-ignore\n @Input() rowActionable: RowActionConfig;\n @Output() onRowAction: EventEmitter<ActionEvent<T>> = new EventEmitter<ActionEvent<T>>();\n\n // @ts-ignore\n @Input() selectable: SelectionConfig;\n @Output() selected = new EventEmitter<T[]>();\n @Output() onSelect = new EventEmitter<T[]>();\n @Output() onDeselect = new EventEmitter<T[]>();\n\n @Output() onRowClick = new EventEmitter<T>();\n\n @Input() tableConfig: TableConfig<any>[] = [];\n\n @Input() tableData: T[] = [];\n\n // @ts-ignore\n selectionProvider: SelectionProvider<T>;\n // @ts-ignore\n rowActionsProvider: RowActionProvider<T>;\n\n // @ts-ignore\n indexProvider: IndexProvider;\n\n tableDataProvider = new TableDataProvider<T>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.setTableDataSource();\n this.tableView = TableViewConverter.toView(this.tableDataSource.data, this.tableConfig)\n this.displayedColumns = this.tableConfig.map((tableColumn: TableConfig<any>) => tableColumn.name);\n if (this.indexable) {\n this.indexProvider = new IndexProvider(this.indexable, this.displayedColumns);\n } else if (this.rowActionable) {\n this.rowActionsProvider = new RowActionProvider<TableRow<T>>(this.rowActionable, this.displayedColumns);\n } else if (this.selectable) {\n this.selectionProvider = new SelectionProvider<T>(this.selectable, this.displayedColumns, this.tableDataSource);\n this.selectionProvider.bind(this.selected, this.onSelect, this.onDeselect);\n }\n }\n\n // we need this, in order to make pagination work with *ngIf\n ngAfterViewInit(): void {\n this.tableDataSource.paginator = this.matPaginator;\n }\n\n\n setTableDataSource() {\n let convert = this.tableDataProvider.convert(this.tableData, this.tableConfig);\n this.tableDataSource = new MatTableDataSource<TableRow<T>>(convert);\n this.tableDataSource.paginator = this.matPaginator;\n this.tableDataSource.sort = this.matSort;\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.tableDataSource.filter = filterValue.trim().toLowerCase();\n }\n\n sortTable(sortParameters: Sort) {\n // defining name of data property, to sort by, instead of column name\n // @ts-ignore\n sortParameters.active = this.tableConfig.find(column => column.name === sortParameters.active).dataKey;\n this.sort.emit(sortParameters);\n }\n\n emitRowAction(action: string, row: T, $event: MouseEvent) {\n $event.stopPropagation();\n this.onRowAction.emit({action, value: row});\n }\n\n masterToggle() {\n this.selectionProvider.masterToggle();\n }\n\n isAllSelected(): boolean {\n return this.selectionProvider.isAllSelected();\n }\n\n castSrc(row: any): TableRow<T> {\n return row;\n }\n\n getView(rowIndex: number, columnKey: string): ColumnConfig<string> | undefined {\n return this.tableView[rowIndex].get(columnKey);\n }\n}\n","<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, castSrc(element).rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value получать настройки колонок нужно через getView(rowIndex, columnConfig.key) там находятся уже\r\n подготовленные значения для использования-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n","import {NgModule} from '@angular/core';\nimport {NgxAurMatTableComponent} from './ngx-aur-mat-table.component';\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatTableModule} from \"@angular/material/table\";\nimport {MatPaginatorModule} from \"@angular/material/paginator\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\nimport {DataPropertyGetterPipe} from \"./data-property-getter-pipe/data-property-getter.pipe\";\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\nimport { ColumnViewComponent } from './components/column-value/column-view.component';\n\n\n@NgModule({\n declarations: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe,\n ColumnViewComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatButtonModule,\n MatInputModule,\n MatSortModule,\n MatTooltipModule,\n MatCheckboxModule,\n MatFormFieldModule\n ],\n exports: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe\n ]\n})\nexport class NgxAurMatTableModule {\n}\n","/*\n * Public API Surface of ngx-aur-mat-table\n */\n\nexport * from './lib/ngx-aur-mat-table.component';\nexport * from './lib/ngx-aur-mat-table.module';\nexport * from './lib/data-property-getter-pipe/data-property-getter.pipe';\nexport * from './lib/model/TableRow'\nexport * from './lib/model/TableConfig'\nexport * from './lib/providers/RowActionProvider'\nexport * from './lib/providers/SelectionProvider'\nexport * from './lib/providers/IndexProvider'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SelectionModel","i0","i1","i2","i3","Component","Input","Pipe","MatTableDataSource","EventEmitter","MatPaginator","MatSort","i3.ColumnViewComponent","i4","i5","i6","i7","i8","i9","i10","i11","i12.DataPropertyGetterPipe","ViewChild","Output","BrowserModule","BrowserAnimationsModule","MatIconModule","MatTableModule","MatPaginatorModule","MatButtonModule","MatInputModule","MatSortModule","MatTooltipModule","MatCheckboxModule","MatFormFieldModule","NgModule"],"mappings":"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"}
@@ -92,7 +92,7 @@ export class NgxAurMatTableComponent {
92
92
  }
93
93
  }
94
94
  NgxAurMatTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxAurMatTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
- NgxAurMatTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NgxAurMatTableComponent, selector: "aur-mat-table", inputs: { isFilterable: "isFilterable", indexable: "indexable", isPageable: "isPageable", paginationSizes: "paginationSizes", defaultPageSize: "defaultPageSize", rowActionable: "rowActionable", selectable: "selectable", tableConfig: "tableConfig", tableData: "tableData" }, outputs: { sort: "sort", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onRowClick: "onRowClick" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n", styles: ["table{width:100%}th,td{padding:10px!important}mat-form-field{width:40%}.text-right{text-align:right!important}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i3.ColumnViewComponent, selector: "lib-column-view", inputs: ["config"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatLabel, selector: "mat-label" }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], pipes: { "dataPropertyGetter": i12.DataPropertyGetterPipe } });
95
+ NgxAurMatTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NgxAurMatTableComponent, selector: "aur-mat-table", inputs: { isFilterable: "isFilterable", indexable: "indexable", isPageable: "isPageable", paginationSizes: "paginationSizes", defaultPageSize: "defaultPageSize", rowActionable: "rowActionable", selectable: "selectable", tableConfig: "tableConfig", tableData: "tableData" }, outputs: { sort: "sort", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onRowClick: "onRowClick" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, castSrc(element).rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n", styles: ["table{width:100%}th,td{padding:10px!important}mat-form-field{width:40%}.text-right{text-align:right!important}\n"], components: [{ type: i1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i3.ColumnViewComponent, selector: "lib-column-view", inputs: ["config"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatLabel, selector: "mat-label" }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], pipes: { "dataPropertyGetter": i12.DataPropertyGetterPipe } });
96
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxAurMatTableComponent, decorators: [{
97
97
  type: Component,
98
98
  args: [{
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
137
137
  }], tableData: [{
138
138
  type: Input
139
139
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9uZ3gtYXVyLW1hdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL25neC1hdXItbWF0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLEVBQUMsT0FBTyxFQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRixPQUFPLEVBQStCLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFOUYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVFoRSxNQUFNLE9BQU8sdUJBQXVCO0lBaURsQztRQS9DTyxvQkFBZSxHQUFHLElBQUksa0JBQWtCLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDMUQscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGNBQVMsR0FBd0MsRUFBRSxDQUFDO1FBTWxELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTXJCLGVBQVUsR0FBRyxLQUFLLENB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RSxLQUFLLEVBQUM7Z0JBRUosT0FBTztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUN6QixZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNO2dCQUdFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFHRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUUsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb2x1bW5Db25maWcsIFRhYmxlQ29uZmlnfSBmcm9tICcuL21vZGVsL1RhYmxlQ29uZmlnJztcbmltcG9ydCB7TWF0U29ydCwgU29ydH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHtNYXRQYWdpbmF0b3J9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQge1NlbGVjdGlvbkNvbmZpZywgU2VsZWN0aW9uUHJvdmlkZXJ9IGZyb20gJy4vcHJvdmlkZXJzL1NlbGVjdGlvblByb3ZpZGVyJztcbmltcG9ydCB7QWN0aW9uRXZlbnQsIFJvd0FjdGlvbkNvbmZpZywgUm93QWN0aW9uUHJvdmlkZXJ9IGZyb20gJy4vcHJvdmlkZXJzL1Jvd0FjdGlvblByb3ZpZGVyJztcbmltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuL21vZGVsL1RhYmxlUm93XCI7XG5pbXBvcnQge1RhYmxlVmlld0NvbnZlcnRlcn0gZnJvbSBcIi4vcHJvdmlkZXJzL1RhYmxlVmlld0NvbnZlcnRlclwiO1xuaW1wb3J0IHtJbmRleFByb3ZpZGVyLCBJbmRleENvbmZpZ30gZnJvbSBcIi4vcHJvdmlkZXJzL0luZGV4UHJvdmlkZXJcIjtcbmltcG9ydCB7VGFibGVEYXRhUHJvdmlkZXJ9IGZyb20gXCIuL3Byb3ZpZGVycy9UYWJsZURhdGFQcm92aWRlclwiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1ci1tYXQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3gtYXVyLW1hdC10YWJsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hBdXJNYXRUYWJsZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHVibGljIHRhYmxlRGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8VGFibGVSb3c8VD4+KFtdKTtcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIHRhYmxlVmlldzogTWFwPHN0cmluZywgQ29sdW1uQ29uZmlnPHN0cmluZz4+W10gPSBbXTtcblxuICAvLyBAdHMtaWdub3JlXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7c3RhdGljOiBmYWxzZX0pIG1hdFBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xuICAvLyBAdHMtaWdub3JlXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwge3N0YXRpYzogdHJ1ZX0pIG1hdFNvcnQ6IE1hdFNvcnQ7XG4gIEBJbnB1dCgpIGlzRmlsdGVyYWJsZSA9IGZhbHNlO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQElucHV0KCkgaW5kZXhhYmxlOiBJbmRleENvbmZpZztcblxuXG4gIEBJbnB1dCgpIGlzUGFnZWFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcGFnaW5hdGlvblNpemVzOiBudW1iZXJbXSA9IFs1LCAxMCwgMTUsIDI1LCA1MF07XG4gIEBJbnB1dCgpIGRlZmF1bHRQYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzWzFdO1xuXG4gIEBPdXRwdXQoKSBzb3J0OiBFdmVudEVtaXR0ZXI8U29ydD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSByb3dBY3Rpb25hYmxlOiBSb3dBY3Rpb25Db25maWc7XG4gIEBPdXRwdXQoKSBvblJvd0FjdGlvbjogRXZlbnRFbWl0dGVyPEFjdGlvbkV2ZW50PFQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aW9uRXZlbnQ8VD4+KCk7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSBzZWxlY3RhYmxlOiBTZWxlY3Rpb25Db25maWc7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcbiAgQE91dHB1dCgpIG9uRGVzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcblxuICBAT3V0cHV0KCkgb25Sb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBASW5wdXQoKSB0YWJsZUNvbmZpZzogVGFibGVDb25maWc8YW55PltdID0gW107XG5cbiAgQElucHV0KCkgdGFibGVEYXRhOiBUW10gPSBbXTtcblxuICAvLyBAdHMtaWdub3JlXG4gIHNlbGVjdGlvblByb3ZpZGVyOiBTZWxlY3Rpb25Qcm92aWRlcjxUPjtcbiAgLy8gQHRzLWlnbm9yZVxuICByb3dBY3Rpb25zUHJvdmlkZXI6IFJvd0FjdGlvblByb3ZpZGVyPFQ+O1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgaW5kZXhQcm92aWRlcjogSW5kZXhQcm92aWRlcjtcblxuICB0YWJsZURhdGFQcm92aWRlciA9IG5ldyBUYWJsZURhdGFQcm92aWRlcjxUPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUYWJsZURhdGFTb3VyY2UoKTtcbiAgICB0aGlzLnRhYmxlVmlldyA9IFRhYmxlVmlld0NvbnZlcnRlci50b1ZpZXcodGhpcy50YWJsZURhdGFTb3VyY2UuZGF0YSwgdGhpcy50YWJsZUNvbmZpZylcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLnRhYmxlQ29uZmlnLm1hcCgodGFibGVDb2x1bW46IFRhYmxlQ29uZmlnPGFueT4pID0+IHRhYmxlQ29sdW1uLm5hbWUpO1xuICAgIGlmICh0aGlzLmluZGV4YWJsZSkge1xuICAgICAgdGhpcy5pbmRleFByb3ZpZGVyID0gbmV3IEluZGV4UHJvdmlkZXIodGhpcy5pbmRleGFibGUsIHRoaXMuZGlzcGxheWVkQ29sdW1ucyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJvd0FjdGlvbmFibGUpIHtcbiAgICAgIHRoaXMucm93QWN0aW9uc1Byb3ZpZGVyID0gbmV3IFJvd0FjdGlvblByb3ZpZGVyPFRhYmxlUm93PFQ+Pih0aGlzLnJvd0FjdGlvbmFibGUsIHRoaXMuZGlzcGxheWVkQ29sdW1ucyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uUHJvdmlkZXIgPSBuZXcgU2VsZWN0aW9uUHJvdmlkZXI8VD4odGhpcy5zZWxlY3RhYmxlLCB0aGlzLmRpc3BsYXllZENvbHVtbnMsIHRoaXMudGFibGVEYXRhU291cmNlKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uUHJvdmlkZXIuYmluZCh0aGlzLnNlbGVjdGVkLCB0aGlzLm9uU2VsZWN0LCB0aGlzLm9uRGVzZWxlY3QpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHdlIG5lZWQgdGhpcywgaW4gb3JkZXIgdG8gbWFrZSBwYWdpbmF0aW9uIHdvcmsgd2l0aCAqbmdJZlxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZURhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5tYXRQYWdpbmF0b3I7XG4gIH1cblxuXG4gIHNldFRhYmxlRGF0YVNvdXJjZSgpIHtcbiAgICBsZXQgY29udmVydCA9IHRoaXMudGFibGVEYXRhUHJvdmlkZXIuY29udmVydCh0aGlzLnRhYmxlRGF0YSwgdGhpcy50YWJsZUNvbmZpZyk7XG4gICAgdGhpcy50YWJsZURhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFRhYmxlUm93PFQ+Pihjb252ZXJ0KTtcbiAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLm1hdFBhZ2luYXRvcjtcbiAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5tYXRTb3J0O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMudGFibGVEYXRhU291cmNlLmZpbHRlciA9IGZpbHRlclZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgc29ydFRhYmxlKHNvcnRQYXJhbWV0ZXJzOiBTb3J0KSB7XG4gICAgLy8gZGVmaW5pbmcgbmFtZSBvZiBkYXRhIHByb3BlcnR5LCB0byBzb3J0IGJ5LCBpbnN0ZWFkIG9mIGNvbHVtbiBuYW1lXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHNvcnRQYXJhbWV0ZXJzLmFjdGl2ZSA9IHRoaXMudGFibGVDb25maWcuZmluZChjb2x1bW4gPT4gY29sdW1uLm5hbWUgPT09IHNvcnRQYXJhbWV0ZXJzLmFjdGl2ZSkuZGF0YUtleTtcbiAgICB0aGlzLnNvcnQuZW1pdChzb3J0UGFyYW1ldGVycyk7XG4gIH1cblxuICBlbWl0Um93QWN0aW9uKGFjdGlvbjogc3RyaW5nLCByb3c6IFQsICRldmVudDogTW91c2VFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uUm93QWN0aW9uLmVtaXQoe2FjdGlvbiwgdmFsdWU6IHJvd30pO1xuICB9XG5cbiAgbWFzdGVyVG9nZ2xlKCkge1xuICAgIHRoaXMuc2VsZWN0aW9uUHJvdmlkZXIubWFzdGVyVG9nZ2xlKCk7XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvblByb3ZpZGVyLmlzQWxsU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGNhc3RTcmMocm93OiBhbnkpOiBUYWJsZVJvdzxUPiB7XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIGdldFZpZXcocm93SW5kZXg6IG51bWJlciwgY29sdW1uS2V5OiBzdHJpbmcpOiBDb2x1bW5Db25maWc8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVWaWV3W3Jvd0luZGV4XS5nZXQoY29sdW1uS2V5KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBGaWx0ZXIgLS0+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmlsdGVyYWJsZVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cImFwcGx5RmlsdGVyKCRldmVudClcIiBwbGFjZWhvbGRlcj1cImZpbHRlclwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBUYWJsZSAtLT5cclxuICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cInRhYmxlRGF0YVNvdXJjZVwiIG1hdFNvcnQgKG1hdFNvcnRDaGFuZ2UpPVwic29ydFRhYmxlKCRldmVudClcIj5cclxuXHJcbiAgICA8IS0tICAgICAgICBpbmRleC1jb2x1bW4tLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmRleGFibGUgJiYgaW5kZXhhYmxlLmVuYWJsZT09PSB0cnVlXCIgW21hdENvbHVtbkRlZl09XCJpbmRleFByb3ZpZGVyLkNPTFVNTl9OQU1FXCI+XHJcblxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIDxsaWItY29sdW1uLXZpZXcgW2NvbmZpZ109XCJpbmRleGFibGUuaGVhZGVyQ29sdW1uXCI+XHJcbiAgICAgICAgICB7e2luZGV4YWJsZS5uYW1lID8gaW5kZXhhYmxlLm5hbWUgOiAnJ319XHJcbiAgICAgICAgPC9saWItY29sdW1uLXZpZXc+XHJcbiAgICAgIDwvdGg+XHJcblxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICB7e3Jvd0luZGV4ICsgKGluZGV4YWJsZS5vZmZzZXQgPyBpbmRleGFibGUub2Zmc2V0IDogMCl9fVxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSAgICAgICAgc2VsZWN0aW9uLWNvbHVtbi0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cInNlbGVjdGlvblByb3ZpZGVyLkNPTFVNTl9OQU1FXCIgKm5nSWY9XCJzZWxlY3Rpb25Qcm92aWRlclwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggKGNoYW5nZSk9XCIkZXZlbnQgPyBtYXN0ZXJUb2dnbGUoKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIj5cclxuICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi50b2dnbGUoY2FzdFNyYyhyb3cpLnJvd1NyYykgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5pc1NlbGVjdGVkKGNhc3RTcmMocm93KS5yb3dTcmMpXCI+XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIGFjdGlvbiBjb2x1bW4gLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93QWN0aW9uc1Byb3ZpZGVyXCIgW21hdENvbHVtbkRlZl09XCJyb3dBY3Rpb25zUHJvdmlkZXIuQ09MVU1OX05BTUVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1pdFJvd0FjdGlvbihhY3Rpb24uYWN0aW9uLCBlbGVtZW50LnJvd1NyYywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJhY3Rpb24uaWNvbi50b29sdGlwIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygcm93QWN0aW9uYWJsZS5hY3Rpb25zXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cImFjdGlvbi5pY29uLmNvbG9yXCI+XHJcbiAgICAgICAgICAgIHt7YWN0aW9uLmljb24ubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSAgICB2YWx1ZS1pY29uLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW5Db25maWcgb2YgdGFibGVDb25maWdcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbkNvbmZpZy5uYW1lXCI+XHJcblxyXG4gICAgICA8IS0tIGlmIHNvcnRhYmxlIGNvbHVtbiBoZWFkZXIgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5Db25maWcuc29ydD8uZW5hYmxlOyBlbHNlIG5vdFNvcnRhYmxlXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBbbWF0LXNvcnQtaGVhZGVyXT1cImNvbHVtbkNvbmZpZy5uYW1lXCJcclxuICAgICAgICAgICAgW2Fycm93UG9zaXRpb25dPVwiY29sdW1uQ29uZmlnLnNvcnQ/LnBvc2l0aW9uID09PSAncmlnaHQnID8gJ2JlZm9yZScgOiAnYWZ0ZXInXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVmFsdWVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDwhLS0gZWxzZSBub3Qgc29ydGFibGUgLS0+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm90U29ydGFibGU+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJWYWx1ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8IS0tICAgICAgaGVhZGVyIHZhbHVlLS0+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVmFsdWU+XHJcbiAgICAgICAgPGxpYi1jb2x1bW4tdmlldyBbY29uZmlnXT1cImNvbHVtbkNvbmZpZy5oZWFkZXJDb2x1bW5cIj5cclxuICAgICAgICAgIHt7Y29sdW1uQ29uZmlnLm5hbWV9fVxyXG4gICAgICAgIDwvbGliLWNvbHVtbi12aWV3PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPCEtLSBjb2x1bW4gdmFsdWUg0L/QvtC70YPRh9Cw0YLRjCDQvdCw0YHRgtGA0L7QudC60Lgg0LrQvtC70L7QvdC+0Log0L3Rg9C20L3QviDRh9C10YDQtdC3IGdldFZpZXcocm93SW5kZXgsIGNvbHVtbkNvbmZpZy5rZXkpINGC0LDQvCDQvdCw0YXQvtC00Y/RgtGB0Y8g0YPQttC1XHJcbiAgICAgINC/0L7QtNCz0L7RgtC+0LLQu9C10L3QvdGL0LUg0LfQvdCw0YfQtdC90LjRjyDQtNC70Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8tLT5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCByb3dJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgPGxpYi1jb2x1bW4tdmlldyBbY29uZmlnXT1cImdldFZpZXcocm93SW5kZXgsIGNvbHVtbkNvbmZpZy5rZXkpXCI+XHJcbiAgICAgICAgICB7e2VsZW1lbnQgfCBkYXRhUHJvcGVydHlHZXR0ZXI6IGNvbHVtbkNvbmZpZy5rZXl9fVxyXG4gICAgICAgIDwvbGliLWNvbHVtbi12aWV3PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICAgIDx0ciBtYXQtcm93IChjbGljayk9XCJvblJvd0FjdGlvbi5lbWl0KHJvdylcIiAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxyXG4gIDwvdGFibGU+XHJcblxyXG4gIDwhLS0gUGFnaW5hdGlvbiAtLT5cclxuICA8bWF0LXBhZ2luYXRvciAqbmdJZj1cImlzUGFnZWFibGVcIlxyXG4gICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnaW5hdGlvblNpemVzXCJcclxuICAgICAgICAgICAgICAgICBbcGFnZVNpemVdPVwiZGVmYXVsdFBhZ2VTaXplXCJcclxuICAgICAgICAgICAgICAgICBzaG93Rmlyc3RMYXN0QnV0dG9ucz5cclxuICA8L21hdC1wYWdpbmF0b3I+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF1ci1tYXQtdGFibGUvc3JjL2xpYi9uZ3gtYXVyLW1hdC10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVyLW1hdC10YWJsZS9zcmMvbGliL25neC1hdXItbWF0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2RyxPQUFPLEVBQUMsT0FBTyxFQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRixPQUFPLEVBQStCLGlCQUFpQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFOUYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVFoRSxNQUFNLE9BQU8sdUJBQXVCO0lBaURsQztRQS9DTyxvQkFBZSxHQUFHLElBQUksa0JBQWtCLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDMUQscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBRWhDLGNBQVMsR0FBd0MsRUFBRSxDQUFDO1FBTWxELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTXJCLGVBQVUsR0FBRyxLQUFLLENB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RSxLQUFLLEVBQUM7Z0JBRUosT0FBTztzQkFBMUMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUN6QixZQUFZO3NCQUFwQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNO2dCQUdFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFHRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUUsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb2x1bW5Db25maWcsIFRhYmxlQ29uZmlnfSBmcm9tICcuL21vZGVsL1RhYmxlQ29uZmlnJztcbmltcG9ydCB7TWF0U29ydCwgU29ydH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge01hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHtNYXRQYWdpbmF0b3J9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQge1NlbGVjdGlvbkNvbmZpZywgU2VsZWN0aW9uUHJvdmlkZXJ9IGZyb20gJy4vcHJvdmlkZXJzL1NlbGVjdGlvblByb3ZpZGVyJztcbmltcG9ydCB7QWN0aW9uRXZlbnQsIFJvd0FjdGlvbkNvbmZpZywgUm93QWN0aW9uUHJvdmlkZXJ9IGZyb20gJy4vcHJvdmlkZXJzL1Jvd0FjdGlvblByb3ZpZGVyJztcbmltcG9ydCB7VGFibGVSb3d9IGZyb20gXCIuL21vZGVsL1RhYmxlUm93XCI7XG5pbXBvcnQge1RhYmxlVmlld0NvbnZlcnRlcn0gZnJvbSBcIi4vcHJvdmlkZXJzL1RhYmxlVmlld0NvbnZlcnRlclwiO1xuaW1wb3J0IHtJbmRleFByb3ZpZGVyLCBJbmRleENvbmZpZ30gZnJvbSBcIi4vcHJvdmlkZXJzL0luZGV4UHJvdmlkZXJcIjtcbmltcG9ydCB7VGFibGVEYXRhUHJvdmlkZXJ9IGZyb20gXCIuL3Byb3ZpZGVycy9UYWJsZURhdGFQcm92aWRlclwiO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1ci1tYXQtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LWF1ci1tYXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3gtYXVyLW1hdC10YWJsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hBdXJNYXRUYWJsZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHVibGljIHRhYmxlRGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8VGFibGVSb3c8VD4+KFtdKTtcbiAgcHVibGljIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIHRhYmxlVmlldzogTWFwPHN0cmluZywgQ29sdW1uQ29uZmlnPHN0cmluZz4+W10gPSBbXTtcblxuICAvLyBAdHMtaWdub3JlXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7c3RhdGljOiBmYWxzZX0pIG1hdFBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xuICAvLyBAdHMtaWdub3JlXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwge3N0YXRpYzogdHJ1ZX0pIG1hdFNvcnQ6IE1hdFNvcnQ7XG4gIEBJbnB1dCgpIGlzRmlsdGVyYWJsZSA9IGZhbHNlO1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQElucHV0KCkgaW5kZXhhYmxlOiBJbmRleENvbmZpZztcblxuXG4gIEBJbnB1dCgpIGlzUGFnZWFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgcGFnaW5hdGlvblNpemVzOiBudW1iZXJbXSA9IFs1LCAxMCwgMTUsIDI1LCA1MF07XG4gIEBJbnB1dCgpIGRlZmF1bHRQYWdlU2l6ZSA9IHRoaXMucGFnaW5hdGlvblNpemVzWzFdO1xuXG4gIEBPdXRwdXQoKSBzb3J0OiBFdmVudEVtaXR0ZXI8U29ydD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSByb3dBY3Rpb25hYmxlOiBSb3dBY3Rpb25Db25maWc7XG4gIEBPdXRwdXQoKSBvblJvd0FjdGlvbjogRXZlbnRFbWl0dGVyPEFjdGlvbkV2ZW50PFQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QWN0aW9uRXZlbnQ8VD4+KCk7XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBASW5wdXQoKSBzZWxlY3RhYmxlOiBTZWxlY3Rpb25Db25maWc7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VFtdPigpO1xuICBAT3V0cHV0KCkgb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcbiAgQE91dHB1dCgpIG9uRGVzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcblxuICBAT3V0cHV0KCkgb25Sb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBASW5wdXQoKSB0YWJsZUNvbmZpZzogVGFibGVDb25maWc8YW55PltdID0gW107XG5cbiAgQElucHV0KCkgdGFibGVEYXRhOiBUW10gPSBbXTtcblxuICAvLyBAdHMtaWdub3JlXG4gIHNlbGVjdGlvblByb3ZpZGVyOiBTZWxlY3Rpb25Qcm92aWRlcjxUPjtcbiAgLy8gQHRzLWlnbm9yZVxuICByb3dBY3Rpb25zUHJvdmlkZXI6IFJvd0FjdGlvblByb3ZpZGVyPFQ+O1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgaW5kZXhQcm92aWRlcjogSW5kZXhQcm92aWRlcjtcblxuICB0YWJsZURhdGFQcm92aWRlciA9IG5ldyBUYWJsZURhdGFQcm92aWRlcjxUPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUYWJsZURhdGFTb3VyY2UoKTtcbiAgICB0aGlzLnRhYmxlVmlldyA9IFRhYmxlVmlld0NvbnZlcnRlci50b1ZpZXcodGhpcy50YWJsZURhdGFTb3VyY2UuZGF0YSwgdGhpcy50YWJsZUNvbmZpZylcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLnRhYmxlQ29uZmlnLm1hcCgodGFibGVDb2x1bW46IFRhYmxlQ29uZmlnPGFueT4pID0+IHRhYmxlQ29sdW1uLm5hbWUpO1xuICAgIGlmICh0aGlzLmluZGV4YWJsZSkge1xuICAgICAgdGhpcy5pbmRleFByb3ZpZGVyID0gbmV3IEluZGV4UHJvdmlkZXIodGhpcy5pbmRleGFibGUsIHRoaXMuZGlzcGxheWVkQ29sdW1ucyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJvd0FjdGlvbmFibGUpIHtcbiAgICAgIHRoaXMucm93QWN0aW9uc1Byb3ZpZGVyID0gbmV3IFJvd0FjdGlvblByb3ZpZGVyPFRhYmxlUm93PFQ+Pih0aGlzLnJvd0FjdGlvbmFibGUsIHRoaXMuZGlzcGxheWVkQ29sdW1ucyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uUHJvdmlkZXIgPSBuZXcgU2VsZWN0aW9uUHJvdmlkZXI8VD4odGhpcy5zZWxlY3RhYmxlLCB0aGlzLmRpc3BsYXllZENvbHVtbnMsIHRoaXMudGFibGVEYXRhU291cmNlKTtcbiAgICAgIHRoaXMuc2VsZWN0aW9uUHJvdmlkZXIuYmluZCh0aGlzLnNlbGVjdGVkLCB0aGlzLm9uU2VsZWN0LCB0aGlzLm9uRGVzZWxlY3QpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHdlIG5lZWQgdGhpcywgaW4gb3JkZXIgdG8gbWFrZSBwYWdpbmF0aW9uIHdvcmsgd2l0aCAqbmdJZlxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJsZURhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5tYXRQYWdpbmF0b3I7XG4gIH1cblxuXG4gIHNldFRhYmxlRGF0YVNvdXJjZSgpIHtcbiAgICBsZXQgY29udmVydCA9IHRoaXMudGFibGVEYXRhUHJvdmlkZXIuY29udmVydCh0aGlzLnRhYmxlRGF0YSwgdGhpcy50YWJsZUNvbmZpZyk7XG4gICAgdGhpcy50YWJsZURhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFRhYmxlUm93PFQ+Pihjb252ZXJ0KTtcbiAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLm1hdFBhZ2luYXRvcjtcbiAgICB0aGlzLnRhYmxlRGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5tYXRTb3J0O1xuICB9XG5cbiAgYXBwbHlGaWx0ZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgIHRoaXMudGFibGVEYXRhU291cmNlLmZpbHRlciA9IGZpbHRlclZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgc29ydFRhYmxlKHNvcnRQYXJhbWV0ZXJzOiBTb3J0KSB7XG4gICAgLy8gZGVmaW5pbmcgbmFtZSBvZiBkYXRhIHByb3BlcnR5LCB0byBzb3J0IGJ5LCBpbnN0ZWFkIG9mIGNvbHVtbiBuYW1lXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHNvcnRQYXJhbWV0ZXJzLmFjdGl2ZSA9IHRoaXMudGFibGVDb25maWcuZmluZChjb2x1bW4gPT4gY29sdW1uLm5hbWUgPT09IHNvcnRQYXJhbWV0ZXJzLmFjdGl2ZSkuZGF0YUtleTtcbiAgICB0aGlzLnNvcnQuZW1pdChzb3J0UGFyYW1ldGVycyk7XG4gIH1cblxuICBlbWl0Um93QWN0aW9uKGFjdGlvbjogc3RyaW5nLCByb3c6IFQsICRldmVudDogTW91c2VFdmVudCkge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uUm93QWN0aW9uLmVtaXQoe2FjdGlvbiwgdmFsdWU6IHJvd30pO1xuICB9XG5cbiAgbWFzdGVyVG9nZ2xlKCkge1xuICAgIHRoaXMuc2VsZWN0aW9uUHJvdmlkZXIubWFzdGVyVG9nZ2xlKCk7XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvblByb3ZpZGVyLmlzQWxsU2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGNhc3RTcmMocm93OiBhbnkpOiBUYWJsZVJvdzxUPiB7XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIGdldFZpZXcocm93SW5kZXg6IG51bWJlciwgY29sdW1uS2V5OiBzdHJpbmcpOiBDb2x1bW5Db25maWc8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudGFibGVWaWV3W3Jvd0luZGV4XS5nZXQoY29sdW1uS2V5KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBGaWx0ZXIgLS0+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmlsdGVyYWJsZVwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cImFwcGx5RmlsdGVyKCRldmVudClcIiBwbGFjZWhvbGRlcj1cImZpbHRlclwiPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBUYWJsZSAtLT5cclxuICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cInRhYmxlRGF0YVNvdXJjZVwiIG1hdFNvcnQgKG1hdFNvcnRDaGFuZ2UpPVwic29ydFRhYmxlKCRldmVudClcIj5cclxuXHJcbiAgICA8IS0tICAgICAgICBpbmRleC1jb2x1bW4tLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmRleGFibGUgJiYgaW5kZXhhYmxlLmVuYWJsZT09PSB0cnVlXCIgW21hdENvbHVtbkRlZl09XCJpbmRleFByb3ZpZGVyLkNPTFVNTl9OQU1FXCI+XHJcblxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIDxsaWItY29sdW1uLXZpZXcgW2NvbmZpZ109XCJpbmRleGFibGUuaGVhZGVyQ29sdW1uXCI+XHJcbiAgICAgICAgICB7e2luZGV4YWJsZS5uYW1lID8gaW5kZXhhYmxlLm5hbWUgOiAnJ319XHJcbiAgICAgICAgPC9saWItY29sdW1uLXZpZXc+XHJcbiAgICAgIDwvdGg+XHJcblxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IHJvd0luZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICB7e3Jvd0luZGV4ICsgKGluZGV4YWJsZS5vZmZzZXQgPyBpbmRleGFibGUub2Zmc2V0IDogMCl9fVxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSAgICAgICAgc2VsZWN0aW9uLWNvbHVtbi0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cInNlbGVjdGlvblByb3ZpZGVyLkNPTFVNTl9OQU1FXCIgKm5nSWY9XCJzZWxlY3Rpb25Qcm92aWRlclwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggKGNoYW5nZSk9XCIkZXZlbnQgPyBtYXN0ZXJUb2dnbGUoKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uUHJvdmlkZXIuc2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIj5cclxuICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgPC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi50b2dnbGUoY2FzdFNyYyhyb3cpLnJvd1NyYykgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvblByb3ZpZGVyLnNlbGVjdGlvbi5pc1NlbGVjdGVkKGNhc3RTcmMocm93KS5yb3dTcmMpXCI+XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8IS0tIGFjdGlvbiBjb2x1bW4gLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93QWN0aW9uc1Byb3ZpZGVyXCIgW21hdENvbHVtbkRlZl09XCJyb3dBY3Rpb25zUHJvdmlkZXIuQ09MVU1OX05BTUVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZW1pdFJvd0FjdGlvbihhY3Rpb24uYWN0aW9uLCBjYXN0U3JjKGVsZW1lbnQpLnJvd1NyYywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJhY3Rpb24uaWNvbi50b29sdGlwIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Ygcm93QWN0aW9uYWJsZS5hY3Rpb25zXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gW3N0eWxlLmNvbG9yXT1cImFjdGlvbi5pY29uLmNvbG9yXCI+XHJcbiAgICAgICAgICAgIHt7YWN0aW9uLmljb24ubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSAgICB2YWx1ZS1pY29uLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW5Db25maWcgb2YgdGFibGVDb25maWdcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbkNvbmZpZy5uYW1lXCI+XHJcblxyXG4gICAgICA8IS0tIGlmIHNvcnRhYmxlIGNvbHVtbiBoZWFkZXIgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW5Db25maWcuc29ydD8uZW5hYmxlOyBlbHNlIG5vdFNvcnRhYmxlXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBbbWF0LXNvcnQtaGVhZGVyXT1cImNvbHVtbkNvbmZpZy5uYW1lXCJcclxuICAgICAgICAgICAgW2Fycm93UG9zaXRpb25dPVwiY29sdW1uQ29uZmlnLnNvcnQ/LnBvc2l0aW9uID09PSAncmlnaHQnID8gJ2JlZm9yZScgOiAnYWZ0ZXInXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVmFsdWVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3RoPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDwhLS0gZWxzZSBub3Qgc29ydGFibGUgLS0+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjbm90U29ydGFibGU+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJWYWx1ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICA8IS0tICAgICAgaGVhZGVyIHZhbHVlLS0+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVmFsdWU+XHJcbiAgICAgICAgPGxpYi1jb2x1bW4tdmlldyBbY29uZmlnXT1cImNvbHVtbkNvbmZpZy5oZWFkZXJDb2x1bW5cIj5cclxuICAgICAgICAgIHt7Y29sdW1uQ29uZmlnLm5hbWV9fVxyXG4gICAgICAgIDwvbGliLWNvbHVtbi12aWV3PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPCEtLSBjb2x1bW4gdmFsdWUg0L/QvtC70YPRh9Cw0YLRjCDQvdCw0YHRgtGA0L7QudC60Lgg0LrQvtC70L7QvdC+0Log0L3Rg9C20L3QviDRh9C10YDQtdC3IGdldFZpZXcocm93SW5kZXgsIGNvbHVtbkNvbmZpZy5rZXkpINGC0LDQvCDQvdCw0YXQvtC00Y/RgtGB0Y8g0YPQttC1XHJcbiAgICAgINC/0L7QtNCz0L7RgtC+0LLQu9C10L3QvdGL0LUg0LfQvdCw0YfQtdC90LjRjyDQtNC70Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8tLT5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCByb3dJbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgPGxpYi1jb2x1bW4tdmlldyBbY29uZmlnXT1cImdldFZpZXcocm93SW5kZXgsIGNvbHVtbkNvbmZpZy5rZXkpXCI+XHJcbiAgICAgICAgICB7e2VsZW1lbnQgfCBkYXRhUHJvcGVydHlHZXR0ZXI6IGNvbHVtbkNvbmZpZy5rZXl9fVxyXG4gICAgICAgIDwvbGliLWNvbHVtbi12aWV3PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICAgIDx0ciBtYXQtcm93IChjbGljayk9XCJvblJvd0FjdGlvbi5lbWl0KHJvdylcIiAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxyXG4gIDwvdGFibGU+XHJcblxyXG4gIDwhLS0gUGFnaW5hdGlvbiAtLT5cclxuICA8bWF0LXBhZ2luYXRvciAqbmdJZj1cImlzUGFnZWFibGVcIlxyXG4gICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnaW5hdGlvblNpemVzXCJcclxuICAgICAgICAgICAgICAgICBbcGFnZVNpemVdPVwiZGVmYXVsdFBhZ2VTaXplXCJcclxuICAgICAgICAgICAgICAgICBzaG93Rmlyc3RMYXN0QnV0dG9ucz5cclxuICA8L21hdC1wYWdpbmF0b3I+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -250,7 +250,7 @@ class NgxAurMatTableComponent {
250
250
  }
251
251
  }
252
252
  NgxAurMatTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxAurMatTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
253
- NgxAurMatTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NgxAurMatTableComponent, selector: "aur-mat-table", inputs: { isFilterable: "isFilterable", indexable: "indexable", isPageable: "isPageable", paginationSizes: "paginationSizes", defaultPageSize: "defaultPageSize", rowActionable: "rowActionable", selectable: "selectable", tableConfig: "tableConfig", tableData: "tableData" }, outputs: { sort: "sort", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onRowClick: "onRowClick" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n", styles: ["table{width:100%}th,td{padding:10px!important}mat-form-field{width:40%}.text-right{text-align:right!important}\n"], components: [{ type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: ColumnViewComponent, selector: "lib-column-view", inputs: ["config"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MatLabel, selector: "mat-label" }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], pipes: { "dataPropertyGetter": DataPropertyGetterPipe } });
253
+ NgxAurMatTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NgxAurMatTableComponent, selector: "aur-mat-table", inputs: { isFilterable: "isFilterable", indexable: "indexable", isPageable: "isPageable", paginationSizes: "paginationSizes", defaultPageSize: "defaultPageSize", rowActionable: "rowActionable", selectable: "selectable", tableConfig: "tableConfig", tableData: "tableData" }, outputs: { sort: "sort", onRowAction: "onRowAction", selected: "selected", onSelect: "onSelect", onDeselect: "onDeselect", onRowClick: "onRowClick" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, castSrc(element).rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u044C \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043A\u043E\u043B\u043E\u043D\u043E\u043A \u043D\u0443\u0436\u043D\u043E \u0447\u0435\u0440\u0435\u0437 getView(rowIndex, columnConfig.key) \u0442\u0430\u043C \u043D\u0430\u0445\u043E\u0434\u044F\u0442\u0441\u044F \u0443\u0436\u0435\r\n \u043F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043B\u0435\u043D\u043D\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n", styles: ["table{width:100%}th,td{padding:10px!important}mat-form-field{width:40%}.text-right{text-align:right!important}\n"], components: [{ type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: ColumnViewComponent, selector: "lib-column-view", inputs: ["config"] }, { type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "arrowPosition", "sortActionDescription", "disableClear", "mat-sort-header", "start"], exportAs: ["matSortHeader"] }, { type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i8.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$1.MatLabel, selector: "mat-label" }, { type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortActive"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i9.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }], pipes: { "dataPropertyGetter": DataPropertyGetterPipe } });
254
254
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NgxAurMatTableComponent, decorators: [{
255
255
  type: Component,
256
256
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-aur-mat-table.js","sources":["../../../projects/ngx-aur-mat-table/src/lib/providers/SelectionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/RowActionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableViewConverter.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/IndexProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/model/TableRow.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableDataProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.html","../../../projects/ngx-aur-mat-table/src/lib/data-property-getter-pipe/data-property-getter.pipe.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.html","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.module.ts","../../../projects/ngx-aur-mat-table/src/public-api.ts","../../../projects/ngx-aur-mat-table/src/ngx-aur-mat-table.ts"],"sourcesContent":["import {SelectionModel} from '@angular/cdk/collections';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {EventEmitter} from '@angular/core';\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport interface SelectionConfig {\r\n position?: 'start' | 'end';\r\n multiple?: boolean;\r\n}\r\n\r\nexport class SelectionProvider<T> {\r\n\r\n public readonly COLUMN_NAME = 'tbl_selects';\r\n selection: SelectionModel<T>;\r\n config: SelectionConfig;\r\n tableDataSource: MatTableDataSource<TableRow<T>>;\r\n\r\n constructor(ctx: SelectionConfig, columns: string[], tableDataSource: MatTableDataSource<TableRow<T>>) {\r\n this.config = ctx;\r\n this.selection = new SelectionModel<T>(ctx.multiple, []);\r\n this.tableDataSource = tableDataSource;\r\n this.initCheckboxColumn(columns);\r\n }\r\n\r\n initCheckboxColumn(columns: string[]) {\r\n if (this.config.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n\r\n bind(selected: EventEmitter<T[]>, onSelect: EventEmitter<T[]>, onDeselect: EventEmitter<T[]>) {\r\n this.selection.changed\r\n .subscribe(event => {\r\n if (event.added) {\r\n onSelect.emit(event.added);\r\n }\r\n if (event.removed) {\r\n onDeselect.emit(event.removed);\r\n }\r\n selected.emit(this.selection.selected);\r\n });\r\n }\r\n\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.tableDataSource.data.forEach(row => this.selection.select(row.rowSrc));\r\n }\r\n\r\n isAllSelected(): boolean {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.tableDataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n}\r\n","import {IconConfig} from \"../model/TableConfig\";\r\n\r\nexport interface ActionEvent<T> {\r\n action: string;\r\n value: T;\r\n}\r\n\r\nexport interface RowActionConfig {\r\n position?: 'start' | 'end';\r\n actions: ActionConfig[];\r\n}\r\n\r\nexport interface ActionConfig {\r\n action: string;\r\n icon: IconConfig<string>;\r\n}\r\n\r\nexport class RowActionProvider<T> {\r\n\r\n readonly COLUMN_NAME = 'tbl_actions';\r\n context: RowActionConfig;\r\n\r\n constructor(ctx: RowActionConfig, columns: string[]) {\r\n this.context = ctx;\r\n if (ctx.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","import {TableRow} from \"../model/TableRow\";\r\nimport {ColumnConfig, IconConfig, TableConfig, TextConfig} from \"../model/TableConfig\";\r\n\r\nexport class TableViewConverter {\r\n\r\n public static toView<T>(rows: TableRow<T>[], tableConfig: TableConfig<TableRow<T>>[]): Map<string, ColumnConfig<string>>[] {\r\n const result: Map<string, ColumnConfig<(value: TableRow<T>) => string>> = new Map();\r\n tableConfig.forEach(c => {\r\n if (c.valueColumn) {\r\n result.set(c.key, c.valueColumn)\r\n }\r\n })\r\n return this.toViewInternal(rows, result);\r\n }\r\n\r\n private static toViewInternal<T>(rows: TableRow<T>[], source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>): Map<string, ColumnConfig<string>>[] {\r\n return rows.map(row => this.columnConfig(source, row));\r\n }\r\n\r\n private static columnConfig<T>(source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>, row: TableRow<T>): Map<string, ColumnConfig<string>> {\r\n const result: Map<string, ColumnConfig<string>> = new Map();\r\n source.forEach((source, key) => {\r\n const value: ColumnConfig<string> = {\r\n icon: this.iconConfig(source.icon, row),\r\n text: this.textConfig(source.text, row)\r\n }\r\n result.set(key, value)\r\n });\r\n return result;\r\n }\r\n\r\n private static iconConfig<T>(iconSource: IconConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): IconConfig<string> | undefined {\r\n if (!iconSource) {\r\n return undefined;\r\n }\r\n return {\r\n name: iconSource.name(row),\r\n color: iconSource.color ? iconSource.color(row) : undefined,\r\n tooltip: iconSource.tooltip ? iconSource.tooltip(row) : undefined,\r\n position: iconSource.position,\r\n }\r\n }\r\n\r\n private static textConfig<T>(textSource: TextConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): TextConfig<string> | undefined {\r\n if (!textSource) {\r\n return undefined;\r\n }\r\n return {\r\n show: textSource.show,\r\n tooltip: textSource.tooltip ? textSource.tooltip(row) : undefined,\r\n color: textSource.color ? textSource.color(row) : undefined,\r\n }\r\n }\r\n}\r\n","import {ColumnConfig} from \"../model/TableConfig\";\r\n\r\nexport interface IndexConfig {\r\n enable: true,\r\n\r\n /** смещение для первого индекса например 1 чтобы нумерация началась с 1 по умолчанию от нуля */\r\n offset?: number,\r\n\r\n headerColumn?: ColumnConfig<string>\r\n\r\n /** название для колонки, по умолчанию ''*/\r\n name?: string;\r\n}\r\n\r\nexport class IndexProvider {\r\n public readonly COLUMN_NAME = 'tbl_index';\r\n\r\n constructor(indexConfig: IndexConfig, columns: string[]) {\r\n if (indexConfig && indexConfig.enable) {\r\n columns.unshift(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","export class TableRow<T> {\r\n rowSrc: T;\r\n [key: string]: any;\r\n\r\n constructor(rowSrc: T) {\r\n this.rowSrc = rowSrc;\r\n }\r\n}\r\n","import {TableConfig} from \"../model/TableConfig\";\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport class TableDataProvider<T> {\r\n\r\n public convert(data: T[], config: TableConfig<T>[]): TableRow<T>[] {\r\n return data.map(d => this.tableRow(d, config));\r\n }\r\n\r\n private tableRow(obj: T, config: TableConfig<T>[]): TableRow<T> {\r\n const row = new TableRow<T>(obj);\r\n config.forEach(c => row[c.key] = c.valueConverter(obj));\r\n return row;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\nimport {ColumnConfig} from \"../../model/TableConfig\";\n\n@Component({\n selector: 'lib-column-view',\n templateUrl: './column-view.component.html',\n styleUrls: ['./column-view.component.css']\n})\nexport class ColumnViewComponent {\n @Input() config: ColumnConfig<string> | undefined;\n}\n","<mat-icon *ngIf=\"config?.icon\"\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\n [style.color]=\"config?.icon?.color\"\n>\n {{config?.icon?.name}}\n</mat-icon>\n\n<span *ngIf=\"config?.text?.show != false\"\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\n>\n <ng-content></ng-content>\n</span>\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'dataPropertyGetter'\r\n})\r\nexport class DataPropertyGetterPipe implements PipeTransform {\r\n\r\n transform(object: any, keyName: string, ...args: unknown[]): unknown {\r\n return object[keyName];\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {ColumnConfig, TableConfig} from './model/TableConfig';\nimport {MatSort, Sort} from '@angular/material/sort';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {SelectionConfig, SelectionProvider} from './providers/SelectionProvider';\nimport {ActionEvent, RowActionConfig, RowActionProvider} from './providers/RowActionProvider';\nimport {TableRow} from \"./model/TableRow\";\nimport {TableViewConverter} from \"./providers/TableViewConverter\";\nimport {IndexProvider, IndexConfig} from \"./providers/IndexProvider\";\nimport {TableDataProvider} from \"./providers/TableDataProvider\";\n\n\n@Component({\n selector: 'aur-mat-table',\n templateUrl: './ngx-aur-mat-table.component.html',\n styleUrls: ['./ngx-aur-mat-table.component.scss'],\n})\nexport class NgxAurMatTableComponent<T> implements OnInit, AfterViewInit {\n\n public tableDataSource = new MatTableDataSource<TableRow<T>>([]);\n public displayedColumns: string[] = [];\n\n public tableView: Map<string, ColumnConfig<string>>[] = [];\n\n // @ts-ignore\n @ViewChild(MatPaginator, {static: false}) matPaginator: MatPaginator;\n // @ts-ignore\n @ViewChild(MatSort, {static: true}) matSort: MatSort;\n @Input() isFilterable = false;\n\n // @ts-ignore\n @Input() indexable: IndexConfig;\n\n\n @Input() isPageable = false;\n @Input() paginationSizes: number[] = [5, 10, 15, 25, 50];\n @Input() defaultPageSize = this.paginationSizes[1];\n\n @Output() sort: EventEmitter<Sort> = new EventEmitter();\n\n // @ts-ignore\n @Input() rowActionable: RowActionConfig;\n @Output() onRowAction: EventEmitter<ActionEvent<T>> = new EventEmitter<ActionEvent<T>>();\n\n // @ts-ignore\n @Input() selectable: SelectionConfig;\n @Output() selected = new EventEmitter<T[]>();\n @Output() onSelect = new EventEmitter<T[]>();\n @Output() onDeselect = new EventEmitter<T[]>();\n\n @Output() onRowClick = new EventEmitter<T>();\n\n @Input() tableConfig: TableConfig<any>[] = [];\n\n @Input() tableData: T[] = [];\n\n // @ts-ignore\n selectionProvider: SelectionProvider<T>;\n // @ts-ignore\n rowActionsProvider: RowActionProvider<T>;\n\n // @ts-ignore\n indexProvider: IndexProvider;\n\n tableDataProvider = new TableDataProvider<T>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.setTableDataSource();\n this.tableView = TableViewConverter.toView(this.tableDataSource.data, this.tableConfig)\n this.displayedColumns = this.tableConfig.map((tableColumn: TableConfig<any>) => tableColumn.name);\n if (this.indexable) {\n this.indexProvider = new IndexProvider(this.indexable, this.displayedColumns);\n } else if (this.rowActionable) {\n this.rowActionsProvider = new RowActionProvider<TableRow<T>>(this.rowActionable, this.displayedColumns);\n } else if (this.selectable) {\n this.selectionProvider = new SelectionProvider<T>(this.selectable, this.displayedColumns, this.tableDataSource);\n this.selectionProvider.bind(this.selected, this.onSelect, this.onDeselect);\n }\n }\n\n // we need this, in order to make pagination work with *ngIf\n ngAfterViewInit(): void {\n this.tableDataSource.paginator = this.matPaginator;\n }\n\n\n setTableDataSource() {\n let convert = this.tableDataProvider.convert(this.tableData, this.tableConfig);\n this.tableDataSource = new MatTableDataSource<TableRow<T>>(convert);\n this.tableDataSource.paginator = this.matPaginator;\n this.tableDataSource.sort = this.matSort;\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.tableDataSource.filter = filterValue.trim().toLowerCase();\n }\n\n sortTable(sortParameters: Sort) {\n // defining name of data property, to sort by, instead of column name\n // @ts-ignore\n sortParameters.active = this.tableConfig.find(column => column.name === sortParameters.active).dataKey;\n this.sort.emit(sortParameters);\n }\n\n emitRowAction(action: string, row: T, $event: MouseEvent) {\n $event.stopPropagation();\n this.onRowAction.emit({action, value: row});\n }\n\n masterToggle() {\n this.selectionProvider.masterToggle();\n }\n\n isAllSelected(): boolean {\n return this.selectionProvider.isAllSelected();\n }\n\n castSrc(row: any): TableRow<T> {\n return row;\n }\n\n getView(rowIndex: number, columnKey: string): ColumnConfig<string> | undefined {\n return this.tableView[rowIndex].get(columnKey);\n }\n}\n","<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, element.rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value получать настройки колонок нужно через getView(rowIndex, columnConfig.key) там находятся уже\r\n подготовленные значения для использования-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n","import {NgModule} from '@angular/core';\nimport {NgxAurMatTableComponent} from './ngx-aur-mat-table.component';\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatTableModule} from \"@angular/material/table\";\nimport {MatPaginatorModule} from \"@angular/material/paginator\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\nimport {DataPropertyGetterPipe} from \"./data-property-getter-pipe/data-property-getter.pipe\";\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\nimport { ColumnViewComponent } from './components/column-value/column-view.component';\n\n\n@NgModule({\n declarations: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe,\n ColumnViewComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatButtonModule,\n MatInputModule,\n MatSortModule,\n MatTooltipModule,\n MatCheckboxModule,\n MatFormFieldModule\n ],\n exports: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe\n ]\n})\nexport class NgxAurMatTableModule {\n}\n","/*\n * Public API Surface of ngx-aur-mat-table\n */\n\nexport * from './lib/ngx-aur-mat-table.component';\nexport * from './lib/ngx-aur-mat-table.module';\nexport * from './lib/data-property-getter-pipe/data-property-getter.pipe';\nexport * from './lib/model/TableRow'\nexport * from './lib/model/TableConfig'\nexport * from './lib/providers/RowActionProvider'\nexport * from './lib/providers/SelectionProvider'\nexport * from './lib/providers/IndexProvider'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3.ColumnViewComponent","i6","i11","i12.DataPropertyGetterPipe"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-aur-mat-table.js","sources":["../../../projects/ngx-aur-mat-table/src/lib/providers/SelectionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/RowActionProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableViewConverter.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/IndexProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/model/TableRow.ts","../../../projects/ngx-aur-mat-table/src/lib/providers/TableDataProvider.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.ts","../../../projects/ngx-aur-mat-table/src/lib/components/column-value/column-view.component.html","../../../projects/ngx-aur-mat-table/src/lib/data-property-getter-pipe/data-property-getter.pipe.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.ts","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.component.html","../../../projects/ngx-aur-mat-table/src/lib/ngx-aur-mat-table.module.ts","../../../projects/ngx-aur-mat-table/src/public-api.ts","../../../projects/ngx-aur-mat-table/src/ngx-aur-mat-table.ts"],"sourcesContent":["import {SelectionModel} from '@angular/cdk/collections';\r\nimport {MatTableDataSource} from '@angular/material/table';\r\nimport {EventEmitter} from '@angular/core';\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport interface SelectionConfig {\r\n position?: 'start' | 'end';\r\n multiple?: boolean;\r\n}\r\n\r\nexport class SelectionProvider<T> {\r\n\r\n public readonly COLUMN_NAME = 'tbl_selects';\r\n selection: SelectionModel<T>;\r\n config: SelectionConfig;\r\n tableDataSource: MatTableDataSource<TableRow<T>>;\r\n\r\n constructor(ctx: SelectionConfig, columns: string[], tableDataSource: MatTableDataSource<TableRow<T>>) {\r\n this.config = ctx;\r\n this.selection = new SelectionModel<T>(ctx.multiple, []);\r\n this.tableDataSource = tableDataSource;\r\n this.initCheckboxColumn(columns);\r\n }\r\n\r\n initCheckboxColumn(columns: string[]) {\r\n if (this.config.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n\r\n bind(selected: EventEmitter<T[]>, onSelect: EventEmitter<T[]>, onDeselect: EventEmitter<T[]>) {\r\n this.selection.changed\r\n .subscribe(event => {\r\n if (event.added) {\r\n onSelect.emit(event.added);\r\n }\r\n if (event.removed) {\r\n onDeselect.emit(event.removed);\r\n }\r\n selected.emit(this.selection.selected);\r\n });\r\n }\r\n\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.tableDataSource.data.forEach(row => this.selection.select(row.rowSrc));\r\n }\r\n\r\n isAllSelected(): boolean {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.tableDataSource.data.length;\r\n return numSelected === numRows;\r\n }\r\n}\r\n","import {IconConfig} from \"../model/TableConfig\";\r\n\r\nexport interface ActionEvent<T> {\r\n action: string;\r\n value: T;\r\n}\r\n\r\nexport interface RowActionConfig {\r\n position?: 'start' | 'end';\r\n actions: ActionConfig[];\r\n}\r\n\r\nexport interface ActionConfig {\r\n action: string;\r\n icon: IconConfig<string>;\r\n}\r\n\r\nexport class RowActionProvider<T> {\r\n\r\n readonly COLUMN_NAME = 'tbl_actions';\r\n context: RowActionConfig;\r\n\r\n constructor(ctx: RowActionConfig, columns: string[]) {\r\n this.context = ctx;\r\n if (ctx.position === 'start') {\r\n columns.unshift(this.COLUMN_NAME);\r\n } else {\r\n columns.push(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","import {TableRow} from \"../model/TableRow\";\r\nimport {ColumnConfig, IconConfig, TableConfig, TextConfig} from \"../model/TableConfig\";\r\n\r\nexport class TableViewConverter {\r\n\r\n public static toView<T>(rows: TableRow<T>[], tableConfig: TableConfig<TableRow<T>>[]): Map<string, ColumnConfig<string>>[] {\r\n const result: Map<string, ColumnConfig<(value: TableRow<T>) => string>> = new Map();\r\n tableConfig.forEach(c => {\r\n if (c.valueColumn) {\r\n result.set(c.key, c.valueColumn)\r\n }\r\n })\r\n return this.toViewInternal(rows, result);\r\n }\r\n\r\n private static toViewInternal<T>(rows: TableRow<T>[], source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>): Map<string, ColumnConfig<string>>[] {\r\n return rows.map(row => this.columnConfig(source, row));\r\n }\r\n\r\n private static columnConfig<T>(source: Map<string, ColumnConfig<(value: TableRow<T>) => string>>, row: TableRow<T>): Map<string, ColumnConfig<string>> {\r\n const result: Map<string, ColumnConfig<string>> = new Map();\r\n source.forEach((source, key) => {\r\n const value: ColumnConfig<string> = {\r\n icon: this.iconConfig(source.icon, row),\r\n text: this.textConfig(source.text, row)\r\n }\r\n result.set(key, value)\r\n });\r\n return result;\r\n }\r\n\r\n private static iconConfig<T>(iconSource: IconConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): IconConfig<string> | undefined {\r\n if (!iconSource) {\r\n return undefined;\r\n }\r\n return {\r\n name: iconSource.name(row),\r\n color: iconSource.color ? iconSource.color(row) : undefined,\r\n tooltip: iconSource.tooltip ? iconSource.tooltip(row) : undefined,\r\n position: iconSource.position,\r\n }\r\n }\r\n\r\n private static textConfig<T>(textSource: TextConfig<(value: TableRow<T>) => string> | undefined, row: TableRow<T>): TextConfig<string> | undefined {\r\n if (!textSource) {\r\n return undefined;\r\n }\r\n return {\r\n show: textSource.show,\r\n tooltip: textSource.tooltip ? textSource.tooltip(row) : undefined,\r\n color: textSource.color ? textSource.color(row) : undefined,\r\n }\r\n }\r\n}\r\n","import {ColumnConfig} from \"../model/TableConfig\";\r\n\r\nexport interface IndexConfig {\r\n enable: true,\r\n\r\n /** смещение для первого индекса например 1 чтобы нумерация началась с 1 по умолчанию от нуля */\r\n offset?: number,\r\n\r\n headerColumn?: ColumnConfig<string>\r\n\r\n /** название для колонки, по умолчанию ''*/\r\n name?: string;\r\n}\r\n\r\nexport class IndexProvider {\r\n public readonly COLUMN_NAME = 'tbl_index';\r\n\r\n constructor(indexConfig: IndexConfig, columns: string[]) {\r\n if (indexConfig && indexConfig.enable) {\r\n columns.unshift(this.COLUMN_NAME);\r\n }\r\n }\r\n}\r\n","export class TableRow<T> {\r\n rowSrc: T;\r\n [key: string]: any;\r\n\r\n constructor(rowSrc: T) {\r\n this.rowSrc = rowSrc;\r\n }\r\n}\r\n","import {TableConfig} from \"../model/TableConfig\";\r\nimport {TableRow} from \"../model/TableRow\";\r\n\r\nexport class TableDataProvider<T> {\r\n\r\n public convert(data: T[], config: TableConfig<T>[]): TableRow<T>[] {\r\n return data.map(d => this.tableRow(d, config));\r\n }\r\n\r\n private tableRow(obj: T, config: TableConfig<T>[]): TableRow<T> {\r\n const row = new TableRow<T>(obj);\r\n config.forEach(c => row[c.key] = c.valueConverter(obj));\r\n return row;\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\nimport {ColumnConfig} from \"../../model/TableConfig\";\n\n@Component({\n selector: 'lib-column-view',\n templateUrl: './column-view.component.html',\n styleUrls: ['./column-view.component.css']\n})\nexport class ColumnViewComponent {\n @Input() config: ColumnConfig<string> | undefined;\n}\n","<mat-icon *ngIf=\"config?.icon\"\n [matTooltip]=\"config?.icon?.tooltip?.toString() || ''\"\n [style.color]=\"config?.icon?.color\"\n>\n {{config?.icon?.name}}\n</mat-icon>\n\n<span *ngIf=\"config?.text?.show != false\"\n [matTooltip]=\"config?.text?.tooltip?.toString() || ''\"\n>\n <ng-content></ng-content>\n</span>\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'dataPropertyGetter'\r\n})\r\nexport class DataPropertyGetterPipe implements PipeTransform {\r\n\r\n transform(object: any, keyName: string, ...args: unknown[]): unknown {\r\n return object[keyName];\r\n }\r\n\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {ColumnConfig, TableConfig} from './model/TableConfig';\nimport {MatSort, Sort} from '@angular/material/sort';\nimport {MatTableDataSource} from '@angular/material/table';\nimport {MatPaginator} from '@angular/material/paginator';\nimport {SelectionConfig, SelectionProvider} from './providers/SelectionProvider';\nimport {ActionEvent, RowActionConfig, RowActionProvider} from './providers/RowActionProvider';\nimport {TableRow} from \"./model/TableRow\";\nimport {TableViewConverter} from \"./providers/TableViewConverter\";\nimport {IndexProvider, IndexConfig} from \"./providers/IndexProvider\";\nimport {TableDataProvider} from \"./providers/TableDataProvider\";\n\n\n@Component({\n selector: 'aur-mat-table',\n templateUrl: './ngx-aur-mat-table.component.html',\n styleUrls: ['./ngx-aur-mat-table.component.scss'],\n})\nexport class NgxAurMatTableComponent<T> implements OnInit, AfterViewInit {\n\n public tableDataSource = new MatTableDataSource<TableRow<T>>([]);\n public displayedColumns: string[] = [];\n\n public tableView: Map<string, ColumnConfig<string>>[] = [];\n\n // @ts-ignore\n @ViewChild(MatPaginator, {static: false}) matPaginator: MatPaginator;\n // @ts-ignore\n @ViewChild(MatSort, {static: true}) matSort: MatSort;\n @Input() isFilterable = false;\n\n // @ts-ignore\n @Input() indexable: IndexConfig;\n\n\n @Input() isPageable = false;\n @Input() paginationSizes: number[] = [5, 10, 15, 25, 50];\n @Input() defaultPageSize = this.paginationSizes[1];\n\n @Output() sort: EventEmitter<Sort> = new EventEmitter();\n\n // @ts-ignore\n @Input() rowActionable: RowActionConfig;\n @Output() onRowAction: EventEmitter<ActionEvent<T>> = new EventEmitter<ActionEvent<T>>();\n\n // @ts-ignore\n @Input() selectable: SelectionConfig;\n @Output() selected = new EventEmitter<T[]>();\n @Output() onSelect = new EventEmitter<T[]>();\n @Output() onDeselect = new EventEmitter<T[]>();\n\n @Output() onRowClick = new EventEmitter<T>();\n\n @Input() tableConfig: TableConfig<any>[] = [];\n\n @Input() tableData: T[] = [];\n\n // @ts-ignore\n selectionProvider: SelectionProvider<T>;\n // @ts-ignore\n rowActionsProvider: RowActionProvider<T>;\n\n // @ts-ignore\n indexProvider: IndexProvider;\n\n tableDataProvider = new TableDataProvider<T>();\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.setTableDataSource();\n this.tableView = TableViewConverter.toView(this.tableDataSource.data, this.tableConfig)\n this.displayedColumns = this.tableConfig.map((tableColumn: TableConfig<any>) => tableColumn.name);\n if (this.indexable) {\n this.indexProvider = new IndexProvider(this.indexable, this.displayedColumns);\n } else if (this.rowActionable) {\n this.rowActionsProvider = new RowActionProvider<TableRow<T>>(this.rowActionable, this.displayedColumns);\n } else if (this.selectable) {\n this.selectionProvider = new SelectionProvider<T>(this.selectable, this.displayedColumns, this.tableDataSource);\n this.selectionProvider.bind(this.selected, this.onSelect, this.onDeselect);\n }\n }\n\n // we need this, in order to make pagination work with *ngIf\n ngAfterViewInit(): void {\n this.tableDataSource.paginator = this.matPaginator;\n }\n\n\n setTableDataSource() {\n let convert = this.tableDataProvider.convert(this.tableData, this.tableConfig);\n this.tableDataSource = new MatTableDataSource<TableRow<T>>(convert);\n this.tableDataSource.paginator = this.matPaginator;\n this.tableDataSource.sort = this.matSort;\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.tableDataSource.filter = filterValue.trim().toLowerCase();\n }\n\n sortTable(sortParameters: Sort) {\n // defining name of data property, to sort by, instead of column name\n // @ts-ignore\n sortParameters.active = this.tableConfig.find(column => column.name === sortParameters.active).dataKey;\n this.sort.emit(sortParameters);\n }\n\n emitRowAction(action: string, row: T, $event: MouseEvent) {\n $event.stopPropagation();\n this.onRowAction.emit({action, value: row});\n }\n\n masterToggle() {\n this.selectionProvider.masterToggle();\n }\n\n isAllSelected(): boolean {\n return this.selectionProvider.isAllSelected();\n }\n\n castSrc(row: any): TableRow<T> {\n return row;\n }\n\n getView(rowIndex: number, columnKey: string): ColumnConfig<string> | undefined {\n return this.tableView[rowIndex].get(columnKey);\n }\n}\n","<ng-container>\r\n\r\n <!-- Filter -->\r\n <ng-container *ngIf=\"isFilterable\">\r\n <mat-form-field>\r\n <mat-label>Filter</mat-label>\r\n <input matInput (keyup)=\"applyFilter($event)\" placeholder=\"filter\">\r\n </mat-form-field>\r\n </ng-container>\r\n\r\n <!-- Table -->\r\n <table mat-table [dataSource]=\"tableDataSource\" matSort (matSortChange)=\"sortTable($event)\">\r\n\r\n <!-- index-column-->\r\n <ng-container *ngIf=\"indexable && indexable.enable=== true\" [matColumnDef]=\"indexProvider.COLUMN_NAME\">\r\n\r\n <th mat-header-cell *matHeaderCellDef>\r\n <lib-column-view [config]=\"indexable.headerColumn\">\r\n {{indexable.name ? indexable.name : ''}}\r\n </lib-column-view>\r\n </th>\r\n\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n {{rowIndex + (indexable.offset ? indexable.offset : 0)}}\r\n </td>\r\n </ng-container>\r\n\r\n <!-- selection-column-->\r\n <ng-container [matColumnDef]=\"selectionProvider.COLUMN_NAME\" *ngIf=\"selectionProvider\">\r\n <th mat-header-cell *matHeaderCellDef>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\"\r\n [checked]=\"selectionProvider.selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selectionProvider.selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </th>\r\n <td mat-cell *matCellDef=\"let row\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\"\r\n (change)=\"$event ? selectionProvider.selection.toggle(castSrc(row).rowSrc) : null\"\r\n [checked]=\"selectionProvider.selection.isSelected(castSrc(row).rowSrc)\">\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- action column -->\r\n <ng-container *ngIf=\"rowActionsProvider\" [matColumnDef]=\"rowActionsProvider.COLUMN_NAME\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button\r\n (click)=\"emitRowAction(action.action, castSrc(element).rowSrc, $event)\"\r\n [matTooltip]=\"action.icon.tooltip || ''\"\r\n *ngFor=\"let action of rowActionable.actions\">\r\n <mat-icon [style.color]=\"action.icon.color\">\r\n {{action.icon.name}}\r\n </mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <!-- value-icon-->\r\n <ng-container *ngFor=\"let columnConfig of tableConfig\" [matColumnDef]=\"columnConfig.name\">\r\n\r\n <!-- if sortable column header -->\r\n <ng-container *ngIf=\"columnConfig.sort?.enable; else notSortable\">\r\n <th mat-header-cell *matHeaderCellDef [mat-sort-header]=\"columnConfig.name\"\r\n [arrowPosition]=\"columnConfig.sort?.position === 'right' ? 'before' : 'after'\">\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-container>\r\n\r\n <!-- else not sortable -->\r\n <ng-template #notSortable>\r\n <th mat-header-cell *matHeaderCellDef>\r\n <ng-container *ngTemplateOutlet=\"headerValue\"></ng-container>\r\n </th>\r\n </ng-template>\r\n\r\n <!-- header value-->\r\n <ng-template #headerValue>\r\n <lib-column-view [config]=\"columnConfig.headerColumn\">\r\n {{columnConfig.name}}\r\n </lib-column-view>\r\n </ng-template>\r\n\r\n <!-- column value получать настройки колонок нужно через getView(rowIndex, columnConfig.key) там находятся уже\r\n подготовленные значения для использования-->\r\n <td mat-cell *matCellDef=\"let element; let rowIndex = index\">\r\n <lib-column-view [config]=\"getView(rowIndex, columnConfig.key)\">\r\n {{element | dataPropertyGetter: columnConfig.key}}\r\n </lib-column-view>\r\n </td>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row (click)=\"onRowAction.emit(row)\" *matRowDef=\"let row; columns: displayedColumns;\"></tr>\r\n </table>\r\n\r\n <!-- Pagination -->\r\n <mat-paginator *ngIf=\"isPageable\"\r\n [pageSizeOptions]=\"paginationSizes\"\r\n [pageSize]=\"defaultPageSize\"\r\n showFirstLastButtons>\r\n </mat-paginator>\r\n</ng-container>\r\n","import {NgModule} from '@angular/core';\nimport {NgxAurMatTableComponent} from './ngx-aur-mat-table.component';\nimport {BrowserModule} from \"@angular/platform-browser\";\nimport {MatIconModule} from \"@angular/material/icon\";\nimport {MatTableModule} from \"@angular/material/table\";\nimport {MatPaginatorModule} from \"@angular/material/paginator\";\nimport {MatButtonModule} from \"@angular/material/button\";\nimport {MatInputModule} from \"@angular/material/input\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\nimport {MatCheckboxModule} from \"@angular/material/checkbox\";\nimport {MatFormFieldModule} from \"@angular/material/form-field\";\nimport {DataPropertyGetterPipe} from \"./data-property-getter-pipe/data-property-getter.pipe\";\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\nimport { ColumnViewComponent } from './components/column-value/column-view.component';\n\n\n@NgModule({\n declarations: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe,\n ColumnViewComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n MatIconModule,\n MatTableModule,\n MatPaginatorModule,\n MatButtonModule,\n MatInputModule,\n MatSortModule,\n MatTooltipModule,\n MatCheckboxModule,\n MatFormFieldModule\n ],\n exports: [\n NgxAurMatTableComponent,\n DataPropertyGetterPipe\n ]\n})\nexport class NgxAurMatTableModule {\n}\n","/*\n * Public API Surface of ngx-aur-mat-table\n */\n\nexport * from './lib/ngx-aur-mat-table.component';\nexport * from './lib/ngx-aur-mat-table.module';\nexport * from './lib/data-property-getter-pipe/data-property-getter.pipe';\nexport * from './lib/model/TableRow'\nexport * from './lib/model/TableConfig'\nexport * from './lib/providers/RowActionProvider'\nexport * from './lib/providers/SelectionProvider'\nexport * from './lib/providers/IndexProvider'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3.ColumnViewComponent","i6","i11","i12.DataPropertyGetterPipe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAUa,iBAAiB,CAAA;AAO5B,IAAA,WAAA,CAAY,GAAoB,EAAE,OAAiB,EAAE,eAAgD,EAAA;QALrF,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;AAM1C,QAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;AAClB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AACvC,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;KAClC;AAED,IAAA,kBAAkB,CAAC,OAAiB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE;AACpC,YAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChC,SAAA;KACF;AAED,IAAA,IAAI,CAAC,QAA2B,EAAE,QAA2B,EAAE,UAA6B,EAAA;QAC1F,IAAI,CAAC,SAAS,CAAC,OAAO;aACnB,SAAS,CAAC,KAAK,IAAG;YACjB,IAAI,KAAK,CAAC,KAAK,EAAE;AACf,gBAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5B,aAAA;YACD,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,gBAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChC,aAAA;YACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzC,SAAC,CAAC,CAAC;KACN;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;KAC/E;IAED,aAAa,GAAA;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QACjD,OAAO,WAAW,KAAK,OAAO,CAAC;KAChC;AACF;;MCvCY,iBAAiB,CAAA;IAK1B,WAAY,CAAA,GAAoB,EAAE,OAAiB,EAAA;QAH1C,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;AAIjC,QAAA,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;AACnB,QAAA,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC1B,YAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACrC,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClC,SAAA;KACJ;AACJ;;MC3BY,kBAAkB,CAAA;AAEtB,IAAA,OAAO,MAAM,CAAI,IAAmB,EAAE,WAAuC,EAAA;AAClF,QAAA,MAAM,MAAM,GAA8D,IAAI,GAAG,EAAE,CAAC;AACpF,QAAA,WAAW,CAAC,OAAO,CAAC,CAAC,IAAG;YACtB,IAAI,CAAC,CAAC,WAAW,EAAE;gBACjB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAA;AACjC,aAAA;AACH,SAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC1C;AAEO,IAAA,OAAO,cAAc,CAAI,IAAmB,EAAE,MAAiE,EAAA;AACrH,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;KACxD;AAEO,IAAA,OAAO,YAAY,CAAI,MAAiE,EAAE,GAAgB,EAAA;AAChH,QAAA,MAAM,MAAM,GAAsC,IAAI,GAAG,EAAE,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,KAAI;AAC7B,YAAA,MAAM,KAAK,GAAyB;gBAClC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;gBACvC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;aACxC,CAAA;AACD,YAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACxB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;KACf;AAEO,IAAA,OAAO,UAAU,CAAI,UAAkE,EAAE,GAAgB,EAAA;QAC/G,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QACD,OAAO;AACL,YAAA,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AAC1B,YAAA,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS;AAC3D,YAAA,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS;YACjE,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAA;KACF;AAEO,IAAA,OAAO,UAAU,CAAI,UAAkE,EAAE,GAAgB,EAAA;QAC/G,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,SAAS,CAAC;AAClB,SAAA;QACD,OAAO;YACL,IAAI,EAAE,UAAU,CAAC,IAAI;AACrB,YAAA,OAAO,EAAE,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS;AACjE,YAAA,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS;SAC5D,CAAA;KACF;AACF;;MCvCY,aAAa,CAAA;IAGxB,WAAY,CAAA,WAAwB,EAAE,OAAiB,EAAA;QAFvC,IAAW,CAAA,WAAA,GAAG,WAAW,CAAC;AAGxC,QAAA,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;AACrC,YAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACnC,SAAA;KACF;AACF;;MCtBY,QAAQ,CAAA;AAInB,IAAA,WAAA,CAAY,MAAS,EAAA;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AACF;;MCJY,iBAAiB,CAAA;IAErB,OAAO,CAAC,IAAS,EAAE,MAAwB,EAAA;AAChD,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;KAChD;IAEO,QAAQ,CAAC,GAAM,EAAE,MAAwB,EAAA;AAC/C,QAAA,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAI,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,QAAA,OAAO,GAAG,CAAC;KACZ;AACF;;MCNY,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,qFCRhC,iWAYA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDJa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,WAAW,EAAE,8BAA8B;oBAC3C,SAAS,EAAE,CAAC,6BAA6B,CAAC;AAC3C,iBAAA,CAAA;8BAEU,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEJK,sBAAsB,CAAA;AAEjC,IAAA,SAAS,CAAC,MAAW,EAAE,OAAe,EAAE,GAAG,IAAe,EAAA;AACxD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;KACxB;;oHAJU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kHAAtB,sBAAsB,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,oBAAoB;AAC3B,iBAAA,CAAA;;;MCcY,uBAAuB,CAAA;AAiDlC,IAAA,WAAA,GAAA;AA/CO,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,kBAAkB,CAAc,EAAE,CAAC,CAAC;QAC1D,IAAgB,CAAA,gBAAA,GAAa,EAAE,CAAC;QAEhC,IAAS,CAAA,SAAA,GAAwC,EAAE,CAAC;QAMlD,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAMrB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAA,CAAA,eAAe,GAAa,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAEzC,QAAA,IAAA,CAAA,IAAI,GAAuB,IAAI,YAAY,EAAE,CAAC;AAI9C,QAAA,IAAA,CAAA,WAAW,GAAiC,IAAI,YAAY,EAAkB,CAAC;AAI/E,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAO,CAAC;AAErC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAK,CAAC;QAEpC,IAAW,CAAA,WAAA,GAAuB,EAAE,CAAC;QAErC,IAAS,CAAA,SAAA,GAAQ,EAAE,CAAC;AAU7B,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,iBAAiB,EAAK,CAAC;KAG9C;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;AACvF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAA6B,KAAK,WAAW,CAAC,IAAI,CAAC,CAAC;QAClG,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC/E,SAAA;aAAM,IAAI,IAAI,CAAC,aAAa,EAAE;AAC7B,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,iBAAiB,CAAc,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzG,SAAA;aAAM,IAAI,IAAI,CAAC,UAAU,EAAE;AAC1B,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAChH,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5E,SAAA;KACF;;IAGD,eAAe,GAAA;QACb,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;KACpD;IAGD,kBAAkB,GAAA;AAChB,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,eAAe,GAAG,IAAI,kBAAkB,CAAc,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;KAC1C;AAED,IAAA,WAAW,CAAC,KAAY,EAAA;AACtB,QAAA,MAAM,WAAW,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;AAC7D,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;KAChE;AAED,IAAA,SAAS,CAAC,cAAoB,EAAA;;;QAG5B,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;AACvG,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAChC;AAED,IAAA,aAAa,CAAC,MAAc,EAAE,GAAM,EAAE,MAAkB,EAAA;QACtD,MAAM,CAAC,eAAe,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;KAC7C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACvC;IAED,aAAa,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;KAC/C;AAED,IAAA,OAAO,CAAC,GAAQ,EAAA;AACd,QAAA,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,CAAC,QAAgB,EAAE,SAAiB,EAAA;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;KAChD;;qHA9GU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,EAQvB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,YAAY,EAEZ,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,OAAO,8DC5BpB,szJAuGA,EAAA,MAAA,EAAA,CAAA,kHAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAC,sBAAA,EAAA,EAAA,CAAA,CAAA;4FDrFa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,WAAW,EAAE,oCAAoC;oBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;AAClD,iBAAA,CAAA;0EAS2C,YAAY,EAAA,CAAA;sBAArD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAA;gBAEJ,OAAO,EAAA,CAAA;sBAA1C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;gBACzB,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAGG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAEI,IAAI,EAAA,CAAA;sBAAb,MAAM;gBAGE,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAGE,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEE,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEdK,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAtB7B,uBAAuB;QACvB,sBAAsB;AACtB,QAAA,mBAAmB,aAGnB,aAAa;QACb,uBAAuB;QACvB,aAAa;QACb,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,aAAa;QACb,gBAAgB;QAChB,iBAAiB;AACjB,QAAA,kBAAkB,aAGlB,uBAAuB;QACvB,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAlBtB,OAAA,EAAA,CAAA;YACP,aAAa;YACb,uBAAuB;YACvB,aAAa;YACb,cAAc;YACd,kBAAkB;YAClB,eAAe;YACf,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,iBAAiB;YACjB,kBAAkB;AACnB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAMU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAxBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,sBAAsB;wBACtB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,aAAa;wBACb,uBAAuB;wBACvB,aAAa;wBACb,cAAc;wBACd,kBAAkB;wBAClB,eAAe;wBACf,cAAc;wBACd,aAAa;wBACb,gBAAgB;wBAChB,iBAAiB;wBACjB,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,uBAAuB;wBACvB,sBAAsB;AACvB,qBAAA;AACF,iBAAA,CAAA;;;ACxCD;;AAEG;;ACFH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-aur-mat-table",
3
- "version": "0.0.57",
3
+ "version": "0.0.58",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^12.0.0",
6
6
  "@angular/common": "^12.0.0",