@one-paragon/angular-utilities 1.0.4 → 1.1.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 (398) hide show
  1. package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -0
  2. package/action-state/action-state-ui/action-state-ui.module.d.ts +7 -0
  3. package/{src/action-state/index.ts → action-state/index.d.ts} +4 -8
  4. package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -0
  5. package/action-state/ngrx.d.ts +31 -0
  6. package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +24 -0
  7. package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +20 -0
  8. package/esm2022/action-state/index.mjs +8 -0
  9. package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -0
  10. package/esm2022/action-state/ngrx.mjs +42 -0
  11. package/esm2022/http-request-state/HttpRequestStateFactory.mjs +52 -0
  12. package/esm2022/http-request-state/HttpRequestStateStore.mjs +101 -0
  13. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +34 -0
  14. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +29 -0
  15. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +29 -0
  16. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +29 -0
  17. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +34 -0
  18. package/esm2022/http-request-state/directives/index.mjs +6 -0
  19. package/esm2022/http-request-state/directives/request-state-directive.mjs +60 -0
  20. package/esm2022/http-request-state/helpers.mjs +22 -0
  21. package/esm2022/http-request-state/http-request-state.mjs +39 -0
  22. package/esm2022/http-request-state/http-state-module.mjs +40 -0
  23. package/esm2022/http-request-state/index.mjs +7 -0
  24. package/esm2022/http-request-state/rxjs/getRequestorBody.mjs +4 -0
  25. package/esm2022/http-request-state/rxjs/getRequestorState.mjs +3 -0
  26. package/esm2022/http-request-state/rxjs/index.mjs +5 -0
  27. package/esm2022/http-request-state/rxjs/tapError.mjs +12 -0
  28. package/esm2022/http-request-state/rxjs/tapSuccess.mjs +12 -0
  29. package/esm2022/http-request-state/types.mjs +16 -0
  30. package/esm2022/ngrx/actionable-selector.mjs +73 -0
  31. package/esm2022/ngrx/index.mjs +2 -0
  32. package/esm2022/one-paragon-angular-utilities.mjs +5 -0
  33. package/esm2022/public-api.mjs +20 -0
  34. package/esm2022/rxjs/defaultShareReplay.mjs +7 -0
  35. package/esm2022/rxjs/index.mjs +6 -0
  36. package/esm2022/rxjs/mapError.mjs +8 -0
  37. package/esm2022/rxjs/rxjs-operators.mjs +92 -0
  38. package/esm2022/rxjs/subjectifier.mjs +15 -0
  39. package/esm2022/rxjs/subscriber.directive.mjs +50 -0
  40. package/esm2022/table-builder/classes/DefaultSettings.mjs +6 -0
  41. package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +21 -0
  42. package/esm2022/table-builder/classes/TableBuilderConfig.mjs +18 -0
  43. package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +53 -0
  44. package/esm2022/table-builder/classes/TableState.mjs +44 -0
  45. package/esm2022/table-builder/classes/display-col.mjs +2 -0
  46. package/esm2022/table-builder/classes/filter-info.mjs +73 -0
  47. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +86 -0
  48. package/esm2022/table-builder/classes/table-builder.mjs +41 -0
  49. package/esm2022/table-builder/classes/table-store.mjs +356 -0
  50. package/esm2022/table-builder/components/array-column.component.mjs +57 -0
  51. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +125 -0
  52. package/esm2022/table-builder/components/column-builder/column-helpers.mjs +26 -0
  53. package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +29 -0
  54. package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +24 -0
  55. package/esm2022/table-builder/components/filter/filter.component.mjs +67 -0
  56. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +101 -0
  57. package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +53 -0
  58. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +203 -0
  59. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +80 -0
  60. package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +23 -0
  61. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +100 -0
  62. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +64 -0
  63. package/esm2022/table-builder/components/index.mjs +10 -0
  64. package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +40 -0
  65. package/esm2022/table-builder/components/link-column.component.mjs +78 -0
  66. package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +29 -0
  67. package/esm2022/table-builder/components/scroll-strategy.mjs +63 -0
  68. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +43 -0
  69. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +81 -0
  70. package/esm2022/table-builder/components/table-container/table-container-imports.mjs +26 -0
  71. package/esm2022/table-builder/components/table-container/table-container.helpers/data-state.helpers.mjs +135 -0
  72. package/esm2022/table-builder/components/table-container/table-container.helpers/filter-state.helpers.mjs +83 -0
  73. package/esm2022/table-builder/components/table-container/table-container.helpers/groupBy.helpers.mjs +71 -0
  74. package/esm2022/table-builder/components/table-container/table-container.helpers/sort-state.helpers.mjs +36 -0
  75. package/esm2022/table-builder/components/table-container/table-container.mjs +305 -0
  76. package/esm2022/table-builder/components/table-container/tableProps.mjs +7 -0
  77. package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +105 -0
  78. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +47 -0
  79. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +36 -0
  80. package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +25 -0
  81. package/esm2022/table-builder/directives/custom-cell-directive.mjs +70 -0
  82. package/esm2022/table-builder/directives/index.mjs +6 -0
  83. package/esm2022/table-builder/directives/multi-sort.directive.mjs +50 -0
  84. package/esm2022/table-builder/directives/resize-column.directive.mjs +88 -0
  85. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +20 -0
  86. package/esm2022/table-builder/directives/tb-filter.directive.mjs +410 -0
  87. package/esm2022/table-builder/enums/filterTypes.mjs +72 -0
  88. package/esm2022/table-builder/functions/boolean-filter-function.mjs +10 -0
  89. package/esm2022/table-builder/functions/date-filter-function.mjs +58 -0
  90. package/esm2022/table-builder/functions/download-data.mjs +12 -0
  91. package/esm2022/table-builder/functions/null-filter-function.mjs +8 -0
  92. package/esm2022/table-builder/functions/number-filter-function.mjs +32 -0
  93. package/esm2022/table-builder/functions/sort-data-function.mjs +17 -0
  94. package/esm2022/table-builder/functions/string-filter-function.mjs +41 -0
  95. package/esm2022/table-builder/interfaces/ColumnInfo.mjs +2 -0
  96. package/esm2022/table-builder/interfaces/dictionary.mjs +2 -0
  97. package/esm2022/table-builder/interfaces/report-def.mjs +50 -0
  98. package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +115 -0
  99. package/esm2022/table-builder/pipes/column-total.pipe.mjs +22 -0
  100. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
  101. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +45 -0
  102. package/esm2022/table-builder/pipes/key-display.mjs +20 -0
  103. package/esm2022/table-builder/services/export-to-csv.service.mjs +91 -0
  104. package/esm2022/table-builder/services/link-creator.service.mjs +50 -0
  105. package/esm2022/table-builder/services/table-template-service.mjs +56 -0
  106. package/esm2022/table-builder/services/transform-creator.mjs +105 -0
  107. package/esm2022/table-builder/table-builder.module.mjs +124 -0
  108. package/esm2022/utilities/array-helpers.mjs +14 -0
  109. package/esm2022/utilities/directives/auto-focus.directive.mjs +27 -0
  110. package/esm2022/utilities/directives/clickEmitterDirective.mjs +22 -0
  111. package/esm2022/utilities/directives/clickSubject.mjs +28 -0
  112. package/esm2022/utilities/directives/conditional-classes.directive.mjs +36 -0
  113. package/esm2022/utilities/directives/dialog-service.mjs +23 -0
  114. package/esm2022/utilities/directives/dialog.mjs +139 -0
  115. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +60 -0
  116. package/esm2022/utilities/directives/prevent-enter.directive.mjs +20 -0
  117. package/esm2022/utilities/directives/stop-propagation.directive.mjs +26 -0
  118. package/esm2022/utilities/directives/styler.mjs +42 -0
  119. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +30 -0
  120. package/esm2022/utilities/index.mjs +16 -0
  121. package/esm2022/utilities/module.mjs +90 -0
  122. package/esm2022/utilities/pipes/function.pipe.mjs +22 -0
  123. package/esm2022/utilities/pipes/phone.pipe.mjs +20 -0
  124. package/esm2022/utilities/pipes/space-case.pipes.mjs +28 -0
  125. package/fesm2022/one-paragon-angular-utilities.mjs +5376 -0
  126. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
  127. package/http-request-state/HttpRequestStateFactory.d.ts +17 -0
  128. package/http-request-state/HttpRequestStateStore.d.ts +49 -0
  129. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -0
  130. package/http-request-state/directives/http-error-state-directive.d.ts +12 -0
  131. package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -0
  132. package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -0
  133. package/http-request-state/directives/http-success-state-directive.d.ts +21 -0
  134. package/{src/http-request-state/directives/index.ts → http-request-state/directives/index.d.ts} +5 -5
  135. package/http-request-state/directives/request-state-directive.d.ts +35 -0
  136. package/http-request-state/helpers.d.ts +9 -0
  137. package/http-request-state/http-request-state.d.ts +12 -0
  138. package/http-request-state/http-state-module.d.ts +11 -0
  139. package/{src/http-request-state/index.ts → http-request-state/index.d.ts} +6 -6
  140. package/http-request-state/rxjs/getRequestorBody.d.ts +3 -0
  141. package/http-request-state/rxjs/getRequestorState.d.ts +3 -0
  142. package/{src/http-request-state/rxjs/index.ts → http-request-state/rxjs/index.d.ts} +4 -4
  143. package/http-request-state/rxjs/tapError.d.ts +3 -0
  144. package/http-request-state/rxjs/tapSuccess.d.ts +3 -0
  145. package/http-request-state/types.d.ts +41 -0
  146. package/index.d.ts +5 -0
  147. package/ngrx/actionable-selector.d.ts +17 -0
  148. package/ngrx/index.d.ts +1 -0
  149. package/package.json +30 -16
  150. package/{src/public-api.ts → public-api.d.ts} +16 -35
  151. package/rxjs/defaultShareReplay.d.ts +2 -0
  152. package/{src/rxjs/index.ts → rxjs/index.d.ts} +5 -5
  153. package/rxjs/mapError.d.ts +2 -0
  154. package/rxjs/rxjs-operators.d.ts +13 -0
  155. package/rxjs/subjectifier.d.ts +9 -0
  156. package/rxjs/subscriber.directive.d.ts +13 -0
  157. package/table-builder/classes/DefaultSettings.d.ts +9 -0
  158. package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
  159. package/table-builder/classes/TableBuilderConfig.d.ts +21 -0
  160. package/table-builder/classes/TableBuilderDataSource.d.ts +13 -0
  161. package/table-builder/classes/TableState.d.ts +53 -0
  162. package/{src/table-builder/classes/display-col.ts → table-builder/classes/display-col.d.ts} +5 -5
  163. package/table-builder/classes/filter-info.d.ts +127 -0
  164. package/table-builder/classes/table-builder-general-settings.d.ts +55 -0
  165. package/table-builder/classes/table-builder.d.ts +12 -0
  166. package/table-builder/classes/table-store.d.ts +143 -0
  167. package/table-builder/components/array-column.component.d.ts +15 -0
  168. package/table-builder/components/column-builder/column-builder.component.d.ts +51 -0
  169. package/table-builder/components/column-builder/column-helpers.d.ts +28 -0
  170. package/table-builder/components/date-filter/date-filter.component.d.ts +10 -0
  171. package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +10 -0
  172. package/table-builder/components/filter/filter.component.d.ts +112 -0
  173. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -0
  174. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -0
  175. package/table-builder/components/generic-table/generic-table.component.d.ts +63 -0
  176. package/table-builder/components/generic-table/paginator.component.d.ts +26 -0
  177. package/table-builder/components/group-by-list/group-by-list.component.d.ts +7 -0
  178. package/table-builder/components/header-menu/header-menu.component.d.ts +25 -0
  179. package/table-builder/components/in-filter/in-filter.component.d.ts +21 -0
  180. package/{src/table-builder/components/index.ts → table-builder/components/index.d.ts} +9 -9
  181. package/table-builder/components/initialization-component/initialization-component.d.ts +13 -0
  182. package/table-builder/components/link-column.component.d.ts +25 -0
  183. package/table-builder/components/number-filter/number-filter.component.d.ts +12 -0
  184. package/table-builder/components/scroll-strategy.d.ts +23 -0
  185. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
  186. package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -0
  187. package/{src/table-builder/components/table-container/table-container-imports.ts → table-builder/components/table-container/table-container-imports.d.ts} +14 -30
  188. package/table-builder/components/table-container/table-container.d.ts +76 -0
  189. package/table-builder/components/table-container/table-container.helpers/data-state.helpers.d.ts +6 -0
  190. package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +17 -0
  191. package/table-builder/components/table-container/table-container.helpers/groupBy.helpers.d.ts +17 -0
  192. package/table-builder/components/table-container/table-container.helpers/sort-state.helpers.d.ts +8 -0
  193. package/table-builder/components/table-container/tableProps.d.ts +11 -0
  194. package/table-builder/components/table-container/virtual-scroll-container.d.ts +19 -0
  195. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +16 -0
  196. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -0
  197. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
  198. package/table-builder/directives/custom-cell-directive.d.ts +31 -0
  199. package/{src/table-builder/directives/index.ts → table-builder/directives/index.d.ts} +5 -6
  200. package/table-builder/directives/multi-sort.directive.d.ts +11 -0
  201. package/table-builder/directives/resize-column.directive.d.ts +44 -0
  202. package/table-builder/directives/table-wrapper.directive.d.ts +8 -0
  203. package/table-builder/directives/tb-filter.directive.d.ts +120 -0
  204. package/table-builder/enums/filterTypes.d.ts +77 -0
  205. package/table-builder/functions/boolean-filter-function.d.ts +3 -0
  206. package/table-builder/functions/date-filter-function.d.ts +4 -0
  207. package/table-builder/functions/download-data.d.ts +1 -0
  208. package/table-builder/functions/null-filter-function.d.ts +2 -0
  209. package/table-builder/functions/number-filter-function.d.ts +4 -0
  210. package/table-builder/functions/sort-data-function.d.ts +6 -0
  211. package/table-builder/functions/string-filter-function.d.ts +7 -0
  212. package/{src/table-builder/interfaces/ColumnInfo.ts → table-builder/interfaces/ColumnInfo.d.ts} +6 -7
  213. package/{src/table-builder/interfaces/dictionary.ts → table-builder/interfaces/dictionary.d.ts} +3 -3
  214. package/table-builder/interfaces/report-def.d.ts +147 -0
  215. package/table-builder/ngrx/tableBuilderStateStore.d.ts +62 -0
  216. package/table-builder/pipes/column-total.pipe.d.ts +8 -0
  217. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
  218. package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -0
  219. package/table-builder/pipes/key-display.d.ts +11 -0
  220. package/table-builder/services/export-to-csv.service.d.ts +22 -0
  221. package/table-builder/services/link-creator.service.d.ts +16 -0
  222. package/table-builder/services/table-template-service.d.ts +15 -0
  223. package/table-builder/services/transform-creator.d.ts +21 -0
  224. package/table-builder/table-builder.module.d.ts +21 -0
  225. package/utilities/array-helpers.d.ts +1 -0
  226. package/utilities/directives/auto-focus.directive.d.ts +10 -0
  227. package/utilities/directives/clickEmitterDirective.d.ts +7 -0
  228. package/utilities/directives/clickSubject.d.ts +9 -0
  229. package/utilities/directives/conditional-classes.directive.d.ts +14 -0
  230. package/utilities/directives/dialog-service.d.ts +10 -0
  231. package/utilities/directives/dialog.d.ts +46 -0
  232. package/utilities/directives/mat-toggle-group-directive.d.ts +21 -0
  233. package/utilities/directives/prevent-enter.directive.d.ts +6 -0
  234. package/utilities/directives/stop-propagation.directive.d.ts +7 -0
  235. package/utilities/directives/styler.d.ts +17 -0
  236. package/utilities/directives/trim-whitespace.directive.d.ts +9 -0
  237. package/{src/utilities/index.ts → utilities/index.d.ts} +15 -22
  238. package/utilities/module.d.ts +19 -0
  239. package/utilities/pipes/function.pipe.d.ts +7 -0
  240. package/utilities/pipes/phone.pipe.d.ts +7 -0
  241. package/utilities/pipes/space-case.pipes.d.ts +17 -0
  242. package/karma.conf.js +0 -44
  243. package/ng-package.json +0 -7
  244. package/src/action-state/action-state-spinner/action-state-spinner.component.css +0 -16
  245. package/src/action-state/action-state-spinner/action-state-spinner.component.html +0 -6
  246. package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +0 -25
  247. package/src/action-state/action-state-spinner/action-state-spinner.component.ts +0 -26
  248. package/src/action-state/action-state-ui/action-state-ui.module.ts +0 -13
  249. package/src/action-state/ngrx-ext/ngrx-ext.module.ts +0 -15
  250. package/src/action-state/ngrx.ts +0 -69
  251. package/src/http-request-state/HttpRequestStateFactory.ts +0 -66
  252. package/src/http-request-state/HttpRequestStateStore.ts +0 -151
  253. package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -38
  254. package/src/http-request-state/directives/http-error-state-directive.ts +0 -32
  255. package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -32
  256. package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -31
  257. package/src/http-request-state/directives/http-success-state-directive.ts +0 -40
  258. package/src/http-request-state/directives/request-state-directive.spec.ts +0 -72
  259. package/src/http-request-state/directives/request-state-directive.ts +0 -79
  260. package/src/http-request-state/helpers.ts +0 -30
  261. package/src/http-request-state/http-request-state.ts +0 -69
  262. package/src/http-request-state/http-state-module.ts +0 -23
  263. package/src/http-request-state/observable.spec.ts +0 -43
  264. package/src/http-request-state/rxjs/getRequestorBody.ts +0 -10
  265. package/src/http-request-state/rxjs/getRequestorState.ts +0 -8
  266. package/src/http-request-state/rxjs/tapError.ts +0 -16
  267. package/src/http-request-state/rxjs/tapSuccess.ts +0 -16
  268. package/src/http-request-state/strategies.spec.ts +0 -42
  269. package/src/http-request-state/types.ts +0 -56
  270. package/src/ngrx/actionable-selector.ts +0 -95
  271. package/src/ngrx/index.ts +0 -1
  272. package/src/rxjs/defaultShareReplay.ts +0 -8
  273. package/src/rxjs/mapError.ts +0 -8
  274. package/src/rxjs/rxjs-operators.ts +0 -132
  275. package/src/rxjs/subjectifier.ts +0 -15
  276. package/src/rxjs/subscriber.directive.ts +0 -54
  277. package/src/specs/clickSubject.spec.ts +0 -95
  278. package/src/specs/dialog.spec.ts +0 -101
  279. package/src/specs/toggleGroupDirective.spec.ts +0 -229
  280. package/src/table-builder/classes/DefaultSettings.ts +0 -11
  281. package/src/table-builder/classes/MatTableObservableDataSource.ts +0 -23
  282. package/src/table-builder/classes/TableBuilderConfig.ts +0 -35
  283. package/src/table-builder/classes/TableBuilderDataSource.ts +0 -57
  284. package/src/table-builder/classes/TableState.ts +0 -83
  285. package/src/table-builder/classes/filter-info.ts +0 -131
  286. package/src/table-builder/classes/table-builder-general-settings.ts +0 -90
  287. package/src/table-builder/classes/table-builder.ts +0 -52
  288. package/src/table-builder/classes/table-store.ts +0 -416
  289. package/src/table-builder/components/array-column.component.ts +0 -36
  290. package/src/table-builder/components/column-builder/column-builder.component.html +0 -61
  291. package/src/table-builder/components/column-builder/column-builder.component.scss +0 -43
  292. package/src/table-builder/components/column-builder/column-builder.component.spec.ts +0 -49
  293. package/src/table-builder/components/column-builder/column-builder.component.ts +0 -137
  294. package/src/table-builder/components/column-builder/column-helpers.ts +0 -36
  295. package/src/table-builder/components/date-filter/date-filter.component.html +0 -23
  296. package/src/table-builder/components/date-filter/date-filter.component.ts +0 -24
  297. package/src/table-builder/components/date-time-filter/date-time-filter.component.html +0 -9
  298. package/src/table-builder/components/date-time-filter/date-time-filter.component.ts +0 -22
  299. package/src/table-builder/components/filter/filter.component.html +0 -88
  300. package/src/table-builder/components/filter/filter.component.scss +0 -64
  301. package/src/table-builder/components/filter/filter.component.spec.ts +0 -87
  302. package/src/table-builder/components/filter/filter.component.ts +0 -55
  303. package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -92
  304. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +0 -55
  305. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +0 -57
  306. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +0 -57
  307. package/src/table-builder/components/generic-table/generic-table.component.html +0 -71
  308. package/src/table-builder/components/generic-table/generic-table.component.scss +0 -51
  309. package/src/table-builder/components/generic-table/generic-table.component.ts +0 -228
  310. package/src/table-builder/components/generic-table/paginator.component.ts +0 -94
  311. package/src/table-builder/components/group-by-list/group-by-list.component.css +0 -8
  312. package/src/table-builder/components/group-by-list/group-by-list.component.html +0 -12
  313. package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +0 -23
  314. package/src/table-builder/components/group-by-list/group-by-list.component.ts +0 -21
  315. package/src/table-builder/components/header-menu/header-menu.component.html +0 -104
  316. package/src/table-builder/components/header-menu/header-menu.component.scss +0 -96
  317. package/src/table-builder/components/header-menu/header-menu.component.ts +0 -98
  318. package/src/table-builder/components/in-filter/in-filter.component.css +0 -3
  319. package/src/table-builder/components/in-filter/in-filter.component.html +0 -20
  320. package/src/table-builder/components/in-filter/in-filter.component.ts +0 -64
  321. package/src/table-builder/components/initialization-component/initialization-component.html +0 -29
  322. package/src/table-builder/components/initialization-component/initialization-component.ts +0 -24
  323. package/src/table-builder/components/link-column.component.ts +0 -47
  324. package/src/table-builder/components/number-filter/number-filter.component.css +0 -10
  325. package/src/table-builder/components/number-filter/number-filter.component.html +0 -19
  326. package/src/table-builder/components/number-filter/number-filter.component.spec.ts +0 -30
  327. package/src/table-builder/components/number-filter/number-filter.component.ts +0 -25
  328. package/src/table-builder/components/scroll-strategy.ts +0 -82
  329. package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -62
  330. package/src/table-builder/components/sort-menu/sort-menu.component.html +0 -111
  331. package/src/table-builder/components/sort-menu/sort-menu.component.scss +0 -119
  332. package/src/table-builder/components/sort-menu/sort-menu.component.ts +0 -95
  333. package/src/table-builder/components/table-container/table-container.css +0 -45
  334. package/src/table-builder/components/table-container/table-container.helpers/data-state.helpers.ts +0 -141
  335. package/src/table-builder/components/table-container/table-container.helpers/filter-state.helpers.ts +0 -106
  336. package/src/table-builder/components/table-container/table-container.helpers/groupBy.helpers.ts +0 -69
  337. package/src/table-builder/components/table-container/table-container.helpers/sort-state.helpers.ts +0 -45
  338. package/src/table-builder/components/table-container/table-container.html +0 -117
  339. package/src/table-builder/components/table-container/table-container.spec.ts +0 -154
  340. package/src/table-builder/components/table-container/table-container.ts +0 -331
  341. package/src/table-builder/components/table-container/tableProps.ts +0 -18
  342. package/src/table-builder/components/table-container/virtual-scroll-container.ts +0 -126
  343. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +0 -31
  344. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +0 -52
  345. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +0 -42
  346. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +0 -10
  347. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +0 -86
  348. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +0 -38
  349. package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +0 -23
  350. package/src/table-builder/directives/custom-cell-directive.ts +0 -59
  351. package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
  352. package/src/table-builder/directives/multi-sort.directive.ts +0 -49
  353. package/src/table-builder/directives/resize-column.directive.ts +0 -105
  354. package/src/table-builder/directives/table-wrapper.directive.ts +0 -14
  355. package/src/table-builder/directives/tb-filter.directive.ts +0 -370
  356. package/src/table-builder/enums/filterTypes.ts +0 -79
  357. package/src/table-builder/functions/boolean-filter-function.ts +0 -13
  358. package/src/table-builder/functions/date-filter-function.ts +0 -69
  359. package/src/table-builder/functions/download-data.ts +0 -11
  360. package/src/table-builder/functions/null-filter-function.ts +0 -9
  361. package/src/table-builder/functions/number-filter-function.ts +0 -42
  362. package/src/table-builder/functions/sort-data-function.ts +0 -23
  363. package/src/table-builder/functions/string-filter-function.ts +0 -52
  364. package/src/table-builder/interfaces/column-template.ts +0 -9
  365. package/src/table-builder/interfaces/report-def.ts +0 -153
  366. package/src/table-builder/ngrx/tableBuilderStateStore.ts +0 -143
  367. package/src/table-builder/pipes/column-total.pipe.ts +0 -17
  368. package/src/table-builder/pipes/format-filter-type.pipe.ts +0 -12
  369. package/src/table-builder/pipes/format-filter-value.pipe.ts +0 -41
  370. package/src/table-builder/pipes/key-display.ts +0 -16
  371. package/src/table-builder/services/export-to-csv.service.ts +0 -95
  372. package/src/table-builder/services/link-creator.service.ts +0 -68
  373. package/src/table-builder/services/table-template-service.ts +0 -55
  374. package/src/table-builder/services/transform-creator.ts +0 -92
  375. package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
  376. package/src/table-builder/styles/collapser.styles.scss +0 -15
  377. package/src/table-builder/table-builder.module.ts +0 -73
  378. package/src/test.ts +0 -17
  379. package/src/utilities/array-helpers.ts +0 -13
  380. package/src/utilities/directives/auto-focus.directive.ts +0 -20
  381. package/src/utilities/directives/clickEmitterDirective.ts +0 -16
  382. package/src/utilities/directives/clickSubject.ts +0 -20
  383. package/src/utilities/directives/conditional-classes.directive.ts +0 -36
  384. package/src/utilities/directives/dialog-service.ts +0 -19
  385. package/src/utilities/directives/dialog.ts +0 -142
  386. package/src/utilities/directives/mat-toggle-group-directive.ts +0 -61
  387. package/src/utilities/directives/prevent-enter.directive.ts +0 -13
  388. package/src/utilities/directives/stop-propagation.directive.ts +0 -20
  389. package/src/utilities/directives/styler.ts +0 -39
  390. package/src/utilities/directives/trim-whitespace.directive.ts +0 -21
  391. package/src/utilities/module.ts +0 -55
  392. package/src/utilities/pipes/function.pipe.ts +0 -16
  393. package/src/utilities/pipes/phone.pipe.ts +0 -15
  394. package/src/utilities/pipes/space-case.pipes.spec.ts +0 -47
  395. package/src/utilities/pipes/space-case.pipes.ts +0 -23
  396. package/tsconfig.lib.json +0 -19
  397. package/tsconfig.lib.prod.json +0 -10
  398. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,12 @@
1
+ export function downloadData(data, filename, mimeType) {
2
+ const url = URL.createObjectURL(new Blob([data], { type: mimeType }));
3
+ const downloadLink = document.createElement('a');
4
+ downloadLink.download = filename;
5
+ downloadLink.href = url;
6
+ downloadLink.style.display = 'none';
7
+ document.body.appendChild(downloadLink);
8
+ downloadLink.click();
9
+ document.body.removeChild(downloadLink);
10
+ URL.revokeObjectURL(url);
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2Z1bmN0aW9ucy9kb3dubG9hZC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7SUFDM0UsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELFlBQVksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ2pDLFlBQVksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0lBQ3hCLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUNwQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkRGF0YShkYXRhOiBzdHJpbmcsIGZpbGVuYW1lOiBzdHJpbmcsIG1pbWVUeXBlOiBzdHJpbmcpIHtcclxuICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtkYXRhXSwgeyB0eXBlOiBtaW1lVHlwZSB9KSk7XHJcbiAgY29uc3QgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gIGRvd25sb2FkTGluay5kb3dubG9hZCA9IGZpbGVuYW1lO1xyXG4gIGRvd25sb2FkTGluay5ocmVmID0gdXJsO1xyXG4gIGRvd25sb2FkTGluay5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG93bmxvYWRMaW5rKTtcclxuICBkb3dubG9hZExpbmsuY2xpY2soKTtcclxuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkTGluayk7XHJcbiAgVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export const isNull = (filterInfo) => {
2
+ const func = filterInfo.filterValue ?
3
+ (val) => val == null || val === ''
4
+ :
5
+ (val) => val != null && val !== '';
6
+ return func;
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbC1maWx0ZXItZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9mdW5jdGlvbnMvbnVsbC1maWx0ZXItZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUEyQixDQUFDLFVBQXFCLEVBQUUsRUFBRTtJQUN0RSxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxLQUFLLEVBQUU7UUFDdkMsQ0FBQztZQUNELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDeEMsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyRnVuYywgRmlsdGVySW5mbyB9IGZyb20gJy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzTnVsbDpGaWx0ZXJGdW5jPGJvb2xlYW4sYW55PiA9IChmaWx0ZXJJbmZvOkZpbHRlckluZm8pID0+IHtcclxuICBjb25zdCBmdW5jID0gZmlsdGVySW5mby5maWx0ZXJWYWx1ZSA/XHJcbiAgICAodmFsOiBhbnkpID0+IHZhbCA9PSBudWxsIHx8IHZhbCA9PT0gJydcclxuICAgIDpcclxuICAgICh2YWw6IGFueSkgPT4gdmFsICE9IG51bGwgJiYgdmFsICE9PSAnJztcclxuICAgIHJldHVybiBmdW5jO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { FilterType } from '../enums/filterTypes';
2
+ import { isNull } from './null-filter-function';
3
+ const numberEqalsFunc = (filterInfo) => (val) => {
4
+ return val === filterInfo.filterValue;
5
+ };
6
+ const numberNotEqualFunc = (filterInfo) => (val) => {
7
+ return val !== filterInfo.filterValue;
8
+ };
9
+ const numberGreaterThanFunc = (filterInfo) => (val) => {
10
+ return val > filterInfo.filterValue;
11
+ };
12
+ const numberLessThanFunc = (filterInfo) => (val) => {
13
+ return val < filterInfo.filterValue;
14
+ };
15
+ const numberBetweenFunc = (filterInfo) => {
16
+ const startVal = Number(filterInfo.filterValue.Start);
17
+ const endVal = Number(filterInfo.filterValue.End);
18
+ return ((val) => (val > startVal) && (val < endVal));
19
+ };
20
+ export const multipleNumberValuesEqualsFunc = (filterInfo) => {
21
+ return ((val) => filterInfo.filterValue.some((value) => val === value));
22
+ };
23
+ export const NumberFilterFuncs = {
24
+ [FilterType.NumberEquals]: numberEqalsFunc,
25
+ [FilterType.NumberNotEqual]: numberNotEqualFunc,
26
+ [FilterType.NumberGreaterThan]: numberGreaterThanFunc,
27
+ [FilterType.NumberLessThan]: numberLessThanFunc,
28
+ [FilterType.NumberBetween]: numberBetweenFunc,
29
+ [FilterType.IsNull]: isNull,
30
+ [FilterType.In]: multipleNumberValuesEqualsFunc,
31
+ };
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpbHRlci1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2Z1bmN0aW9ucy9udW1iZXItZmlsdGVyLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJaEQsTUFBTSxlQUFlLEdBQW9CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUNwRyxPQUFRLEdBQUcsS0FBSyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQzNDLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQW1CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUN4RyxPQUFPLEdBQUcsS0FBSyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ3hDLENBQUMsQ0FBQTtBQUVELE1BQU8scUJBQXFCLEdBQW1CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUMxRyxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ3hDLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQW1CLENBQUMsVUFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFXLEVBQVksRUFBRTtJQUN0RyxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDO0FBQ3hDLENBQUMsQ0FBQTtBQUVELE1BQU8saUJBQWlCLEdBQW9DLENBQUMsVUFBdUIsRUFBRSxFQUFFO0lBQ3RGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBK0IsQ0FBQyxVQUFxQixFQUFFLEVBQUU7SUFDbEcsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQSxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0UsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQW9DO0lBQzlELENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLGVBQWU7SUFDMUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsa0JBQWtCO0lBQy9DLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUUscUJBQXFCO0lBQ3JELENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGtCQUFrQjtJQUMvQyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxpQkFBaUI7SUFDN0MsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTTtJQUMzQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSw4QkFBOEI7Q0FDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhbmdlLCBGaWx0ZXJGdW5jLCBGaWx0ZXJJbmZvIH0gZnJvbSAnLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RpY3Rpb25hcnknO1xyXG5pbXBvcnQgeyBpc051bGwgfSBmcm9tICcuL251bGwtZmlsdGVyLWZ1bmN0aW9uJztcclxuXHJcbnR5cGUgTnVtYmVyRmlsdGVyRnVuYyA9IEZpbHRlckZ1bmM8bnVtYmVyPlxyXG5cclxuY29uc3QgbnVtYmVyRXFhbHNGdW5jOk51bWJlckZpbHRlckZ1bmMgPSAoZmlsdGVySW5mbyA6IEZpbHRlckluZm88bnVtYmVyPikgPT4gKHZhbDogbnVtYmVyKTogYm9vbGVhbiAgPT57XHJcbiAgICByZXR1cm4gIHZhbCA9PT0gZmlsdGVySW5mby5maWx0ZXJWYWx1ZTtcclxufVxyXG5cclxuY29uc3QgbnVtYmVyTm90RXF1YWxGdW5jOk51bWJlckZpbHRlckZ1bmM9IChmaWx0ZXJJbmZvIDogRmlsdGVySW5mbzxudW1iZXI+KSA9PiAodmFsOiBudW1iZXIpOiBib29sZWFuICA9PntcclxuICByZXR1cm4gdmFsICE9PSBmaWx0ZXJJbmZvLmZpbHRlclZhbHVlO1xyXG59XHJcblxyXG5jb25zdCAgbnVtYmVyR3JlYXRlclRoYW5GdW5jOk51bWJlckZpbHRlckZ1bmM9IChmaWx0ZXJJbmZvIDogRmlsdGVySW5mbzxudW1iZXI+KSA9PiAodmFsOiBudW1iZXIpOiBib29sZWFuICA9PiB7XHJcbiAgICByZXR1cm4gdmFsID4gZmlsdGVySW5mby5maWx0ZXJWYWx1ZTtcclxufVxyXG5cclxuY29uc3QgbnVtYmVyTGVzc1RoYW5GdW5jOk51bWJlckZpbHRlckZ1bmM9IChmaWx0ZXJJbmZvIDogRmlsdGVySW5mbzxudW1iZXI+KSA9PiAodmFsOiBudW1iZXIpOiBib29sZWFuICA9PiB7XHJcbiAgICByZXR1cm4gdmFsIDwgZmlsdGVySW5mby5maWx0ZXJWYWx1ZTtcclxufVxyXG5cclxuY29uc3QgIG51bWJlckJldHdlZW5GdW5jOkZpbHRlckZ1bmM8UmFuZ2U8bnVtYmVyPixudW1iZXI+ID0gKGZpbHRlckluZm8gOiBGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3Qgc3RhcnRWYWwgPSBOdW1iZXIoZmlsdGVySW5mby5maWx0ZXJWYWx1ZS5TdGFydCk7XHJcbiAgY29uc3QgZW5kVmFsID0gTnVtYmVyKGZpbHRlckluZm8uZmlsdGVyVmFsdWUuRW5kKTtcclxuICByZXR1cm4gKCh2YWwpPT4odmFsID4gc3RhcnRWYWwpICYmICh2YWwgPCBlbmRWYWwpKTtcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTnVtYmVyVmFsdWVzRXF1YWxzRnVuYzpGaWx0ZXJGdW5jPG51bWJlcltdLG51bWJlcj4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgcmV0dXJuICgodmFsKT0+ZmlsdGVySW5mby5maWx0ZXJWYWx1ZS5zb21lKCh2YWx1ZTogYW55KSA9PiB2YWwgPT09IHZhbHVlKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBOdW1iZXJGaWx0ZXJGdW5jczogRGljdGlvbmFyeTxGaWx0ZXJGdW5jPGFueSxhbnk+PiA9IHtcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlckVxdWFsc106IG51bWJlckVxYWxzRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlck5vdEVxdWFsXTogbnVtYmVyTm90RXF1YWxGdW5jLFxyXG4gICAgW0ZpbHRlclR5cGUuTnVtYmVyR3JlYXRlclRoYW5dOiBudW1iZXJHcmVhdGVyVGhhbkZ1bmMsXHJcbiAgICBbRmlsdGVyVHlwZS5OdW1iZXJMZXNzVGhhbl06IG51bWJlckxlc3NUaGFuRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLk51bWJlckJldHdlZW5dOiBudW1iZXJCZXR3ZWVuRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLklzTnVsbF06IGlzTnVsbCxcclxuICAgIFtGaWx0ZXJUeXBlLkluXTogbXVsdGlwbGVOdW1iZXJWYWx1ZXNFcXVhbHNGdW5jLFxyXG59O1xyXG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { orderBy } from 'lodash';
2
+ export function sortData(data, sorted) {
3
+ const ordered = orderBy(data, sorted.map(r => r.active), sorted.map(r => r.direction));
4
+ return ordered;
5
+ }
6
+ export function filterData(data, filters, resetAll = false) {
7
+ for (let index = 0; index < data.length; index++) {
8
+ const element = data[index];
9
+ const hide = !filters.every(filter => filter(element));
10
+ if (hide || resetAll) {
11
+ element[tbNoShowSymbol] = hide;
12
+ }
13
+ }
14
+ return data;
15
+ }
16
+ export const tbNoShowSymbol = Symbol('tb_no_show');
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kYXRhLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvZnVuY3Rpb25zL3NvcnQtZGF0YS1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBS2pDLE1BQU0sVUFBVSxRQUFRLENBQUksSUFBUyxFQUFFLE1BQWM7SUFDbkQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBa0IsQ0FBRSxDQUFDLENBQUM7SUFDakcsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUksSUFBUyxFQUFFLE9BQXVCLEVBQUUsUUFBUSxHQUFHLEtBQUs7SUFDaEYsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBRyxJQUFJLElBQUksUUFBUSxFQUFDLENBQUM7WUFDbkIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcclxuaW1wb3J0IHsgb3JkZXJCeSB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFByZWRpY2F0ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5leHBvcnQgdHlwZSBkaXJlYyA9ICdhc2MnIHwgJ2Rlc2MnIHwgYm9vbGVhbjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzb3J0RGF0YTxUPihkYXRhOiBUW10sIHNvcnRlZDogU29ydFtdKTogVFtdIHtcclxuICBjb25zdCBvcmRlcmVkID0gb3JkZXJCeShkYXRhLCBzb3J0ZWQubWFwKHIgPT4gci5hY3RpdmUpLCBzb3J0ZWQubWFwKHIgPT4gci5kaXJlY3Rpb24gYXMgZGlyZWMgKSk7XHJcbiAgcmV0dXJuIG9yZGVyZWQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJEYXRhPFQ+KGRhdGE6IFRbXSwgZmlsdGVyczogUHJlZGljYXRlPFQ+W10sIHJlc2V0QWxsID0gZmFsc2Upe1xyXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXRhLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IGRhdGFbaW5kZXhdO1xyXG4gICAgY29uc3QgaGlkZSA9ICFmaWx0ZXJzLmV2ZXJ5KGZpbHRlciA9PiBmaWx0ZXIoZWxlbWVudCkpO1xyXG4gICAgaWYoaGlkZSB8fCByZXNldEFsbCl7XHJcbiAgICAgIGVsZW1lbnRbdGJOb1Nob3dTeW1ib2xdID0gaGlkZTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGRhdGE7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB0Yk5vU2hvd1N5bWJvbCA9IFN5bWJvbCgndGJfbm9fc2hvdycpO1xyXG4iXX0=
@@ -0,0 +1,41 @@
1
+ import { FilterType } from '../enums/filterTypes';
2
+ import { isNull } from './null-filter-function';
3
+ const stringEqualFunc = (filterInfo) => {
4
+ const equelsVal = prepareForStringCompare(filterInfo.filterValue);
5
+ return ((val) => prepareForStringCompare(val) === equelsVal);
6
+ };
7
+ const stringContainsFunc = (filterInfo) => {
8
+ const containsVal = prepareForStringCompare(filterInfo.filterValue);
9
+ return ((val) => prepareForStringCompare(val).includes(containsVal));
10
+ };
11
+ const stringDoesNotContainFunc = (filterInfo) => {
12
+ const doesNotContainVal = prepareForStringCompare(filterInfo.filterValue);
13
+ return ((val) => !prepareForStringCompare(val)?.includes(doesNotContainVal));
14
+ };
15
+ const stringStartsWithFunc = (filterInfo) => {
16
+ const startsWith = prepareForStringCompare(filterInfo.filterValue);
17
+ return ((val) => prepareForStringCompare(val).startsWith(startsWith));
18
+ };
19
+ const stringEndsWithFunc = (filterInfo) => {
20
+ const startsWith = prepareForStringCompare(filterInfo.filterValue);
21
+ return ((val) => prepareForStringCompare(val).endsWith(startsWith));
22
+ };
23
+ const multipleStringValuesEqualsFunc = (filterInfo) => {
24
+ const filterVals = filterInfo.filterValue.map((v) => prepareForStringCompare(v));
25
+ return ((val) => filterVals.some((s) => prepareForStringCompare(val) === s));
26
+ };
27
+ export const StringFilterFuncs = {
28
+ [FilterType.StringEquals]: stringEqualFunc,
29
+ [FilterType.StringContains]: stringContainsFunc,
30
+ [FilterType.StringDoesNotContain]: stringDoesNotContainFunc,
31
+ [FilterType.StringStartWith]: stringStartsWithFunc,
32
+ [FilterType.StringEndsWith]: stringEndsWithFunc,
33
+ [FilterType.IsNull]: isNull,
34
+ [FilterType.In]: multipleStringValuesEqualsFunc,
35
+ };
36
+ export const EnumFilterFuncs = {
37
+ [FilterType.IsNull]: isNull,
38
+ [FilterType.In]: multipleStringValuesEqualsFunc,
39
+ };
40
+ export const prepareForStringCompare = (val) => val?.toString().trim().toLowerCase();
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZpbHRlci1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2Z1bmN0aW9ucy9zdHJpbmctZmlsdGVyLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHaEQsTUFBTSxlQUFlLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ25FLE1BQU0sU0FBUyxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBRSxDQUFDO0FBQzlELENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQTtBQUVELE1BQU0sd0JBQXdCLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQzVFLE1BQU0saUJBQWlCLEdBQUcsdUJBQXVCLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFFLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUEsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBQzdFLENBQUMsQ0FBQTtBQUVELE1BQU0sb0JBQW9CLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ3hFLE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLENBQUMsQ0FBQTtBQUVELE1BQU0sa0JBQWtCLEdBQXNCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUMsRUFBRSxDQUFBLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ3BFLENBQUMsQ0FBQTtBQUVELE1BQU0sOEJBQThCLEdBQStCLENBQUMsVUFBcUIsRUFBRSxFQUFFO0lBQzNGLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFGLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQVEsRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBc0M7SUFDaEUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsZUFBZTtJQUMxQyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxrQkFBa0I7SUFDL0MsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRSx3QkFBd0I7SUFDM0QsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsb0JBQW9CO0lBQ2xELENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLGtCQUFrQjtJQUMvQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNO0lBQzNCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLDhCQUE4QjtDQUNsRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFvQztJQUM5RCxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNO0lBQzNCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFHLDhCQUE4QjtDQUNqRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxHQUFTLEVBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckZ1bmMsIEZpbHRlckluZm8gfSBmcm9tICcuLi9jbGFzc2VzL2ZpbHRlci1pbmZvJztcclxuaW1wb3J0IHsgRmlsdGVyVHlwZSB9IGZyb20gJy4uL2VudW1zL2ZpbHRlclR5cGVzJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZGljdGlvbmFyeSc7XHJcbmltcG9ydCB7IGlzTnVsbCB9IGZyb20gJy4vbnVsbC1maWx0ZXItZnVuY3Rpb24nO1xyXG5cclxuXHJcbmNvbnN0IHN0cmluZ0VxdWFsRnVuYzpGaWx0ZXJGdW5jPHN0cmluZz4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3QgZXF1ZWxzVmFsID0gcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUoZmlsdGVySW5mby5maWx0ZXJWYWx1ZSk7XHJcbiAgcmV0dXJuICgodmFsKT0+cHJlcGFyZUZvclN0cmluZ0NvbXBhcmUodmFsKSA9PT0gZXF1ZWxzVmFsICk7XHJcbn1cclxuXHJcbmNvbnN0IHN0cmluZ0NvbnRhaW5zRnVuYzpGaWx0ZXJGdW5jPHN0cmluZz4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3QgY29udGFpbnNWYWwgPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT5wcmVwYXJlRm9yU3RyaW5nQ29tcGFyZSh2YWwpLmluY2x1ZGVzKGNvbnRhaW5zVmFsKSk7XHJcbn1cclxuXHJcbmNvbnN0IHN0cmluZ0RvZXNOb3RDb250YWluRnVuYzpGaWx0ZXJGdW5jPHN0cmluZz4gPSAoZmlsdGVySW5mbzpGaWx0ZXJJbmZvKSA9PiB7XHJcbiAgY29uc3QgZG9lc05vdENvbnRhaW5WYWwgPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT4hcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUodmFsKT8uaW5jbHVkZXMoZG9lc05vdENvbnRhaW5WYWwpKTtcclxufVxyXG5cclxuY29uc3Qgc3RyaW5nU3RhcnRzV2l0aEZ1bmM6RmlsdGVyRnVuYzxzdHJpbmc+ID0gKGZpbHRlckluZm86RmlsdGVySW5mbykgPT4ge1xyXG4gIGNvbnN0IHN0YXJ0c1dpdGggPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT5wcmVwYXJlRm9yU3RyaW5nQ29tcGFyZSh2YWwpLnN0YXJ0c1dpdGgoc3RhcnRzV2l0aCkpO1xyXG59XHJcblxyXG5jb25zdCBzdHJpbmdFbmRzV2l0aEZ1bmM6RmlsdGVyRnVuYzxzdHJpbmc+ID0gKGZpbHRlckluZm86RmlsdGVySW5mbykgPT4ge1xyXG4gIGNvbnN0IHN0YXJ0c1dpdGggPSBwcmVwYXJlRm9yU3RyaW5nQ29tcGFyZShmaWx0ZXJJbmZvLmZpbHRlclZhbHVlKTtcclxuICByZXR1cm4gKCh2YWwpPT5wcmVwYXJlRm9yU3RyaW5nQ29tcGFyZSh2YWwpLmVuZHNXaXRoKHN0YXJ0c1dpdGgpKTtcclxufVxyXG5cclxuY29uc3QgbXVsdGlwbGVTdHJpbmdWYWx1ZXNFcXVhbHNGdW5jOkZpbHRlckZ1bmM8c3RyaW5nW10sc3RyaW5nPiA9IChmaWx0ZXJJbmZvOkZpbHRlckluZm8pID0+IHtcclxuICBjb25zdCBmaWx0ZXJWYWxzID0gZmlsdGVySW5mby5maWx0ZXJWYWx1ZS5tYXAoICh2OiBzdHJpbmcpID0+IHByZXBhcmVGb3JTdHJpbmdDb21wYXJlKHYpKTtcclxuICByZXR1cm4gKCh2YWwpPT4gZmlsdGVyVmFscy5zb21lKChzOnN0cmluZykgPT4gcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUodmFsKSA9PT0gcykpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgU3RyaW5nRmlsdGVyRnVuY3M6IHtbazpzdHJpbmddOiBGaWx0ZXJGdW5jPGFueSxhbnk+fSA9IHtcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0VxdWFsc106IHN0cmluZ0VxdWFsRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0NvbnRhaW5zXTogc3RyaW5nQ29udGFpbnNGdW5jLFxyXG4gICAgW0ZpbHRlclR5cGUuU3RyaW5nRG9lc05vdENvbnRhaW5dOiBzdHJpbmdEb2VzTm90Q29udGFpbkZ1bmMsXHJcbiAgICBbRmlsdGVyVHlwZS5TdHJpbmdTdGFydFdpdGhdOiBzdHJpbmdTdGFydHNXaXRoRnVuYyxcclxuICAgIFtGaWx0ZXJUeXBlLlN0cmluZ0VuZHNXaXRoXTogc3RyaW5nRW5kc1dpdGhGdW5jLFxyXG4gICAgW0ZpbHRlclR5cGUuSXNOdWxsXTogaXNOdWxsLFxyXG4gICAgW0ZpbHRlclR5cGUuSW5dOiBtdWx0aXBsZVN0cmluZ1ZhbHVlc0VxdWFsc0Z1bmMsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgRW51bUZpbHRlckZ1bmNzOiBEaWN0aW9uYXJ5PEZpbHRlckZ1bmM8YW55LGFueT4+ID0ge1xyXG4gIFtGaWx0ZXJUeXBlLklzTnVsbF06IGlzTnVsbCxcclxuICBbRmlsdGVyVHlwZS5Jbl0gOiBtdWx0aXBsZVN0cmluZ1ZhbHVlc0VxdWFsc0Z1bmMsXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcHJlcGFyZUZvclN0cmluZ0NvbXBhcmUgPSAodmFsIDogYW55KTpzdHJpbmcgPT4gdmFsPy50b1N0cmluZygpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uSW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2ludGVyZmFjZXMvQ29sdW1uSW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tQ2VsbERpcmVjdGl2ZSB9IGZyb20gXCIuLi9kaXJlY3RpdmVzL2N1c3RvbS1jZWxsLWRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gXCIuL3JlcG9ydC1kZWZcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uSW5mbyB7XHJcbiAgbWV0YURhdGE6IE1ldGFEYXRhO1xyXG4gIGN1c3RvbUNlbGw6IEN1c3RvbUNlbGxEaXJlY3RpdmU7XHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2ludGVyZmFjZXMvZGljdGlvbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEaWN0aW9uYXJ5PFQ+IHtcclxuICBba2V5OiBzdHJpbmddOiBUO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,50 @@
1
+ export var FieldType;
2
+ (function (FieldType) {
3
+ FieldType[FieldType["Unknown"] = 0] = "Unknown";
4
+ FieldType[FieldType["Date"] = 1] = "Date";
5
+ FieldType[FieldType["Link"] = 2] = "Link";
6
+ FieldType[FieldType["ImageUrl"] = 3] = "ImageUrl";
7
+ FieldType[FieldType["Currency"] = 4] = "Currency";
8
+ FieldType[FieldType["Array"] = 5] = "Array";
9
+ FieldType[FieldType["Hidden"] = 6] = "Hidden";
10
+ FieldType[FieldType["Number"] = 7] = "Number";
11
+ FieldType[FieldType["String"] = 8] = "String";
12
+ FieldType[FieldType["Boolean"] = 9] = "Boolean";
13
+ FieldType[FieldType["PhoneNumber"] = 10] = "PhoneNumber";
14
+ /**
15
+ * @deprecated For mapped properties use proper type (for sorting and filtering) with `map`.
16
+ * For unmapped properties use `FieldType.NotMapped` with map.
17
+ */
18
+ FieldType[FieldType["Expression"] = 11] = "Expression";
19
+ FieldType[FieldType["Enum"] = 12] = "Enum";
20
+ FieldType[FieldType["DateTime"] = 13] = "DateTime";
21
+ FieldType[FieldType["NotMapped"] = 14] = "NotMapped";
22
+ })(FieldType || (FieldType = {}));
23
+ export var SortDirection;
24
+ (function (SortDirection) {
25
+ SortDirection["asc"] = "asc";
26
+ SortDirection["desc"] = "desc";
27
+ })(SortDirection || (SortDirection = {}));
28
+ export var Target;
29
+ (function (Target) {
30
+ Target["Blank"] = "_blank";
31
+ Target["Self"] = "_self";
32
+ Target["Parent"] = "_parent";
33
+ Target["Top"] = "_top";
34
+ })(Target || (Target = {}));
35
+ export var ArrayStyle;
36
+ (function (ArrayStyle) {
37
+ ArrayStyle[ArrayStyle["CommaDelimited"] = 0] = "CommaDelimited";
38
+ ArrayStyle[ArrayStyle["NewLine"] = 1] = "NewLine";
39
+ })(ArrayStyle || (ArrayStyle = {}));
40
+ export function metaDataArrToDict(arr, transform) {
41
+ const dict = {};
42
+ if (transform) {
43
+ arr.forEach(e => dict[e.key] = transform(e));
44
+ }
45
+ else {
46
+ arr.forEach(e => dict[e.key] = e);
47
+ }
48
+ return dict;
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2ludGVyZmFjZXMvcmVwb3J0LWRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQU4sSUFBWSxTQW9CWDtBQXBCRCxXQUFZLFNBQVM7SUFDakIsK0NBQVcsQ0FBQTtJQUNYLHlDQUFRLENBQUE7SUFDUix5Q0FBUSxDQUFBO0lBQ1IsaURBQVksQ0FBQTtJQUNaLGlEQUFZLENBQUE7SUFDWiwyQ0FBUyxDQUFBO0lBQ1QsNkNBQVUsQ0FBQTtJQUNWLDZDQUFVLENBQUE7SUFDViw2Q0FBVSxDQUFBO0lBQ1YsK0NBQVcsQ0FBQTtJQUNYLHdEQUFnQixDQUFBO0lBQ2hCOzs7T0FHRztJQUNILHNEQUFlLENBQUE7SUFDZiwwQ0FBUyxDQUFBO0lBQ1Qsa0RBQWEsQ0FBQTtJQUNiLG9EQUFjLENBQUE7QUFDbEIsQ0FBQyxFQXBCVyxTQUFTLEtBQVQsU0FBUyxRQW9CcEI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3JCLDRCQUFVLENBQUE7SUFDViw4QkFBWSxDQUFBO0FBQ2hCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLE1BS1g7QUFMRCxXQUFZLE1BQU07SUFDaEIsMEJBQWdCLENBQUE7SUFDaEIsd0JBQWMsQ0FBQTtJQUNkLDRCQUFrQixDQUFBO0lBQ2xCLHNCQUFZLENBQUE7QUFDZCxDQUFDLEVBTFcsTUFBTSxLQUFOLE1BQU0sUUFLakI7QUFnR0QsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNwQiwrREFBYyxDQUFBO0lBQ2QsaURBQU8sQ0FBQTtBQUNULENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQVNELE1BQU0sVUFBVSxpQkFBaUIsQ0FBZSxHQUFlLEVBQUUsU0FBK0I7SUFDOUYsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUcsU0FBUyxFQUFDLENBQUM7UUFDWixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO1NBQU0sQ0FBQztRQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi9kaWN0aW9uYXJ5JztcclxuaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSwgUHJlZGljYXRlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZUJ1aWxkZXJFeHBvcnQgfSBmcm9tICcuLi9jbGFzc2VzL1RhYmxlQnVpbGRlckNvbmZpZyc7XHJcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuXHJcbmV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XHJcbiAgICBVbmtub3duID0gMCxcclxuICAgIERhdGUgPSAxLFxyXG4gICAgTGluayA9IDIsXHJcbiAgICBJbWFnZVVybCA9IDMsXHJcbiAgICBDdXJyZW5jeSA9IDQsXHJcbiAgICBBcnJheSA9IDUsXHJcbiAgICBIaWRkZW4gPSA2LFxyXG4gICAgTnVtYmVyID0gNyxcclxuICAgIFN0cmluZyA9IDgsXHJcbiAgICBCb29sZWFuID0gOSxcclxuICAgIFBob25lTnVtYmVyID0gMTAsXHJcbiAgICAvKipcclxuICAgICAqIEBkZXByZWNhdGVkIEZvciBtYXBwZWQgcHJvcGVydGllcyB1c2UgcHJvcGVyIHR5cGUgKGZvciBzb3J0aW5nIGFuZCBmaWx0ZXJpbmcpIHdpdGggYG1hcGAuXHJcbiAgICAgKiBGb3IgdW5tYXBwZWQgcHJvcGVydGllcyB1c2UgYEZpZWxkVHlwZS5Ob3RNYXBwZWRgIHdpdGggbWFwLlxyXG4gICAgICovXHJcbiAgICBFeHByZXNzaW9uID0gMTEsXHJcbiAgICBFbnVtID0gMTIsXHJcbiAgICBEYXRlVGltZSA9IDEzLFxyXG4gICAgTm90TWFwcGVkID0gMTQsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNvcnREaXJlY3Rpb24ge1xyXG4gICAgYXNjPSAnYXNjJyxcclxuICAgIGRlc2M9ICdkZXNjJ1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYXJnZXQge1xyXG4gIEJsYW5rID0gJ19ibGFuaycsXHJcbiAgU2VsZiA9ICdfc2VsZicsXHJcbiAgUGFyZW50ID0gJ19wYXJlbnQnLFxyXG4gIFRvcCA9ICdfdG9wJ1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQmFzZU1ldGEgPFQgPSBhbnk+IHtcclxuICBkaXNwbGF5TmFtZT86IHN0cmluZztcclxuICBhZGRpdGlvbmFsPzogQWRkaXRpb25hbDxUPjtcclxuICBvcmRlcj86IG51bWJlcjtcclxuICBwcmVTb3J0PzogU29ydERlZjtcclxuICB3aWR0aD86IHN0cmluZztcclxuICBub0V4cG9ydD86IGJvb2xlYW47XHJcbiAgbm9GaWx0ZXI/OiBib29sZWFuO1xyXG4gIG5vU29ydD86IGJvb2xlYW47XHJcbiAgY3VzdG9tQ2VsbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBtYXAgaW5zdGVhZFxyXG4gICAqL1xyXG4gIHRyYW5zZm9ybT86ICgobzogVCwgLi4uYXJnczogYW55W10pPT4gYW55KSB8ICgobzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk9PiBhbnkpIHwgUGlwZVRyYW5zZm9ybTtcclxuICBjbGljaz86IChlbGVtZW50OiBULCBrZXk6IHN0cmluZyApID0+IHZvaWQ7XHJcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNsYXNzZXM/OiBEaWN0aW9uYXJ5PFByZWRpY2F0ZTxUPj47XHJcbiAgdG9vbFRpcD86IHN0cmluZyB8ICgodDpUKSA9PiBzdHJpbmcpO1xyXG4gIHVzZUljb24/OiBib29sZWFuO1xyXG4gIG1hcD8gOiAodDpUKSA9PiBhbnk7XHJcbn1cclxuXHJcbmludGVyZmFjZSBNYXBwZWRNZXRhRGF0YTxUID0gYW55LCBBZGRpdGlvbmFsRmllbGRzIGV4dGVuZHMgc3RyaW5nW10gPSBbXT4gZXh0ZW5kcyBCYXNlTWV0YTxUPiB7XHJcbiAga2V5OiAoa2V5b2YgVCB8IEFkZGl0aW9uYWxGaWVsZHNbbnVtYmVyXSkgJiBzdHJpbmc7XHJcbiAgZmllbGRUeXBlOiBFeGNsdWRlPHR5cGVvZiBGaWVsZFR5cGVba2V5b2YgdHlwZW9mIEZpZWxkVHlwZV0sIEZpZWxkVHlwZS5Ob3RNYXBwZWQgfCBGaWVsZFR5cGUuRXhwcmVzc2lvbj47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1ldGFEYXRhPFQgPSBhbnksIEFkZGl0aW9uYWxGaWVsZHMgZXh0ZW5kcyBzdHJpbmdbXSA9IFtdPiA9IE1hcHBlZE1ldGFEYXRhPFQsIEFkZGl0aW9uYWxGaWVsZHM+IHwgTm90TWFwcGVkTWV0YURhdGE8VD47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5vdE1hcHBlZE1ldGFEYXRhPFQgPSBhbnk+IGV4dGVuZHMgQmFzZU1ldGE8VD4ge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGZpZWxkVHlwZTogRmllbGRUeXBlLk5vdE1hcHBlZCB8IEZpZWxkVHlwZS5FeHByZXNzaW9uO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgIFJlcG9ydERlZjxEYXRhVHlwZSA9IGFueT4ge1xyXG4gICAgZGF0YTogRGF0YVR5cGVbXTtcclxuICAgIG1ldGFEYXRhOiBNZXRhRGF0YSBbXTtcclxuICAgIHRvdGFsUmVjb3Jkcz86IG51bWJlcjtcclxuICAgIGNvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29ydERlZiB7XHJcbiAgICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XHJcbiAgICBwcmVjZWRlbmNlPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlck9wdGlvbnMge1xyXG4gIGZpbHRlcmFibGVWYWx1ZXMgOiBzdHJpbmdbXVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVRpbWVPcHRpb25zIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgaW5jbHVkZVNlY29uZHM/OiBib29sZWFuO1xyXG4gIGluY2x1ZGVNaWxsaXNlY29uZHM6IGJvb2xlYW47XHJcbn1cclxudHlwZSBpbnRlcnBvbGF0ZWRSb3V0ZSA9IHN0cmluZztcclxuZXhwb3J0IGludGVyZmFjZSBBZGRpdGlvbmFsPFQgPSBhbnk+IHtcclxuICBsaW5rPyA6IHtcclxuICAgIGJhc2U/OiBzdHJpbmc7XHJcbiAgICB1cmxLZXk/OiBzdHJpbmc7XHJcbiAgICB0YXJnZXQ/OiBUYXJnZXQ7XHJcbiAgICB1c2VSb3V0ZXJMaW5rPzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogSWYgeW91IHdhbnQgdG8gdXNlIGEgcm91dGUgd2l0aCBpbnRlcnBvbGF0ZWQgcGFyYW1zLCB5b3UgY2FuIHVzZSB0aGlzLiBXcmFwIHRoZSBwcm9wZXJ0eSBuYW1lIGluIGN1cmx5IGJyYWNlcy5cclxuICAgICAqIEZvciBleGFtcGxlLCBpZiBpbnRlcnBvbGF0ZWRSb3V0ZSA9IC91c2Vycy97aWR9L2VkaXQsIHtpZH0gd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSB2YWx1ZSBvZiB0aGUgZWxlbWVudCdzIGlkIHByb3BlcnR5LlxyXG4gICAgICovXHJcbiAgICBpbnRlcnBvbGF0ZWRSb3V0ZT86IGludGVycG9sYXRlZFJvdXRlO1xyXG4gICAgcm91dGVyTGlua09wdGlvbnM/OntcclxuICAgICAgcXVlcnlQYXJhbXM/OiBbc3RyaW5nLCBpbnRlcnBvbGF0ZWRSb3V0ZV1bXTtcclxuICAgICAgZnJhZ21lbnQ/OiBzdHJpbmc7XHJcbiAgICAgIHByZXNlcnZlRnJhZ21lbnQ/OiBib29sZWFuO1xyXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZztcclxuICAgIH1cclxuICB9XHJcbiAgZm9vdGVyPzogeyB0eXBlOiAnc3VtJyB9O1xyXG4gIGV4cG9ydD86IFRhYmxlQnVpbGRlckV4cG9ydDtcclxuICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xyXG4gIGRhdGVUaW1lT3B0aW9ucz86ICBEYXRlVGltZU9wdGlvbnM7XHJcbiAgZmlsdGVyT3B0aW9ucz86IEZpbHRlck9wdGlvbnM7XHJcbiAgc3R5bGVzPzogRGljdGlvbmFyeTxzdHJpbmcgfCB7Y29uZGl0aW9uOiAodDpUKSA9PiBib29sZWFuIHwgdHJ1ZSwgdmFsdWU6ICh0OlQpID0+IHN0cmluZyB8IHN0cmluZ30+O1xyXG4gIGNvbHVtblBhcnRTdHlsZXM/OiB7XHJcbiAgICBoZWFkZXI/OiBEaWN0aW9uYXJ5PHN0cmluZz4sXHJcbiAgICBib2R5PzogRGljdGlvbmFyeTxzdHJpbmcgfCB7Y29uZGl0aW9uOiAodDogVCkgPT4gYm9vbGVhbiB8IHRydWUsIHZhbHVlOiAodDogVCkgPT4gc3RyaW5nIHwgc3RyaW5nfT4sXHJcbiAgICBmb290ZXI/OiBEaWN0aW9uYXJ5PHN0cmluZz4sXHJcbiAgfVxyXG4gIGNvbHVtblBhcnRDbGFzc2VzPzoge1xyXG4gICAgaGVhZGVyPzogRGljdGlvbmFyeTxQcmVkaWNhdGU8VD4+LFxyXG4gICAgZm9vdGVyPzogRGljdGlvbmFyeTxQcmVkaWNhdGU8VD4+LFxyXG4gIH1cclxuICBlbnVtTWFwPzoge1trZXk6bnVtYmVyXTpzdHJpbmd9O1xyXG4gIGJvb2xlYW4/IDoge1xyXG4gICAgc2hvd0ZvckZhbHNlPyA6IHRydWUgfCB7IGljb24gOiBzdHJpbmcgfSxcclxuICAgIGZvclRydWU/IDogeyBpY29uIDogc3RyaW5nIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEFycmF5U3R5bGUge1xyXG4gIENvbW1hRGVsaW1pdGVkLFxyXG4gIE5ld0xpbmVcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcnJheUFkZGl0aW9uYWwgZXh0ZW5kcyBBZGRpdGlvbmFsIHtcclxuICAgIGxpbWl0PzogbnVtYmVyO1xyXG4gICAgYXJyYXlTdHlsZT86IEFycmF5U3R5bGU7XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFEYXRhQXJyVG9EaWN0PFQgPSBNZXRhRGF0YT4oYXJyOiBNZXRhRGF0YVtdLCB0cmFuc2Zvcm0/OiAobSA6IE1ldGFEYXRhKSA9PiBUKTogRGljdGlvbmFyeTxUPntcclxuICBjb25zdCBkaWN0ID0ge307XHJcbiAgaWYodHJhbnNmb3JtKXtcclxuICAgIGFyci5mb3JFYWNoKGUgPT4gZGljdFtlLmtleV0gPSB0cmFuc2Zvcm0oZSkpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBhcnIuZm9yRWFjaChlID0+IGRpY3RbZS5rZXldID0gZSk7XHJcbiAgfVxyXG4gIHJldHVybiBkaWN0O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,115 @@
1
+ import { ComponentStore } from "@ngrx/component-store";
2
+ import { Injectable } from "@angular/core";
3
+ import { filter, tap } from "rxjs";
4
+ import { concatLatestFrom } from "@ngrx/effects";
5
+ import * as i0 from "@angular/core";
6
+ export class TableBuilderStateStore extends ComponentStore {
7
+ constructor() {
8
+ super(loadGlobalStorageState());
9
+ //selectors
10
+ this.selectLocalProfile = (key) => this.select(state => state.localProfiles[key]);
11
+ this.selectLocalProfileState = (key) => this.select(this.selectLocalProfile(key), (profile) => {
12
+ if (profile) {
13
+ return profile.states[profile.current ?? profile.default];
14
+ }
15
+ return null;
16
+ });
17
+ this.selectLocalProfileCurrentKey = (key) => this.select(this.selectLocalProfile(key), (profile) => {
18
+ if (profile) {
19
+ return profile.current ?? profile.default;
20
+ }
21
+ return 'default';
22
+ });
23
+ this.selectLocalProfileKeys = (key) => this.select(this.selectLocalProfile(key), (profile) => {
24
+ if (profile) {
25
+ return Object.keys(profile.states).filter(key => key);
26
+ }
27
+ return null;
28
+ });
29
+ // reducers
30
+ this.setLocalProfile = this.updater((state, props) => {
31
+ let profile = state.localProfiles[props.key];
32
+ if (!profile) {
33
+ profile = { default: 'default', current: 'default', states: {
34
+ default: props.value
35
+ } };
36
+ }
37
+ else {
38
+ profile = { ...profile, states: { ...profile.states, [profile.current ?? profile.default]: props.value } };
39
+ }
40
+ return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
41
+ });
42
+ this.setLocalProfilesState = this.updater((state, props) => {
43
+ let profile = state.localProfiles[props.key];
44
+ if (!profile) {
45
+ profile = { default: props.current, current: props.current, states: { [props.current]: null } };
46
+ }
47
+ else {
48
+ const state = profile.states[props.current] ?? profile.states[profile.current ?? profile.default];
49
+ profile = { ...profile, current: props.current, states: { ...profile.states, [props.current]: state } };
50
+ }
51
+ return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
52
+ });
53
+ this.deleteLocalProfilesState = this.updater((state, props) => {
54
+ let profile = state.localProfiles[props.key];
55
+ if (profile) {
56
+ const current = profile.current === props.stateKey ? profile.default : profile.current;
57
+ profile = { ...profile, current, states: { ...profile.states } };
58
+ delete profile.states[props.stateKey];
59
+ return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
60
+ }
61
+ else {
62
+ return state;
63
+ }
64
+ });
65
+ // effects
66
+ this.saveLocalProfile = this.effect((props$) => props$.pipe(filter(action => !!action.persist), concatLatestFrom((action) => this.selectLocalProfile(action.key)), tap(([action, profile]) => {
67
+ const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
68
+ if (!profile) {
69
+ profile = { default: 'default', current: 'default', states: { default: action.value } };
70
+ globalSavedState.localProfiles[action.key] = profile;
71
+ }
72
+ {
73
+ if (!globalSavedState.localProfiles[action.key]) {
74
+ globalSavedState.localProfiles[action.key] = { ...profile, states: { [profile.current ?? profile.default]: action.value } };
75
+ }
76
+ else {
77
+ globalSavedState.localProfiles[action.key].states[profile.current ?? profile.default] = action.value;
78
+ }
79
+ }
80
+ localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
81
+ this.setLocalProfile(action);
82
+ })));
83
+ this.deleteLocalProfile = this.effect((props$) => props$.pipe(tap((props) => {
84
+ const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
85
+ if (!globalSavedState.localProfiles[props.key]) {
86
+ return;
87
+ }
88
+ else {
89
+ delete globalSavedState.localProfiles[props.key].states[props.stateKey];
90
+ }
91
+ localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
92
+ this.deleteLocalProfilesState(props);
93
+ })));
94
+ }
95
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TableBuilderStateStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
96
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TableBuilderStateStore, providedIn: 'root' }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TableBuilderStateStore, decorators: [{
99
+ type: Injectable,
100
+ args: [{ providedIn: 'root' }]
101
+ }], ctorParameters: () => [] });
102
+ function loadGlobalStorageState() {
103
+ const storage = localStorage.getItem('global-state-storage');
104
+ if (storage) {
105
+ return { ...defaultStorageState, ...JSON.parse(storage) };
106
+ }
107
+ return defaultStorageState;
108
+ }
109
+ export const defaultStorageState = {
110
+ globalProfileKeys: ['Default'],
111
+ currentGlobalProfile: 'Default',
112
+ globalProfiles: {},
113
+ localProfiles: {}
114
+ };
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVCdWlsZGVyU3RhdGVTdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL25ncngvdGFibGVCdWlsZGVyU3RhdGVTdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSWpELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFrQztJQUM1RTtRQUNFLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUE7UUFHakMsV0FBVztRQUNYLHVCQUFrQixHQUFHLENBQUMsR0FBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3ZELEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU1Qiw0QkFBdUIsR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxFQUM1QixDQUFDLE9BQWdCLEVBQUUsRUFBRTtZQUNuQixJQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNYLE9BQVEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxpQ0FBNEIsR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMs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QUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDN0QsSUFBRyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBQyxHQUFHLG1CQUFtQixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxPQUFPLG1CQUFtQixDQUFDO0FBQzdCLENBQUM7QUFlRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBdUI7SUFDckQsaUJBQWlCLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDOUIsb0JBQW9CLEVBQUUsU0FBUztJQUMvQixjQUFjLEVBQUUsRUFBRTtJQUNsQixhQUFhLEVBQUUsRUFBRTtDQUNsQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tIFwiQG5ncngvY29tcG9uZW50LXN0b3JlXCI7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNvbmNhdExhdGVzdEZyb20gfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZGljdGlvbmFyeVwiO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgVGFibGVCdWlsZGVyU3RhdGVTdG9yZSBleHRlbmRzIENvbXBvbmVudFN0b3JlPEdsb2JhbFN0b3JhZ2VTdGF0ZT4ge1xyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgICBzdXBlcihsb2FkR2xvYmFsU3RvcmFnZVN0YXRlKCkpXHJcbiAgfVxyXG5cclxuICAvL3NlbGVjdG9yc1xyXG4gIHNlbGVjdExvY2FsUHJvZmlsZSA9IChrZXk6c3RyaW5nKSA9PiB0aGlzLnNlbGVjdChzdGF0ZSA9PiBcclxuICAgIHN0YXRlLmxvY2FsUHJvZmlsZXNba2V5XSk7XHJcbiAgXHJcbiAgc2VsZWN0TG9jYWxQcm9maWxlU3RhdGUgPSAoa2V5OnN0cmluZykgPT4gdGhpcy5zZWxlY3QoXHJcbiAgICB0aGlzLnNlbGVjdExvY2FsUHJvZmlsZShrZXkpLFxyXG4gICAgKHByb2ZpbGU6IFByb2ZpbGUpID0+IHtcclxuICAgICAgaWYocHJvZmlsZSkge1xyXG4gICAgICAgIHJldHVybiAgcHJvZmlsZS5zdGF0ZXNbcHJvZmlsZS5jdXJyZW50ID8/IHByb2ZpbGUuZGVmYXVsdF07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgfSk7XHJcblxyXG4gIHNlbGVjdExvY2FsUHJvZmlsZUN1cnJlbnRLZXkgPSAoa2V5OnN0cmluZykgPT4gdGhpcy5zZWxlY3QoXHJcbiAgICB0aGlzLnNlbGVjdExvY2FsUHJvZmlsZShrZXkpLFxyXG4gICAgKHByb2ZpbGU6IFByb2ZpbGUpID0+IHtcclxuICAgICAgaWYocHJvZmlsZSkge1xyXG4gICAgICAgIHJldHVybiAgcHJvZmlsZS5jdXJyZW50ID8/IHByb2ZpbGUuZGVmYXVsdDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gJ2RlZmF1bHQnO1xyXG4gIH0pO1xyXG5cclxuICBzZWxlY3RMb2NhbFByb2ZpbGVLZXlzID0gPFQ+KGtleTpzdHJpbmcpID0+ICB0aGlzLnNlbGVjdChcclxuICAgIHRoaXMuc2VsZWN0TG9jYWxQcm9maWxlKGtleSksXHJcbiAgICAocHJvZmlsZTogUHJvZmlsZTxUPikgPT4ge1xyXG4gICAgICBpZihwcm9maWxlKSB7XHJcbiAgICAgICAgcmV0dXJuICBPYmplY3Qua2V5cyhwcm9maWxlLnN0YXRlcykuZmlsdGVyKCBrZXkgPT4ga2V5KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICB9KTtcclxuXHJcblxyXG4gIC8vIHJlZHVjZXJzXHJcbiAgc2V0TG9jYWxQcm9maWxlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcHJvcHM6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkgfSkgPT4ge1xyXG4gICAgbGV0IHByb2ZpbGUgPSBzdGF0ZS5sb2NhbFByb2ZpbGVzW3Byb3BzLmtleV07XHJcbiAgICBpZighcHJvZmlsZSkge1xyXG4gICAgICBwcm9maWxlID0gIHtkZWZhdWx0OiAnZGVmYXVsdCcsIGN1cnJlbnQ6ICdkZWZhdWx0Jywgc3RhdGVzIDoge1xyXG4gICAgICAgIGRlZmF1bHQ6IHByb3BzLnZhbHVlXHJcbiAgICAgIH19O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLCBzdGF0ZXM6IHsuLi5wcm9maWxlLnN0YXRlcywgW3Byb2ZpbGUuY3VycmVudCA/PyBwcm9maWxlLmRlZmF1bHRdIDogcHJvcHMudmFsdWV9IH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBsb2NhbFByb2ZpbGVzOiB7Li4uc3RhdGUubG9jYWxQcm9maWxlcywgW3Byb3BzLmtleV06IHByb2ZpbGV9IH1cclxuICB9KTtcclxuXHJcbiAgc2V0TG9jYWxQcm9maWxlc1N0YXRlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcHJvcHM6IHsga2V5OiBzdHJpbmcsIGN1cnJlbnQ6IHN0cmluZyB9KSA9PiB7XHJcbiAgICBsZXQgcHJvZmlsZSA9IHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMua2V5XTtcclxuICAgIGlmKCFwcm9maWxlKSB7XHJcbiAgICAgIHByb2ZpbGUgPSAge2RlZmF1bHQ6IHByb3BzLmN1cnJlbnQsIGN1cnJlbnQ6IHByb3BzLmN1cnJlbnQgLCBzdGF0ZXMgOiB7W3Byb3BzLmN1cnJlbnRdOiBudWxsIH19O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSBwcm9maWxlLnN0YXRlc1twcm9wcy5jdXJyZW50XSA/PyBwcm9maWxlLnN0YXRlc1twcm9maWxlLmN1cnJlbnQgPz8gcHJvZmlsZS5kZWZhdWx0XTtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLCBjdXJyZW50OiBwcm9wcy5jdXJyZW50LCBzdGF0ZXM6IHsuLi5wcm9maWxlLnN0YXRlcywgW3Byb3BzLmN1cnJlbnRdIDogc3RhdGUgfX07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gey4uLnN0YXRlLCBsb2NhbFByb2ZpbGVzOiB7Li4uc3RhdGUubG9jYWxQcm9maWxlcywgW3Byb3BzLmtleV06IHByb2ZpbGV9fTtcclxuICB9KTtcclxuXHJcbiAgZGVsZXRlTG9jYWxQcm9maWxlc1N0YXRlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcHJvcHM6IHsga2V5OiBzdHJpbmcsIHN0YXRlS2V5OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgbGV0IHByb2ZpbGUgPSBzdGF0ZS5sb2NhbFByb2ZpbGVzW3Byb3BzLmtleV07XHJcbiAgICBpZihwcm9maWxlKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBwcm9maWxlLmN1cnJlbnQgPT09IHByb3BzLnN0YXRlS2V5ID8gcHJvZmlsZS5kZWZhdWx0IDogcHJvZmlsZS5jdXJyZW50O1xyXG4gICAgICBwcm9maWxlID0gey4uLnByb2ZpbGUsY3VycmVudCwgc3RhdGVzOiB7IC4uLnByb2ZpbGUuc3RhdGVzfX07XHJcbiAgICAgIGRlbGV0ZSBwcm9maWxlLnN0YXRlc1twcm9wcy5zdGF0ZUtleV07XHJcbiAgICAgIHJldHVybiB7Li4uc3RhdGUsIGxvY2FsUHJvZmlsZXM6IHsuLi5zdGF0ZS5sb2NhbFByb2ZpbGVzLCBbcHJvcHMua2V5XTogcHJvZmlsZX0gfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBzdGF0ZTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLy8gZWZmZWN0c1xyXG4gIHNhdmVMb2NhbFByb2ZpbGUgPSB0aGlzLmVmZmVjdCgocHJvcHMkOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHBlcnNpc3Q/OiBib29sZWFuIH0+KSA9PiBwcm9wcyQucGlwZShcclxuICAgIGZpbHRlciggYWN0aW9uID0+ICEhYWN0aW9uLnBlcnNpc3QpLFxyXG4gICAgY29uY2F0TGF0ZXN0RnJvbSgoYWN0aW9uKSA9PiAgdGhpcy5zZWxlY3RMb2NhbFByb2ZpbGUoYWN0aW9uLmtleSkpLFxyXG4gICAgdGFwKCAoW2FjdGlvbiwgcHJvZmlsZV0pID0+IHtcclxuICAgICAgY29uc3QgZ2xvYmFsU2F2ZWRTdGF0ZTogR2xvYmFsU3RvcmFnZVN0YXRlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnKSA/PyBKU09OLnN0cmluZ2lmeShkZWZhdWx0U3RvcmFnZVN0YXRlKSApO1xyXG4gICAgICBpZighcHJvZmlsZSkge1xyXG4gICAgICAgIHByb2ZpbGUgPSAge2RlZmF1bHQ6ICdkZWZhdWx0JywgY3VycmVudDogJ2RlZmF1bHQnLCBzdGF0ZXMgOiB7ZGVmYXVsdDogYWN0aW9uLnZhbHVlfX07XHJcbiAgICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2FjdGlvbi5rZXldID0gcHJvZmlsZTtcclxuICAgICAgfSB7XHJcbiAgICAgICAgaWYoIWdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1thY3Rpb24ua2V5XSkge1xyXG4gICAgICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2FjdGlvbi5rZXldID0gey4uLnByb2ZpbGUsc3RhdGVzOiB7W3Byb2ZpbGUuY3VycmVudCA/PyBwcm9maWxlLmRlZmF1bHRdOiBhY3Rpb24udmFsdWV9fTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2FjdGlvbi5rZXldLnN0YXRlc1twcm9maWxlLmN1cnJlbnQgPz8gcHJvZmlsZS5kZWZhdWx0XSA9IGFjdGlvbi52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScsIEpTT04uc3RyaW5naWZ5KCBnbG9iYWxTYXZlZFN0YXRlKSk7XHJcbiAgICAgIHRoaXMuc2V0TG9jYWxQcm9maWxlKGFjdGlvbik7XHJcbiAgICB9KVxyXG4gICkpO1xyXG5cclxuICBkZWxldGVMb2NhbFByb2ZpbGUgPSB0aGlzLmVmZmVjdCgocHJvcHMkOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmcsIHN0YXRlS2V5OiBzdHJpbmcgfT4pID0+IHByb3BzJC5waXBlKFxyXG4gICAgdGFwKChwcm9wcykgPT4ge1xyXG4gICAgICBjb25zdCBnbG9iYWxTYXZlZFN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICAgICAgaWYoIWdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1twcm9wcy5rZXldKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGRlbGV0ZSBnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMua2V5XS5zdGF0ZXNbcHJvcHMuc3RhdGVLZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2dsb2JhbC1zdGF0ZS1zdG9yYWdlJywgSlNPTi5zdHJpbmdpZnkoIGdsb2JhbFNhdmVkU3RhdGUpKTtcclxuICAgICAgdGhpcy5kZWxldGVMb2NhbFByb2ZpbGVzU3RhdGUocHJvcHMpXHJcbiAgICB9KVxyXG4gICkpXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGxvYWRHbG9iYWxTdG9yYWdlU3RhdGUoKSA6IEdsb2JhbFN0b3JhZ2VTdGF0ZSB7XHJcbiAgY29uc3Qgc3RvcmFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpO1xyXG4gIGlmKHN0b3JhZ2UpIHtcclxuICAgIHJldHVybiB7Li4uZGVmYXVsdFN0b3JhZ2VTdGF0ZSwgLi4uSlNPTi5wYXJzZShzdG9yYWdlKX07XHJcbiAgfVxyXG4gIHJldHVybiBkZWZhdWx0U3RvcmFnZVN0YXRlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGU8VCA9IGFueT4ge1xyXG4gIGRlZmF1bHQ6IHN0cmluZztcclxuICBjdXJyZW50OiBzdHJpbmc7XHJcbiAgc3RhdGVzOiBEaWN0aW9uYXJ5PFQ+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbFN0b3JhZ2VTdGF0ZSB7XHJcbiAgZ2xvYmFsUHJvZmlsZUtleXMgOiBzdHJpbmcgW107XHJcbiAgY3VycmVudEdsb2JhbFByb2ZpbGU6IHN0cmluZztcclxuICBnbG9iYWxQcm9maWxlczogRGljdGlvbmFyeTxQcm9maWxlPjtcclxuICBsb2NhbFByb2ZpbGVzOiBEaWN0aW9uYXJ5PFByb2ZpbGU+O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZGVmYXVsdFN0b3JhZ2VTdGF0ZTogR2xvYmFsU3RvcmFnZVN0YXRlID0ge1xyXG4gIGdsb2JhbFByb2ZpbGVLZXlzOiBbJ0RlZmF1bHQnXSxcclxuICBjdXJyZW50R2xvYmFsUHJvZmlsZTogJ0RlZmF1bHQnLFxyXG4gIGdsb2JhbFByb2ZpbGVzOiB7fSxcclxuICBsb2NhbFByb2ZpbGVzOiB7fVxyXG59Il19
@@ -0,0 +1,22 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { sumBy } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ export class ColumnTotalPipe {
5
+ transform(data, metaData) {
6
+ const dataToCalculate = data.filter(d => !d.isGroupHeader);
7
+ switch (metaData.additional.footer.type) {
8
+ case 'sum':
9
+ return sumBy(dataToCalculate, metaData.key);
10
+ }
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ColumnTotalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ColumnTotalPipe, isStandalone: true, name: "columnTotal" }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ColumnTotalPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: 'columnTotal',
19
+ standalone: true
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRvdGFsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9jb2x1bW4tdG90YWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQU03QixNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsSUFBVyxFQUFFLFFBQWtCO1FBQ3ZDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxRCxRQUFRLFFBQVEsQ0FBQyxVQUFXLENBQUMsTUFBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFDLEtBQUssS0FBSztnQkFDVixPQUFPLEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDOzhHQVBVLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDakIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7c3VtQnl9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NvbHVtblRvdGFsJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxuICB9KVxyXG5leHBvcnQgY2xhc3MgQ29sdW1uVG90YWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGRhdGE6IGFueVtdLCBtZXRhRGF0YTogTWV0YURhdGEpIHtcclxuICAgIGNvbnN0IGRhdGFUb0NhbGN1bGF0ZSA9IGRhdGEuZmlsdGVyKGQgPT4gIWQuaXNHcm91cEhlYWRlcilcclxuICAgIHN3aXRjaCAobWV0YURhdGEuYWRkaXRpb25hbCEuZm9vdGVyIS50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3N1bSc6XHJcbiAgICAgIHJldHVybiBzdW1CeShkYXRhVG9DYWxjdWxhdGUsIG1ldGFEYXRhLmtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { FilterType } from '../enums/filterTypes';
3
+ import * as i0 from "@angular/core";
4
+ export class FormatFilterTypePipe {
5
+ transform(filterType, value) {
6
+ if (filterType === FilterType.IsNull) {
7
+ return value ? filterType : 'Is Not Blank';
8
+ }
9
+ return filterType;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterTypePipe, isStandalone: true, name: "formatFilterType" }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterTypePipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{ name: 'formatFilterType', standalone: true }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci10eXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9mb3JtYXQtZmlsdGVyLXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBR2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsU0FBUyxDQUFDLFVBQXNCLEVBQUUsS0FBVTtRQUMxQyxJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFDLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFBO1FBQzVDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQU5VLG9CQUFvQjs0R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcblxyXG5AUGlwZSh7bmFtZTogJ2Zvcm1hdEZpbHRlclR5cGUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEZpbHRlclR5cGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGZpbHRlclR5cGU6IEZpbHRlclR5cGUsIHZhbHVlOiBhbnkpe1xyXG4gICAgaWYoZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5Jc051bGwpe1xyXG4gICAgICByZXR1cm4gdmFsdWUgPyBmaWx0ZXJUeXBlIDogJ0lzIE5vdCBCbGFuaydcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJUeXBlO1xyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,45 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { FieldType } from '../interfaces/report-def';
4
+ import { FilterType } from '../enums/filterTypes';
5
+ import { spaceCase } from '../../utilities/pipes/space-case.pipes';
6
+ import { DateTimeFilterFuncs } from '../functions/date-filter-function';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../classes/table-store";
9
+ import * as i2 from "@angular/common";
10
+ export class FormatFilterValuePipe {
11
+ constructor(tableState, datePipe) {
12
+ this.tableState = tableState;
13
+ this.datePipe = datePipe;
14
+ }
15
+ transform(value, key, filterType) {
16
+ return this.tableState.getMetaData$(key).pipe(map(md => {
17
+ if (filterType === FilterType.IsNull) {
18
+ return '';
19
+ }
20
+ if (value && (filterType === FilterType.In)) {
21
+ if (md.fieldType === FieldType.Enum) {
22
+ return value.map((v) => spaceCase(md.additional.enumMap[v])).join(', ') ?? value;
23
+ }
24
+ return value.join(', ') ?? value;
25
+ }
26
+ if (filterType === FilterType.NumberBetween) {
27
+ return value.Start + ' - ' + value.End;
28
+ }
29
+ if (md.fieldType === FieldType.Date) {
30
+ return this.datePipe.transform(value, 'MM/dd/yy');
31
+ }
32
+ if (md.fieldType === FieldType.DateTime) {
33
+ return !!DateTimeFilterFuncs[filterType] ? this.datePipe.transform(value, 'short') : this.datePipe.transform(value, 'MM/dd/yy');
34
+ }
35
+ return value;
36
+ }));
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterValuePipe, deps: [{ token: i1.TableStore }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
39
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterValuePipe, isStandalone: true, name: "formatFilterValue" }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormatFilterValuePipe, decorators: [{
42
+ type: Pipe,
43
+ args: [{ name: 'formatFilterValue', standalone: true }]
44
+ }], ctorParameters: () => [{ type: i1.TableStore }, { type: i2.DatePipe }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvcGlwZXMvZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUl4RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFVBQXNCLEVBQVcsUUFBa0I7UUFBbkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDdkUsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBVyxFQUFFLFVBQXNCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUUsRUFBRSxDQUFDLEVBQUU7WUFDUixJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELElBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxFQUFFLENBQUUsRUFBQyxDQUFDO2dCQUMzQyxJQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNuQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVyxDQUFDLE9BQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQztnQkFDM0YsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ25DLENBQUM7WUFDRCxJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsYUFBYSxFQUFDLENBQUM7Z0JBQzFDLE9BQU8sS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBRyxFQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELElBQUcsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsUUFBUSxFQUFDLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNsSSxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0EzQlUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBzcGFjZUNhc2UgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcGlwZXMvc3BhY2UtY2FzZS5waXBlcyc7XHJcbmltcG9ydCB7IERhdGVUaW1lRmlsdGVyRnVuY3MgfSBmcm9tICcuLi9mdW5jdGlvbnMvZGF0ZS1maWx0ZXItZnVuY3Rpb24nO1xyXG5cclxuXHJcbkBQaXBlKHtuYW1lOiAnZm9ybWF0RmlsdGVyVmFsdWUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEZpbHRlclZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKCBwdWJsaWMgdGFibGVTdGF0ZTogVGFibGVTdG9yZSAsIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7XHJcbiAgfVxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBrZXk6IHN0cmluZywgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZVN0YXRlLmdldE1ldGFEYXRhJChrZXkpLnBpcGUoXHJcbiAgICAgIG1hcCggbWQgPT4ge1xyXG4gICAgICAgIGlmKGZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuSXNOdWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHZhbHVlICYmIChmaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLkluICkpe1xyXG4gICAgICAgICAgaWYobWQuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRW51bSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKCAodjogYW55KSA9PiBzcGFjZUNhc2UobWQuYWRkaXRpb25hbCEuZW51bU1hcCFbdl0pKS5qb2luKCcsICcpID8/IHZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlLmpvaW4oJywgJykgPz8gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyQmV0d2Vlbil7XHJcbiAgICAgICAgICByZXR1cm4gdmFsdWUuU3RhcnQgKyAnIC0gJyArIHZhbHVlLkVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobWQuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRGF0ZSl7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS9kZC95eScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihtZC5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5EYXRlVGltZSl7XHJcbiAgICAgICAgICByZXR1cm4gISFEYXRlVGltZUZpbHRlckZ1bmNzW2ZpbHRlclR5cGVdID8gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdzaG9ydCcpIDogdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS9kZC95eScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWVcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { spaceCase } from '../../utilities/pipes/space-case.pipes';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../classes/table-store";
6
+ export class KeyDisplayPipe {
7
+ constructor(tableState) {
8
+ this.tableState = tableState;
9
+ }
10
+ transform(key) {
11
+ return this.tableState.getMetaData$(key).pipe(map(metaData => metaData.displayName || spaceCase(key)));
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: KeyDisplayPipe, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Pipe }); }
14
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: KeyDisplayPipe, isStandalone: true, name: "keyDisplay" }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: KeyDisplayPipe, decorators: [{
17
+ type: Pipe,
18
+ args: [{ name: 'keyDisplay', standalone: true }]
19
+ }], ctorParameters: () => [{ type: i1.TableStore }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRpc3BsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9rZXktZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHckMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUMxQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDOzhHQVBVLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBzcGFjZUNhc2UgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcGlwZXMvc3BhY2UtY2FzZS5waXBlcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdrZXlEaXNwbGF5Jywgc3RhbmRhbG9uZTogdHJ1ZX0pXHJcbmV4cG9ydCBjbGFzcyBLZXlEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKCBwdWJsaWMgdGFibGVTdGF0ZTogVGFibGVTdG9yZSkge1xyXG4gIH1cclxuICB0cmFuc2Zvcm0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGVTdGF0ZS5nZXRNZXRhRGF0YSQoa2V5KS5waXBlKFxyXG4gICAgICBtYXAoIG1ldGFEYXRhID0+IG1ldGFEYXRhLmRpc3BsYXlOYW1lIHx8IHNwYWNlQ2FzZShrZXkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,91 @@
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
+ if (meta.map) {
36
+ return meta.map(row);
37
+ }
38
+ switch (meta.fieldType) {
39
+ case FieldType.Date:
40
+ const dateFormat = meta.additional?.export?.dateFormat || this.config?.export?.dateFormat || meta.additional?.dateFormat;
41
+ val = this.transform(val, dateFormat);
42
+ break;
43
+ case FieldType.DateTime:
44
+ const dateTimeFormat = meta.additional?.export?.dateTimeFormat || this.config?.export?.dateTimeFormat || meta.additional?.dateTimeOptions?.format;
45
+ val = this.transform(val, dateTimeFormat);
46
+ break;
47
+ case FieldType.String:
48
+ const prepend = meta.additional?.export?.prepend || this.config?.export?.prepend || '';
49
+ val = prepend + val;
50
+ break;
51
+ case FieldType.Array:
52
+ const additional = meta.additional;
53
+ val = val.slice(0, additional.limit).join(additional.arrayStyle === ArrayStyle.NewLine ? '\n' : ', ');
54
+ break;
55
+ case FieldType.Expression:
56
+ val = meta.transform(row);
57
+ break;
58
+ }
59
+ if (typeof val === 'string' && (val.includes(',') || val.includes('"') || val.includes('\n'))) {
60
+ val = val.replaceAll('"', '""');
61
+ val = '"' + val + '"';
62
+ }
63
+ return val;
64
+ };
65
+ }
66
+ transform(val, dateFormat) {
67
+ if (this.config.transformers && this.config.transformers[FieldType.Date]) {
68
+ return this.config.transformers[FieldType.Date](val);
69
+ }
70
+ return this.datePipe.transform(val, dateFormat);
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ExportToCsvService, deps: [{ token: i1.TableStore }, { token: TableBuilderConfigToken }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ExportToCsvService }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ExportToCsvService, decorators: [{
76
+ type: Injectable
77
+ }], ctorParameters: () => [{ type: i1.TableStore }, { type: undefined, decorators: [{
78
+ type: Inject,
79
+ args: [TableBuilderConfigToken]
80
+ }] }, { type: i2.DatePipe }] });
81
+ export const removeFromMetaData = (state, keysToRemove) => orderMetaData(state)
82
+ .filter(meta => !keysToRemove.includes(meta.key));
83
+ export const nonExportableFields = (state) => Object.values(state.metaData)
84
+ .filter(md => md.noExport)
85
+ .map(md => md.key);
86
+ export const mapExportableFields = (state) => {
87
+ const fieldsToRemove = nonExportableFields(state)
88
+ .concat(state.hiddenKeys);
89
+ return removeFromMetaData(state, fieldsToRemove);
90
+ };
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvc2VydmljZXMvZXhwb3J0LXRvLWNzdi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFHLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQW1CLFVBQVUsRUFBRSxTQUFTLEVBQVksTUFBTSwwQkFBMEIsQ0FBQztBQUU1RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUc3QixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1MsS0FBaUIsRUFDaUIsTUFBMEIsRUFDM0QsUUFBa0I7UUFGbkIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNpQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMzRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRzVCLGdCQUFXLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7WUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzlDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUN6QixDQUFDO1lBRUYsYUFBYSxD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c0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCwgbWFwICB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG9yZGVyTWV0YURhdGEsIFRhYmxlU3RvcmUgfSBmcm9tICcuLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgVGFibGVCdWlsZGVyQ29uZmlnLCBUYWJsZUJ1aWxkZXJDb25maWdUb2tlbiB9IGZyb20gJy4uL2NsYXNzZXMvVGFibGVCdWlsZGVyQ29uZmlnJztcclxuaW1wb3J0IHsgZG93bmxvYWREYXRhIH0gZnJvbSAnLi4vZnVuY3Rpb25zL2Rvd25sb2FkLWRhdGEnO1xyXG5pbXBvcnQgeyBBcnJheUFkZGl0aW9uYWwsIEFycmF5U3R5bGUsIEZpZWxkVHlwZSwgTWV0YURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC1kZWYnO1xyXG5pbXBvcnQgeyBUYWJsZVN0YXRlIH0gZnJvbSAnLi4vY2xhc3Nlcy9UYWJsZVN0YXRlJztcclxuaW1wb3J0IHsgaXNQaXBlIH0gZnJvbSAnLi90cmFuc2Zvcm0tY3JlYXRvcic7XHJcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRUb0NzdlNlcnZpY2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHN0YXRlOiBUYWJsZVN0b3JlLFxyXG4gICAgQEluamVjdChUYWJsZUJ1aWxkZXJDb25maWdUb2tlbikgcHJpdmF0ZSBjb25maWc6IFRhYmxlQnVpbGRlckNvbmZpZyxcclxuICAgIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICl7fVxyXG5cclxuICBleHBvcnRUb0NzdiA9IChkYXRhOiBPYnNlcnZhYmxlPFRbXT4pID0+IHtcclxuICAgIGNvbnN0IGV4cG9ydGFibGVGaWVsZHMkID0gdGhpcy5zdGF0ZS5zdGF0ZSQucGlwZShcclxuICAgICAgbWFwKG1hcEV4cG9ydGFibGVGaWVsZHMpXHJcbiAgICApO1xyXG5cclxuICAgIGNvbWJpbmVMYXRlc3QoW2RhdGEsZXhwb3J0YWJsZUZpZWxkcyRdKS5waXBlKFxyXG4gICAgICBmaXJzdCgpLFxyXG4gICAgICBtYXAoKFtkYXRhLGZpZWxkc10pID0+IHRoaXMuY3N2RGF0YShkYXRhLGZpZWxkcykpLFxyXG4gICAgKS5zdWJzY3JpYmUoY3N2ID0+IGRvd25sb2FkRGF0YShjc3YsJ2V4cG9ydC5jc3YnLCd0ZXh0L2NzdicpICk7XHJcbiAgfVxyXG5cclxuICBjc3ZEYXRhID0gKGRhdGE6QXJyYXk8VD4sIG1ldGFEYXRhOiBNZXRhRGF0YTxUPltdKSA9PiB7XHJcbiAgICBjb25zdCByZXMgPSBkYXRhLm1hcChyb3cgPT4gbWV0YURhdGEubWFwKG1ldGEgPT4gdGhpcy5tZXRhVG9GaWVsZChtZXRhLCByb3cpKS5qb2luKCcsJykpO1xyXG4gICAgcmVzLnVuc2hpZnQobWV0YURhdGEubWFwKG1ldGEgPT4gbWV0YS5kaXNwbGF5TmFtZSB8fCBtZXRhLmtleSkuam9pbignLCcpKTtcclxuICAgIHJldHVybiByZXMuam9pbignXFxuJyk7XHJcbiAgfVxyXG5cclxuICBtZXRhVG9GaWVsZCA9IChtZXRhOiBNZXRhRGF0YTxUPiwgcm93OiBUKSA9PiB7XHJcbiAgICBsZXQgdmFsOiBhbnkgPSBnZXQoIHJvdyxtZXRhLmtleSk7XHJcbiAgICBpZiAodmFsID09IG51bGwgJiYgIW1ldGEudHJhbnNmb3JtKSByZXR1cm4gdmFsXHJcbiAgICBpZihtZXRhLnRyYW5zZm9ybSAmJiBtZXRhLmZpZWxkVHlwZSAhPT0gRmllbGRUeXBlLkV4cHJlc3Npb24pe1xyXG4gICAgICBjb25zdCB0cmFuc2Zvcm0gPSBtZXRhLnRyYW5zZm9ybSBhcyBhbnk7XHJcbiAgICAgIHJldHVybiAgaXNQaXBlKHRyYW5zZm9ybSkgPyB0cmFuc2Zvcm0udHJhbnNmb3JtKHZhbCkgOiB0cmFuc2Zvcm0odmFsKTtcclxuICAgIH1cclxuICAgIGlmKG1ldGEubWFwKXtcclxuICAgICAgcmV0dXJuIG1ldGEubWFwKHJvdyk7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKG1ldGEuZmllbGRUeXBlKSB7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGU6XHJcbiAgICAgICAgY29uc3QgZGF0ZUZvcm1hdCA9IG1ldGEuYWRkaXRpb25hbD8uZXhwb3J0Py5kYXRlRm9ybWF0IHx8IHRoaXMuY29uZmlnPy5leHBvcnQ/LmRhdGVGb3JtYXQgfHwgbWV0YS5hZGRpdGlvbmFsPy5kYXRlRm9ybWF0O1xyXG4gICAgICAgIHZhbCA9IHRoaXMudHJhbnNmb3JtKHZhbCwgZGF0ZUZvcm1hdCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRhdGVUaW1lOlxyXG4gICAgICAgIGNvbnN0IGRhdGVUaW1lRm9ybWF0ID0gbWV0YS5hZGRpdGlvbmFsPy5leHBvcnQ/LmRhdGVUaW1lRm9ybWF0IHx8IHRoaXMuY29uZmlnPy5leHBvcnQ/LmRhdGVUaW1lRm9ybWF0IHx8IG1ldGEuYWRkaXRpb25hbD8uZGF0ZVRpbWVPcHRpb25zPy5mb3JtYXQ7XHJcbiAgICAgICAgdmFsID0gdGhpcy50cmFuc2Zvcm0odmFsLCBkYXRlVGltZUZvcm1hdCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLlN0cmluZzpcclxuICAgICAgICBjb25zdCBwcmVwZW5kOiBzdHJpbmcgPSBtZXRhLmFkZGl0aW9uYWw/LmV4cG9ydD8ucHJlcGVuZCB8fCB0aGlzLmNvbmZpZz8uZXhwb3J0Py5wcmVwZW5kIHx8ICcnO1xyXG4gICAgICAgIHZhbCA9IHByZXBlbmQgKyB2YWw7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgRmllbGRUeXBlLkFycmF5OlxyXG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWwgPSBtZXRhLmFkZGl0aW9uYWwgYXMgQXJyYXlBZGRpdGlvbmFsO1xyXG4gICAgICAgIHZhbCA9ICh2YWwgYXMgQXJyYXk8c3RyaW5nPikuc2xpY2UoMCxhZGRpdGlvbmFsLmxpbWl0KS5qb2luKGFkZGl0aW9uYWwuYXJyYXlTdHlsZSA9PT0gQXJyYXlTdHlsZS5OZXdMaW5lID8gJ1xcbicgOiAnLCAnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBGaWVsZFR5cGUuRXhwcmVzc2lvbjpcclxuICAgICAgICB2YWwgPSAobWV0YS50cmFuc2Zvcm0gYXMgYW55KShyb3cpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnICYmICh2YWwuaW5jbHVkZXMoJywnKSB8fCB2YWwuaW5jbHVkZXMoJ1wiJykgfHwgdmFsLmluY2x1ZGVzKCdcXG4nKSkpIHtcclxuICAgICAgdmFsID0gdmFsLnJlcGxhY2VBbGwoJ1wiJywgJ1wiXCInKTtcclxuICAgICAgdmFsID0gJ1wiJyArIHZhbCArICdcIic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0cmFuc2Zvcm0odmFsOiBhbnksIGRhdGVGb3JtYXQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRyYW5zZm9ybWVycyAmJiB0aGlzLmNvbmZpZy50cmFuc2Zvcm1lcnNbRmllbGRUeXBlLkRhdGVdKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2Zvcm1lcnNbRmllbGRUeXBlLkRhdGVdISh2YWwpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbCwgZGF0ZUZvcm1hdCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgcmVtb3ZlRnJvbU1ldGFEYXRhID0gKHN0YXRlOiBUYWJsZVN0YXRlLCBrZXlzVG9SZW1vdmU6IHN0cmluZ1tdKSA9PlxyXG4gICAgb3JkZXJNZXRhRGF0YShzdGF0ZSlcclxuICAuZmlsdGVyKCBtZXRhID0+ICFrZXlzVG9SZW1vdmUuaW5jbHVkZXMobWV0YS5rZXkpKTtcclxuXHJcblxyXG5leHBvcnQgY29uc3Qgbm9uRXhwb3J0YWJsZUZpZWxkcyA9IChzdGF0ZTogVGFibGVTdGF0ZSkgPT4gT2JqZWN0LnZhbHVlcyggc3RhdGUubWV0YURhdGEpXHJcbiAgLmZpbHRlcihtZCA9PiBtZC5ub0V4cG9ydCApXHJcbiAgLm1hcCggbWQgPT4gbWQua2V5ICk7XHJcblxyXG5leHBvcnQgY29uc3QgbWFwRXhwb3J0YWJsZUZpZWxkcyA9IChzdGF0ZTogVGFibGVTdGF0ZSkgPT4ge1xyXG4gIGNvbnN0IGZpZWxkc1RvUmVtb3ZlID0gbm9uRXhwb3J0YWJsZUZpZWxkcyhzdGF0ZSlcclxuICAgIC5jb25jYXQoc3RhdGUuaGlkZGVuS2V5cyk7XHJcbiAgIHJldHVybiByZW1vdmVGcm9tTWV0YURhdGEoc3RhdGUsIGZpZWxkc1RvUmVtb3ZlKTtcclxufVxyXG4iXX0=