@one-paragon/angular-utilities 0.1.21 → 0.1.23

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 (380) 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 +9 -0
  3. package/{src/action-state/index.ts → action-state/index.d.ts} +0 -4
  4. package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -0
  5. package/action-state/ngrx.d.ts +31 -0
  6. package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +23 -0
  7. package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +28 -0
  8. package/esm2020/action-state/index.mjs +8 -0
  9. package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -0
  10. package/esm2020/action-state/ngrx.mjs +42 -0
  11. package/esm2020/http-request-state/HttpRequestStateFactory.mjs +27 -0
  12. package/esm2020/http-request-state/HttpRequestStateStore.mjs +97 -0
  13. package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +34 -0
  14. package/esm2020/http-request-state/directives/http-error-state-directive.mjs +29 -0
  15. package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +29 -0
  16. package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +29 -0
  17. package/esm2020/http-request-state/directives/http-success-state-directive.mjs +29 -0
  18. package/esm2020/http-request-state/directives/index.mjs +6 -0
  19. package/esm2020/http-request-state/directives/request-state-directive.mjs +57 -0
  20. package/esm2020/http-request-state/helpers.mjs +22 -0
  21. package/esm2020/http-request-state/http-request-state.mjs +39 -0
  22. package/esm2020/http-request-state/http-state-module.mjs +41 -0
  23. package/esm2020/http-request-state/index.mjs +7 -0
  24. package/esm2020/http-request-state/rxjs/getRequestorBody.mjs +4 -0
  25. package/esm2020/http-request-state/rxjs/getRequestorState.mjs +3 -0
  26. package/esm2020/http-request-state/rxjs/index.mjs +5 -0
  27. package/esm2020/http-request-state/rxjs/tapError.mjs +12 -0
  28. package/esm2020/http-request-state/rxjs/tapSuccess.mjs +12 -0
  29. package/esm2020/http-request-state/types.mjs +16 -0
  30. package/esm2020/ngrx/actionable-selector.mjs +76 -0
  31. package/esm2020/ngrx/index.mjs +2 -0
  32. package/esm2020/one-paragon-angular-utilities.mjs +5 -0
  33. package/esm2020/public-api.mjs +19 -0
  34. package/esm2020/rxjs/defaultShareReplay.mjs +7 -0
  35. package/esm2020/rxjs/index.mjs +5 -0
  36. package/esm2020/rxjs/mapError.mjs +8 -0
  37. package/esm2020/rxjs/rxjs-operators.mjs +91 -0
  38. package/esm2020/rxjs/subjectifier.mjs +15 -0
  39. package/esm2020/table-builder/classes/DefaultSettings.mjs +6 -0
  40. package/esm2020/table-builder/classes/GenericTableDataSource.mjs +13 -0
  41. package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +21 -0
  42. package/esm2020/table-builder/classes/TableBuilderConfig.mjs +3 -0
  43. package/esm2020/table-builder/classes/TableState.mjs +32 -0
  44. package/esm2020/table-builder/classes/data-filter.mjs +26 -0
  45. package/esm2020/table-builder/classes/display-col.mjs +2 -0
  46. package/esm2020/table-builder/classes/filter-info.mjs +71 -0
  47. package/esm2020/table-builder/classes/table-builder-general-settings.mjs +68 -0
  48. package/esm2020/table-builder/classes/table-builder.mjs +61 -0
  49. package/esm2020/table-builder/classes/table-store.mjs +292 -0
  50. package/esm2020/table-builder/components/array-column.component.mjs +57 -0
  51. package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +111 -0
  52. package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +25 -0
  53. package/esm2020/table-builder/components/filter/filter.component.mjs +53 -0
  54. package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +91 -0
  55. package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +45 -0
  56. package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +198 -0
  57. package/esm2020/table-builder/components/generic-table/paginator.component.mjs +74 -0
  58. package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +22 -0
  59. package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +90 -0
  60. package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +63 -0
  61. package/esm2020/table-builder/components/index.mjs +10 -0
  62. package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +33 -0
  63. package/esm2020/table-builder/components/link-column.component.mjs +66 -0
  64. package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +27 -0
  65. package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +42 -0
  66. package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +75 -0
  67. package/esm2020/table-builder/components/table-container/table-container.mjs +312 -0
  68. package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +42 -0
  69. package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +30 -0
  70. package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +25 -0
  71. package/esm2020/table-builder/directives/custom-cell-directive.mjs +59 -0
  72. package/esm2020/table-builder/directives/index.mjs +6 -0
  73. package/esm2020/table-builder/directives/multi-sort.directive.mjs +42 -0
  74. package/esm2020/table-builder/directives/resize-column.directive.mjs +86 -0
  75. package/esm2020/table-builder/directives/table-wrapper.directive.mjs +26 -0
  76. package/esm2020/table-builder/directives/tb-filter.directive.mjs +403 -0
  77. package/esm2020/table-builder/enums/filterTypes.mjs +59 -0
  78. package/esm2020/table-builder/functions/boolean-filter-function.mjs +10 -0
  79. package/esm2020/table-builder/functions/date-filter-function.mjs +32 -0
  80. package/esm2020/table-builder/functions/download-data.mjs +12 -0
  81. package/esm2020/table-builder/functions/null-filter-function.mjs +8 -0
  82. package/esm2020/table-builder/functions/number-filter-function.mjs +32 -0
  83. package/esm2020/table-builder/functions/sort-data-function.mjs +5 -0
  84. package/esm2020/table-builder/functions/string-filter-function.mjs +41 -0
  85. package/esm2020/table-builder/interfaces/ColumnInfo.mjs +2 -0
  86. package/esm2020/table-builder/interfaces/dictionary.mjs +2 -0
  87. package/esm2020/table-builder/interfaces/report-def.mjs +34 -0
  88. package/esm2020/table-builder/material.module.mjs +207 -0
  89. package/esm2020/table-builder/ngrx/actions.mjs +5 -0
  90. package/esm2020/table-builder/ngrx/effects.mjs +48 -0
  91. package/esm2020/table-builder/ngrx/reducer.mjs +52 -0
  92. package/esm2020/table-builder/ngrx/selectors.mjs +24 -0
  93. package/esm2020/table-builder/pipes/column-total.pipe.mjs +20 -0
  94. package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
  95. package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +46 -0
  96. package/esm2020/table-builder/pipes/key-display.mjs +20 -0
  97. package/esm2020/table-builder/services/export-to-csv.service.mjs +84 -0
  98. package/esm2020/table-builder/services/link-creator.service.mjs +42 -0
  99. package/esm2020/table-builder/services/table-template-service.mjs +43 -0
  100. package/esm2020/table-builder/services/transform-creator.mjs +70 -0
  101. package/esm2020/table-builder/table-builder.module.mjs +204 -0
  102. package/esm2020/utilities/directives/auto-focus.directive.mjs +26 -0
  103. package/esm2020/utilities/directives/clickEmitterDirective.mjs +21 -0
  104. package/esm2020/utilities/directives/clickSubject.mjs +27 -0
  105. package/esm2020/utilities/directives/conditional-classes.directive.mjs +35 -0
  106. package/esm2020/utilities/directives/dialog-service.mjs +25 -0
  107. package/esm2020/utilities/directives/dialog.mjs +137 -0
  108. package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +59 -0
  109. package/esm2020/utilities/directives/prevent-enter.directive.mjs +19 -0
  110. package/esm2020/utilities/directives/stop-propagation.directive.mjs +25 -0
  111. package/esm2020/utilities/directives/styler.mjs +26 -0
  112. package/esm2020/utilities/directives/trim-whitespace.directive.mjs +29 -0
  113. package/esm2020/utilities/index.mjs +16 -0
  114. package/esm2020/utilities/module.mjs +91 -0
  115. package/esm2020/utilities/pipes/function.pipe.mjs +21 -0
  116. package/esm2020/utilities/pipes/phone.pipe.mjs +20 -0
  117. package/esm2020/utilities/pipes/space-case.pipes.mjs +28 -0
  118. package/fesm2015/one-paragon-angular-utilities.mjs +4687 -0
  119. package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -0
  120. package/fesm2020/one-paragon-angular-utilities.mjs +4655 -0
  121. package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -0
  122. package/http-request-state/HttpRequestStateFactory.d.ts +14 -0
  123. package/http-request-state/HttpRequestStateStore.d.ts +48 -0
  124. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -0
  125. package/http-request-state/directives/http-error-state-directive.d.ts +12 -0
  126. package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -0
  127. package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -0
  128. package/http-request-state/directives/http-success-state-directive.d.ts +14 -0
  129. package/{src/http-request-state/directives/index.ts → http-request-state/directives/index.d.ts} +5 -5
  130. package/http-request-state/directives/request-state-directive.d.ts +29 -0
  131. package/http-request-state/helpers.d.ts +9 -0
  132. package/http-request-state/http-request-state.d.ts +12 -0
  133. package/http-request-state/http-state-module.d.ts +11 -0
  134. package/{src/http-request-state/index.ts → http-request-state/index.d.ts} +6 -6
  135. package/http-request-state/rxjs/getRequestorBody.d.ts +3 -0
  136. package/http-request-state/rxjs/getRequestorState.d.ts +3 -0
  137. package/{src/http-request-state/rxjs/index.ts → http-request-state/rxjs/index.d.ts} +4 -4
  138. package/http-request-state/rxjs/tapError.d.ts +3 -0
  139. package/http-request-state/rxjs/tapSuccess.d.ts +3 -0
  140. package/http-request-state/types.d.ts +36 -0
  141. package/index.d.ts +5 -0
  142. package/ngrx/actionable-selector.d.ts +15 -0
  143. package/ngrx/index.d.ts +1 -0
  144. package/package.json +36 -16
  145. package/{src/public-api.ts → public-api.d.ts} +3 -21
  146. package/rxjs/defaultShareReplay.d.ts +2 -0
  147. package/{src/rxjs/index.ts → rxjs/index.d.ts} +1 -1
  148. package/rxjs/mapError.d.ts +2 -0
  149. package/rxjs/rxjs-operators.d.ts +12 -0
  150. package/rxjs/subjectifier.d.ts +9 -0
  151. package/table-builder/classes/DefaultSettings.d.ts +8 -0
  152. package/table-builder/classes/GenericTableDataSource.d.ts +8 -0
  153. package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
  154. package/table-builder/classes/TableBuilderConfig.d.ts +19 -0
  155. package/table-builder/classes/TableState.d.ts +46 -0
  156. package/table-builder/classes/data-filter.d.ts +9 -0
  157. package/{src/table-builder/classes/display-col.ts → table-builder/classes/display-col.d.ts} +5 -5
  158. package/table-builder/classes/filter-info.d.ts +40 -0
  159. package/table-builder/classes/table-builder-general-settings.d.ts +43 -0
  160. package/table-builder/classes/table-builder.d.ts +14 -0
  161. package/table-builder/classes/table-store.d.ts +114 -0
  162. package/table-builder/components/array-column.component.d.ts +14 -0
  163. package/table-builder/components/column-builder/column-builder.component.d.ts +50 -0
  164. package/table-builder/components/date-filter/date-filter.component.d.ts +10 -0
  165. package/table-builder/components/filter/filter.component.d.ts +294 -0
  166. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -0
  167. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -0
  168. package/table-builder/components/generic-table/generic-table.component.d.ts +71 -0
  169. package/table-builder/components/generic-table/paginator.component.d.ts +28 -0
  170. package/table-builder/components/group-by-list/group-by-list.component.d.ts +10 -0
  171. package/table-builder/components/header-menu/header-menu.component.d.ts +25 -0
  172. package/table-builder/components/in-filter/in-filter.component.d.ts +21 -0
  173. package/{src/table-builder/components/index.ts → table-builder/components/index.d.ts} +0 -0
  174. package/table-builder/components/initialization-component/initialization-component.d.ts +12 -0
  175. package/table-builder/components/link-column.component.d.ts +17 -0
  176. package/table-builder/components/number-filter/number-filter.component.d.ts +12 -0
  177. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
  178. package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -0
  179. package/table-builder/components/table-container/table-container.d.ts +65 -0
  180. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -0
  181. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -0
  182. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
  183. package/table-builder/directives/custom-cell-directive.d.ts +19 -0
  184. package/{src/table-builder/directives/index.ts → table-builder/directives/index.d.ts} +0 -1
  185. package/table-builder/directives/multi-sort.directive.d.ts +11 -0
  186. package/table-builder/directives/resize-column.directive.d.ts +43 -0
  187. package/table-builder/directives/table-wrapper.directive.d.ts +11 -0
  188. package/table-builder/directives/tb-filter.directive.d.ts +120 -0
  189. package/table-builder/enums/filterTypes.d.ts +31 -0
  190. package/table-builder/functions/boolean-filter-function.d.ts +3 -0
  191. package/table-builder/functions/date-filter-function.d.ts +3 -0
  192. package/table-builder/functions/download-data.d.ts +1 -0
  193. package/table-builder/functions/null-filter-function.d.ts +2 -0
  194. package/table-builder/functions/number-filter-function.d.ts +4 -0
  195. package/table-builder/functions/sort-data-function.d.ts +3 -0
  196. package/table-builder/functions/string-filter-function.d.ts +7 -0
  197. package/{src/table-builder/interfaces/ColumnInfo.ts → table-builder/interfaces/ColumnInfo.d.ts} +6 -7
  198. package/{src/table-builder/interfaces/dictionary.ts → table-builder/interfaces/dictionary.d.ts} +1 -1
  199. package/table-builder/interfaces/report-def.d.ts +135 -0
  200. package/table-builder/material.module.d.ts +32 -0
  201. package/table-builder/ngrx/actions.d.ts +23 -0
  202. package/table-builder/ngrx/effects.d.ts +19 -0
  203. package/table-builder/ngrx/reducer.d.ts +15 -0
  204. package/table-builder/ngrx/selectors.d.ts +22 -0
  205. package/table-builder/pipes/column-total.pipe.d.ts +8 -0
  206. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
  207. package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -0
  208. package/table-builder/pipes/key-display.d.ts +11 -0
  209. package/table-builder/services/export-to-csv.service.d.ts +22 -0
  210. package/table-builder/services/link-creator.service.d.ts +12 -0
  211. package/table-builder/services/table-template-service.d.ts +14 -0
  212. package/table-builder/services/transform-creator.d.ts +19 -0
  213. package/table-builder/table-builder.module.d.ts +45 -0
  214. package/utilities/directives/auto-focus.directive.d.ts +10 -0
  215. package/utilities/directives/clickEmitterDirective.d.ts +7 -0
  216. package/utilities/directives/clickSubject.d.ts +9 -0
  217. package/utilities/directives/conditional-classes.directive.d.ts +14 -0
  218. package/utilities/directives/dialog-service.d.ts +10 -0
  219. package/utilities/directives/dialog.d.ts +46 -0
  220. package/utilities/directives/mat-toggle-group-directive.d.ts +21 -0
  221. package/utilities/directives/prevent-enter.directive.d.ts +6 -0
  222. package/utilities/directives/stop-propagation.directive.d.ts +7 -0
  223. package/utilities/directives/styler.d.ts +9 -0
  224. package/utilities/directives/trim-whitespace.directive.d.ts +9 -0
  225. package/{src/utilities/index.ts → utilities/index.d.ts} +1 -8
  226. package/utilities/module.d.ts +19 -0
  227. package/utilities/pipes/function.pipe.d.ts +7 -0
  228. package/utilities/pipes/phone.pipe.d.ts +7 -0
  229. package/utilities/pipes/space-case.pipes.d.ts +17 -0
  230. package/karma.conf.js +0 -44
  231. package/ng-package.json +0 -7
  232. package/src/action-state/action-state-spinner/action-state-spinner.component.css +0 -16
  233. package/src/action-state/action-state-spinner/action-state-spinner.component.html +0 -3
  234. package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +0 -25
  235. package/src/action-state/action-state-spinner/action-state-spinner.component.ts +0 -22
  236. package/src/action-state/action-state-ui/action-state-ui.module.ts +0 -19
  237. package/src/action-state/ngrx-ext/ngrx-ext.module.ts +0 -15
  238. package/src/action-state/ngrx.ts +0 -69
  239. package/src/http-request-state/HttpRequestStateFactory.ts +0 -26
  240. package/src/http-request-state/HttpRequestStateStore.ts +0 -147
  241. package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -38
  242. package/src/http-request-state/directives/http-error-state-directive.ts +0 -32
  243. package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -32
  244. package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -31
  245. package/src/http-request-state/directives/http-success-state-directive.ts +0 -31
  246. package/src/http-request-state/directives/request-state-directive.spec.ts +0 -72
  247. package/src/http-request-state/directives/request-state-directive.ts +0 -70
  248. package/src/http-request-state/helpers.ts +0 -30
  249. package/src/http-request-state/http-request-state.ts +0 -69
  250. package/src/http-request-state/http-state-module.ts +0 -26
  251. package/src/http-request-state/observable.spec.ts +0 -43
  252. package/src/http-request-state/rxjs/getRequestorBody.ts +0 -10
  253. package/src/http-request-state/rxjs/getRequestorState.ts +0 -8
  254. package/src/http-request-state/rxjs/tapError.ts +0 -16
  255. package/src/http-request-state/rxjs/tapSuccess.ts +0 -16
  256. package/src/http-request-state/strategies.spec.ts +0 -42
  257. package/src/http-request-state/types.ts +0 -50
  258. package/src/ngrx/actionable-selector.ts +0 -95
  259. package/src/ngrx/index.ts +0 -1
  260. package/src/rxjs/defaultShareReplay.ts +0 -8
  261. package/src/rxjs/mapError.ts +0 -8
  262. package/src/rxjs/rxjs-operators.ts +0 -130
  263. package/src/rxjs/subjectifier.ts +0 -15
  264. package/src/specs/clickSubject.spec.ts +0 -95
  265. package/src/specs/dialog.spec.ts +0 -101
  266. package/src/specs/toggleGroupDirective.spec.ts +0 -231
  267. package/src/table-builder/classes/DefaultSettings.ts +0 -10
  268. package/src/table-builder/classes/GenericTableDataSource.ts +0 -22
  269. package/src/table-builder/classes/MatTableObservableDataSource.ts +0 -23
  270. package/src/table-builder/classes/TableBuilderConfig.ts +0 -19
  271. package/src/table-builder/classes/TableState.ts +0 -63
  272. package/src/table-builder/classes/data-filter.spec.ts +0 -72
  273. package/src/table-builder/classes/data-filter.ts +0 -32
  274. package/src/table-builder/classes/filter-info.ts +0 -132
  275. package/src/table-builder/classes/table-builder-general-settings.ts +0 -73
  276. package/src/table-builder/classes/table-builder.ts +0 -71
  277. package/src/table-builder/classes/table-store.ts +0 -360
  278. package/src/table-builder/components/array-column.component.ts +0 -39
  279. package/src/table-builder/components/column-builder/column-builder.component.html +0 -66
  280. package/src/table-builder/components/column-builder/column-builder.component.scss +0 -43
  281. package/src/table-builder/components/column-builder/column-builder.component.spec.ts +0 -51
  282. package/src/table-builder/components/column-builder/column-builder.component.ts +0 -126
  283. package/src/table-builder/components/date-filter/date-filter.component.html +0 -24
  284. package/src/table-builder/components/date-filter/date-filter.component.ts +0 -17
  285. package/src/table-builder/components/filter/filter.component.html +0 -78
  286. package/src/table-builder/components/filter/filter.component.scss +0 -64
  287. package/src/table-builder/components/filter/filter.component.spec.ts +0 -89
  288. package/src/table-builder/components/filter/filter.component.ts +0 -35
  289. package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -82
  290. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +0 -52
  291. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +0 -57
  292. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +0 -44
  293. package/src/table-builder/components/generic-table/generic-table.component.html +0 -77
  294. package/src/table-builder/components/generic-table/generic-table.component.scss +0 -45
  295. package/src/table-builder/components/generic-table/generic-table.component.ts +0 -221
  296. package/src/table-builder/components/generic-table/paginator.component.ts +0 -89
  297. package/src/table-builder/components/group-by-list/group-by-list.component.css +0 -8
  298. package/src/table-builder/components/group-by-list/group-by-list.component.html +0 -10
  299. package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +0 -23
  300. package/src/table-builder/components/group-by-list/group-by-list.component.ts +0 -16
  301. package/src/table-builder/components/header-menu/header-menu.component.html +0 -117
  302. package/src/table-builder/components/header-menu/header-menu.component.scss +0 -92
  303. package/src/table-builder/components/header-menu/header-menu.component.ts +0 -81
  304. package/src/table-builder/components/in-filter/in-filter.component.css +0 -3
  305. package/src/table-builder/components/in-filter/in-filter.component.html +0 -13
  306. package/src/table-builder/components/in-filter/in-filter.component.ts +0 -60
  307. package/src/table-builder/components/initialization-component/initialization-component.html +0 -21
  308. package/src/table-builder/components/initialization-component/initialization-component.ts +0 -15
  309. package/src/table-builder/components/link-column.component.ts +0 -33
  310. package/src/table-builder/components/number-filter/number-filter.component.css +0 -10
  311. package/src/table-builder/components/number-filter/number-filter.component.html +0 -21
  312. package/src/table-builder/components/number-filter/number-filter.component.spec.ts +0 -30
  313. package/src/table-builder/components/number-filter/number-filter.component.ts +0 -19
  314. package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -59
  315. package/src/table-builder/components/sort-menu/sort-menu.component.html +0 -101
  316. package/src/table-builder/components/sort-menu/sort-menu.component.scss +0 -119
  317. package/src/table-builder/components/sort-menu/sort-menu.component.ts +0 -82
  318. package/src/table-builder/components/table-container/table-container.css +0 -26
  319. package/src/table-builder/components/table-container/table-container.html +0 -113
  320. package/src/table-builder/components/table-container/table-container.spec.ts +0 -157
  321. package/src/table-builder/components/table-container/table-container.ts +0 -344
  322. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +0 -26
  323. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +0 -38
  324. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +0 -37
  325. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +0 -8
  326. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +0 -88
  327. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +0 -27
  328. package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +0 -23
  329. package/src/table-builder/directives/custom-cell-directive.ts +0 -45
  330. package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
  331. package/src/table-builder/directives/multi-sort.directive.ts +0 -41
  332. package/src/table-builder/directives/resize-column.directive.ts +0 -104
  333. package/src/table-builder/directives/table-wrapper.directive.ts +0 -16
  334. package/src/table-builder/directives/tb-filter.directive.ts +0 -363
  335. package/src/table-builder/enums/filterTypes.ts +0 -65
  336. package/src/table-builder/functions/boolean-filter-function.ts +0 -13
  337. package/src/table-builder/functions/date-filter-function.ts +0 -40
  338. package/src/table-builder/functions/download-data.ts +0 -11
  339. package/src/table-builder/functions/null-filter-function.ts +0 -9
  340. package/src/table-builder/functions/number-filter-function.ts +0 -42
  341. package/src/table-builder/functions/sort-data-function.ts +0 -8
  342. package/src/table-builder/functions/string-filter-function.ts +0 -52
  343. package/src/table-builder/interfaces/column-template.ts +0 -9
  344. package/src/table-builder/interfaces/report-def.ts +0 -131
  345. package/src/table-builder/material.module.ts +0 -95
  346. package/src/table-builder/ngrx/actions.ts +0 -7
  347. package/src/table-builder/ngrx/effects.ts +0 -54
  348. package/src/table-builder/ngrx/reducer.ts +0 -72
  349. package/src/table-builder/ngrx/selectors.ts +0 -37
  350. package/src/table-builder/pipes/column-total.pipe.ts +0 -15
  351. package/src/table-builder/pipes/format-filter-type.pipe.ts +0 -12
  352. package/src/table-builder/pipes/format-filter-value.pipe.ts +0 -40
  353. package/src/table-builder/pipes/key-display.ts +0 -16
  354. package/src/table-builder/services/export-to-csv.service.ts +0 -92
  355. package/src/table-builder/services/link-creator.service.ts +0 -48
  356. package/src/table-builder/services/table-template-service.ts +0 -44
  357. package/src/table-builder/services/transform-creator.ts +0 -61
  358. package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
  359. package/src/table-builder/styles/collapser.styles.scss +0 -21
  360. package/src/table-builder/table-builder.module.ts +0 -138
  361. package/src/test.ts +0 -17
  362. package/src/utilities/directives/auto-focus.directive.ts +0 -19
  363. package/src/utilities/directives/clickEmitterDirective.ts +0 -15
  364. package/src/utilities/directives/clickSubject.ts +0 -19
  365. package/src/utilities/directives/conditional-classes.directive.ts +0 -35
  366. package/src/utilities/directives/dialog-service.ts +0 -22
  367. package/src/utilities/directives/dialog.ts +0 -142
  368. package/src/utilities/directives/mat-toggle-group-directive.ts +0 -60
  369. package/src/utilities/directives/prevent-enter.directive.ts +0 -12
  370. package/src/utilities/directives/stop-propagation.directive.ts +0 -19
  371. package/src/utilities/directives/styler.ts +0 -16
  372. package/src/utilities/directives/trim-whitespace.directive.ts +0 -20
  373. package/src/utilities/module.ts +0 -58
  374. package/src/utilities/pipes/function.pipe.ts +0 -15
  375. package/src/utilities/pipes/phone.pipe.ts +0 -15
  376. package/src/utilities/pipes/space-case.pipes.spec.ts +0 -47
  377. package/src/utilities/pipes/space-case.pipes.ts +0 -23
  378. package/tsconfig.lib.json +0 -19
  379. package/tsconfig.lib.prod.json +0 -10
  380. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,25 @@
1
+ import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
+ import { FilterType } from '../../enums/filterTypes';
3
+ import { ControlContainer, NgForm } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/material/form-field";
7
+ import * as i3 from "@angular/material/datepicker";
8
+ import * as i4 from "@angular/material/input";
9
+ import * as i5 from "@angular/forms";
10
+ export class DateFilterComponent {
11
+ constructor() {
12
+ this.FilterType = FilterType;
13
+ }
14
+ }
15
+ DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DateFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ DateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: DateFilterComponent, selector: "tb-date-filter", inputs: { info: "info", CurrentFilterType: "CurrentFilterType" }, ngImport: i0, template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.DateBetween && CurrentFilterType !== FilterType.IsNull\">\r\n <mat-form-field>\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" [matDatepicker]=\"cal\"/>\r\n <mat-datepicker-toggle class=\"small-button date-toggle\" matSuffix [for]=\"cal\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #cal></mat-datepicker>\r\n </mat-form-field>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"CurrentFilterType === FilterType.DateBetween\">\r\n <ng-container ngModelGroup=\"filterValue\">\r\n <mat-form-field class=\"my-filter\" >\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"From\" [matDatepicker]=\"fromVal\"\r\n (click)=\"fromVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"fromVal\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #fromVal></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"To\" [matDatepicker]=\"toVal\" (click)=\"toVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"toVal\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #toVal></mat-datepicker>\r\n </mat-form-field>\r\n </ng-container>\r\n</ng-container>\r\n\r\n", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:-moz-fit-content;width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]" }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: DateFilterComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'tb-date-filter', changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<ng-container *ngIf=\"CurrentFilterType !== FilterType.DateBetween && CurrentFilterType !== FilterType.IsNull\">\r\n <mat-form-field>\r\n <input matInput name=\"filterValue\" [ngModel]=\"info.filterValue\" [matDatepicker]=\"cal\"/>\r\n <mat-datepicker-toggle class=\"small-button date-toggle\" matSuffix [for]=\"cal\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #cal></mat-datepicker>\r\n </mat-form-field>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"CurrentFilterType === FilterType.DateBetween\">\r\n <ng-container ngModelGroup=\"filterValue\">\r\n <mat-form-field class=\"my-filter\" >\r\n <input matInput name=\"Start\" [ngModel]=\"info.filterValue?.Start\" placeholder=\"From\" [matDatepicker]=\"fromVal\"\r\n (click)=\"fromVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"fromVal\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #fromVal></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <input matInput name=\"End\" [ngModel]=\"info.filterValue?.End\" placeholder=\"To\" [matDatepicker]=\"toVal\" (click)=\"toVal.open()\"/>\r\n <mat-datepicker-toggle matSuffix class=\"small-button date-toggle\" [for]=\"toVal\" preventEnter></mat-datepicker-toggle>\r\n <mat-datepicker #toVal></mat-datepicker>\r\n </mat-form-field>\r\n </ng-container>\r\n</ng-container>\r\n\r\n", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:-moz-fit-content;width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"] }]
20
+ }], propDecorators: { info: [{
21
+ type: Input
22
+ }], CurrentFilterType: [{
23
+ type: Input
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9kYXRlLWZpbHRlci9kYXRlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2RhdGUtZmlsdGVyL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTMUQsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVFJLGVBQVUsR0FBRyxVQUFVLENBQUM7S0FHM0I7O2dIQUpZLG1CQUFtQjtvR0FBbkIsbUJBQW1CLHdIQ1poQywwNUNBd0JBLDIyRkRkbUIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUM7MkZBRXhELG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBRVQsdUJBQXVCLENBQUMsTUFBTSxpQkFFaEMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFDLENBQUM7OEJBSXhELElBQUk7c0JBQVosS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWx0ZXJJbmZvLCBQYXJ0aWFsRmlsdGVyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9maWx0ZXItaW5mbyc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd0Yi1kYXRlLWZpbHRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdHlsZVVybHM6IFsnLi4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgdmlld1Byb3ZpZGVyczogW3twcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVGaWx0ZXJDb21wb25lbnQge1xyXG4gICAgRmlsdGVyVHlwZSA9IEZpbHRlclR5cGU7XHJcbiAgICBASW5wdXQoKSBpbmZvITogUGFydGlhbEZpbHRlcjtcclxuICAgIEBJbnB1dCgpIEN1cnJlbnRGaWx0ZXJUeXBlITogRmlsdGVyVHlwZTtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiQ3VycmVudEZpbHRlclR5cGUgIT09IEZpbHRlclR5cGUuRGF0ZUJldHdlZW4gJiYgQ3VycmVudEZpbHRlclR5cGUgIT09IEZpbHRlclR5cGUuSXNOdWxsXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiaW5mby5maWx0ZXJWYWx1ZVwiIFttYXREYXRlcGlja2VyXT1cImNhbFwiLz5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBjbGFzcz1cInNtYWxsLWJ1dHRvbiBkYXRlLXRvZ2dsZVwiIG1hdFN1ZmZpeCBbZm9yXT1cImNhbFwiIHByZXZlbnRFbnRlcj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyICNjYWw+PC9tYXQtZGF0ZXBpY2tlcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJDdXJyZW50RmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5EYXRlQmV0d2VlblwiPlxyXG4gIDxuZy1jb250YWluZXIgbmdNb2RlbEdyb3VwPVwiZmlsdGVyVmFsdWVcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm15LWZpbHRlclwiID5cclxuICAgICAgPGlucHV0IG1hdElucHV0IG5hbWU9XCJTdGFydFwiIFtuZ01vZGVsXT1cImluZm8uZmlsdGVyVmFsdWU/LlN0YXJ0XCIgIHBsYWNlaG9sZGVyPVwiRnJvbVwiIFttYXREYXRlcGlja2VyXT1cImZyb21WYWxcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImZyb21WYWwub3BlbigpXCIvPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBjbGFzcz1cInNtYWxsLWJ1dHRvbiBkYXRlLXRvZ2dsZVwiIFtmb3JdPVwiZnJvbVZhbFwiIHByZXZlbnRFbnRlcj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyICNmcm9tVmFsPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cIkVuZFwiIFtuZ01vZGVsXT1cImluZm8uZmlsdGVyVmFsdWU/LkVuZFwiICBwbGFjZWhvbGRlcj1cIlRvXCIgW21hdERhdGVwaWNrZXJdPVwidG9WYWxcIiAoY2xpY2spPVwidG9WYWwub3BlbigpXCIvPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBjbGFzcz1cInNtYWxsLWJ1dHRvbiBkYXRlLXRvZ2dsZVwiIFtmb3JdPVwidG9WYWxcIiBwcmV2ZW50RW50ZXI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG9WYWw+PC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuIl19
@@ -0,0 +1,53 @@
1
+ import { Component, ChangeDetectionStrategy, Input, Output, EventEmitter } from '@angular/core';
2
+ import { filterTypeMap } from '../../classes/filter-info';
3
+ import { FilterType } from '../../enums/filterTypes';
4
+ import { FieldType } from '../../interfaces/report-def';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../classes/table-store";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/material/form-field";
9
+ import * as i4 from "@angular/material/select";
10
+ import * as i5 from "@angular/material/core";
11
+ import * as i6 from "@angular/material/radio";
12
+ import * as i7 from "@angular/material/button";
13
+ import * as i8 from "@angular/material/tooltip";
14
+ import * as i9 from "@angular/material/card";
15
+ import * as i10 from "@angular/material/input";
16
+ import * as i11 from "@angular/material/icon";
17
+ import * as i12 from "@angular/forms";
18
+ import * as i13 from "../date-filter/date-filter.component";
19
+ import * as i14 from "../number-filter/number-filter.component";
20
+ import * as i15 from "../in-filter/in-filter.component";
21
+ import * as i16 from "./in-list/in-list-filter.component";
22
+ import * as i17 from "../../../utilities/pipes/space-case.pipes";
23
+ export class FilterComponent {
24
+ constructor(state) {
25
+ this.state = state;
26
+ this.filterTypes = filterTypeMap;
27
+ this.FilterType = FilterType;
28
+ this.FieldType = FieldType;
29
+ this.close = new EventEmitter();
30
+ }
31
+ ;
32
+ ngOnInit() {
33
+ this.currentFilterType = this.filter.filterType;
34
+ }
35
+ onEnter(filter, event) {
36
+ event.preventDefault();
37
+ if (filter.filterValue != null && filter.filterType) {
38
+ this.state.addFilter(filter);
39
+ this.close.emit();
40
+ }
41
+ }
42
+ }
43
+ FilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FilterComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
44
+ FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: FilterComponent, selector: "tb-filter", inputs: { filter: "filter" }, outputs: { close: "close" }, ngImport: i0, template: "<mat-card appearance=\"outlined\" class=\"filter-card\" *ngIf=\"filter\">\r\n <mat-card-content>\r\n <form #form=\"ngForm\" (keydown.enter)=\"onEnter(form.value,$event)\" (keydown.escape)=\"close.emit()\">\r\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"filter.filterId\" />\r\n <input type=\"hidden\" name=\"key\" [ngModel]=\"filter.key\" />\r\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"filter.fieldType\" />\r\n <div class=\"head-row\" >\r\n <h4 class=\"filter-name\">{{(filter.key | spaceCase)}} Filter</h4>\r\n <button class=\"cancel-button small-button\" color=\"primary\" mat-icon-button (click)=\"close.emit();\" type=\"button\"\r\n matTooltip=\"Close\">\r\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"filter-row\">\r\n <div class=\"inline\">\r\n <mat-form-field class=\"my-filter\" >\r\n <mat-select placeholder=\"Select Filter Type\" name=\"filterType\" [(ngModel)]=\"currentFilterType\" >\r\n <mat-option *ngFor=\"let kvp of filterTypes[filter.fieldType] | keyvalue \" [value]=\"$any(kvp.value)[0]\">\r\n {{ kvp.key }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <ng-container [ngSwitch]=\"true\">\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.String || filter.fieldType === FieldType.Array || filter.fieldType === FieldType.Link ||\r\n filter.fieldType === FieldType.Unknown || filter.fieldType === FieldType.PhoneNumber\" >\r\n <ng-container *ngTemplateOutlet=\"String\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Number || filter.fieldType === FieldType.Currency\">\r\n <tb-number-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\" ></tb-number-filter>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Boolean\">\r\n <ng-container *ngTemplateOutlet=\"Boolean\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Date\">\r\n <tb-date-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\"></tb-date-filter>\r\n </ng-container>\r\n <ng-container *ngSwitchCase='filter.fieldType === FieldType.Enum' >\r\n <ng-container *ngTemplateOutlet=\"Enum\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" *ngIf=\"currentFilterType === FilterType.IsNull\">\r\n <mat-radio-button [value]=\"true\">True</mat-radio-button>\r\n <mat-radio-button [value]=\"false\">False</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n <button mat-button (click)=\"state.addFilter(form.value)\" disableRipple [disabled]=\"form.value.filterValue==undefined || !form.value.filterType\">\r\n Apply\r\n </button>\r\n \r\n \r\n <ng-template #String>\r\n <mat-form-field class=\"my-filter\" *ngIf=\"currentFilterType !== FilterType.IsNull && currentFilterType !== FilterType.In\">\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n </mat-form-field>\r\n <ng-container *ngIf=\"currentFilterType === FilterType.In\">\r\n <lib-in-filter [type]=\"FieldType.String\" name='filterValue' [(ngModel)]=\"filter.filterValue\" ></lib-in-filter>\r\n </ng-container>\r\n </ng-template>\r\n \r\n <ng-template #Boolean >\r\n <div class=\"switch\" [ngSwitch]=\"currentFilterType\">\r\n <div class=\"switch\" *ngSwitchCase=\"FilterType.BooleanEquals\">\r\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" >\r\n <mat-radio-button [value]=\"true\" preventEnter>True</mat-radio-button>\r\n <mat-radio-button [value]=\"false\" preventEnter>False</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #Enum>\r\n <ng-container *ngIf='currentFilterType === FilterType.In' >\r\n <tb-in-list-filter [key]='filter.key' name='filterValue' [(ngModel)]='filter.filterValue' ></tb-in-list-filter>\r\n </ng-container>\r\n </ng-template>\r\n </form>\r\n </mat-card-content>\r\n</mat-card>\r\n", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:-moz-fit-content;width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i12.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i12.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i12.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i12.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i13.DateFilterComponent, selector: "tb-date-filter", inputs: ["info", "CurrentFilterType"] }, { kind: "component", type: i14.NumberFilterComponent, selector: "tb-number-filter", inputs: ["CurrentFilterType", "info"] }, { kind: "component", type: i15.InFilterComponent, selector: "lib-in-filter", inputs: ["type"] }, { kind: "component", type: i16.InListFilterComponent, selector: "tb-in-list-filter , [tb-in-list-filter]", inputs: ["key"] }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i17.SpaceCasePipe, name: "spaceCase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: FilterComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'tb-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card appearance=\"outlined\" class=\"filter-card\" *ngIf=\"filter\">\r\n <mat-card-content>\r\n <form #form=\"ngForm\" (keydown.enter)=\"onEnter(form.value,$event)\" (keydown.escape)=\"close.emit()\">\r\n <input type=\"hidden\" name=\"filterId\" [ngModel]=\"filter.filterId\" />\r\n <input type=\"hidden\" name=\"key\" [ngModel]=\"filter.key\" />\r\n <input type=\"hidden\" name=\"fieldType\" [ngModel]=\"filter.fieldType\" />\r\n <div class=\"head-row\" >\r\n <h4 class=\"filter-name\">{{(filter.key | spaceCase)}} Filter</h4>\r\n <button class=\"cancel-button small-button\" color=\"primary\" mat-icon-button (click)=\"close.emit();\" type=\"button\"\r\n matTooltip=\"Close\">\r\n <mat-icon class=\"cancel-button\" color=\"primary\">close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"filter-row\">\r\n <div class=\"inline\">\r\n <mat-form-field class=\"my-filter\" >\r\n <mat-select placeholder=\"Select Filter Type\" name=\"filterType\" [(ngModel)]=\"currentFilterType\" >\r\n <mat-option *ngFor=\"let kvp of filterTypes[filter.fieldType] | keyvalue \" [value]=\"$any(kvp.value)[0]\">\r\n {{ kvp.key }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <ng-container [ngSwitch]=\"true\">\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.String || filter.fieldType === FieldType.Array || filter.fieldType === FieldType.Link ||\r\n filter.fieldType === FieldType.Unknown || filter.fieldType === FieldType.PhoneNumber\" >\r\n <ng-container *ngTemplateOutlet=\"String\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Number || filter.fieldType === FieldType.Currency\">\r\n <tb-number-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\" ></tb-number-filter>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Boolean\">\r\n <ng-container *ngTemplateOutlet=\"Boolean\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"filter.fieldType === FieldType.Date\">\r\n <tb-date-filter [info]=\"filter\" [CurrentFilterType]=\"currentFilterType!\"></tb-date-filter>\r\n </ng-container>\r\n <ng-container *ngSwitchCase='filter.fieldType === FieldType.Enum' >\r\n <ng-container *ngTemplateOutlet=\"Enum\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" *ngIf=\"currentFilterType === FilterType.IsNull\">\r\n <mat-radio-button [value]=\"true\">True</mat-radio-button>\r\n <mat-radio-button [value]=\"false\">False</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n <button mat-button (click)=\"state.addFilter(form.value)\" disableRipple [disabled]=\"form.value.filterValue==undefined || !form.value.filterType\">\r\n Apply\r\n </button>\r\n \r\n \r\n <ng-template #String>\r\n <mat-form-field class=\"my-filter\" *ngIf=\"currentFilterType !== FilterType.IsNull && currentFilterType !== FilterType.In\">\r\n <input matInput name=\"filterValue\" [ngModel]=\"filter.filterValue\" />\r\n </mat-form-field>\r\n <ng-container *ngIf=\"currentFilterType === FilterType.In\">\r\n <lib-in-filter [type]=\"FieldType.String\" name='filterValue' [(ngModel)]=\"filter.filterValue\" ></lib-in-filter>\r\n </ng-container>\r\n </ng-template>\r\n \r\n <ng-template #Boolean >\r\n <div class=\"switch\" [ngSwitch]=\"currentFilterType\">\r\n <div class=\"switch\" *ngSwitchCase=\"FilterType.BooleanEquals\">\r\n <mat-radio-group name=\"filterValue\" [ngModel]=\"filter.filterValue\" >\r\n <mat-radio-button [value]=\"true\" preventEnter>True</mat-radio-button>\r\n <mat-radio-button [value]=\"false\" preventEnter>False</mat-radio-button>\r\n </mat-radio-group>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #Enum>\r\n <ng-container *ngIf='currentFilterType === FilterType.In' >\r\n <tb-in-list-filter [key]='filter.key' name='filterValue' [(ngModel)]='filter.filterValue' ></tb-in-list-filter>\r\n </ng-container>\r\n </ng-template>\r\n </form>\r\n </mat-card-content>\r\n</mat-card>\r\n", styles: [".filter-name{color:#6495ed;margin:10px 0;font-weight:600;display:inline-block}.switch{display:inline-block}.my-filter{margin-right:15px}.cancel-button{float:right}.head-row{width:100%}.filter-row{width:-moz-fit-content;width:fit-content}mat-card.filter-card::ng-deep mat-form-field{width:150px}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper{line-height:0}mat-card.filter-card::ng-deep .mat-mdc-form-field-subscript-wrapper:before{height:0}.inline{display:inline-block}.small-button{height:18px;width:18px;font-size:18px;padding:0;margin:0}.small-button ::ng-deep *{line-height:initial;font-size:initial;height:18px;width:18px;font-size:18px;bottom:initial}.cancel-button{float:right;font-weight:700}.date-toggle ::ng-deep svg{position:absolute;left:0;top:0}\n"] }]
48
+ }], ctorParameters: function () { return [{ type: i1.TableStore }]; }, propDecorators: { filter: [{
49
+ type: Input
50
+ }], close: [{
51
+ type: Output
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUE4RCxNQUFNLDJCQUEyQixDQUFDO0FBRXRILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXeEQsTUFBTSxPQUFPLGVBQWU7SUFPMUIsWUFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQU5yQyxnQkFBVyxHQUFHLGFBQWEsQ0FBQztRQUM1QixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFFWixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVJLENBQUM7SUFIVixDQUFDO0lBS2pDLFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDbEQsQ0FBQztJQUNELE9BQU8sQ0FBQyxNQUFrQixFQUFFLEtBQVU7UUFDcEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksTUFBTSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7NEdBbEJVLGVBQWU7Z0dBQWYsZUFBZSw0R0NmNUIsOGxKQThFQTsyRkQvRGEsZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07aUdBTXhDLE1BQU07c0JBQWQsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyVHlwZU1hcCwgRmlsdGVySW5mbywgVW5tYXBwZWRUeXBlcywgbWFwcGVkRmllbGRUeXBlcywgUGFydGlhbEZpbHRlciB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZmlsdGVyLWluZm8nO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcblxyXG5cclxudHlwZSB0aGluZ3kgPSBPbWl0PEZpZWxkVHlwZSxVbm1hcHBlZFR5cGVzPlxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3RiLWZpbHRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2ZpbHRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgbWFwcGVkRmllbGRUeXBlcyA9IGFueT4ge1xyXG4gIGZpbHRlclR5cGVzID0gZmlsdGVyVHlwZU1hcDtcclxuICBGaWx0ZXJUeXBlID0gRmlsdGVyVHlwZTtcclxuICBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XHJcbiAgQElucHV0KCkgZmlsdGVyITogUGFydGlhbEZpbHRlcjs7XHJcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGN1cnJlbnRGaWx0ZXJUeXBlPzogRmlsdGVyVHlwZTtcclxuICBjb25zdHJ1Y3RvciggcHVibGljIHN0YXRlOiBUYWJsZVN0b3JlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXJUeXBlID0gdGhpcy5maWx0ZXIuZmlsdGVyVHlwZTtcclxuICB9XHJcbiAgb25FbnRlcihmaWx0ZXI6IEZpbHRlckluZm8sIGV2ZW50OiBhbnkpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBpZiAoZmlsdGVyLmZpbHRlclZhbHVlICE9IG51bGwgJiYgZmlsdGVyLmZpbHRlclR5cGUpIHtcclxuICAgICAgdGhpcy5zdGF0ZS5hZGRGaWx0ZXIoZmlsdGVyKTtcclxuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cImZpbHRlci1jYXJkXCIgKm5nSWY9XCJmaWx0ZXJcIj5cclxuICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgIDxmb3JtICNmb3JtPVwibmdGb3JtXCIgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoZm9ybS52YWx1ZSwkZXZlbnQpXCIgKGtleWRvd24uZXNjYXBlKT1cImNsb3NlLmVtaXQoKVwiPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJmaWx0ZXJJZFwiIFtuZ01vZGVsXT1cImZpbHRlci5maWx0ZXJJZFwiIC8+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cImtleVwiIFtuZ01vZGVsXT1cImZpbHRlci5rZXlcIiAvPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJmaWVsZFR5cGVcIiBbbmdNb2RlbF09XCJmaWx0ZXIuZmllbGRUeXBlXCIgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImhlYWQtcm93XCIgPlxyXG4gICAgICAgIDxoNCBjbGFzcz1cImZpbHRlci1uYW1lXCI+e3soZmlsdGVyLmtleSB8IHNwYWNlQ2FzZSl9fSBGaWx0ZXI8L2g0PlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWwtYnV0dG9uIHNtYWxsLWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2UuZW1pdCgpO1wiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiQ2xvc2VcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNhbmNlbC1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXJvd1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlubGluZVwiPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJteS1maWx0ZXJcIiA+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgRmlsdGVyIFR5cGVcIiBuYW1lPVwiZmlsdGVyVHlwZVwiICBbKG5nTW9kZWwpXT1cImN1cnJlbnRGaWx0ZXJUeXBlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBrdnAgb2YgIGZpbHRlclR5cGVzW2ZpbHRlci5maWVsZFR5cGVdIHwga2V5dmFsdWUgXCIgW3ZhbHVlXT1cIiRhbnkoa3ZwLnZhbHVlKVswXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBrdnAua2V5IH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiZmlsdGVyLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLlN0cmluZyB8fCBmaWx0ZXIuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQXJyYXkgfHwgZmlsdGVyLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkxpbmsgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVW5rbm93biB8fCBmaWx0ZXIuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuUGhvbmVOdW1iZXJcIiA+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJTdHJpbmdcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICAgKm5nU3dpdGNoQ2FzZT1cImZpbHRlci5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5OdW1iZXIgfHwgZmlsdGVyLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkN1cnJlbmN5XCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0Yi1udW1iZXItZmlsdGVyIFtpbmZvXT1cImZpbHRlclwiIFtDdXJyZW50RmlsdGVyVHlwZV09XCJjdXJyZW50RmlsdGVyVHlwZSFcIiA+PC90Yi1udW1iZXItZmlsdGVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgICpuZ1N3aXRjaENhc2U9XCJmaWx0ZXIuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQm9vbGVhblwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiQm9vbGVhblwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImZpbHRlci5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5EYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0Yi1kYXRlLWZpbHRlciBbaW5mb109XCJmaWx0ZXJcIiBbQ3VycmVudEZpbHRlclR5cGVdPVwiY3VycmVudEZpbHRlclR5cGUhXCI+PC90Yi1kYXRlLWZpbHRlcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9J2ZpbHRlci5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5FbnVtJyA+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICAqbmdUZW1wbGF0ZU91dGxldD1cIkVudW1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG1hdC1yYWRpby1ncm91cCBuYW1lPVwiZmlsdGVyVmFsdWVcIiBbbmdNb2RlbF09XCJmaWx0ZXIuZmlsdGVyVmFsdWVcIiAqbmdJZj1cImN1cnJlbnRGaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLklzTnVsbFwiPlxyXG4gICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwidHJ1ZVwiPlRydWU8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIFt2YWx1ZV09XCJmYWxzZVwiPkZhbHNlPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cInN0YXRlLmFkZEZpbHRlcihmb3JtLnZhbHVlKVwiIGRpc2FibGVSaXBwbGUgW2Rpc2FibGVkXT1cImZvcm0udmFsdWUuZmlsdGVyVmFsdWU9PXVuZGVmaW5lZCB8fCAhZm9ybS52YWx1ZS5maWx0ZXJUeXBlXCI+XHJcbiAgICAgICAgQXBwbHlcclxuICAgICAgPC9idXR0b24+XHJcbiAgICBcclxuICAgIFxyXG4gICAgPG5nLXRlbXBsYXRlICNTdHJpbmc+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJteS1maWx0ZXJcIiAqbmdJZj1cImN1cnJlbnRGaWx0ZXJUeXBlICE9PSBGaWx0ZXJUeXBlLklzTnVsbCAmJiBjdXJyZW50RmlsdGVyVHlwZSAhPT0gRmlsdGVyVHlwZS5JblwiPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgbmFtZT1cImZpbHRlclZhbHVlXCIgW25nTW9kZWxdPVwiZmlsdGVyLmZpbHRlclZhbHVlXCIgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudEZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuSW5cIj5cclxuICAgICAgPGxpYi1pbi1maWx0ZXIgW3R5cGVdPVwiRmllbGRUeXBlLlN0cmluZ1wiIG5hbWU9J2ZpbHRlclZhbHVlJyBbKG5nTW9kZWwpXT1cImZpbHRlci5maWx0ZXJWYWx1ZVwiID48L2xpYi1pbi1maWx0ZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICBcclxuICAgIDxuZy10ZW1wbGF0ZSAjQm9vbGVhbiA+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3dpdGNoXCIgW25nU3dpdGNoXT1cImN1cnJlbnRGaWx0ZXJUeXBlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzd2l0Y2hcIiAqbmdTd2l0Y2hDYXNlPVwiRmlsdGVyVHlwZS5Cb29sZWFuRXF1YWxzXCI+XHJcbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBuYW1lPVwiZmlsdGVyVmFsdWVcIiBbbmdNb2RlbF09XCJmaWx0ZXIuZmlsdGVyVmFsdWVcIiA+XHJcbiAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwidHJ1ZVwiIHByZXZlbnRFbnRlcj5UcnVlPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gW3ZhbHVlXT1cImZhbHNlXCIgcHJldmVudEVudGVyPkZhbHNlPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjRW51bT5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj0nY3VycmVudEZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuSW4nID5cclxuICAgICAgICA8dGItaW4tbGlzdC1maWx0ZXIgW2tleV09J2ZpbHRlci5rZXknIG5hbWU9J2ZpbHRlclZhbHVlJyBbKG5nTW9kZWwpXT0nZmlsdGVyLmZpbHRlclZhbHVlJyA+PC90Yi1pbi1saXN0LWZpbHRlcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbWF0LWNhcmQtY29udGVudD5cclxuPC9tYXQtY2FyZD5cclxuIl19
@@ -0,0 +1,91 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { map, tap } from 'rxjs/operators';
4
+ import { FieldType } from '../../../interfaces/report-def';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../classes/table-store";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/material/checkbox";
9
+ import * as i4 from "../../../../utilities/directives/stop-propagation.directive";
10
+ import * as i5 from "../../../../utilities/pipes/space-case.pipes";
11
+ export class InListFilterComponent {
12
+ constructor(ref, tableState) {
13
+ this.ref = ref;
14
+ this.tableState = tableState;
15
+ this.value = [];
16
+ this.FieldType = FieldType;
17
+ this.onChange = (_) => { };
18
+ this.onTouched = () => { };
19
+ this.selectedKeys = [];
20
+ }
21
+ writeValue(obj) {
22
+ this.value = obj;
23
+ if (this.value) {
24
+ this.selectedKeys = this.value.map(f => f);
25
+ }
26
+ this.ref.markForCheck();
27
+ }
28
+ registerOnChange(fn) {
29
+ this.onChange = fn;
30
+ }
31
+ registerOnTouched(fn) {
32
+ this.onTouched = fn;
33
+ }
34
+ ngOnInit() {
35
+ this.keyValues$ = this.tableState.getMetaData$(this.key).pipe(tap(metaData => this.metaData = metaData), map(metaData => {
36
+ if (metaData.additional?.filterOptions?.filterableValues) {
37
+ return metaData.additional.filterOptions.filterableValues.reduce((prev, cur) => { prev[cur] = cur; return prev; }, {});
38
+ }
39
+ else {
40
+ if (metaData.fieldType === FieldType.Enum) {
41
+ return metaData.additional.enumMap;
42
+ }
43
+ }
44
+ return {};
45
+ }));
46
+ }
47
+ selectFilterChanged($event, val) {
48
+ if ($event.checked) {
49
+ this.selectedKeys.push(val);
50
+ }
51
+ else {
52
+ this.selectedKeys = this.selectedKeys.filter(item => item !== val);
53
+ }
54
+ this.value = this.selectedKeys;
55
+ this.onChange(this.value);
56
+ }
57
+ }
58
+ InListFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InListFilterComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
59
+ InListFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: InListFilterComponent, selector: "tb-in-list-filter , [tb-in-list-filter]", inputs: { key: "key" }, providers: [{
60
+ provide: NG_VALUE_ACCESSOR,
61
+ useExisting: InListFilterComponent,
62
+ multi: true
63
+ }], ngImport: i0, template: `
64
+ <div *ngFor="let item of keyValues$ | async| keyvalue" >
65
+ <mat-checkbox [checked]='selectedKeys.includes(item.key)' stop-propagation (change)='selectFilterChanged($event, item.key)' >
66
+ {{metaData.fieldType === FieldType.Enum ? (item.value | spaceCase) : item.value}}
67
+ </mat-checkbox>
68
+ </div>
69
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i4.StopPropagationDirective, selector: "[stop-propagation]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i5.SpaceCasePipe, name: "spaceCase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: InListFilterComponent, decorators: [{
71
+ type: Component,
72
+ args: [{
73
+ selector: 'tb-in-list-filter , [tb-in-list-filter]',
74
+ template: `
75
+ <div *ngFor="let item of keyValues$ | async| keyvalue" >
76
+ <mat-checkbox [checked]='selectedKeys.includes(item.key)' stop-propagation (change)='selectFilterChanged($event, item.key)' >
77
+ {{metaData.fieldType === FieldType.Enum ? (item.value | spaceCase) : item.value}}
78
+ </mat-checkbox>
79
+ </div>
80
+ `,
81
+ changeDetection: ChangeDetectionStrategy.OnPush,
82
+ providers: [{
83
+ provide: NG_VALUE_ACCESSOR,
84
+ useExisting: InListFilterComponent,
85
+ multi: true
86
+ }]
87
+ }]
88
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TableStore }]; }, propDecorators: { key: [{
89
+ type: Input
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tbGlzdC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9maWx0ZXIvaW4tbGlzdC9pbi1saXN0LWZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQXdCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQUUsU0FBUyxFQUFZLE1BQU0sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFtQnJFLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFBb0IsR0FBc0IsRUFBVSxVQUFzQjtRQUF0RCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDMUUsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixjQUFTLEdBQUcsU0FBUyxDQUFDO1FBVXRCLGFBQVEsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSzNCLGNBQVMsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFPdEIsaUJBQVksR0FBYyxFQUFFLENBQUM7SUF4QmlELENBQUM7SUFHL0UsVUFBVSxDQUFDLEdBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFFakIsSUFBRyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBRSxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBSUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDM0QsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsRUFDekMsR0FBRyxDQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ2QsSUFBRyxRQUFRLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRztnQkFDeEQsT0FBUSxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUUsQ0FBQyxJQUFTLEVBQUUsR0FBRyxFQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDN0g7aUJBQU07Z0JBQ0wsSUFBRyxRQUFRLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUc7b0JBQ3pDLE9BQU8sUUFBUSxDQUFDLFVBQVcsQ0FBQyxPQUFPLENBQUM7aUJBQ3JDO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEdBQUc7UUFDN0IsSUFBRyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ3JFO1FBRUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7O2tIQXREVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiwwRkFOckIsQ0FBQztZQUNWLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLHFCQUFxQjtZQUNsQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsMEJBWlE7Ozs7OztHQU1UOzJGQVFVLHFCQUFxQjtrQkFoQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztvQkFDbkQsUUFBUSxFQUFFOzs7Ozs7R0FNVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyx1QkFBdUI7NEJBQ2xDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7aUJBQ0g7aUlBd0JVLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9kaWN0aW9uYXJ5JztcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBNZXRhRGF0YSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0Yi1pbi1saXN0LWZpbHRlciAsIFt0Yi1pbi1saXN0LWZpbHRlcl0nLFxyXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2Yga2V5VmFsdWVzJCB8IGFzeW5jfCBrZXl2YWx1ZVwiID5cbiAgICA8bWF0LWNoZWNrYm94IFtjaGVja2VkXT0nc2VsZWN0ZWRLZXlzLmluY2x1ZGVzKGl0ZW0ua2V5KScgc3RvcC1wcm9wYWdhdGlvbiAoY2hhbmdlKT0nc2VsZWN0RmlsdGVyQ2hhbmdlZCgkZXZlbnQsIGl0ZW0ua2V5KScgPlxuICAgICAge3ttZXRhRGF0YS5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5FbnVtID8gKGl0ZW0udmFsdWUgfCBzcGFjZUNhc2UpIDogaXRlbS52YWx1ZX19XG4gICAgPC9tYXQtY2hlY2tib3g+XG4gIDwvZGl2PlxuICBgLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IEluTGlzdEZpbHRlckNvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluTGlzdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRhYmxlU3RhdGU6IFRhYmxlU3RvcmUgKSB7fVxyXG4gIHZhbHVlOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcclxuICB3cml0ZVZhbHVlKG9iajogc3RyaW5nW10pOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcblxyXG4gICAgaWYodGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkS2V5cyA9IHRoaXMudmFsdWUubWFwKCBmID0+IGYgKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICBvblRvdWNoZWQgPSAoKSA9PiB7IH07XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgQElucHV0KCkga2V5ITogc3RyaW5nO1xyXG5cclxuICBrZXlWYWx1ZXMkISA6IE9ic2VydmFibGU8RGljdGlvbmFyeTxzdHJpbmc+PjtcclxuICBzZWxlY3RlZEtleXMgOiBzdHJpbmdbXSA9IFtdO1xyXG4gIG1ldGFEYXRhITogTWV0YURhdGE7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5rZXlWYWx1ZXMkID0gdGhpcy50YWJsZVN0YXRlLmdldE1ldGFEYXRhJCh0aGlzLmtleSkucGlwZShcclxuICAgICAgdGFwKG1ldGFEYXRhID0+IHRoaXMubWV0YURhdGEgPSBtZXRhRGF0YSksXHJcbiAgICAgIG1hcCggbWV0YURhdGEgPT4ge1xyXG4gICAgICAgIGlmKG1ldGFEYXRhLmFkZGl0aW9uYWw/LmZpbHRlck9wdGlvbnM/LmZpbHRlcmFibGVWYWx1ZXMgKSB7XHJcbiAgICAgICAgICByZXR1cm4gIG1ldGFEYXRhLmFkZGl0aW9uYWwuZmlsdGVyT3B0aW9ucy5maWx0ZXJhYmxlVmFsdWVzLnJlZHVjZSggKHByZXY6IGFueSwgY3VyKT0+IHsgcHJldltjdXJdID0gY3VyOyByZXR1cm4gcHJldiB9LCB7fSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmKG1ldGFEYXRhLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkVudW0gKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBtZXRhRGF0YS5hZGRpdGlvbmFsIS5lbnVtTWFwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge307XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RmlsdGVyQ2hhbmdlZCgkZXZlbnQsIHZhbCkge1xyXG4gICAgaWYoJGV2ZW50LmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEtleXMucHVzaCh2YWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEtleXMgPSB0aGlzLnNlbGVjdGVkS2V5cy5maWx0ZXIoIGl0ZW0gPT4gaXRlbSAhPT0gdmFsKTtcclxuICAgIH1cclxuXHJcbiAgIHRoaXMudmFsdWUgPSB0aGlzLnNlbGVjdGVkS2V5cztcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,45 @@
1
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { orderViewableMetaData } from '../../classes/table-store';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../classes/table-store";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@angular/material/button";
8
+ import * as i4 from "@angular/material/tooltip";
9
+ import * as i5 from "@angular/material/menu";
10
+ import * as i6 from "@angular/material/icon";
11
+ import * as i7 from "@angular/cdk/drag-drop";
12
+ import * as i8 from "../../../utilities/directives/stop-propagation.directive";
13
+ import * as i9 from "../../../utilities/pipes/space-case.pipes";
14
+ export class GenColDisplayerComponent {
15
+ constructor(tableState) {
16
+ this.tableState = tableState;
17
+ this.columns$ = this.tableState.state$.pipe(map(state => orderViewableMetaData(state)
18
+ .map(md => ({
19
+ key: md.key,
20
+ displayName: md.displayName,
21
+ isVisible: !state.hiddenKeys.includes(md.key)
22
+ }))));
23
+ }
24
+ reset(displayCols) {
25
+ displayCols.forEach(c => c.isVisible = true);
26
+ this.emit(displayCols);
27
+ }
28
+ drop(event) {
29
+ this.tableState.setUserDefinedOrder({ newOrder: event.currentIndex, oldOrder: event.previousIndex });
30
+ }
31
+ unset(displayCols) {
32
+ displayCols.forEach(c => c.isVisible = false);
33
+ this.emit(displayCols);
34
+ }
35
+ emit(displayCols) {
36
+ this.tableState.setHiddenColumns(displayCols.map(c => ({ key: c.key, visible: c.isVisible })));
37
+ }
38
+ }
39
+ GenColDisplayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GenColDisplayerComponent, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Component });
40
+ GenColDisplayerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: GenColDisplayerComponent, selector: "tb-col-displayer", ngImport: i0, template: "<ng-container *ngIf=\"columns$ | async as displayCols\">\r\n <span matTooltip=\"Show/hide columns\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <mat-icon color=\"primary\">visibility_off</mat-icon>\r\n </button>\r\n </span>\r\n <mat-menu #menu=\"matMenu\" class=\"my-mat-menu\">\r\n\r\n <button mat-menu-item>\r\n <span matTooltip=\"Close\">\r\n <button class=\"filter-button\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </span>\r\n </button>\r\n\r\n <button mat-menu-item stop-propagation>\r\n <span matTooltip=\"Show all columns\">\r\n <button mat-icon-button (click)=\"reset(displayCols)\">\r\n <mat-icon color=\"primary\">done_all</mat-icon>\r\n </button>\r\n </span>\r\n\r\n <span matTooltip=\"Hide all columns\">\r\n <button mat-icon-button (click)=\"unset(displayCols)\">\r\n <mat-icon color=\"primary\">cancel</mat-icon>\r\n </button>\r\n </span>\r\n </button>\r\n\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" stop-propagation cdkDropListLockAxis='y'>\r\n <button [class.isHidden]=\"!col.isVisible\" stop-propagation mat-menu-item cdkDrag [cdkDragData]=\"col\"\r\n *ngFor=\"let col of displayCols\">\r\n <div (click)=\"col.isVisible = !col.isVisible; emit(displayCols)\" style=\"display: flex; align-items: center;\">\r\n <button mat-icon-button matTooltip=\"Hide Column\" class=\"show-hide\" *ngIf=\"col.isVisible; else hidden\">\r\n <mat-icon color=\"primary\">check_box</mat-icon>\r\n </button>\r\n <p class=\"label\">\r\n {{col.displayName || (col.key | spaceCase) }}\r\n </p>\r\n\r\n <ng-template #hidden>\r\n <button mat-icon-button matTooltip=\"Show Column\" class=\"show-hide\">\r\n <mat-icon>indeterminate_check_box</mat-icon>\r\n </button>\r\n </ng-template>\r\n\r\n </div>\r\n </button>\r\n </div>\r\n </mat-menu>\r\n</ng-container>", styles: [".show-hide{margin-right:15px;height:24px;width:24px;padding:4px}.label{color:#6495ed;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:left;margin:0;font-size:17px;font-weight:700;display:inline-block;width:66%}.row{margin:0;padding:0}.isHidden{background-color:#d3d3d3;color:#a9a9a9;font-weight:700;font-size:17px;white-space:nowrap}.filter-button{margin-top:10px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.mdc-list-item__primary-text{display:inline-block;width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i7.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i8.StopPropagationDirective, selector: "[stop-propagation]" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.SpaceCasePipe, name: "spaceCase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: GenColDisplayerComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'tb-col-displayer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"columns$ | async as displayCols\">\r\n <span matTooltip=\"Show/hide columns\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\">\r\n <mat-icon color=\"primary\">visibility_off</mat-icon>\r\n </button>\r\n </span>\r\n <mat-menu #menu=\"matMenu\" class=\"my-mat-menu\">\r\n\r\n <button mat-menu-item>\r\n <span matTooltip=\"Close\">\r\n <button class=\"filter-button\" mat-icon-button>\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </span>\r\n </button>\r\n\r\n <button mat-menu-item stop-propagation>\r\n <span matTooltip=\"Show all columns\">\r\n <button mat-icon-button (click)=\"reset(displayCols)\">\r\n <mat-icon color=\"primary\">done_all</mat-icon>\r\n </button>\r\n </span>\r\n\r\n <span matTooltip=\"Hide all columns\">\r\n <button mat-icon-button (click)=\"unset(displayCols)\">\r\n <mat-icon color=\"primary\">cancel</mat-icon>\r\n </button>\r\n </span>\r\n </button>\r\n\r\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" stop-propagation cdkDropListLockAxis='y'>\r\n <button [class.isHidden]=\"!col.isVisible\" stop-propagation mat-menu-item cdkDrag [cdkDragData]=\"col\"\r\n *ngFor=\"let col of displayCols\">\r\n <div (click)=\"col.isVisible = !col.isVisible; emit(displayCols)\" style=\"display: flex; align-items: center;\">\r\n <button mat-icon-button matTooltip=\"Hide Column\" class=\"show-hide\" *ngIf=\"col.isVisible; else hidden\">\r\n <mat-icon color=\"primary\">check_box</mat-icon>\r\n </button>\r\n <p class=\"label\">\r\n {{col.displayName || (col.key | spaceCase) }}\r\n </p>\r\n\r\n <ng-template #hidden>\r\n <button mat-icon-button matTooltip=\"Show Column\" class=\"show-hide\">\r\n <mat-icon>indeterminate_check_box</mat-icon>\r\n </button>\r\n </ng-template>\r\n\r\n </div>\r\n </button>\r\n </div>\r\n </mat-menu>\r\n</ng-container>", styles: [".show-hide{margin-right:15px;height:24px;width:24px;padding:4px}.label{color:#6495ed;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:left;margin:0;font-size:17px;font-weight:700;display:inline-block;width:66%}.row{margin:0;padding:0}.isHidden{background-color:#d3d3d3;color:#a9a9a9;font-weight:700;font-size:17px;white-space:nowrap}.filter-button{margin-top:10px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.mdc-list-item__primary-text{display:inline-block;width:100%}\n"] }]
44
+ }], ctorParameters: function () { return [{ type: i1.TableStore }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuLWNvbC1kaXNwbGF5ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cy9nZW4tY29sLWRpc3BsYXllci9nZW4tY29sLWRpc3BsYXllci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jb21wb25lbnRzL2dlbi1jb2wtZGlzcGxheWVyL2dlbi1jb2wtZGlzcGxheWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHbEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxxQkFBcUIsRUFBYyxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7OztBQVM5RSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQXFCLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3pDLEdBQUcsQ0FBRSxLQUFLLENBQUMsRUFBRSxDQUNYLHFCQUFxQixDQUFDLEtBQUssQ0FBQzthQUN6QixHQUFHLENBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ1gsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHO1lBQ1gsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXO1lBQzNCLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDOUMsQ0FBQyxDQUFDLENBQ04sQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxXQUF5QjtRQUM3QixXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFDLFFBQVEsRUFBQyxLQUFLLENBQUMsWUFBWSxFQUFDLFFBQVEsRUFBQyxLQUFLLENBQUMsYUFBYSxFQUFDLENBQUMsQ0FBQTtJQUNqRyxDQUFDO0lBQ0QsS0FBSyxDQUFDLFdBQXlCO1FBQzdCLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksQ0FBQyxXQUF5QjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDOztxSEE3QlUsd0JBQXdCO3lHQUF4Qix3QkFBd0Isd0RDYnJDLG1pRUFtRGU7MkZEdENGLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaXNwbGF5Q29sIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9kaXNwbGF5LWNvbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBvcmRlclZpZXdhYmxlTWV0YURhdGEsIFRhYmxlU3RvcmUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHtDZGtEcmFnRHJvcH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RiLWNvbC1kaXNwbGF5ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW4tY29sLWRpc3BsYXllci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ2VuLWNvbC1kaXNwbGF5ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuQ29sRGlzcGxheWVyQ29tcG9uZW50IHtcclxuICBjb2x1bW5zJDogT2JzZXJ2YWJsZTwgRGlzcGxheUNvbFtdPjtcclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSB0YWJsZVN0YXRlOiBUYWJsZVN0b3JlICkge1xyXG4gICAgdGhpcy5jb2x1bW5zJCA9IHRoaXMudGFibGVTdGF0ZS5zdGF0ZSQucGlwZShcclxuICAgICAgbWFwKCBzdGF0ZSA9PlxyXG4gICAgICAgIG9yZGVyVmlld2FibGVNZXRhRGF0YShzdGF0ZSlcclxuICAgICAgICAgIC5tYXAoIG1kID0+ICh7XHJcbiAgICAgICAgICAgIGtleTogbWQua2V5LFxyXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogbWQuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICAgIGlzVmlzaWJsZTogIXN0YXRlLmhpZGRlbktleXMuaW5jbHVkZXMobWQua2V5KVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoZGlzcGxheUNvbHM6IERpc3BsYXlDb2xbXSkge1xyXG4gICAgZGlzcGxheUNvbHMuZm9yRWFjaChjID0+IGMuaXNWaXNpYmxlID0gdHJ1ZSk7XHJcbiAgICB0aGlzLmVtaXQoZGlzcGxheUNvbHMpO1xyXG4gIH1cclxuICBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIHRoaXMudGFibGVTdGF0ZS5zZXRVc2VyRGVmaW5lZE9yZGVyKHtuZXdPcmRlcjpldmVudC5jdXJyZW50SW5kZXgsb2xkT3JkZXI6ZXZlbnQucHJldmlvdXNJbmRleH0pXHJcbiAgfVxyXG4gIHVuc2V0KGRpc3BsYXlDb2xzOiBEaXNwbGF5Q29sW10pIHtcclxuICAgIGRpc3BsYXlDb2xzLmZvckVhY2goYyA9PiBjLmlzVmlzaWJsZSA9IGZhbHNlKTtcclxuICAgIHRoaXMuZW1pdChkaXNwbGF5Q29scyk7XHJcbiAgfVxyXG5cclxuICBlbWl0KGRpc3BsYXlDb2xzOiBEaXNwbGF5Q29sW10pIHtcclxuICAgIHRoaXMudGFibGVTdGF0ZS5zZXRIaWRkZW5Db2x1bW5zKGRpc3BsYXlDb2xzLm1hcCggYyA9PiAoe2tleTogYy5rZXksIHZpc2libGU6IGMuaXNWaXNpYmxlfSkpKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbnMkIHwgYXN5bmMgYXMgZGlzcGxheUNvbHNcIj5cclxuICA8c3BhbiBtYXRUb29sdGlwPVwiU2hvdy9oaWRlIGNvbHVtbnNcIj5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCI+XHJcbiAgICAgIDxtYXQtaWNvbiBjb2xvcj1cInByaW1hcnlcIj52aXNpYmlsaXR5X29mZjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L3NwYW4+XHJcbiAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwibXktbWF0LW1lbnVcIj5cclxuXHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgIDxzcGFuIG1hdFRvb2x0aXA9XCJDbG9zZVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmaWx0ZXItYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIHN0b3AtcHJvcGFnYXRpb24+XHJcbiAgICAgIDxzcGFuIG1hdFRvb2x0aXA9XCJTaG93IGFsbCBjb2x1bW5zXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlc2V0KGRpc3BsYXlDb2xzKVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmRvbmVfYWxsPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgPHNwYW4gbWF0VG9vbHRpcD1cIkhpZGUgYWxsIGNvbHVtbnNcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidW5zZXQoZGlzcGxheUNvbHMpXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcblxyXG4gICAgPGRpdiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiIHN0b3AtcHJvcGFnYXRpb24gY2RrRHJvcExpc3RMb2NrQXhpcz0neSc+XHJcbiAgICAgIDxidXR0b24gW2NsYXNzLmlzSGlkZGVuXT1cIiFjb2wuaXNWaXNpYmxlXCIgc3RvcC1wcm9wYWdhdGlvbiBtYXQtbWVudS1pdGVtIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cImNvbFwiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBkaXNwbGF5Q29sc1wiPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImNvbC5pc1Zpc2libGUgPSAhY29sLmlzVmlzaWJsZTsgZW1pdChkaXNwbGF5Q29scylcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBtYXRUb29sdGlwPVwiSGlkZSBDb2x1bW5cIiBjbGFzcz1cInNob3ctaGlkZVwiICpuZ0lmPVwiY29sLmlzVmlzaWJsZTsgZWxzZSBoaWRkZW5cIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmNoZWNrX2JveDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5cclxuICAgICAgICAgICAge3tjb2wuZGlzcGxheU5hbWUgfHwgKGNvbC5rZXkgfCBzcGFjZUNhc2UpIH19XHJcbiAgICAgICAgICA8L3A+XHJcblxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNoaWRkZW4+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIG1hdFRvb2x0aXA9XCJTaG93IENvbHVtblwiIGNsYXNzPVwic2hvdy1oaWRlXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uPmluZGV0ZXJtaW5hdGVfY2hlY2tfYm94PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1tZW51PlxyXG48L25nLWNvbnRhaW5lcj4iXX0=