@one-paragon/angular-utilities 0.1.32-beta → 0.1.32-beta.11

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 (206) hide show
  1. package/action-state/action-state-spinner/action-state-spinner.component.d.ts +1 -1
  2. package/action-state/ngrx.d.ts +1 -1
  3. package/{esm2020 → esm2022}/action-state/action-state-spinner/action-state-spinner.component.mjs +4 -4
  4. package/{esm2020 → esm2022}/action-state/action-state-ui/action-state-ui.module.mjs +7 -7
  5. package/{esm2020 → esm2022}/action-state/ngrx-ext/ngrx-ext.module.mjs +6 -6
  6. package/esm2022/action-state/ngrx.mjs +42 -0
  7. package/{esm2020 → esm2022}/http-request-state/HttpRequestStateFactory.mjs +5 -5
  8. package/esm2022/http-request-state/HttpRequestStateStore.mjs +97 -0
  9. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +34 -0
  10. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +29 -0
  11. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +29 -0
  12. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +29 -0
  13. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +34 -0
  14. package/esm2022/http-request-state/directives/request-state-directive.mjs +60 -0
  15. package/esm2022/http-request-state/http-request-state.mjs +39 -0
  16. package/{esm2020 → esm2022}/http-request-state/http-state-module.mjs +13 -13
  17. package/{esm2020 → esm2022}/http-request-state/rxjs/tapError.mjs +1 -1
  18. package/esm2022/http-request-state/rxjs/tapSuccess.mjs +12 -0
  19. package/esm2022/ngrx/actionable-selector.mjs +75 -0
  20. package/esm2022/rxjs/rxjs-operators.mjs +91 -0
  21. package/esm2022/table-builder/classes/GenericTableDataSource.mjs +20 -0
  22. package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +41 -0
  23. package/esm2022/table-builder/classes/filter-info.mjs +73 -0
  24. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +68 -0
  25. package/esm2022/table-builder/classes/table-builder.mjs +76 -0
  26. package/esm2022/table-builder/classes/table-store.mjs +296 -0
  27. package/{esm2020 → esm2022}/table-builder/components/array-column.component.mjs +8 -8
  28. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +112 -0
  29. package/{esm2020 → esm2022}/table-builder/components/date-filter/date-filter.component.mjs +5 -5
  30. package/{esm2020 → esm2022}/table-builder/components/date-time-filter/date-time-filter.component.mjs +5 -5
  31. package/esm2022/table-builder/components/filter/filter.component.mjs +54 -0
  32. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +91 -0
  33. package/{esm2020 → esm2022}/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +6 -6
  34. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +231 -0
  35. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +80 -0
  36. package/{esm2020 → esm2022}/table-builder/components/group-by-list/group-by-list.component.mjs +5 -5
  37. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +91 -0
  38. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +63 -0
  39. package/{esm2020 → esm2022}/table-builder/components/initialization-component/initialization-component.mjs +4 -4
  40. package/{esm2020 → esm2022}/table-builder/components/link-column.component.mjs +7 -7
  41. package/{esm2020 → esm2022}/table-builder/components/number-filter/number-filter.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/table-builder/components/sort-menu/sort-menu.component-store.mjs +5 -5
  43. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +75 -0
  44. package/esm2022/table-builder/components/table-container/table-container.mjs +337 -0
  45. package/{esm2020 → esm2022}/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +6 -6
  46. package/{esm2020 → esm2022}/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +6 -6
  47. package/{esm2020 → esm2022}/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +5 -5
  48. package/esm2022/table-builder/directives/custom-cell-directive.mjs +59 -0
  49. package/esm2022/table-builder/directives/multi-sort.directive.mjs +42 -0
  50. package/esm2022/table-builder/directives/resize-column.directive.mjs +86 -0
  51. package/{esm2020 → esm2022}/table-builder/directives/table-wrapper.directive.mjs +4 -4
  52. package/esm2022/table-builder/directives/tb-filter.directive.mjs +403 -0
  53. package/{esm2020 → esm2022}/table-builder/functions/date-filter-function.mjs +1 -1
  54. package/{esm2020 → esm2022}/table-builder/material.module.mjs +113 -113
  55. package/esm2022/table-builder/ngrx/effects.mjs +48 -0
  56. package/esm2022/table-builder/ngrx/reducer.mjs +52 -0
  57. package/esm2022/table-builder/ngrx/selectors.mjs +24 -0
  58. package/esm2022/table-builder/pipes/column-total.pipe.mjs +20 -0
  59. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +18 -0
  60. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +45 -0
  61. package/{esm2020 → esm2022}/table-builder/pipes/key-display.mjs +5 -5
  62. package/esm2022/table-builder/services/export-to-csv.service.mjs +88 -0
  63. package/esm2022/table-builder/services/link-creator.service.mjs +42 -0
  64. package/esm2022/table-builder/services/table-template-service.mjs +44 -0
  65. package/esm2022/table-builder/services/transform-creator.mjs +75 -0
  66. package/esm2022/table-builder/table-builder.module.mjs +218 -0
  67. package/esm2022/utilities/directives/auto-focus.directive.mjs +26 -0
  68. package/{esm2020 → esm2022}/utilities/directives/clickEmitterDirective.mjs +5 -5
  69. package/{esm2020 → esm2022}/utilities/directives/clickSubject.mjs +5 -5
  70. package/esm2022/utilities/directives/conditional-classes.directive.mjs +35 -0
  71. package/{esm2020 → esm2022}/utilities/directives/dialog-service.mjs +4 -4
  72. package/esm2022/utilities/directives/dialog.mjs +137 -0
  73. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +59 -0
  74. package/{esm2020 → esm2022}/utilities/directives/prevent-enter.directive.mjs +4 -4
  75. package/{esm2020 → esm2022}/utilities/directives/stop-propagation.directive.mjs +4 -4
  76. package/esm2022/utilities/directives/styler.mjs +26 -0
  77. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +29 -0
  78. package/{esm2020 → esm2022}/utilities/module.mjs +33 -33
  79. package/esm2022/utilities/pipes/function.pipe.mjs +21 -0
  80. package/esm2022/utilities/pipes/phone.pipe.mjs +20 -0
  81. package/{esm2020 → esm2022}/utilities/pipes/space-case.pipes.mjs +4 -4
  82. package/{fesm2020 → fesm2022}/one-paragon-angular-utilities.mjs +712 -651
  83. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
  84. package/http-request-state/directives/http-success-state-directive.d.ts +1 -1
  85. package/http-request-state/directives/request-state-directive.d.ts +2 -2
  86. package/http-request-state/http-request-state.d.ts +1 -1
  87. package/http-request-state/types.d.ts +7 -7
  88. package/ngrx/actionable-selector.d.ts +2 -2
  89. package/package.json +6 -12
  90. package/table-builder/classes/GenericTableDataSource.d.ts +6 -2
  91. package/table-builder/classes/filter-info.d.ts +5 -5
  92. package/table-builder/classes/table-store.d.ts +1 -1
  93. package/table-builder/components/array-column.component.d.ts +1 -1
  94. package/table-builder/components/column-builder/column-builder.component.d.ts +1 -1
  95. package/table-builder/components/date-filter/date-filter.component.d.ts +1 -1
  96. package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +1 -1
  97. package/table-builder/components/filter/filter.component.d.ts +1 -1
  98. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +1 -1
  99. package/table-builder/components/generic-table/generic-table.component.d.ts +13 -5
  100. package/table-builder/components/generic-table/paginator.component.d.ts +3 -2
  101. package/table-builder/components/header-menu/header-menu.component.d.ts +1 -1
  102. package/table-builder/components/in-filter/in-filter.component.d.ts +1 -1
  103. package/table-builder/components/link-column.component.d.ts +1 -1
  104. package/table-builder/components/number-filter/number-filter.component.d.ts +1 -1
  105. package/table-builder/components/table-container/table-container.d.ts +5 -1
  106. package/table-builder/directives/custom-cell-directive.d.ts +1 -1
  107. package/table-builder/directives/multi-sort.directive.d.ts +1 -1
  108. package/table-builder/directives/resize-column.directive.d.ts +1 -1
  109. package/table-builder/directives/tb-filter.directive.d.ts +8 -8
  110. package/table-builder/enums/filterTypes.d.ts +1 -1
  111. package/table-builder/functions/sort-data-function.d.ts +1 -1
  112. package/table-builder/interfaces/report-def.d.ts +1 -1
  113. package/table-builder/table-builder.module.d.ts +1 -1
  114. package/utilities/directives/auto-focus.directive.d.ts +1 -1
  115. package/utilities/directives/clickSubject.d.ts +1 -1
  116. package/utilities/directives/conditional-classes.directive.d.ts +1 -1
  117. package/utilities/directives/dialog.d.ts +1 -1
  118. package/utilities/directives/mat-toggle-group-directive.d.ts +1 -1
  119. package/utilities/directives/styler.d.ts +1 -1
  120. package/esm2020/action-state/ngrx.mjs +0 -42
  121. package/esm2020/http-request-state/HttpRequestStateStore.mjs +0 -97
  122. package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +0 -34
  123. package/esm2020/http-request-state/directives/http-error-state-directive.mjs +0 -29
  124. package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +0 -29
  125. package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +0 -29
  126. package/esm2020/http-request-state/directives/http-success-state-directive.mjs +0 -34
  127. package/esm2020/http-request-state/directives/request-state-directive.mjs +0 -60
  128. package/esm2020/http-request-state/http-request-state.mjs +0 -39
  129. package/esm2020/http-request-state/rxjs/tapSuccess.mjs +0 -12
  130. package/esm2020/ngrx/actionable-selector.mjs +0 -75
  131. package/esm2020/rxjs/rxjs-operators.mjs +0 -91
  132. package/esm2020/table-builder/classes/GenericTableDataSource.mjs +0 -13
  133. package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +0 -41
  134. package/esm2020/table-builder/classes/filter-info.mjs +0 -73
  135. package/esm2020/table-builder/classes/table-builder-general-settings.mjs +0 -68
  136. package/esm2020/table-builder/classes/table-builder.mjs +0 -76
  137. package/esm2020/table-builder/classes/table-store.mjs +0 -292
  138. package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +0 -112
  139. package/esm2020/table-builder/components/filter/filter.component.mjs +0 -54
  140. package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +0 -91
  141. package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +0 -204
  142. package/esm2020/table-builder/components/generic-table/paginator.component.mjs +0 -74
  143. package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +0 -91
  144. package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +0 -63
  145. package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +0 -75
  146. package/esm2020/table-builder/components/table-container/table-container.mjs +0 -322
  147. package/esm2020/table-builder/directives/custom-cell-directive.mjs +0 -59
  148. package/esm2020/table-builder/directives/multi-sort.directive.mjs +0 -42
  149. package/esm2020/table-builder/directives/resize-column.directive.mjs +0 -86
  150. package/esm2020/table-builder/directives/tb-filter.directive.mjs +0 -403
  151. package/esm2020/table-builder/ngrx/effects.mjs +0 -48
  152. package/esm2020/table-builder/ngrx/reducer.mjs +0 -52
  153. package/esm2020/table-builder/ngrx/selectors.mjs +0 -24
  154. package/esm2020/table-builder/pipes/column-total.pipe.mjs +0 -20
  155. package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +0 -18
  156. package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +0 -45
  157. package/esm2020/table-builder/services/export-to-csv.service.mjs +0 -88
  158. package/esm2020/table-builder/services/link-creator.service.mjs +0 -42
  159. package/esm2020/table-builder/services/table-template-service.mjs +0 -44
  160. package/esm2020/table-builder/services/transform-creator.mjs +0 -75
  161. package/esm2020/table-builder/table-builder.module.mjs +0 -215
  162. package/esm2020/utilities/directives/auto-focus.directive.mjs +0 -26
  163. package/esm2020/utilities/directives/conditional-classes.directive.mjs +0 -35
  164. package/esm2020/utilities/directives/dialog.mjs +0 -137
  165. package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +0 -59
  166. package/esm2020/utilities/directives/styler.mjs +0 -26
  167. package/esm2020/utilities/directives/trim-whitespace.directive.mjs +0 -29
  168. package/esm2020/utilities/pipes/function.pipe.mjs +0 -21
  169. package/esm2020/utilities/pipes/phone.pipe.mjs +0 -20
  170. package/fesm2015/one-paragon-angular-utilities.mjs +0 -4806
  171. package/fesm2015/one-paragon-angular-utilities.mjs.map +0 -1
  172. package/fesm2020/one-paragon-angular-utilities.mjs.map +0 -1
  173. /package/{esm2020 → esm2022}/action-state/index.mjs +0 -0
  174. /package/{esm2020 → esm2022}/http-request-state/directives/index.mjs +0 -0
  175. /package/{esm2020 → esm2022}/http-request-state/helpers.mjs +0 -0
  176. /package/{esm2020 → esm2022}/http-request-state/index.mjs +0 -0
  177. /package/{esm2020 → esm2022}/http-request-state/rxjs/getRequestorBody.mjs +0 -0
  178. /package/{esm2020 → esm2022}/http-request-state/rxjs/getRequestorState.mjs +0 -0
  179. /package/{esm2020 → esm2022}/http-request-state/rxjs/index.mjs +0 -0
  180. /package/{esm2020 → esm2022}/http-request-state/types.mjs +0 -0
  181. /package/{esm2020 → esm2022}/ngrx/index.mjs +0 -0
  182. /package/{esm2020 → esm2022}/one-paragon-angular-utilities.mjs +0 -0
  183. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  184. /package/{esm2020 → esm2022}/rxjs/defaultShareReplay.mjs +0 -0
  185. /package/{esm2020 → esm2022}/rxjs/index.mjs +0 -0
  186. /package/{esm2020 → esm2022}/rxjs/mapError.mjs +0 -0
  187. /package/{esm2020 → esm2022}/rxjs/subjectifier.mjs +0 -0
  188. /package/{esm2020 → esm2022}/table-builder/classes/DefaultSettings.mjs +0 -0
  189. /package/{esm2020 → esm2022}/table-builder/classes/TableBuilderConfig.mjs +0 -0
  190. /package/{esm2020 → esm2022}/table-builder/classes/TableState.mjs +0 -0
  191. /package/{esm2020 → esm2022}/table-builder/classes/data-filter.mjs +0 -0
  192. /package/{esm2020 → esm2022}/table-builder/classes/display-col.mjs +0 -0
  193. /package/{esm2020 → esm2022}/table-builder/components/index.mjs +0 -0
  194. /package/{esm2020 → esm2022}/table-builder/directives/index.mjs +0 -0
  195. /package/{esm2020 → esm2022}/table-builder/enums/filterTypes.mjs +0 -0
  196. /package/{esm2020 → esm2022}/table-builder/functions/boolean-filter-function.mjs +0 -0
  197. /package/{esm2020 → esm2022}/table-builder/functions/download-data.mjs +0 -0
  198. /package/{esm2020 → esm2022}/table-builder/functions/null-filter-function.mjs +0 -0
  199. /package/{esm2020 → esm2022}/table-builder/functions/number-filter-function.mjs +0 -0
  200. /package/{esm2020 → esm2022}/table-builder/functions/sort-data-function.mjs +0 -0
  201. /package/{esm2020 → esm2022}/table-builder/functions/string-filter-function.mjs +0 -0
  202. /package/{esm2020 → esm2022}/table-builder/interfaces/ColumnInfo.mjs +0 -0
  203. /package/{esm2020 → esm2022}/table-builder/interfaces/dictionary.mjs +0 -0
  204. /package/{esm2020 → esm2022}/table-builder/interfaces/report-def.mjs +0 -0
  205. /package/{esm2020 → esm2022}/table-builder/ngrx/actions.mjs +0 -0
  206. /package/{esm2020 → esm2022}/utilities/index.mjs +0 -0
@@ -8,5 +8,5 @@ export declare class ActionStateSpinnerComponent implements OnInit {
8
8
  serverStatusTypes: typeof serverStatusTypes;
9
9
  ngOnInit(): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ActionStateSpinnerComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<ActionStateSpinnerComponent, "lib-action-state-spinner", never, { "status$": "status$"; }, {}, never, never, false, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionStateSpinnerComponent, "lib-action-state-spinner", never, { "status$": { "alias": "status$"; "required": false; }; }, {}, never, never, false, never>;
12
12
  }
@@ -26,6 +26,6 @@ export interface State extends EntityState<ActionStatus> {
26
26
  }
27
27
  export declare const initialState: StatusState;
28
28
  export declare const getStatusState: import("@ngrx/store").MemoizedSelector<object, State, import("@ngrx/store").DefaultProjectorFn<State>>;
29
- export declare const selectIds: (state: object) => string[] | number[], selectEntities: (state: object) => import("@ngrx/entity").Dictionary<ActionStatus>, selectAll: (state: object) => ActionStatus[], selectTotal: (state: object) => number;
29
+ export declare const selectIds: import("@ngrx/store").MemoizedSelector<object, string[] | number[], (entityState: EntityState<ActionStatus>) => string[] | number[]>, selectEntities: import("@ngrx/store").MemoizedSelector<object, import("@ngrx/entity").Dictionary<ActionStatus>, (entityState: EntityState<ActionStatus>) => import("@ngrx/entity").Dictionary<ActionStatus>>, selectAll: import("@ngrx/store").MemoizedSelector<object, ActionStatus[], (entityState: EntityState<ActionStatus>) => ActionStatus[]>, selectTotal: import("@ngrx/store").MemoizedSelector<object, number, (entityState: EntityState<ActionStatus>) => number>;
30
30
  export declare const selectEntity: (id: string) => import("@ngrx/store").MemoizedSelector<object, any, (s1: import("@ngrx/entity").Dictionary<ActionStatus>) => any>;
31
31
  export declare function actionStatusReducer(state: StatusState | undefined, action: Action): StatusState;
@@ -11,13 +11,13 @@ export class ActionStateSpinnerComponent {
11
11
  ngOnInit() {
12
12
  this.serverActionStatus$ = this.status$.pipe(delayOn(a => a.status === serverStatusTypes.inProgress, 500));
13
13
  }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ActionStateSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ActionStateSpinnerComponent, selector: "lib-action-state-spinner", inputs: { status$: "status$" }, ngImport: i0, template: "<div id=\"blocker\" *ngIf=\"(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress\">\n <mat-spinner class=\"spinner\" [diameter]=\"200\"></mat-spinner>\n</div>\n", styles: ["#blocker{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
14
16
  }
15
- ActionStateSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ActionStateSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- ActionStateSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: ActionStateSpinnerComponent, selector: "lib-action-state-spinner", inputs: { status$: "status$" }, ngImport: i0, template: "<div id=\"blocker\" *ngIf=\"(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress\">\n <mat-spinner class=\"spinner\" [diameter]=\"200\"></mat-spinner>\n</div>\n", styles: ["#blocker{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ActionStateSpinnerComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ActionStateSpinnerComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'lib-action-state-spinner', template: "<div id=\"blocker\" *ngIf=\"(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress\">\n <mat-spinner class=\"spinner\" [diameter]=\"200\"></mat-spinner>\n</div>\n", styles: ["#blocker{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"] }]
20
20
  }], propDecorators: { status$: [{
21
21
  type: Input
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9hY3Rpb24tc3RhdGUtc3Bpbm5lci9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvYWN0aW9uLXN0YXRlL2FjdGlvbi1zdGF0ZS1zcGlubmVyL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQU9yQyxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBU0Usc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7S0FPdkM7SUFMQyxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUMxQyxPQUFPLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBRyxHQUFHLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7O3dIQVZVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLGdHQ1Z4QyxxTEFHQTsyRkRPYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzhCQU0zQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdGlvblN0YXR1cywgc2VydmVyU3RhdHVzVHlwZXMgfSBmcm9tICcuLi9uZ3J4JztcbmltcG9ydCB7IGRlbGF5T24gfSBmcm9tICcuLi8uLi9yeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1zdGF0ZS1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgc3RhdHVzJCE6IE9ic2VydmFibGU8QWN0aW9uU3RhdHVzPjtcbiAgc2VydmVyQWN0aW9uU3RhdHVzJCE6IE9ic2VydmFibGU8QWN0aW9uU3RhdHVzPjtcbiAgc2VydmVyU3RhdHVzVHlwZXMgPSBzZXJ2ZXJTdGF0dXNUeXBlcztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlcnZlckFjdGlvblN0YXR1cyQgPSB0aGlzLnN0YXR1cyQucGlwZShcbiAgICAgIGRlbGF5T24oIGEgPT4gYS5zdGF0dXMgPT09IHNlcnZlclN0YXR1c1R5cGVzLmluUHJvZ3Jlc3MgLCA1MDApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImJsb2NrZXJcIiAqbmdJZj1cIihzZXJ2ZXJBY3Rpb25TdGF0dXMkIHwgYXN5bmMpPy5zdGF0dXMgPT09IHNlcnZlclN0YXR1c1R5cGVzLmluUHJvZ3Jlc3NcIj5cbiAgPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIFtkaWFtZXRlcl09XCIyMDBcIj48L21hdC1zcGlubmVyPlxuPC9kaXY+XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9hY3Rpb24tc3RhdGUtc3Bpbm5lci9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvYWN0aW9uLXN0YXRlL2FjdGlvbi1zdGF0ZS1zcGlubmVyL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQU9yQyxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBU0Usc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7S0FPdkM7SUFMQyxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUMxQyxPQUFPLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBRyxHQUFHLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7OEdBVlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsZ0dDVnhDLHFMQUdBOzsyRkRPYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzhCQU0zQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdGlvblN0YXR1cywgc2VydmVyU3RhdHVzVHlwZXMgfSBmcm9tICcuLi9uZ3J4JztcbmltcG9ydCB7IGRlbGF5T24gfSBmcm9tICcuLi8uLi9yeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1zdGF0ZS1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgc3RhdHVzJCE6IE9ic2VydmFibGU8QWN0aW9uU3RhdHVzPjtcbiAgc2VydmVyQWN0aW9uU3RhdHVzJCE6IE9ic2VydmFibGU8QWN0aW9uU3RhdHVzPjtcbiAgc2VydmVyU3RhdHVzVHlwZXMgPSBzZXJ2ZXJTdGF0dXNUeXBlcztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlcnZlckFjdGlvblN0YXR1cyQgPSB0aGlzLnN0YXR1cyQucGlwZShcbiAgICAgIGRlbGF5T24oIGEgPT4gYS5zdGF0dXMgPT09IHNlcnZlclN0YXR1c1R5cGVzLmluUHJvZ3Jlc3MgLCA1MDApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImJsb2NrZXJcIiAqbmdJZj1cIihzZXJ2ZXJBY3Rpb25TdGF0dXMkIHwgYXN5bmMpPy5zdGF0dXMgPT09IHNlcnZlclN0YXR1c1R5cGVzLmluUHJvZ3Jlc3NcIj5cbiAgPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIFtkaWFtZXRlcl09XCIyMDBcIj48L21hdC1zcGlubmVyPlxuPC9kaXY+XG4iXX0=
@@ -4,13 +4,13 @@ import { ActionStateSpinnerComponent } from '../action-state-spinner/action-stat
4
4
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
5
  import * as i0 from "@angular/core";
6
6
  export class ActionStateUiModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ActionStateUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ActionStateUiModule, declarations: [ActionStateSpinnerComponent], imports: [CommonModule,
9
+ MatProgressSpinnerModule], exports: [ActionStateSpinnerComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ActionStateUiModule, imports: [CommonModule,
11
+ MatProgressSpinnerModule] }); }
7
12
  }
8
- ActionStateUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ActionStateUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- ActionStateUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: ActionStateUiModule, declarations: [ActionStateSpinnerComponent], imports: [CommonModule,
10
- MatProgressSpinnerModule], exports: [ActionStateSpinnerComponent] });
11
- ActionStateUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ActionStateUiModule, imports: [CommonModule,
12
- MatProgressSpinnerModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: ActionStateUiModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ActionStateUiModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
25
25
  ]
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXVpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvYWN0aW9uLXN0YXRlLXVpL2FjdGlvbi1zdGF0ZS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBZTlFLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFWNUIsMkJBQTJCLGFBRzNCLFlBQVk7UUFDWix3QkFBd0IsYUFHeEIsMkJBQTJCO2lIQUdsQixtQkFBbUIsWUFQNUIsWUFBWTtRQUNaLHdCQUF3QjsyRkFNZixtQkFBbUI7a0JBWi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWN0aW9uU3RhdGVTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLXN0YXRlLXNwaW5uZXIvYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBY3Rpb25TdGF0ZVNwaW5uZXJDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RhdGVVaU1vZHVsZSB7IH1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXVpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvYWN0aW9uLXN0YXRlLXVpL2FjdGlvbi1zdGF0ZS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBZTlFLE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQVY1QiwyQkFBMkIsYUFHM0IsWUFBWTtZQUNaLHdCQUF3QixhQUd4QiwyQkFBMkI7K0dBR2xCLG1CQUFtQixZQVA1QixZQUFZO1lBQ1osd0JBQXdCOzsyRkFNZixtQkFBbUI7a0JBWi9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWN0aW9uU3RhdGVTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLXN0YXRlLXNwaW5uZXIvYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBY3Rpb25TdGF0ZVNwaW5uZXJDb21wb25lbnQsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RhdGVVaU1vZHVsZSB7IH1cbiJdfQ==
@@ -5,12 +5,12 @@ import { StoreModule } from '@ngrx/store';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@ngrx/store";
7
7
  export class NgrxExtModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgrxExtModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule, i1.StoreFeatureModule] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule,
11
+ StoreModule.forFeature('ActionStatus', actionStatusReducer)] }); }
8
12
  }
9
- NgrxExtModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NgrxExtModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- NgrxExtModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule, i1.StoreFeatureModule] });
11
- NgrxExtModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule,
12
- StoreModule.forFeature('ActionStatus', actionStatusReducer)] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: NgrxExtModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: NgrxExtModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [],
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImpor
20
20
  ]
21
21
  }]
22
22
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC1leHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9uZ3J4LWV4dC9uZ3J4LWV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQVcxQyxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLFlBSnRCLFlBQVk7MkdBSUgsYUFBYSxZQUp0QixZQUFZO1FBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUM7MkZBR2xELGFBQWE7a0JBUHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDO3FCQUM1RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYWN0aW9uU3RhdHVzUmVkdWNlciB9IGZyb20gJy4uL25ncngnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ0FjdGlvblN0YXR1cycsIGFjdGlvblN0YXR1c1JlZHVjZXIpLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ncnhFeHRNb2R1bGUgeyB9XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC1leHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9uZ3J4LWV4dC9uZ3J4LWV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQVcxQyxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsWUFKdEIsWUFBWTsrR0FJSCxhQUFhLFlBSnRCLFlBQVk7WUFDWixXQUFXLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQzs7MkZBR2xELGFBQWE7a0JBUHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDO3FCQUM1RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYWN0aW9uU3RhdHVzUmVkdWNlciB9IGZyb20gJy4uL25ncngnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ0FjdGlvblN0YXR1cycsIGFjdGlvblN0YXR1c1JlZHVjZXIpLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ncnhFeHRNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import { createFeatureSelector, createSelector } from '@ngrx/store';
2
+ import { createEntityAdapter } from '@ngrx/entity';
3
+ import { get } from 'lodash';
4
+ // State
5
+ export class AppStatusState {
6
+ }
7
+ export class ActionStatus {
8
+ }
9
+ const intitalState = {
10
+ ids: [],
11
+ entities: {}
12
+ };
13
+ export var serverStatusTypes;
14
+ (function (serverStatusTypes) {
15
+ serverStatusTypes[serverStatusTypes["notStarted"] = 0] = "notStarted";
16
+ serverStatusTypes[serverStatusTypes["inProgress"] = 1] = "inProgress";
17
+ serverStatusTypes[serverStatusTypes["success"] = 2] = "success";
18
+ serverStatusTypes[serverStatusTypes["error"] = 3] = "error";
19
+ })(serverStatusTypes || (serverStatusTypes = {}));
20
+ // Entity and Selectors
21
+ export const statusAdapter = createEntityAdapter(); // { selectId: a => a.id }
22
+ export const initialState = statusAdapter.getInitialState(intitalState);
23
+ export const getStatusState = createFeatureSelector('ActionStatus');
24
+ export const { selectIds, selectEntities, selectAll, selectTotal } = statusAdapter.getSelectors(getStatusState);
25
+ export const selectEntity = (id) => createSelector(selectEntities, (entities) => entities[id]);
26
+ // Reducers
27
+ export function actionStatusReducer(state = initialState, action) {
28
+ const actionStatus = get(action, 'payload.actionStatus');
29
+ if (actionStatus) {
30
+ if (state.ids.find(id => id === actionStatus.id)) {
31
+ const modifiedObj = { ...state.entities[actionStatus.id] };
32
+ modifiedObj.status = actionStatus.status;
33
+ modifiedObj.responsePayload = actionStatus.responsePayload;
34
+ return statusAdapter.upsertOne(modifiedObj, state);
35
+ }
36
+ else {
37
+ return statusAdapter.addOne(actionStatus, state);
38
+ }
39
+ }
40
+ return state;
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvbmdyeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTdCLFFBQVE7QUFDUixNQUFNLE9BQU8sY0FBYztDQUUxQjtBQU9ELE1BQU0sT0FBTyxZQUFZO0NBS3hCO0FBRUQsTUFBTSxZQUFZLEdBQWdCO0lBQ2hDLEdBQUcsRUFBRSxFQUFFO0lBQ1AsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQixxRUFBYyxDQUFBO0lBQ2QscUVBQWMsQ0FBQTtJQUNkLCtEQUFXLENBQUE7SUFDWCwyREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUI7QUFFRCx1QkFBdUI7QUFDdkIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixFQUFnQixDQUFDLENBQUMsMEJBQTBCO0FBRTVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBZ0IsYUFBYSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQVEsY0FBYyxDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sRUFDWCxTQUFTLEVBQ1QsY0FBYyxFQUNkLFNBQVMsRUFDVCxXQUFXLEVBQ1osR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUN4RCxjQUFjLEVBQ2QsQ0FBQyxRQUFhLEVBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FDakMsQ0FBQztBQUVGLFdBQVc7QUFDWCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBcUIsWUFBWSxFQUFFLE1BQWM7SUFFbkYsTUFBTSxZQUFZLEdBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQVMsQ0FBQztJQUUvRSxJQUFLLFlBQVksRUFBRyxDQUFDO1FBQ25CLElBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUM7WUFDbkQsTUFBTSxXQUFXLEdBQUcsRUFBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUQsV0FBVyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3pDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQztZQUMzRCxPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRyxLQUFLLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBRUgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNyZWF0ZUVudGl0eUFkYXB0ZXIsIEVudGl0eVN0YXRlIH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaCc7XG5cbi8vIFN0YXRlXG5leHBvcnQgY2xhc3MgQXBwU3RhdHVzU3RhdGUge1xuICByZWFkb25seSBBY3Rpb25TdGF0dXNCYXIhOiBBY3Rpb25TdGF0dXNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNTdGF0ZSB7XG4gIGlkczogc3RyaW5nW107XG4gIGVudGl0aWVzOiB7W2lkOiBzdHJpbmddOiBBY3Rpb25TdGF0dXN9O1xufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RhdHVzIHtcbiAgaWQhOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBzdGF0dXMhOiBzZXJ2ZXJTdGF0dXNUeXBlcztcbiAgcmVzcG9uc2VQYXlsb2FkPzogYW55O1xufVxuXG5jb25zdCBpbnRpdGFsU3RhdGU6IFN0YXR1c1N0YXRlID0ge1xuICBpZHM6IFtdLFxuICBlbnRpdGllczoge31cbn07XG5cbmV4cG9ydCBlbnVtIHNlcnZlclN0YXR1c1R5cGVzIHtcbiAgbm90U3RhcnRlZCA9IDAsXG4gIGluUHJvZ3Jlc3MgPSAxLFxuICBzdWNjZXNzID0gMixcbiAgZXJyb3IgPSAzXG59XG5cbi8vIEVudGl0eSBhbmQgU2VsZWN0b3JzXG5leHBvcnQgY29uc3Qgc3RhdHVzQWRhcHRlciA9IGNyZWF0ZUVudGl0eUFkYXB0ZXI8QWN0aW9uU3RhdHVzPigpOyAvLyB7IHNlbGVjdElkOiBhID0+IGEuaWQgfVxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZSBleHRlbmRzIEVudGl0eVN0YXRlPEFjdGlvblN0YXR1cz4ge31cbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IFN0YXR1c1N0YXRlID0gc3RhdHVzQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoaW50aXRhbFN0YXRlKTtcblxuZXhwb3J0IGNvbnN0IGdldFN0YXR1c1N0YXRlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFN0YXRlPignQWN0aW9uU3RhdHVzJyk7XG5leHBvcnQgY29uc3Qge1xuICBzZWxlY3RJZHMsXG4gIHNlbGVjdEVudGl0aWVzLFxuICBzZWxlY3RBbGwsXG4gIHNlbGVjdFRvdGFsXG59ID0gc3RhdHVzQWRhcHRlci5nZXRTZWxlY3RvcnMoZ2V0U3RhdHVzU3RhdGUpO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0RW50aXR5ID0gKGlkOiBzdHJpbmcpID0+IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RFbnRpdGllcyxcbiAgKGVudGl0aWVzOiBhbnkpICA9PiBlbnRpdGllc1tpZF1cbik7XG5cbi8vIFJlZHVjZXJzXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uU3RhdHVzUmVkdWNlcihzdGF0ZTogU3RhdHVzU3RhdGUgPSBpbml0aWFsU3RhdGUsIGFjdGlvbjogQWN0aW9uKSB7XG5cbiAgY29uc3QgYWN0aW9uU3RhdHVzOiBBY3Rpb25TdGF0dXMgPSBnZXQoYWN0aW9uLCAncGF5bG9hZC5hY3Rpb25TdGF0dXMnICkgYXMgYW55O1xuXG4gIGlmICggYWN0aW9uU3RhdHVzICkge1xuICAgIGlmICggc3RhdGUuaWRzLmZpbmQoaWQgPT4gaWQgPT09IGFjdGlvblN0YXR1cy5pZCkgKSB7XG4gICAgICBjb25zdCBtb2RpZmllZE9iaiA9IHsuLi5zdGF0ZS5lbnRpdGllc1thY3Rpb25TdGF0dXMuaWRdIH07XG4gICAgICBtb2RpZmllZE9iai5zdGF0dXMgPSBhY3Rpb25TdGF0dXMuc3RhdHVzO1xuICAgICAgbW9kaWZpZWRPYmoucmVzcG9uc2VQYXlsb2FkID0gYWN0aW9uU3RhdHVzLnJlc3BvbnNlUGF5bG9hZDtcbiAgICAgIHJldHVybiBzdGF0dXNBZGFwdGVyLnVwc2VydE9uZSggbW9kaWZpZWRPYmosIHN0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHN0YXR1c0FkYXB0ZXIuYWRkT25lKGFjdGlvblN0YXR1cyAsIHN0YXRlKTtcbiAgICB9XG5cbiAgfVxuICByZXR1cm4gc3RhdGU7XG59XG4iXX0=
@@ -18,10 +18,10 @@ export class HttpRequestStateFactory {
18
18
  this.requestors.push(requestor);
19
19
  return requestor;
20
20
  }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpRequestStateFactory }); }
21
23
  }
22
- HttpRequestStateFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
- HttpRequestStateFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpRequestStateFactory });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
25
25
  type: Injectable
26
- }], ctorParameters: function () { return []; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7UUFJUSxlQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUp0QixDQUFDO0lBQ2hCLFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLENBQTJCLEdBQWlDLEVBQUUsT0FBNkI7UUFDL0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGdCQUFnQixDQUFLLENBQXVDLEVBQUcsT0FBNkI7UUFDMUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs7b0hBakJVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdEZhY3RvcnksIFJlcXVlc3RTdGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUgfSBmcm9tICcuL0h0dHBSZXF1ZXN0U3RhdGVTdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkgIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLmZvckVhY2goIHJlcXVlc3QgPT4gcmVxdWVzdC5uZ09uRGVzdHJveSgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZXF1ZXN0b3JzOiBPbkRlc3Ryb3lbXSA9IFtdO1xyXG4gIGNyZWF0ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiwgb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnMgKSA6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sVD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdG9yID0gbmV3IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZShyZXEsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVIdHRwQ2xpZW50PFQ+KCByOiAobzogT2JzZXJ2YWJsZTxUPiApID0+IE9ic2VydmFibGU8VD4gLCBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucyApICB7XHJcbiAgICBjb25zdCByZXF1ZXN0b3IgPSBuZXcgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlKHIsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxufSJdfQ==
26
+ }], ctorParameters: () => [] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7UUFJUSxlQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUp0QixDQUFDO0lBQ2hCLFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBRSxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLENBQTJCLEdBQWlDLEVBQUUsT0FBNkI7UUFDL0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGdCQUFnQixDQUFLLENBQXVDLEVBQUcsT0FBNkI7UUFDMUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzs4R0FqQlUsdUJBQXVCO2tIQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdEZhY3RvcnksIFJlcXVlc3RTdGF0ZU9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUgfSBmcm9tICcuL0h0dHBSZXF1ZXN0U3RhdGVTdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkgIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLmZvckVhY2goIHJlcXVlc3QgPT4gcmVxdWVzdC5uZ09uRGVzdHJveSgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZXF1ZXN0b3JzOiBPbkRlc3Ryb3lbXSA9IFtdO1xyXG4gIGNyZWF0ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiwgb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnMgKSA6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sVD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdG9yID0gbmV3IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZShyZXEsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVIdHRwQ2xpZW50PFQ+KCByOiAobzogT2JzZXJ2YWJsZTxUPiApID0+IE9ic2VydmFibGU8VD4gLCBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucyApICB7XHJcbiAgICBjb25zdCByZXF1ZXN0b3IgPSBuZXcgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlKHIsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxufSJdfQ==
@@ -0,0 +1,97 @@
1
+ import { of } from 'rxjs';
2
+ import { ComponentStore } from '@ngrx/component-store';
3
+ import { HttpRequestStrategy, HttpRequestStatus } from './types';
4
+ import { createFailure, createSuccess, inProgress, isErrorState, isSuccessOrErrorState, isSuccessState, notStarted } from './helpers';
5
+ import { concatMap, filter, map, mergeMap, startWith, switchMap, tap } from 'rxjs/operators';
6
+ import { mapError } from '../rxjs/mapError';
7
+ import { defaultShareReplay } from '../rxjs/defaultShareReplay';
8
+ import { Directive } from '@angular/core';
9
+ import * as i0 from "@angular/core";
10
+ export class HttpRequestStateStore extends ComponentStore {
11
+ constructor(req, options) {
12
+ super({ requestParams: null, response: notStarted });
13
+ this.req = req;
14
+ this.options = options;
15
+ this.flatteningStrategy = () => {
16
+ if (this.options?.strategy === HttpRequestStrategy.concurrent)
17
+ return mergeMap((params) => this.createRequest(...params));
18
+ if (this.options?.strategy === HttpRequestStrategy.sequential)
19
+ return concatMap((params) => this.createRequest(...params));
20
+ return switchMap((params) => (params[0] instanceof CancellationToken) ?
21
+ of({ requestParams: params[0], response: { status: HttpRequestStatus.cancelled } }) : this.createRequest(...params));
22
+ };
23
+ this.requestEffect = this.effect((obs) => {
24
+ return (obs).pipe(this.flatteningStrategy(), tap(state => this.setState(state)));
25
+ });
26
+ this.flattenedRequest = (...value) => {
27
+ return this.requestEffect(value);
28
+ };
29
+ this.singleUseRequest = (...value) => {
30
+ if (this.get().response.status !== HttpRequestStatus.notStarted) {
31
+ throw new Error("state can not be reused. either reset the state by calling reset() or use a state requester that allows concurrent requests.");
32
+ }
33
+ return this.requestEffect(value);
34
+ };
35
+ this.selectHttpState$ = this.state$.pipe(map(a => a.response));
36
+ this.selectStatus$ = this.selectHttpState$.pipe(map(a => a.status));
37
+ this.selectError$ = this.state$.pipe(map(r => r.response), filter(isErrorState), map(state => state.error));
38
+ this.selectResponse$ = this.state$.pipe(map(r => r.response), filter(isSuccessState), map(state => state.body));
39
+ this.selectSuccessOrError$ = this.state$.pipe(map(r => r.response), filter(isSuccessOrErrorState), map(() => null));
40
+ this.errorHandled = false;
41
+ this.on = (srcObservable, func) => {
42
+ return this.effect((src) => {
43
+ return src.pipe(tap(func));
44
+ })(srcObservable);
45
+ };
46
+ this.request = (this.options?.strategy === HttpRequestStrategy.singleUse) ? this.singleUseRequest : this.flattenedRequest;
47
+ }
48
+ reset() {
49
+ this.setState({ requestParams: null, response: notStarted });
50
+ }
51
+ onError(cb) {
52
+ this.errorHandled = true;
53
+ this.on(this.selectError$, cb);
54
+ return this;
55
+ }
56
+ onSuccess(cb) {
57
+ this.on(this.selectResponse$, cb);
58
+ return this;
59
+ }
60
+ onSuccessOrError(cb) {
61
+ this.on(this.selectSuccessOrError$, cb);
62
+ return this;
63
+ }
64
+ onSuccessWithRequest(func) {
65
+ this.onUpdate(({ requestParams, response }) => {
66
+ if (isSuccessState(response)) {
67
+ func({ requestParams, body: response.body });
68
+ }
69
+ });
70
+ return this;
71
+ }
72
+ onErrorWithRequest(func) {
73
+ this.onUpdate(({ requestParams, response }) => {
74
+ if (isErrorState(response)) {
75
+ func({ requestParams, error: response.error });
76
+ }
77
+ });
78
+ return this;
79
+ }
80
+ createRequest(...params) {
81
+ return this.req(...params).pipe(map(createSuccess), mapError(createFailure), startWith(inProgress), map(state => ({ requestParams: params, response: state })), defaultShareReplay());
82
+ }
83
+ onUpdate(func) {
84
+ this.on(this.state$, func);
85
+ }
86
+ ngOnDestroy() {
87
+ super.ngOnDestroy();
88
+ }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
90
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 }); }
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpRequestStateStore, decorators: [{
93
+ type: Directive
94
+ }], ctorParameters: () => [{ type: undefined }, { type: undefined }] });
95
+ export class CancellationToken {
96
+ }
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9IdHRwUmVxdWVzdFN0YXRlU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBc0IsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQW9FLE1BQU0sU0FBUyxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFTLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxxQkFBK0MsU0FBUSxjQUF5QztJQUV6RyxZQUFvQixHQUFpQyxFQUFVLE9BQTZCO1FBQzFGLEtBQUssQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFEMUMsUUFBRyxHQUFILEdBQUcsQ0FBOEI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVNwRix1QkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDaEMsSUFBRyxJQUFJLENBQUMs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LENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLElBR0M7UUFDUixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQVVELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0E5SFEscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7O0FBbUlSLE1BQU0sT0FBTyxpQkFBaUI7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdEZhY3RvcnksIEh0dHBSZXF1ZXN0U3RyYXRlZ3ksIEh0dHBSZXF1ZXN0U3RhdHVzLCBIdHRwUmVxdWVzdFN0YXRlLCBSZXF1ZXN0U3RhdGVPcHRpb25zLCBIdHRwUmVxdWVzdFN0YXRlQ2FuY2VsbGVkIH0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IGNyZWF0ZUZhaWx1cmUsIGNyZWF0ZVN1Y2Nlc3MsIGluUHJvZ3Jlc3MsIGlzRXJyb3JTdGF0ZSwgaXNTdWNjZXNzT3JFcnJvclN0YXRlLCBpc1N1Y2Nlc3NTdGF0ZSwgbm90U3RhcnRlZCB9IGZyb20gJy4vaGVscGVycyc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBwbHVjaywgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG1hcEVycm9yIH0gZnJvbSAnLi4vcnhqcy9tYXBFcnJvcic7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RSZXNwb25zZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSxUPiB7XHJcbiAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgcmVzcG9uc2U6IEh0dHBSZXF1ZXN0U3RhdGU8VD47XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBUPiBleHRlbmRzIENvbXBvbmVudFN0b3JlPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sVD4+IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiAscHJpdmF0ZSBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucykge1xyXG4gICAgICBzdXBlcih7IHJlcXVlc3RQYXJhbXM6IG51bGwgYXMgYW55ICxyZXNwb25zZTogbm90U3RhcnRlZCB9KTtcclxuICAgICAgdGhpcy5yZXF1ZXN0ID0gKHRoaXMub3B0aW9ucz8uc3RyYXRlZ3kgPT09IEh0dHBSZXF1ZXN0U3RyYXRlZ3kuc2luZ2xlVXNlKSA/IHRoaXMuc2luZ2xlVXNlUmVxdWVzdCA6ICB0aGlzLmZsYXR0ZW5lZFJlcXVlc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyByZXF1ZXN0UGFyYW1zOm51bGwgYXMgYW55LCByZXNwb25zZTogbm90U3RhcnRlZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZsYXR0ZW5pbmdTdHJhdGVneSA9ICgpID0+IHtcclxuICAgICAgaWYodGhpcy5vcHRpb25zPy5zdHJhdGVneSA9PT0gSHR0cFJlcXVlc3RTdHJhdGVneS5jb25jdXJyZW50KVxyXG4gICAgICAgIHJldHVybiBtZXJnZU1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpKTtcclxuICAgICAgaWYodGhpcy5vcHRpb25zPy5zdHJhdGVneSA9PT0gSHR0cFJlcXVlc3RTdHJhdGVneS5zZXF1ZW50aWFsKVxyXG4gICAgICAgIHJldHVybiBjb25jYXRNYXAoIChwYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiB0aGlzLmNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zKSk7XHJcbiAgICAgIHJldHVybiBzd2l0Y2hNYXAoIChwYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiAoKHBhcmFtc1swXSBhcyBhbnkpIGluc3RhbmNlb2YgQ2FuY2VsbGF0aW9uVG9rZW4pID9cclxuICAgICAgICBvZih7IHJlcXVlc3RQYXJhbXM6IHBhcmFtc1swXSwgcmVzcG9uc2U6IHsgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5jYW5jZWxsZWQgfSBhcyBIdHRwUmVxdWVzdFN0YXRlQ2FuY2VsbGVkIH0gKSA6IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0RWZmZWN0OiAodmFsdWU6IFsuLi5UUGFyYW1dICkgPT4gU3Vic2NyaXB0aW9uID0gdGhpcy5lZmZlY3QoKG9iczogT2JzZXJ2YWJsZTxbLi4uVFBhcmFtXT4pID0+IHtcclxuICAgICAgcmV0dXJuIChvYnMpLnBpcGUoXHJcbiAgICAgICAgdGhpcy5mbGF0dGVuaW5nU3RyYXRlZ3koKSxcclxuICAgICAgICB0YXA8UmVxdWVzdFJlc3BvbnNlPFRQYXJhbSwgVD4+KHN0YXRlID0+IHRoaXMuc2V0U3RhdGUoc3RhdGUpKSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHByaXZhdGUgZmxhdHRlbmVkUmVxdWVzdCA9ICguLi52YWx1ZTogWy4uLlRQYXJhbV0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdEVmZmVjdCh2YWx1ZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzaW5nbGVVc2VSZXF1ZXN0ID0gKC4uLnZhbHVlOiBbLi4uVFBhcmFtXSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5nZXQoKS5yZXNwb25zZS5zdGF0dXMgIT09IEh0dHBSZXF1ZXN0U3RhdHVzLm5vdFN0YXJ0ZWQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJzdGF0ZSBjYW4gbm90IGJlIHJldXNlZC4gZWl0aGVyIHJlc2V0IHRoZSBzdGF0ZSBieSBjYWxsaW5nIHJlc2V0KCkgb3IgdXNlIGEgc3RhdGUgcmVxdWVzdGVyIHRoYXQgYWxsb3dzIGNvbmN1cnJlbnQgcmVxdWVzdHMuXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3RFZmZlY3QodmFsdWUpIGFzIFN1YnNjcmlwdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RIdHRwU3RhdGUkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoYSA9PiBhLnJlc3BvbnNlKSk7XHJcblxyXG4gICAgc2VsZWN0U3RhdHVzJCA9IHRoaXMuc2VsZWN0SHR0cFN0YXRlJC5waXBlKG1hcChhID0+IGEuc3RhdHVzKSk7XHJcblxyXG4gICAgc2VsZWN0RXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcclxuICAgICAgbWFwKHIgPT4gci5yZXNwb25zZSksXHJcbiAgICAgIGZpbHRlcihpc0Vycm9yU3RhdGUpLFxyXG4gICAgICBtYXAoIHN0YXRlID0+IHN0YXRlLmVycm9yKVxyXG4gICAgKTtcclxuXHJcbiAgICBzZWxlY3RSZXNwb25zZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxyXG4gICAgICBtYXAociA9PiByLnJlc3BvbnNlKSxcclxuICAgICAgZmlsdGVyKGlzU3VjY2Vzc1N0YXRlKSxcclxuICAgICAgbWFwKCBzdGF0ZSA9PiBzdGF0ZS5ib2R5KVxyXG4gICAgKTtcclxuICAgIHNlbGVjdFN1Y2Nlc3NPckVycm9yJCA9IHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHIucmVzcG9uc2UpLFxyXG4gICAgICBmaWx0ZXIoaXNTdWNjZXNzT3JFcnJvclN0YXRlKSxcclxuICAgICAgbWFwKCAoKSA9PiBudWxsKVxyXG4gICAgKTtcclxuXHJcbiAgICBlcnJvckhhbmRsZWQgPSBmYWxzZTtcclxuICAgIG9uRXJyb3IoIGNiOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vbih0aGlzLnNlbGVjdEVycm9yJCwgY2IpO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvblN1Y2Nlc3MoIGNiOiAoYm9keTogVCkgPT4gdm9pZCkge1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc2VsZWN0UmVzcG9uc2UkLCBjYik7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3VjY2Vzc09yRXJyb3IoY2I6ICgpID0+IHZvaWQpe1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc2VsZWN0U3VjY2Vzc09yRXJyb3IkLCBjYik7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3VjY2Vzc1dpdGhSZXF1ZXN0KGZ1bmM6IChzdGF0ZToge1xyXG4gICAgICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICAgICAgYm9keTogVDtcclxuICAgIH0pID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vblVwZGF0ZSgoeyByZXF1ZXN0UGFyYW1zLCByZXNwb25zZSB9KSA9PiB7XHJcbiAgICAgICAgaWYoaXNTdWNjZXNzU3RhdGUocmVzcG9uc2UpKXtcclxuICAgICAgICAgIGZ1bmMoe3JlcXVlc3RQYXJhbXMsYm9keTogcmVzcG9uc2UuYm9keX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRXJyb3JXaXRoUmVxdWVzdChmdW5jOiAoc3RhdGU6IHtcclxuICAgICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlO1xyXG4gICAgICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICAgIH0pID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vblVwZGF0ZSggKHsgcmVxdWVzdFBhcmFtcywgcmVzcG9uc2UgfSkgPT4ge1xyXG4gICAgICAgIGlmKGlzRXJyb3JTdGF0ZShyZXNwb25zZSkpe1xyXG4gICAgICAgICAgZnVuYyh7IHJlcXVlc3RQYXJhbXMsIGVycm9yOiByZXNwb25zZS5lcnJvciB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zOiBbLi4uVFBhcmFtXSk6IE9ic2VydmFibGU8UmVxdWVzdFJlc3BvbnNlPFRQYXJhbSxUPj4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXEoLi4ucGFyYW1zKS5waXBlKFxyXG4gICAgICAgIG1hcChjcmVhdGVTdWNjZXNzKSxcclxuICAgICAgICBtYXBFcnJvcihjcmVhdGVGYWlsdXJlKSxcclxuICAgICAgICBzdGFydFdpdGgoaW5Qcm9ncmVzcyksXHJcbiAgICAgICAgbWFwKCBzdGF0ZSA9PiAoeyByZXF1ZXN0UGFyYW1zOiBwYXJhbXMsIHJlc3BvbnNlOiBzdGF0ZSB9KSksXHJcbiAgICAgICAgZGVmYXVsdFNoYXJlUmVwbGF5KClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBvblVwZGF0ZShmdW5jOiAoc3RhdGU6IHtcclxuICAgICAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgICAgIHJlc3BvbnNlOiBIdHRwUmVxdWVzdFN0YXRlPFQ+O1xyXG4gICAgfSkgPT4gdm9pZCkge1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc3RhdGUkLCBmdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBvbiA9IDxWPihzcmNPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFY+LCBmdW5jOiAob2JqOiBWKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZWZmZWN0KChzcmM6IE9ic2VydmFibGU8Vj4pID0+IHtcclxuICAgICAgICByZXR1cm4gc3JjLnBpcGUodGFwKGZ1bmMpKTtcclxuICAgICAgfSkoc3JjT2JzZXJ2YWJsZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3Q6ICguLi52YWx1ZTogWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGNsYXNzIENhbmNlbGxhdGlvblRva2VuIHt9XHJcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Directive } from '@angular/core';
2
+ import { HttpRequestStateDirective } from './request-state-directive';
3
+ import * as i0 from "@angular/core";
4
+ export class HttpStateDirectiveBase {
5
+ constructor(injector, templateRef, viewContainer) {
6
+ this.injector = injector;
7
+ this.templateRef = templateRef;
8
+ this.viewContainer = viewContainer;
9
+ this.hasView = false;
10
+ this.baseRender = (state) => {
11
+ if (this.hasView) {
12
+ this.viewContainer.clear();
13
+ this.hasView = false;
14
+ }
15
+ this.hasView = this.render(state);
16
+ };
17
+ }
18
+ ngOnInit() {
19
+ const parent = this.injector.get(HttpRequestStateDirective);
20
+ if (parent == null) {
21
+ throw new Error('You can only use an http state directive as a child of the httpRequestState directive.');
22
+ }
23
+ parent.hooks.push(this.baseRender);
24
+ this.baseRender(parent.ViewContext.state);
25
+ }
26
+ ngOnDestroy() {
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
29
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: HttpStateDirectiveBase, ngImport: i0 }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
32
+ type: Directive
33
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFN0YXRlRGlyZWN0aXZlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd0RSxNQUFNLE9BQWdCLHNCQUFzQjtJQUV4QyxZQUNZLFFBQWtCLEVBQ2hCLFdBQTZCLEVBQzdCLGFBQStCO1FBRmpDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUo3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBc0JSLGVBQVUsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRTtZQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQTtJQXJCRCxDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDNUQsSUFBRyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1FBQzlHLENBQUM7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQzs4R0FyQmlCLHNCQUFzQjtrR0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIGhhc1ZpZXcgPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluamVjdG9yLmdldChIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlKTtcclxuICAgICAgICBpZihwYXJlbnQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gb25seSB1c2UgYW4gaHR0cCBzdGF0ZSBkaXJlY3RpdmUgYXMgYSBjaGlsZCBvZiB0aGUgaHR0cFJlcXVlc3RTdGF0ZSBkaXJlY3RpdmUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhcmVudC5ob29rcy5wdXNoKHRoaXMuYmFzZVJlbmRlcik7XHJcbiAgICAgICAgdGhpcy5iYXNlUmVuZGVyKHBhcmVudC5WaWV3Q29udGV4dC5zdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBiYXNlUmVuZGVyID0gKHN0YXRlOkh0dHBSZXF1ZXN0U3RhdGUgKSA6IHZvaWQgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1ZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzVmlldyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhc1ZpZXcgPSB0aGlzLnJlbmRlcihzdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgcmVuZGVyOiAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGUpID0+IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -0,0 +1,29 @@
1
+ import { Directive } from '@angular/core';
2
+ import { isErrorState } from '../helpers';
3
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpErrorStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (isErrorState(state)) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.error });
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: HttpErrorStateDirective, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{ selector: '[httpErrorState]' }]
28
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLHVCQUFpRCxTQUFRLHNCQUFzQjtJQUUxRixZQUNFLFFBQWtCLEVBQ2xCLFdBQTZCLEVBQzdCLGFBQStCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRzlDLFdBQU0sR0FBRyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtZQUN4QyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3BGLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO0lBUkYsQ0FBQztJQVVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0F4QlUsdUJBQXVCO2tHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc0Vycm9yU3RhdGUgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB9IGZyb20gJy4vSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSc7XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbaHR0cEVycm9yU3RhdGVdJyB9KVxyXG5leHBvcnQgY2xhc3MgSHR0cEVycm9yU3RhdGVEaXJlY3RpdmU8VFBhcmFtIGV4dGVuZHMgYW55W10sIFQ+IGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoaW5qZWN0b3IsIHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyKTtcclxuICB9XHJcblxyXG4gIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxhbnk+KSA9PiB7XHJcbiAgICBpZiAoaXNFcnJvclN0YXRlKHN0YXRlKSkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHsgJGltcGxpY2l0OiBzdGF0ZS5lcnJvciB9KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Directive } from '@angular/core';
2
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
3
+ import { HttpRequestStatus } from '../types';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpInProgressStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (state.status === HttpRequestStatus.inProgress) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef);
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: HttpInProgressStateDirective, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{ selector: '[httpInProgressState]' }]
28
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pblByb2dyZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLWluUHJvZ3Jlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUE7O0FBSTlELE1BQU0sT0FBTyw0QkFBOEIsU0FBUSxzQkFBc0I7SUFTckUsWUFDRyxRQUFrQixFQUNqQixXQUE2QixFQUM3QixhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQztRQWI5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUUsQ0FBQztnQkFDekQsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQVFGLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBdkJRLDRCQUE0QjtrR0FBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB9IGZyb20gJy4vSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUsIEh0dHBSZXF1ZXN0U3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMnXHJcblxyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2h0dHBJblByb2dyZXNzU3RhdGVdJyB9KVxyXG5leHBvcnQgY2xhc3MgSHR0cEluUHJvZ3Jlc3NTdGF0ZURpcmVjdGl2ZSAgZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgaWYoc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzKXtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmICk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcix0ZW1wbGF0ZVJlZix2aWV3Q29udGFpbmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Directive } from '@angular/core';
2
+ import { HttpRequestStatus } from '../types';
3
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpNotStartedStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (state.status === HttpRequestStatus.notStarted) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef);
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: HttpNotStartedStateDirective, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{ selector: '[httpNotStartedState]' }]
28
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ub3RTdGFydGVkLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLW5vdFN0YXJ0ZWQtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWxFLE1BQU0sT0FBTyw0QkFBcUQsU0FBUSxzQkFBc0I7SUFTNUYsWUFDSSxRQUFrQixFQUNsQixXQUE2QixFQUM3QixhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQztRQWI5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUUsQ0FBQztnQkFDekQsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQVFGLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBdkJRLDRCQUE0QjtrR0FBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQUR4QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSwgSHR0cFJlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL0h0dHBTdGF0ZURpcmVjdGl2ZUJhc2UnO1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwTm90U3RhcnRlZFN0YXRlXScgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBOb3RTdGFydGVkU3RhdGVEaXJlY3RpdmU8VFBhcmFtIGV4dGVuZHMgYW55W10sVD4gZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgaWYoc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5ub3RTdGFydGVkKXtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmICk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IsdGVtcGxhdGVSZWYsdmlld0NvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,34 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { isSuccessState } from '../helpers';
3
+ import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
4
+ import * as i0 from "@angular/core";
5
+ export class HttpSuccessStateDirective extends HttpStateDirectiveBase {
6
+ constructor(injector, templateRef, viewContainer) {
7
+ super(injector, templateRef, viewContainer);
8
+ this.render = (state) => {
9
+ if (isSuccessState(state)) {
10
+ this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.body });
11
+ return true;
12
+ }
13
+ return false;
14
+ };
15
+ }
16
+ ngOnInit() {
17
+ super.ngOnInit();
18
+ }
19
+ ngOnDestroy() {
20
+ super.ngOnDestroy();
21
+ }
22
+ static ngTemplateContextGuard(dir, ctx) {
23
+ return true;
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: HttpSuccessStateDirective, selector: "[httpSuccessState]", inputs: { httpSuccessStateTypeSafety: "httpSuccessStateTypeSafety" }, usesInheritance: true, ngImport: i0 }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
29
+ type: Directive,
30
+ args: [{ selector: '[httpSuccessState]' }]
31
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { httpSuccessStateTypeSafety: [{
32
+ type: Input
33
+ }] } });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdWNjZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLXN1Y2Nlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksS0FBSyxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVNsRSxNQUFNLE9BQU8seUJBQTZCLFNBQVEsc0JBQXNCO0lBU3RFLFlBQ0UsUUFBa0IsRUFDbEIsV0FBMEMsRUFDMUMsYUFBK0I7UUFFL0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFaOUMsV0FBTSxHQUFHLENBQUMsS0FBMEIsRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbkYsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7SUFPRixDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUFJLEdBQWlDLEVBQUUsR0FBUTtRQUMxRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBM0JVLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFO3NJQUVsQywwQkFBMEI7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNTdWNjZXNzU3RhdGUgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB9IGZyb20gJy4vSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZSB9IGZyb20gJy4uL0h0dHBSZXF1ZXN0U3RhdGVTdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFN1Y2Nlc3NTdGF0ZVZpZXdDb250ZXh0PFQ+IHtcclxuICAkaW1wbGljaXQ6IFQ7XHJcbn1cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2h0dHBTdWNjZXNzU3RhdGVdJyB9KVxyXG5leHBvcnQgY2xhc3MgSHR0cFN1Y2Nlc3NTdGF0ZURpcmVjdGl2ZTxUPiBleHRlbmRzIEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2Uge1xyXG4gIEBJbnB1dCgpIGh0dHBTdWNjZXNzU3RhdGVUeXBlU2FmZXR5PzogSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPGFueSwgVD4gfCBPYnNlcnZhYmxlPEh0dHBSZXF1ZXN0U3RhdGU8VD4+O1xyXG4gIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxUPikgPT4ge1xyXG4gICAgaWYgKGlzU3VjY2Vzc1N0YXRlKHN0YXRlKSkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHsgJGltcGxpY2l0OiBzdGF0ZS5ib2R5IH0pO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBUIH0+LFxyXG4gICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yLCB0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lcik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZDxUPihkaXI6IEh0dHBTdWNjZXNzU3RhdGVEaXJlY3RpdmU8VD4sIGN0eDogYW55KTogY3R4IGlzIEh0dHBTdWNjZXNzU3RhdGVWaWV3Q29udGV4dDxUPiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,60 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { defaultShareReplay } from '../../rxjs/defaultShareReplay';
3
+ import { isObservable, Subject } from 'rxjs';
4
+ import { map, switchAll } from 'rxjs/operators';
5
+ import { HttpRequestStatus } from '../types';
6
+ import * as i0 from "@angular/core";
7
+ export class HttpRequestStateDirective {
8
+ set stateStore(store) {
9
+ if (isObservable(store)) {
10
+ this.subject.next(store);
11
+ }
12
+ else {
13
+ this.subject.next(store.state$.pipe(map(state => state.response)));
14
+ }
15
+ }
16
+ constructor(templateRef, viewContainer) {
17
+ this.templateRef = templateRef;
18
+ this.viewContainer = viewContainer;
19
+ this.ViewContext = {
20
+ $implicit: undefined,
21
+ state: undefined,
22
+ status: {
23
+ inProgress: false,
24
+ notStarted: true,
25
+ success: false,
26
+ error: false,
27
+ }
28
+ };
29
+ this.subject = new Subject();
30
+ this.state = this.subject.pipe(switchAll(), defaultShareReplay());
31
+ this.hooks = [];
32
+ this.viewContainer.createEmbeddedView(this.templateRef, this.ViewContext);
33
+ this.subscription = this.state.subscribe(state => {
34
+ this.ViewContext.$implicit = state;
35
+ this.ViewContext.state = state;
36
+ this.ViewContext.status.inProgress = state.status === HttpRequestStatus.inProgress;
37
+ this.ViewContext.status.notStarted = state.status === HttpRequestStatus.notStarted;
38
+ this.ViewContext.status.success = state.status === HttpRequestStatus.success;
39
+ this.ViewContext.status.error = state.status === HttpRequestStatus.fail;
40
+ this.hooks.forEach(hook => hook(state));
41
+ });
42
+ }
43
+ ngOnDestroy() {
44
+ this.viewContainer.clear();
45
+ this.subscription.unsubscribe();
46
+ }
47
+ static ngTemplateContextGuard(dir, ctx) {
48
+ return true;
49
+ }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
51
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: HttpRequestStateDirective, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 }); }
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
54
+ type: Directive,
55
+ args: [{ selector: '[httpRequestState]' }]
56
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { stateStore: [{
57
+ type: Input,
58
+ args: ['httpRequestState']
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBYy9ELE1BQU0sT0FBTyx5QkFBeUI7SUFtQnBDLElBQStCLFVBQVUsQ0FBQyxLQUF5RTtRQUNqSCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBRUgsQ0FBQztJQUNELFlBQ1UsV0FBNkIsRUFDN0IsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQTNCaEMsZ0JBQVcsR0FBbUM7WUFDckQsU0FBUyxFQUFFLFNBQVM7WUFDcEIsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQUM7UUFHRixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQW1DLENBQUM7UUFDekQsVUFBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUU3RCxVQUFLLEdBQTZDLEVBQUUsQ0FBQztRQWNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDbkYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssaUJBQWlCLENBQUMsVUFBVSxDQUFDO1lBQ25GLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztZQUM3RSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBc0MsRUFBRSxHQUFRO1FBQy9FLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FuRFUseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7K0dBb0JaLFVBQVU7c0JBQXhDLEtBQUs7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGVmYXVsdFNoYXJlUmVwbGF5IH0gZnJvbSAnLi4vLi4vcnhqcy9kZWZhdWx0U2hhcmVSZXBsYXknO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUsIE9ic2VydmFibGUsIFN1YmplY3QsIFVuc3Vic2NyaWJhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3dpdGNoQWxsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUgfSBmcm9tICcuLi9IdHRwUmVxdWVzdFN0YXRlU3RvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlLCBIdHRwUmVxdWVzdFN0YXR1cyB9IGZyb20gJy4uL3R5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFJlcXVlc3RTdGF0ZVZpZXdDb250ZXh0PFQ+IHtcclxuICAkaW1wbGljaXQ/OiBIdHRwUmVxdWVzdFN0YXRlQW55PFQ+O1xyXG4gIHN0YXRlPzogSHR0cFJlcXVlc3RTdGF0ZUFueTxUPjtcclxuICBzdGF0dXM6IHtcclxuICAgIGluUHJvZ3Jlc3M6IGJvb2xlYW47XHJcbiAgICBub3RTdGFydGVkOiBib29sZWFuO1xyXG4gICAgc3VjY2VzczogYm9vbGVhbjtcclxuICAgIGVycm9yOiBib29sZWFuO1xyXG4gIH07XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwUmVxdWVzdFN0YXRlXScgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBSZXF1ZXN0U3RhdGVEaXJlY3RpdmU8VFBhcmFtIGV4dGVuZHMgYW55W10sIFQ+IHtcclxuXHJcbiAgcmVhZG9ubHkgVmlld0NvbnRleHQ6IEh0dHBSZXF1ZXN0U3RhdGVWaWV3Q29udGV4dDxUPiA9IHtcclxuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkLFxyXG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcclxuICAgIHN0YXR1czoge1xyXG4gICAgICBpblByb2dyZXNzOiBmYWxzZSxcclxuICAgICAgbm90U3RhcnRlZDogdHJ1ZSxcclxuICAgICAgc3VjY2VzczogZmFsc2UsXHJcbiAgICAgIGVycm9yOiBmYWxzZSxcclxuICAgIH1cclxuICB9O1xyXG5cclxuXHJcbiAgc3ViamVjdCA9IG5ldyBTdWJqZWN0PE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj4+KCk7XHJcbiAgc3RhdGUgPSB0aGlzLnN1YmplY3QucGlwZShzd2l0Y2hBbGwoKSwgZGVmYXVsdFNoYXJlUmVwbGF5KCkpO1xyXG4gIHN1YnNjcmlwdGlvbjogVW5zdWJzY3JpYmFibGU7XHJcbiAgaG9va3M6ICgoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8VD4pID0+IHZvaWQpW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCdodHRwUmVxdWVzdFN0YXRlJykgc2V0IHN0YXRlU3RvcmUoc3RvcmU6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sIFQ+IHwgT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFQ+Pikge1xyXG4gICAgaWYgKGlzT2JzZXJ2YWJsZShzdG9yZSkpIHtcclxuICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoc3RvcmUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoc3RvcmUuc3RhdGUkLnBpcGUobWFwKHN0YXRlID0+IHN0YXRlLnJlc3BvbnNlKSkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICkge1xyXG4gICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmLCB0aGlzLlZpZXdDb250ZXh0KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZS5zdWJzY3JpYmUoc3RhdGUgPT4ge1xyXG4gICAgICB0aGlzLlZpZXdDb250ZXh0LiRpbXBsaWNpdCA9IHN0YXRlO1xyXG4gICAgICB0aGlzLlZpZXdDb250ZXh0LnN0YXRlID0gc3RhdGU7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLmluUHJvZ3Jlc3MgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLmluUHJvZ3Jlc3M7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLm5vdFN0YXJ0ZWQgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLm5vdFN0YXJ0ZWQ7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLnN1Y2Nlc3MgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3M7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLmVycm9yID0gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5mYWlsO1xyXG4gICAgICB0aGlzLmhvb2tzLmZvckVhY2goaG9vayA9PiBob29rKHN0YXRlKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZTxhbnksIFQ+LCBjdHg6IGFueSk6IGN0eCBpcyBIdHRwUmVxdWVzdFN0YXRlVmlld0NvbnRleHQ8VD4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RTdGF0ZUFueTxUPiA9IHtcclxuICBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzO1xyXG4gIGJvZHk/OiBUO1xyXG4gIGVycm9yPzogYW55O1xyXG59XHJcbiJdfQ==