@verisoft/ui-govcz 18.8.0 → 19.0.0-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 (130) hide show
  1. package/assets/i18n/cs.json +10 -0
  2. package/assets/i18n/en.json +8 -0
  3. package/assets/sass/main.scss +6 -242
  4. package/assets/sass/utils/_utils.scss +3 -0
  5. package/assets/sass/utils/_variables.scss +3 -0
  6. package/assets/sass/utils/index.scss +2 -0
  7. package/assets/sass/vendors/_bootstrap.scss +2 -2
  8. package/fesm2022/verisoft-ui-govcz.mjs +253 -393
  9. package/fesm2022/verisoft-ui-govcz.mjs.map +1 -1
  10. package/lib/components/checkbox/checkbox.component.d.ts +2 -2
  11. package/lib/components/dropdown-button/dropdown-button.component.d.ts +15 -0
  12. package/lib/components/dropdown-button/index.d.ts +1 -0
  13. package/lib/components/errors/error.component.d.ts +1 -1
  14. package/lib/components/index.d.ts +1 -1
  15. package/lib/components/shared-components/action-button-group/action-button-group.component.d.ts +1 -2
  16. package/lib/components/tab-view/index.d.ts +0 -1
  17. package/lib/components/tab-view/tab-view-item.component.d.ts +1 -1
  18. package/lib/components/tab-view/tab-view.component.d.ts +1 -1
  19. package/lib/components/textarea/textarea.component.d.ts +5 -4
  20. package/lib/components/tooltip/tooltip.component.d.ts +7 -15
  21. package/package.json +14 -16
  22. package/assets/sass/sidemenu.css +0 -205
  23. package/esm2022/index.mjs +0 -2
  24. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -34
  25. package/esm2022/lib/components/breadcrumb/index.mjs +0 -2
  26. package/esm2022/lib/components/button/button.component.mjs +0 -87
  27. package/esm2022/lib/components/button/index.mjs +0 -2
  28. package/esm2022/lib/components/calendar/calendar.component.mjs +0 -87
  29. package/esm2022/lib/components/calendar/index.mjs +0 -2
  30. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -62
  31. package/esm2022/lib/components/checkbox/index.mjs +0 -2
  32. package/esm2022/lib/components/confirm-dialog/confirm-dialog.component.mjs +0 -72
  33. package/esm2022/lib/components/confirm-dialog/index.mjs +0 -2
  34. package/esm2022/lib/components/dropdown/dropdown-item.component.mjs +0 -14
  35. package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -280
  36. package/esm2022/lib/components/dropdown/dropdown.model.mjs +0 -2
  37. package/esm2022/lib/components/dropdown/index.mjs +0 -2
  38. package/esm2022/lib/components/errors/error.component.mjs +0 -34
  39. package/esm2022/lib/components/errors/index.mjs +0 -2
  40. package/esm2022/lib/components/form-field/form-field.component.mjs +0 -92
  41. package/esm2022/lib/components/form-field/index.mjs +0 -2
  42. package/esm2022/lib/components/header/header.component.mjs +0 -85
  43. package/esm2022/lib/components/header/index.mjs +0 -2
  44. package/esm2022/lib/components/index.mjs +0 -34
  45. package/esm2022/lib/components/input-group/index.mjs +0 -2
  46. package/esm2022/lib/components/input-group/input-group.component.mjs +0 -89
  47. package/esm2022/lib/components/loader/index.mjs +0 -2
  48. package/esm2022/lib/components/loader/loader.component.mjs +0 -34
  49. package/esm2022/lib/components/multiselect/index.mjs +0 -2
  50. package/esm2022/lib/components/multiselect/multiselect.component.mjs +0 -121
  51. package/esm2022/lib/components/number-input/index.mjs +0 -2
  52. package/esm2022/lib/components/number-input/number-input.component.mjs +0 -104
  53. package/esm2022/lib/components/page-header/index.mjs +0 -2
  54. package/esm2022/lib/components/page-header/page-header.component.mjs +0 -28
  55. package/esm2022/lib/components/password/index.mjs +0 -2
  56. package/esm2022/lib/components/password/password.component.mjs +0 -94
  57. package/esm2022/lib/components/radiobutton/index.mjs +0 -2
  58. package/esm2022/lib/components/radiobutton/radiobutton.component.mjs +0 -50
  59. package/esm2022/lib/components/search/index.mjs +0 -2
  60. package/esm2022/lib/components/search/search.component.mjs +0 -40
  61. package/esm2022/lib/components/section/index.mjs +0 -2
  62. package/esm2022/lib/components/section/section.component.mjs +0 -70
  63. package/esm2022/lib/components/shared-components/action-button-group/action-button-group.component.mjs +0 -97
  64. package/esm2022/lib/components/shared-components/action-button-group/components/action-button/action-button.component.mjs +0 -64
  65. package/esm2022/lib/components/shared-components/action-button-group/index.mjs +0 -3
  66. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.mjs +0 -91
  67. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component.component.mjs +0 -42
  68. package/esm2022/lib/components/shared-components/dynamic-component/index.mjs +0 -3
  69. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-column.directive.mjs +0 -43
  70. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.mjs +0 -16
  71. package/esm2022/lib/components/shared-components/feature-list/feature-list-filter.pipe.mjs +0 -24
  72. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.component.mjs +0 -43
  73. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.model.mjs +0 -16
  74. package/esm2022/lib/components/shared-components/feature-list/feature-list.component.mjs +0 -285
  75. package/esm2022/lib/components/shared-components/feature-list/index.mjs +0 -6
  76. package/esm2022/lib/components/shared-components/filter/directives/filter-field.directive.mjs +0 -53
  77. package/esm2022/lib/components/shared-components/filter/filter.component.mjs +0 -195
  78. package/esm2022/lib/components/shared-components/filter/filter.model.mjs +0 -16
  79. package/esm2022/lib/components/shared-components/filter/index.mjs +0 -3
  80. package/esm2022/lib/components/shared-components/generic-field/generic-field.component.mjs +0 -98
  81. package/esm2022/lib/components/shared-components/generic-field/index.mjs +0 -2
  82. package/esm2022/lib/components/shared-components/generic-form/generic-form.component.mjs +0 -46
  83. package/esm2022/lib/components/shared-components/generic-form/generic-form.model.mjs +0 -50
  84. package/esm2022/lib/components/shared-components/generic-form/index.mjs +0 -3
  85. package/esm2022/lib/components/shared-components/index.mjs +0 -7
  86. package/esm2022/lib/components/side-menu/index.mjs +0 -3
  87. package/esm2022/lib/components/side-menu/side-menu.component.mjs +0 -48
  88. package/esm2022/lib/components/side-menu/side-menu.module.mjs +0 -59
  89. package/esm2022/lib/components/snackbar/index.mjs +0 -3
  90. package/esm2022/lib/components/snackbar/services/snackbar.service.mjs +0 -75
  91. package/esm2022/lib/components/snackbar/snackbar.component.mjs +0 -61
  92. package/esm2022/lib/components/snackbar/snackbar.model.mjs +0 -2
  93. package/esm2022/lib/components/stepper/index.mjs +0 -2
  94. package/esm2022/lib/components/stepper/stepper.component.mjs +0 -66
  95. package/esm2022/lib/components/switch/index.mjs +0 -2
  96. package/esm2022/lib/components/switch/switch.component.mjs +0 -45
  97. package/esm2022/lib/components/tab-view/index.mjs +0 -4
  98. package/esm2022/lib/components/tab-view/tab-view-item.component.mjs +0 -41
  99. package/esm2022/lib/components/tab-view/tab-view.component.mjs +0 -56
  100. package/esm2022/lib/components/tab-view/tab-view.module.mjs +0 -41
  101. package/esm2022/lib/components/table/index.mjs +0 -2
  102. package/esm2022/lib/components/table/table-pagination-info.component.mjs +0 -32
  103. package/esm2022/lib/components/table/table.component.mjs +0 -359
  104. package/esm2022/lib/components/table/table.model.mjs +0 -14
  105. package/esm2022/lib/components/textarea/index.mjs +0 -2
  106. package/esm2022/lib/components/textarea/textarea.component.mjs +0 -95
  107. package/esm2022/lib/components/textfield/index.mjs +0 -2
  108. package/esm2022/lib/components/textfield/textfield.component.mjs +0 -124
  109. package/esm2022/lib/components/tooltip/index.mjs +0 -2
  110. package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -66
  111. package/esm2022/lib/components/tristatecheckbox/index.mjs +0 -2
  112. package/esm2022/lib/components/tristatecheckbox/tristatecheckbox.component.mjs +0 -89
  113. package/esm2022/lib/icons.mjs +0 -35
  114. package/esm2022/lib/index.mjs +0 -6
  115. package/esm2022/lib/init.service.mjs +0 -17
  116. package/esm2022/lib/pages/index.mjs +0 -4
  117. package/esm2022/lib/pages/not-authenticated/index.mjs +0 -2
  118. package/esm2022/lib/pages/not-authenticated/not-authenticated.component.mjs +0 -17
  119. package/esm2022/lib/pages/not-authorized/index.mjs +0 -2
  120. package/esm2022/lib/pages/not-authorized/not-authorized.component.mjs +0 -20
  121. package/esm2022/lib/pages/not-found/index.mjs +0 -2
  122. package/esm2022/lib/pages/not-found/not-found.component.mjs +0 -20
  123. package/esm2022/lib/pipes/color/color.pipe.mjs +0 -27
  124. package/esm2022/lib/pipes/index.mjs +0 -4
  125. package/esm2022/lib/pipes/multiselect/multiselect-options.pipe.mjs +0 -52
  126. package/esm2022/lib/pipes/size/size.pipe.mjs +0 -23
  127. package/esm2022/verisoft-ui-govcz.mjs +0 -5
  128. package/lib/components/tab-view/tab-view.module.d.ts +0 -12
  129. package/lib/components/tristatecheckbox/index.d.ts +0 -1
  130. package/lib/components/tristatecheckbox/tristatecheckbox.component.d.ts +0 -27
@@ -1,285 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, inject, Input, Output, QueryList, ViewChild, } from '@angular/core';
3
- import { BASE_URL_PATH, BaseHttpService, convertDatasource, DEFAULT_PAGE_SIZE, } from '@verisoft/core';
4
- import { ColumnModel, DialogService, downloadFile, MAX_COLUMN_CHAR_COUNT, TableDatasourceDirective, TableFilterDirective, TableSelectionMode, } from '@verisoft/ui-core';
5
- import { take, switchMap, forkJoin, of } from 'rxjs';
6
- import { Icons } from '../../../icons';
7
- import { TableComponent } from '../../table';
8
- import { ActionButtonComponent, ActionButtonGroupComponent, } from '../action-button-group';
9
- import { FilterComponent } from '../filter';
10
- import { FeatureListFilterFieldDirective } from './directives/feature-list-filter-field.directive';
11
- import { FeatureListFilterPipe } from './feature-list-filter.pipe';
12
- import { FEATURE_LIST_COLUMN_PROVIDER, } from './feature-list-page.model';
13
- import * as i0 from "@angular/core";
14
- export class FeatureListComponent {
15
- viewColumns;
16
- fieldDeclarations;
17
- tableDatasourceDirective;
18
- autoBind = true;
19
- title;
20
- columns;
21
- filters;
22
- maxVisibleActions = 2;
23
- tableName;
24
- ngrxFeatureKey;
25
- maxVisibleMobileActions = 0;
26
- showExtendedFilter = false;
27
- showDownload = false;
28
- showDelete = false;
29
- showAdd = false;
30
- canDownload = true;
31
- canDelete = true;
32
- canAdd = true;
33
- useRouterFilter = true;
34
- fulltextFieldName = 'searchField';
35
- showFulltext = true;
36
- deleteConfirmMessage;
37
- autoDeleteEnabled = true;
38
- autoDownloadEnabled = true;
39
- downloadFileName = 'export.csv';
40
- datasource;
41
- extraFilter;
42
- disableCustomClicks = false;
43
- maximumColumnLength = MAX_COLUMN_CHAR_COUNT;
44
- addClick = new EventEmitter();
45
- downloadClick = new EventEmitter();
46
- deleteClick = new EventEmitter();
47
- selectionChange = new EventEmitter();
48
- set selectionMode(mode) {
49
- this._selectionMode = mode;
50
- }
51
- get selectionMode() {
52
- return this.canDelete
53
- ? TableSelectionMode.single
54
- : this._selectionMode;
55
- }
56
- icons = Icons;
57
- httpClient = inject(HttpClient);
58
- baseUrl = inject(BASE_URL_PATH);
59
- _selectionMode;
60
- cdRef = inject(ChangeDetectorRef);
61
- dialogService = inject(DialogService);
62
- selection = [];
63
- ngAfterViewInit() {
64
- if (this.viewColumns?.length) {
65
- const vewColumns = this.viewColumns
66
- ?.toArray()
67
- .map((x) => x.getDefinition());
68
- this.columns = [...(this.columns ?? []), ...(vewColumns ?? [])];
69
- this.cdRef.detectChanges();
70
- }
71
- if (this.fieldDeclarations?.length) {
72
- this.filters = this.fieldDeclarations?.toArray();
73
- }
74
- this.cdRef.detectChanges();
75
- }
76
- selectItems(items) {
77
- this.selection = items ?? [];
78
- if (this.selectionMode !== undefined) {
79
- this.selectionChange.emit(this.selectionMode === 'multiple'
80
- ? this.selection
81
- : this.selection[0]);
82
- }
83
- }
84
- startDeleteItems() {
85
- if (!this.selection.length) {
86
- return;
87
- }
88
- if (this.deleteConfirmMessage) {
89
- const message = this.deleteConfirmMessage;
90
- this.dialogService.showDialog({
91
- innerHTML: message,
92
- confirmButtonFn: () => this.deleteItems(this.selection),
93
- });
94
- }
95
- else {
96
- this.deleteItems(this.selection);
97
- }
98
- }
99
- startDownload() {
100
- this.downloadClick.emit();
101
- if (!this.autoDownloadEnabled) {
102
- return;
103
- }
104
- const dowloadFn = this.createDownloadFn(this.datasource);
105
- if (dowloadFn) {
106
- this.tableDatasourceDirective.params$
107
- .pipe(take(1), switchMap((params) => dowloadFn(params)))
108
- .subscribe((blob) => {
109
- downloadFile(this.downloadFileName, blob);
110
- });
111
- }
112
- }
113
- deleteItems(items) {
114
- if (!this.autoDeleteEnabled) {
115
- this.deleteClick.emit(items);
116
- }
117
- else {
118
- this.forceDelete(items);
119
- }
120
- }
121
- forceDelete(items) {
122
- const deleteFn = this.createDeleteFn(this.datasource);
123
- if (deleteFn) {
124
- const deleteMethods = items.map((x) => deleteFn(x));
125
- forkJoin(deleteMethods)
126
- .pipe(take(1))
127
- .subscribe(() => this.finishDeletion(items));
128
- }
129
- else {
130
- this.finishDeletion(items);
131
- }
132
- }
133
- createDeleteFn(datasource) {
134
- if (!datasource) {
135
- return undefined;
136
- }
137
- if (typeof datasource === 'string') {
138
- const service = new BaseHttpService(this.httpClient, this.baseUrl, datasource);
139
- return (item) => service.delete(item.id);
140
- }
141
- if (datasource instanceof BaseHttpService) {
142
- return (item) => datasource.delete(item.id);
143
- }
144
- return undefined;
145
- }
146
- createDownloadFn(datasource) {
147
- if (!datasource) {
148
- return undefined;
149
- }
150
- if (typeof datasource === 'string') {
151
- const service = new BaseHttpService(this.httpClient, this.baseUrl, datasource);
152
- return (request) => service.export(request);
153
- }
154
- if (datasource instanceof BaseHttpService) {
155
- return (request) => datasource.export(request);
156
- }
157
- const fetchFunction = convertDatasource(datasource, this.baseUrl, this.httpClient);
158
- return (request) => {
159
- const allData = [];
160
- let offset = 0;
161
- const fetchAllData = () => {
162
- return fetchFunction({
163
- ...request,
164
- offset,
165
- limit: DEFAULT_PAGE_SIZE,
166
- }).pipe(take(1), switchMap((response) => {
167
- allData.push(...response.data);
168
- if (allData.length < response.total) {
169
- offset = offset + DEFAULT_PAGE_SIZE;
170
- return fetchAllData();
171
- }
172
- else {
173
- return of(this.convertToBlob(allData));
174
- }
175
- }));
176
- };
177
- return fetchAllData();
178
- };
179
- }
180
- finishDeletion(items) {
181
- if (this.datasource && Array.isArray(this.datasource)) {
182
- this.datasource = this.datasource.filter((x) => !items.includes(x));
183
- }
184
- else {
185
- this.tableDatasourceDirective.reload();
186
- }
187
- this.deleteClick.emit(items);
188
- }
189
- convertToBlob(data) {
190
- const columnModel = this.columns.map((x) => new ColumnModel(x));
191
- const headers = columnModel.map((x, index) => x.headerGetter(x.id, index));
192
- const dataValues = data.map((row, rowIndex) => columnModel.map((column) => column.valueGetter(row, rowIndex)));
193
- const csvData = [headers, ...dataValues]
194
- .map((row) => row.join(','))
195
- .join('\n');
196
- return new Blob([csvData], { type: 'text/csv' });
197
- }
198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
199
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: FeatureListComponent, isStandalone: true, selector: "v-feature-list", inputs: { autoBind: "autoBind", title: "title", columns: "columns", filters: "filters", maxVisibleActions: "maxVisibleActions", tableName: "tableName", ngrxFeatureKey: "ngrxFeatureKey", maxVisibleMobileActions: "maxVisibleMobileActions", showExtendedFilter: "showExtendedFilter", showDownload: "showDownload", showDelete: "showDelete", showAdd: "showAdd", canDownload: "canDownload", canDelete: "canDelete", canAdd: "canAdd", useRouterFilter: "useRouterFilter", fulltextFieldName: "fulltextFieldName", showFulltext: "showFulltext", deleteConfirmMessage: "deleteConfirmMessage", autoDeleteEnabled: "autoDeleteEnabled", autoDownloadEnabled: "autoDownloadEnabled", downloadFileName: "downloadFileName", datasource: "datasource", extraFilter: "extraFilter", disableCustomClicks: "disableCustomClicks", maximumColumnLength: "maximumColumnLength", selectionMode: "selectionMode" }, outputs: { addClick: "addClick", downloadClick: "downloadClick", deleteClick: "deleteClick", selectionChange: "selectionChange" }, queries: [{ propertyName: "viewColumns", predicate: FEATURE_LIST_COLUMN_PROVIDER }, { propertyName: "fieldDeclarations", predicate: FeatureListFilterFieldDirective }], viewQueries: [{ propertyName: "tableDatasourceDirective", first: true, predicate: TableDatasourceDirective, descendants: true }], ngImport: i0, template: "<div class=\"feature-list__container full-height-container\">\n <v-filter\n #filter\n [title]=\"title\"\n [fields]=\"columns | featureListColumn\"\n [filters]=\"filters\"\n [fulltextFieldName]=\"fulltextFieldName\"\n [showFulltext]=\"showFulltext\"\n [showFilters]=\"showExtendedFilter\"\n >\n <v-action-button-group\n [maxItems]=\"maxVisibleActions\"\n [maxItemsMobile]=\"maxVisibleMobileActions\"\n >\n @if (showAdd) {\n <v-action-button\n [icon]=\"icons.add\"\n label=\"Add\"\n [disabled]=\"!canAdd\"\n (click)=\"addClick.emit()\"\n ></v-action-button>\n } @if (showDelete){\n <v-action-button\n [icon]=\"icons.delete\"\n label=\"Delete\"\n [disabled]=\"!canDelete || !selection.length\"\n (click)=\"startDeleteItems()\"\n ></v-action-button>\n } @if (showDownload){\n <v-action-button\n [icon]=\"icons.download\"\n label=\"Download\"\n [disabled]=\"!canDownload\"\n (click)=\"startDownload()\"\n ></v-action-button>\n }\n </v-action-button-group>\n </v-filter>\n <div class=\"feature-list__table-container full-height-container\">\n <div class=\"full-height-container\">\n <v-table\n useDatasource\n useFilter\n [filterComponent]=\"filter\"\n class=\"full-height-container\"\n [selectionMode]=\"selectionMode\"\n [tableName]=\"tableName\"\n [autoBind]=\"true\"\n [datasource]=\"datasource\"\n [columns]=\"columns\"\n [extraFilter]=\"extraFilter\"\n [maximumColumnLength]=\"maximumColumnLength\"\n [disableCustomClicks]=\"disableCustomClicks\"\n (selectionChange)=\"selectItems($event)\"\n >\n </v-table>\n </div>\n </div>\n</div>\n", styles: [".full-height-container,:host{display:flex;flex-direction:column;flex-grow:1;height:100%}\n"], dependencies: [{ kind: "component", type: TableComponent, selector: "v-table", inputs: ["sorters", "data", "total", "filter", "extraFilter", "loading", "scrollable", "pageSize", "currentPage", "showPaginator", "userTableWrapper", "sortMultiple", "lazy", "selectionMode", "selection", "showPageSizePicker", "entityKey", "customRoute", "disableCustomClicks", "tableName", "size", "showActionButtons", "maximumColumnLength", "columns"], outputs: ["selectionChange", "lazyLoad", "download", "delete", "save"] }, { kind: "directive", type: TableDatasourceDirective, selector: "v-table[useDatasource]", inputs: ["autoBind", "tableName", "debounceTime", "datasource", "extraFilter", "transformFn"], exportAs: ["useDatasource"] }, { kind: "component", type: FilterComponent, selector: "v-filter", inputs: ["fields", "filters", "title", "fulltextFieldName", "showFulltext", "showFilters", "autoBind", "debounceTime"] }, { kind: "directive", type: TableFilterDirective, selector: "v-table[useFilter]", inputs: ["filterComponent"], exportAs: ["tableFilterDirective"] }, { kind: "component", type: ActionButtonGroupComponent, selector: "v-action-button-group", inputs: ["maxItems", "maxItemsMobile", "items", "menuIconPos", "menuIcon", "label", "icon"] }, { kind: "component", type: ActionButtonComponent, selector: "v-action-button", inputs: ["disabled", "toolTip", "id", "icon", "outlined", "raised", "severity", "label", "size"], outputs: ["click"] }, { kind: "pipe", type: FeatureListFilterPipe, name: "featureListColumn" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
200
- }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListComponent, decorators: [{
202
- type: Component,
203
- args: [{ selector: 'v-feature-list', imports: [
204
- TableComponent,
205
- TableDatasourceDirective,
206
- FilterComponent,
207
- TableFilterDirective,
208
- ActionButtonGroupComponent,
209
- ActionButtonComponent,
210
- FeatureListFilterPipe,
211
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"feature-list__container full-height-container\">\n <v-filter\n #filter\n [title]=\"title\"\n [fields]=\"columns | featureListColumn\"\n [filters]=\"filters\"\n [fulltextFieldName]=\"fulltextFieldName\"\n [showFulltext]=\"showFulltext\"\n [showFilters]=\"showExtendedFilter\"\n >\n <v-action-button-group\n [maxItems]=\"maxVisibleActions\"\n [maxItemsMobile]=\"maxVisibleMobileActions\"\n >\n @if (showAdd) {\n <v-action-button\n [icon]=\"icons.add\"\n label=\"Add\"\n [disabled]=\"!canAdd\"\n (click)=\"addClick.emit()\"\n ></v-action-button>\n } @if (showDelete){\n <v-action-button\n [icon]=\"icons.delete\"\n label=\"Delete\"\n [disabled]=\"!canDelete || !selection.length\"\n (click)=\"startDeleteItems()\"\n ></v-action-button>\n } @if (showDownload){\n <v-action-button\n [icon]=\"icons.download\"\n label=\"Download\"\n [disabled]=\"!canDownload\"\n (click)=\"startDownload()\"\n ></v-action-button>\n }\n </v-action-button-group>\n </v-filter>\n <div class=\"feature-list__table-container full-height-container\">\n <div class=\"full-height-container\">\n <v-table\n useDatasource\n useFilter\n [filterComponent]=\"filter\"\n class=\"full-height-container\"\n [selectionMode]=\"selectionMode\"\n [tableName]=\"tableName\"\n [autoBind]=\"true\"\n [datasource]=\"datasource\"\n [columns]=\"columns\"\n [extraFilter]=\"extraFilter\"\n [maximumColumnLength]=\"maximumColumnLength\"\n [disableCustomClicks]=\"disableCustomClicks\"\n (selectionChange)=\"selectItems($event)\"\n >\n </v-table>\n </div>\n </div>\n</div>\n", styles: [".full-height-container,:host{display:flex;flex-direction:column;flex-grow:1;height:100%}\n"] }]
212
- }], propDecorators: { viewColumns: [{
213
- type: ContentChildren,
214
- args: [FEATURE_LIST_COLUMN_PROVIDER]
215
- }], fieldDeclarations: [{
216
- type: ContentChildren,
217
- args: [FeatureListFilterFieldDirective]
218
- }], tableDatasourceDirective: [{
219
- type: ViewChild,
220
- args: [TableDatasourceDirective]
221
- }], autoBind: [{
222
- type: Input
223
- }], title: [{
224
- type: Input
225
- }], columns: [{
226
- type: Input
227
- }], filters: [{
228
- type: Input
229
- }], maxVisibleActions: [{
230
- type: Input
231
- }], tableName: [{
232
- type: Input,
233
- args: [{ required: true }]
234
- }], ngrxFeatureKey: [{
235
- type: Input
236
- }], maxVisibleMobileActions: [{
237
- type: Input
238
- }], showExtendedFilter: [{
239
- type: Input
240
- }], showDownload: [{
241
- type: Input
242
- }], showDelete: [{
243
- type: Input
244
- }], showAdd: [{
245
- type: Input
246
- }], canDownload: [{
247
- type: Input
248
- }], canDelete: [{
249
- type: Input
250
- }], canAdd: [{
251
- type: Input
252
- }], useRouterFilter: [{
253
- type: Input
254
- }], fulltextFieldName: [{
255
- type: Input
256
- }], showFulltext: [{
257
- type: Input
258
- }], deleteConfirmMessage: [{
259
- type: Input
260
- }], autoDeleteEnabled: [{
261
- type: Input
262
- }], autoDownloadEnabled: [{
263
- type: Input
264
- }], downloadFileName: [{
265
- type: Input
266
- }], datasource: [{
267
- type: Input
268
- }], extraFilter: [{
269
- type: Input
270
- }], disableCustomClicks: [{
271
- type: Input
272
- }], maximumColumnLength: [{
273
- type: Input
274
- }], addClick: [{
275
- type: Output
276
- }], downloadClick: [{
277
- type: Output
278
- }], deleteClick: [{
279
- type: Output
280
- }], selectionChange: [{
281
- type: Output
282
- }], selectionMode: [{
283
- type: Input
284
- }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mZWF0dXJlLWxpc3QvZmVhdHVyZS1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mZWF0dXJlLWxpc3QvZmVhdHVyZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGlCQUFpQixFQUVqQixpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBRVoscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsa0JBQWtCLEdBRW5CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQ0wscUJBQXFCLEVB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QUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFFRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFFTSxhQUFhO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBbGxEYXRhUmVxdWVzdFBhcmFtcyxcbiAgQkFTRV9VUkxfUEFUSCxcbiAgQmFzZUh0dHBTZXJ2aWNlLFxuICBjb252ZXJ0RGF0YXNvdXJjZSxcbiAgRGF0YXNvdXJjZVR5cGUsXG4gIERFRkFVTFRfUEFHRV9TSVpFLFxufSBmcm9tICdAdmVyaXNvZnQvY29yZSc7XG5pbXBvcnQge1xuICBDb2x1bW5Nb2RlbCxcbiAgRGlhbG9nU2VydmljZSxcbiAgZG93bmxvYWRGaWxlLFxuICBHZW5lcmljRmllbGREZWZpbml0aW9uLFxuICBNQVhfQ09MVU1OX0NIQVJfQ09VTlQsXG4gIFRhYmxlRGF0YXNvdXJjZURpcmVjdGl2ZSxcbiAgVGFibGVGaWx0ZXJEaXJlY3RpdmUsXG4gIFRhYmxlU2VsZWN0aW9uTW9kZSxcbiAgVGFibGVTZWxlY3Rpb25Nb2RlVHlwZSxcbn0gZnJvbSAnQHZlcmlzb2Z0L3VpLWNvcmUnO1xuaW1wb3J0IHsgdGFrZSwgc3dpdGNoTWFwLCBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vaWNvbnMnO1xuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi90YWJsZSc7XG5pbXBvcnQge1xuICBBY3Rpb25CdXR0b25Db21wb25lbnQsXG4gIEFjdGlvbkJ1dHRvbkdyb3VwQ29tcG9uZW50LFxufSBmcm9tICcuLi9hY3Rpb24tYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcic7XG5pbXBvcnQgeyBGZWF0dXJlTGlzdEZpbHRlckZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZlYXR1cmUtbGlzdC1maWx0ZXItZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZlYXR1cmVMaXN0RmlsdGVyUGlwZSB9IGZyb20gJy4vZmVhdHVyZS1saXN0LWZpbHRlci5waXBlJztcbmltcG9ydCB7XG4gIEZFQVRVUkVfTElTVF9DT0xVTU5fUFJPVklERVIsXG4gIEZlYXR1cmVMaXN0Q29sdW1uRGVmaW5pdGlvbixcbiAgRmVhdHVyZUxpc3RDb2x1bW5Qcm92aWRlcixcbn0gZnJvbSAnLi9mZWF0dXJlLWxpc3QtcGFnZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3YtZmVhdHVyZS1saXN0JyxcbiAgaW1wb3J0czogW1xuICAgIFRhYmxlQ29tcG9uZW50LFxuICAgIFRhYmxlRGF0YXNvdXJjZURpcmVjdGl2ZSxcbiAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgVGFibGVGaWx0ZXJEaXJlY3RpdmUsXG4gICAgQWN0aW9uQnV0dG9uR3JvdXBDb21wb25lbnQsXG4gICAgQWN0aW9uQnV0dG9uQ29tcG9uZW50LFxuICAgIEZlYXR1cmVMaXN0RmlsdGVyUGlwZSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZlYXR1cmUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZlYXR1cmUtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmVhdHVyZUxpc3RDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQENvbnRlbnRDaGlsZHJlbihGRUFUVVJFX0xJU1RfQ09MVU1OX1BST1ZJREVSKSB2aWV3Q29sdW1ucyE6IFF1ZXJ5TGlzdDxcbiAgICBGZWF0dXJlTGlzdENvbHVtblByb3ZpZGVyPFQ+XG4gID47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGZWF0dXJlTGlzdEZpbHRlckZpZWxkRGlyZWN0aXZlKVxuICBmaWVsZERlY2xhcmF0aW9ucyE6IFF1ZXJ5TGlzdDxGZWF0dXJlTGlzdEZpbHRlckZpZWxkRGlyZWN0aXZlPjtcblxuICBAVmlld0NoaWxkKFRhYmxlRGF0YXNvdXJjZURpcmVjdGl2ZSlcbiAgdGFibGVEYXRhc291cmNlRGlyZWN0aXZlITogVGFibGVEYXRhc291cmNlRGlyZWN0aXZlPFQ+O1xuXG4gIEBJbnB1dCgpIGF1dG9CaW5kID0gdHJ1ZTtcblxuICBASW5wdXQoKSB0aXRsZSE6IHN0cmluZztcblxuICBASW5wdXQoKSBjb2x1bW5zITogRmVhdHVyZUxpc3RDb2x1bW5EZWZpbml0aW9uPFQ+W107XG5cbiAgQElucHV0KCkgZmlsdGVycyE6IEdlbmVyaWNGaWVsZERlZmluaXRpb25bXTtcblxuICBASW5wdXQoKSBtYXhWaXNpYmxlQWN0aW9ucyA9IDI7XG5cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdGFibGVOYW1lITogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIG5ncnhGZWF0dXJlS2V5Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIG1heFZpc2libGVNb2JpbGVBY3Rpb25zID0gMDtcblxuICBASW5wdXQoKSBzaG93RXh0ZW5kZWRGaWx0ZXIgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzaG93RG93bmxvYWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzaG93RGVsZXRlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2hvd0FkZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGNhbkRvd25sb2FkID0gdHJ1ZTtcblxuICBASW5wdXQoKSBjYW5EZWxldGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGNhbkFkZCA9IHRydWU7XG5cbiAgQElucHV0KCkgdXNlUm91dGVyRmlsdGVyID0gdHJ1ZTtcblxuICBASW5wdXQoKSBmdWxsdGV4dEZpZWxkTmFtZSA9ICdzZWFyY2hGaWVsZCc7XG5cbiAgQElucHV0KCkgc2hvd0Z1bGx0ZXh0ID0gdHJ1ZTtcblxuICBASW5wdXQoKSBkZWxldGVDb25maXJtTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIGF1dG9EZWxldGVFbmFibGVkID0gdHJ1ZTtcblxuICBASW5wdXQoKSBhdXRvRG93bmxvYWRFbmFibGVkID0gdHJ1ZTtcblxuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lID0gJ2V4cG9ydC5jc3YnO1xuXG4gIEBJbnB1dCgpIGRhdGFzb3VyY2UhOiBEYXRhc291cmNlVHlwZTxUPjtcblxuICBASW5wdXQoKSBleHRyYUZpbHRlciE6IGFueTtcblxuICBASW5wdXQoKSBkaXNhYmxlQ3VzdG9tQ2xpY2tzID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbWF4aW11bUNvbHVtbkxlbmd0aCA9IE1BWF9DT0xVTU5fQ0hBUl9DT1VOVDtcblxuICBAT3V0cHV0KCkgYWRkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIGRvd25sb2FkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpIGRlbGV0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBzZXQgc2VsZWN0aW9uTW9kZShtb2RlOiBUYWJsZVNlbGVjdGlvbk1vZGVUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fc2VsZWN0aW9uTW9kZSA9IG1vZGU7XG4gIH1cblxuICBnZXQgc2VsZWN0aW9uTW9kZSgpOiBUYWJsZVNlbGVjdGlvbk1vZGVUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYW5EZWxldGVcbiAgICAgID8gVGFibGVTZWxlY3Rpb25Nb2RlLnNpbmdsZVxuICAgICAgOiB0aGlzLl9zZWxlY3Rpb25Nb2RlO1xuICB9XG5cbiAgaWNvbnMgPSBJY29ucztcblxuICBwcml2YXRlIGh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmcgPSBpbmplY3QoQkFTRV9VUkxfUEFUSCk7XG5cbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZTogVGFibGVTZWxlY3Rpb25Nb2RlVHlwZSB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGNkUmVmID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XG5cbiAgc2VsZWN0aW9uOiBUW10gPSBbXTtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudmlld0NvbHVtbnM/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgdmV3Q29sdW1ucyA9IHRoaXMudmlld0NvbHVtbnNcbiAgICAgICAgPy50b0FycmF5KClcbiAgICAgICAgLm1hcCgoeCkgPT4geC5nZXREZWZpbml0aW9uKCkpO1xuICAgICAgdGhpcy5jb2x1bW5zID0gWy4uLih0aGlzLmNvbHVtbnMgPz8gW10pLCAuLi4odmV3Q29sdW1ucyA/PyBbXSldO1xuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZmllbGREZWNsYXJhdGlvbnM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5maWx0ZXJzID0gdGhpcy5maWVsZERlY2xhcmF0aW9ucz8udG9BcnJheSgpO1xuICAgIH1cblxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc2VsZWN0SXRlbXMoaXRlbXM6IFRbXSkge1xuICAgIHRoaXMuc2VsZWN0aW9uID0gaXRlbXMgPz8gW107XG5cbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZSA9PT0gJ211bHRpcGxlJ1xuICAgICAgICAgID8gdGhpcy5zZWxlY3Rpb25cbiAgICAgICAgICA6IHRoaXMuc2VsZWN0aW9uWzBdXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHN0YXJ0RGVsZXRlSXRlbXMoKSB7XG4gICAgaWYgKCF0aGlzLnNlbGVjdGlvbi5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5kZWxldGVDb25maXJtTWVzc2FnZSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuZGVsZXRlQ29uZmlybU1lc3NhZ2U7XG4gICAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0RpYWxvZyh7XG4gICAgICAgIGlubmVySFRNTDogbWVzc2FnZSxcbiAgICAgICAgY29uZmlybUJ1dHRvbkZuOiAoKSA9PiB0aGlzLmRlbGV0ZUl0ZW1zKHRoaXMuc2VsZWN0aW9uKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZUl0ZW1zKHRoaXMuc2VsZWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBzdGFydERvd25sb2FkKCkge1xuICAgIHRoaXMuZG93bmxvYWRDbGljay5lbWl0KCk7XG4gICAgaWYgKCF0aGlzLmF1dG9Eb3dubG9hZEVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkb3dsb2FkRm4gPSB0aGlzLmNyZWF0ZURvd25sb2FkRm4odGhpcy5kYXRhc291cmNlKTtcbiAgICBpZiAoZG93bG9hZEZuKSB7XG4gICAgICB0aGlzLnRhYmxlRGF0YXNvdXJjZURpcmVjdGl2ZS5wYXJhbXMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgc3dpdGNoTWFwKChwYXJhbXMpID0+IGRvd2xvYWRGbihwYXJhbXMpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGJsb2IpID0+IHtcbiAgICAgICAgICBkb3dubG9hZEZpbGUodGhpcy5kb3dubG9hZEZpbGVOYW1lLCBibG9iKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVJdGVtcyhpdGVtczogVFtdKSB7XG4gICAgaWYgKCF0aGlzLmF1dG9EZWxldGVFbmFibGVkKSB7XG4gICAgICB0aGlzLmRlbGV0ZUNsaWNrLmVtaXQoaXRlbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcmNlRGVsZXRlKGl0ZW1zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcmNlRGVsZXRlKGl0ZW1zOiBUW10pIHtcbiAgICBjb25zdCBkZWxldGVGbiA9IHRoaXMuY3JlYXRlRGVsZXRlRm4odGhpcy5kYXRhc291cmNlKTtcbiAgICBpZiAoZGVsZXRlRm4pIHtcbiAgICAgIGNvbnN0IGRlbGV0ZU1ldGhvZHMgPSBpdGVtcy5tYXAoKHgpID0+IGRlbGV0ZUZuKHgpKTtcbiAgICAgIGZvcmtKb2luKGRlbGV0ZU1ldGhvZHMpXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5maW5pc2hEZWxldGlvbihpdGVtcykpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbmlzaERlbGV0aW9uKGl0ZW1zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURlbGV0ZUZuKFxuICAgIGRhdGFzb3VyY2U6IERhdGFzb3VyY2VUeXBlPFQ+XG4gICk6ICgoaXRlbTogVCkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPikgfCB1bmRlZmluZWQge1xuICAgIGlmICghZGF0YXNvdXJjZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGRhdGFzb3VyY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlID0gbmV3IEJhc2VIdHRwU2VydmljZTxUPihcbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LFxuICAgICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICAgIGRhdGFzb3VyY2VcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiAoaXRlbTogVCkgPT4gc2VydmljZS5kZWxldGUoKGl0ZW0gYXMgeyBpZDogc3RyaW5nIH0pLmlkKTtcbiAgICB9XG5cbiAgICBpZiAoZGF0YXNvdXJjZSBpbnN0YW5jZW9mIEJhc2VIdHRwU2VydmljZSkge1xuICAgICAgcmV0dXJuIChpdGVtOiBUKSA9PiBkYXRhc291cmNlLmRlbGV0ZSgoaXRlbSBhcyB7IGlkOiBzdHJpbmcgfSkuaWQpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvd25sb2FkRm4oXG4gICAgZGF0YXNvdXJjZTogRGF0YXNvdXJjZVR5cGU8VD5cbiAgKTogKChyZXF1ZXN0OiBBbGxEYXRhUmVxdWVzdFBhcmFtczxUPikgPT4gT2JzZXJ2YWJsZTxCbG9iPikgfCB1bmRlZmluZWQge1xuICAgIGlmICghZGF0YXNvdXJjZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGRhdGFzb3VyY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlID0gbmV3IEJhc2VIdHRwU2VydmljZTxUPihcbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LFxuICAgICAgICB0aGlzLmJhc2VVcmwsXG4gICAgICAgIGRhdGFzb3VyY2VcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiAocmVxdWVzdDogQWxsRGF0YVJlcXVlc3RQYXJhbXM8VD4pID0+IHNlcnZpY2UuZXhwb3J0KHJlcXVlc3QpO1xuICAgIH1cblxuICAgIGlmIChkYXRhc291cmNlIGluc3RhbmNlb2YgQmFzZUh0dHBTZXJ2aWNlKSB7XG4gICAgICByZXR1cm4gKHJlcXVlc3Q6IEFsbERhdGFSZXF1ZXN0UGFyYW1zPFQ+KSA9PiBkYXRhc291cmNlLmV4cG9ydChyZXF1ZXN0KTtcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEZ1bmN0aW9uID0gY29udmVydERhdGFzb3VyY2UoXG4gICAgICBkYXRhc291cmNlLFxuICAgICAgdGhpcy5iYXNlVXJsLFxuICAgICAgdGhpcy5odHRwQ2xpZW50XG4gICAgKTtcblxuICAgIHJldHVybiAocmVxdWVzdDogQWxsRGF0YVJlcXVlc3RQYXJhbXM8VD4pID0+IHtcbiAgICAgIGNvbnN0IGFsbERhdGE6IFRbXSA9IFtdO1xuICAgICAgbGV0IG9mZnNldCA9IDA7XG4gICAgICBjb25zdCBmZXRjaEFsbERhdGEgPSAoKTogT2JzZXJ2YWJsZTxCbG9iPiA9PiB7XG4gICAgICAgIHJldHVybiBmZXRjaEZ1bmN0aW9uKHtcbiAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgICBsaW1pdDogREVGQVVMVF9QQUdFX1NJWkUsXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBhbGxEYXRhLnB1c2goLi4ucmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgICBpZiAoYWxsRGF0YS5sZW5ndGggPCByZXNwb25zZS50b3RhbCkge1xuICAgICAgICAgICAgICBvZmZzZXQgPSBvZmZzZXQgKyBERUZBVUxUX1BBR0VfU0laRTtcbiAgICAgICAgICAgICAgcmV0dXJuIGZldGNoQWxsRGF0YSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMuY29udmVydFRvQmxvYihhbGxEYXRhKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBmZXRjaEFsbERhdGEoKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hEZWxldGlvbihpdGVtczogVFtdKSB7XG4gICAgaWYgKHRoaXMuZGF0YXNvdXJjZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuZGF0YXNvdXJjZSkpIHtcbiAgICAgIHRoaXMuZGF0YXNvdXJjZSA9IHRoaXMuZGF0YXNvdXJjZS5maWx0ZXIoKHgpID0+ICFpdGVtcy5pbmNsdWRlcyh4KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGFibGVEYXRhc291cmNlRGlyZWN0aXZlLnJlbG9hZCgpO1xuICAgIH1cblxuICAgIHRoaXMuZGVsZXRlQ2xpY2suZW1pdChpdGVtcyk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRUb0Jsb2IoZGF0YTogVFtdKTogQmxvYiB7XG4gICAgY29uc3QgY29sdW1uTW9kZWwgPSB0aGlzLmNvbHVtbnMubWFwKCh4KSA9PiBuZXcgQ29sdW1uTW9kZWwoeCkpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBjb2x1bW5Nb2RlbC5tYXAoKHgsIGluZGV4KSA9PiB4LmhlYWRlckdldHRlcih4LmlkLCBpbmRleCkpO1xuICAgIGNvbnN0IGRhdGFWYWx1ZXMgPSBkYXRhLm1hcCgocm93LCByb3dJbmRleCkgPT5cbiAgICAgIGNvbHVtbk1vZGVsLm1hcCgoY29sdW1uKSA9PiBjb2x1bW4udmFsdWVHZXR0ZXIocm93LCByb3dJbmRleCkpXG4gICAgKTtcbiAgICBjb25zdCBjc3ZEYXRhID0gW2hlYWRlcnMsIC4uLmRhdGFWYWx1ZXNdXG4gICAgICAubWFwKChyb3cpID0+IHJvdy5qb2luKCcsJykpXG4gICAgICAuam9pbignXFxuJyk7XG4gICAgcmV0dXJuIG5ldyBCbG9iKFtjc3ZEYXRhXSwgeyB0eXBlOiAndGV4dC9jc3YnIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmVhdHVyZS1saXN0X19jb250YWluZXIgZnVsbC1oZWlnaHQtY29udGFpbmVyXCI+XG4gIDx2LWZpbHRlclxuICAgICNmaWx0ZXJcbiAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgIFtmaWVsZHNdPVwiY29sdW1ucyB8IGZlYXR1cmVMaXN0Q29sdW1uXCJcbiAgICBbZmlsdGVyc109XCJmaWx0ZXJzXCJcbiAgICBbZnVsbHRleHRGaWVsZE5hbWVdPVwiZnVsbHRleHRGaWVsZE5hbWVcIlxuICAgIFtzaG93RnVsbHRleHRdPVwic2hvd0Z1bGx0ZXh0XCJcbiAgICBbc2hvd0ZpbHRlcnNdPVwic2hvd0V4dGVuZGVkRmlsdGVyXCJcbiAgPlxuICAgIDx2LWFjdGlvbi1idXR0b24tZ3JvdXBcbiAgICAgIFttYXhJdGVtc109XCJtYXhWaXNpYmxlQWN0aW9uc1wiXG4gICAgICBbbWF4SXRlbXNNb2JpbGVdPVwibWF4VmlzaWJsZU1vYmlsZUFjdGlvbnNcIlxuICAgID5cbiAgICAgIEBpZiAoc2hvd0FkZCkge1xuICAgICAgPHYtYWN0aW9uLWJ1dHRvblxuICAgICAgICBbaWNvbl09XCJpY29ucy5hZGRcIlxuICAgICAgICBsYWJlbD1cIkFkZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY2FuQWRkXCJcbiAgICAgICAgKGNsaWNrKT1cImFkZENsaWNrLmVtaXQoKVwiXG4gICAgICA+PC92LWFjdGlvbi1idXR0b24+XG4gICAgICB9IEBpZiAoc2hvd0RlbGV0ZSl7XG4gICAgICA8di1hY3Rpb24tYnV0dG9uXG4gICAgICAgIFtpY29uXT1cImljb25zLmRlbGV0ZVwiXG4gICAgICAgIGxhYmVsPVwiRGVsZXRlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFjYW5EZWxldGUgfHwgIXNlbGVjdGlvbi5sZW5ndGhcIlxuICAgICAgICAoY2xpY2spPVwic3RhcnREZWxldGVJdGVtcygpXCJcbiAgICAgID48L3YtYWN0aW9uLWJ1dHRvbj5cbiAgICAgIH0gQGlmIChzaG93RG93bmxvYWQpe1xuICAgICAgPHYtYWN0aW9uLWJ1dHRvblxuICAgICAgICBbaWNvbl09XCJpY29ucy5kb3dubG9hZFwiXG4gICAgICAgIGxhYmVsPVwiRG93bmxvYWRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNhbkRvd25sb2FkXCJcbiAgICAgICAgKGNsaWNrKT1cInN0YXJ0RG93bmxvYWQoKVwiXG4gICAgICA+PC92LWFjdGlvbi1idXR0b24+XG4gICAgICB9XG4gICAgPC92LWFjdGlvbi1idXR0b24tZ3JvdXA+XG4gIDwvdi1maWx0ZXI+XG4gIDxkaXYgY2xhc3M9XCJmZWF0dXJlLWxpc3RfX3RhYmxlLWNvbnRhaW5lciBmdWxsLWhlaWdodC1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZnVsbC1oZWlnaHQtY29udGFpbmVyXCI+XG4gICAgICA8di10YWJsZVxuICAgICAgICB1c2VEYXRhc291cmNlXG4gICAgICAgIHVzZUZpbHRlclxuICAgICAgICBbZmlsdGVyQ29tcG9uZW50XT1cImZpbHRlclwiXG4gICAgICAgIGNsYXNzPVwiZnVsbC1oZWlnaHQtY29udGFpbmVyXCJcbiAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgICAgIFt0YWJsZU5hbWVdPVwidGFibGVOYW1lXCJcbiAgICAgICAgW2F1dG9CaW5kXT1cInRydWVcIlxuICAgICAgICBbZGF0YXNvdXJjZV09XCJkYXRhc291cmNlXCJcbiAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gICAgICAgIFtleHRyYUZpbHRlcl09XCJleHRyYUZpbHRlclwiXG4gICAgICAgIFttYXhpbXVtQ29sdW1uTGVuZ3RoXT1cIm1heGltdW1Db2x1bW5MZW5ndGhcIlxuICAgICAgICBbZGlzYWJsZUN1c3RvbUNsaWNrc109XCJkaXNhYmxlQ3VzdG9tQ2xpY2tzXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RJdGVtcygkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvdi10YWJsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +0,0 @@
1
- export * from './feature-list.component';
2
- export * from './feature-list-page.model';
3
- export * from './directives/feature-list-column.directive';
4
- export * from './directives/feature-list-filter-field.directive';
5
- export * from './feature-list-filter.pipe';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1nb3Zjei9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZmVhdHVyZS1saXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGlzdC1wYWdlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9mZWF0dXJlLWxpc3QtY29sdW1uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZmVhdHVyZS1saXN0LWZpbHRlci1maWVsZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWxpc3QtZmlsdGVyLnBpcGUnO1xuIl19
@@ -1,53 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { GenericFieldType } from '@verisoft/ui-core';
3
- import * as i0 from "@angular/core";
4
- export class FilterFieldDirective {
5
- name;
6
- type = GenericFieldType.text;
7
- label;
8
- optionLabel;
9
- optionValue;
10
- options;
11
- value;
12
- validator;
13
- datasource;
14
- filterField;
15
- showFilter;
16
- localSearch;
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: FilterFieldDirective, isStandalone: true, selector: "v-filter-field", inputs: { name: "name", type: "type", label: "label", optionLabel: "optionLabel", optionValue: "optionValue", options: "options", value: "value", validator: "validator", datasource: "datasource", filterField: "filterField", showFilter: "showFilter", localSearch: "localSearch" }, ngImport: i0 });
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterFieldDirective, decorators: [{
21
- type: Directive,
22
- args: [{
23
- // eslint-disable-next-line @angular-eslint/directive-selector
24
- selector: 'v-filter-field',
25
- standalone: true,
26
- }]
27
- }], propDecorators: { name: [{
28
- type: Input,
29
- args: [{ required: true }]
30
- }], type: [{
31
- type: Input
32
- }], label: [{
33
- type: Input
34
- }], optionLabel: [{
35
- type: Input
36
- }], optionValue: [{
37
- type: Input
38
- }], options: [{
39
- type: Input
40
- }], value: [{
41
- type: Input
42
- }], validator: [{
43
- type: Input
44
- }], datasource: [{
45
- type: Input
46
- }], filterField: [{
47
- type: Input
48
- }], showFilter: [{
49
- type: Input
50
- }], localSearch: [{
51
- type: Input
52
- }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9maWx0ZXIvZGlyZWN0aXZlcy9maWx0ZXItZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBMEIsZ0JBQWdCLEVBQXdCLE1BQU0sbUJBQW1CLENBQUM7O0FBT25HLE1BQU0sT0FBTyxvQkFBb0I7SUFDSixJQUFJLENBQVU7SUFFaEMsSUFBSSxHQUFxQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFFL0QsS0FBSyxDQUFxQjtJQUUxQixXQUFXLENBQVU7SUFFckIsV0FBVyxDQUFxQjtJQUVoQyxPQUFPLENBQXdCO0lBRS9CLEtBQUssQ0FBVztJQUVoQixTQUFTLENBQWlCO0lBRTFCLFVBQVUsQ0FBa0M7SUFFNUMsV0FBVyxDQUFVO0lBRXJCLFVBQVUsQ0FBVztJQUVyQixXQUFXLENBQVc7dUdBdkJwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFFNEIsSUFBSTtzQkFBOUIsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBRWhCLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVR5cGUgfSBmcm9tICdAdmVyaXNvZnQvY29yZSc7XHJcbmltcG9ydCB7IEdlbmVyaWNGaWVsZERlZmluaXRpb24sIEdlbmVyaWNGaWVsZFR5cGUsIEdlbmVyaWNGaWVsZFR5cGVUeXBlIH0gZnJvbSAnQHZlcmlzb2Z0L3VpLWNvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3YtZmlsdGVyLWZpZWxkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBHZW5lcmljRmllbGREZWZpbml0aW9uIHtcclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBuYW1lITogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSB0eXBlOiBHZW5lcmljRmllbGRUeXBlVHlwZSB8IHVuZGVmaW5lZCA9IEdlbmVyaWNGaWVsZFR5cGUudGV4dDtcclxuXHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uTGFiZWwhOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIG9wdGlvblZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IHVua25vd25bXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgdmFsdWU/OiB1bmtub3duO1xyXG5cclxuICBASW5wdXQoKSB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbltdO1xyXG5cclxuICBASW5wdXQoKSBkYXRhc291cmNlOiBEYXRhc291cmNlVHlwZTxhbnk+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKSBmaWx0ZXJGaWVsZD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgc2hvd0ZpbHRlcj86IGJvb2xlYW47XHJcblxyXG4gIEBJbnB1dCgpIGxvY2FsU2VhcmNoPzogYm9vbGVhbjtcclxufVxyXG4iXX0=