@one-paragon/angular-utilities 2.2.6 → 2.2.7

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 (297) 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/fesm2022/one-paragon-angular-utilities.mjs +6565 -0
  7. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
  8. package/http-request-state/RequestStateFactory.d.ts +17 -0
  9. package/http-request-state/RequestStateStore.d.ts +101 -0
  10. package/{src/http-request-state/deprecated.ts → http-request-state/deprecated.d.ts} +20 -20
  11. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +14 -0
  12. package/http-request-state/directives/http-error-state-directive.d.ts +10 -0
  13. package/http-request-state/directives/http-inProgress-state-directive.d.ts +10 -0
  14. package/http-request-state/directives/http-notStarted-state-directive.d.ts +10 -0
  15. package/http-request-state/directives/http-success-state-directive.d.ts +17 -0
  16. package/{src/http-request-state/directives/index.ts → http-request-state/directives/index.d.ts} +5 -5
  17. package/http-request-state/directives/request-state-directive.d.ts +34 -0
  18. package/http-request-state/helpers.d.ts +9 -0
  19. package/http-request-state/http-state-module.d.ts +11 -0
  20. package/{src/http-request-state/index.ts → http-request-state/index.d.ts} +7 -7
  21. package/http-request-state/request-state.d.ts +12 -0
  22. package/http-request-state/rxjs/getRequestorBody.d.ts +3 -0
  23. package/http-request-state/rxjs/getRequestorState.d.ts +3 -0
  24. package/{src/http-request-state/rxjs/index.ts → http-request-state/rxjs/index.d.ts} +4 -4
  25. package/http-request-state/rxjs/tapError.d.ts +3 -0
  26. package/http-request-state/rxjs/tapSuccess.d.ts +3 -0
  27. package/http-request-state/types.d.ts +41 -0
  28. package/index.d.ts +5 -0
  29. package/ngrx/actionable-selector.d.ts +32 -0
  30. package/ngrx/index.d.ts +1 -0
  31. package/package.json +27 -15
  32. package/{src/public-api.ts → public-api.d.ts} +16 -35
  33. package/rxjs/defaultShareReplay.d.ts +2 -0
  34. package/{src/rxjs/index.ts → rxjs/index.d.ts} +5 -5
  35. package/rxjs/mapError.d.ts +2 -0
  36. package/rxjs/rxjs-operators.d.ts +13 -0
  37. package/rxjs/subjectifier.d.ts +10 -0
  38. package/rxjs/subscriber.directive.d.ts +14 -0
  39. package/table-builder/classes/DefaultSettings.d.ts +9 -0
  40. package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
  41. package/table-builder/classes/TableBuilderConfig.d.ts +31 -0
  42. package/table-builder/classes/TableBuilderDataSource.d.ts +18 -0
  43. package/table-builder/classes/TableState.d.ts +81 -0
  44. package/table-builder/classes/data-store.d.ts +8 -0
  45. package/{src/table-builder/classes/display-col.ts → table-builder/classes/display-col.d.ts} +5 -5
  46. package/table-builder/classes/filter-info.d.ts +39 -0
  47. package/table-builder/classes/table-builder-general-settings.d.ts +122 -0
  48. package/table-builder/classes/table-builder.d.ts +22 -0
  49. package/table-builder/classes/table-store.d.ts +146 -0
  50. package/table-builder/classes/table-store.helpers.d.ts +31 -0
  51. package/table-builder/components/array-column.component.d.ts +15 -0
  52. package/table-builder/components/column-builder/column-builder.component.d.ts +41 -0
  53. package/table-builder/components/column-builder/column-helpers.d.ts +38 -0
  54. package/table-builder/components/column-header-menu/column-header-menu.component.d.ts +50 -0
  55. package/table-builder/components/date-filter/date-filter.component.d.ts +37 -0
  56. package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +37 -0
  57. package/table-builder/components/filter/filter.component.d.ts +48 -0
  58. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +22 -0
  59. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +17 -0
  60. package/table-builder/components/generic-table/generic-table.component.d.ts +85 -0
  61. package/table-builder/components/generic-table/paginator.component.d.ts +26 -0
  62. package/table-builder/components/group-by-list/group-by-list.component.d.ts +11 -0
  63. package/table-builder/components/in-filter/in-filter.component.d.ts +20 -0
  64. package/{src/table-builder/components/index.ts → table-builder/components/index.d.ts} +9 -9
  65. package/table-builder/components/initialization-component/initialization.component.d.ts +15 -0
  66. package/table-builder/components/link-column.component.d.ts +23 -0
  67. package/table-builder/components/number-filter/number-filter.component.d.ts +39 -0
  68. package/table-builder/components/profiles-menu/profiles-menu.component.d.ts +33 -0
  69. package/table-builder/components/reset-menu/reset-menu.component.d.ts +25 -0
  70. package/table-builder/components/scroll-strategy.d.ts +45 -0
  71. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
  72. package/table-builder/components/sort-menu/sort-menu.component.d.ts +19 -0
  73. package/table-builder/components/table-container/table-container.component.d.ts +104 -0
  74. package/table-builder/components/table-container/table-container.helpers/data-state.helpers.d.ts +7 -0
  75. package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +19 -0
  76. package/table-builder/components/table-container/table-container.helpers/groupBy.helpers.d.ts +19 -0
  77. package/table-builder/components/table-container/table-container.helpers/meta-data.helpers.d.ts +2 -0
  78. package/table-builder/components/table-container/table-container.helpers/sort-state.helpers.d.ts +12 -0
  79. package/table-builder/components/table-container/tableProps.d.ts +10 -0
  80. package/table-builder/components/table-container/virtual-scroll-container.d.ts +40 -0
  81. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +15 -0
  82. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +12 -0
  83. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
  84. package/table-builder/components/table-header-menu/table-header-menu.component.d.ts +15 -0
  85. package/table-builder/directives/custom-cell-directive.d.ts +34 -0
  86. package/{src/table-builder/directives/index.ts → table-builder/directives/index.d.ts} +5 -6
  87. package/table-builder/directives/multi-sort.directive.d.ts +10 -0
  88. package/table-builder/directives/resize-column.directive.d.ts +43 -0
  89. package/table-builder/directives/table-wrapper.directive.d.ts +8 -0
  90. package/table-builder/directives/tb-filter.directive.d.ts +116 -0
  91. package/table-builder/enums/filterTypes.d.ts +36 -0
  92. package/table-builder/functions/boolean-filter-function.d.ts +3 -0
  93. package/table-builder/functions/date-filter-function.d.ts +4 -0
  94. package/table-builder/functions/download-data.d.ts +1 -0
  95. package/table-builder/functions/null-filter-function.d.ts +2 -0
  96. package/table-builder/functions/number-filter-function.d.ts +4 -0
  97. package/table-builder/functions/sort-data-function.d.ts +6 -0
  98. package/table-builder/functions/string-filter-function.d.ts +5 -0
  99. package/{src/table-builder/interfaces/ColumnInfo.ts → table-builder/interfaces/ColumnInfo.d.ts} +6 -7
  100. package/{src/table-builder/interfaces/dictionary.ts → table-builder/interfaces/dictionary.d.ts} +3 -3
  101. package/table-builder/interfaces/report-def.d.ts +229 -0
  102. package/table-builder/ngrx/tableBuilderStateStore.d.ts +69 -0
  103. package/table-builder/pipes/column-total.pipe.d.ts +8 -0
  104. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
  105. package/table-builder/pipes/format-filter-value.pipe.d.ts +11 -0
  106. package/table-builder/pipes/key-display.d.ts +9 -0
  107. package/table-builder/services/export-to-csv.service.d.ts +22 -0
  108. package/table-builder/services/link-creator.service.d.ts +16 -0
  109. package/table-builder/services/table-template-service.d.ts +14 -0
  110. package/table-builder/services/transform-creator.d.ts +9 -0
  111. package/table-builder/table-builder.module.d.ts +14 -0
  112. package/utilities/array-helpers.d.ts +1 -0
  113. package/utilities/directives/auto-focus.directive.d.ts +9 -0
  114. package/utilities/directives/clickEmitterDirective.d.ts +7 -0
  115. package/utilities/directives/clickSubject.d.ts +9 -0
  116. package/utilities/directives/conditional-classes.directive.d.ts +12 -0
  117. package/utilities/directives/dialog-service.d.ts +10 -0
  118. package/utilities/directives/dialog.d.ts +45 -0
  119. package/utilities/directives/mat-toggle-group-directive.d.ts +21 -0
  120. package/utilities/directives/prevent-enter.directive.d.ts +6 -0
  121. package/utilities/directives/stop-propagation.directive.d.ts +7 -0
  122. package/utilities/directives/styler.d.ts +16 -0
  123. package/utilities/directives/trim-whitespace.directive.d.ts +7 -0
  124. package/{src/utilities/index.ts → utilities/index.d.ts} +15 -22
  125. package/utilities/module.d.ts +19 -0
  126. package/utilities/pipes/function.pipe.d.ts +11 -0
  127. package/utilities/pipes/phone.pipe.d.ts +8 -0
  128. package/utilities/pipes/space-case.pipes.d.ts +17 -0
  129. package/karma.conf.js +0 -44
  130. package/ng-package.json +0 -7
  131. package/src/action-state/action-state-spinner/action-state-spinner.component.css +0 -16
  132. package/src/action-state/action-state-spinner/action-state-spinner.component.html +0 -7
  133. package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +0 -25
  134. package/src/action-state/action-state-spinner/action-state-spinner.component.ts +0 -25
  135. package/src/action-state/action-state-ui/action-state-ui.module.ts +0 -13
  136. package/src/action-state/ngrx-ext/ngrx-ext.module.ts +0 -14
  137. package/src/action-state/ngrx.ts +0 -69
  138. package/src/http-request-state/RequestStateFactory.ts +0 -56
  139. package/src/http-request-state/RequestStateStore.ts +0 -284
  140. package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -29
  141. package/src/http-request-state/directives/http-error-state-directive.ts +0 -21
  142. package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -19
  143. package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -19
  144. package/src/http-request-state/directives/http-success-state-directive.ts +0 -29
  145. package/src/http-request-state/directives/request-state-directive.spec.ts +0 -73
  146. package/src/http-request-state/directives/request-state-directive.ts +0 -78
  147. package/src/http-request-state/helpers.ts +0 -30
  148. package/src/http-request-state/http-state-module.ts +0 -23
  149. package/src/http-request-state/models/view-context.ts +0 -18
  150. package/src/http-request-state/observable.spec.ts +0 -43
  151. package/src/http-request-state/request-state.ts +0 -66
  152. package/src/http-request-state/rxjs/getRequestorBody.ts +0 -10
  153. package/src/http-request-state/rxjs/getRequestorState.ts +0 -8
  154. package/src/http-request-state/rxjs/tapError.ts +0 -16
  155. package/src/http-request-state/rxjs/tapSuccess.ts +0 -16
  156. package/src/http-request-state/strategies.spec.ts +0 -42
  157. package/src/http-request-state/types.ts +0 -54
  158. package/src/ngrx/actionable-selector.ts +0 -160
  159. package/src/ngrx/index.ts +0 -1
  160. package/src/rxjs/defaultShareReplay.ts +0 -8
  161. package/src/rxjs/mapError.ts +0 -8
  162. package/src/rxjs/rxjs-operators.ts +0 -130
  163. package/src/rxjs/subjectifier.ts +0 -17
  164. package/src/rxjs/subscriber.directive.ts +0 -57
  165. package/src/specs/clickSubject.spec.ts +0 -95
  166. package/src/specs/dialog.spec.ts +0 -101
  167. package/src/specs/toggleGroupDirective.spec.ts +0 -229
  168. package/src/table-builder/classes/DefaultSettings.ts +0 -11
  169. package/src/table-builder/classes/MatTableObservableDataSource.ts +0 -23
  170. package/src/table-builder/classes/TableBuilderConfig.ts +0 -50
  171. package/src/table-builder/classes/TableBuilderDataSource.ts +0 -64
  172. package/src/table-builder/classes/TableState.ts +0 -125
  173. package/src/table-builder/classes/data-store.ts +0 -10
  174. package/src/table-builder/classes/filter-info.ts +0 -125
  175. package/src/table-builder/classes/table-builder-general-settings.ts +0 -205
  176. package/src/table-builder/classes/table-builder.ts +0 -105
  177. package/src/table-builder/classes/table-store.helpers.ts +0 -104
  178. package/src/table-builder/classes/table-store.ts +0 -440
  179. package/src/table-builder/components/array-column.component.ts +0 -34
  180. package/src/table-builder/components/column-builder/column-builder.component.html +0 -87
  181. package/src/table-builder/components/column-builder/column-builder.component.scss +0 -43
  182. package/src/table-builder/components/column-builder/column-builder.component.spec.ts +0 -49
  183. package/src/table-builder/components/column-builder/column-builder.component.ts +0 -129
  184. package/src/table-builder/components/column-builder/column-helpers.ts +0 -54
  185. package/src/table-builder/components/column-header-menu/column-header-menu.component.html +0 -110
  186. package/src/table-builder/components/column-header-menu/column-header-menu.component.scss +0 -97
  187. package/src/table-builder/components/column-header-menu/column-header-menu.component.ts +0 -94
  188. package/src/table-builder/components/date-filter/date-filter.component.html +0 -25
  189. package/src/table-builder/components/date-filter/date-filter.component.ts +0 -22
  190. package/src/table-builder/components/date-time-filter/date-time-filter.component.html +0 -11
  191. package/src/table-builder/components/date-time-filter/date-time-filter.component.ts +0 -20
  192. package/src/table-builder/components/filter/filter.component.html +0 -109
  193. package/src/table-builder/components/filter/filter.component.scss +0 -60
  194. package/src/table-builder/components/filter/filter.component.spec.ts +0 -86
  195. package/src/table-builder/components/filter/filter.component.ts +0 -64
  196. package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -102
  197. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +0 -60
  198. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +0 -57
  199. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +0 -44
  200. package/src/table-builder/components/generic-table/generic-table.component.html +0 -97
  201. package/src/table-builder/components/generic-table/generic-table.component.scss +0 -38
  202. package/src/table-builder/components/generic-table/generic-table.component.ts +0 -403
  203. package/src/table-builder/components/generic-table/paginator.component.ts +0 -112
  204. package/src/table-builder/components/group-by-list/group-by-list.component.css +0 -17
  205. package/src/table-builder/components/group-by-list/group-by-list.component.html +0 -14
  206. package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +0 -23
  207. package/src/table-builder/components/group-by-list/group-by-list.component.ts +0 -25
  208. package/src/table-builder/components/in-filter/in-filter.component.css +0 -3
  209. package/src/table-builder/components/in-filter/in-filter.component.html +0 -23
  210. package/src/table-builder/components/in-filter/in-filter.component.ts +0 -65
  211. package/src/table-builder/components/initialization-component/initialization.component.html +0 -78
  212. package/src/table-builder/components/initialization-component/initialization.component.ts +0 -27
  213. package/src/table-builder/components/link-column.component.ts +0 -42
  214. package/src/table-builder/components/number-filter/number-filter.component.css +0 -10
  215. package/src/table-builder/components/number-filter/number-filter.component.html +0 -25
  216. package/src/table-builder/components/number-filter/number-filter.component.spec.ts +0 -30
  217. package/src/table-builder/components/number-filter/number-filter.component.ts +0 -25
  218. package/src/table-builder/components/profiles-menu/profiles-menu.component.html +0 -77
  219. package/src/table-builder/components/profiles-menu/profiles-menu.component.scss +0 -126
  220. package/src/table-builder/components/profiles-menu/profiles-menu.component.spec.ts +0 -23
  221. package/src/table-builder/components/profiles-menu/profiles-menu.component.ts +0 -63
  222. package/src/table-builder/components/reset-menu/reset-menu.component.css +0 -3
  223. package/src/table-builder/components/reset-menu/reset-menu.component.html +0 -10
  224. package/src/table-builder/components/reset-menu/reset-menu.component.ts +0 -87
  225. package/src/table-builder/components/scroll-strategy.ts +0 -139
  226. package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -57
  227. package/src/table-builder/components/sort-menu/sort-menu.component.html +0 -115
  228. package/src/table-builder/components/sort-menu/sort-menu.component.scss +0 -119
  229. package/src/table-builder/components/sort-menu/sort-menu.component.ts +0 -88
  230. package/src/table-builder/components/table-container/table-container.component.html +0 -81
  231. package/src/table-builder/components/table-container/table-container.component.ts +0 -403
  232. package/src/table-builder/components/table-container/table-container.helpers/data-state.helpers.ts +0 -113
  233. package/src/table-builder/components/table-container/table-container.helpers/filter-state.helpers.ts +0 -125
  234. package/src/table-builder/components/table-container/table-container.helpers/groupBy.helpers.ts +0 -122
  235. package/src/table-builder/components/table-container/table-container.helpers/meta-data.helpers.ts +0 -16
  236. package/src/table-builder/components/table-container/table-container.helpers/sort-state.helpers.ts +0 -47
  237. package/src/table-builder/components/table-container/table-container.scss +0 -47
  238. package/src/table-builder/components/table-container/tableProps.ts +0 -18
  239. package/src/table-builder/components/table-container/virtual-scroll-container.ts +0 -216
  240. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +0 -35
  241. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +0 -44
  242. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +0 -40
  243. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +0 -11
  244. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +0 -85
  245. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +0 -36
  246. package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +0 -23
  247. package/src/table-builder/components/table-header-menu/table-header-menu.component.css +0 -21
  248. package/src/table-builder/components/table-header-menu/table-header-menu.component.html +0 -50
  249. package/src/table-builder/components/table-header-menu/table-header-menu.component.ts +0 -35
  250. package/src/table-builder/directives/custom-cell-directive.ts +0 -57
  251. package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
  252. package/src/table-builder/directives/multi-sort.directive.ts +0 -50
  253. package/src/table-builder/directives/resize-column.directive.ts +0 -107
  254. package/src/table-builder/directives/table-wrapper.directive.ts +0 -13
  255. package/src/table-builder/directives/tb-filter.directive.ts +0 -376
  256. package/src/table-builder/enums/filterTypes.ts +0 -40
  257. package/src/table-builder/functions/boolean-filter-function.ts +0 -12
  258. package/src/table-builder/functions/date-filter-function.ts +0 -78
  259. package/src/table-builder/functions/download-data.ts +0 -11
  260. package/src/table-builder/functions/null-filter-function.ts +0 -9
  261. package/src/table-builder/functions/number-filter-function.ts +0 -41
  262. package/src/table-builder/functions/sort-data-function.ts +0 -80
  263. package/src/table-builder/functions/string-filter-function.ts +0 -53
  264. package/src/table-builder/interfaces/report-def.ts +0 -254
  265. package/src/table-builder/ngrx/tableBuilderStateStore.ts +0 -197
  266. package/src/table-builder/pipes/column-total.pipe.ts +0 -16
  267. package/src/table-builder/pipes/format-filter-type.pipe.ts +0 -12
  268. package/src/table-builder/pipes/format-filter-value.pipe.ts +0 -67
  269. package/src/table-builder/pipes/key-display.ts +0 -13
  270. package/src/table-builder/services/export-to-csv.service.ts +0 -113
  271. package/src/table-builder/services/link-creator.service.ts +0 -98
  272. package/src/table-builder/services/table-template-service.ts +0 -47
  273. package/src/table-builder/services/transform-creator.ts +0 -96
  274. package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
  275. package/src/table-builder/styles/collapser.styles.scss +0 -16
  276. package/src/table-builder/table-builder.module.ts +0 -38
  277. package/src/test.ts +0 -17
  278. package/src/utilities/array-helpers.ts +0 -13
  279. package/src/utilities/directives/auto-focus.directive.ts +0 -20
  280. package/src/utilities/directives/clickEmitterDirective.ts +0 -15
  281. package/src/utilities/directives/clickSubject.ts +0 -19
  282. package/src/utilities/directives/conditional-classes.directive.ts +0 -36
  283. package/src/utilities/directives/dialog-service.ts +0 -19
  284. package/src/utilities/directives/dialog.ts +0 -144
  285. package/src/utilities/directives/mat-toggle-group-directive.ts +0 -60
  286. package/src/utilities/directives/prevent-enter.directive.ts +0 -12
  287. package/src/utilities/directives/stop-propagation.directive.ts +0 -19
  288. package/src/utilities/directives/styler.ts +0 -44
  289. package/src/utilities/directives/trim-whitespace.directive.ts +0 -20
  290. package/src/utilities/module.ts +0 -53
  291. package/src/utilities/pipes/function.pipe.ts +0 -21
  292. package/src/utilities/pipes/phone.pipe.ts +0 -20
  293. package/src/utilities/pipes/space-case.pipes.spec.ts +0 -47
  294. package/src/utilities/pipes/space-case.pipes.ts +0 -26
  295. package/tsconfig.lib.json +0 -20
  296. package/tsconfig.lib.prod.json +0 -10
  297. package/tsconfig.spec.json +0 -17
@@ -1,113 +0,0 @@
1
- import { DatePipe } from '@angular/common';
2
- import { Injectable, computed, inject } from '@angular/core';
3
- import { TableStore } from '../classes/table-store';
4
- import { TableBuilderConfigToken, TableBuilderExport } from '../classes/TableBuilderConfig';
5
- import { downloadData } from '../functions/download-data';
6
- import { ArrayAdditional, ArrayStyle, FieldType, MetaData } from '../interfaces/report-def';
7
- import { isPipe } from './transform-creator';
8
- import { getFactory } from '../functions/sort-data-function';
9
- import { TableContainerComponent } from '../components';
10
- import { spaceCase } from '../../utilities';
11
- import { merge } from 'lodash';
12
-
13
- @Injectable()
14
- export class ExportToCsvService<T> {
15
- state = inject(TableStore);
16
- private config = inject(TableBuilderConfigToken);
17
- private datePipe = inject(DatePipe);
18
-
19
- $exportSettings = computed<FlatExport>(() => {
20
- const globalSettings = this.config?.defaultTableSettings?.tableSettings?.exportSettings
21
- || this.config?.export
22
- || {};
23
- const globalLinkOptions = globalSettings.mapLinkOptions || {};
24
- const flattenedGlobal = { ...globalSettings, ...globalLinkOptions };
25
- const tableSettings = (this.state.$notPersistedTableSettings()?.exportSettings || {}) ;
26
- const tableLinkOptions = tableSettings.mapLinkOptions || {};
27
- const flattenedTable = { ...tableSettings, ...tableLinkOptions };
28
- return merge(flattenedGlobal, flattenedTable);
29
- });
30
-
31
- exportToCsv = (data: T[]) => {
32
- const hiddenKeys = this.state.selectSignal(s => s.hiddenKeys)();
33
- const meta = this.state.$metaDataArray().filter(md => !md.noExport && !hiddenKeys.includes(md.key));
34
- const csv = this.csvData(data, meta);
35
- downloadData(csv, 'export.csv', 'text/csv') ;
36
- }
37
-
38
- csvData = (data:Array<T>, metaData: MetaData<T>[]) => {
39
- const res = data.map(row => metaData.map(meta => this.metaToField(meta, row)).join(','));
40
- res.unshift(metaData.map(meta => meta.displayName || meta.key).join(','));
41
- return res.join('\n');
42
- }
43
-
44
- metaToField = (meta: MetaData<T>, row: T) => {
45
- const metaExport = meta.additional?.export;
46
- if(metaExport?.mapForExport) return metaExport.mapForExport(row);
47
- const exportForCol = merge({}, this.$exportSettings(), metaExport);
48
- let val: any = getFactory(meta.key)(row);
49
- if(val == null && !meta.transform) return val
50
- if(meta.transform && meta.fieldType !== FieldType.Expression){
51
- const transform = meta.transform as any;
52
- return isPipe(transform) ? transform.transform(val) : transform(val);
53
- }
54
- if(meta.additional?.link && exportForCol.mapLinkToString){
55
- let mapper = this.state.$getLinkInfo(meta)()?.link;
56
- if(mapper){
57
- let mapped = mapper(row);
58
- if(exportForCol!.domainPrefix){
59
- mapped = `${exportForCol!.domainPrefix}/${mapped}`;
60
- }
61
- if(exportForCol!.excellStyle){
62
- mapped = this.cleanValForCsv(`=hyperlink("${mapped}", "${this.stringByType(meta, row, val, exportForCol)}")`);
63
- }
64
- return mapped;
65
- }
66
- }
67
- val = this.cleanValForCsv(this.stringByType(meta, row, val, exportForCol));
68
- return val;
69
- }
70
-
71
- private stringByType(meta: MetaData<T>, row: T, val: any, exportForCol: FlatExport ){
72
- if(meta.map){
73
- return meta.map(row);
74
- }
75
- switch (meta.fieldType) {
76
- case FieldType.Date:
77
- const dateFormat = meta.additional?.export?.dateFormat || exportForCol?.dateFormat || meta.additional?.dateFormat;
78
- return this.transformDate(val, dateFormat);
79
- case FieldType.DateTime:
80
- const dateTimeFormat = meta.additional?.export?.dateTimeFormat || exportForCol?.dateTimeFormat || meta.additional?.dateTimeOptions?.format;
81
- return this.transformDate(val, dateTimeFormat);
82
- case FieldType.String:
83
- const prepend: string = meta.additional?.export?.prepend || exportForCol?.prepend || '';
84
- return prepend + val;
85
- case FieldType.Array:
86
- const style = (meta.additional as ArrayAdditional).arrayStyle ?? this.config.arrayDefaults?.arrayStyle;
87
- const limit = (meta.additional as ArrayAdditional).limit ?? this.config.arrayDefaults?.limit;
88
- return (val as Array<string>).slice(0, limit).join(style === ArrayStyle.NewLine ? '\n' : ', ');
89
- case FieldType.Expression:
90
- return (meta.transform as any)(row);
91
- case FieldType.Enum:
92
- return exportForCol?.mapEnumToString ? spaceCase(meta.additional!.enumMap![val]) : val;
93
- }
94
- return val;
95
- }
96
-
97
- cleanValForCsv(val: any) {
98
- if(typeof val === 'string' && (val.includes(', ') || val.includes('"') || val.includes('\n'))) {
99
- val = val.replaceAll('"', '""');
100
- val = '"' + val + '"';
101
- }
102
- return val;
103
- }
104
-
105
- private transformDate(val: any, dateFormat: any) {
106
- if(this.config.transformers && this.config.transformers[FieldType.Date]) {
107
- return this.config.transformers[FieldType.Date]!(val);
108
- }
109
- return this.datePipe.transform(val, dateFormat);
110
- }
111
- }
112
-
113
- type FlatExport = TableBuilderExport & TableBuilderExport['mapLinkOptions'];
@@ -1,98 +0,0 @@
1
- import { FieldType, MetaData } from "../interfaces/report-def";
2
- import { Dictionary } from "@ngrx/entity";
3
- import { QueryParamsHandling } from "@angular/router";
4
- import { getFactory } from "../functions/sort-data-function";
5
-
6
- export function createLinkCreatorDict<T>(metaDatas: MetaData<T>[]){
7
- return metaDatas.reduce((acc, md) => {
8
- if(md.additional?.link || md.fieldType === FieldType.Link){ acc[md.key] = createLinkCreator(md)}
9
- return acc;
10
- }, {} as Dictionary<LinkInfo>)
11
- }
12
-
13
- export function createLinkCreator<T>(metaData: MetaData<T>): LinkInfo{
14
- const target = metaData.additional?.link?.target || '_blank';
15
- const useRouterLink = metaData.additional?.link?.useRouterLink || false;
16
- const hasRoute = !!metaData.additional?.link?.interpolatedRoute;
17
-
18
- const qp = useRouterLink ?
19
- metaData.additional!.link!.routerLinkOptions?.queryParams?.reduce((map, [key, value]) => {
20
- map[key] = typeof value === 'function' ? value : parseInterpolated(value);
21
- return map;
22
- }, {})
23
- : undefined;
24
-
25
- const routerLinkOptions = useRouterLink ? {
26
- queryParams: (element: T) => metaData.additional!.link!.routerLinkOptions?.queryParams?.reduce((map, [key, value]) => {
27
- map[key] = qp![key](element);
28
- return map;
29
- }, {}) ?? null,
30
- fragment: metaData.additional!.link?.routerLinkOptions?.fragment,
31
- preserveFragment: metaData.additional!.link!.routerLinkOptions?.preserveFragment ?? false,
32
- queryParamsHandling: metaData.additional!.link!.routerLinkOptions?.queryParamsHandling ?? '',
33
- }
34
- : undefined;
35
-
36
- if(hasRoute) {
37
- const value = metaData.additional!.link!.interpolatedRoute!;
38
- return ({
39
- link: typeof value === 'function' ? (element: T) => value(element) : parseInterpolated(value),
40
- target,
41
- useRouterLink,
42
- routerLinkOptions,
43
- });
44
- } else {
45
- const slashIfNeeded = !metaData.additional?.link?.base?.endsWith('/') ? '/' : '';
46
- const base = metaData.additional!.link?.base;
47
- const getKey = key(metaData);
48
- return ({
49
- link: (element: T) => `${base}${slashIfNeeded}${getKey(element)}`,
50
- target,
51
- useRouterLink,
52
- routerLinkOptions,
53
- });
54
- }
55
- }
56
-
57
- const key = (metaData : MetaData) => metaData.additional!.link?.urlKey ?
58
- getFactory(metaData.additional!.link!.urlKey as string)
59
- :
60
- getFactory(metaData.key);
61
-
62
- export interface LinkInfo {
63
- link: (element: any) => string;
64
- target: string;
65
- useRouterLink: boolean;
66
- routerLinkOptions?: {
67
- queryParams: (element: any) => any;
68
- fragment?: string;
69
- preserveFragment?: boolean;
70
- queryParamsHandling?: QueryParamsHandling;
71
- }
72
- }
73
-
74
- function parseInterpolated(input: string) {
75
- // Match either content inside curly braces or content between curly braces
76
- const parts = input.split(/({[\w.]+})/);
77
-
78
- const result = parts
79
- .filter(part => part !== '') // Remove empty strings
80
- .map(part => {
81
- if(part.startsWith('{') && part.endsWith('}')) {
82
- // For interpolated values, remove the curly braces
83
- return {
84
- type: 'interpolated',
85
- val: getFactory(part.slice(1, -1))
86
- };
87
- } else {
88
- return {
89
- type: 'string',
90
- val: part
91
- };
92
- }
93
- }) as ({type: 'string', val:string} | {type:'interpolated', val: (t:any) => string})[];
94
-
95
- return function(val: any){
96
- return result.map(part => part.type === 'string' ? part.val : part.val(val)).join('');
97
- }
98
- }
@@ -1,47 +0,0 @@
1
- import { EnvironmentInjector, createComponent, inject } from "@angular/core";
2
- import { Injectable, TemplateRef } from "@angular/core";
3
- import { ArrayAdditional, ArrayStyle, FieldType, MetaData } from "../interfaces/report-def";
4
- import { InitializationComponent } from "../components/initialization-component/initialization.component";
5
- import { TableBuilderConfigToken } from "../classes/TableBuilderConfig";
6
-
7
- @Injectable({ providedIn: 'root' })
8
- export class TableTemplateService {
9
- environmentInjector = inject(EnvironmentInjector);
10
- tableConfig = inject(TableBuilderConfigToken);
11
- initConfig = createComponent(InitializationComponent, {
12
- environmentInjector: this.environmentInjector,
13
- });
14
- initializationComponentInstance = this.initConfig.instance;
15
- getTemplate(metaData: MetaData) : TemplateRef<any> {
16
-
17
- if(metaData.fieldType === FieldType.Array){
18
- const arrayStyle = (metaData.additional as ArrayAdditional)?.arrayStyle ?? this.tableConfig?.arrayDefaults?.arrayStyle;
19
- return arrayStyle === ArrayStyle.NewLine
20
- ? this.initializationComponentInstance.$arrayNewLineTemplate()
21
- : this.initializationComponentInstance.$arrayCommaTemplate();
22
- }
23
-
24
- if(metaData.fieldType === FieldType.ImageUrl) {
25
- return this.initializationComponentInstance.$imageUrlTemplate();
26
- }
27
-
28
- const useIcon = metaData.useIcon || metaData.fieldType === FieldType.Boolean;
29
- if(metaData.fieldType === FieldType.Link || metaData.additional?.link){
30
- const router = metaData.additional?.link?.useRouterLink;
31
- if(router) {
32
- return useIcon
33
- ? this.initializationComponentInstance.$routerLinkWithIconTemplate()
34
- : this.initializationComponentInstance.$routerLinkTemplate();
35
- }
36
- return useIcon
37
- ? this.initializationComponentInstance.$linkWithIconTemplate()!
38
- : this.initializationComponentInstance.$linkTemplate();
39
- }
40
-
41
- if(useIcon){
42
- return this.initializationComponentInstance.$defaultWithIcon();
43
- }
44
-
45
- return this.initializationComponentInstance.$defaultTemplate();
46
- }
47
- }
@@ -1,96 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import { FieldType, MappedMetaData, MetaData } from '../interfaces/report-def';
3
- import { formatDate, formatCurrency } from '@angular/common';
4
- import { phoneFormatter } from '../../utilities/pipes/phone.pipe';
5
- import { TableBuilderConfig } from '../classes/TableBuilderConfig';
6
- import { spaceCase } from '../../utilities';
7
- import { getFactory } from '../functions/sort-data-function';
8
-
9
- export function isPipe(o : any ): o is PipeTransform {
10
- return typeof ((o as PipeTransform).transform ) === 'function';
11
- }
12
-
13
- export function createTransformer(metaData: MetaData<any, any>, config: TableBuilderConfig, noIcons = false, forItem = false): ((value: any, ...args: any[]) => any) {
14
- const defaultFunc = getFactory(metaData.key);
15
- if(metaData.map && !forItem){
16
- return (value: any) => {
17
- return metaData.map!(value)};
18
- }
19
- if((metaData as MappedMetaData).mapItem){
20
- return (value: any) => {
21
- return (metaData as MappedMetaData).mapItem!(defaultFunc(value))};
22
- }
23
- if( metaData.transform) {
24
- if(isPipe(metaData.transform)){
25
- return (value: any) => (metaData!.transform as PipeTransform).transform(defaultFunc(value));
26
- }
27
- return metaData.fieldType === FieldType.Expression ? metaData.transform : (value: any) => (metaData.transform as (a:any, b:any)=>any)(defaultFunc(value), value);
28
- }
29
- if(config.transformers && config.transformers[metaData.fieldType]) {
30
- var transformer = config.transformers![metaData.fieldType]!;
31
- return (value: any) => transformer(defaultFunc(value));
32
- }
33
- const defaultDateFormat = config.dateFormats?.dateFormat ?? 'shortDate';
34
- const defaultDateTimeFormat = config.dateFormats?.dateTimeFormat ?? 'short';
35
- switch (metaData.fieldType) {
36
- case FieldType.Date:
37
- const dateFormat = metaData.additional?.dateFormat ?? defaultDateFormat;
38
- return (value: any) => dateFormatter(defaultFunc(value), dateFormat);
39
- case FieldType.DateTime:
40
- const dateTimeFormat = metaData.additional?.dateTimeOptions?.format ?? defaultDateTimeFormat;
41
- return (value: any) => dateFormatter(defaultFunc(value), dateTimeFormat);
42
- case FieldType.Currency:
43
- return (value: any) => currencyFormatter(defaultFunc(value));
44
- case FieldType.PhoneNumber:
45
- return (value: any) => phoneFormatter(defaultFunc(value));
46
- case FieldType.Enum:
47
- return (value: any) => spaceCase(metaData.additional?.enumMap![defaultFunc(value)] as string) ;
48
- case FieldType.Boolean:
49
- if(noIcons) {
50
- return defaultFunc
51
- }
52
- let forTrue = 'check'
53
- let forFalse = '';
54
- if(metaData.additional?.boolean?.forTrue) {
55
- forTrue = metaData?.additional.boolean.forTrue.icon;
56
- }
57
- if(metaData.additional?.boolean?.showForFalse === true) {
58
- forFalse = 'clear';
59
- } else if(metaData.additional?.boolean?.showForFalse?.icon) {
60
- forFalse = metaData.additional?.boolean?.showForFalse?.icon;
61
- }
62
- return (value: any) => defaultFunc(value) ? forTrue : forFalse ;
63
- }
64
- return defaultFunc;
65
- }
66
-
67
- export function createItemTransformer<T = any, AdditionalFields extends string[] = []>(metaData: MetaData<T, AdditionalFields>, config: TableBuilderConfig, noIcons = false, mutate = false){
68
- const transform = createTransformer(metaData, config, noIcons);
69
- return (t: T) => {
70
- if(!mutate){
71
- t = { ...t }
72
- }
73
- t[metaData.key as string] = transform(t)
74
- }
75
- }
76
-
77
- export function createItemTransformers<T = any, AdditionalFields extends string[] = []>(metaDatas: MetaData<T, AdditionalFields>[], config: TableBuilderConfig, noIcons = false, mutate = false){
78
- const transformers = metaDatas.map(meta => createItemTransformer(meta, config, noIcons, true));
79
- return (t: T) => {
80
- if(!t) return t;
81
- if(!mutate){
82
- t = { ... t }
83
- }
84
- transformers.forEach(m => m(t));
85
- return t;
86
- }
87
- }
88
-
89
- export function dateFormatter(date: string | Date | number, format: string){
90
- if(!date) return;
91
- return formatDate(date, format, 'en-US');
92
- }
93
-
94
- export function currencyFormatter(amt: number) {
95
- return formatCurrency(amt, 'en-US', '$');
96
- }
@@ -1,262 +0,0 @@
1
- // import { HarnessLoader } from "@angular/cdk/testing";
2
- // import { TestbedHarnessEnvironment } from "@angular/cdk/testing/testbed";
3
- // import { Component, DebugElement, Type } from "@angular/core";
4
- // import { ComponentFixture, TestBed, waitForAsync } from "@angular/core/testing";
5
- // import { MatButtonToggleModule } from "@angular/material/button-toggle";
6
- // import { MatButtonToggleHarness } from "@angular/material/button-toggle/testing";
7
- // import { MatCheckbox, MatCheckboxModule } from "@angular/material/checkbox";
8
- // import { MatLegacyRadioModule as MatRadioModule } from "@angular/material/legacy-radio";
9
- // import { MatLegacySelectModule as MatSelectModule } from "@angular/material/legacy-select";
10
- // import { MatSlideToggleModule } from "@angular/material/slide-toggle";
11
- // import { MatSlideToggleHarness } from "@angular/material/slide-toggle/testing";
12
- // import { MatLegacyRadioButtonHarness as MatRadioButtonHarness } from '@angular/material/legacy-radio/testing';
13
- // import { MatCheckboxHarness } from '@angular/material/checkbox/testing';
14
- // import { MatLegacySelectHarness as MatSelectHarness, } from "@angular/material/legacy-select/testing";
15
- // import { MatLegacyOptionHarness as MatOptionHarness } from "@angular/material/legacy-core/testing";
16
- // import { By } from "@angular/platform-browser";
17
- // import { firstValueFrom, lastValueFrom, Observable, skip, Subject, take, takeUntil } from "rxjs";
18
- // import { MatButtonToggleFilterDirective, MatCheckboxTbFilterDirective, MatOptionTbFilterDirective, MatRadioButtonTbFilterDirective, MatSlideToggleTbFilterDirective, TableCustomFilterDirective } from "../directives/tb-filter.directive";
19
- // import { NoopAnimationsModule } from "@angular/platform-browser/animations";
20
-
21
- // abstract class ToggleTestComponent {
22
-
23
- // }
24
-
25
-
26
- // const takeItem = <T>(src:Observable<T>, itemNumber: number, until: Observable<any>) : Promise<T | null> => {
27
- // return firstValueFrom(src.pipe( skip(itemNumber - 1),takeUntil(until) ), {defaultValue: null});
28
- // }
29
-
30
- // @Component({
31
- // template: `
32
- // <mat-slide-toggle tbCustomFilter > Slide me! </mat-slide-toggle>
33
- // <mat-checkbox tbCustomFilter > Check me! </mat-checkbox>
34
- // <mat-radio-button tbCustomFilter > Click me! </mat-radio-button>
35
- // <mat-select>
36
- // <mat-option tbCustomFilter > Click me! </mat-option>
37
- // <mat-option [value]='"other"' >Other</mat-option>
38
- // </mat-select>
39
- // <mat-button-toggle tbCustomFilter > Click me! </mat-button-toggle>
40
- // <div class='optionGroup' tbCustomFilterGroup >
41
- // <mat-checkbox tbCustomFilter class="child-1-checkbox" >1</mat-checkbox>
42
- // </div>
43
- // `
44
- // }) export class SingleToggleTestComponent extends ToggleTestComponent {
45
-
46
- // }
47
-
48
-
49
- // let fixture: ComponentFixture<ToggleTestComponent>;
50
- // let loader: HarnessLoader;
51
-
52
-
53
- // const setupTest = (): void => {
54
-
55
-
56
- // TestBed.configureTestingModule({
57
- // imports: [
58
- // NoopAnimationsModule,
59
- // MatSlideToggleModule,
60
- // MatCheckboxModule,
61
- // MatRadioModule,
62
- // MatButtonToggleModule,
63
- // MatSelectModule
64
- // ],
65
- // declarations: [
66
- // TableCustomFilterDirective,
67
- // SingleToggleTestComponent,
68
- // MatSlideToggleTbFilterDirective,
69
- // MatButtonToggleFilterDirective,
70
- // MatOptionTbFilterDirective,
71
- // MatRadioButtonTbFilterDirective,
72
- // MatCheckboxTbFilterDirective,
73
- // TablebFilterGroupDirective,
74
-
75
- // ],
76
- // providers: [ ]
77
- // });
78
- // fixture = TestBed.createComponent(SingleToggleTestComponent);
79
- // fixture.detectChanges();
80
- // loader = TestbedHarnessEnvironment.documentRootLoader(fixture);
81
- // };
82
-
83
-
84
- // describe("Custom Table Filters", () => {
85
-
86
- // describe("mat slide toggle filter", () => {
87
- // let toggleHarnesses: MatSlideToggleHarness[];
88
- // let dElement: DebugElement;
89
- // beforeEach(async () => {
90
- // setupTest();
91
- // dElement = fixture.debugElement.query(By.directive(MatSlideToggleTbFilterDirective) );
92
- // toggleHarnesses = await loader.getAllHarnesses(MatSlideToggleHarness);
93
- // } );
94
-
95
- // it('should create', () : void => {
96
- // expect(dElement).toBeTruthy();
97
- // });
98
-
99
- // it('should emit on toggle', async () => {
100
- // var filterDirective = dElement.injector.get(TableCustomFilterDirective);
101
- // const dunzo = new Subject();
102
- // var val = takeItem(filterDirective.filter$, 2, dunzo);
103
- // await toggleHarnesses[0].toggle();
104
- // dunzo.next(null);
105
- // var i = await val;
106
- // expect(i).toBeTruthy();
107
- // expect(i?.active).toBeTrue();
108
- // expect(filterDirective.active).toBeTrue();
109
- // })
110
- // })
111
-
112
- // describe("check box filter", () => {
113
- // let checkBoxHarnesses: MatCheckboxHarness;
114
- // let dElement: DebugElement;
115
- // beforeEach( async () => {
116
- // setupTest();
117
- // dElement = fixture.debugElement.query(By.directive(MatCheckboxTbFilterDirective) );
118
- // checkBoxHarnesses = await loader.getHarness(MatCheckboxHarness);
119
-
120
- // });
121
-
122
- // it('should create', async () : Promise<void> => {
123
- // expect(dElement).not.toBeNull();
124
- // });
125
-
126
- // it('should emit on check', async () => {
127
- // var filterDirective = dElement.injector.get(TableCustomFilterDirective);
128
- // var val = firstValueFrom(filterDirective.filter$);
129
- // await checkBoxHarnesses.check();
130
- // var i = await val;
131
- // expect(i).toBeTruthy();
132
- // expect(filterDirective.active).toBeTrue();
133
- // });
134
-
135
-
136
- // });
137
-
138
-
139
- // describe("radio button filter", () => {
140
- // let radioHarnesses: MatRadioButtonHarness;
141
- // let dElement: DebugElement;
142
- // beforeEach( async () => {
143
- // setupTest();
144
- // dElement = fixture.debugElement.query(By.directive(MatRadioButtonTbFilterDirective) );
145
- // radioHarnesses = await loader.getHarness(MatRadioButtonHarness);
146
-
147
- // });
148
-
149
- // it('should create', async () : Promise<void> => {
150
- // expect(dElement).not.toBeNull();
151
- // });
152
-
153
- // it('should emit on check', async () => {
154
- // var filterDirective = dElement.injector.get(TableCustomFilterDirective);
155
- // var val = firstValueFrom(filterDirective.filter$);
156
- // await radioHarnesses.check();
157
- // var i = await val;
158
- // expect(i).toBeTruthy();
159
- // expect(filterDirective.active).toBeTrue();
160
- // });
161
- // });
162
-
163
- // describe("button toggle filter", () => {
164
- // let buttonToggleHarness: MatButtonToggleHarness;
165
- // let dElement: DebugElement;
166
- // beforeEach( async () => {
167
- // setupTest();
168
- // dElement = fixture.debugElement.query(By.directive(MatButtonToggleFilterDirective) );
169
- // buttonToggleHarness = await loader.getHarness(MatButtonToggleHarness);
170
-
171
- // });
172
-
173
- // it('should create', () : void => {
174
- // expect(dElement).not.toBeNull();
175
- // });
176
-
177
- // it('should emit on toggle', async () => {
178
- // var filterDirective = dElement.injector.get(TableCustomFilterDirective);
179
- // var val = firstValueFrom(filterDirective.filter$);
180
- // await buttonToggleHarness.check();
181
- // var i = await val;
182
- // expect(i).toBeTruthy();
183
- // expect(filterDirective.active).toBeTrue();
184
- // });
185
- // });
186
-
187
- // describe("option filter", () => {
188
- // let optionHarness: MatOptionHarness;
189
- // let optionHarness2: MatOptionHarness;
190
- // let selectHarness: MatSelectHarness;
191
- // let dElement: DebugElement;
192
- // beforeEach(async () => {
193
- // setupTest();
194
- // selectHarness = await loader.getHarness(MatSelectHarness);
195
- // await selectHarness.open();
196
- // var h = await loader.getAllHarnesses(MatOptionHarness);
197
- // optionHarness = h[0];
198
- // optionHarness2 = h[1];
199
- // dElement = fixture.debugElement.query(By.directive(MatOptionTbFilterDirective) );
200
- // });
201
-
202
- // it('should create', async () : Promise<void> => {
203
- // expect(dElement).toBeTruthy();
204
- // });
205
-
206
- // it('should emit on select', async () => {
207
- // let doneSubject = new Subject<void>();
208
-
209
- // var filterDirective = dElement.injector.get(TableCustomFilterDirective);
210
-
211
- // let val = takeItem(filterDirective.filter$, 2, doneSubject);
212
- // await optionHarness.click();
213
- // doneSubject.next();
214
- // let i = await val;
215
-
216
- // expect(i).toBeTruthy();
217
- // expect(i?.active).toBeTrue();
218
- // expect(filterDirective.active).toBeTrue();
219
-
220
-
221
- // val = takeItem(filterDirective.filter$, 2, doneSubject);
222
- // await optionHarness2.click();
223
-
224
- // i = await val;
225
- // expect(i).toBeTruthy();
226
- // expect(i?.active).toBeFalse();
227
- // expect(filterDirective.active).toBeFalse();
228
-
229
- // });
230
- // });
231
-
232
- // describe("group filter", () => {
233
- // let checkboxHarness: MatCheckboxHarness;
234
- // let dElement: DebugElement;
235
- // beforeEach(async () => {
236
- // setupTest();
237
-
238
- // dElement = fixture.debugElement.query(By.directive(TablebFilterGroupDirective) );
239
- // const childLoader = await loader.getChildLoader('.optionGroup');
240
- // checkboxHarness = await childLoader.getHarness(MatCheckboxHarness);
241
- // });
242
-
243
- // it('should create', () : void => {
244
- // expect(dElement).toBeTruthy();
245
- // });
246
-
247
- // it('should emit on child select', async () => {
248
-
249
- // var directive = dElement.injector.get(TablebFilterGroupDirective);
250
- // var doneSubject = new Subject<void>();
251
- // var resultPromise = takeItem(directive.filter$, 2, doneSubject);
252
-
253
- // await checkboxHarness.check();
254
- // doneSubject.next();
255
-
256
- // var result = await resultPromise;
257
- // expect(result).toBeTruthy();
258
-
259
- // });
260
- // });
261
-
262
- // });
@@ -1,16 +0,0 @@
1
- .collapse-icon{
2
- font-size: 16px;
3
- height: 16px;
4
- color:#3f51b5;
5
- align-self: flex-start;
6
- }
7
- .collapse-icon:hover{
8
- cursor: pointer;
9
- }
10
- .hide{
11
- display: none;
12
- }
13
- .paginator-row{
14
- display: flex;
15
- align-items: center;
16
- }
@@ -1,38 +0,0 @@
1
-
2
- import { NgModule } from '@angular/core';
3
- import { MultiSortDirective } from './directives/multi-sort.directive';
4
- import { ModuleWithProviders } from '@angular/core';
5
- import { TableBuilderConfig, TableBuilderConfigToken } from './classes/TableBuilderConfig';
6
- import { TableContainerComponent } from './components';
7
- import { CustomCellDirective, TableFilterDirective, TableFilterStringContainsDirective, TableWrapperDirective } from './directives';
8
- import { UtilitiesModule } from '../utilities';
9
-
10
- @NgModule({
11
- imports: [
12
- TableContainerComponent,
13
- CustomCellDirective,
14
- TableFilterDirective,
15
- TableFilterStringContainsDirective,
16
- TableWrapperDirective,
17
- ],
18
- exports: [
19
- TableContainerComponent,
20
- CustomCellDirective,
21
- TableFilterStringContainsDirective,
22
- TableWrapperDirective,
23
- UtilitiesModule,
24
- ],
25
- providers: [
26
- MultiSortDirective,
27
- ]
28
- })
29
- export class TableBuilderModule {
30
- static forRoot(config: TableBuilderConfig): ModuleWithProviders<TableBuilderModule> {
31
- return {
32
- ngModule: TableBuilderModule,
33
- providers: [
34
- { provide: TableBuilderConfigToken, useValue: config }
35
- ]
36
- };
37
- }
38
- }