@one-paragon/angular-utilities 0.1.31 → 0.1.32-beta.2

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 (231) hide show
  1. package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -12
  2. package/action-state/action-state-ui/action-state-ui.module.d.ts +9 -9
  3. package/action-state/index.d.ts +4 -4
  4. package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -8
  5. package/action-state/ngrx.d.ts +31 -31
  6. package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +23 -23
  7. package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +28 -28
  8. package/esm2020/action-state/index.mjs +8 -8
  9. package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -23
  10. package/esm2020/action-state/ngrx.mjs +42 -42
  11. package/esm2020/http-request-state/HttpRequestStateFactory.mjs +26 -26
  12. package/esm2020/http-request-state/HttpRequestStateStore.mjs +96 -96
  13. package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +33 -33
  14. package/esm2020/http-request-state/directives/http-error-state-directive.mjs +28 -28
  15. package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +28 -28
  16. package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +28 -28
  17. package/esm2020/http-request-state/directives/http-success-state-directive.mjs +33 -33
  18. package/esm2020/http-request-state/directives/index.mjs +5 -5
  19. package/esm2020/http-request-state/directives/request-state-directive.mjs +59 -59
  20. package/esm2020/http-request-state/helpers.mjs +21 -21
  21. package/esm2020/http-request-state/http-request-state.mjs +38 -38
  22. package/esm2020/http-request-state/http-state-module.mjs +40 -40
  23. package/esm2020/http-request-state/index.mjs +6 -6
  24. package/esm2020/http-request-state/rxjs/getRequestorBody.mjs +3 -3
  25. package/esm2020/http-request-state/rxjs/getRequestorState.mjs +2 -2
  26. package/esm2020/http-request-state/rxjs/index.mjs +4 -4
  27. package/esm2020/http-request-state/rxjs/tapError.mjs +11 -11
  28. package/esm2020/http-request-state/rxjs/tapSuccess.mjs +11 -11
  29. package/esm2020/http-request-state/types.mjs +15 -15
  30. package/esm2020/ngrx/actionable-selector.mjs +75 -75
  31. package/esm2020/ngrx/index.mjs +1 -1
  32. package/esm2020/one-paragon-angular-utilities.mjs +4 -4
  33. package/esm2020/public-api.mjs +19 -19
  34. package/esm2020/rxjs/defaultShareReplay.mjs +6 -6
  35. package/esm2020/rxjs/index.mjs +5 -5
  36. package/esm2020/rxjs/mapError.mjs +7 -7
  37. package/esm2020/rxjs/rxjs-operators.mjs +91 -91
  38. package/esm2020/rxjs/subjectifier.mjs +15 -15
  39. package/esm2020/table-builder/classes/DefaultSettings.mjs +6 -6
  40. package/esm2020/table-builder/classes/GenericTableDataSource.mjs +13 -13
  41. package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +41 -21
  42. package/esm2020/table-builder/classes/TableBuilderConfig.mjs +3 -3
  43. package/esm2020/table-builder/classes/TableState.mjs +31 -31
  44. package/esm2020/table-builder/classes/data-filter.mjs +26 -26
  45. package/esm2020/table-builder/classes/display-col.mjs +1 -1
  46. package/esm2020/table-builder/classes/filter-info.mjs +73 -73
  47. package/esm2020/table-builder/classes/table-builder-general-settings.mjs +67 -67
  48. package/esm2020/table-builder/classes/table-builder.mjs +76 -76
  49. package/esm2020/table-builder/classes/table-store.mjs +292 -292
  50. package/esm2020/table-builder/components/array-column.component.mjs +32 -32
  51. package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +112 -112
  52. package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +25 -25
  53. package/esm2020/table-builder/components/date-time-filter/date-time-filter.component.mjs +22 -22
  54. package/esm2020/table-builder/components/filter/filter.component.mjs +54 -54
  55. package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +79 -79
  56. package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +45 -45
  57. package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +207 -202
  58. package/esm2020/table-builder/components/generic-table/paginator.component.mjs +62 -60
  59. package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +22 -22
  60. package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +90 -90
  61. package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +63 -63
  62. package/esm2020/table-builder/components/index.mjs +10 -10
  63. package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +33 -33
  64. package/esm2020/table-builder/components/link-column.component.mjs +30 -30
  65. package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +26 -26
  66. package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +41 -41
  67. package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +75 -75
  68. package/esm2020/table-builder/components/table-container/table-container.mjs +324 -322
  69. package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +42 -42
  70. package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +30 -30
  71. package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +24 -24
  72. package/esm2020/table-builder/directives/custom-cell-directive.mjs +58 -58
  73. package/esm2020/table-builder/directives/index.mjs +6 -6
  74. package/esm2020/table-builder/directives/multi-sort.directive.mjs +42 -42
  75. package/esm2020/table-builder/directives/resize-column.directive.mjs +85 -85
  76. package/esm2020/table-builder/directives/table-wrapper.directive.mjs +26 -26
  77. package/esm2020/table-builder/directives/tb-filter.directive.mjs +403 -403
  78. package/esm2020/table-builder/enums/filterTypes.mjs +72 -72
  79. package/esm2020/table-builder/functions/boolean-filter-function.mjs +9 -9
  80. package/esm2020/table-builder/functions/date-filter-function.mjs +58 -58
  81. package/esm2020/table-builder/functions/download-data.mjs +11 -11
  82. package/esm2020/table-builder/functions/null-filter-function.mjs +7 -7
  83. package/esm2020/table-builder/functions/number-filter-function.mjs +31 -31
  84. package/esm2020/table-builder/functions/sort-data-function.mjs +4 -4
  85. package/esm2020/table-builder/functions/string-filter-function.mjs +40 -40
  86. package/esm2020/table-builder/interfaces/ColumnInfo.mjs +1 -1
  87. package/esm2020/table-builder/interfaces/dictionary.mjs +1 -1
  88. package/esm2020/table-builder/interfaces/report-def.mjs +35 -35
  89. package/esm2020/table-builder/material.module.mjs +207 -207
  90. package/esm2020/table-builder/ngrx/actions.mjs +4 -4
  91. package/esm2020/table-builder/ngrx/effects.mjs +47 -47
  92. package/esm2020/table-builder/ngrx/reducer.mjs +51 -51
  93. package/esm2020/table-builder/ngrx/selectors.mjs +23 -23
  94. package/esm2020/table-builder/pipes/column-total.pipe.mjs +19 -19
  95. package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +17 -17
  96. package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +45 -45
  97. package/esm2020/table-builder/pipes/key-display.mjs +19 -19
  98. package/esm2020/table-builder/services/export-to-csv.service.mjs +88 -88
  99. package/esm2020/table-builder/services/link-creator.service.mjs +42 -42
  100. package/esm2020/table-builder/services/table-template-service.mjs +44 -44
  101. package/esm2020/table-builder/services/transform-creator.mjs +75 -75
  102. package/esm2020/table-builder/table-builder.module.mjs +215 -207
  103. package/esm2020/utilities/directives/auto-focus.directive.mjs +25 -25
  104. package/esm2020/utilities/directives/clickEmitterDirective.mjs +20 -20
  105. package/esm2020/utilities/directives/clickSubject.mjs +26 -26
  106. package/esm2020/utilities/directives/conditional-classes.directive.mjs +35 -35
  107. package/esm2020/utilities/directives/dialog-service.mjs +25 -25
  108. package/esm2020/utilities/directives/dialog.mjs +137 -137
  109. package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +59 -59
  110. package/esm2020/utilities/directives/prevent-enter.directive.mjs +18 -18
  111. package/esm2020/utilities/directives/stop-propagation.directive.mjs +24 -24
  112. package/esm2020/utilities/directives/styler.mjs +25 -25
  113. package/esm2020/utilities/directives/trim-whitespace.directive.mjs +29 -29
  114. package/esm2020/utilities/index.mjs +16 -16
  115. package/esm2020/utilities/module.mjs +91 -91
  116. package/esm2020/utilities/pipes/function.pipe.mjs +20 -20
  117. package/esm2020/utilities/pipes/phone.pipe.mjs +19 -19
  118. package/esm2020/utilities/pipes/space-case.pipes.mjs +28 -28
  119. package/fesm2015/one-paragon-angular-utilities.mjs +4449 -4413
  120. package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -1
  121. package/fesm2020/one-paragon-angular-utilities.mjs +4429 -4393
  122. package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -1
  123. package/http-request-state/HttpRequestStateFactory.d.ts +14 -14
  124. package/http-request-state/HttpRequestStateStore.d.ts +48 -48
  125. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -16
  126. package/http-request-state/directives/http-error-state-directive.d.ts +12 -12
  127. package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -12
  128. package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -12
  129. package/http-request-state/directives/http-success-state-directive.d.ts +21 -21
  130. package/http-request-state/directives/index.d.ts +5 -5
  131. package/http-request-state/directives/request-state-directive.d.ts +35 -35
  132. package/http-request-state/helpers.d.ts +9 -9
  133. package/http-request-state/http-request-state.d.ts +12 -12
  134. package/http-request-state/http-state-module.d.ts +11 -11
  135. package/http-request-state/index.d.ts +6 -6
  136. package/http-request-state/rxjs/getRequestorBody.d.ts +3 -3
  137. package/http-request-state/rxjs/getRequestorState.d.ts +3 -3
  138. package/http-request-state/rxjs/index.d.ts +4 -4
  139. package/http-request-state/rxjs/tapError.d.ts +3 -3
  140. package/http-request-state/rxjs/tapSuccess.d.ts +3 -3
  141. package/http-request-state/types.d.ts +36 -36
  142. package/index.d.ts +5 -5
  143. package/ngrx/actionable-selector.d.ts +15 -15
  144. package/ngrx/index.d.ts +1 -1
  145. package/package.json +1 -1
  146. package/public-api.d.ts +15 -15
  147. package/rxjs/defaultShareReplay.d.ts +2 -2
  148. package/rxjs/index.d.ts +4 -4
  149. package/rxjs/mapError.d.ts +2 -2
  150. package/rxjs/rxjs-operators.d.ts +12 -12
  151. package/rxjs/subjectifier.d.ts +9 -9
  152. package/table-builder/classes/DefaultSettings.d.ts +9 -9
  153. package/table-builder/classes/GenericTableDataSource.d.ts +8 -8
  154. package/table-builder/classes/MatTableObservableDataSource.d.ts +17 -9
  155. package/table-builder/classes/TableBuilderConfig.d.ts +20 -20
  156. package/table-builder/classes/TableState.d.ts +46 -46
  157. package/table-builder/classes/data-filter.d.ts +9 -9
  158. package/table-builder/classes/display-col.d.ts +5 -5
  159. package/table-builder/classes/filter-info.d.ts +40 -40
  160. package/table-builder/classes/table-builder-general-settings.d.ts +43 -43
  161. package/table-builder/classes/table-builder.d.ts +14 -14
  162. package/table-builder/classes/table-store.d.ts +114 -114
  163. package/table-builder/components/array-column.component.d.ts +14 -14
  164. package/table-builder/components/column-builder/column-builder.component.d.ts +50 -50
  165. package/table-builder/components/date-filter/date-filter.component.d.ts +10 -10
  166. package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +10 -10
  167. package/table-builder/components/filter/filter.component.d.ts +371 -371
  168. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -27
  169. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -16
  170. package/table-builder/components/generic-table/generic-table.component.d.ts +74 -73
  171. package/table-builder/components/generic-table/paginator.component.d.ts +28 -28
  172. package/table-builder/components/group-by-list/group-by-list.component.d.ts +10 -10
  173. package/table-builder/components/header-menu/header-menu.component.d.ts +25 -25
  174. package/table-builder/components/in-filter/in-filter.component.d.ts +21 -21
  175. package/table-builder/components/index.d.ts +9 -9
  176. package/table-builder/components/initialization-component/initialization-component.d.ts +12 -12
  177. package/table-builder/components/link-column.component.d.ts +17 -17
  178. package/table-builder/components/number-filter/number-filter.component.d.ts +12 -12
  179. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -24
  180. package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -25
  181. package/table-builder/components/table-container/table-container.d.ts +69 -68
  182. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -17
  183. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -14
  184. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -14
  185. package/table-builder/directives/custom-cell-directive.d.ts +19 -19
  186. package/table-builder/directives/index.d.ts +5 -5
  187. package/table-builder/directives/multi-sort.directive.d.ts +11 -11
  188. package/table-builder/directives/resize-column.directive.d.ts +43 -43
  189. package/table-builder/directives/table-wrapper.directive.d.ts +11 -11
  190. package/table-builder/directives/tb-filter.directive.d.ts +120 -120
  191. package/table-builder/enums/filterTypes.d.ts +37 -37
  192. package/table-builder/functions/boolean-filter-function.d.ts +3 -3
  193. package/table-builder/functions/date-filter-function.d.ts +4 -4
  194. package/table-builder/functions/download-data.d.ts +1 -1
  195. package/table-builder/functions/null-filter-function.d.ts +2 -2
  196. package/table-builder/functions/number-filter-function.d.ts +4 -4
  197. package/table-builder/functions/sort-data-function.d.ts +3 -3
  198. package/table-builder/functions/string-filter-function.d.ts +7 -7
  199. package/table-builder/interfaces/ColumnInfo.d.ts +6 -6
  200. package/table-builder/interfaces/dictionary.d.ts +3 -3
  201. package/table-builder/interfaces/report-def.d.ts +142 -142
  202. package/table-builder/material.module.d.ts +32 -32
  203. package/table-builder/ngrx/actions.d.ts +23 -23
  204. package/table-builder/ngrx/effects.d.ts +19 -19
  205. package/table-builder/ngrx/reducer.d.ts +15 -15
  206. package/table-builder/ngrx/selectors.d.ts +22 -22
  207. package/table-builder/pipes/column-total.pipe.d.ts +8 -8
  208. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -8
  209. package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -14
  210. package/table-builder/pipes/key-display.d.ts +11 -11
  211. package/table-builder/services/export-to-csv.service.d.ts +22 -22
  212. package/table-builder/services/link-creator.service.d.ts +12 -12
  213. package/table-builder/services/table-template-service.d.ts +14 -14
  214. package/table-builder/services/transform-creator.d.ts +19 -19
  215. package/table-builder/table-builder.module.d.ts +48 -46
  216. package/utilities/directives/auto-focus.directive.d.ts +10 -10
  217. package/utilities/directives/clickEmitterDirective.d.ts +7 -7
  218. package/utilities/directives/clickSubject.d.ts +9 -9
  219. package/utilities/directives/conditional-classes.directive.d.ts +14 -14
  220. package/utilities/directives/dialog-service.d.ts +10 -10
  221. package/utilities/directives/dialog.d.ts +46 -46
  222. package/utilities/directives/mat-toggle-group-directive.d.ts +21 -21
  223. package/utilities/directives/prevent-enter.directive.d.ts +6 -6
  224. package/utilities/directives/stop-propagation.directive.d.ts +7 -7
  225. package/utilities/directives/styler.d.ts +9 -9
  226. package/utilities/directives/trim-whitespace.directive.d.ts +9 -9
  227. package/utilities/index.d.ts +15 -15
  228. package/utilities/module.d.ts +19 -19
  229. package/utilities/pipes/function.pipe.d.ts +7 -7
  230. package/utilities/pipes/phone.pipe.d.ts +7 -7
  231. package/utilities/pipes/space-case.pipes.d.ts +17 -17
@@ -1,88 +1,88 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { first, map } from 'rxjs/operators';
3
- import { combineLatest } from 'rxjs';
4
- import { orderMetaData } from '../classes/table-store';
5
- import { TableBuilderConfigToken } from '../classes/TableBuilderConfig';
6
- import { downloadData } from '../functions/download-data';
7
- import { ArrayStyle, FieldType } from '../interfaces/report-def';
8
- import { isPipe } from './transform-creator';
9
- import { get } from 'lodash';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../classes/table-store";
12
- import * as i2 from "@angular/common";
13
- export class ExportToCsvService {
14
- constructor(state, config, datePipe) {
15
- this.state = state;
16
- this.config = config;
17
- this.datePipe = datePipe;
18
- this.exportToCsv = (data) => {
19
- const exportableFields$ = this.state.state$.pipe(map(mapExportableFields));
20
- combineLatest([data, exportableFields$]).pipe(first(), map(([data, fields]) => this.csvData(data, fields))).subscribe(csv => downloadData(csv, 'export.csv', 'text/csv'));
21
- };
22
- this.csvData = (data, metaData) => {
23
- const res = data.map(row => metaData.map(meta => this.metaToField(meta, row)).join(','));
24
- res.unshift(metaData.map(meta => meta.displayName || meta.key).join(','));
25
- return res.join('\n');
26
- };
27
- this.metaToField = (meta, row) => {
28
- let val = get(row, meta.key);
29
- if (val == null && !meta.transform)
30
- return val;
31
- if (meta.transform && meta.fieldType !== FieldType.Expression) {
32
- const transform = meta.transform;
33
- return isPipe(transform) ? transform.transform(val) : transform(val);
34
- }
35
- switch (meta.fieldType) {
36
- case FieldType.Date:
37
- const dateFormat = meta.additional?.export?.dateFormat || this.config?.export?.dateFormat || meta.additional?.dateFormat;
38
- val = this.transform(val, dateFormat);
39
- break;
40
- case FieldType.DateTime:
41
- const dateTimeFormat = meta.additional?.export?.dateTimeFormat || this.config?.export?.dateTimeFormat || meta.additional?.dateTimeOptions?.format;
42
- val = this.transform(val, dateTimeFormat);
43
- break;
44
- case FieldType.String:
45
- const prepend = meta.additional?.export?.prepend || this.config?.export?.prepend || '';
46
- val = prepend + val;
47
- break;
48
- case FieldType.Array:
49
- const additional = meta.additional;
50
- val = val.slice(0, additional.limit).join(additional.arrayStyle === ArrayStyle.NewLine ? '\n' : ', ');
51
- break;
52
- case FieldType.Expression:
53
- val = meta.transform(row);
54
- break;
55
- }
56
- if (typeof val === 'string' && (val.includes(',') || val.includes('"') || val.includes('\n'))) {
57
- val = val.replaceAll('"', '""');
58
- val = '"' + val + '"';
59
- }
60
- return val;
61
- };
62
- }
63
- transform(val, dateFormat) {
64
- if (this.config.transformers && this.config.transformers[FieldType.Date]) {
65
- return this.config.transformers[FieldType.Date](val);
66
- }
67
- return this.datePipe.transform(val, dateFormat);
68
- }
69
- }
70
- ExportToCsvService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExportToCsvService, deps: [{ token: i1.TableStore }, { token: TableBuilderConfigToken }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
71
- ExportToCsvService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExportToCsvService });
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExportToCsvService, decorators: [{
73
- type: Injectable
74
- }], ctorParameters: function () { return [{ type: i1.TableStore }, { type: undefined, decorators: [{
75
- type: Inject,
76
- args: [TableBuilderConfigToken]
77
- }] }, { type: i2.DatePipe }]; } });
78
- export const removeFromMetaData = (state, keysToRemove) => orderMetaData(state)
79
- .filter(meta => !keysToRemove.includes(meta.key));
80
- export const nonExportableFields = (state) => Object.values(state.metaData)
81
- .filter(md => md.noExport)
82
- .map(md => md.key);
83
- export const mapExportableFields = (state) => {
84
- const fieldsToRemove = nonExportableFields(state)
85
- .concat(state.hiddenKeys);
86
- return removeFromMetaData(state, fieldsToRemove);
87
- };
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvc2VydmljZXMvZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFHLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQW1CLFVBQVUsRUFBRSxTQUFTLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUc3QixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1MsS0FBaUIsRUFDaUIsTUFBMEIsRUFDM0QsUUFBa0I7UUFGbkIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNpQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMzRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRzVCLGdCQUFXLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUN6QixDQUFDO1lBRUYsYUFBYSxD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QUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNsRCxDQUFDOzsrR0FoRVUsa0JBQWtCLDRDQUduQix1QkFBdUI7bUhBSHRCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFJTixNQUFNOzJCQUFDLHVCQUF1Qjs7QUFnRW5DLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxZQUFzQixFQUFFLEVBQUUsQ0FFOUUsYUFBYSxDQUFDLEtBQUssQ0FBQztLQUNuQixNQUFNLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFFLEtBQUssQ0FBQyxRQUFRLENBQUM7S0FDckYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBRTtLQUMxQixHQUFHLENBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFFLENBQUM7QUFFdkIsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDdkQsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1NBQzlDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0IsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCwgbWFwICB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG9yZGVyTWV0YURhdGEsIFRhYmxlU3RvcmUgfSBmcm9tICcuLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgVGFibGVCdWlsZGVyQ29uZmlnLCBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgZG93bmxvYWREYXRhIH0gZnJvbSAnLi4vZnVuY3Rpb25zL2Rvd25sb2FkLWRhdGEnO1xyXG5pbXBvcnQgeyBBcnJheUFkZGl0aW9uYWwsIEFycmF5U3R5bGUsIEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi4vY2xhc3Nlcy9UYWJsZVN0YXRlJztcclxuaW1wb3J0IHsgaXNQaXBlIH0gZnJvbSAnLi90cmFuc2Zvcm0tY3JlYXRvcic7XHJcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRUb0NzdlNlcnZpY2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHN0YXRlOiBUYWJsZVN0b3JlLFxyXG4gICAgQEluamVjdChUYWJsZUJ1aWxkZXJDb25maWdUb2tlbikgcHJpdmF0ZSBjb25maWc6IFRhYmxlQnVpbGRlckNvbmZpZyxcclxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICl7fVxyXG5cclxuICBleHBvcnRUb0NzdiA9IChkYXRhOiBPYnNlcnZhYmxlPFRbXT4pID0+IHtcclxuICAgIGNvbnN0IGV4cG9ydGFibGVGaWVsZHMkID0gdGhpcy5zdGF0ZS5zdGF0ZSQucGlwZShcclxuICAgICAgbWFwKG1hcEV4cG9ydGFibGVGaWVsZHMpXHJcbiAgICApO1xyXG5cclxuICAgIGNvbWJpbmVMYXRlc3QoW2RhdGEsZXhwb3J0YWJsZUZpZWxkcyRdKS5waXBlKFxyXG4gICAgICBmaXJzdCgpLFxyXG4gICAgICBtYXAoKFtkYXRhLGZpZWxkc10pID0+IHRoaXMuY3N2RGF0YShkYXRhLGZpZWxkcykpLFxyXG4gICAgKS5zdWJzY3JpYmUoY3N2ID0+IGRvd25sb2FkRGF0YShjc3YsJ2V4cG9ydC5jc3YnLCd0ZXh0L2NzdicpICk7XHJcbiAgfVxyXG5cclxuICBjc3ZEYXRhID0gKGRhdGE6QXJyYXk8VD4sIG1ldGFEYXRhOiBNZXRhRGF0YTxUPltdKSA9PiB7XHJcbiAgICBjb25zdCByZXMgPSBkYXRhLm1hcChyb3cgPT4gbWV0YURhdGEubWFwKG1ldGEgPT4gdGhpcy5tZXRhVG9GaWVsZChtZXRhLCByb3cpKS5qb2luKCcsJykpO1xyXG4gICAgcmVzLnVuc2hpZnQobWV0YURhdGEubWFwKG1ldGEgPT4gbWV0YS5kaXNwbGF5TmFtZSB8fCBtZXRhLmtleSkuam9pbignLCcpKTtcclxuICAgIHJldHVybiByZXMuam9pbignXFxuJyk7XHJcbiAgfVxyXG5cclxuICBtZXRhVG9GaWVsZCA9IChtZXRhOiBNZXRhRGF0YTxUPiwgcm93OiBUKSA9PiB7XHJcbiAgICBsZXQgdmFsOiBhbnkgPSBnZXQoIHJvdyxtZXRhLmtleSk7XHJcbiAgICBpZiAodmFsID09IG51bGwgJiYgIW1ldGEudHJhbnNmb3JtKSByZXR1cm4gdmFsXHJcbiAgICBpZihtZXRhLnRyYW5zZm9ybSAmJiBtZXRhLmZpZWxkVHlwZSAhPT0gRmllbGRUeXBlLkV4cHJlc3Npb24pe1xyXG4gICAgICBjb25zdCB0cmFuc2Zvcm0gPSBtZXRhLnRyYW5zZm9ybSBhcyBhbnk7XHJcbiAgICAgIHJldHVybiAgaXNQaXBlKHRyYW5zZm9ybSkgPyB0cmFuc2Zvcm0udHJhbnNmb3JtKHZhbCkgOiB0cmFuc2Zvcm0odmFsKTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAobWV0YS5maWVsZFR5cGUpIHtcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcclxuICAgICAgICBjb25zdCBkYXRlRm9ybWF0ID0gbWV0YS5hZGRpdGlvbmFsPy5leHBvcnQ/LmRhdGVGb3JtYXQgfHwgdGhpcy5jb25maWc/LmV4cG9ydD8uZGF0ZUZvcm1hdCB8fCBtZXRhLmFkZGl0aW9uYWw/LmRhdGVGb3JtYXQ7XHJcbiAgICAgICAgdmFsID0gdGhpcy50cmFuc2Zvcm0odmFsLCBkYXRlRm9ybWF0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZVRpbWU6XHJcbiAgICAgICAgY29uc3QgZGF0ZVRpbWVGb3JtYXQgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgdGhpcy5jb25maWc/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgbWV0YS5hZGRpdGlvbmFsPy5kYXRlVGltZU9wdGlvbnM/LmZvcm1hdDtcclxuICAgICAgICB2YWwgPSB0aGlzLnRyYW5zZm9ybSh2YWwsIGRhdGVUaW1lRm9ybWF0KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxyXG4gICAgICAgIGNvbnN0IHByZXBlbmQ6IHN0cmluZyA9IG1ldGEuYWRkaXRpb25hbD8uZXhwb3J0Py5wcmVwZW5kIHx8IHRoaXMuY29uZmlnPy5leHBvcnQ/LnByZXBlbmQgfHwgJyc7XHJcbiAgICAgICAgdmFsID0gcHJlcGVuZCArIHZhbDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuQXJyYXk6XHJcbiAgICAgICAgY29uc3QgYWRkaXRpb25hbCA9IG1ldGEuYWRkaXRpb25hbCBhcyBBcnJheUFkZGl0aW9uYWw7XHJcbiAgICAgICAgdmFsID0gKHZhbCBhcyBBcnJheTxzdHJpbmc+KS5zbGljZSgwLGFkZGl0aW9uYWwubGltaXQpLmpvaW4oYWRkaXRpb25hbC5hcnJheVN0eWxlID09PSBBcnJheVN0eWxlLk5ld0xpbmUgPyAnXFxuJyA6ICcsICcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEZpZWxkVHlwZS5FeHByZXNzaW9uOlxyXG4gICAgICAgIHZhbCA9IChtZXRhLnRyYW5zZm9ybSBhcyBhbnkpKHJvdyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgJiYgKHZhbC5pbmNsdWRlcygnLCcpIHx8IHZhbC5pbmNsdWRlcygnXCInKSB8fCB2YWwuaW5jbHVkZXMoJ1xcbicpKSkge1xyXG4gICAgICB2YWwgPSB2YWwucmVwbGFjZUFsbCgnXCInLCAnXCJcIicpO1xyXG4gICAgICB2YWwgPSAnXCInICsgdmFsICsgJ1wiJztcclxuICAgIH1cclxuICAgIHJldHVybiB2YWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zZm9ybSh2YWw6IGFueSwgZGF0ZUZvcm1hdDogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcudHJhbnNmb3JtZXJzICYmIHRoaXMuY29uZmlnLnRyYW5zZm9ybWVyc1tGaWVsZFR5cGUuRGF0ZV0pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zZm9ybWVyc1tGaWVsZFR5cGUuRGF0ZV0hKHZhbCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsLCBkYXRlRm9ybWF0KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCByZW1vdmVGcm9tTWV0YURhdGEgPSAoc3RhdGU6IFRhYmxlU3RhdGUsIGtleXNUb1JlbW92ZTogc3RyaW5nW10pID0+XHJcblxyXG4gIG9yZGVyTWV0YURhdGEoc3RhdGUpXHJcbiAgLmZpbHRlciggbWV0YSA9PiAha2V5c1RvUmVtb3ZlLmluY2x1ZGVzKG1ldGEua2V5KSk7XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IG5vbkV4cG9ydGFibGVGaWVsZHMgPSAoc3RhdGU6IFRhYmxlU3RhdGUpID0+IE9iamVjdC52YWx1ZXMoIHN0YXRlLm1ldGFEYXRhKVxyXG4gIC5maWx0ZXIobWQgPT4gbWQubm9FeHBvcnQgKVxyXG4gIC5tYXAoIG1kID0+IG1kLmtleSApO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1hcEV4cG9ydGFibGVGaWVsZHMgPSAoc3RhdGU6IFRhYmxlU3RhdGUpID0+IHtcclxuICBjb25zdCBmaWVsZHNUb1JlbW92ZSA9IG5vbkV4cG9ydGFibGVGaWVsZHMoc3RhdGUpXHJcbiAgICAuY29uY2F0KHN0YXRlLmhpZGRlbktleXMpO1xyXG4gICByZXR1cm4gcmVtb3ZlRnJvbU1ldGFEYXRhKHN0YXRlLCBmaWVsZHNUb1JlbW92ZSk7XHJcbn1cclxuIl19
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { first, map } from 'rxjs/operators';
3
+ import { combineLatest } from 'rxjs';
4
+ import { orderMetaData } from '../classes/table-store';
5
+ import { TableBuilderConfigToken } from '../classes/TableBuilderConfig';
6
+ import { downloadData } from '../functions/download-data';
7
+ import { ArrayStyle, FieldType } from '../interfaces/report-def';
8
+ import { isPipe } from './transform-creator';
9
+ import { get } from 'lodash';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../classes/table-store";
12
+ import * as i2 from "@angular/common";
13
+ export class ExportToCsvService {
14
+ constructor(state, config, datePipe) {
15
+ this.state = state;
16
+ this.config = config;
17
+ this.datePipe = datePipe;
18
+ this.exportToCsv = (data) => {
19
+ const exportableFields$ = this.state.state$.pipe(map(mapExportableFields));
20
+ combineLatest([data, exportableFields$]).pipe(first(), map(([data, fields]) => this.csvData(data, fields))).subscribe(csv => downloadData(csv, 'export.csv', 'text/csv'));
21
+ };
22
+ this.csvData = (data, metaData) => {
23
+ const res = data.map(row => metaData.map(meta => this.metaToField(meta, row)).join(','));
24
+ res.unshift(metaData.map(meta => meta.displayName || meta.key).join(','));
25
+ return res.join('\n');
26
+ };
27
+ this.metaToField = (meta, row) => {
28
+ let val = get(row, meta.key);
29
+ if (val == null && !meta.transform)
30
+ return val;
31
+ if (meta.transform && meta.fieldType !== FieldType.Expression) {
32
+ const transform = meta.transform;
33
+ return isPipe(transform) ? transform.transform(val) : transform(val);
34
+ }
35
+ switch (meta.fieldType) {
36
+ case FieldType.Date:
37
+ const dateFormat = meta.additional?.export?.dateFormat || this.config?.export?.dateFormat || meta.additional?.dateFormat;
38
+ val = this.transform(val, dateFormat);
39
+ break;
40
+ case FieldType.DateTime:
41
+ const dateTimeFormat = meta.additional?.export?.dateTimeFormat || this.config?.export?.dateTimeFormat || meta.additional?.dateTimeOptions?.format;
42
+ val = this.transform(val, dateTimeFormat);
43
+ break;
44
+ case FieldType.String:
45
+ const prepend = meta.additional?.export?.prepend || this.config?.export?.prepend || '';
46
+ val = prepend + val;
47
+ break;
48
+ case FieldType.Array:
49
+ const additional = meta.additional;
50
+ val = val.slice(0, additional.limit).join(additional.arrayStyle === ArrayStyle.NewLine ? '\n' : ', ');
51
+ break;
52
+ case FieldType.Expression:
53
+ val = meta.transform(row);
54
+ break;
55
+ }
56
+ if (typeof val === 'string' && (val.includes(',') || val.includes('"') || val.includes('\n'))) {
57
+ val = val.replaceAll('"', '""');
58
+ val = '"' + val + '"';
59
+ }
60
+ return val;
61
+ };
62
+ }
63
+ transform(val, dateFormat) {
64
+ if (this.config.transformers && this.config.transformers[FieldType.Date]) {
65
+ return this.config.transformers[FieldType.Date](val);
66
+ }
67
+ return this.datePipe.transform(val, dateFormat);
68
+ }
69
+ }
70
+ ExportToCsvService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExportToCsvService, deps: [{ token: i1.TableStore }, { token: TableBuilderConfigToken }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable });
71
+ ExportToCsvService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExportToCsvService });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ExportToCsvService, decorators: [{
73
+ type: Injectable
74
+ }], ctorParameters: function () { return [{ type: i1.TableStore }, { type: undefined, decorators: [{
75
+ type: Inject,
76
+ args: [TableBuilderConfigToken]
77
+ }] }, { type: i2.DatePipe }]; } });
78
+ export const removeFromMetaData = (state, keysToRemove) => orderMetaData(state)
79
+ .filter(meta => !keysToRemove.includes(meta.key));
80
+ export const nonExportableFields = (state) => Object.values(state.metaData)
81
+ .filter(md => md.noExport)
82
+ .map(md => md.key);
83
+ export const mapExportableFields = (state) => {
84
+ const fieldsToRemove = nonExportableFields(state)
85
+ .concat(state.hiddenKeys);
86
+ return removeFromMetaData(state, fieldsToRemove);
87
+ };
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvc2VydmljZXMvZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFHLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQW1CLFVBQVUsRUFBRSxTQUFTLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUc3QixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1MsS0FBaUIsRUFDaUIsTUFBMEIsRUFDM0QsUUFBa0I7UUFGbkIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNpQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMzRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRzVCLGdCQUFXLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUN6QixDQUFDO1lBRUYsYUFBYSxD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QUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNsRCxDQUFDOzsrR0FoRVUsa0JBQWtCLDRDQUduQix1QkFBdUI7bUhBSHRCLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFJTixNQUFNOzJCQUFDLHVCQUF1Qjs7QUFnRW5DLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxZQUFzQixFQUFFLEVBQUUsQ0FFOUUsYUFBYSxDQUFDLEtBQUssQ0FBQztLQUNuQixNQUFNLENBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFFLEtBQUssQ0FBQyxRQUFRLENBQUM7S0FDckYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBRTtLQUMxQixHQUFHLENBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFFLENBQUM7QUFFdkIsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDdkQsTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1NBQzlDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0IsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwICB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgb3JkZXJNZXRhRGF0YSwgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xuaW1wb3J0IHsgVGFibGVCdWlsZGVyQ29uZmlnLCBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcbmltcG9ydCB7IGRvd25sb2FkRGF0YSB9IGZyb20gJy4uL2Z1bmN0aW9ucy9kb3dubG9hZC1kYXRhJztcbmltcG9ydCB7IEFycmF5QWRkaXRpb25hbCwgQXJyYXlTdHlsZSwgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi4vY2xhc3Nlcy9UYWJsZVN0YXRlJztcbmltcG9ydCB7IGlzUGlwZSB9IGZyb20gJy4vdHJhbnNmb3JtLWNyZWF0b3InO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4cG9ydFRvQ3N2U2VydmljZTxUPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdGF0ZTogVGFibGVTdG9yZSxcbiAgICBASW5qZWN0KFRhYmxlQnVpbGRlckNvbmZpZ1Rva2VuKSBwcml2YXRlIGNvbmZpZzogVGFibGVCdWlsZGVyQ29uZmlnLFxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxuICApe31cblxuICBleHBvcnRUb0NzdiA9IChkYXRhOiBPYnNlcnZhYmxlPFRbXT4pID0+IHtcbiAgICBjb25zdCBleHBvcnRhYmxlRmllbGRzJCA9IHRoaXMuc3RhdGUuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAobWFwRXhwb3J0YWJsZUZpZWxkcylcbiAgICApO1xuXG4gICAgY29tYmluZUxhdGVzdChbZGF0YSxleHBvcnRhYmxlRmllbGRzJF0pLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgbWFwKChbZGF0YSxmaWVsZHNdKSA9PiB0aGlzLmNzdkRhdGEoZGF0YSxmaWVsZHMpKSxcbiAgICApLnN1YnNjcmliZShjc3YgPT4gZG93bmxvYWREYXRhKGNzdiwnZXhwb3J0LmNzdicsJ3RleHQvY3N2JykgKTtcbiAgfVxuXG4gIGNzdkRhdGEgPSAoZGF0YTpBcnJheTxUPiwgbWV0YURhdGE6IE1ldGFEYXRhPFQ+W10pID0+IHtcbiAgICBjb25zdCByZXMgPSBkYXRhLm1hcChyb3cgPT4gbWV0YURhdGEubWFwKG1ldGEgPT4gdGhpcy5tZXRhVG9GaWVsZChtZXRhLCByb3cpKS5qb2luKCcsJykpO1xuICAgIHJlcy51bnNoaWZ0KG1ldGFEYXRhLm1hcChtZXRhID0+IG1ldGEuZGlzcGxheU5hbWUgfHwgbWV0YS5rZXkpLmpvaW4oJywnKSk7XG4gICAgcmV0dXJuIHJlcy5qb2luKCdcXG4nKTtcbiAgfVxuXG4gIG1ldGFUb0ZpZWxkID0gKG1ldGE6IE1ldGFEYXRhPFQ+LCByb3c6IFQpID0+IHtcbiAgICBsZXQgdmFsOiBhbnkgPSBnZXQoIHJvdyxtZXRhLmtleSk7XG4gICAgaWYgKHZhbCA9PSBudWxsICYmICFtZXRhLnRyYW5zZm9ybSkgcmV0dXJuIHZhbFxuICAgIGlmKG1ldGEudHJhbnNmb3JtICYmIG1ldGEuZmllbGRUeXBlICE9PSBGaWVsZFR5cGUuRXhwcmVzc2lvbil7XG4gICAgICBjb25zdCB0cmFuc2Zvcm0gPSBtZXRhLnRyYW5zZm9ybSBhcyBhbnk7XG4gICAgICByZXR1cm4gIGlzUGlwZSh0cmFuc2Zvcm0pID8gdHJhbnNmb3JtLnRyYW5zZm9ybSh2YWwpIDogdHJhbnNmb3JtKHZhbCk7XG4gICAgfVxuICAgIHN3aXRjaCAobWV0YS5maWVsZFR5cGUpIHtcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XG4gICAgICAgIGNvbnN0IGRhdGVGb3JtYXQgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8uZGF0ZUZvcm1hdCB8fCB0aGlzLmNvbmZpZz8uZXhwb3J0Py5kYXRlRm9ybWF0IHx8IG1ldGEuYWRkaXRpb25hbD8uZGF0ZUZvcm1hdDtcbiAgICAgICAgdmFsID0gdGhpcy50cmFuc2Zvcm0odmFsLCBkYXRlRm9ybWF0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlVGltZTpcbiAgICAgICAgY29uc3QgZGF0ZVRpbWVGb3JtYXQgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgdGhpcy5jb25maWc/LmV4cG9ydD8uZGF0ZVRpbWVGb3JtYXQgfHwgbWV0YS5hZGRpdGlvbmFsPy5kYXRlVGltZU9wdGlvbnM/LmZvcm1hdDtcbiAgICAgICAgdmFsID0gdGhpcy50cmFuc2Zvcm0odmFsLCBkYXRlVGltZUZvcm1hdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBGaWVsZFR5cGUuU3RyaW5nOlxuICAgICAgICBjb25zdCBwcmVwZW5kOiBzdHJpbmcgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8ucHJlcGVuZCB8fCB0aGlzLmNvbmZpZz8uZXhwb3J0Py5wcmVwZW5kIHx8ICcnO1xuICAgICAgICB2YWwgPSBwcmVwZW5kICsgdmFsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRmllbGRUeXBlLkFycmF5OlxuICAgICAgICBjb25zdCBhZGRpdGlvbmFsID0gbWV0YS5hZGRpdGlvbmFsIGFzIEFycmF5QWRkaXRpb25hbDtcbiAgICAgICAgdmFsID0gKHZhbCBhcyBBcnJheTxzdHJpbmc+KS5zbGljZSgwLGFkZGl0aW9uYWwubGltaXQpLmpvaW4oYWRkaXRpb25hbC5hcnJheVN0eWxlID09PSBBcnJheVN0eWxlLk5ld0xpbmUgPyAnXFxuJyA6ICcsICcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRmllbGRUeXBlLkV4cHJlc3Npb246XG4gICAgICAgIHZhbCA9IChtZXRhLnRyYW5zZm9ybSBhcyBhbnkpKHJvdyk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgJiYgKHZhbC5pbmNsdWRlcygnLCcpIHx8IHZhbC5pbmNsdWRlcygnXCInKSB8fCB2YWwuaW5jbHVkZXMoJ1xcbicpKSkge1xuICAgICAgdmFsID0gdmFsLnJlcGxhY2VBbGwoJ1wiJywgJ1wiXCInKTtcbiAgICAgIHZhbCA9ICdcIicgKyB2YWwgKyAnXCInO1xuICAgIH1cbiAgICByZXR1cm4gdmFsO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmFuc2Zvcm0odmFsOiBhbnksIGRhdGVGb3JtYXQ6IGFueSkge1xuICAgIGlmICh0aGlzLmNvbmZpZy50cmFuc2Zvcm1lcnMgJiYgdGhpcy5jb25maWcudHJhbnNmb3JtZXJzW0ZpZWxkVHlwZS5EYXRlXSkge1xuICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zZm9ybWVyc1tGaWVsZFR5cGUuRGF0ZV0hKHZhbCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWwsIGRhdGVGb3JtYXQpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCByZW1vdmVGcm9tTWV0YURhdGEgPSAoc3RhdGU6IFRhYmxlU3RhdGUsIGtleXNUb1JlbW92ZTogc3RyaW5nW10pID0+XG5cbiAgb3JkZXJNZXRhRGF0YShzdGF0ZSlcbiAgLmZpbHRlciggbWV0YSA9PiAha2V5c1RvUmVtb3ZlLmluY2x1ZGVzKG1ldGEua2V5KSk7XG5cblxuZXhwb3J0IGNvbnN0IG5vbkV4cG9ydGFibGVGaWVsZHMgPSAoc3RhdGU6IFRhYmxlU3RhdGUpID0+IE9iamVjdC52YWx1ZXMoIHN0YXRlLm1ldGFEYXRhKVxuICAuZmlsdGVyKG1kID0+IG1kLm5vRXhwb3J0IClcbiAgLm1hcCggbWQgPT4gbWQua2V5ICk7XG5cbmV4cG9ydCBjb25zdCBtYXBFeHBvcnRhYmxlRmllbGRzID0gKHN0YXRlOiBUYWJsZVN0YXRlKSA9PiB7XG4gIGNvbnN0IGZpZWxkc1RvUmVtb3ZlID0gbm9uRXhwb3J0YWJsZUZpZWxkcyhzdGF0ZSlcbiAgICAuY29uY2F0KHN0YXRlLmhpZGRlbktleXMpO1xuICAgcmV0dXJuIHJlbW92ZUZyb21NZXRhRGF0YShzdGF0ZSwgZmllbGRzVG9SZW1vdmUpO1xufVxuIl19
@@ -1,42 +1,42 @@
1
- import { get } from "lodash";
2
- export function createLinkCreator(metaData) {
3
- const target = metaData.additional?.link?.target || metaData.additional?.target || '_blank';
4
- const useRouterLink = metaData.additional?.link?.useRouterLink || metaData.additional?.useRouterLink;
5
- const hasRoute = !!metaData.additional?.link?.interpolatedRoute;
6
- const routerLinkOptions = useRouterLink ? {
7
- queryParams: (element) => metaData.additional.link.routerLinkOptions?.queryParams?.reduce((map, [key, value]) => {
8
- map[key] = parseInterpolated(value, element);
9
- return map;
10
- }, {}) ?? null,
11
- fragment: metaData.additional.link?.routerLinkOptions?.fragment,
12
- preserveFragment: metaData.additional.link.routerLinkOptions?.preserveFragment ?? false,
13
- queryParamsHandling: metaData.additional.link.routerLinkOptions?.queryParamsHandling ?? '',
14
- }
15
- : undefined;
16
- if (hasRoute) {
17
- return ({
18
- link: (element) => parseInterpolated(metaData.additional.link.interpolatedRoute, element),
19
- target,
20
- useRouterLink,
21
- routerLinkOptions,
22
- });
23
- }
24
- else {
25
- const slashIfNeeded = !metaData.additional?.link?.base?.endsWith('/') ? '/' : '';
26
- const base = metaData.additional.link?.base || metaData.additional.base;
27
- const getKey = key(metaData);
28
- return ({
29
- link: (element) => `${base}${slashIfNeeded}${getKey(element)}`,
30
- target,
31
- useRouterLink,
32
- routerLinkOptions,
33
- });
34
- }
35
- }
36
- const key = (metaData) => metaData.additional.link?.urlKey ?
37
- (element) => get(element, metaData.additional.link.urlKey) :
38
- metaData.additional.urlKey ?
39
- (element) => get(element, metaData.additional.urlKey) :
40
- (element) => get(element, metaData.key);
41
- const parseInterpolated = (interpolatedString, element) => interpolatedString.replace(/{([^}]+)}/g, (_, key) => get(element, key));
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jcmVhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9zZXJ2aWNlcy9saW5rLWNyZWF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzdCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxRQUFxQjtJQUN4RCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDO0lBQzVGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQztJQUNyRyxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUM7SUFDaEUsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ2hILEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSTtRQUNkLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRO1FBQ2hFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxVQUFXLENBQUMsSUFBSyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixJQUFJLEtBQUs7UUFDekYsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLElBQUksRUFBRTtLQUM3RjtRQUNELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFJWixJQUFJLFFBQVEsRUFBRTtRQUNaLE9BQU8sQ0FBQztZQUNOLElBQUksRUFBRSxDQUFDLE9BQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWtCLEVBQUUsT0FBTyxDQUFDO1lBQy9GLE1BQU07WUFDTixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztLQUNKO1NBQU07UUFDTCxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFXLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVyxDQUFDLElBQUksQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDO1lBQ04sSUFBSSxFQUFFLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pFLE1BQU07WUFDTixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBbUIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQyxPQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUcsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsTUFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDNUUsUUFBUSxDQUFDLFVBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDLE9BQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRyxRQUFRLENBQUMsVUFBVyxDQUFDLE1BQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsT0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUU5QyxNQUFNLGlCQUFpQixHQUFHLENBQUUsa0JBQTBCLEVBQUUsT0FBWSxFQUFHLEVBQUUsQ0FDdkUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgTWV0YURhdGEgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmXCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGlua0NyZWF0b3I8VD4obWV0YURhdGE6IE1ldGFEYXRhPFQ+KXtcclxuICBjb25zdCB0YXJnZXQgPSBtZXRhRGF0YS5hZGRpdGlvbmFsPy5saW5rPy50YXJnZXQgfHwgbWV0YURhdGEuYWRkaXRpb25hbD8udGFyZ2V0IHx8ICdfYmxhbmsnO1xyXG4gIGNvbnN0IHVzZVJvdXRlckxpbmsgPSBtZXRhRGF0YS5hZGRpdGlvbmFsPy5saW5rPy51c2VSb3V0ZXJMaW5rIHx8IG1ldGFEYXRhLmFkZGl0aW9uYWw/LnVzZVJvdXRlckxpbms7XHJcbiAgY29uc3QgaGFzUm91dGUgPSAhIW1ldGFEYXRhLmFkZGl0aW9uYWw/Lmxpbms/LmludGVycG9sYXRlZFJvdXRlO1xyXG4gIGNvbnN0IHJvdXRlckxpbmtPcHRpb25zID0gdXNlUm91dGVyTGluayA/IHtcclxuICAgIHF1ZXJ5UGFyYW1zOiAoZWxlbWVudCkgPT4gbWV0YURhdGEuYWRkaXRpb25hbCEubGluayEucm91dGVyTGlua09wdGlvbnM/LnF1ZXJ5UGFyYW1zPy5yZWR1Y2UoKG1hcCwgW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIG1hcFtrZXldID0gcGFyc2VJbnRlcnBvbGF0ZWQodmFsdWUsIGVsZW1lbnQpO1xyXG4gICAgICByZXR1cm4gbWFwO1xyXG4gICAgfSwge30pID8/IG51bGwsXHJcbiAgICBmcmFnbWVudDogbWV0YURhdGEuYWRkaXRpb25hbCEubGluaz8ucm91dGVyTGlua09wdGlvbnM/LmZyYWdtZW50LFxyXG4gICAgcHJlc2VydmVGcmFnbWVudDogbWV0YURhdGEuYWRkaXRpb25hbCEubGluayEucm91dGVyTGlua09wdGlvbnM/LnByZXNlcnZlRnJhZ21lbnQgPz8gZmFsc2UsXHJcbiAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rIS5yb3V0ZXJMaW5rT3B0aW9ucz8ucXVlcnlQYXJhbXNIYW5kbGluZyA/PyAnJyxcclxuICB9XHJcbiAgOiB1bmRlZmluZWQ7XHJcblxyXG5cclxuXHJcbiAgaWYgKGhhc1JvdXRlKSB7XHJcbiAgICByZXR1cm4gKHtcclxuICAgICAgbGluazogKGVsZW1lbnQ6IFQpID0+IHBhcnNlSW50ZXJwb2xhdGVkKG1ldGFEYXRhLmFkZGl0aW9uYWwhLmxpbmshLmludGVycG9sYXRlZFJvdXRlISwgZWxlbWVudCksXHJcbiAgICAgIHRhcmdldCxcclxuICAgICAgdXNlUm91dGVyTGluayxcclxuICAgICAgcm91dGVyTGlua09wdGlvbnMsXHJcbiAgICB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgY29uc3Qgc2xhc2hJZk5lZWRlZCA9ICFtZXRhRGF0YS5hZGRpdGlvbmFsPy5saW5rPy5iYXNlPy5lbmRzV2l0aCgnLycpID8gJy8nIDogJyc7XHJcbiAgICBjb25zdCBiYXNlID0gbWV0YURhdGEuYWRkaXRpb25hbCEubGluaz8uYmFzZSB8fCBtZXRhRGF0YS5hZGRpdGlvbmFsIS5iYXNlO1xyXG4gICAgY29uc3QgZ2V0S2V5ID0ga2V5KG1ldGFEYXRhKTtcclxuICAgIHJldHVybiAoe1xyXG4gICAgICBsaW5rOiAoZWxlbWVudDogVCkgPT4gYCR7YmFzZX0ke3NsYXNoSWZOZWVkZWR9JHtnZXRLZXkoZWxlbWVudCl9YCxcclxuICAgICAgdGFyZ2V0LFxyXG4gICAgICB1c2VSb3V0ZXJMaW5rLFxyXG4gICAgICByb3V0ZXJMaW5rT3B0aW9ucyxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuY29uc3Qga2V5ID0gKG1ldGFEYXRhIDogTWV0YURhdGEpID0+IG1ldGFEYXRhLmFkZGl0aW9uYWwhLmxpbms/LnVybEtleSA/IFxyXG4gIChlbGVtZW50OmFueSkgPT4gZ2V0KGVsZW1lbnQsIChtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rIS51cmxLZXkgYXMgc3RyaW5nKSkgOlxyXG4gICAgbWV0YURhdGEuYWRkaXRpb25hbCEudXJsS2V5ID9cclxuICAoZWxlbWVudDphbnkpID0+IGdldChlbGVtZW50LCAobWV0YURhdGEuYWRkaXRpb25hbCEudXJsS2V5IGFzIHN0cmluZykpIDpcclxuICAoZWxlbWVudDphbnkpID0+IGdldChlbGVtZW50LCBtZXRhRGF0YS5rZXkpO1xyXG5cclxuY29uc3QgcGFyc2VJbnRlcnBvbGF0ZWQgPSAoIGludGVycG9sYXRlZFN0cmluZzogc3RyaW5nLCBlbGVtZW50OiBhbnkgKSA9PlxyXG4gIGludGVycG9sYXRlZFN0cmluZy5yZXBsYWNlKC97KFtefV0rKX0vZywgKF8sIGtleSkgPT4gZ2V0KGVsZW1lbnQgLGtleSkpOyJdfQ==
1
+ import { get } from "lodash";
2
+ export function createLinkCreator(metaData) {
3
+ const target = metaData.additional?.link?.target || metaData.additional?.target || '_blank';
4
+ const useRouterLink = metaData.additional?.link?.useRouterLink || metaData.additional?.useRouterLink;
5
+ const hasRoute = !!metaData.additional?.link?.interpolatedRoute;
6
+ const routerLinkOptions = useRouterLink ? {
7
+ queryParams: (element) => metaData.additional.link.routerLinkOptions?.queryParams?.reduce((map, [key, value]) => {
8
+ map[key] = parseInterpolated(value, element);
9
+ return map;
10
+ }, {}) ?? null,
11
+ fragment: metaData.additional.link?.routerLinkOptions?.fragment,
12
+ preserveFragment: metaData.additional.link.routerLinkOptions?.preserveFragment ?? false,
13
+ queryParamsHandling: metaData.additional.link.routerLinkOptions?.queryParamsHandling ?? '',
14
+ }
15
+ : undefined;
16
+ if (hasRoute) {
17
+ return ({
18
+ link: (element) => parseInterpolated(metaData.additional.link.interpolatedRoute, element),
19
+ target,
20
+ useRouterLink,
21
+ routerLinkOptions,
22
+ });
23
+ }
24
+ else {
25
+ const slashIfNeeded = !metaData.additional?.link?.base?.endsWith('/') ? '/' : '';
26
+ const base = metaData.additional.link?.base || metaData.additional.base;
27
+ const getKey = key(metaData);
28
+ return ({
29
+ link: (element) => `${base}${slashIfNeeded}${getKey(element)}`,
30
+ target,
31
+ useRouterLink,
32
+ routerLinkOptions,
33
+ });
34
+ }
35
+ }
36
+ const key = (metaData) => metaData.additional.link?.urlKey ?
37
+ (element) => get(element, metaData.additional.link.urlKey) :
38
+ metaData.additional.urlKey ?
39
+ (element) => get(element, metaData.additional.urlKey) :
40
+ (element) => get(element, metaData.key);
41
+ const parseInterpolated = (interpolatedString, element) => interpolatedString.replace(/{([^}]+)}/g, (_, key) => get(element, key));
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1jcmVhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9zZXJ2aWNlcy9saW5rLWNyZWF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzdCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxRQUFxQjtJQUN4RCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDO0lBQzVGLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLGFBQWEsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQztJQUNyRyxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLENBQUM7SUFDaEUsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ2hILEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDN0MsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSTtRQUNkLFFBQVEsRUFBRSxRQUFRLENBQUMsVUFBVyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRO1FBQ2hFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxVQUFXLENBQUMsSUFBSyxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixJQUFJLEtBQUs7UUFDekYsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLElBQUksRUFBRTtLQUM3RjtRQUNELENBQUMsQ0FBQyxTQUFTLENBQUM7SUFJWixJQUFJLFFBQVEsRUFBRTtRQUNaLE9BQU8sQ0FBQztZQUNOLElBQUksRUFBRSxDQUFDLE9BQVUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsaUJBQWtCLEVBQUUsT0FBTyxDQUFDO1lBQy9GLE1BQU07WUFDTixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztLQUNKO1NBQU07UUFDTCxNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxVQUFXLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVyxDQUFDLElBQUksQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDO1lBQ04sSUFBSSxFQUFFLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxhQUFhLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2pFLE1BQU07WUFDTixhQUFhO1lBQ2IsaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQUVELE1BQU0sR0FBRyxHQUFHLENBQUMsUUFBbUIsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQyxPQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUcsUUFBUSxDQUFDLFVBQVcsQ0FBQyxJQUFLLENBQUMsTUFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDNUUsUUFBUSxDQUFDLFVBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDLE9BQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRyxRQUFRLENBQUMsVUFBVyxDQUFDLE1BQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUMsT0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUU5QyxNQUFNLGlCQUFpQixHQUFHLENBQUUsa0JBQTBCLEVBQUUsT0FBWSxFQUFHLEVBQUUsQ0FDdkUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldCB9IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7IE1ldGFEYXRhIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZlwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGlua0NyZWF0b3I8VD4obWV0YURhdGE6IE1ldGFEYXRhPFQ+KXtcbiAgY29uc3QgdGFyZ2V0ID0gbWV0YURhdGEuYWRkaXRpb25hbD8ubGluaz8udGFyZ2V0IHx8IG1ldGFEYXRhLmFkZGl0aW9uYWw/LnRhcmdldCB8fCAnX2JsYW5rJztcbiAgY29uc3QgdXNlUm91dGVyTGluayA9IG1ldGFEYXRhLmFkZGl0aW9uYWw/Lmxpbms/LnVzZVJvdXRlckxpbmsgfHwgbWV0YURhdGEuYWRkaXRpb25hbD8udXNlUm91dGVyTGluaztcbiAgY29uc3QgaGFzUm91dGUgPSAhIW1ldGFEYXRhLmFkZGl0aW9uYWw/Lmxpbms/LmludGVycG9sYXRlZFJvdXRlO1xuICBjb25zdCByb3V0ZXJMaW5rT3B0aW9ucyA9IHVzZVJvdXRlckxpbmsgPyB7XG4gICAgcXVlcnlQYXJhbXM6IChlbGVtZW50KSA9PiBtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rIS5yb3V0ZXJMaW5rT3B0aW9ucz8ucXVlcnlQYXJhbXM/LnJlZHVjZSgobWFwLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIG1hcFtrZXldID0gcGFyc2VJbnRlcnBvbGF0ZWQodmFsdWUsIGVsZW1lbnQpO1xuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LCB7fSkgPz8gbnVsbCxcbiAgICBmcmFnbWVudDogbWV0YURhdGEuYWRkaXRpb25hbCEubGluaz8ucm91dGVyTGlua09wdGlvbnM/LmZyYWdtZW50LFxuICAgIHByZXNlcnZlRnJhZ21lbnQ6IG1ldGFEYXRhLmFkZGl0aW9uYWwhLmxpbmshLnJvdXRlckxpbmtPcHRpb25zPy5wcmVzZXJ2ZUZyYWdtZW50ID8/IGZhbHNlLFxuICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IG1ldGFEYXRhLmFkZGl0aW9uYWwhLmxpbmshLnJvdXRlckxpbmtPcHRpb25zPy5xdWVyeVBhcmFtc0hhbmRsaW5nID8/ICcnLFxuICB9XG4gIDogdW5kZWZpbmVkO1xuXG5cblxuICBpZiAoaGFzUm91dGUpIHtcbiAgICByZXR1cm4gKHtcbiAgICAgIGxpbms6IChlbGVtZW50OiBUKSA9PiBwYXJzZUludGVycG9sYXRlZChtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rIS5pbnRlcnBvbGF0ZWRSb3V0ZSEsIGVsZW1lbnQpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdXNlUm91dGVyTGluayxcbiAgICAgIHJvdXRlckxpbmtPcHRpb25zLFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNsYXNoSWZOZWVkZWQgPSAhbWV0YURhdGEuYWRkaXRpb25hbD8ubGluaz8uYmFzZT8uZW5kc1dpdGgoJy8nKSA/ICcvJyA6ICcnO1xuICAgIGNvbnN0IGJhc2UgPSBtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rPy5iYXNlIHx8IG1ldGFEYXRhLmFkZGl0aW9uYWwhLmJhc2U7XG4gICAgY29uc3QgZ2V0S2V5ID0ga2V5KG1ldGFEYXRhKTtcbiAgICByZXR1cm4gKHtcbiAgICAgIGxpbms6IChlbGVtZW50OiBUKSA9PiBgJHtiYXNlfSR7c2xhc2hJZk5lZWRlZH0ke2dldEtleShlbGVtZW50KX1gLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdXNlUm91dGVyTGluayxcbiAgICAgIHJvdXRlckxpbmtPcHRpb25zLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IGtleSA9IChtZXRhRGF0YSA6IE1ldGFEYXRhKSA9PiBtZXRhRGF0YS5hZGRpdGlvbmFsIS5saW5rPy51cmxLZXkgPyBcbiAgKGVsZW1lbnQ6YW55KSA9PiBnZXQoZWxlbWVudCwgKG1ldGFEYXRhLmFkZGl0aW9uYWwhLmxpbmshLnVybEtleSBhcyBzdHJpbmcpKSA6XG4gICAgbWV0YURhdGEuYWRkaXRpb25hbCEudXJsS2V5ID9cbiAgKGVsZW1lbnQ6YW55KSA9PiBnZXQoZWxlbWVudCwgKG1ldGFEYXRhLmFkZGl0aW9uYWwhLnVybEtleSBhcyBzdHJpbmcpKSA6XG4gIChlbGVtZW50OmFueSkgPT4gZ2V0KGVsZW1lbnQsIG1ldGFEYXRhLmtleSk7XG5cbmNvbnN0IHBhcnNlSW50ZXJwb2xhdGVkID0gKCBpbnRlcnBvbGF0ZWRTdHJpbmc6IHN0cmluZywgZWxlbWVudDogYW55ICkgPT5cbiAgaW50ZXJwb2xhdGVkU3RyaW5nLnJlcGxhY2UoL3soW159XSspfS9nLCAoXywga2V5KSA9PiBnZXQoZWxlbWVudCAsa2V5KSk7Il19
@@ -1,44 +1,44 @@
1
- import { Injectable } from "@angular/core";
2
- import { InitializationComponent } from "../components/initialization-component/initialization-component";
3
- import { FieldType } from "../interfaces/report-def";
4
- import * as i0 from "@angular/core";
5
- export class TableTemplateService {
6
- constructor(resolver, i) {
7
- const factory = resolver.resolveComponentFactory(InitializationComponent);
8
- const c = factory.create(i);
9
- this.instance = c.instance;
10
- this.initTemplates();
11
- }
12
- initTemplates() {
13
- this.templates = {};
14
- this.templates[FieldType.Array] = this.instance.arrayTemplate;
15
- this.templates[FieldType.Boolean] = this.instance.defaultWithIcon;
16
- this.templates[FieldType.Currency] = this.instance.defaultTemplate;
17
- this.templates[FieldType.Date] = this.instance.defaultTemplate;
18
- this.templates[FieldType.DateTime] = this.instance.defaultTemplate;
19
- this.templates[FieldType.Expression] = this.instance.defaultTemplate;
20
- this.templates[FieldType.ImageUrl] = this.instance.imageUrlTemplate;
21
- this.templates[FieldType.Link] = this.instance.linkTemplate;
22
- this.templates[FieldType.Number] = this.instance.defaultTemplate;
23
- this.templates[FieldType.PhoneNumber] = this.instance.defaultTemplate;
24
- this.templates[FieldType.String] = this.instance.defaultTemplate;
25
- this.templates[FieldType.Unknown] = this.instance.defaultTemplate;
26
- this.templates[FieldType.Enum] = this.instance.defaultTemplate;
27
- }
28
- getTemplate(metaData) {
29
- let tmp = this.templates[metaData.fieldType];
30
- if (metaData.useIcon) {
31
- if (tmp === this.instance.defaultTemplate) {
32
- tmp = this.instance.defaultWithIcon;
33
- }
34
- }
35
- return tmp;
36
- }
37
- }
38
- TableTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
39
- TableTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, providedIn: 'root' });
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, decorators: [{
41
- type: Injectable,
42
- args: [{ providedIn: 'root' }]
43
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtcGxhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL3NlcnZpY2VzL3RhYmxlLXRlbXBsYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sMEJBQTBCLENBQUM7O0FBRy9ELE1BQU0sT0FBTyxvQkFBb0I7SUErQi9CLFlBQVksUUFBa0MsRUFBRSxDQUFXO1FBQ3JELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBaENELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ2pFLENBQUM7SUFDRCxXQUFXLENBQUMsUUFBa0I7UUFFNUIsSUFBSSxHQUFHLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBRyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ25CLElBQUcsR0FBRyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO2dCQUN4QyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7YUFDckM7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7aUhBN0JVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLGNBRFIsTUFBTTsyRkFDbEIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tIFwiLi4vY2xhc3Nlcy90YWJsZS1zdG9yZVwiO1xyXG5pbXBvcnQgeyBJbml0aWFsaXphdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2luaXRpYWxpemF0aW9uLWNvbXBvbmVudC9pbml0aWFsaXphdGlvbi1jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWZcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgVGFibGVUZW1wbGF0ZVNlcnZpY2Uge1xyXG4gIGluc3RhbmNlITogSW5pdGlhbGl6YXRpb25Db21wb25lbnQ7XHJcbiAgdGVtcGxhdGVzO1xyXG5cclxuICBpbml0VGVtcGxhdGVzKCkge1xyXG4gICAgdGhpcy50ZW1wbGF0ZXMgPSB7IH07XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuQXJyYXldID0gdGhpcy5pbnN0YW5jZS5hcnJheVRlbXBsYXRlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkJvb2xlYW5dID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0V2l0aEljb247XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuQ3VycmVuY3ldID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0VGVtcGxhdGU7XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuRGF0ZV0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5EYXRlVGltZV0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5FeHByZXNzaW9uXSA9IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkltYWdlVXJsXSA9IHRoaXMuaW5zdGFuY2UuaW1hZ2VVcmxUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5MaW5rXSA9IHRoaXMuaW5zdGFuY2UubGlua1RlbXBsYXRlO1xyXG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLk51bWJlcl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5QaG9uZU51bWJlcl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5TdHJpbmddID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0VGVtcGxhdGU7XHJcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuVW5rbm93bl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcclxuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5FbnVtXSA9IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlO1xyXG4gIH1cclxuICBnZXRUZW1wbGF0ZShtZXRhRGF0YTogTWV0YURhdGEpIDogVGVtcGxhdGVSZWY8YW55PiB7XHJcblxyXG4gICAgbGV0IHRtcCA9ICB0aGlzLnRlbXBsYXRlc1ttZXRhRGF0YS5maWVsZFR5cGVdO1xyXG4gICAgaWYobWV0YURhdGEudXNlSWNvbikge1xyXG4gICAgICBpZih0bXAgPT09IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlKSB7XHJcbiAgICAgICAgdG1wID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0V2l0aEljb247XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0bXA7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihyZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBpOiBJbmplY3RvciwgICkge1xyXG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSByZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShJbml0aWFsaXphdGlvbkNvbXBvbmVudCk7XHJcbiAgICAgICAgY29uc3QgYyA9IGZhY3RvcnkuY3JlYXRlKGkpO1xyXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBjLmluc3RhbmNlO1xyXG4gICAgICAgIHRoaXMuaW5pdFRlbXBsYXRlcygpO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Injectable } from "@angular/core";
2
+ import { InitializationComponent } from "../components/initialization-component/initialization-component";
3
+ import { FieldType } from "../interfaces/report-def";
4
+ import * as i0 from "@angular/core";
5
+ export class TableTemplateService {
6
+ constructor(resolver, i) {
7
+ const factory = resolver.resolveComponentFactory(InitializationComponent);
8
+ const c = factory.create(i);
9
+ this.instance = c.instance;
10
+ this.initTemplates();
11
+ }
12
+ initTemplates() {
13
+ this.templates = {};
14
+ this.templates[FieldType.Array] = this.instance.arrayTemplate;
15
+ this.templates[FieldType.Boolean] = this.instance.defaultWithIcon;
16
+ this.templates[FieldType.Currency] = this.instance.defaultTemplate;
17
+ this.templates[FieldType.Date] = this.instance.defaultTemplate;
18
+ this.templates[FieldType.DateTime] = this.instance.defaultTemplate;
19
+ this.templates[FieldType.Expression] = this.instance.defaultTemplate;
20
+ this.templates[FieldType.ImageUrl] = this.instance.imageUrlTemplate;
21
+ this.templates[FieldType.Link] = this.instance.linkTemplate;
22
+ this.templates[FieldType.Number] = this.instance.defaultTemplate;
23
+ this.templates[FieldType.PhoneNumber] = this.instance.defaultTemplate;
24
+ this.templates[FieldType.String] = this.instance.defaultTemplate;
25
+ this.templates[FieldType.Unknown] = this.instance.defaultTemplate;
26
+ this.templates[FieldType.Enum] = this.instance.defaultTemplate;
27
+ }
28
+ getTemplate(metaData) {
29
+ let tmp = this.templates[metaData.fieldType];
30
+ if (metaData.useIcon) {
31
+ if (tmp === this.instance.defaultTemplate) {
32
+ tmp = this.instance.defaultWithIcon;
33
+ }
34
+ }
35
+ return tmp;
36
+ }
37
+ }
38
+ TableTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ TableTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, providedIn: 'root' });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: TableTemplateService, decorators: [{
41
+ type: Injectable,
42
+ args: [{ providedIn: 'root' }]
43
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtdGVtcGxhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL3NlcnZpY2VzL3RhYmxlLXRlbXBsYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sMEJBQTBCLENBQUM7O0FBRy9ELE1BQU0sT0FBTyxvQkFBb0I7SUErQi9CLFlBQVksUUFBa0MsRUFBRSxDQUFXO1FBQ3JELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBaENELGFBQWE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUMvRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzVELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO0lBQ2pFLENBQUM7SUFDRCxXQUFXLENBQUMsUUFBa0I7UUFFNUIsSUFBSSxHQUFHLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBRyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ25CLElBQUcsR0FBRyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO2dCQUN4QyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7YUFDckM7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7aUhBN0JVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLGNBRFIsTUFBTTsyRkFDbEIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gXCIuLi9jbGFzc2VzL3RhYmxlLXN0b3JlXCI7XG5pbXBvcnQgeyBJbml0aWFsaXphdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL2luaXRpYWxpemF0aW9uLWNvbXBvbmVudC9pbml0aWFsaXphdGlvbi1jb21wb25lbnRcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmXCI7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFRhYmxlVGVtcGxhdGVTZXJ2aWNlIHtcbiAgaW5zdGFuY2UhOiBJbml0aWFsaXphdGlvbkNvbXBvbmVudDtcbiAgdGVtcGxhdGVzO1xuXG4gIGluaXRUZW1wbGF0ZXMoKSB7XG4gICAgdGhpcy50ZW1wbGF0ZXMgPSB7IH07XG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkFycmF5XSA9IHRoaXMuaW5zdGFuY2UuYXJyYXlUZW1wbGF0ZTtcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuQm9vbGVhbl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRXaXRoSWNvbjtcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuQ3VycmVuY3ldID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0VGVtcGxhdGU7XG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkRhdGVdID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0VGVtcGxhdGU7XG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkRhdGVUaW1lXSA9IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlO1xuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5FeHByZXNzaW9uXSA9IHRoaXMuaW5zdGFuY2UuZGVmYXVsdFRlbXBsYXRlO1xuICAgIHRoaXMudGVtcGxhdGVzW0ZpZWxkVHlwZS5JbWFnZVVybF0gPSB0aGlzLmluc3RhbmNlLmltYWdlVXJsVGVtcGxhdGU7XG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLkxpbmtdID0gdGhpcy5pbnN0YW5jZS5saW5rVGVtcGxhdGU7XG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLk51bWJlcl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuUGhvbmVOdW1iZXJdID0gdGhpcy5pbnN0YW5jZS5kZWZhdWx0VGVtcGxhdGU7XG4gICAgdGhpcy50ZW1wbGF0ZXNbRmllbGRUeXBlLlN0cmluZ10gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuVW5rbm93bl0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcbiAgICB0aGlzLnRlbXBsYXRlc1tGaWVsZFR5cGUuRW51bV0gPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZTtcbiAgfVxuICBnZXRUZW1wbGF0ZShtZXRhRGF0YTogTWV0YURhdGEpIDogVGVtcGxhdGVSZWY8YW55PiB7XG5cbiAgICBsZXQgdG1wID0gIHRoaXMudGVtcGxhdGVzW21ldGFEYXRhLmZpZWxkVHlwZV07XG4gICAgaWYobWV0YURhdGEudXNlSWNvbikge1xuICAgICAgaWYodG1wID09PSB0aGlzLmluc3RhbmNlLmRlZmF1bHRUZW1wbGF0ZSkge1xuICAgICAgICB0bXAgPSB0aGlzLmluc3RhbmNlLmRlZmF1bHRXaXRoSWNvbjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRtcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIGk6IEluamVjdG9yLCAgKSB7XG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSByZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShJbml0aWFsaXphdGlvbkNvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IGMgPSBmYWN0b3J5LmNyZWF0ZShpKTtcbiAgICAgICAgdGhpcy5pbnN0YW5jZSA9IGMuaW5zdGFuY2U7XG4gICAgICAgIHRoaXMuaW5pdFRlbXBsYXRlcygpO1xuICB9XG59XG4iXX0=