@enigmatry/entry-components 18.1.0 → 19.0.1-preview.1

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.
Files changed (141) hide show
  1. package/README.md +2 -1
  2. package/date-time-picker/README.md +17 -3
  3. package/date-time-picker/date-time-picker-config.model.d.ts +20 -0
  4. package/date-time-picker/date-time-picker.component.d.ts +3 -1
  5. package/date-time-picker/public-api.d.ts +1 -0
  6. package/fesm2022/enigmatry-entry-components-button.mjs +9 -8
  7. package/fesm2022/enigmatry-entry-components-button.mjs.map +1 -1
  8. package/fesm2022/enigmatry-entry-components-common.mjs +36 -36
  9. package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
  10. package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +38 -14
  11. package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -1
  12. package/fesm2022/enigmatry-entry-components-dialog.mjs +23 -23
  13. package/fesm2022/enigmatry-entry-components-dialog.mjs.map +1 -1
  14. package/fesm2022/enigmatry-entry-components-file-input.mjs +8 -8
  15. package/fesm2022/enigmatry-entry-components-file-input.mjs.map +1 -1
  16. package/fesm2022/enigmatry-entry-components-permissions.mjs +14 -12
  17. package/fesm2022/enigmatry-entry-components-permissions.mjs.map +1 -1
  18. package/fesm2022/enigmatry-entry-components-search-filter.mjs +29 -29
  19. package/fesm2022/enigmatry-entry-components-search-filter.mjs.map +1 -1
  20. package/fesm2022/enigmatry-entry-components-spinner.mjs +11 -11
  21. package/fesm2022/enigmatry-entry-components-spinner.mjs.map +1 -1
  22. package/fesm2022/enigmatry-entry-components-table.mjs +20 -20
  23. package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -1
  24. package/fesm2022/enigmatry-entry-components-validation.mjs +14 -12
  25. package/fesm2022/enigmatry-entry-components-validation.mjs.map +1 -1
  26. package/fesm2022/enigmatry-entry-components.mjs +4 -4
  27. package/fesm2022/enigmatry-entry-components.mjs.map +1 -1
  28. package/package.json +8 -30
  29. package/esm2022/button/enigmatry-entry-components-button.mjs +0 -5
  30. package/esm2022/button/entry-button-config.mjs +0 -25
  31. package/esm2022/button/entry-button.directive.mjs +0 -56
  32. package/esm2022/button/entry-button.module.mjs +0 -28
  33. package/esm2022/button/public-api.mjs +0 -4
  34. package/esm2022/common/common.module.mjs +0 -58
  35. package/esm2022/common/constants.mjs +0 -3
  36. package/esm2022/common/date-time/entry-date-time-adapter.mjs +0 -119
  37. package/esm2022/common/date-time/entry-date-time-formats.mjs +0 -14
  38. package/esm2022/common/date-time/entry-time-adapter.mjs +0 -10
  39. package/esm2022/common/date-time/index.mjs +0 -5
  40. package/esm2022/common/date-time/native-time-adapter.mjs +0 -31
  41. package/esm2022/common/directives/auto-disable-button.directive.mjs +0 -75
  42. package/esm2022/common/directives/index.mjs +0 -5
  43. package/esm2022/common/directives/ng-control-accessor.directive.mjs +0 -46
  44. package/esm2022/common/directives/noop-control-value-accessor.mjs +0 -32
  45. package/esm2022/common/directives/scroll-to-invalid-control.directive.mjs +0 -51
  46. package/esm2022/common/enigmatry-entry-components-common.mjs +0 -5
  47. package/esm2022/common/event-plugins/abstract.plugin.mjs +0 -35
  48. package/esm2022/common/event-plugins/debounce.plugin.mjs +0 -34
  49. package/esm2022/common/event-plugins/index.mjs +0 -3
  50. package/esm2022/common/event-plugins/throttle.plugin.mjs +0 -34
  51. package/esm2022/common/interceptors/accept-language.interceptor.mjs +0 -32
  52. package/esm2022/common/interceptors/index.mjs +0 -2
  53. package/esm2022/common/public-api.mjs +0 -7
  54. package/esm2022/common/utils/index.mjs +0 -2
  55. package/esm2022/common/utils/provide-config.mjs +0 -14
  56. package/esm2022/date-time-picker/date-time-picker.component.mjs +0 -139
  57. package/esm2022/date-time-picker/date-time-picker.module.mjs +0 -62
  58. package/esm2022/date-time-picker/enigmatry-entry-components-date-time-picker.mjs +0 -5
  59. package/esm2022/date-time-picker/public-api.mjs +0 -3
  60. package/esm2022/date-time-picker/time-picker.component.mjs +0 -80
  61. package/esm2022/dialog/dialogs/alert/entry-alert-dialog-data.interface.mjs +0 -2
  62. package/esm2022/dialog/dialogs/alert/entry-alert-dialog.component.mjs +0 -29
  63. package/esm2022/dialog/dialogs/confirm/entry-confirm-dialog-data.interface.mjs +0 -2
  64. package/esm2022/dialog/dialogs/confirm/entry-confirm-dialog.component.mjs +0 -29
  65. package/esm2022/dialog/dialogs/entry-dialog.component.mjs +0 -74
  66. package/esm2022/dialog/dialogs/error/entry-error-dialog-data.interface.mjs +0 -2
  67. package/esm2022/dialog/dialogs/error/entry-error-dialog.component.mjs +0 -46
  68. package/esm2022/dialog/enigmatry-entry-components-dialog.mjs +0 -5
  69. package/esm2022/dialog/entry-dialog-buttons-alignment.type.mjs +0 -2
  70. package/esm2022/dialog/entry-dialog-config.model.mjs +0 -31
  71. package/esm2022/dialog/entry-dialog.module.mjs +0 -57
  72. package/esm2022/dialog/entry-dialog.service.mjs +0 -86
  73. package/esm2022/dialog/public-api.mjs +0 -8
  74. package/esm2022/enigmatry-entry-components.mjs +0 -5
  75. package/esm2022/file-input/enigmatry-entry-components-file-input.mjs +0 -5
  76. package/esm2022/file-input/entry-file-input.component.mjs +0 -201
  77. package/esm2022/file-input/entry-file-input.module.mjs +0 -40
  78. package/esm2022/file-input/public-api.mjs +0 -3
  79. package/esm2022/modules/entry-components.module.mjs +0 -67
  80. package/esm2022/permissions/enigmatry-entry-components-permissions.mjs +0 -5
  81. package/esm2022/permissions/permission-type.mjs +0 -2
  82. package/esm2022/permissions/permission.directive.mjs +0 -35
  83. package/esm2022/permissions/permission.guard.mjs +0 -14
  84. package/esm2022/permissions/permission.module.mjs +0 -29
  85. package/esm2022/permissions/permission.pipe.mjs +0 -20
  86. package/esm2022/permissions/permission.service.mjs +0 -3
  87. package/esm2022/permissions/public-api.mjs +0 -6
  88. package/esm2022/public-api.mjs +0 -14
  89. package/esm2022/search-filter/autocomplete/autocomplete-search-filter.component.mjs +0 -56
  90. package/esm2022/search-filter/autocomplete/autocomplete-search-filter.model.mjs +0 -19
  91. package/esm2022/search-filter/control-type.mjs +0 -9
  92. package/esm2022/search-filter/date/date-search-filter.component.mjs +0 -20
  93. package/esm2022/search-filter/date/date-search-filter.model.mjs +0 -12
  94. package/esm2022/search-filter/date-time/date-time-search-filter.component.mjs +0 -28
  95. package/esm2022/search-filter/date-time/date-time-search-filter.model.mjs +0 -12
  96. package/esm2022/search-filter/enigmatry-entry-components-search-filter.mjs +0 -5
  97. package/esm2022/search-filter/entry-search-filter.component.mjs +0 -76
  98. package/esm2022/search-filter/entry-search-filter.module.mjs +0 -78
  99. package/esm2022/search-filter/public-api.mjs +0 -11
  100. package/esm2022/search-filter/search-filter-base.model.mjs +0 -26
  101. package/esm2022/search-filter/search-filter-config.model.mjs +0 -18
  102. package/esm2022/search-filter/search-filter-params.type.mjs +0 -2
  103. package/esm2022/search-filter/select/select-search-filter.component.mjs +0 -29
  104. package/esm2022/search-filter/select/select-search-filter.model.mjs +0 -23
  105. package/esm2022/search-filter/select-option.model.mjs +0 -12
  106. package/esm2022/search-filter/text/text-search-filter.component.mjs +0 -19
  107. package/esm2022/search-filter/text/text-search-filter.model.mjs +0 -12
  108. package/esm2022/spinner/enigmatry-entry-components-spinner.mjs +0 -5
  109. package/esm2022/spinner/entry-spinner/spinner.component.mjs +0 -81
  110. package/esm2022/spinner/public-api.mjs +0 -3
  111. package/esm2022/spinner/spinner-overlay-container.mjs +0 -42
  112. package/esm2022/spinner/spinner.module.mjs +0 -32
  113. package/esm2022/table/components/entry-cell/entry-cell.component.mjs +0 -23
  114. package/esm2022/table/components/entry-cell-context-menu/entry-cell-context-menu.component.mjs +0 -42
  115. package/esm2022/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.mjs +0 -25
  116. package/esm2022/table/components/entry-table/entry-table.component.mjs +0 -251
  117. package/esm2022/table/components/index.mjs +0 -5
  118. package/esm2022/table/enigmatry-entry-components-table.mjs +0 -5
  119. package/esm2022/table/entry-table.module.mjs +0 -84
  120. package/esm2022/table/interfaces/cell-template.mjs +0 -2
  121. package/esm2022/table/interfaces/column-def.mjs +0 -2
  122. package/esm2022/table/interfaces/column-sort-prop.mjs +0 -2
  123. package/esm2022/table/interfaces/column-type-parameter.mjs +0 -2
  124. package/esm2022/table/interfaces/column-type.mjs +0 -2
  125. package/esm2022/table/interfaces/context-menu-item.mjs +0 -2
  126. package/esm2022/table/interfaces/entry-table-config.mjs +0 -45
  127. package/esm2022/table/interfaces/index.mjs +0 -13
  128. package/esm2022/table/interfaces/paged-query.mjs +0 -37
  129. package/esm2022/table/interfaces/pagination.mjs +0 -2
  130. package/esm2022/table/interfaces/row-class-formatter.mjs +0 -2
  131. package/esm2022/table/interfaces/row-context-menu-formatter.mjs +0 -2
  132. package/esm2022/table/interfaces/row-selection-formatter.mjs +0 -2
  133. package/esm2022/table/public-api.mjs +0 -4
  134. package/esm2022/validation/enigmatry-entry-components-validation.mjs +0 -5
  135. package/esm2022/validation/entry-display-control-validation.directive.mjs +0 -63
  136. package/esm2022/validation/entry-form-errors.component.mjs +0 -41
  137. package/esm2022/validation/entry-validation-config.model.mjs +0 -24
  138. package/esm2022/validation/entry-validation.mjs +0 -51
  139. package/esm2022/validation/entry-validation.module.mjs +0 -40
  140. package/esm2022/validation/public-api.mjs +0 -6
  141. package/esm2022/validation/validation-problem-details.interface.mjs +0 -2
@@ -1,251 +0,0 @@
1
- /* eslint-disable @typescript-eslint/member-ordering */
2
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, TemplateRef, HostBinding, Inject, } from '@angular/core';
3
- import { SelectionModel } from '@angular/cdk/collections';
4
- import { MatTableDataSource } from '@angular/material/table';
5
- import { ENTRY_TABLE_CONFIG } from '../../interfaces';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/material/table";
9
- import * as i3 from "@angular/material/sort";
10
- import * as i4 from "@angular/material/paginator";
11
- import * as i5 from "@angular/material/checkbox";
12
- import * as i6 from "@angular/material/radio";
13
- import * as i7 from "../entry-cell/entry-cell.component";
14
- import * as i8 from "../entry-cell-context-menu/entry-cell-context-menu.component";
15
- import * as i9 from "../../interfaces";
16
- export class EntryTableComponent {
17
- get hasNoResult() {
18
- return (!this.data || this._data.length === 0) && !this.loading;
19
- }
20
- constructor(_config, _elementRef, _changeDetectorRef) {
21
- this._config = _config;
22
- this._elementRef = _elementRef;
23
- this._changeDetectorRef = _changeDetectorRef;
24
- this.className = 'entry-table';
25
- this.dataSource = new MatTableDataSource([]);
26
- this.columns = [];
27
- // Data
28
- this._data = [];
29
- this.data = [];
30
- this.total = 0;
31
- this.loading = false;
32
- this.pageDisabled = false;
33
- this.pageIndex = 0;
34
- this.pageChange = new EventEmitter();
35
- this.sortDisableClear = false;
36
- this.sortDisabled = false;
37
- this.sortStart = 'asc';
38
- this.sortChange = new EventEmitter();
39
- // Row
40
- this.rowHover = false;
41
- this.rowStriped = false;
42
- this.rowClick = new EventEmitter();
43
- // Row selection
44
- this.multiSelectable = true;
45
- this.rowSelection = new SelectionModel(true, []);
46
- this.rowSelected = [];
47
- this.rowSelectable = false;
48
- this.showSelectAllCheckbox = true;
49
- this.rowSelectionFormatter = {};
50
- this.rowSelectionChange = new EventEmitter();
51
- // Context menu
52
- this.showContextMenu = false;
53
- this.contextMenuItems = [];
54
- this.contextMenuItemSelected = new EventEmitter();
55
- this.selectionColumn = 'selection-column';
56
- this.contextMenuColumn = 'context-menu-column';
57
- }
58
- detectChanges() {
59
- this._changeDetectorRef.detectChanges();
60
- }
61
- isTemplateRef(obj) {
62
- return obj instanceof TemplateRef;
63
- }
64
- getRowClassList(rowData, index) {
65
- const classList = {
66
- selected: this.rowSelection.isSelected(rowData),
67
- // eslint-disable-next-line @typescript-eslint/naming-convention
68
- 'mat-row-odd': index % 2,
69
- };
70
- if (this.rowClassFormatter) {
71
- for (const key of Object.keys(this.rowClassFormatter)) {
72
- classList[key] = this.rowClassFormatter[key](rowData);
73
- }
74
- }
75
- return classList;
76
- }
77
- getColumnClassList(colDef) {
78
- const customClasses = colDef.class ?? '';
79
- const columnType = colDef.type ?? '';
80
- const columnField = `cell-${this.convertToKebabCase(colDef.field)}`;
81
- return `${customClasses} ${columnType} ${columnField}`;
82
- }
83
- ngOnChanges(changes) {
84
- this.showPaginator = this.showPaginator ?? this._config.showPaginator;
85
- this.showFirstLastButtons = this.showFirstLastButtons ?? this._config.showFirstLastButtons;
86
- this.pageSizeOptions = this.pageSizeOptions ?? this._config.pageSizeOptions;
87
- this.hidePageSize = this.hidePageSize ?? this._config.hidePageSize;
88
- this.noResultText = this.noResultText ?? this._config.noResultsText;
89
- this.rowFocusVisible = this.rowFocusVisible ?? this._config.rowFocusVisible;
90
- this.displayedColumns = this.columns.filter(item => !item.hide).map(item => item.field);
91
- if (this.rowSelectable && !this.displayedColumns.includes(this.selectionColumn)) {
92
- this.displayedColumns.unshift(this.selectionColumn);
93
- }
94
- if (this.showContextMenu && !this.displayedColumns.includes(this.contextMenuColumn)) {
95
- this.displayedColumns.push(this.contextMenuColumn);
96
- }
97
- if (this.rowSelectable) {
98
- this.rowSelection = new SelectionModel(this.multiSelectable, this.rowSelected);
99
- }
100
- if (!this.data) {
101
- this.data = [];
102
- }
103
- if (Array.isArray(this.data)) {
104
- this._data = this.data;
105
- }
106
- else {
107
- this._page = this.data;
108
- this._data = this._page.items ?? [];
109
- this.total = this._page.totalCount ?? 0;
110
- this.pageSize = this._page.pageSize ?? this.pageSize ?? this._config.pageSize;
111
- this.pageIndex = this._page.pageNumber ? this._page.pageNumber - 1 : this.pageIndex;
112
- }
113
- if (this.dataSource) {
114
- this.dataSource.disconnect();
115
- }
116
- this.dataSource = new MatTableDataSource(this._data);
117
- if (changes.data) {
118
- this.scrollToTop();
119
- }
120
- }
121
- getIndex(index, dataIndex) {
122
- return typeof index === 'undefined' ? dataIndex : index;
123
- }
124
- isAllSelected() {
125
- const numSelected = this.rowSelection.selected.length;
126
- const numRows = this.dataSource.data.filter(row => !this.rowSelectionFormatter.disabled?.(row)).length;
127
- return numSelected === numRows;
128
- }
129
- toggleSelectAllCheckbox() {
130
- if (this.isAllSelected()) {
131
- this.rowSelection.clear();
132
- this.rowSelectionChange.emit(this.rowSelection.selected);
133
- return;
134
- }
135
- this.dataSource.data.forEach(row => {
136
- if (!this.rowSelectionFormatter.disabled?.(row)) {
137
- this.rowSelection.select(row);
138
- }
139
- });
140
- this.rowSelectionChange.emit(this.rowSelection.selected);
141
- }
142
- toggleRowSelection(row) {
143
- this.rowSelection.toggle(row);
144
- this.rowSelectionChange.emit(this.rowSelection.selected);
145
- }
146
- handlePage(e) {
147
- this.pageChange.emit(e);
148
- }
149
- scrollToTop() {
150
- this._elementRef.nativeElement.scrollTop = 0;
151
- }
152
- get shouldShowPaginator() {
153
- return this.showPaginator && this._data.length > 0;
154
- }
155
- convertToKebabCase(value) {
156
- return value?.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
157
- }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryTableComponent, deps: [{ token: ENTRY_TABLE_CONFIG }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EntryTableComponent, selector: "entry-table", inputs: { displayedColumns: "displayedColumns", columns: "columns", data: "data", total: "total", loading: "loading", showPaginator: "showPaginator", pageDisabled: "pageDisabled", showFirstLastButtons: "showFirstLastButtons", pageIndex: "pageIndex", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", hidePageSize: "hidePageSize", paginationTemplate: "paginationTemplate", sortActive: "sortActive", sortDirection: "sortDirection", sortDisableClear: "sortDisableClear", sortDisabled: "sortDisabled", sortStart: "sortStart", rowHover: "rowHover", rowStriped: "rowStriped", rowFocusVisible: "rowFocusVisible", multiSelectable: "multiSelectable", rowSelected: "rowSelected", rowSelectable: "rowSelectable", showSelectAllCheckbox: "showSelectAllCheckbox", rowSelectionFormatter: "rowSelectionFormatter", rowClassFormatter: "rowClassFormatter", showContextMenu: "showContextMenu", contextMenuItems: "contextMenuItems", contextMenuTemplate: "contextMenuTemplate", rowContextMenuFormatter: "rowContextMenuFormatter", noResultText: "noResultText", noResultTemplate: "noResultTemplate", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate" }, outputs: { pageChange: "pageChange", sortChange: "sortChange", rowClick: "rowClick", rowSelectionChange: "rowSelectionChange", contextMenuItemSelected: "contextMenuItemSelected" }, host: { properties: { "class": "this.className" } }, usesOnChanges: true, ngImport: i0, template: "<!-- Table content -->\n<table mat-table\n [ngClass]=\"{'mat-table-hover': rowHover, 'mat-table-striped': rowStriped, 'mat-table-with-data': !hasNoResult }\"\n [dataSource]=\"dataSource\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n [matSortDisableClear]=\"sortDisableClear\"\n [matSortDisabled]=\"sortDisabled\"\n [matSortStart]=\"sortStart\"\n (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n <ng-container *ngIf=\"rowSelectable\" [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\" aria-label=\"Select rows\">\n <mat-checkbox aria-label=\"Select all\" *ngIf=\"multiSelectable && showSelectAllCheckbox\"\n [checked]=\"rowSelection.hasValue() && isAllSelected()\"\n [indeterminate]=\"rowSelection.hasValue() && !isAllSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n <mat-checkbox aria-label=\"Select row\"\n *ngIf=\"multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n <mat-radio-button aria-label=\"Select row\"\n *ngIf=\"!multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n [value]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n </td>\n </ng-container>\n\n <!-- Context menu column -->\n <ng-container *ngIf=\"showContextMenu\" [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\" aria-label=\"Context Menu Actions\"></th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"action-cell\">\n <ng-template [ngIf]=\"isTemplateRef(contextMenuTemplate)\" [ngIfElse]=\"contextMenuTpl\">\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n </ng-template>\n <ng-template #contextMenuTpl>\n <entry-cell-context-menu\n [items]=\"contextMenuItems\"\n [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"\n ></entry-cell-context-menu>\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let col of columns;\">\n <ng-container [matColumnDef]=\"col.field\"\n [sticky]=\"col.pinned==='left'\" [stickyEnd]=\"col.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(headerTemplate)\" [ngIfElse]=\"headerTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #headerTpl>\n <ng-template [ngIf]=\"headerTemplate && isTemplateRef(headerTemplate[col.field])\"\n [ngIfElse]=\"defaultHeaderTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #defaultHeaderTpl>\n <div [mat-sort-header]=\"col.sortProp?.id || col.field\"\n [disabled]=\"!col.sortable\"\n [disableClear]=\"col.sortProp?.disableClear\">\n <span>{{col.header}}</span>\n </div>\n </ng-template>\n </th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(cellTemplate)\" [ngIfElse]=\"cellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #cellTpl>\n <ng-template [ngIf]=\"cellTemplate && isTemplateRef(cellTemplate[col.field])\"\n [ngIfElse]=\"colDefCellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #colDefCellTpl>\n <ng-template [ngIf]=\"col.cellTemplate\" [ngIfElse]=\"defaultCellTpl\"\n [ngTemplateOutlet]=\"col.cellTemplate ?? null\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #defaultCellTpl>\n <entry-cell [rowData]=\"row\" [colDef]=\"col\"></entry-cell>\n </ng-template>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row\n *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns;\"\n [ngClass]=\"getRowClassList(row, getIndex(index, dataIndex))\"\n [attr.tabindex]=\"rowFocusVisible ? 0 : -1\"\n (click)=\"rowClick.emit(row)\"\n (keydown.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n<div class=\"no-results mat-body-2\" *ngIf=\"hasNoResult\">\n <ng-template [ngIf]=\"isTemplateRef(noResultTemplate)\" [ngIfElse]=\"defaultNoResultTpl\">\n <ng-template [ngTemplateOutlet]=\"noResultTemplate\"></ng-template>\n </ng-template>\n <ng-template #defaultNoResultTpl>{{noResultText}}</ng-template>\n</div>\n\n<!-- Pagination -->\n<ng-template [ngIf]=\"isTemplateRef(paginationTemplate)\" [ngIfElse]=\"defaultPaginationTemplate\">\n <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n</ng-template>\n<ng-template #defaultPaginationTemplate>\n <mat-paginator class=\"pagination\" *ngIf=\"shouldShowPaginator\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n [length]=\"total\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [hidePageSize]=\"hidePageSize\"\n (page)=\"handlePage($event)\"\n [disabled]=\"pageDisabled\">\n </mat-paginator>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i7.EntryCellComponent, selector: "entry-cell", inputs: ["rowData", "colDef"] }, { kind: "component", type: i8.EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: ["items", "rowMenuFormatter", "rowData", "triggerIcon", "isSubMenu"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
160
- }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryTableComponent, decorators: [{
162
- type: Component,
163
- args: [{ selector: 'entry-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Table content -->\n<table mat-table\n [ngClass]=\"{'mat-table-hover': rowHover, 'mat-table-striped': rowStriped, 'mat-table-with-data': !hasNoResult }\"\n [dataSource]=\"dataSource\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n [matSortDisableClear]=\"sortDisableClear\"\n [matSortDisabled]=\"sortDisabled\"\n [matSortStart]=\"sortStart\"\n (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n <ng-container *ngIf=\"rowSelectable\" [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\" aria-label=\"Select rows\">\n <mat-checkbox aria-label=\"Select all\" *ngIf=\"multiSelectable && showSelectAllCheckbox\"\n [checked]=\"rowSelection.hasValue() && isAllSelected()\"\n [indeterminate]=\"rowSelection.hasValue() && !isAllSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n <mat-checkbox aria-label=\"Select row\"\n *ngIf=\"multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n <mat-radio-button aria-label=\"Select row\"\n *ngIf=\"!multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n [value]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n </td>\n </ng-container>\n\n <!-- Context menu column -->\n <ng-container *ngIf=\"showContextMenu\" [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\" aria-label=\"Context Menu Actions\"></th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"action-cell\">\n <ng-template [ngIf]=\"isTemplateRef(contextMenuTemplate)\" [ngIfElse]=\"contextMenuTpl\">\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n </ng-template>\n <ng-template #contextMenuTpl>\n <entry-cell-context-menu\n [items]=\"contextMenuItems\"\n [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"\n ></entry-cell-context-menu>\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let col of columns;\">\n <ng-container [matColumnDef]=\"col.field\"\n [sticky]=\"col.pinned==='left'\" [stickyEnd]=\"col.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(headerTemplate)\" [ngIfElse]=\"headerTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #headerTpl>\n <ng-template [ngIf]=\"headerTemplate && isTemplateRef(headerTemplate[col.field])\"\n [ngIfElse]=\"defaultHeaderTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #defaultHeaderTpl>\n <div [mat-sort-header]=\"col.sortProp?.id || col.field\"\n [disabled]=\"!col.sortable\"\n [disableClear]=\"col.sortProp?.disableClear\">\n <span>{{col.header}}</span>\n </div>\n </ng-template>\n </th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(cellTemplate)\" [ngIfElse]=\"cellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #cellTpl>\n <ng-template [ngIf]=\"cellTemplate && isTemplateRef(cellTemplate[col.field])\"\n [ngIfElse]=\"colDefCellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #colDefCellTpl>\n <ng-template [ngIf]=\"col.cellTemplate\" [ngIfElse]=\"defaultCellTpl\"\n [ngTemplateOutlet]=\"col.cellTemplate ?? null\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #defaultCellTpl>\n <entry-cell [rowData]=\"row\" [colDef]=\"col\"></entry-cell>\n </ng-template>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row\n *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns;\"\n [ngClass]=\"getRowClassList(row, getIndex(index, dataIndex))\"\n [attr.tabindex]=\"rowFocusVisible ? 0 : -1\"\n (click)=\"rowClick.emit(row)\"\n (keydown.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n<div class=\"no-results mat-body-2\" *ngIf=\"hasNoResult\">\n <ng-template [ngIf]=\"isTemplateRef(noResultTemplate)\" [ngIfElse]=\"defaultNoResultTpl\">\n <ng-template [ngTemplateOutlet]=\"noResultTemplate\"></ng-template>\n </ng-template>\n <ng-template #defaultNoResultTpl>{{noResultText}}</ng-template>\n</div>\n\n<!-- Pagination -->\n<ng-template [ngIf]=\"isTemplateRef(paginationTemplate)\" [ngIfElse]=\"defaultPaginationTemplate\">\n <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n</ng-template>\n<ng-template #defaultPaginationTemplate>\n <mat-paginator class=\"pagination\" *ngIf=\"shouldShowPaginator\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n [length]=\"total\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [hidePageSize]=\"hidePageSize\"\n (page)=\"handlePage($event)\"\n [disabled]=\"pageDisabled\">\n </mat-paginator>\n</ng-template>\n" }]
164
- }], ctorParameters: () => [{ type: i9.EntryTableConfig, decorators: [{
165
- type: Inject,
166
- args: [ENTRY_TABLE_CONFIG]
167
- }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { className: [{
168
- type: HostBinding,
169
- args: ['class']
170
- }], displayedColumns: [{
171
- type: Input
172
- }], columns: [{
173
- type: Input
174
- }], data: [{
175
- type: Input
176
- }], total: [{
177
- type: Input
178
- }], loading: [{
179
- type: Input
180
- }], showPaginator: [{
181
- type: Input
182
- }], pageDisabled: [{
183
- type: Input
184
- }], showFirstLastButtons: [{
185
- type: Input
186
- }], pageIndex: [{
187
- type: Input
188
- }], pageSize: [{
189
- type: Input
190
- }], pageSizeOptions: [{
191
- type: Input
192
- }], hidePageSize: [{
193
- type: Input
194
- }], pageChange: [{
195
- type: Output
196
- }], paginationTemplate: [{
197
- type: Input
198
- }], sortActive: [{
199
- type: Input
200
- }], sortDirection: [{
201
- type: Input
202
- }], sortDisableClear: [{
203
- type: Input
204
- }], sortDisabled: [{
205
- type: Input
206
- }], sortStart: [{
207
- type: Input
208
- }], sortChange: [{
209
- type: Output
210
- }], rowHover: [{
211
- type: Input
212
- }], rowStriped: [{
213
- type: Input
214
- }], rowFocusVisible: [{
215
- type: Input
216
- }], rowClick: [{
217
- type: Output
218
- }], multiSelectable: [{
219
- type: Input
220
- }], rowSelected: [{
221
- type: Input
222
- }], rowSelectable: [{
223
- type: Input
224
- }], showSelectAllCheckbox: [{
225
- type: Input
226
- }], rowSelectionFormatter: [{
227
- type: Input
228
- }], rowClassFormatter: [{
229
- type: Input
230
- }], rowSelectionChange: [{
231
- type: Output
232
- }], showContextMenu: [{
233
- type: Input
234
- }], contextMenuItems: [{
235
- type: Input
236
- }], contextMenuTemplate: [{
237
- type: Input
238
- }], rowContextMenuFormatter: [{
239
- type: Input
240
- }], contextMenuItemSelected: [{
241
- type: Output
242
- }], noResultText: [{
243
- type: Input
244
- }], noResultTemplate: [{
245
- type: Input
246
- }], headerTemplate: [{
247
- type: Input
248
- }], cellTemplate: [{
249
- type: Input
250
- }] } });
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBRXZCLFdBQVcsRUFJWCxXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk3RCxPQUFPLEVBRW1ELGtCQUFrQixFQUMzRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7OztBQU8xQixNQUFNLE9BQU8sbUJBQW1CO0lBeUU5QixJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNsRSxDQUFDO0lBTUQsWUFDc0MsT0FBeUIsRUFDckQsV0FBb0MsRUFDcEMsa0JBQXFDO1FBRlQsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDckQsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFuRnpCLGNBQVMsR0FBRyxhQUFhLENBQUM7UUFFaEQsZUFBVSxHQUFH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QkFJRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFFRSxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBSUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTTtnQkFJRSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUlFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFJRSxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUNJLHVCQUF1QjtzQkFBaEMsTUFBTTtnQkFJRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFTRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT25DaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IFNvcnQsIFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcblxuaW1wb3J0IHtcbiAgQ29sdW1uRGVmLCBQYWdlZERhdGEsIFJvd1NlbGVjdGlvbkZvcm1hdHRlciwgUm93Q2xhc3NGb3JtYXR0ZXIsXG4gIENvbnRleHRNZW51SXRlbSwgUm93Q29udGV4dE1lbnVGb3JtYXR0ZXIsIENlbGxUZW1wbGF0ZSwgRU5UUllfVEFCTEVfQ09ORklHLCBFbnRyeVRhYmxlQ29uZmlnXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRyeS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5VGFibGVDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2VudHJ5LXRhYmxlJztcblxuICBkYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxUPihbXSk7XG5cbiAgQElucHV0KCkgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XG4gIEBJbnB1dCgpIGNvbHVtbnM6IENvbHVtbkRlZltdID0gW107XG5cbiAgLy8gRGF0YVxuXG4gIHByaXZhdGUgX2RhdGE6IFRbXSA9IFtdO1xuICBwcml2YXRlIF9wYWdlOiBQYWdlZERhdGE8VD47XG4gIEBJbnB1dCgpIGRhdGE6IFRbXSB8IFBhZ2VkRGF0YTxUPiB8IG51bGwgfCB1bmRlZmluZWQgPSBbXTtcbiAgQElucHV0KCkgdG90YWwgPSAwO1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLy8gUGFnaW5hdGlvblxuXG4gIEBJbnB1dCgpIHNob3dQYWdpbmF0b3I6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHBhZ2VEaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93Rmlyc3RMYXN0QnV0dG9uczogYm9vbGVhbjtcbiAgQElucHV0KCkgcGFnZUluZGV4ID0gMDtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlcjtcbiAgQElucHV0KCkgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXTtcbiAgQElucHV0KCkgaGlkZVBhZ2VTaXplOiBib29sZWFuO1xuICBAT3V0cHV0KCkgcGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xuXG4gIEBJbnB1dCgpIHBhZ2luYXRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvLyBTb3J0XG5cbiAgQElucHV0KCkgc29ydEFjdGl2ZTogc3RyaW5nO1xuICBASW5wdXQoKSBzb3J0RGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xuICBASW5wdXQoKSBzb3J0RGlzYWJsZUNsZWFyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnREaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBzb3J0U3RhcnQ6ICdhc2MnIHwgJ2Rlc2MnID0gJ2FzYyc7XG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0PigpO1xuXG4gIC8vIFJvd1xuXG4gIEBJbnB1dCgpIHJvd0hvdmVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJvd1N0cmlwZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcm93Rm9jdXNWaXNpYmxlOiBib29sZWFuO1xuICBAT3V0cHV0KCkgcm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgLy8gUm93IHNlbGVjdGlvblxuXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0YWJsZSA9IHRydWU7XG4gIHJvd1NlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8VD4gPSBuZXcgU2VsZWN0aW9uTW9kZWw8VD4odHJ1ZSwgW10pO1xuXG4gIEBJbnB1dCgpIHJvd1NlbGVjdGVkOiBUW10gPSBbXTtcbiAgQElucHV0KCkgcm93U2VsZWN0YWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93U2VsZWN0QWxsQ2hlY2tib3ggPSB0cnVlO1xuICBASW5wdXQoKSByb3dTZWxlY3Rpb25Gb3JtYXR0ZXI6IFJvd1NlbGVjdGlvbkZvcm1hdHRlciA9IHt9O1xuICBASW5wdXQoKSByb3dDbGFzc0Zvcm1hdHRlcjogUm93Q2xhc3NGb3JtYXR0ZXI7XG4gIEBPdXRwdXQoKSByb3dTZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRbXT4oKTtcblxuICAvLyBDb250ZXh0IG1lbnVcblxuICBASW5wdXQoKSBzaG93Q29udGV4dE1lbnUgPSBmYWxzZTtcbiAgQElucHV0KCkgY29udGV4dE1lbnVJdGVtczogQ29udGV4dE1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgY29udGV4dE1lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XG4gIEBJbnB1dCgpIHJvd0NvbnRleHRNZW51Rm9ybWF0dGVyOiBSb3dDb250ZXh0TWVudUZvcm1hdHRlcjtcbiAgQE91dHB1dCgpIGNvbnRleHRNZW51SXRlbVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGl0ZW1JZDogc3RyaW5nOyByb3dEYXRhOiBUIH0+KCk7XG5cbiAgLy8gTm8gUmVzdWx0XG5cbiAgQElucHV0KCkgbm9SZXN1bHRUZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5vUmVzdWx0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGlvbkNvbHVtbiA9ICdzZWxlY3Rpb24tY29sdW1uJztcbiAgcmVhZG9ubHkgY29udGV4dE1lbnVDb2x1bW4gPSAnY29udGV4dC1tZW51LWNvbHVtbic7XG5cbiAgZ2V0IGhhc05vUmVzdWx0KCkge1xuICAgIHJldHVybiAoIXRoaXMuZGF0YSB8fCB0aGlzLl9kYXRhLmxlbmd0aCA9PT0gMCkgJiYgIXRoaXMubG9hZGluZztcbiAgfVxuXG4gIEBJbnB1dCgpIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgQ2VsbFRlbXBsYXRlIHwgYW55O1xuXG4gIEBJbnB1dCgpIGNlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IENlbGxUZW1wbGF0ZSB8IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEVOVFJZX1RBQkxFX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBFbnRyeVRhYmxlQ29uZmlnLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgZGV0ZWN0Q2hhbmdlcygpIHtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBpc1RlbXBsYXRlUmVmKG9iajogYW55KSB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuICB9XG5cbiAgZ2V0Um93Q2xhc3NMaXN0KHJvd0RhdGE6IFQsIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSB7XG4gICAgICBzZWxlY3RlZDogdGhpcy5yb3dTZWxlY3Rpb24uaXNTZWxlY3RlZChyb3dEYXRhKSxcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICdtYXQtcm93LW9kZCc6IGluZGV4ICUgMixcbiAgICB9O1xuICAgIGlmICh0aGlzLnJvd0NsYXNzRm9ybWF0dGVyKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh0aGlzLnJvd0NsYXNzRm9ybWF0dGVyKSkge1xuICAgICAgICBjbGFzc0xpc3Rba2V5XSA9IHRoaXMucm93Q2xhc3NGb3JtYXR0ZXJba2V5XShyb3dEYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTGlzdDtcbiAgfVxuXG4gIGdldENvbHVtbkNsYXNzTGlzdChjb2xEZWY6IENvbHVtbkRlZik6IHN0cmluZyB7XG4gICAgY29uc3QgY3VzdG9tQ2xhc3NlcyA9IGNvbERlZi5jbGFzcyA/PyAnJztcbiAgICBjb25zdCBjb2x1bW5UeXBlID0gY29sRGVmLnR5cGUgPz8gJyc7XG4gICAgY29uc3QgY29sdW1uRmllbGQgPSBgY2VsbC0ke3RoaXMuY29udmVydFRvS2ViYWJDYXNlKGNvbERlZi5maWVsZCl9YDtcblxuICAgIHJldHVybiBgJHtjdXN0b21DbGFzc2VzfSAke2NvbHVtblR5cGV9ICR7Y29sdW1uRmllbGR9YDtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnNob3dQYWdpbmF0b3IgPSB0aGlzLnNob3dQYWdpbmF0b3IgPz8gdGhpcy5fY29uZmlnLnNob3dQYWdpbmF0b3I7XG4gICAgdGhpcy5zaG93Rmlyc3RMYXN0QnV0dG9ucyA9IHRoaXMuc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPz8gdGhpcy5fY29uZmlnLnNob3dGaXJzdExhc3RCdXR0b25zO1xuICAgIHRoaXMucGFnZVNpemVPcHRpb25zID0gdGhpcy5wYWdlU2l6ZU9wdGlvbnMgPz8gdGhpcy5fY29uZmlnLnBhZ2VTaXplT3B0aW9ucztcbiAgICB0aGlzLmhpZGVQYWdlU2l6ZSA9IHRoaXMuaGlkZVBhZ2VTaXplID8/IHRoaXMuX2NvbmZpZy5oaWRlUGFnZVNpemU7XG4gICAgdGhpcy5ub1Jlc3VsdFRleHQgPSB0aGlzLm5vUmVzdWx0VGV4dCA/PyB0aGlzLl9jb25maWcubm9SZXN1bHRzVGV4dDtcbiAgICB0aGlzLnJvd0ZvY3VzVmlzaWJsZSA9IHRoaXMucm93Rm9jdXNWaXNpYmxlID8/IHRoaXMuX2NvbmZpZy5yb3dGb2N1c1Zpc2libGU7XG5cbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZSkubWFwKGl0ZW0gPT4gaXRlbS5maWVsZCk7XG5cbiAgICBpZiAodGhpcy5yb3dTZWxlY3RhYmxlICYmICF0aGlzLmRpc3BsYXllZENvbHVtbnMuaW5jbHVkZXModGhpcy5zZWxlY3Rpb25Db2x1bW4pKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMudW5zaGlmdCh0aGlzLnNlbGVjdGlvbkNvbHVtbik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd0NvbnRleHRNZW51ICYmICF0aGlzLmRpc3BsYXllZENvbHVtbnMuaW5jbHVkZXModGhpcy5jb250ZXh0TWVudUNvbHVtbikpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKHRoaXMuY29udGV4dE1lbnVDb2x1bW4pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJvd1NlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMucm93U2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRoaXMubXVsdGlTZWxlY3RhYmxlLCB0aGlzLnJvd1NlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gW107XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xuICAgICAgdGhpcy5fZGF0YSA9IHRoaXMuZGF0YSBhcyBUW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3BhZ2UgPSB0aGlzLmRhdGEgYXMgUGFnZWREYXRhPFQ+O1xuICAgICAgdGhpcy5fZGF0YSA9IHRoaXMuX3BhZ2UuaXRlbXMgPz8gW107XG4gICAgICB0aGlzLnRvdGFsID0gdGhpcy5fcGFnZS50b3RhbENvdW50ID8/IDA7XG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5fcGFnZS5wYWdlU2l6ZSA/PyB0aGlzLnBhZ2VTaXplID8/IHRoaXMuX2NvbmZpZy5wYWdlU2l6ZTtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fcGFnZS5wYWdlTnVtYmVyID8gdGhpcy5fcGFnZS5wYWdlTnVtYmVyIC0gMSA6IHRoaXMucGFnZUluZGV4O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLl9kYXRhKTtcblxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbmRleChpbmRleDogbnVtYmVyLCBkYXRhSW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiB0eXBlb2YgaW5kZXggPT09ICd1bmRlZmluZWQnID8gZGF0YUluZGV4IDogaW5kZXg7XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5yb3dTZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maWx0ZXIocm93ID0+ICF0aGlzLnJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZD8uKHJvdykpLmxlbmd0aDtcbiAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGxDaGVja2JveCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMucm93U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICB0aGlzLnJvd1NlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMucm93U2VsZWN0aW9uLnNlbGVjdGVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgaWYgKCF0aGlzLnJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZD8uKHJvdykpIHtcbiAgICAgICAgdGhpcy5yb3dTZWxlY3Rpb24uc2VsZWN0KHJvdyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yb3dTZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLnJvd1NlbGVjdGlvbi5zZWxlY3RlZCk7XG4gIH1cblxuICB0b2dnbGVSb3dTZWxlY3Rpb24ocm93OiBhbnkpIHtcbiAgICB0aGlzLnJvd1NlbGVjdGlvbi50b2dnbGUocm93KTtcbiAgICB0aGlzLnJvd1NlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMucm93U2VsZWN0aW9uLnNlbGVjdGVkKTtcbiAgfVxuXG4gIGhhbmRsZVBhZ2UoZTogUGFnZUV2ZW50KSB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoZSk7XG4gIH1cblxuICBzY3JvbGxUb1RvcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcbiAgfVxuXG4gIGdldCBzaG91bGRTaG93UGFnaW5hdG9yKCl7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1BhZ2luYXRvciAmJiB0aGlzLl9kYXRhLmxlbmd0aCA+IDA7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb0tlYmFiQ2FzZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWU/LnJlcGxhY2UoLyhbYS16MC05XSkoW0EtWl0pL2csICckMS0kMicpLnRvTG93ZXJDYXNlKCk7XG4gIH1cbn1cbiIsIjwhLS0gVGFibGUgY29udGVudCAtLT5cbjx0YWJsZSBtYXQtdGFibGVcbiAgICAgICAgW25nQ2xhc3NdPVwieydtYXQtdGFibGUtaG92ZXInOiByb3dIb3ZlciwgJ21hdC10YWJsZS1zdHJpcGVkJzogcm93U3RyaXBlZCwgJ21hdC10YWJsZS13aXRoLWRhdGEnOiAhaGFzTm9SZXN1bHQgfVwiXG4gICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgICAgICBtYXRTb3J0XG4gICAgICAgIFttYXRTb3J0QWN0aXZlXT1cInNvcnRBY3RpdmVcIlxuICAgICAgICBbbWF0U29ydERpcmVjdGlvbl09XCJzb3J0RGlyZWN0aW9uXCJcbiAgICAgICAgW21hdFNvcnREaXNhYmxlQ2xlYXJdPVwic29ydERpc2FibGVDbGVhclwiXG4gICAgICAgIFttYXRTb3J0RGlzYWJsZWRdPVwic29ydERpc2FibGVkXCJcbiAgICAgICAgW21hdFNvcnRTdGFydF09XCJzb3J0U3RhcnRcIlxuICAgICAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuXG4gIDwhLS0gU2VsZWN0aW9uIGNvbHVtbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd1NlbGVjdGFibGVcIiBbbWF0Q29sdW1uRGVmXT1cInNlbGVjdGlvbkNvbHVtblwiPlxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJzZWxlY3Rpb24tY2VsbFwiIGFyaWEtbGFiZWw9XCJTZWxlY3Qgcm93c1wiPlxuICAgICAgPG1hdC1jaGVja2JveCBhcmlhLWxhYmVsPVwiU2VsZWN0IGFsbFwiICpuZ0lmPVwibXVsdGlTZWxlY3RhYmxlICYmIHNob3dTZWxlY3RBbGxDaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInJvd1NlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIGlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInJvd1NlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZVNlbGVjdEFsbENoZWNrYm94KCkgOiBudWxsXCI+XG4gICAgICA8L21hdC1jaGVja2JveD5cbiAgICA8L3RoPlxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4O1wiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0aW9uLWNlbGxcIlxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICA8bWF0LWNoZWNrYm94IGFyaWEtbGFiZWw9XCJTZWxlY3Qgcm93XCJcbiAgICAgICAgKm5nSWY9XCJtdWx0aVNlbGVjdGFibGUgJiYgIShyb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuaGlkZUNoZWNrYm94ICYmIHJvd1NlbGVjdGlvbkZvcm1hdHRlci5oaWRlQ2hlY2tib3ghKHJvdykpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZCAmJiByb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuZGlzYWJsZWQhKHJvdylcIlxuICAgICAgICBbY2hlY2tlZF09XCJyb3dTZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpXCJcbiAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyB0b2dnbGVSb3dTZWxlY3Rpb24ocm93KSA6IG51bGxcIj5cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gYXJpYS1sYWJlbD1cIlNlbGVjdCByb3dcIlxuICAgICAgICAqbmdJZj1cIiFtdWx0aVNlbGVjdGFibGUgJiYgIShyb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuaGlkZUNoZWNrYm94ICYmIHJvd1NlbGVjdGlvbkZvcm1hdHRlci5oaWRlQ2hlY2tib3ghKHJvdykpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZCAmJiByb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuZGlzYWJsZWQhKHJvdylcIlxuICAgICAgICBbY2hlY2tlZF09XCJyb3dTZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpXCJcbiAgICAgICAgW3ZhbHVlXT1cInJvd1NlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdylcIlxuICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZVJvd1NlbGVjdGlvbihyb3cpIDogbnVsbFwiPlxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gQ29udGV4dCBtZW51IGNvbHVtbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dDb250ZXh0TWVudVwiIFttYXRDb2x1bW5EZWZdPVwiY29udGV4dE1lbnVDb2x1bW5cIj5cbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiYWN0aW9uLWNlbGxcIiBhcmlhLWxhYmVsPVwiQ29udGV4dCBNZW51IEFjdGlvbnNcIj48L3RoPlxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4O1wiXG4gICAgICAgIGNsYXNzPVwiYWN0aW9uLWNlbGxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzVGVtcGxhdGVSZWYoY29udGV4dE1lbnVUZW1wbGF0ZSlcIiBbbmdJZkVsc2VdPVwiY29udGV4dE1lbnVUcGxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGV4dE1lbnVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93RGF0YTogcm93IH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbnRleHRNZW51VHBsPlxuICAgICAgICAgIDxlbnRyeS1jZWxsLWNvbnRleHQtbWVudVxuICAgICAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICAgICAgW3Jvd0RhdGFdPVwicm93XCJcbiAgICAgICAgICAgIFtyb3dNZW51Rm9ybWF0dGVyXT1cInJvd0NvbnRleHRNZW51Rm9ybWF0dGVyXCJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJjb250ZXh0TWVudUl0ZW1TZWxlY3RlZC5lbWl0KHtpdGVtSWQ6ICRldmVudCwgcm93RGF0YTogcm93fSlcIlxuICAgICAgICAgID48L2VudHJ5LWNlbGwtY29udGV4dC1tZW51PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zO1wiPlxuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjb2wuZmllbGRcIlxuICAgICAgICAgICAgICAgICAgW3N0aWNreV09XCJjb2wucGlubmVkPT09J2xlZnQnXCIgW3N0aWNreUVuZF09XCJjb2wucGlubmVkPT09J3JpZ2h0J1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgIFtjbGFzc109XCJnZXRDb2x1bW5DbGFzc0xpc3QoY29sKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydtYXQtdGFibGUtc3RpY2t5LWxlZnQnOiBjb2wucGlubmVkID09PSAnbGVmdCcsICdtYXQtdGFibGUtc3RpY2t5LXJpZ2h0JzogY29sLnBpbm5lZCA9PT0gJ3JpZ2h0J31cIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBjb2wud2lkdGgsICdtaW4td2lkdGgnOiBjb2wud2lkdGh9XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzVGVtcGxhdGVSZWYoaGVhZGVyVGVtcGxhdGUpXCIgW25nSWZFbHNlXT1cImhlYWRlclRwbFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb2wsIGNvbERlZjogY29sIH1cIj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRwbD5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJoZWFkZXJUZW1wbGF0ZSAmJiBpc1RlbXBsYXRlUmVmKGhlYWRlclRlbXBsYXRlW2NvbC5maWVsZF0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nSWZFbHNlXT1cImRlZmF1bHRIZWFkZXJUcGxcIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlW2NvbC5maWVsZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29sLCBjb2xEZWY6IGNvbCB9XCI+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SGVhZGVyVHBsPlxuICAgICAgICAgICAgPGRpdiBbbWF0LXNvcnQtaGVhZGVyXT1cImNvbC5zb3J0UHJvcD8uaWQgfHwgY29sLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29sLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xlYXJdPVwiY29sLnNvcnRQcm9wPy5kaXNhYmxlQ2xlYXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3tjb2wuaGVhZGVyfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC90aD5cblxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvdzsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBkYXRhSW5kZXggPSBkYXRhSW5kZXg7XCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0Q29sdW1uQ2xhc3NMaXN0KGNvbClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbWF0LXRhYmxlLXN0aWNreS1sZWZ0JzogY29sLnBpbm5lZCA9PT0gJ2xlZnQnLCAnbWF0LXRhYmxlLXN0aWNreS1yaWdodCc6IGNvbC5waW5uZWQgPT09ICdyaWdodCd9XCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7J3dpZHRoJzogY29sLndpZHRoLCAnbWluLXdpZHRoJzogY29sLndpZHRofVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXNUZW1wbGF0ZVJlZihjZWxsVGVtcGxhdGUpXCIgW25nSWZFbHNlXT1cImNlbGxUcGxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2VsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm93LCByb3dEYXRhOiByb3csIGluZGV4OiBnZXRJbmRleChpbmRleCwgZGF0YUluZGV4KSwgY29sRGVmOiBjb2wgfVwiPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbFRwbD5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiY2VsbFRlbXBsYXRlICYmIGlzVGVtcGxhdGVSZWYoY2VsbFRlbXBsYXRlW2NvbC5maWVsZF0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0lmRWxzZV09XCJjb2xEZWZDZWxsVHBsXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2VsbFRlbXBsYXRlW2NvbC5maWVsZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93RGF0YTogcm93LCBpbmRleDogZ2V0SW5kZXgoaW5kZXgsIGRhdGFJbmRleCksIGNvbERlZjogY29sIH1cIj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjb2xEZWZDZWxsVHBsPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJjb2wuY2VsbFRlbXBsYXRlXCIgW25nSWZFbHNlXT1cImRlZmF1bHRDZWxsVHBsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbC5jZWxsVGVtcGxhdGUgPz8gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93RGF0YTogcm93LCBpbmRleDogZ2V0SW5kZXgoaW5kZXgsIGRhdGFJbmRleCksIGNvbERlZjogY29sIH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDZWxsVHBsPlxuICAgICAgICAgIDxlbnRyeS1jZWxsIFtyb3dEYXRhXT1cInJvd1wiIFtjb2xEZWZdPVwiY29sXCI+PC9lbnRyeS1jZWxsPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxuICA8dHIgbWF0LXJvd1xuICAgICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiXG4gICAgICBbbmdDbGFzc109XCJnZXRSb3dDbGFzc0xpc3Qocm93LCBnZXRJbmRleChpbmRleCwgZGF0YUluZGV4KSlcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwicm93Rm9jdXNWaXNpYmxlID8gMCA6IC0xXCJcbiAgICAgIChjbGljayk9XCJyb3dDbGljay5lbWl0KHJvdylcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwicm93Q2xpY2suZW1pdChyb3cpXCI+XG4gIDwvdHI+XG48L3RhYmxlPlxuXG48IS0tIE5vIHJlc3VsdHMgLS0+XG48ZGl2IGNsYXNzPVwibm8tcmVzdWx0cyBtYXQtYm9keS0yXCIgKm5nSWY9XCJoYXNOb1Jlc3VsdFwiPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXNUZW1wbGF0ZVJlZihub1Jlc3VsdFRlbXBsYXRlKVwiIFtuZ0lmRWxzZV09XCJkZWZhdWx0Tm9SZXN1bHRUcGxcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9SZXN1bHRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5vUmVzdWx0VHBsPnt7bm9SZXN1bHRUZXh0fX08L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbjwhLS0gUGFnaW5hdGlvbiAtLT5cbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpc1RlbXBsYXRlUmVmKHBhZ2luYXRpb25UZW1wbGF0ZSlcIiBbbmdJZkVsc2VdPVwiZGVmYXVsdFBhZ2luYXRpb25UZW1wbGF0ZVwiPlxuICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGFnaW5hdGlvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2RlZmF1bHRQYWdpbmF0aW9uVGVtcGxhdGU+XG4gIDxtYXQtcGFnaW5hdG9yIGNsYXNzPVwicGFnaW5hdGlvblwiICpuZ0lmPVwic2hvdWxkU2hvd1BhZ2luYXRvclwiXG4gICAgICAgICAgICAgICAgICBbc2hvd0ZpcnN0TGFzdEJ1dHRvbnNdPVwic2hvd0ZpcnN0TGFzdEJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgICAgW2xlbmd0aF09XCJ0b3RhbFwiXG4gICAgICAgICAgICAgICAgICBbcGFnZUluZGV4XT1cInBhZ2VJbmRleFwiXG4gICAgICAgICAgICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxuICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgW2hpZGVQYWdlU2l6ZV09XCJoaWRlUGFnZVNpemVcIlxuICAgICAgICAgICAgICAgICAgKHBhZ2UpPVwiaGFuZGxlUGFnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwYWdlRGlzYWJsZWRcIj5cbiAgPC9tYXQtcGFnaW5hdG9yPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,5 +0,0 @@
1
- export * from './entry-table/entry-table.component';
2
- export * from './entry-cell/entry-cell.component';
3
- export * from './entry-cell-context-menu/entry-cell-context-menu.component';
4
- export * from './entry-cell-formatted-value/entry-cell-formatted-value.component';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLG1FQUFtRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCAqIGZyb20gJy4vZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRyeS1jZWxsL2VudHJ5LWNlbGwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRyeS1jZWxsLWNvbnRleHQtbWVudS9lbnRyeS1jZWxsLWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudHJ5LWNlbGwtZm9ybWF0dGVkLXZhbHVlL2VudHJ5LWNlbGwtZm9ybWF0dGVkLXZhbHVlLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvdGFibGUvZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,84 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule } from '@angular/forms';
4
- import { MatTableModule } from '@angular/material/table';
5
- import { MatSortModule } from '@angular/material/sort';
6
- import { MatPaginatorModule } from '@angular/material/paginator';
7
- import { MatCheckboxModule } from '@angular/material/checkbox';
8
- import { MatIconModule } from '@angular/material/icon';
9
- import { MatMenuModule } from '@angular/material/menu';
10
- import { MatRadioModule } from '@angular/material/radio';
11
- import { MatButtonModule } from '@angular/material/button';
12
- import { EntryTableComponent } from './components/entry-table/entry-table.component';
13
- import { EntryCellComponent } from './components/entry-cell/entry-cell.component';
14
- import { EntryCellContextMenuComponent } from './components/entry-cell-context-menu/entry-cell-context-menu.component';
15
- import { EntryCellFormattedValueComponent } from './components/entry-cell-formatted-value/entry-cell-formatted-value.component';
16
- import { DEFAULT_PERCENTAGE_MULTIPLIER } from './interfaces';
17
- import * as i0 from "@angular/core";
18
- export class EntryTableModule {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EntryTableModule, declarations: [EntryTableComponent,
21
- EntryCellComponent,
22
- EntryCellContextMenuComponent,
23
- EntryCellFormattedValueComponent], imports: [CommonModule,
24
- FormsModule,
25
- MatTableModule,
26
- MatSortModule,
27
- MatPaginatorModule,
28
- MatCheckboxModule,
29
- MatIconModule,
30
- MatMenuModule,
31
- MatRadioModule,
32
- CommonModule,
33
- MatButtonModule], exports: [EntryTableComponent,
34
- EntryCellComponent,
35
- EntryCellContextMenuComponent,
36
- EntryCellFormattedValueComponent] }); }
37
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryTableModule, providers: [
38
- { provide: DEFAULT_PERCENTAGE_MULTIPLIER, useValue: 1 }
39
- ], imports: [CommonModule,
40
- FormsModule,
41
- MatTableModule,
42
- MatSortModule,
43
- MatPaginatorModule,
44
- MatCheckboxModule,
45
- MatIconModule,
46
- MatMenuModule,
47
- MatRadioModule,
48
- CommonModule,
49
- MatButtonModule] }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryTableModule, decorators: [{
52
- type: NgModule,
53
- args: [{
54
- imports: [
55
- CommonModule,
56
- FormsModule,
57
- MatTableModule,
58
- MatSortModule,
59
- MatPaginatorModule,
60
- MatCheckboxModule,
61
- MatIconModule,
62
- MatMenuModule,
63
- MatRadioModule,
64
- CommonModule,
65
- MatButtonModule
66
- ],
67
- declarations: [
68
- EntryTableComponent,
69
- EntryCellComponent,
70
- EntryCellContextMenuComponent,
71
- EntryCellFormattedValueComponent
72
- ],
73
- exports: [
74
- EntryTableComponent,
75
- EntryCellComponent,
76
- EntryCellContextMenuComponent,
77
- EntryCellFormattedValueComponent
78
- ],
79
- providers: [
80
- { provide: DEFAULT_PERCENTAGE_MULTIPLIER, useValue: 1 }
81
- ]
82
- }]
83
- }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2VudHJ5LXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDaEksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDN0QsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBZnpCLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsNkJBQTZCO1lBQzdCLGdDQUFnQyxhQWhCaEMsWUFBWTtZQUNaLFdBQVc7WUFDWCxjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1lBQ2QsWUFBWTtZQUNaLGVBQWUsYUFTZixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLDZCQUE2QjtZQUM3QixnQ0FBZ0M7Z0hBTXZCLGdCQUFnQixhQUpoQjtZQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDeEQsWUExQkMsWUFBWTtZQUNaLFdBQVc7WUFDWCxjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1lBQ2QsWUFBWTtZQUNaLGVBQWU7OzRGQWtCTixnQkFBZ0I7a0JBOUI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO3FCQUN4RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IEVudHJ5VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1jZWxsL2VudHJ5LWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LWNlbGwtY29udGV4dC1tZW51L2VudHJ5LWNlbGwtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeUNlbGxGb3JtYXR0ZWRWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1jZWxsLWZvcm1hdHRlZC12YWx1ZS9lbnRyeS1jZWxsLWZvcm1hdHRlZC12YWx1ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVIgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVudHJ5VGFibGVDb21wb25lbnQsXG4gICAgRW50cnlDZWxsQ29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbEZvcm1hdHRlZFZhbHVlQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbnRyeVRhYmxlQ29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbENvbXBvbmVudCxcbiAgICBFbnRyeUNlbGxDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBFbnRyeUNlbGxGb3JtYXR0ZWRWYWx1ZUNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IERFRkFVTFRfUEVSQ0VOVEFHRV9NVUxUSVBMSUVSLCB1c2VWYWx1ZTogMSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW50cnlUYWJsZU1vZHVsZSB7IH1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC10ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy90YWJsZS9pbnRlcmZhY2VzL2NlbGwtdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDZWxsVGVtcGxhdGUge1xyXG4gIFtrZXk6IHN0cmluZ106IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy90YWJsZS9pbnRlcmZhY2VzL2NvbHVtbi1kZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbHVtblNvcnRQcm9wIH0gZnJvbSAnLi9jb2x1bW4tc29ydC1wcm9wJztcclxuaW1wb3J0IHsgQ29sdW1uVHlwZVBhcmFtZXRlciB9IGZyb20gJy4vY29sdW1uLXR5cGUtcGFyYW1ldGVyJztcclxuaW1wb3J0IHsgQ29sdW1uVHlwZSB9IGZyb20gJy4vY29sdW1uLXR5cGUnO1xyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRGVmIHtcclxuICBmaWVsZDogc3RyaW5nO1xyXG4gIGhlYWRlcj86IHN0cmluZztcclxuICBoaWRlPzogYm9vbGVhbjtcclxuICBwaW5uZWQ/OiAnbGVmdCcgfCAncmlnaHQnO1xyXG4gIHdpZHRoPzogc3RyaW5nO1xyXG4gIHNvcnRhYmxlPzogYm9vbGVhbiB8IHN0cmluZztcclxuICBzb3J0UHJvcD86IENvbHVtblNvcnRQcm9wO1xyXG4gIHR5cGU/OiBDb2x1bW5UeXBlO1xyXG4gIHR5cGVQYXJhbWV0ZXI/OiBDb2x1bW5UeXBlUGFyYW1ldGVyO1xyXG4gIGNlbGxUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xyXG4gIGNsYXNzPzogc3RyaW5nO1xyXG4gIGN1c3RvbVByb3BlcnRpZXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNvcnQtcHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy90YWJsZS9pbnRlcmZhY2VzL2NvbHVtbi1zb3J0LXByb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNvcnRQcm9wIHtcclxuICBpZD86IHN0cmluZztcclxuICBzdGFydD86ICdhc2MnIHwgJ2Rlc2MnO1xyXG4gIGRpc2FibGVDbGVhcj86IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXR5cGUtcGFyYW1ldGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2ludGVyZmFjZXMvY29sdW1uLXR5cGUtcGFyYW1ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5UeXBlUGFyYW1ldGVyIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICBkaXNwbGF5Pzogc3RyaW5nIHwgYm9vbGVhbjtcclxuICBkaWdpdHNJbmZvPzogc3RyaW5nO1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICBsb2NhbGU/OiBzdHJpbmc7XHJcbiAgdGltZXpvbmU/OiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvdGFibGUvaW50ZXJmYWNlcy9jb2x1bW4tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29sdW1uVHlwZSA9ICdib29sZWFuJyB8XHJcbiAgJ251bWJlcicgfFxyXG4gICdjdXJyZW5jeScgfFxyXG4gICdwZXJjZW50JyB8XHJcbiAgJ2RhdGUnIHxcclxuICAnbGluayc7XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvdGFibGUvaW50ZXJmYWNlcy9jb250ZXh0LW1lbnUtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDb250ZXh0TWVudUl0ZW0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGl0ZW1zPzogQ29udGV4dE1lbnVJdGVtW107XHJcbn1cclxuIl19
@@ -1,45 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { createInjectionToken, provideConfig } from '@enigmatry/entry-components/common';
3
- export class EntryTableConfig {
4
- constructor(config = {}) {
5
- /** Show paginator, default is true */
6
- this.showPaginator = true;
7
- /** Show first and last pagination buttons, default is false */
8
- this.showFirstLastButtons = false;
9
- /** Page size, default 20 */
10
- this.pageSize = 20;
11
- /** Page size options, default [20, 50, 100] */
12
- this.pageSizeOptions = [20, 50, 100];
13
- /** Hide page size options, default is false */
14
- this.hidePageSize = false;
15
- /** Hide pagination, default is false */
16
- this.noResultsText = 'No results found';
17
- /** Row focus visible, default is false */
18
- this.rowFocusVisible = false;
19
- this.showPaginator = config.showPaginator ?? this.showPaginator;
20
- this.showFirstLastButtons = config.showFirstLastButtons ?? this.showFirstLastButtons;
21
- this.pageSize = config.pageSize ?? this.pageSize;
22
- this.pageSizeOptions = config.pageSizeOptions ?? this.pageSizeOptions;
23
- this.hidePageSize = config.hidePageSize ?? this.hidePageSize;
24
- this.noResultsText = config.noResultsText ?? this.noResultsText;
25
- this.rowFocusVisible = config.rowFocusVisible ?? this.rowFocusVisible;
26
- }
27
- }
28
- /** Entry table config injection token
29
- * Defaults:
30
- * - showPaginator: true
31
- * - showFirstLastButtons: false
32
- * - pageSize: 20
33
- * - pageSizeOptions: [20, 50, 100]
34
- * - hidePageSize: false
35
- * - noResultsText: 'No results found'
36
- * - rowFocusVisible: false
37
- */
38
- export const ENTRY_TABLE_CONFIG = createInjectionToken(new EntryTableConfig());
39
- /** Provide entry table config */
40
- export function provideEntryTableConfig(config) {
41
- return provideConfig(ENTRY_TABLE_CONFIG, () => new EntryTableConfig(config));
42
- }
43
- /** Default percentage multiplier injection token */
44
- export const DEFAULT_PERCENTAGE_MULTIPLIER = new InjectionToken('');
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2ludGVyZmFjZXMvZW50cnktdGFibGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXpGLE1BQU0sT0FBTyxnQkFBZ0I7SUFnQjNCLFlBQVksU0FBb0MsRUFBRTtRQWZsRCxzQ0FBc0M7UUFDdEMsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFDckIsK0RBQStEO1FBQy9ELHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3Qiw0QkFBNEI7UUFDNUIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLCtDQUErQztRQUMvQyxvQkFBZSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoQywrQ0FBK0M7UUFDL0MsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsd0NBQXdDO1FBQ3hDLGtCQUFhLEdBQUcsa0JBQWtCLENBQUM7UUFDbkMsMENBQTBDO1FBQzFDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBR3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQ3JGLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3hFLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0FBRS9FLGlDQUFpQztBQUNqQyxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBaUM7SUFDdkUsT0FBTyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFFRCxvREFBb0Q7QUFDcEQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQTJCLElBQUksY0FBYyxDQUFTLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVJbmplY3Rpb25Ub2tlbiwgcHJvdmlkZUNvbmZpZyB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xuXG5leHBvcnQgY2xhc3MgRW50cnlUYWJsZUNvbmZpZyB7XG4gIC8qKiBTaG93IHBhZ2luYXRvciwgZGVmYXVsdCBpcyB0cnVlICovXG4gIHNob3dQYWdpbmF0b3IgPSB0cnVlO1xuICAvKiogU2hvdyBmaXJzdCBhbmQgbGFzdCBwYWdpbmF0aW9uIGJ1dHRvbnMsIGRlZmF1bHQgaXMgZmFsc2UgKi9cbiAgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPSBmYWxzZTtcbiAgLyoqIFBhZ2Ugc2l6ZSwgZGVmYXVsdCAyMCAqL1xuICBwYWdlU2l6ZSA9IDIwO1xuICAvKiogUGFnZSBzaXplIG9wdGlvbnMsIGRlZmF1bHQgWzIwLCA1MCwgMTAwXSAqL1xuICBwYWdlU2l6ZU9wdGlvbnMgPSBbMjAsIDUwLCAxMDBdO1xuICAvKiogSGlkZSBwYWdlIHNpemUgb3B0aW9ucywgZGVmYXVsdCBpcyBmYWxzZSAqL1xuICBoaWRlUGFnZVNpemUgPSBmYWxzZTtcbiAgLyoqIEhpZGUgcGFnaW5hdGlvbiwgZGVmYXVsdCBpcyBmYWxzZSAqL1xuICBub1Jlc3VsdHNUZXh0ID0gJ05vIHJlc3VsdHMgZm91bmQnO1xuICAvKiogUm93IGZvY3VzIHZpc2libGUsIGRlZmF1bHQgaXMgZmFsc2UgKi9cbiAgcm93Rm9jdXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBQYXJ0aWFsPEVudHJ5VGFibGVDb25maWc+ID0ge30pIHtcbiAgICB0aGlzLnNob3dQYWdpbmF0b3IgPSBjb25maWcuc2hvd1BhZ2luYXRvciA/PyB0aGlzLnNob3dQYWdpbmF0b3I7XG4gICAgdGhpcy5zaG93Rmlyc3RMYXN0QnV0dG9ucyA9IGNvbmZpZy5zaG93Rmlyc3RMYXN0QnV0dG9ucyA/PyB0aGlzLnNob3dGaXJzdExhc3RCdXR0b25zO1xuICAgIHRoaXMucGFnZVNpemUgPSBjb25maWcucGFnZVNpemUgPz8gdGhpcy5wYWdlU2l6ZTtcbiAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyA9IGNvbmZpZy5wYWdlU2l6ZU9wdGlvbnMgPz8gdGhpcy5wYWdlU2l6ZU9wdGlvbnM7XG4gICAgdGhpcy5oaWRlUGFnZVNpemUgPSBjb25maWcuaGlkZVBhZ2VTaXplID8/IHRoaXMuaGlkZVBhZ2VTaXplO1xuICAgIHRoaXMubm9SZXN1bHRzVGV4dCA9IGNvbmZpZy5ub1Jlc3VsdHNUZXh0ID8/IHRoaXMubm9SZXN1bHRzVGV4dDtcbiAgICB0aGlzLnJvd0ZvY3VzVmlzaWJsZSA9IGNvbmZpZy5yb3dGb2N1c1Zpc2libGUgPz8gdGhpcy5yb3dGb2N1c1Zpc2libGU7XG4gIH1cbn1cblxuLyoqIEVudHJ5IHRhYmxlIGNvbmZpZyBpbmplY3Rpb24gdG9rZW5cbiAqIERlZmF1bHRzOlxuICogLSBzaG93UGFnaW5hdG9yOiB0cnVlXG4gKiAtIHNob3dGaXJzdExhc3RCdXR0b25zOiBmYWxzZVxuICogLSBwYWdlU2l6ZTogMjBcbiAqIC0gcGFnZVNpemVPcHRpb25zOiBbMjAsIDUwLCAxMDBdXG4gKiAtIGhpZGVQYWdlU2l6ZTogZmFsc2VcbiAqIC0gbm9SZXN1bHRzVGV4dDogJ05vIHJlc3VsdHMgZm91bmQnXG4gKiAtIHJvd0ZvY3VzVmlzaWJsZTogZmFsc2VcbiAqL1xuZXhwb3J0IGNvbnN0IEVOVFJZX1RBQkxFX0NPTkZJRyA9IGNyZWF0ZUluamVjdGlvblRva2VuKG5ldyBFbnRyeVRhYmxlQ29uZmlnKCkpO1xuXG4vKiogUHJvdmlkZSBlbnRyeSB0YWJsZSBjb25maWcgKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRW50cnlUYWJsZUNvbmZpZyhjb25maWc6IFBhcnRpYWw8RW50cnlUYWJsZUNvbmZpZz4pOiBQcm92aWRlciB7XG4gIHJldHVybiBwcm92aWRlQ29uZmlnKEVOVFJZX1RBQkxFX0NPTkZJRywgKCkgPT4gbmV3IEVudHJ5VGFibGVDb25maWcoY29uZmlnKSk7XG59XG5cbi8qKiBEZWZhdWx0IHBlcmNlbnRhZ2UgbXVsdGlwbGllciBpbmplY3Rpb24gdG9rZW4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BFUkNFTlRBR0VfTVVMVElQTElFUjogSW5qZWN0aW9uVG9rZW48bnVtYmVyPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxudW1iZXI+KCcnKTtcbiJdfQ==
@@ -1,13 +0,0 @@
1
- export * from './pagination';
2
- export * from './entry-table-config';
3
- export * from './paged-query';
4
- export * from './cell-template';
5
- export * from './column-def';
6
- export * from './column-sort-prop';
7
- export * from './column-type-parameter';
8
- export * from './column-type';
9
- export * from './context-menu-item';
10
- export * from './row-class-formatter';
11
- export * from './row-context-menu-formatter';
12
- export * from './row-selection-formatter';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvdGFibGUvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnRyeS10YWJsZS1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BhZ2VkLXF1ZXJ5JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vY2VsbC10ZW1wbGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLWRlZic7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLXNvcnQtcHJvcCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLXR5cGUtcGFyYW1ldGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4tdHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1tZW51LWl0ZW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL3Jvdy1jbGFzcy1mb3JtYXR0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3Jvdy1jb250ZXh0LW1lbnUtZm9ybWF0dGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9yb3ctc2VsZWN0aW9uLWZvcm1hdHRlcic7XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- export const defaultPageSize = 20;
2
- export const defaultPageNumber = 1;
3
- export class PagedQuery {
4
- constructor() {
5
- this.pageNumber = defaultPageNumber;
6
- this.pageSize = defaultPageSize;
7
- }
8
- sortChange(sort) {
9
- if (sort.active) {
10
- this.sortBy = sort.active;
11
- this.sortDirection = this.getValueIfNotEmpty(sort.direction);
12
- this.pageNumber = defaultPageNumber;
13
- }
14
- }
15
- pageChange(page) {
16
- this.pageNumber = page.pageIndex + 1;
17
- this.pageSize = page.pageSize;
18
- }
19
- applyRouteChanges(queryParams) {
20
- this.pageNumber = queryParams.pageNumber ? Number(queryParams.pageNumber) : defaultPageNumber;
21
- this.pageSize = queryParams.pageSize ? Number(queryParams.pageSize) : this.pageSize;
22
- this.sortBy = this.getValueIfNotEmpty(queryParams.sortBy ?? this.sortBy);
23
- this.sortDirection = this.getValueIfNotEmpty(queryParams.sortDirection ?? this.sortDirection);
24
- }
25
- getRouteQueryParams() {
26
- return {
27
- pageNumber: this.pageNumber,
28
- pageSize: this.pageSize,
29
- sortBy: this.sortBy,
30
- sortDirection: this.sortDirection
31
- };
32
- }
33
- getValueIfNotEmpty(value) {
34
- return value ? value : undefined;
35
- }
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQtcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvdGFibGUvaW50ZXJmYWNlcy9wYWdlZC1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUVuQyxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUNFLGVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUMvQixhQUFRLEdBQUcsZUFBZSxDQUFDO0lBb0M3QixDQUFDO0lBaENDLFVBQVUsQ0FBQyxJQUFlO1FBQ3hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFlO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxXQUFtQjtRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQzlGLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0IsQ0FBSSxLQUFRO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT25QYWdlLCBPblNvcnQsIFBhZ2VFdmVudCwgU29ydERpcmVjdGlvbiwgU29ydEV2ZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRQYWdlU2l6ZSA9IDIwO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRQYWdlTnVtYmVyID0gMTtcblxuZXhwb3J0IGNsYXNzIFBhZ2VkUXVlcnkgaW1wbGVtZW50cyBPblBhZ2UsIE9uU29ydCB7XG4gIHBhZ2VOdW1iZXIgPSBkZWZhdWx0UGFnZU51bWJlcjtcbiAgcGFnZVNpemUgPSBkZWZhdWx0UGFnZVNpemU7XG4gIHNvcnRCeT86IHN0cmluZztcbiAgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb247XG5cbiAgc29ydENoYW5nZShzb3J0OiBTb3J0RXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoc29ydC5hY3RpdmUpIHtcbiAgICAgIHRoaXMuc29ydEJ5ID0gc29ydC5hY3RpdmU7XG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb24gPSB0aGlzLmdldFZhbHVlSWZOb3RFbXB0eShzb3J0LmRpcmVjdGlvbik7XG4gICAgICB0aGlzLnBhZ2VOdW1iZXIgPSBkZWZhdWx0UGFnZU51bWJlcjtcbiAgICB9XG4gIH1cblxuICBwYWdlQ2hhbmdlKHBhZ2U6IFBhZ2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucGFnZU51bWJlciA9IHBhZ2UucGFnZUluZGV4ICsgMTtcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFnZS5wYWdlU2l6ZTtcbiAgfVxuXG4gIGFwcGx5Um91dGVDaGFuZ2VzKHF1ZXJ5UGFyYW1zOiBQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBxdWVyeVBhcmFtcy5wYWdlTnVtYmVyID8gTnVtYmVyKHF1ZXJ5UGFyYW1zLnBhZ2VOdW1iZXIpIDogZGVmYXVsdFBhZ2VOdW1iZXI7XG4gICAgdGhpcy5wYWdlU2l6ZSA9IHF1ZXJ5UGFyYW1zLnBhZ2VTaXplID8gTnVtYmVyKHF1ZXJ5UGFyYW1zLnBhZ2VTaXplKSA6IHRoaXMucGFnZVNpemU7XG4gICAgdGhpcy5zb3J0QnkgPSB0aGlzLmdldFZhbHVlSWZOb3RFbXB0eShxdWVyeVBhcmFtcy5zb3J0QnkgPz8gdGhpcy5zb3J0QnkpO1xuICAgIHRoaXMuc29ydERpcmVjdGlvbiA9IHRoaXMuZ2V0VmFsdWVJZk5vdEVtcHR5KHF1ZXJ5UGFyYW1zLnNvcnREaXJlY3Rpb24gPz8gdGhpcy5zb3J0RGlyZWN0aW9uKTtcbiAgfVxuXG4gIGdldFJvdXRlUXVlcnlQYXJhbXMoKTogUGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZU51bWJlcjogdGhpcy5wYWdlTnVtYmVyLFxuICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5zb3J0RGlyZWN0aW9uXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWVJZk5vdEVtcHR5PFQ+KHZhbHVlOiBUKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHZhbHVlID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export { PageEvent } from '@angular/material/paginator';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy90YWJsZS9pbnRlcmZhY2VzL3BhZ2luYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydCBhcyBTb3J0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5cbmV4cG9ydCB7IFNvcnQgYXMgU29ydEV2ZW50LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5leHBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VkRGF0YTxUPiB7XG4gICAgaXRlbXM/OiBUW107XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG4gICAgcGFnZU51bWJlcj86IG51bWJlcjtcbiAgICB0b3RhbENvdW50PzogbnVtYmVyO1xuICAgIHRvdGFsUGFnZXM/OiBudW1iZXI7XG4gICAgaGFzUHJldmlvdXNQYWdlPzogYm9vbGVhbjtcbiAgICBoYXNOZXh0UGFnZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Tb3J0IHtcbiAgICBzb3J0Q2hhbmdlKHNvcnQ6IFNvcnRFdmVudCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25QYWdlIHtcbiAgICBwYWdlQ2hhbmdlKHBhZ2U6IFBhZ2VFdmVudCk6IHZvaWQ7XG59XG4iXX0=