@one-paragon/angular-utilities 1.2.18 → 1.3.0

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 (407) hide show
  1. package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -0
  2. package/action-state/action-state-ui/action-state-ui.module.d.ts +7 -0
  3. package/{src/action-state/index.ts → action-state/index.d.ts} +4 -8
  4. package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -0
  5. package/action-state/ngrx.d.ts +31 -0
  6. package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +24 -0
  7. package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +20 -0
  8. package/esm2022/action-state/index.mjs +8 -0
  9. package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -0
  10. package/esm2022/action-state/ngrx.mjs +47 -0
  11. package/esm2022/http-request-state/HttpRequestStateFactory.mjs +51 -0
  12. package/esm2022/http-request-state/HttpRequestStateStore.mjs +135 -0
  13. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +30 -0
  14. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +23 -0
  15. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +23 -0
  16. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +23 -0
  17. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +29 -0
  18. package/esm2022/http-request-state/directives/index.mjs +6 -0
  19. package/esm2022/http-request-state/directives/request-state-directive.mjs +61 -0
  20. package/esm2022/http-request-state/helpers.mjs +22 -0
  21. package/esm2022/http-request-state/http-request-state.mjs +39 -0
  22. package/esm2022/http-request-state/http-state-module.mjs +40 -0
  23. package/esm2022/http-request-state/index.mjs +7 -0
  24. package/esm2022/http-request-state/rxjs/getRequestorBody.mjs +4 -0
  25. package/esm2022/http-request-state/rxjs/getRequestorState.mjs +3 -0
  26. package/esm2022/http-request-state/rxjs/index.mjs +5 -0
  27. package/esm2022/http-request-state/rxjs/tapError.mjs +12 -0
  28. package/esm2022/http-request-state/rxjs/tapSuccess.mjs +12 -0
  29. package/esm2022/http-request-state/types.mjs +16 -0
  30. package/esm2022/ngrx/actionable-selector.mjs +107 -0
  31. package/esm2022/ngrx/index.mjs +2 -0
  32. package/esm2022/one-paragon-angular-utilities.mjs +5 -0
  33. package/esm2022/public-api.mjs +20 -0
  34. package/esm2022/rxjs/defaultShareReplay.mjs +7 -0
  35. package/esm2022/rxjs/index.mjs +6 -0
  36. package/esm2022/rxjs/mapError.mjs +8 -0
  37. package/esm2022/rxjs/rxjs-operators.mjs +92 -0
  38. package/esm2022/rxjs/subjectifier.mjs +15 -0
  39. package/esm2022/rxjs/subscriber.directive.mjs +50 -0
  40. package/esm2022/table-builder/classes/DefaultSettings.mjs +6 -0
  41. package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +23 -0
  42. package/esm2022/table-builder/classes/TableBuilderConfig.mjs +18 -0
  43. package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +48 -0
  44. package/esm2022/table-builder/classes/TableState.mjs +48 -0
  45. package/esm2022/table-builder/classes/data-store.mjs +15 -0
  46. package/esm2022/table-builder/classes/display-col.mjs +2 -0
  47. package/esm2022/table-builder/classes/filter-info.mjs +61 -0
  48. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +116 -0
  49. package/esm2022/table-builder/classes/table-builder.mjs +77 -0
  50. package/esm2022/table-builder/classes/table-store.mjs +388 -0
  51. package/esm2022/table-builder/components/array-column.component.mjs +53 -0
  52. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +145 -0
  53. package/esm2022/table-builder/components/column-builder/column-helpers.mjs +45 -0
  54. package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +29 -0
  55. package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +24 -0
  56. package/esm2022/table-builder/components/filter/filter.component.mjs +64 -0
  57. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +102 -0
  58. package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +47 -0
  59. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +306 -0
  60. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +104 -0
  61. package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +21 -0
  62. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +103 -0
  63. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +65 -0
  64. package/esm2022/table-builder/components/index.mjs +10 -0
  65. package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +47 -0
  66. package/esm2022/table-builder/components/link-column.component.mjs +74 -0
  67. package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +29 -0
  68. package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +64 -0
  69. package/esm2022/table-builder/components/scroll-strategy.mjs +60 -0
  70. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +46 -0
  71. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +82 -0
  72. package/esm2022/table-builder/components/table-container/table-container-imports.mjs +26 -0
  73. package/esm2022/table-builder/components/table-container/table-container.helpers/data-state.helpers.mjs +135 -0
  74. package/esm2022/table-builder/components/table-container/table-container.helpers/filter-state.helpers.mjs +83 -0
  75. package/esm2022/table-builder/components/table-container/table-container.helpers/groupBy.helpers.mjs +71 -0
  76. package/esm2022/table-builder/components/table-container/table-container.helpers/sort-state.helpers.mjs +36 -0
  77. package/esm2022/table-builder/components/table-container/table-container.mjs +334 -0
  78. package/esm2022/table-builder/components/table-container/tableProps.mjs +8 -0
  79. package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +155 -0
  80. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +44 -0
  81. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +35 -0
  82. package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +25 -0
  83. package/esm2022/table-builder/directives/custom-cell-directive.mjs +73 -0
  84. package/esm2022/table-builder/directives/index.mjs +6 -0
  85. package/esm2022/table-builder/directives/multi-sort.directive.mjs +50 -0
  86. package/esm2022/table-builder/directives/resize-column.directive.mjs +87 -0
  87. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +18 -0
  88. package/esm2022/table-builder/directives/tb-filter.directive.mjs +396 -0
  89. package/esm2022/table-builder/enums/filterTypes.mjs +29 -0
  90. package/esm2022/table-builder/functions/boolean-filter-function.mjs +10 -0
  91. package/esm2022/table-builder/functions/date-filter-function.mjs +58 -0
  92. package/esm2022/table-builder/functions/download-data.mjs +12 -0
  93. package/esm2022/table-builder/functions/null-filter-function.mjs +8 -0
  94. package/esm2022/table-builder/functions/number-filter-function.mjs +32 -0
  95. package/esm2022/table-builder/functions/sort-data-function.mjs +17 -0
  96. package/esm2022/table-builder/functions/string-filter-function.mjs +41 -0
  97. package/esm2022/table-builder/interfaces/ColumnInfo.mjs +2 -0
  98. package/esm2022/table-builder/interfaces/dictionary.mjs +2 -0
  99. package/esm2022/table-builder/interfaces/report-def.mjs +50 -0
  100. package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +154 -0
  101. package/esm2022/table-builder/pipes/column-total.pipe.mjs +22 -0
  102. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
  103. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +43 -0
  104. package/esm2022/table-builder/pipes/key-display.mjs +18 -0
  105. package/esm2022/table-builder/services/export-to-csv.service.mjs +75 -0
  106. package/esm2022/table-builder/services/link-creator.service.mjs +50 -0
  107. package/esm2022/table-builder/services/table-template-service.mjs +60 -0
  108. package/esm2022/table-builder/services/transform-creator.mjs +100 -0
  109. package/esm2022/table-builder/table-builder.module.mjs +124 -0
  110. package/esm2022/utilities/array-helpers.mjs +14 -0
  111. package/esm2022/utilities/directives/auto-focus.directive.mjs +25 -0
  112. package/esm2022/utilities/directives/clickEmitterDirective.mjs +22 -0
  113. package/esm2022/utilities/directives/clickSubject.mjs +29 -0
  114. package/esm2022/utilities/directives/conditional-classes.directive.mjs +36 -0
  115. package/esm2022/utilities/directives/dialog-service.mjs +21 -0
  116. package/esm2022/utilities/directives/dialog.mjs +145 -0
  117. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +59 -0
  118. package/esm2022/utilities/directives/prevent-enter.directive.mjs +20 -0
  119. package/esm2022/utilities/directives/stop-propagation.directive.mjs +26 -0
  120. package/esm2022/utilities/directives/styler.mjs +41 -0
  121. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +28 -0
  122. package/esm2022/utilities/index.mjs +16 -0
  123. package/esm2022/utilities/module.mjs +90 -0
  124. package/esm2022/utilities/pipes/function.pipe.mjs +22 -0
  125. package/esm2022/utilities/pipes/phone.pipe.mjs +20 -0
  126. package/esm2022/utilities/pipes/space-case.pipes.mjs +28 -0
  127. package/fesm2022/one-paragon-angular-utilities.mjs +5761 -0
  128. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
  129. package/http-request-state/HttpRequestStateFactory.d.ts +17 -0
  130. package/http-request-state/HttpRequestStateStore.d.ts +58 -0
  131. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +14 -0
  132. package/http-request-state/directives/http-error-state-directive.d.ts +9 -0
  133. package/http-request-state/directives/http-inProgress-state-directive.d.ts +9 -0
  134. package/http-request-state/directives/http-notStarted-state-directive.d.ts +9 -0
  135. package/http-request-state/directives/http-success-state-directive.d.ts +16 -0
  136. package/{src/http-request-state/directives/index.ts → http-request-state/directives/index.d.ts} +5 -5
  137. package/http-request-state/directives/request-state-directive.d.ts +34 -0
  138. package/http-request-state/helpers.d.ts +9 -0
  139. package/http-request-state/http-request-state.d.ts +12 -0
  140. package/http-request-state/http-state-module.d.ts +11 -0
  141. package/{src/http-request-state/index.ts → http-request-state/index.d.ts} +6 -6
  142. package/http-request-state/rxjs/getRequestorBody.d.ts +3 -0
  143. package/http-request-state/rxjs/getRequestorState.d.ts +3 -0
  144. package/{src/http-request-state/rxjs/index.ts → http-request-state/rxjs/index.d.ts} +4 -4
  145. package/http-request-state/rxjs/tapError.d.ts +3 -0
  146. package/http-request-state/rxjs/tapSuccess.d.ts +3 -0
  147. package/http-request-state/types.d.ts +41 -0
  148. package/index.d.ts +5 -0
  149. package/ngrx/actionable-selector.d.ts +31 -0
  150. package/ngrx/index.d.ts +1 -0
  151. package/package.json +30 -16
  152. package/{src/public-api.ts → public-api.d.ts} +16 -35
  153. package/rxjs/defaultShareReplay.d.ts +2 -0
  154. package/{src/rxjs/index.ts → rxjs/index.d.ts} +5 -5
  155. package/rxjs/mapError.d.ts +2 -0
  156. package/rxjs/rxjs-operators.d.ts +13 -0
  157. package/rxjs/subjectifier.d.ts +8 -0
  158. package/rxjs/subscriber.directive.d.ts +14 -0
  159. package/table-builder/classes/DefaultSettings.d.ts +9 -0
  160. package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
  161. package/table-builder/classes/TableBuilderConfig.d.ts +23 -0
  162. package/table-builder/classes/TableBuilderDataSource.d.ts +12 -0
  163. package/table-builder/classes/TableState.d.ts +66 -0
  164. package/table-builder/classes/data-store.d.ts +8 -0
  165. package/{src/table-builder/classes/display-col.ts → table-builder/classes/display-col.d.ts} +5 -5
  166. package/table-builder/classes/filter-info.d.ts +35 -0
  167. package/table-builder/classes/table-builder-general-settings.d.ts +85 -0
  168. package/table-builder/classes/table-builder.d.ts +18 -0
  169. package/table-builder/classes/table-store.d.ts +138 -0
  170. package/table-builder/components/array-column.component.d.ts +15 -0
  171. package/table-builder/components/column-builder/column-builder.component.d.ts +50 -0
  172. package/table-builder/components/column-builder/column-helpers.d.ts +36 -0
  173. package/table-builder/components/date-filter/date-filter.component.d.ts +37 -0
  174. package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +37 -0
  175. package/table-builder/components/filter/filter.component.d.ts +46 -0
  176. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +24 -0
  177. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +17 -0
  178. package/table-builder/components/generic-table/generic-table.component.d.ts +84 -0
  179. package/table-builder/components/generic-table/paginator.component.d.ts +30 -0
  180. package/table-builder/components/group-by-list/group-by-list.component.d.ts +7 -0
  181. package/table-builder/components/header-menu/header-menu.component.d.ts +51 -0
  182. package/table-builder/components/in-filter/in-filter.component.d.ts +20 -0
  183. package/{src/table-builder/components/index.ts → table-builder/components/index.d.ts} +9 -9
  184. package/table-builder/components/initialization-component/initialization-component.d.ts +13 -0
  185. package/table-builder/components/link-column.component.d.ts +25 -0
  186. package/table-builder/components/number-filter/number-filter.component.d.ts +39 -0
  187. package/table-builder/components/profiles-menu/profiles-menu.component.d.ts +32 -0
  188. package/table-builder/components/scroll-strategy.d.ts +22 -0
  189. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
  190. package/table-builder/components/sort-menu/sort-menu.component.d.ts +24 -0
  191. package/{src/table-builder/components/table-container/table-container-imports.ts → table-builder/components/table-container/table-container-imports.d.ts} +14 -32
  192. package/table-builder/components/table-container/table-container.d.ts +81 -0
  193. package/table-builder/components/table-container/table-container.helpers/data-state.helpers.d.ts +6 -0
  194. package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +17 -0
  195. package/table-builder/components/table-container/table-container.helpers/groupBy.helpers.d.ts +17 -0
  196. package/table-builder/components/table-container/table-container.helpers/sort-state.helpers.d.ts +8 -0
  197. package/table-builder/components/table-container/tableProps.d.ts +12 -0
  198. package/table-builder/components/table-container/virtual-scroll-container.d.ts +36 -0
  199. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +15 -0
  200. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +12 -0
  201. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
  202. package/table-builder/directives/custom-cell-directive.d.ts +33 -0
  203. package/{src/table-builder/directives/index.ts → table-builder/directives/index.d.ts} +5 -6
  204. package/table-builder/directives/multi-sort.directive.d.ts +10 -0
  205. package/table-builder/directives/resize-column.directive.d.ts +43 -0
  206. package/table-builder/directives/table-wrapper.directive.d.ts +8 -0
  207. package/table-builder/directives/tb-filter.directive.d.ts +115 -0
  208. package/table-builder/enums/filterTypes.d.ts +36 -0
  209. package/table-builder/functions/boolean-filter-function.d.ts +3 -0
  210. package/table-builder/functions/date-filter-function.d.ts +4 -0
  211. package/table-builder/functions/download-data.d.ts +1 -0
  212. package/table-builder/functions/null-filter-function.d.ts +2 -0
  213. package/table-builder/functions/number-filter-function.d.ts +4 -0
  214. package/table-builder/functions/sort-data-function.d.ts +6 -0
  215. package/table-builder/functions/string-filter-function.d.ts +5 -0
  216. package/{src/table-builder/interfaces/ColumnInfo.ts → table-builder/interfaces/ColumnInfo.d.ts} +6 -7
  217. package/{src/table-builder/interfaces/dictionary.ts → table-builder/interfaces/dictionary.d.ts} +3 -3
  218. package/table-builder/interfaces/report-def.d.ts +147 -0
  219. package/table-builder/ngrx/tableBuilderStateStore.d.ts +70 -0
  220. package/table-builder/pipes/column-total.pipe.d.ts +8 -0
  221. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
  222. package/table-builder/pipes/format-filter-value.pipe.d.ts +12 -0
  223. package/table-builder/pipes/key-display.d.ts +10 -0
  224. package/table-builder/services/export-to-csv.service.d.ts +14 -0
  225. package/table-builder/services/link-creator.service.d.ts +16 -0
  226. package/table-builder/services/table-template-service.d.ts +14 -0
  227. package/table-builder/services/transform-creator.d.ts +16 -0
  228. package/table-builder/table-builder.module.d.ts +21 -0
  229. package/utilities/array-helpers.d.ts +1 -0
  230. package/utilities/directives/auto-focus.directive.d.ts +9 -0
  231. package/utilities/directives/clickEmitterDirective.d.ts +7 -0
  232. package/utilities/directives/clickSubject.d.ts +9 -0
  233. package/utilities/directives/conditional-classes.directive.d.ts +13 -0
  234. package/utilities/directives/dialog-service.d.ts +10 -0
  235. package/utilities/directives/dialog.d.ts +44 -0
  236. package/utilities/directives/mat-toggle-group-directive.d.ts +21 -0
  237. package/utilities/directives/prevent-enter.directive.d.ts +6 -0
  238. package/utilities/directives/stop-propagation.directive.d.ts +7 -0
  239. package/utilities/directives/styler.d.ts +15 -0
  240. package/utilities/directives/trim-whitespace.directive.d.ts +7 -0
  241. package/{src/utilities/index.ts → utilities/index.d.ts} +15 -22
  242. package/utilities/module.d.ts +19 -0
  243. package/utilities/pipes/function.pipe.d.ts +7 -0
  244. package/utilities/pipes/phone.pipe.d.ts +7 -0
  245. package/utilities/pipes/space-case.pipes.d.ts +17 -0
  246. package/karma.conf.js +0 -44
  247. package/ng-package.json +0 -7
  248. package/src/action-state/action-state-spinner/action-state-spinner.component.css +0 -16
  249. package/src/action-state/action-state-spinner/action-state-spinner.component.html +0 -6
  250. package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +0 -25
  251. package/src/action-state/action-state-spinner/action-state-spinner.component.ts +0 -26
  252. package/src/action-state/action-state-ui/action-state-ui.module.ts +0 -13
  253. package/src/action-state/ngrx-ext/ngrx-ext.module.ts +0 -15
  254. package/src/action-state/ngrx.ts +0 -69
  255. package/src/http-request-state/HttpRequestStateFactory.ts +0 -66
  256. package/src/http-request-state/HttpRequestStateStore.ts +0 -191
  257. package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -29
  258. package/src/http-request-state/directives/http-error-state-directive.ts +0 -21
  259. package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -19
  260. package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -19
  261. package/src/http-request-state/directives/http-success-state-directive.ts +0 -29
  262. package/src/http-request-state/directives/request-state-directive.spec.ts +0 -72
  263. package/src/http-request-state/directives/request-state-directive.ts +0 -78
  264. package/src/http-request-state/helpers.ts +0 -30
  265. package/src/http-request-state/http-request-state.ts +0 -69
  266. package/src/http-request-state/http-state-module.ts +0 -23
  267. package/src/http-request-state/observable.spec.ts +0 -43
  268. package/src/http-request-state/rxjs/getRequestorBody.ts +0 -10
  269. package/src/http-request-state/rxjs/getRequestorState.ts +0 -8
  270. package/src/http-request-state/rxjs/tapError.ts +0 -16
  271. package/src/http-request-state/rxjs/tapSuccess.ts +0 -16
  272. package/src/http-request-state/strategies.spec.ts +0 -42
  273. package/src/http-request-state/types.ts +0 -55
  274. package/src/ngrx/actionable-selector.ts +0 -152
  275. package/src/ngrx/index.ts +0 -1
  276. package/src/rxjs/defaultShareReplay.ts +0 -8
  277. package/src/rxjs/mapError.ts +0 -8
  278. package/src/rxjs/rxjs-operators.ts +0 -132
  279. package/src/rxjs/subjectifier.ts +0 -17
  280. package/src/rxjs/subscriber.directive.ts +0 -57
  281. package/src/specs/clickSubject.spec.ts +0 -95
  282. package/src/specs/dialog.spec.ts +0 -101
  283. package/src/specs/toggleGroupDirective.spec.ts +0 -229
  284. package/src/table-builder/classes/DefaultSettings.ts +0 -11
  285. package/src/table-builder/classes/MatTableObservableDataSource.ts +0 -23
  286. package/src/table-builder/classes/TableBuilderConfig.ts +0 -36
  287. package/src/table-builder/classes/TableBuilderDataSource.ts +0 -61
  288. package/src/table-builder/classes/TableState.ts +0 -93
  289. package/src/table-builder/classes/data-store.ts +0 -10
  290. package/src/table-builder/classes/filter-info.ts +0 -108
  291. package/src/table-builder/classes/table-builder-general-settings.ts +0 -141
  292. package/src/table-builder/classes/table-builder.ts +0 -95
  293. package/src/table-builder/classes/table-store.ts +0 -476
  294. package/src/table-builder/components/array-column.component.ts +0 -36
  295. package/src/table-builder/components/column-builder/column-builder.component.html +0 -61
  296. package/src/table-builder/components/column-builder/column-builder.component.scss +0 -43
  297. package/src/table-builder/components/column-builder/column-builder.component.spec.ts +0 -49
  298. package/src/table-builder/components/column-builder/column-builder.component.ts +0 -146
  299. package/src/table-builder/components/column-builder/column-helpers.ts +0 -52
  300. package/src/table-builder/components/date-filter/date-filter.component.html +0 -23
  301. package/src/table-builder/components/date-filter/date-filter.component.ts +0 -24
  302. package/src/table-builder/components/date-time-filter/date-time-filter.component.html +0 -9
  303. package/src/table-builder/components/date-time-filter/date-time-filter.component.ts +0 -22
  304. package/src/table-builder/components/filter/filter.component.html +0 -91
  305. package/src/table-builder/components/filter/filter.component.scss +0 -60
  306. package/src/table-builder/components/filter/filter.component.spec.ts +0 -87
  307. package/src/table-builder/components/filter/filter.component.ts +0 -60
  308. package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -93
  309. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +0 -55
  310. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +0 -57
  311. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +0 -46
  312. package/src/table-builder/components/generic-table/generic-table.component.html +0 -77
  313. package/src/table-builder/components/generic-table/generic-table.component.scss +0 -38
  314. package/src/table-builder/components/generic-table/generic-table.component.ts +0 -325
  315. package/src/table-builder/components/generic-table/paginator.component.ts +0 -99
  316. package/src/table-builder/components/group-by-list/group-by-list.component.css +0 -8
  317. package/src/table-builder/components/group-by-list/group-by-list.component.html +0 -12
  318. package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +0 -23
  319. package/src/table-builder/components/group-by-list/group-by-list.component.ts +0 -21
  320. package/src/table-builder/components/header-menu/header-menu.component.html +0 -104
  321. package/src/table-builder/components/header-menu/header-menu.component.scss +0 -96
  322. package/src/table-builder/components/header-menu/header-menu.component.ts +0 -99
  323. package/src/table-builder/components/in-filter/in-filter.component.css +0 -3
  324. package/src/table-builder/components/in-filter/in-filter.component.html +0 -20
  325. package/src/table-builder/components/in-filter/in-filter.component.ts +0 -66
  326. package/src/table-builder/components/initialization-component/initialization-component.html +0 -29
  327. package/src/table-builder/components/initialization-component/initialization-component.ts +0 -24
  328. package/src/table-builder/components/link-column.component.ts +0 -47
  329. package/src/table-builder/components/number-filter/number-filter.component.css +0 -10
  330. package/src/table-builder/components/number-filter/number-filter.component.html +0 -19
  331. package/src/table-builder/components/number-filter/number-filter.component.spec.ts +0 -30
  332. package/src/table-builder/components/number-filter/number-filter.component.ts +0 -25
  333. package/src/table-builder/components/profiles-menu/profiles-menu.component.html +0 -78
  334. package/src/table-builder/components/profiles-menu/profiles-menu.component.scss +0 -126
  335. package/src/table-builder/components/profiles-menu/profiles-menu.component.spec.ts +0 -23
  336. package/src/table-builder/components/profiles-menu/profiles-menu.component.ts +0 -65
  337. package/src/table-builder/components/scroll-strategy.ts +0 -76
  338. package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -66
  339. package/src/table-builder/components/sort-menu/sort-menu.component.html +0 -111
  340. package/src/table-builder/components/sort-menu/sort-menu.component.scss +0 -119
  341. package/src/table-builder/components/sort-menu/sort-menu.component.ts +0 -98
  342. package/src/table-builder/components/table-container/table-container.helpers/data-state.helpers.ts +0 -141
  343. package/src/table-builder/components/table-container/table-container.helpers/filter-state.helpers.ts +0 -106
  344. package/src/table-builder/components/table-container/table-container.helpers/groupBy.helpers.ts +0 -86
  345. package/src/table-builder/components/table-container/table-container.helpers/sort-state.helpers.ts +0 -45
  346. package/src/table-builder/components/table-container/table-container.html +0 -94
  347. package/src/table-builder/components/table-container/table-container.scss +0 -47
  348. package/src/table-builder/components/table-container/table-container.spec.ts +0 -154
  349. package/src/table-builder/components/table-container/table-container.ts +0 -356
  350. package/src/table-builder/components/table-container/tableProps.ts +0 -20
  351. package/src/table-builder/components/table-container/virtual-scroll-container.ts +0 -156
  352. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +0 -31
  353. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +0 -46
  354. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +0 -42
  355. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +0 -10
  356. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +0 -85
  357. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +0 -33
  358. package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +0 -23
  359. package/src/table-builder/directives/custom-cell-directive.ts +0 -58
  360. package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
  361. package/src/table-builder/directives/multi-sort.directive.ts +0 -51
  362. package/src/table-builder/directives/resize-column.directive.ts +0 -108
  363. package/src/table-builder/directives/table-wrapper.directive.ts +0 -14
  364. package/src/table-builder/directives/tb-filter.directive.ts +0 -382
  365. package/src/table-builder/enums/filterTypes.ts +0 -40
  366. package/src/table-builder/functions/boolean-filter-function.ts +0 -12
  367. package/src/table-builder/functions/date-filter-function.ts +0 -68
  368. package/src/table-builder/functions/download-data.ts +0 -11
  369. package/src/table-builder/functions/null-filter-function.ts +0 -9
  370. package/src/table-builder/functions/number-filter-function.ts +0 -41
  371. package/src/table-builder/functions/sort-data-function.ts +0 -23
  372. package/src/table-builder/functions/string-filter-function.ts +0 -51
  373. package/src/table-builder/interfaces/column-template.ts +0 -9
  374. package/src/table-builder/interfaces/report-def.ts +0 -155
  375. package/src/table-builder/ngrx/tableBuilderStateStore.ts +0 -199
  376. package/src/table-builder/pipes/column-total.pipe.ts +0 -17
  377. package/src/table-builder/pipes/format-filter-type.pipe.ts +0 -12
  378. package/src/table-builder/pipes/format-filter-value.pipe.ts +0 -42
  379. package/src/table-builder/pipes/key-display.ts +0 -16
  380. package/src/table-builder/services/export-to-csv.service.ts +0 -78
  381. package/src/table-builder/services/link-creator.service.ts +0 -67
  382. package/src/table-builder/services/table-template-service.ts +0 -59
  383. package/src/table-builder/services/transform-creator.ts +0 -95
  384. package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
  385. package/src/table-builder/styles/collapser.styles.scss +0 -16
  386. package/src/table-builder/table-builder.module.ts +0 -73
  387. package/src/test.ts +0 -17
  388. package/src/utilities/array-helpers.ts +0 -13
  389. package/src/utilities/directives/auto-focus.directive.ts +0 -21
  390. package/src/utilities/directives/clickEmitterDirective.ts +0 -16
  391. package/src/utilities/directives/clickSubject.ts +0 -20
  392. package/src/utilities/directives/conditional-classes.directive.ts +0 -36
  393. package/src/utilities/directives/dialog-service.ts +0 -19
  394. package/src/utilities/directives/dialog.ts +0 -144
  395. package/src/utilities/directives/mat-toggle-group-directive.ts +0 -61
  396. package/src/utilities/directives/prevent-enter.directive.ts +0 -13
  397. package/src/utilities/directives/stop-propagation.directive.ts +0 -20
  398. package/src/utilities/directives/styler.ts +0 -40
  399. package/src/utilities/directives/trim-whitespace.directive.ts +0 -21
  400. package/src/utilities/module.ts +0 -55
  401. package/src/utilities/pipes/function.pipe.ts +0 -16
  402. package/src/utilities/pipes/phone.pipe.ts +0 -15
  403. package/src/utilities/pipes/space-case.pipes.spec.ts +0 -47
  404. package/src/utilities/pipes/space-case.pipes.ts +0 -23
  405. package/tsconfig.lib.json +0 -19
  406. package/tsconfig.lib.prod.json +0 -10
  407. package/tsconfig.spec.json +0 -17
@@ -1,101 +0,0 @@
1
- import { Component } from "@angular/core";
2
- import { ComponentFixture, fakeAsync, TestBed, tick, waitForAsync } from "@angular/core/testing";
3
- import { MatDialogModule } from "@angular/material/dialog";
4
- import { Subject } from "rxjs";
5
- import { DialogDirective, DialogWrapper } from "../utilities";
6
- import { DialogService } from "../utilities/directives/dialog-service";
7
- import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
8
- import {MatDialogHarness} from '@angular/material/dialog/testing';
9
- import { NoopAnimationsModule } from "@angular/platform-browser/animations";
10
- import {HarnessLoader} from '@angular/cdk/testing';
11
- import { MatButtonModule } from "@angular/material/button";
12
- import { MatButtonHarness } from "@angular/material/button/testing";
13
-
14
- @Component({
15
- template: `
16
- <ng-container *opDialog='subject; let text; let close = close'>
17
- If you see this text, I'm open {{text}}
18
- <button mat-button (click)='close()' >close</button>
19
- </ng-container>
20
- `
21
- }) export class TestComponent {
22
- subject = new Subject();
23
- }
24
-
25
-
26
- describe("DialogDirective", () => {
27
-
28
- let fixture: ComponentFixture<TestComponent>;
29
- let loader: HarnessLoader;
30
-
31
- beforeEach(
32
- waitForAsync(async () => {
33
- await TestBed.configureTestingModule({
34
- imports: [MatDialogModule, NoopAnimationsModule, MatButtonModule],
35
- declarations: [
36
- TestComponent,
37
- DialogDirective,
38
- DialogWrapper,
39
- ],
40
- providers: [ DialogService ]
41
- }).compileComponents();
42
- fixture = TestBed.createComponent(TestComponent);
43
- fixture.detectChanges();
44
- loader = TestbedHarnessEnvironment.documentRootLoader(fixture);
45
- }),
46
- );
47
-
48
- it('before observable emits the dialog should remain closed',async () => {
49
- expect(fixture.nativeElement.textContent).not.toContain('If you see this text, I\'m open');
50
- });
51
-
52
- it('when observable emits the dialog should be open', fakeAsync( async () => {
53
- fixture.componentInstance.subject.next(true);
54
- fixture.detectChanges();
55
- const dialogHarness = await loader.getHarness(MatDialogHarness);
56
- expect(await dialogHarness.getText()).toContain('If you see this text, I\'m open');
57
- }));
58
-
59
- it('when observable emits false the dialog should close', fakeAsync( async () => {
60
- fixture.componentInstance.subject.next(true);
61
- fixture.detectChanges();
62
- let dialogHarness = await loader.getAllHarnesses(MatDialogHarness);
63
- expect(dialogHarness.length).toBe(1);
64
- fixture.componentInstance.subject.next(false);
65
- fixture.detectChanges();
66
- dialogHarness = await loader.getAllHarnesses(MatDialogHarness);
67
- expect(dialogHarness.length).toBe(0);
68
- }));
69
-
70
- it('when close is clicked the dialog should close', fakeAsync( async () => {
71
- fixture.componentInstance.subject.next(true);
72
- fixture.detectChanges();
73
- let dialogHarness = await loader.getAllHarnesses(MatDialogHarness);
74
- expect(dialogHarness.length).toBe(1);
75
- let buttonHarness = await dialogHarness[0].getHarness(MatButtonHarness);
76
- await buttonHarness.click();
77
- fixture.detectChanges();
78
- dialogHarness = await loader.getAllHarnesses(MatDialogHarness);
79
- expect(dialogHarness.length).toBe(0);
80
- }));
81
-
82
- it('when observable emits the template should have access to the emitted data', fakeAsync( async () => {
83
- fixture.componentInstance.subject.next('Text #1');
84
- fixture.detectChanges();
85
- const dialogHarness = await loader.getHarness(MatDialogHarness);
86
- expect(await dialogHarness.getText()).toContain('Text #1');
87
- }));
88
-
89
- it('when observable emits a 2nd time the template should have access to the new data', fakeAsync( async () => {
90
- fixture.componentInstance.subject.next('Text #1');
91
- fixture.detectChanges();
92
- const dialogHarness = await loader.getHarness(MatDialogHarness);
93
- expect(await dialogHarness.getText()).toContain('Text #1');
94
- fixture.componentInstance.subject.next('Text #2');
95
- fixture.detectChanges();
96
- expect(await dialogHarness.getText()).toContain('Text #2');
97
- }));
98
-
99
- });
100
-
101
-
@@ -1,229 +0,0 @@
1
- import { Component, DebugElement } from "@angular/core";
2
- import { ComponentFixture, TestBed, waitForAsync } from "@angular/core/testing";
3
- import { MatSlideToggle, MatSlideToggleModule } from "@angular/material/slide-toggle";
4
- import { MatSlideToggleGroupDirective } from "../utilities/directives/mat-toggle-group-directive";
5
- import { HarnessLoader } from '@angular/cdk/testing';
6
- import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
7
- import { MatSlideToggleHarness } from '@angular/material/slide-toggle/testing';
8
- import { By } from "@angular/platform-browser";
9
- import { count, firstValueFrom, lastValueFrom, skip, Subject, takeUntil } from "rxjs";
10
-
11
- abstract class ToggleTestComponent {
12
-
13
- }
14
-
15
-
16
- @Component({
17
- template: `
18
- <ng-container opMatSlideToggleGroup >
19
- <mat-slide-toggle name='toggle1' > Slide me! </mat-slide-toggle>
20
- </ng-container>
21
- `
22
- }) export class SingleToggleTestComponent extends ToggleTestComponent {
23
-
24
- }
25
-
26
- @Component({
27
- template: `
28
- <ng-container opMatSlideToggleGroup [allowMultiple]='true' >
29
- <mat-slide-toggle name='toggle1' > Slide me! </mat-slide-toggle>
30
- <mat-slide-toggle name='toggle2' > Slide me! </mat-slide-toggle>
31
- </ng-container>
32
- `
33
- }) export class MultiToggleWithMultipleTestComponent extends ToggleTestComponent {
34
-
35
- }
36
-
37
- @Component({
38
- template: `
39
- <ng-container opMatSlideToggleGroup >
40
- <mat-slide-toggle name='toggle1' > Slide me! </mat-slide-toggle>
41
- <mat-slide-toggle name='toggle2' > Slide me! </mat-slide-toggle>
42
- </ng-container>
43
- `
44
- }) export class MultiToggleTestComponent extends ToggleTestComponent {
45
-
46
- }
47
-
48
-
49
- let fixture: ComponentFixture<ToggleTestComponent>;
50
- let loader: HarnessLoader;
51
- let toggleHarnesses: MatSlideToggleHarness [];
52
- let toggleGroupDirective: MatSlideToggleGroupDirective;
53
-
54
- let toggles: DebugElement[];
55
-
56
-
57
- const setupTest = (type) => async (): Promise<void> => {
58
-
59
- TestBed.configureTestingModule({
60
- imports: [MatSlideToggleModule],
61
- declarations: [
62
- type,
63
- MatSlideToggleGroupDirective,
64
- ],
65
- providers: [ ]
66
- });
67
- fixture = TestBed.createComponent(type);
68
- fixture.detectChanges();
69
-
70
- loader = TestbedHarnessEnvironment.documentRootLoader(fixture);
71
- toggleHarnesses = await loader.getAllHarnesses(MatSlideToggleHarness);
72
- toggles = fixture.debugElement.queryAll(By.directive(MatSlideToggle));
73
- toggleGroupDirective = toggles[0].injector.get(MatSlideToggleGroupDirective);
74
-
75
-
76
- };
77
-
78
-
79
- async function toggleAndReturnValues(index: number) {
80
- const firstVal = firstValueFrom(toggleGroupDirective.valueEmitter.pipe(skip(1)));
81
- await toggleHarnesses[index].toggle();
82
- return await firstVal;
83
- }
84
-
85
- describe("opMatSlideToggleGroup", () => {
86
- describe("Single Toggle", () => {
87
- beforeEach(waitForAsync(setupTest(SingleToggleTestComponent)));
88
-
89
- it('should create', async () => {
90
- expect(toggleGroupDirective).toBeDefined();
91
- })
92
-
93
- it('starts with an initial value', async () => {
94
- const firstVal = firstValueFrom(toggleGroupDirective.valueEmitter);
95
- const val = await firstVal;
96
- expect(val).toEqual({'toggle1': false});
97
- });
98
-
99
- it('when toggling on should emit the latest value as true', async () => {
100
- const val = await toggleAndReturnValues(0);
101
- expect(val).toEqual({'toggle1': true});
102
- });
103
-
104
- it('can toggle on and then off', async () => {
105
-
106
- const val = await toggleAndReturnValues(0);
107
- expect(val).toEqual({'toggle1': true});
108
- const val2 = await toggleAndReturnValues(0);
109
- expect(val2).toEqual({'toggle1': false});
110
- });
111
- });
112
-
113
- describe("Multi Toggle", () => {
114
- beforeEach(waitForAsync(setupTest(MultiToggleWithMultipleTestComponent)));
115
-
116
- it('starts with an initial value', async () => {
117
- const firstVal = firstValueFrom(toggleGroupDirective.valueEmitter);
118
- const val = await firstVal;
119
- expect(val).toEqual({'toggle1': false,'toggle2': false});
120
- });
121
-
122
- it('can toggle first toggle', async () => {
123
- const val = await toggleAndReturnValues(0);
124
- expect(val).toEqual({'toggle1': true,'toggle2': false});
125
- });
126
-
127
- it('can toggle second toggle', async () => {
128
- const val = await toggleAndReturnValues(1);
129
- expect(val).toEqual({'toggle1': false,'toggle2': true});
130
- });
131
-
132
- it('can toggle both toggles', async () => {
133
- const val = await toggleAndReturnValues(0);
134
- expect(val).toEqual({'toggle1': true,'toggle2': false});
135
-
136
- const val2 = await toggleAndReturnValues(1);
137
- expect(val2).toEqual({'toggle1': true,'toggle2': true});
138
- });
139
-
140
- it('can toggle both toggles multiple times', async () => {
141
- let val = await toggleAndReturnValues(0);
142
- expect(val).toEqual({'toggle1': true,'toggle2': false});
143
-
144
- val = await toggleAndReturnValues(1);
145
- expect(val).toEqual({'toggle1': true,'toggle2': true});
146
-
147
- val = await toggleAndReturnValues(1);
148
- expect(val).toEqual({'toggle1': true,'toggle2': false});
149
-
150
- val = await toggleAndReturnValues(1);
151
- expect(val).toEqual({'toggle1': true,'toggle2': true});
152
-
153
- val = await toggleAndReturnValues(0);
154
- expect(val).toEqual({'toggle1': false,'toggle2': true});
155
- val = await toggleAndReturnValues(1);
156
- expect(val).toEqual({'toggle1': false,'toggle2': false});
157
- });
158
-
159
- });
160
-
161
- describe("Multi Toggle Only One Allowed", () => {
162
- beforeEach(waitForAsync(setupTest(MultiToggleTestComponent)));
163
-
164
- it('starts with an initial value', async () => {
165
- const firstVal = firstValueFrom(toggleGroupDirective.valueEmitter);
166
- const val = await firstVal;
167
- expect(val).toEqual({'toggle1': false,'toggle2': false});
168
- });
169
-
170
- it('can toggle first toggle', async () => {
171
- const val = await toggleAndReturnValues(0);
172
- expect(val).toEqual({'toggle1': true,'toggle2': false});
173
- });
174
-
175
- it('can toggle second toggle', async () => {
176
- const val = await toggleAndReturnValues(1);
177
- expect(val).toEqual({'toggle1': false,'toggle2': true});
178
- });
179
-
180
- it('when toggle both toggles only the last one remains set', async () => {
181
- const val = await toggleAndReturnValues(0);
182
- expect(val).toEqual({'toggle1': true,'toggle2': false});
183
-
184
- const val2 = await toggleAndReturnValues(1);
185
- expect(val2).toEqual({'toggle1': false,'toggle2': true});
186
-
187
- var toggle1Value = await toggleHarnesses[0].isChecked();
188
-
189
- expect(toggle1Value).toBeFalse();
190
- });
191
-
192
- it('can toggle both toggles multiple times and only the last one will be set', async () => {
193
- let val = await toggleAndReturnValues(0);
194
- expect(val).toEqual({'toggle1': true,'toggle2': false});
195
-
196
- val = await toggleAndReturnValues(1);
197
- expect(val).toEqual({'toggle1': false,'toggle2': true});
198
-
199
- val = await toggleAndReturnValues(1);
200
- expect(val).toEqual({'toggle1': false,'toggle2': false});
201
-
202
- val = await toggleAndReturnValues(1);
203
- expect(val).toEqual({'toggle1': false,'toggle2': true});
204
-
205
- val = await toggleAndReturnValues(0);
206
- expect(val).toEqual({'toggle1': true,'toggle2': false});
207
- val = await toggleAndReturnValues(1);
208
- expect(val).toEqual({'toggle1': false,'toggle2': true});
209
- });
210
-
211
- it('can toggle 2nd toggle doesnt emit an extra time', async () => {
212
- const end = new Subject();
213
- const total = lastValueFrom( toggleGroupDirective.valueEmitter.pipe(
214
- takeUntil(end),
215
- count( (a,i) => true ),
216
- ));
217
-
218
- await toggleHarnesses[0].toggle();
219
- await toggleHarnesses[1].toggle();
220
-
221
- end.next(null);
222
- const result = await total;
223
-
224
- expect(result).toEqual(3);
225
- });
226
-
227
- });
228
-
229
- });
@@ -1,11 +0,0 @@
1
- import { ArrayStyle } from '../interfaces/report-def';
2
-
3
- export interface DefaultSettings {
4
- dateFormat?: string;
5
- dateTimeFormat?: string;
6
- }
7
-
8
- export const ArrayDefaults = {
9
- limit : 3,
10
- arrayStyle : ArrayStyle.CommaDelimited
11
- }
@@ -1,23 +0,0 @@
1
- import { MatTableDataSource } from '@angular/material/table';
2
- import { Observable, Subscription } from 'rxjs';
3
-
4
- export class MatTableObservableDataSource<T> extends MatTableDataSource<T> {
5
- subscription?: Subscription;
6
- constructor(private dataSrc: Observable<T[]>) {
7
- super([]);
8
- }
9
-
10
- connect() {
11
- if (!this.subscription) {
12
- this.subscription = this.dataSrc.subscribe( data => this.data = data );
13
- }
14
- return super.connect();
15
- }
16
- disconnect() {
17
- if (this.subscription) {
18
- this.subscription.unsubscribe();
19
- this.subscription = undefined;
20
- }
21
- super.disconnect();
22
- }
23
- }
@@ -1,36 +0,0 @@
1
- import { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';
2
- import { defaultTableState } from './TableState';
3
- import { DefaultSettings } from './DefaultSettings';
4
- import { ArrayAdditional, FieldType } from '../interfaces/report-def';
5
- import { MultiSortDirective } from '../directives';
6
- import { PhoneNumberPipe } from '../../utilities/pipes/phone.pipe';
7
- import { CurrencyPipe, DatePipe } from '@angular/common';
8
- import { SpaceCasePipe } from '../../utilities/pipes/space-case.pipes';
9
- import { TableBuilderSettings } from './table-builder-general-settings';
10
- export interface TableBuilderConfig {
11
- defaultTableSettings: Partial<Omit<TableBuilderSettings, 'injector' >> & { pageSize?: number };
12
- export?: TableBuilderExport;
13
- dateFormats?: DefaultSettings;
14
- arrayDefaults?: ArrayAdditional;
15
- transformers?: Partial<{ [key in keyof typeof FieldType]: (val: any) => any }>
16
- }
17
-
18
- export interface TableBuilderExport {
19
- dateFormat?: string;
20
- dateTimeFormat?: string;
21
- onSave?: (event?: any) => void;
22
- prepend? : string;
23
- }
24
-
25
- export const TableBuilderConfigToken = new InjectionToken<TableBuilderConfig>('TableBuilderConfig');
26
-
27
- export function provideTableBuilder(config?: TableBuilderConfig) : EnvironmentProviders {
28
- return makeEnvironmentProviders([
29
- MultiSortDirective,
30
- SpaceCasePipe,
31
- DatePipe,
32
- CurrencyPipe,
33
- PhoneNumberPipe,
34
- { provide : TableBuilderConfigToken , useValue: config || defaultTableState}
35
- ])
36
- }
@@ -1,61 +0,0 @@
1
- import { MatTableDataSource } from '@angular/material/table';
2
- import { Subscription } from 'rxjs';
3
- import { TableStore } from './table-store';
4
- import { DataStore } from './data-store';
5
- import { computed, effect, Signal, untracked } from '@angular/core';
6
-
7
- export class TableBuilderDataSource<T> extends MatTableDataSource<T> {
8
- subscription?: Subscription;
9
- constructor(
10
- public dataSrc: Signal<T[]>,
11
- state: TableStore,
12
- data: DataStore,
13
- ) {
14
- super([]);
15
-
16
-
17
- const $currentPage = state.$currentPage;
18
- const $pageSize = state.$pageSize;
19
- const $virtualEnds = data.selectSignal(d => d.virtualEnds);
20
-
21
- const $dataLength = computed(() => dataSrc().length);
22
-
23
- const $dataSize = computed(() => {
24
- const viewType = state.$viewType();
25
- const dataLength = $dataLength();
26
- const currentPage = $currentPage();
27
- const pageSize = $pageSize();
28
- const virtualEnds = $virtualEnds();
29
- const previousPageRecords = currentPage * pageSize;
30
- if(viewType === 'virtual paginator'){
31
- return ({ start:virtualEnds.start + previousPageRecords, end: Math.min(virtualEnds.end, pageSize) + previousPageRecords });
32
- }
33
- if(viewType === 'paginator'){
34
- return ({ start: previousPageRecords, end: previousPageRecords + pageSize });
35
- }
36
- if(viewType === 'all'){
37
- return ({ start: 0, end: dataLength });
38
- }
39
- return ({ start: virtualEnds.start, end: virtualEnds.end });
40
- });
41
- const $dataToShow = computed(() =>
42
- dataSrc().slice($dataSize().start, $dataSize().end));
43
-
44
- effect(() => {
45
- const dataToShow = $dataToShow();
46
- untracked(() => this.data = dataToShow);
47
- });
48
- }
49
-
50
-
51
- connect() {
52
- return super.connect();
53
- }
54
- disconnect() {
55
- if (this.subscription) {
56
- this.subscription.unsubscribe();
57
- this.subscription = undefined;
58
- }
59
- super.disconnect();
60
- }
61
- }
@@ -1,93 +0,0 @@
1
- import { CustomFilter, FilterInfo } from './filter-info';
2
- import { Dictionary } from '../interfaces/dictionary';
3
- import { Sort } from '@angular/material/sort';
4
- import { MetaData, Target } from '../interfaces/report-def';
5
- import { NotPersistedTableSettings, PersistedTableSettings } from './table-builder-general-settings';
6
- import { LinkInfo } from '../services/link-creator.service';
7
- import { TableProps } from '../components/table-container/tableProps';
8
-
9
- export interface Group {
10
- key: string;
11
- groupName: string;
12
- children: any[];
13
- isGroupHeader: true;
14
- }
15
-
16
- export interface GroupedData {
17
- key: string,
18
- expandedHeaders: string[]
19
- }
20
-
21
- export interface PersistedTableState {
22
- hiddenKeys?: string [];
23
- filters: Dictionary<FilterInfo | CustomFilter>;
24
- sorted : Sort [];
25
- userDefined : { order:Dictionary<number>, widths:Dictionary<number>, table:{ width?:number }, pageSize?: number };
26
- persistedTableSettings : PersistedTableSettings;
27
- groupBy: GroupedData[];
28
- }
29
-
30
- export interface TableState extends Required<PersistedTableState> {
31
- initializationState: InitializationState;
32
- metaData: Dictionary<MetaData>;
33
- notPersistedTableSettings : NotPersistedTableSettings;
34
- pageSize: number;
35
- currentPage: number;
36
- linkMaps: Dictionary<LinkInfo>;
37
- props: TableProps;
38
- showAll: boolean;
39
- }
40
- export interface DataState {
41
- virtualScrollOffset: number;
42
- virtualEnds: {start: number, end: number};
43
- dataLen: number;
44
- }
45
- type RequireNull<T> = { [K in keyof T]: null };
46
- class KeysToDelete implements RequireNull<Omit<TableState, keyof PersistedTableState>> {
47
- initializationState = null;
48
- metaData = null;
49
- notPersistedTableSettings = null;
50
- linkMaps = null;
51
- pageSize = null;
52
- currentPage = null;
53
- virtualScrollOffset = null;
54
- dataLen = null;
55
- virtualEnds = null;
56
- virtualEnd = null;
57
- props = null;
58
- showAll = null;
59
- minColumnWidth = null;
60
- }
61
- export const keysToDelete = Object.keys(new KeysToDelete());
62
-
63
- export enum InitializationState {
64
- Created,
65
- MetaDataLoaded,
66
- LoadedFromStore,
67
- Ready,
68
- }
69
-
70
- export const defaultTableState: TableState = {
71
- initializationState: InitializationState.Created,
72
- metaData: {},
73
- filters: {},
74
- hiddenKeys: [],
75
- sorted: [],
76
- userDefined:{ order: {}, widths: {}, table: {}},
77
- persistedTableSettings : new PersistedTableSettings(),
78
- notPersistedTableSettings : new NotPersistedTableSettings(),
79
- pageSize: 10,
80
- linkMaps: {},
81
- groupBy: [],
82
- currentPage: 0,
83
-
84
- props: {} as TableProps,
85
- showAll: false,
86
- };
87
- export const defaultDataState = {
88
- virtualScrollOffset: 0,
89
- dataLen: 0,
90
- virtualEnds: {
91
- start: 0, end: 20
92
- },
93
- }
@@ -1,10 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { ComponentStore } from "@ngrx/component-store";
3
- import { DataState, defaultDataState } from "./TableState";
4
-
5
- @Injectable()
6
- export class DataStore extends ComponentStore<DataState> {
7
- constructor() {
8
- super({ ...defaultDataState });
9
- }
10
- }
@@ -1,108 +0,0 @@
1
- import { FilterTypes, FilterType } from '../enums/filterTypes';
2
- import { EnumFilterFuncs, StringFilterFuncs } from '../functions/string-filter-function';
3
- import { NumberFilterFuncs } from '../functions/number-filter-function';
4
- import { DateFilterFuncs, DateTimeFilterFuncs } from '../functions/date-filter-function';
5
- import { BooleanFilterFuncs } from '../functions/boolean-filter-function';
6
- import { FieldType } from '../interfaces/report-def';
7
- import { Dictionary } from '../interfaces/dictionary';
8
- import { Predicate } from '@angular/core';
9
- import { get } from 'lodash';
10
-
11
- const filterFactoryMap: Dictionary<FilterFunc<any,any>> = {
12
- [FilterTypes.And] : (filter: FilterInfo ): ((obj: any) => boolean) => {
13
- const filters = (filter.filterValue as FilterInfo[]).map(createFilterFunc);
14
- return (obj: any) : boolean => filters.every( f => f(obj));
15
- },
16
- [FilterTypes.In] : (filter: FilterInfo ): (obj: any) => boolean => {
17
- const filters = (filter.filterValue as FilterInfo[]).map(createFilterFunc);
18
- return (obj: any) : boolean => filters.some( f => f(obj));
19
- },
20
- };
21
-
22
- const filterTypeFuncMap : Record<FieldType, FilterFuncs<any>> = {
23
- [FieldType.Array] : StringFilterFuncs,
24
- [FieldType.Boolean] : BooleanFilterFuncs,
25
- [FieldType.Currency] : NumberFilterFuncs,
26
- [FieldType.Date] : DateFilterFuncs,
27
- [FieldType.DateTime] : DateTimeFilterFuncs,
28
- [FieldType.Enum] : EnumFilterFuncs ,
29
- [FieldType.Link] : StringFilterFuncs,
30
- [FieldType.Number] : NumberFilterFuncs,
31
- [FieldType.PhoneNumber] : StringFilterFuncs,
32
- [FieldType.String] : StringFilterFuncs,
33
- [FieldType.Unknown] : StringFilterFuncs,
34
- } as Record<FieldType, FilterFuncs<any>>;
35
-
36
- export const filterTypeMap = Object.entries(filterTypeFuncMap).reduce(
37
- (acc, [key, value]) => ({ ...acc, [key]: Object.keys(value) }), {} as Record<FieldType, FilterType[]>
38
- )
39
-
40
- export interface FilterState {
41
- filterId: string;
42
- filterType: FilterType;
43
- filterValue?: any;
44
- active?: boolean;
45
-
46
- }
47
-
48
- export interface FilterInfo<T extends FieldType = any, U = any> extends FilterState {
49
- key: string & keyof U;
50
- fieldType: T;
51
- _isExternallyManaged?: boolean;
52
- }
53
-
54
- export interface PartialFilter {
55
- filterId?: string;
56
- key: string;
57
- fieldType: FieldType;
58
- filterType?: FilterType;
59
- filterValue?: any;
60
- }
61
-
62
-
63
-
64
- export interface CustomFilter<T extends FieldType = any> extends FilterState {
65
- predicate: Predicate<T>;
66
- filterType: typeof FilterTypes.Custom;
67
- }
68
-
69
- export function isCustomFilter(filter : FilterInfo | CustomFilter) : filter is CustomFilter {
70
- return filter && filter.filterType === FilterTypes.Custom;
71
- }
72
-
73
- export function isFilterInfo(filter : FilterInfo | CustomFilter) : filter is FilterInfo {
74
- return filter && typeof (filter as FilterInfo).key === 'string' && filter.filterType !== FilterTypes.Custom;
75
- }
76
-
77
- const defaultPredicate: Predicate<any> = () => true;
78
-
79
- export function createFilterFunc(filter: FilterInfo | CustomFilter): Predicate<any> {
80
- if(isCustomFilter(filter)) {
81
- return filter.active ? filter.predicate : defaultPredicate;
82
- }
83
- if (filter.filterValue === undefined) {
84
- return defaultPredicate;
85
- }
86
-
87
- const func = filterTypeFuncMap[filter.fieldType][filter.filterType](filter);
88
- if(!func) {
89
- if(filterFactoryMap[filter.filterType]){
90
- return filterFactoryMap[filter.filterType!](filter);
91
- }
92
- }
93
-
94
- const cannotBeTrueForNull = !FalseyValueCanBeIncludedFilterTypes.includes(filter.filterType!);
95
- return (rowObj) => {
96
- const value = get(rowObj, filter.key);
97
- return ((value == undefined) && cannotBeTrueForNull)
98
- ? false
99
- : func( value);
100
- };
101
- }
102
-
103
- export type FilterFunc<T,V = T> = (filterInfo:FilterInfo) => (val:V) => boolean;
104
- export type Range<T> = { Start:T, End:T };
105
-
106
- const FalseyValueCanBeIncludedFilterTypes = [FilterTypes.IsNull,FilterTypes.NumberNotEqual,FilterTypes.DateIsNotOn,FilterTypes.StringDoesNotContain] as FilterType[];
107
-
108
- export type FilterFuncs<T extends FilterType > = Partial<Record<T, FilterFunc<any,any>>>;