@one-paragon/angular-utilities 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -0
  2. package/action-state/action-state-ui/action-state-ui.module.d.ts +9 -0
  3. package/{src/action-state/index.ts → action-state/index.d.ts} +0 -4
  4. package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -0
  5. package/action-state/ngrx.d.ts +31 -0
  6. package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +23 -0
  7. package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +28 -0
  8. package/esm2020/action-state/index.mjs +8 -0
  9. package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -0
  10. package/esm2020/action-state/ngrx.mjs +42 -0
  11. package/esm2020/http-request-state/HttpRequestStateFactory.mjs +27 -0
  12. package/esm2020/http-request-state/HttpRequestStateStore.mjs +97 -0
  13. package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +34 -0
  14. package/esm2020/http-request-state/directives/http-error-state-directive.mjs +29 -0
  15. package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +29 -0
  16. package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +29 -0
  17. package/esm2020/http-request-state/directives/http-success-state-directive.mjs +29 -0
  18. package/esm2020/http-request-state/directives/index.mjs +6 -0
  19. package/esm2020/http-request-state/directives/request-state-directive.mjs +57 -0
  20. package/esm2020/http-request-state/helpers.mjs +22 -0
  21. package/esm2020/http-request-state/http-request-state.mjs +39 -0
  22. package/esm2020/http-request-state/http-state-module.mjs +41 -0
  23. package/esm2020/http-request-state/index.mjs +7 -0
  24. package/esm2020/http-request-state/rxjs/getRequestorBody.mjs +4 -0
  25. package/esm2020/http-request-state/rxjs/getRequestorState.mjs +3 -0
  26. package/esm2020/http-request-state/rxjs/index.mjs +5 -0
  27. package/esm2020/http-request-state/rxjs/tapError.mjs +12 -0
  28. package/esm2020/http-request-state/rxjs/tapSuccess.mjs +12 -0
  29. package/esm2020/http-request-state/types.mjs +16 -0
  30. package/esm2020/ngrx/actionable-selector.mjs +76 -0
  31. package/esm2020/ngrx/index.mjs +2 -0
  32. package/esm2020/one-paragon-angular-utilities.mjs +5 -0
  33. package/esm2020/public-api.mjs +19 -0
  34. package/esm2020/rxjs/defaultShareReplay.mjs +7 -0
  35. package/esm2020/rxjs/index.mjs +5 -0
  36. package/esm2020/rxjs/mapError.mjs +8 -0
  37. package/esm2020/rxjs/rxjs-operators.mjs +91 -0
  38. package/esm2020/rxjs/subjectifier.mjs +15 -0
  39. package/esm2020/table-builder/classes/DefaultSettings.mjs +6 -0
  40. package/esm2020/table-builder/classes/GenericTableDataSource.mjs +13 -0
  41. package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +21 -0
  42. package/esm2020/table-builder/classes/TableBuilderConfig.mjs +3 -0
  43. package/esm2020/table-builder/classes/TableState.mjs +32 -0
  44. package/esm2020/table-builder/classes/data-filter.mjs +26 -0
  45. package/esm2020/table-builder/classes/display-col.mjs +2 -0
  46. package/esm2020/table-builder/classes/filter-info.mjs +71 -0
  47. package/esm2020/table-builder/classes/table-builder-general-settings.mjs +68 -0
  48. package/esm2020/table-builder/classes/table-builder.mjs +61 -0
  49. package/esm2020/table-builder/classes/table-store.mjs +292 -0
  50. package/esm2020/table-builder/components/array-column.component.mjs +57 -0
  51. package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +111 -0
  52. package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +25 -0
  53. package/esm2020/table-builder/components/filter/filter.component.mjs +53 -0
  54. package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +91 -0
  55. package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +45 -0
  56. package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +198 -0
  57. package/esm2020/table-builder/components/generic-table/paginator.component.mjs +74 -0
  58. package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +22 -0
  59. package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +90 -0
  60. package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +63 -0
  61. package/esm2020/table-builder/components/index.mjs +10 -0
  62. package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +33 -0
  63. package/esm2020/table-builder/components/link-column.component.mjs +66 -0
  64. package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +27 -0
  65. package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +42 -0
  66. package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +75 -0
  67. package/esm2020/table-builder/components/table-container/table-container.mjs +312 -0
  68. package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +42 -0
  69. package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +30 -0
  70. package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +25 -0
  71. package/esm2020/table-builder/directives/custom-cell-directive.mjs +59 -0
  72. package/esm2020/table-builder/directives/index.mjs +6 -0
  73. package/esm2020/table-builder/directives/multi-sort.directive.mjs +42 -0
  74. package/esm2020/table-builder/directives/resize-column.directive.mjs +86 -0
  75. package/esm2020/table-builder/directives/table-wrapper.directive.mjs +26 -0
  76. package/esm2020/table-builder/directives/tb-filter.directive.mjs +403 -0
  77. package/esm2020/table-builder/enums/filterTypes.mjs +59 -0
  78. package/esm2020/table-builder/functions/boolean-filter-function.mjs +10 -0
  79. package/esm2020/table-builder/functions/date-filter-function.mjs +32 -0
  80. package/esm2020/table-builder/functions/download-data.mjs +12 -0
  81. package/esm2020/table-builder/functions/null-filter-function.mjs +8 -0
  82. package/esm2020/table-builder/functions/number-filter-function.mjs +32 -0
  83. package/esm2020/table-builder/functions/sort-data-function.mjs +5 -0
  84. package/esm2020/table-builder/functions/string-filter-function.mjs +41 -0
  85. package/esm2020/table-builder/interfaces/ColumnInfo.mjs +2 -0
  86. package/esm2020/table-builder/interfaces/dictionary.mjs +2 -0
  87. package/esm2020/table-builder/interfaces/report-def.mjs +34 -0
  88. package/esm2020/table-builder/material.module.mjs +207 -0
  89. package/esm2020/table-builder/ngrx/actions.mjs +5 -0
  90. package/esm2020/table-builder/ngrx/effects.mjs +48 -0
  91. package/esm2020/table-builder/ngrx/reducer.mjs +52 -0
  92. package/esm2020/table-builder/ngrx/selectors.mjs +24 -0
  93. package/esm2020/table-builder/pipes/column-total.pipe.mjs +20 -0
  94. package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
  95. package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +46 -0
  96. package/esm2020/table-builder/pipes/key-display.mjs +20 -0
  97. package/esm2020/table-builder/services/export-to-csv.service.mjs +84 -0
  98. package/esm2020/table-builder/services/link-creator.service.mjs +42 -0
  99. package/esm2020/table-builder/services/table-template-service.mjs +43 -0
  100. package/esm2020/table-builder/services/transform-creator.mjs +70 -0
  101. package/esm2020/table-builder/table-builder.module.mjs +204 -0
  102. package/esm2020/utilities/directives/auto-focus.directive.mjs +26 -0
  103. package/esm2020/utilities/directives/clickEmitterDirective.mjs +21 -0
  104. package/esm2020/utilities/directives/clickSubject.mjs +27 -0
  105. package/esm2020/utilities/directives/conditional-classes.directive.mjs +35 -0
  106. package/esm2020/utilities/directives/dialog-service.mjs +25 -0
  107. package/esm2020/utilities/directives/dialog.mjs +137 -0
  108. package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +59 -0
  109. package/esm2020/utilities/directives/prevent-enter.directive.mjs +19 -0
  110. package/esm2020/utilities/directives/stop-propagation.directive.mjs +25 -0
  111. package/esm2020/utilities/directives/styler.mjs +26 -0
  112. package/esm2020/utilities/directives/trim-whitespace.directive.mjs +29 -0
  113. package/esm2020/utilities/index.mjs +16 -0
  114. package/esm2020/utilities/module.mjs +91 -0
  115. package/esm2020/utilities/pipes/function.pipe.mjs +21 -0
  116. package/esm2020/utilities/pipes/phone.pipe.mjs +20 -0
  117. package/esm2020/utilities/pipes/space-case.pipes.mjs +28 -0
  118. package/fesm2015/one-paragon-angular-utilities.mjs +4687 -0
  119. package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -0
  120. package/fesm2020/one-paragon-angular-utilities.mjs +4655 -0
  121. package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -0
  122. package/http-request-state/HttpRequestStateFactory.d.ts +14 -0
  123. package/http-request-state/HttpRequestStateStore.d.ts +48 -0
  124. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -0
  125. package/http-request-state/directives/http-error-state-directive.d.ts +12 -0
  126. package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -0
  127. package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -0
  128. package/http-request-state/directives/http-success-state-directive.d.ts +14 -0
  129. package/{src/http-request-state/directives/index.ts → http-request-state/directives/index.d.ts} +5 -5
  130. package/http-request-state/directives/request-state-directive.d.ts +29 -0
  131. package/http-request-state/helpers.d.ts +9 -0
  132. package/http-request-state/http-request-state.d.ts +12 -0
  133. package/http-request-state/http-state-module.d.ts +11 -0
  134. package/{src/http-request-state/index.ts → http-request-state/index.d.ts} +6 -6
  135. package/http-request-state/rxjs/getRequestorBody.d.ts +3 -0
  136. package/http-request-state/rxjs/getRequestorState.d.ts +3 -0
  137. package/{src/http-request-state/rxjs/index.ts → http-request-state/rxjs/index.d.ts} +4 -4
  138. package/http-request-state/rxjs/tapError.d.ts +3 -0
  139. package/http-request-state/rxjs/tapSuccess.d.ts +3 -0
  140. package/http-request-state/types.d.ts +36 -0
  141. package/index.d.ts +5 -0
  142. package/ngrx/actionable-selector.d.ts +15 -0
  143. package/ngrx/index.d.ts +1 -0
  144. package/package.json +36 -16
  145. package/{src/public-api.ts → public-api.d.ts} +3 -21
  146. package/rxjs/defaultShareReplay.d.ts +2 -0
  147. package/{src/rxjs/index.ts → rxjs/index.d.ts} +1 -1
  148. package/rxjs/mapError.d.ts +2 -0
  149. package/rxjs/rxjs-operators.d.ts +12 -0
  150. package/rxjs/subjectifier.d.ts +9 -0
  151. package/table-builder/classes/DefaultSettings.d.ts +8 -0
  152. package/table-builder/classes/GenericTableDataSource.d.ts +8 -0
  153. package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -0
  154. package/table-builder/classes/TableBuilderConfig.d.ts +19 -0
  155. package/table-builder/classes/TableState.d.ts +46 -0
  156. package/table-builder/classes/data-filter.d.ts +9 -0
  157. package/{src/table-builder/classes/display-col.ts → table-builder/classes/display-col.d.ts} +5 -5
  158. package/table-builder/classes/filter-info.d.ts +40 -0
  159. package/table-builder/classes/table-builder-general-settings.d.ts +43 -0
  160. package/table-builder/classes/table-builder.d.ts +14 -0
  161. package/table-builder/classes/table-store.d.ts +114 -0
  162. package/table-builder/components/array-column.component.d.ts +14 -0
  163. package/table-builder/components/column-builder/column-builder.component.d.ts +50 -0
  164. package/table-builder/components/date-filter/date-filter.component.d.ts +10 -0
  165. package/table-builder/components/filter/filter.component.d.ts +294 -0
  166. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -0
  167. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -0
  168. package/table-builder/components/generic-table/generic-table.component.d.ts +71 -0
  169. package/table-builder/components/generic-table/paginator.component.d.ts +28 -0
  170. package/table-builder/components/group-by-list/group-by-list.component.d.ts +10 -0
  171. package/table-builder/components/header-menu/header-menu.component.d.ts +25 -0
  172. package/table-builder/components/in-filter/in-filter.component.d.ts +21 -0
  173. package/{src/table-builder/components/index.ts → table-builder/components/index.d.ts} +0 -0
  174. package/table-builder/components/initialization-component/initialization-component.d.ts +12 -0
  175. package/table-builder/components/link-column.component.d.ts +17 -0
  176. package/table-builder/components/number-filter/number-filter.component.d.ts +12 -0
  177. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -0
  178. package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -0
  179. package/table-builder/components/table-container/table-container.d.ts +65 -0
  180. package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -0
  181. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -0
  182. package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -0
  183. package/table-builder/directives/custom-cell-directive.d.ts +19 -0
  184. package/{src/table-builder/directives/index.ts → table-builder/directives/index.d.ts} +0 -1
  185. package/table-builder/directives/multi-sort.directive.d.ts +11 -0
  186. package/table-builder/directives/resize-column.directive.d.ts +43 -0
  187. package/table-builder/directives/table-wrapper.directive.d.ts +11 -0
  188. package/table-builder/directives/tb-filter.directive.d.ts +120 -0
  189. package/table-builder/enums/filterTypes.d.ts +31 -0
  190. package/table-builder/functions/boolean-filter-function.d.ts +3 -0
  191. package/table-builder/functions/date-filter-function.d.ts +3 -0
  192. package/table-builder/functions/download-data.d.ts +1 -0
  193. package/table-builder/functions/null-filter-function.d.ts +2 -0
  194. package/table-builder/functions/number-filter-function.d.ts +4 -0
  195. package/table-builder/functions/sort-data-function.d.ts +3 -0
  196. package/table-builder/functions/string-filter-function.d.ts +7 -0
  197. package/{src/table-builder/interfaces/ColumnInfo.ts → table-builder/interfaces/ColumnInfo.d.ts} +6 -7
  198. package/{src/table-builder/interfaces/dictionary.ts → table-builder/interfaces/dictionary.d.ts} +1 -1
  199. package/table-builder/interfaces/report-def.d.ts +135 -0
  200. package/table-builder/material.module.d.ts +32 -0
  201. package/table-builder/ngrx/actions.d.ts +23 -0
  202. package/table-builder/ngrx/effects.d.ts +19 -0
  203. package/table-builder/ngrx/reducer.d.ts +15 -0
  204. package/table-builder/ngrx/selectors.d.ts +22 -0
  205. package/table-builder/pipes/column-total.pipe.d.ts +8 -0
  206. package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -0
  207. package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -0
  208. package/table-builder/pipes/key-display.d.ts +11 -0
  209. package/table-builder/services/export-to-csv.service.d.ts +22 -0
  210. package/table-builder/services/link-creator.service.d.ts +12 -0
  211. package/table-builder/services/table-template-service.d.ts +14 -0
  212. package/table-builder/services/transform-creator.d.ts +19 -0
  213. package/table-builder/table-builder.module.d.ts +45 -0
  214. package/utilities/directives/auto-focus.directive.d.ts +10 -0
  215. package/utilities/directives/clickEmitterDirective.d.ts +7 -0
  216. package/utilities/directives/clickSubject.d.ts +9 -0
  217. package/utilities/directives/conditional-classes.directive.d.ts +14 -0
  218. package/utilities/directives/dialog-service.d.ts +10 -0
  219. package/utilities/directives/dialog.d.ts +46 -0
  220. package/utilities/directives/mat-toggle-group-directive.d.ts +21 -0
  221. package/utilities/directives/prevent-enter.directive.d.ts +6 -0
  222. package/utilities/directives/stop-propagation.directive.d.ts +7 -0
  223. package/utilities/directives/styler.d.ts +9 -0
  224. package/utilities/directives/trim-whitespace.directive.d.ts +9 -0
  225. package/{src/utilities/index.ts → utilities/index.d.ts} +1 -8
  226. package/utilities/module.d.ts +19 -0
  227. package/utilities/pipes/function.pipe.d.ts +7 -0
  228. package/utilities/pipes/phone.pipe.d.ts +7 -0
  229. package/utilities/pipes/space-case.pipes.d.ts +17 -0
  230. package/karma.conf.js +0 -44
  231. package/ng-package.json +0 -7
  232. package/src/action-state/action-state-spinner/action-state-spinner.component.css +0 -16
  233. package/src/action-state/action-state-spinner/action-state-spinner.component.html +0 -3
  234. package/src/action-state/action-state-spinner/action-state-spinner.component.spec.ts +0 -25
  235. package/src/action-state/action-state-spinner/action-state-spinner.component.ts +0 -22
  236. package/src/action-state/action-state-ui/action-state-ui.module.ts +0 -19
  237. package/src/action-state/ngrx-ext/ngrx-ext.module.ts +0 -15
  238. package/src/action-state/ngrx.ts +0 -69
  239. package/src/http-request-state/HttpRequestStateFactory.ts +0 -26
  240. package/src/http-request-state/HttpRequestStateStore.ts +0 -147
  241. package/src/http-request-state/directives/HttpStateDirectiveBase.ts +0 -38
  242. package/src/http-request-state/directives/http-error-state-directive.ts +0 -32
  243. package/src/http-request-state/directives/http-inProgress-state-directive.ts +0 -32
  244. package/src/http-request-state/directives/http-notStarted-state-directive.ts +0 -31
  245. package/src/http-request-state/directives/http-success-state-directive.ts +0 -31
  246. package/src/http-request-state/directives/request-state-directive.spec.ts +0 -72
  247. package/src/http-request-state/directives/request-state-directive.ts +0 -70
  248. package/src/http-request-state/helpers.ts +0 -30
  249. package/src/http-request-state/http-request-state.ts +0 -69
  250. package/src/http-request-state/http-state-module.ts +0 -26
  251. package/src/http-request-state/observable.spec.ts +0 -43
  252. package/src/http-request-state/rxjs/getRequestorBody.ts +0 -10
  253. package/src/http-request-state/rxjs/getRequestorState.ts +0 -8
  254. package/src/http-request-state/rxjs/tapError.ts +0 -16
  255. package/src/http-request-state/rxjs/tapSuccess.ts +0 -16
  256. package/src/http-request-state/strategies.spec.ts +0 -42
  257. package/src/http-request-state/types.ts +0 -50
  258. package/src/ngrx/actionable-selector.ts +0 -95
  259. package/src/ngrx/index.ts +0 -1
  260. package/src/rxjs/defaultShareReplay.ts +0 -8
  261. package/src/rxjs/mapError.ts +0 -8
  262. package/src/rxjs/rxjs-operators.ts +0 -130
  263. package/src/rxjs/subjectifier.ts +0 -15
  264. package/src/specs/clickSubject.spec.ts +0 -95
  265. package/src/specs/dialog.spec.ts +0 -101
  266. package/src/specs/toggleGroupDirective.spec.ts +0 -231
  267. package/src/table-builder/classes/DefaultSettings.ts +0 -10
  268. package/src/table-builder/classes/GenericTableDataSource.ts +0 -22
  269. package/src/table-builder/classes/MatTableObservableDataSource.ts +0 -23
  270. package/src/table-builder/classes/TableBuilderConfig.ts +0 -19
  271. package/src/table-builder/classes/TableState.ts +0 -63
  272. package/src/table-builder/classes/data-filter.spec.ts +0 -72
  273. package/src/table-builder/classes/data-filter.ts +0 -32
  274. package/src/table-builder/classes/filter-info.ts +0 -132
  275. package/src/table-builder/classes/table-builder-general-settings.ts +0 -73
  276. package/src/table-builder/classes/table-builder.ts +0 -71
  277. package/src/table-builder/classes/table-store.ts +0 -360
  278. package/src/table-builder/components/array-column.component.ts +0 -39
  279. package/src/table-builder/components/column-builder/column-builder.component.html +0 -66
  280. package/src/table-builder/components/column-builder/column-builder.component.scss +0 -43
  281. package/src/table-builder/components/column-builder/column-builder.component.spec.ts +0 -51
  282. package/src/table-builder/components/column-builder/column-builder.component.ts +0 -126
  283. package/src/table-builder/components/date-filter/date-filter.component.html +0 -24
  284. package/src/table-builder/components/date-filter/date-filter.component.ts +0 -17
  285. package/src/table-builder/components/filter/filter.component.html +0 -78
  286. package/src/table-builder/components/filter/filter.component.scss +0 -64
  287. package/src/table-builder/components/filter/filter.component.spec.ts +0 -89
  288. package/src/table-builder/components/filter/filter.component.ts +0 -35
  289. package/src/table-builder/components/filter/in-list/in-list-filter.component.ts +0 -82
  290. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.html +0 -52
  291. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.scss +0 -57
  292. package/src/table-builder/components/gen-col-displayer/gen-col-displayer.component.ts +0 -44
  293. package/src/table-builder/components/generic-table/generic-table.component.html +0 -77
  294. package/src/table-builder/components/generic-table/generic-table.component.scss +0 -45
  295. package/src/table-builder/components/generic-table/generic-table.component.ts +0 -221
  296. package/src/table-builder/components/generic-table/paginator.component.ts +0 -89
  297. package/src/table-builder/components/group-by-list/group-by-list.component.css +0 -8
  298. package/src/table-builder/components/group-by-list/group-by-list.component.html +0 -10
  299. package/src/table-builder/components/group-by-list/group-by-list.component.spec.ts +0 -23
  300. package/src/table-builder/components/group-by-list/group-by-list.component.ts +0 -16
  301. package/src/table-builder/components/header-menu/header-menu.component.html +0 -117
  302. package/src/table-builder/components/header-menu/header-menu.component.scss +0 -92
  303. package/src/table-builder/components/header-menu/header-menu.component.ts +0 -81
  304. package/src/table-builder/components/in-filter/in-filter.component.css +0 -3
  305. package/src/table-builder/components/in-filter/in-filter.component.html +0 -13
  306. package/src/table-builder/components/in-filter/in-filter.component.ts +0 -60
  307. package/src/table-builder/components/initialization-component/initialization-component.html +0 -21
  308. package/src/table-builder/components/initialization-component/initialization-component.ts +0 -15
  309. package/src/table-builder/components/link-column.component.ts +0 -33
  310. package/src/table-builder/components/number-filter/number-filter.component.css +0 -10
  311. package/src/table-builder/components/number-filter/number-filter.component.html +0 -21
  312. package/src/table-builder/components/number-filter/number-filter.component.spec.ts +0 -30
  313. package/src/table-builder/components/number-filter/number-filter.component.ts +0 -19
  314. package/src/table-builder/components/sort-menu/sort-menu.component-store.ts +0 -59
  315. package/src/table-builder/components/sort-menu/sort-menu.component.html +0 -101
  316. package/src/table-builder/components/sort-menu/sort-menu.component.scss +0 -119
  317. package/src/table-builder/components/sort-menu/sort-menu.component.ts +0 -82
  318. package/src/table-builder/components/table-container/table-container.css +0 -26
  319. package/src/table-builder/components/table-container/table-container.html +0 -113
  320. package/src/table-builder/components/table-container/table-container.spec.ts +0 -157
  321. package/src/table-builder/components/table-container/table-container.ts +0 -344
  322. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.html +0 -26
  323. package/src/table-builder/components/table-container-filter/filter-list/filter-list.component.ts +0 -38
  324. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.css +0 -37
  325. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.html +0 -8
  326. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.spec.ts +0 -88
  327. package/src/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.ts +0 -27
  328. package/src/table-builder/components/table-container-filter/table-wrapper-filter-store.ts +0 -23
  329. package/src/table-builder/directives/custom-cell-directive.ts +0 -45
  330. package/src/table-builder/directives/multi-sort.directive.spec.ts +0 -124
  331. package/src/table-builder/directives/multi-sort.directive.ts +0 -41
  332. package/src/table-builder/directives/resize-column.directive.ts +0 -104
  333. package/src/table-builder/directives/table-wrapper.directive.ts +0 -16
  334. package/src/table-builder/directives/tb-filter.directive.ts +0 -363
  335. package/src/table-builder/enums/filterTypes.ts +0 -65
  336. package/src/table-builder/functions/boolean-filter-function.ts +0 -13
  337. package/src/table-builder/functions/date-filter-function.ts +0 -40
  338. package/src/table-builder/functions/download-data.ts +0 -11
  339. package/src/table-builder/functions/null-filter-function.ts +0 -9
  340. package/src/table-builder/functions/number-filter-function.ts +0 -42
  341. package/src/table-builder/functions/sort-data-function.ts +0 -8
  342. package/src/table-builder/functions/string-filter-function.ts +0 -52
  343. package/src/table-builder/interfaces/column-template.ts +0 -9
  344. package/src/table-builder/interfaces/report-def.ts +0 -131
  345. package/src/table-builder/material.module.ts +0 -95
  346. package/src/table-builder/ngrx/actions.ts +0 -7
  347. package/src/table-builder/ngrx/effects.ts +0 -54
  348. package/src/table-builder/ngrx/reducer.ts +0 -72
  349. package/src/table-builder/ngrx/selectors.ts +0 -37
  350. package/src/table-builder/pipes/column-total.pipe.ts +0 -15
  351. package/src/table-builder/pipes/format-filter-type.pipe.ts +0 -12
  352. package/src/table-builder/pipes/format-filter-value.pipe.ts +0 -40
  353. package/src/table-builder/pipes/key-display.ts +0 -16
  354. package/src/table-builder/services/export-to-csv.service.ts +0 -92
  355. package/src/table-builder/services/link-creator.service.ts +0 -48
  356. package/src/table-builder/services/table-template-service.ts +0 -44
  357. package/src/table-builder/services/transform-creator.ts +0 -61
  358. package/src/table-builder/specs/table-custom-filters.spec.ts +0 -262
  359. package/src/table-builder/styles/collapser.styles.scss +0 -21
  360. package/src/table-builder/table-builder.module.ts +0 -138
  361. package/src/test.ts +0 -17
  362. package/src/utilities/directives/auto-focus.directive.ts +0 -19
  363. package/src/utilities/directives/clickEmitterDirective.ts +0 -15
  364. package/src/utilities/directives/clickSubject.ts +0 -19
  365. package/src/utilities/directives/conditional-classes.directive.ts +0 -35
  366. package/src/utilities/directives/dialog-service.ts +0 -22
  367. package/src/utilities/directives/dialog.ts +0 -142
  368. package/src/utilities/directives/mat-toggle-group-directive.ts +0 -60
  369. package/src/utilities/directives/prevent-enter.directive.ts +0 -12
  370. package/src/utilities/directives/stop-propagation.directive.ts +0 -19
  371. package/src/utilities/directives/styler.ts +0 -16
  372. package/src/utilities/directives/trim-whitespace.directive.ts +0 -20
  373. package/src/utilities/module.ts +0 -58
  374. package/src/utilities/pipes/function.pipe.ts +0 -15
  375. package/src/utilities/pipes/phone.pipe.ts +0 -15
  376. package/src/utilities/pipes/space-case.pipes.spec.ts +0 -47
  377. package/src/utilities/pipes/space-case.pipes.ts +0 -23
  378. package/tsconfig.lib.json +0 -19
  379. package/tsconfig.lib.prod.json +0 -10
  380. package/tsconfig.spec.json +0 -17
@@ -0,0 +1,7 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class PhoneNumberPipe implements PipeTransform {
4
+ transform(phoneNum: string): any;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<PhoneNumberPipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<PhoneNumberPipe, "phone", false>;
7
+ }
@@ -0,0 +1,17 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SpaceCasePipe implements PipeTransform {
4
+ transform(value: string): string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SpaceCasePipe, never>;
6
+ static ɵpipe: i0.ɵɵPipeDeclaration<SpaceCasePipe, "spaceCase", false>;
7
+ }
8
+ /**
9
+ * Adds a space before uppercase letters that either
10
+ * 1. follows a lowercase letter or digit
11
+ * 2. or precedes a lowercase letter and follows an alpha-numeric character
12
+ *
13
+ * Uppercases the first digit
14
+ *
15
+ * Turns underscores into spaces
16
+ */
17
+ export declare function spaceCase(value: string): string;
package/karma.conf.js DELETED
@@ -1,44 +0,0 @@
1
- // Karma configuration file, see link for more information
2
- // https://karma-runner.github.io/1.0/config/configuration-file.html
3
-
4
- module.exports = function (config) {
5
- config.set({
6
- basePath: '',
7
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
- plugins: [
9
- require('karma-jasmine'),
10
- require('karma-chrome-launcher'),
11
- require('karma-jasmine-html-reporter'),
12
- require('karma-coverage'),
13
- require('@angular-devkit/build-angular/plugins/karma')
14
- ],
15
- client: {
16
- jasmine: {
17
- // you can add configuration options for Jasmine here
18
- // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html
19
- // for example, you can disable the random execution with `random: false`
20
- // or set a specific seed with `seed: 4321`
21
- },
22
- clearContext: false // leave Jasmine Spec Runner output visible in browser
23
- },
24
- jasmineHtmlReporter: {
25
- suppressAll: true // removes the duplicated traces
26
- },
27
- coverageReporter: {
28
- dir: require('path').join(__dirname, '../../coverage/http-request-state'),
29
- subdir: '.',
30
- reporters: [
31
- { type: 'html' },
32
- { type: 'text-summary' }
33
- ]
34
- },
35
- reporters: ['progress', 'kjhtml'],
36
- port: 9876,
37
- colors: true,
38
- logLevel: config.LOG_INFO,
39
- autoWatch: true,
40
- browsers: ['Chrome'],
41
- singleRun: false,
42
- restartOnFileChange: true
43
- });
44
- };
package/ng-package.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/angular-utilities",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- }
7
- }
@@ -1,16 +0,0 @@
1
- #blocker {
2
- position:fixed;
3
- top: 0px;
4
- left: 0px;
5
- width:100%;
6
- height:100%;
7
- background-color:rgba(14, 13, 13, 0.411);
8
- z-index:999999;
9
- }
10
-
11
- .spinner{
12
- position: absolute;
13
- top:50%;
14
- left:40%;
15
- transform: translate(-50%, -50%);
16
- }
@@ -1,3 +0,0 @@
1
- <div id="blocker" *ngIf="(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress">
2
- <mat-spinner class="spinner" [diameter]="200"></mat-spinner>
3
- </div>
@@ -1,25 +0,0 @@
1
- import { async, ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { ActionStateSpinnerComponent } from './action-state-spinner.component';
4
-
5
- describe('ActionStateSpinnerComponent', () => {
6
- let component: ActionStateSpinnerComponent;
7
- let fixture: ComponentFixture<ActionStateSpinnerComponent>;
8
-
9
- beforeEach(async(() => {
10
- TestBed.configureTestingModule({
11
- declarations: [ ActionStateSpinnerComponent ]
12
- })
13
- .compileComponents();
14
- }));
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(ActionStateSpinnerComponent);
18
- component = fixture.componentInstance;
19
- fixture.detectChanges();
20
- });
21
-
22
- it('should create', () => {
23
- expect(component).toBeTruthy();
24
- });
25
- });
@@ -1,22 +0,0 @@
1
- import { Component, OnInit, Input } from '@angular/core';
2
- import { Observable } from 'rxjs';
3
- import { ActionStatus, serverStatusTypes } from '../ngrx';
4
- import { delayOn } from '../../rxjs';
5
-
6
- @Component({
7
- selector: 'lib-action-state-spinner',
8
- templateUrl: './action-state-spinner.component.html',
9
- styleUrls: ['./action-state-spinner.component.css']
10
- })
11
- export class ActionStateSpinnerComponent implements OnInit {
12
-
13
- @Input() status$!: Observable<ActionStatus>;
14
- serverActionStatus$!: Observable<ActionStatus>;
15
- serverStatusTypes = serverStatusTypes;
16
-
17
- ngOnInit() {
18
- this.serverActionStatus$ = this.status$.pipe(
19
- delayOn( a => a.status === serverStatusTypes.inProgress , 500)
20
- );
21
- }
22
- }
@@ -1,19 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ActionStateSpinnerComponent } from '../action-state-spinner/action-state-spinner.component';
4
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
-
6
-
7
- @NgModule({
8
- declarations: [
9
- ActionStateSpinnerComponent,
10
- ],
11
- imports: [
12
- CommonModule,
13
- MatProgressSpinnerModule,
14
- ],
15
- exports: [
16
- ActionStateSpinnerComponent,
17
- ]
18
- })
19
- export class ActionStateUiModule { }
@@ -1,15 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { actionStatusReducer } from '../ngrx';
4
- import { StoreModule } from '@ngrx/store';
5
-
6
-
7
-
8
- @NgModule({
9
- declarations: [],
10
- imports: [
11
- CommonModule,
12
- StoreModule.forFeature('ActionStatus', actionStatusReducer),
13
- ]
14
- })
15
- export class NgrxExtModule { }
@@ -1,69 +0,0 @@
1
- import { Action, createFeatureSelector, createSelector } from '@ngrx/store';
2
- import { createEntityAdapter, EntityState } from '@ngrx/entity';
3
- import { get } from 'lodash';
4
-
5
- // State
6
- export class AppStatusState {
7
- readonly ActionStatusBar!: ActionStatus[];
8
- }
9
-
10
- export interface StatusState {
11
- ids: string[];
12
- entities: {[id: string]: ActionStatus};
13
- }
14
-
15
- export class ActionStatus {
16
- id!: string;
17
- displayName?: string;
18
- status!: serverStatusTypes;
19
- responsePayload?: any;
20
- }
21
-
22
- const intitalState: StatusState = {
23
- ids: [],
24
- entities: {}
25
- };
26
-
27
- export enum serverStatusTypes {
28
- notStarted = 0,
29
- inProgress = 1,
30
- success = 2,
31
- error = 3
32
- }
33
-
34
- // Entity and Selectors
35
- export const statusAdapter = createEntityAdapter<ActionStatus>(); // { selectId: a => a.id }
36
- export interface State extends EntityState<ActionStatus> {}
37
- export const initialState: StatusState = statusAdapter.getInitialState(intitalState);
38
-
39
- export const getStatusState = createFeatureSelector<State>('ActionStatus');
40
- export const {
41
- selectIds,
42
- selectEntities,
43
- selectAll,
44
- selectTotal
45
- } = statusAdapter.getSelectors(getStatusState);
46
-
47
- export const selectEntity = (id: string) => createSelector(
48
- selectEntities,
49
- (entities: any) => entities[id]
50
- );
51
-
52
- // Reducers
53
- export function actionStatusReducer(state: StatusState = initialState, action: Action) {
54
-
55
- const actionStatus: ActionStatus = get(action, 'payload.actionStatus' );
56
-
57
- if ( actionStatus ) {
58
- if ( state.ids.find(id => id === actionStatus.id) ) {
59
- const modifiedObj = {...state.entities[actionStatus.id] };
60
- modifiedObj.status = actionStatus.status;
61
- modifiedObj.responsePayload = actionStatus.responsePayload;
62
- return statusAdapter.upsertOne( modifiedObj, state);
63
- } else {
64
- return statusAdapter.addOne(actionStatus , state);
65
- }
66
-
67
- }
68
- return state;
69
- }
@@ -1,26 +0,0 @@
1
- import { Injectable, OnDestroy } from "@angular/core";
2
- import { HttpRequestFactory, RequestStateOptions } from "./types";
3
- import { HttpRequestStateStore } from './HttpRequestStateStore';
4
- import { Observable } from "rxjs";
5
-
6
- @Injectable()
7
- export class HttpRequestStateFactory implements OnDestroy {
8
-
9
- constructor() {}
10
- ngOnDestroy(): void {
11
- this.requestors.forEach( request => request.ngOnDestroy());
12
- }
13
- private requestors: OnDestroy[] = [];
14
- create<TParam extends any[], T>( req: HttpRequestFactory<TParam,T>, options?: RequestStateOptions ) : HttpRequestStateStore<TParam,T> {
15
- const requestor = new HttpRequestStateStore(req, options);
16
- this.requestors.push(requestor);
17
- return requestor;
18
- }
19
-
20
- createHttpClient<T>( r: (o: Observable<T> ) => Observable<T> , options?: RequestStateOptions ) {
21
- const requestor = new HttpRequestStateStore(r, options);
22
- this.requestors.push(requestor);
23
- return requestor;
24
- }
25
-
26
- }
@@ -1,147 +0,0 @@
1
- import { Observable, of, Subscription } from 'rxjs';
2
- import { ComponentStore } from '@ngrx/component-store';
3
- import { HttpRequestFactory, HttpRequestStrategy, HttpRequestStatus, HttpRequestState, RequestStateOptions, HttpRequestStateCancelled } from './types';
4
- import { createFailure, createSuccess, inProgress, isErrorState, isSuccessOrErrorState, isSuccessState, notStarted } from './helpers';
5
- import { concatMap, filter, map, mergeMap, pluck, startWith, switchMap, tap } from 'rxjs/operators';
6
- import { HttpErrorResponse } from '@angular/common/http';
7
- import { mapError } from '../rxjs/mapError';
8
- import { defaultShareReplay } from '../rxjs/defaultShareReplay';
9
- import { Directive } from '@angular/core';
10
-
11
- export interface RequestResponse<TParam extends any[],T> {
12
- requestParams: [...TParam];
13
- response: HttpRequestState<T>;
14
- }
15
-
16
- @Directive()
17
- export class HttpRequestStateStore<TParam extends any[], T> extends ComponentStore<RequestResponse<TParam,T>> {
18
-
19
- constructor(private req: HttpRequestFactory<TParam,T> ,private options?: RequestStateOptions) {
20
- super({ requestParams: null as any ,response: notStarted });
21
- this.request = (this.options?.strategy === HttpRequestStrategy.singleUse) ? this.singleUseRequest : this.flattenedRequest;
22
- }
23
-
24
- reset() {
25
- this.setState({ requestParams:null as any, response: notStarted });
26
- }
27
-
28
- private flatteningStrategy = () => {
29
- if(this.options?.strategy === HttpRequestStrategy.concurrent)
30
- return mergeMap( (params: [...TParam]) => this.createRequest(...params));
31
- if(this.options?.strategy === HttpRequestStrategy.sequential)
32
- return concatMap( (params: [...TParam]) => this.createRequest(...params));
33
- return switchMap( (params: [...TParam]) => ((params[0] as any) instanceof CancellationToken) ?
34
- of({ requestParams: params[0], response: { status: HttpRequestStatus.cancelled } as HttpRequestStateCancelled } ) : this.createRequest(...params) );
35
- }
36
-
37
- private requestEffect: (value: [...TParam] ) => Subscription = this.effect((obs: Observable<[...TParam]>) => {
38
- return (obs).pipe(
39
- this.flatteningStrategy(),
40
- tap<RequestResponse<TParam, T>>(state => this.setState(state)),
41
- );
42
- });
43
-
44
- private flattenedRequest = (...value: [...TParam]) => {
45
- return this.requestEffect(value) as Subscription;
46
- }
47
- private singleUseRequest = (...value: [...TParam]) => {
48
- if (this.get().response.status !== HttpRequestStatus.notStarted) {
49
- throw new Error("state can not be reused. either reset the state by calling reset() or use a state requester that allows concurrent requests.");
50
- }
51
- return this.requestEffect(value) as Subscription;
52
- }
53
-
54
- selectHttpState$ = this.state$.pipe(map(a => a.response));
55
-
56
- selectStatus$ = this.selectHttpState$.pipe(map(a => a.status));
57
-
58
- selectError$ = this.state$.pipe(
59
- map(r => r.response),
60
- filter(isErrorState),
61
- map( state => state.error)
62
- );
63
-
64
- selectResponse$ = this.state$.pipe(
65
- map(r => r.response),
66
- filter(isSuccessState),
67
- map( state => state.body)
68
- );
69
- selectSuccessOrError$ = this.state$.pipe(
70
- map(r => r.response),
71
- filter(isSuccessOrErrorState),
72
- map( () => null)
73
- );
74
-
75
- errorHandled = false;
76
- onError( cb: (error: HttpErrorResponse) => void) {
77
- this.errorHandled = true;
78
- this.on(this.selectError$, cb);
79
- return this;
80
- }
81
-
82
- onSuccess( cb: (body: T) => void) {
83
- this.on(this.selectResponse$, cb);
84
- return this;
85
- }
86
-
87
- onSuccessOrError(cb: () => void){
88
- this.on(this.selectSuccessOrError$, cb);
89
- return this;
90
- }
91
-
92
- onSuccessWithRequest(func: (state: {
93
- requestParams: [...TParam];
94
- body: T;
95
- }) => void) {
96
- this.onUpdate(({ requestParams, response }) => {
97
- if(isSuccessState(response)){
98
- func({requestParams,body: response.body});
99
- }
100
- });
101
- return this;
102
- }
103
-
104
- onErrorWithRequest(func: (state: {
105
- error: HttpErrorResponse;
106
- requestParams: [...TParam];
107
- }) => void) {
108
- this.onUpdate( ({ requestParams, response }) => {
109
- if(isErrorState(response)){
110
- func({ requestParams, error: response.error });
111
- }
112
- });
113
- return this;
114
- }
115
-
116
- private createRequest(...params: [...TParam]): Observable<RequestResponse<TParam,T>> {
117
- return this.req(...params).pipe(
118
- map(createSuccess),
119
- mapError(createFailure),
120
- startWith(inProgress),
121
- map( state => ({ requestParams: params, response: state })),
122
- defaultShareReplay()
123
- );
124
- }
125
-
126
- onUpdate(func: (state: {
127
- requestParams: [...TParam];
128
- response: HttpRequestState<T>;
129
- }) => void) {
130
- this.on(this.state$, func);
131
- }
132
-
133
- on = <V>(srcObservable: Observable<V>, func: (obj: V) => void): Subscription => {
134
- return this.effect((src: Observable<V>) => {
135
- return src.pipe(tap(func));
136
- })(srcObservable) as Subscription;
137
- }
138
-
139
- request: (...value: [...TParam] ) => Subscription;
140
-
141
- ngOnDestroy() {
142
- super.ngOnDestroy();
143
- }
144
-
145
- }
146
-
147
- export class CancellationToken {}
@@ -1,38 +0,0 @@
1
- import { Directive, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { HttpRequestState } from '../types';
3
- import { HttpRequestStateDirective } from './request-state-directive';
4
-
5
- @Directive()
6
- export abstract class HttpStateDirectiveBase {
7
- hasView = false;
8
- constructor(
9
- private injector: Injector,
10
- protected templateRef: TemplateRef<any>,
11
- protected viewContainer: ViewContainerRef,
12
- ) {
13
-
14
- }
15
-
16
- ngOnInit() {
17
- const parent = this.injector.get(HttpRequestStateDirective);
18
- if(parent == null) {
19
- throw new Error('You can only use an http state directive as a child of the httpRequestState directive.');
20
- }
21
- parent.hooks.push(this.baseRender);
22
- this.baseRender(parent.ViewContext.state);
23
- }
24
-
25
- ngOnDestroy() {
26
-
27
- }
28
-
29
- private baseRender = (state:HttpRequestState ) : void => {
30
- if (this.hasView) {
31
- this.viewContainer.clear();
32
- this.hasView = false;
33
- }
34
- this.hasView = this.render(state);
35
- }
36
-
37
- abstract render: (state: HttpRequestState) => boolean;
38
- }
@@ -1,32 +0,0 @@
1
- import { Directive, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { isErrorState } from '../helpers';
3
- import { HttpRequestState } from '../types';
4
- import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
5
-
6
- @Directive({ selector: '[httpErrorState]' })
7
- export class HttpErrorStateDirective<TParam extends any[], T> extends HttpStateDirectiveBase {
8
-
9
- constructor(
10
- injector: Injector,
11
- templateRef: TemplateRef<any>,
12
- viewContainer: ViewContainerRef,
13
- ) {
14
- super(injector, templateRef, viewContainer);
15
- }
16
-
17
- render = (state: HttpRequestState<any>) => {
18
- if (isErrorState(state)) {
19
- this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.error });
20
- return true;
21
- }
22
- return false;
23
- };
24
-
25
- ngOnInit() {
26
- super.ngOnInit();
27
- }
28
-
29
- ngOnDestroy() {
30
- super.ngOnDestroy();
31
- }
32
- }
@@ -1,32 +0,0 @@
1
- import { Directive, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
3
- import { HttpRequestState, HttpRequestStatus } from '../types'
4
-
5
-
6
- @Directive({ selector: '[httpInProgressState]' })
7
- export class HttpInProgressStateDirective extends HttpStateDirectiveBase {
8
- render = (state: HttpRequestState<any>) => {
9
- if(state.status === HttpRequestStatus.inProgress){
10
- this.viewContainer.createEmbeddedView(this.templateRef );
11
- return true;
12
- }
13
- return false;
14
- };
15
-
16
- constructor(
17
- injector: Injector,
18
- templateRef: TemplateRef<any>,
19
- viewContainer: ViewContainerRef,
20
- ) {
21
- super(injector,templateRef,viewContainer);
22
- }
23
-
24
- ngOnInit() {
25
- super.ngOnInit();
26
- }
27
-
28
- ngOnDestroy() {
29
- super.ngOnDestroy();
30
- }
31
-
32
- }
@@ -1,31 +0,0 @@
1
- import { Directive, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { HttpRequestState, HttpRequestStatus } from '../types';
3
- import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
-
5
-
6
- @Directive({ selector: '[httpNotStartedState]' })
7
- export class HttpNotStartedStateDirective<TParam extends any[],T> extends HttpStateDirectiveBase {
8
- render = (state: HttpRequestState<any>) => {
9
- if(state.status === HttpRequestStatus.notStarted){
10
- this.viewContainer.createEmbeddedView(this.templateRef );
11
- return true;
12
- }
13
- return false;
14
- };
15
-
16
- constructor(
17
- injector: Injector,
18
- templateRef: TemplateRef<any>,
19
- viewContainer: ViewContainerRef,
20
- ) {
21
- super(injector,templateRef,viewContainer);
22
- }
23
-
24
- ngOnInit() {
25
- super.ngOnInit();
26
- }
27
-
28
- ngOnDestroy() {
29
- super.ngOnDestroy();
30
- }
31
- }
@@ -1,31 +0,0 @@
1
- import { Directive, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { isSuccessState } from '../helpers';
3
- import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
- import { HttpRequestState } from '../types';
5
-
6
- @Directive({ selector: '[httpSuccessState]'})
7
- export class HttpSuccessStateDirective<T> extends HttpStateDirectiveBase {
8
- render = (state: HttpRequestState<any>) => {
9
- if(isSuccessState(state)){
10
- this.viewContainer.createEmbeddedView(this.templateRef,{ $implicit: state.body} );
11
- return true;
12
- }
13
- return false;
14
- };
15
-
16
- constructor(
17
- injector: Injector,
18
- templateRef: TemplateRef<{$implicit: T}>,
19
- viewContainer: ViewContainerRef,
20
- ) {
21
- super(injector,templateRef,viewContainer);
22
- }
23
-
24
- ngOnInit() {
25
- super.ngOnInit();
26
- }
27
-
28
- ngOnDestroy() {
29
- super.ngOnDestroy();
30
- }
31
- }
@@ -1,72 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
- import { Component } from '@angular/core';
3
- import { HttpRequestModule } from '../http-state-module';
4
- import { HttpRequestStateStore } from '../HttpRequestStateStore';
5
- import { Subject } from 'rxjs';
6
- import { RequestStateOptions } from '../types';
7
-
8
-
9
- @Component({
10
- template: `
11
- <div *httpRequestState='requestState;let state;'>
12
- <ng-container *httpNotStartedState>not started</ng-container>
13
- <ng-container *httpInProgressState>in progress</ng-container>
14
- <ng-container *httpSuccessState='let body' >success {{body}}</ng-container>
15
- <ng-container *httpErrorState='let error' >error {{error}}</ng-container>
16
- </div>
17
- `,
18
- }) export class TestHttpRequestStateDirectiveComponent {
19
- constructor(public requestState: HttpRequestStateStore<any, any>) { }
20
- }
21
-
22
- export class MockHttpRequestState<T> extends HttpRequestStateStore<[], T> {
23
- subject = new Subject<T>();
24
- constructor(options?: RequestStateOptions) {
25
- super(()=> {
26
- return this.subject;
27
- }, options );
28
- }
29
- }
30
-
31
- let requestState: MockHttpRequestState<string>;
32
- let fixture: ComponentFixture<TestHttpRequestStateDirectiveComponent>;
33
-
34
- describe('Request State Directive', () => {
35
-
36
- beforeEach(() => {
37
- requestState = new MockHttpRequestState<string>();
38
- fixture = TestBed.configureTestingModule({
39
- declarations: [TestHttpRequestStateDirectiveComponent],
40
- providers: [{ provide: HttpRequestStateStore, useValue: requestState }],
41
- imports: [HttpRequestModule]
42
- }).createComponent(TestHttpRequestStateDirectiveComponent);
43
- });
44
-
45
- it('should begin with the state of not started', () => {
46
- verifyText('not started');
47
- });
48
-
49
- it('should be in progress while in progress', () => {
50
- requestState.request();
51
- verifyText('in progress');
52
- });
53
-
54
- it('should be success when success', () => {
55
- requestState.request();
56
- requestState.subject.next('yay')
57
- verifyText('success yay');
58
- });
59
-
60
- it('should be error when error', () => {
61
- requestState.request();
62
- requestState.subject.error('ouch');
63
- verifyText('error ouch');
64
- });
65
-
66
- function verifyText(text:string) {
67
- fixture.detectChanges();
68
- const node: HTMLElement = fixture.nativeElement;
69
- expect(node.innerText).toBe(text);
70
- }
71
-
72
- });