@one-paragon/angular-utilities 0.1.32 → 0.1.33
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.
- package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -12
- package/action-state/action-state-ui/action-state-ui.module.d.ts +9 -9
- package/action-state/index.d.ts +4 -4
- package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -8
- package/action-state/ngrx.d.ts +31 -31
- package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +24 -0
- package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +29 -0
- package/{esm2020 → esm2022}/action-state/index.mjs +7 -7
- package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +24 -0
- package/{esm2020 → esm2022}/action-state/ngrx.mjs +41 -41
- package/esm2022/http-request-state/HttpRequestStateFactory.mjs +28 -0
- package/esm2022/http-request-state/HttpRequestStateStore.mjs +98 -0
- package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +35 -0
- package/esm2022/http-request-state/directives/http-error-state-directive.mjs +30 -0
- package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +30 -0
- package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +30 -0
- package/esm2022/http-request-state/directives/http-success-state-directive.mjs +35 -0
- package/{esm2020 → esm2022}/http-request-state/directives/index.mjs +5 -5
- package/esm2022/http-request-state/directives/request-state-directive.mjs +61 -0
- package/{esm2020 → esm2022}/http-request-state/helpers.mjs +21 -21
- package/{esm2020 → esm2022}/http-request-state/http-request-state.mjs +38 -38
- package/esm2022/http-request-state/http-state-module.mjs +42 -0
- package/{esm2020 → esm2022}/http-request-state/index.mjs +6 -6
- package/{esm2020 → esm2022}/http-request-state/rxjs/getRequestorBody.mjs +3 -3
- package/{esm2020 → esm2022}/http-request-state/rxjs/getRequestorState.mjs +2 -2
- package/{esm2020 → esm2022}/http-request-state/rxjs/index.mjs +4 -4
- package/{esm2020 → esm2022}/http-request-state/rxjs/tapError.mjs +11 -11
- package/{esm2020 → esm2022}/http-request-state/rxjs/tapSuccess.mjs +11 -11
- package/{esm2020 → esm2022}/http-request-state/types.mjs +15 -15
- package/{esm2020 → esm2022}/ngrx/actionable-selector.mjs +74 -74
- package/{esm2020 → esm2022}/ngrx/index.mjs +1 -1
- package/{esm2020 → esm2022}/one-paragon-angular-utilities.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +18 -18
- package/{esm2020 → esm2022}/rxjs/defaultShareReplay.mjs +6 -6
- package/{esm2020 → esm2022}/rxjs/index.mjs +4 -4
- package/{esm2020 → esm2022}/rxjs/mapError.mjs +7 -7
- package/{esm2020 → esm2022}/rxjs/rxjs-operators.mjs +90 -90
- package/{esm2020 → esm2022}/rxjs/subjectifier.mjs +14 -14
- package/{esm2020 → esm2022}/table-builder/classes/DefaultSettings.mjs +5 -5
- package/{esm2020 → esm2022}/table-builder/classes/GenericTableDataSource.mjs +12 -12
- package/{esm2020 → esm2022}/table-builder/classes/MatTableObservableDataSource.mjs +20 -20
- package/{esm2020 → esm2022}/table-builder/classes/TableBuilderConfig.mjs +2 -2
- package/{esm2020 → esm2022}/table-builder/classes/TableState.mjs +31 -31
- package/{esm2020 → esm2022}/table-builder/classes/data-filter.mjs +25 -25
- package/{esm2020 → esm2022}/table-builder/classes/display-col.mjs +1 -1
- package/{esm2020 → esm2022}/table-builder/classes/filter-info.mjs +72 -72
- package/{esm2020 → esm2022}/table-builder/classes/table-builder-general-settings.mjs +67 -67
- package/{esm2020 → esm2022}/table-builder/classes/table-builder.mjs +75 -75
- package/esm2022/table-builder/classes/table-store.mjs +293 -0
- package/esm2022/table-builder/components/array-column.component.mjs +58 -0
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +113 -0
- package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +26 -0
- package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +23 -0
- package/esm2022/table-builder/components/filter/filter.component.mjs +55 -0
- package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +92 -0
- package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +46 -0
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +203 -0
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +75 -0
- package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +23 -0
- package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +92 -0
- package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +64 -0
- package/{esm2020 → esm2022}/table-builder/components/index.mjs +9 -9
- package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +34 -0
- package/{esm2020 → esm2022}/table-builder/components/link-column.component.mjs +32 -31
- package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +28 -0
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +43 -0
- package/{esm2020 → esm2022}/table-builder/components/sort-menu/sort-menu.component.mjs +76 -75
- package/esm2022/table-builder/components/table-container/table-container.mjs +323 -0
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +43 -0
- package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +31 -0
- package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +26 -0
- package/esm2022/table-builder/directives/custom-cell-directive.mjs +60 -0
- package/{esm2020 → esm2022}/table-builder/directives/index.mjs +5 -5
- package/esm2022/table-builder/directives/multi-sort.directive.mjs +43 -0
- package/esm2022/table-builder/directives/resize-column.directive.mjs +87 -0
- package/esm2022/table-builder/directives/table-wrapper.directive.mjs +27 -0
- package/esm2022/table-builder/directives/tb-filter.directive.mjs +413 -0
- package/{esm2020 → esm2022}/table-builder/enums/filterTypes.mjs +71 -71
- package/{esm2020 → esm2022}/table-builder/functions/boolean-filter-function.mjs +9 -9
- package/{esm2020 → esm2022}/table-builder/functions/date-filter-function.mjs +57 -57
- package/{esm2020 → esm2022}/table-builder/functions/download-data.mjs +11 -11
- package/{esm2020 → esm2022}/table-builder/functions/null-filter-function.mjs +7 -7
- package/{esm2020 → esm2022}/table-builder/functions/number-filter-function.mjs +31 -31
- package/{esm2020 → esm2022}/table-builder/functions/sort-data-function.mjs +4 -4
- package/{esm2020 → esm2022}/table-builder/functions/string-filter-function.mjs +40 -40
- package/{esm2020 → esm2022}/table-builder/interfaces/ColumnInfo.mjs +1 -1
- package/{esm2020 → esm2022}/table-builder/interfaces/dictionary.mjs +1 -1
- package/{esm2020 → esm2022}/table-builder/interfaces/report-def.mjs +34 -34
- package/esm2022/table-builder/material.module.mjs +208 -0
- package/{esm2020 → esm2022}/table-builder/ngrx/actions.mjs +4 -4
- package/esm2022/table-builder/ngrx/effects.mjs +49 -0
- package/{esm2020 → esm2022}/table-builder/ngrx/reducer.mjs +51 -51
- package/{esm2020 → esm2022}/table-builder/ngrx/selectors.mjs +23 -23
- package/esm2022/table-builder/pipes/column-total.pipe.mjs +21 -0
- package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +19 -0
- package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +46 -0
- package/esm2022/table-builder/pipes/key-display.mjs +21 -0
- package/esm2022/table-builder/services/export-to-csv.service.mjs +89 -0
- package/{esm2020 → esm2022}/table-builder/services/link-creator.service.mjs +41 -41
- package/esm2022/table-builder/services/table-template-service.mjs +45 -0
- package/esm2022/table-builder/services/transform-creator.mjs +76 -0
- package/esm2022/table-builder/table-builder.module.mjs +208 -0
- package/esm2022/utilities/directives/auto-focus.directive.mjs +27 -0
- package/esm2022/utilities/directives/clickEmitterDirective.mjs +22 -0
- package/esm2022/utilities/directives/clickSubject.mjs +28 -0
- package/esm2022/utilities/directives/conditional-classes.directive.mjs +36 -0
- package/esm2022/utilities/directives/dialog-service.mjs +26 -0
- package/esm2022/utilities/directives/dialog.mjs +139 -0
- package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +60 -0
- package/esm2022/utilities/directives/prevent-enter.directive.mjs +20 -0
- package/esm2022/utilities/directives/stop-propagation.directive.mjs +26 -0
- package/esm2022/utilities/directives/styler.mjs +27 -0
- package/esm2022/utilities/directives/trim-whitespace.directive.mjs +30 -0
- package/{esm2020 → esm2022}/utilities/index.mjs +15 -15
- package/esm2022/utilities/module.mjs +92 -0
- package/esm2022/utilities/pipes/function.pipe.mjs +22 -0
- package/esm2022/utilities/pipes/phone.pipe.mjs +21 -0
- package/esm2022/utilities/pipes/space-case.pipes.mjs +29 -0
- package/{fesm2020 → fesm2022}/one-paragon-angular-utilities.mjs +4398 -4398
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -0
- package/http-request-state/HttpRequestStateFactory.d.ts +14 -14
- package/http-request-state/HttpRequestStateStore.d.ts +48 -48
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +16 -16
- package/http-request-state/directives/http-error-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-inProgress-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-notStarted-state-directive.d.ts +12 -12
- package/http-request-state/directives/http-success-state-directive.d.ts +21 -21
- package/http-request-state/directives/index.d.ts +5 -5
- package/http-request-state/directives/request-state-directive.d.ts +35 -35
- package/http-request-state/helpers.d.ts +9 -9
- package/http-request-state/http-request-state.d.ts +12 -12
- package/http-request-state/http-state-module.d.ts +11 -11
- package/http-request-state/index.d.ts +6 -6
- package/http-request-state/rxjs/getRequestorBody.d.ts +3 -3
- package/http-request-state/rxjs/getRequestorState.d.ts +3 -3
- package/http-request-state/rxjs/index.d.ts +4 -4
- package/http-request-state/rxjs/tapError.d.ts +3 -3
- package/http-request-state/rxjs/tapSuccess.d.ts +3 -3
- package/http-request-state/types.d.ts +36 -36
- package/index.d.ts +5 -5
- package/ngrx/actionable-selector.d.ts +15 -15
- package/ngrx/index.d.ts +1 -1
- package/package.json +5 -11
- package/public-api.d.ts +15 -15
- package/rxjs/defaultShareReplay.d.ts +2 -2
- package/rxjs/index.d.ts +4 -4
- package/rxjs/mapError.d.ts +2 -2
- package/rxjs/rxjs-operators.d.ts +12 -12
- package/rxjs/subjectifier.d.ts +9 -9
- package/table-builder/classes/DefaultSettings.d.ts +9 -9
- package/table-builder/classes/GenericTableDataSource.d.ts +8 -8
- package/table-builder/classes/MatTableObservableDataSource.d.ts +9 -9
- package/table-builder/classes/TableBuilderConfig.d.ts +20 -20
- package/table-builder/classes/TableState.d.ts +46 -46
- package/table-builder/classes/data-filter.d.ts +9 -9
- package/table-builder/classes/display-col.d.ts +5 -5
- package/table-builder/classes/filter-info.d.ts +40 -40
- package/table-builder/classes/table-builder-general-settings.d.ts +43 -43
- package/table-builder/classes/table-builder.d.ts +14 -14
- package/table-builder/classes/table-store.d.ts +114 -114
- package/table-builder/components/array-column.component.d.ts +14 -14
- package/table-builder/components/column-builder/column-builder.component.d.ts +50 -50
- package/table-builder/components/date-filter/date-filter.component.d.ts +10 -10
- package/table-builder/components/date-time-filter/date-time-filter.component.d.ts +10 -10
- package/table-builder/components/filter/filter.component.d.ts +371 -371
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +27 -27
- package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +16 -16
- package/table-builder/components/generic-table/generic-table.component.d.ts +73 -73
- package/table-builder/components/generic-table/paginator.component.d.ts +28 -28
- package/table-builder/components/group-by-list/group-by-list.component.d.ts +10 -10
- package/table-builder/components/header-menu/header-menu.component.d.ts +25 -25
- package/table-builder/components/in-filter/in-filter.component.d.ts +21 -21
- package/table-builder/components/index.d.ts +9 -9
- package/table-builder/components/initialization-component/initialization-component.d.ts +12 -12
- package/table-builder/components/link-column.component.d.ts +17 -17
- package/table-builder/components/number-filter/number-filter.component.d.ts +12 -12
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +24 -24
- package/table-builder/components/sort-menu/sort-menu.component.d.ts +25 -25
- package/table-builder/components/table-container/table-container.d.ts +68 -68
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +17 -17
- package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +14 -14
- package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +14 -14
- package/table-builder/directives/custom-cell-directive.d.ts +19 -19
- package/table-builder/directives/index.d.ts +5 -5
- package/table-builder/directives/multi-sort.directive.d.ts +11 -11
- package/table-builder/directives/resize-column.directive.d.ts +43 -43
- package/table-builder/directives/table-wrapper.directive.d.ts +11 -11
- package/table-builder/directives/tb-filter.directive.d.ts +120 -120
- package/table-builder/enums/filterTypes.d.ts +37 -37
- package/table-builder/functions/boolean-filter-function.d.ts +3 -3
- package/table-builder/functions/date-filter-function.d.ts +4 -4
- package/table-builder/functions/download-data.d.ts +1 -1
- package/table-builder/functions/null-filter-function.d.ts +2 -2
- package/table-builder/functions/number-filter-function.d.ts +4 -4
- package/table-builder/functions/sort-data-function.d.ts +3 -3
- package/table-builder/functions/string-filter-function.d.ts +7 -7
- package/table-builder/interfaces/ColumnInfo.d.ts +6 -6
- package/table-builder/interfaces/dictionary.d.ts +3 -3
- package/table-builder/interfaces/report-def.d.ts +142 -142
- package/table-builder/material.module.d.ts +32 -32
- package/table-builder/ngrx/actions.d.ts +23 -23
- package/table-builder/ngrx/effects.d.ts +19 -19
- package/table-builder/ngrx/reducer.d.ts +15 -15
- package/table-builder/ngrx/selectors.d.ts +22 -22
- package/table-builder/pipes/column-total.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-type.pipe.d.ts +8 -8
- package/table-builder/pipes/format-filter-value.pipe.d.ts +14 -14
- package/table-builder/pipes/key-display.d.ts +11 -11
- package/table-builder/services/export-to-csv.service.d.ts +22 -22
- package/table-builder/services/link-creator.service.d.ts +12 -12
- package/table-builder/services/table-template-service.d.ts +14 -14
- package/table-builder/services/transform-creator.d.ts +19 -19
- package/table-builder/table-builder.module.d.ts +46 -46
- package/utilities/directives/auto-focus.directive.d.ts +10 -10
- package/utilities/directives/clickEmitterDirective.d.ts +7 -7
- package/utilities/directives/clickSubject.d.ts +9 -9
- package/utilities/directives/conditional-classes.directive.d.ts +14 -14
- package/utilities/directives/dialog-service.d.ts +10 -10
- package/utilities/directives/dialog.d.ts +46 -46
- package/utilities/directives/mat-toggle-group-directive.d.ts +21 -21
- package/utilities/directives/prevent-enter.directive.d.ts +6 -6
- package/utilities/directives/stop-propagation.directive.d.ts +7 -7
- package/utilities/directives/styler.d.ts +9 -9
- package/utilities/directives/trim-whitespace.directive.d.ts +9 -9
- package/utilities/index.d.ts +15 -15
- package/utilities/module.d.ts +19 -19
- package/utilities/pipes/function.pipe.d.ts +7 -7
- package/utilities/pipes/phone.pipe.d.ts +7 -7
- package/utilities/pipes/space-case.pipes.d.ts +17 -17
- package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +0 -23
- package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +0 -28
- package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +0 -23
- package/esm2020/http-request-state/HttpRequestStateFactory.mjs +0 -27
- package/esm2020/http-request-state/HttpRequestStateStore.mjs +0 -97
- package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +0 -34
- package/esm2020/http-request-state/directives/http-error-state-directive.mjs +0 -29
- package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +0 -29
- package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +0 -29
- package/esm2020/http-request-state/directives/http-success-state-directive.mjs +0 -34
- package/esm2020/http-request-state/directives/request-state-directive.mjs +0 -60
- package/esm2020/http-request-state/http-state-module.mjs +0 -41
- package/esm2020/table-builder/classes/table-store.mjs +0 -292
- package/esm2020/table-builder/components/array-column.component.mjs +0 -57
- package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +0 -112
- package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +0 -25
- package/esm2020/table-builder/components/date-time-filter/date-time-filter.component.mjs +0 -22
- package/esm2020/table-builder/components/filter/filter.component.mjs +0 -54
- package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +0 -91
- package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +0 -45
- package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +0 -202
- package/esm2020/table-builder/components/generic-table/paginator.component.mjs +0 -74
- package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +0 -22
- package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +0 -91
- package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +0 -63
- package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +0 -33
- package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +0 -27
- package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +0 -42
- package/esm2020/table-builder/components/table-container/table-container.mjs +0 -322
- package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +0 -42
- package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +0 -30
- package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +0 -25
- package/esm2020/table-builder/directives/custom-cell-directive.mjs +0 -59
- package/esm2020/table-builder/directives/multi-sort.directive.mjs +0 -42
- package/esm2020/table-builder/directives/resize-column.directive.mjs +0 -86
- package/esm2020/table-builder/directives/table-wrapper.directive.mjs +0 -26
- package/esm2020/table-builder/directives/tb-filter.directive.mjs +0 -403
- package/esm2020/table-builder/material.module.mjs +0 -207
- package/esm2020/table-builder/ngrx/effects.mjs +0 -48
- package/esm2020/table-builder/pipes/column-total.pipe.mjs +0 -20
- package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +0 -18
- package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +0 -45
- package/esm2020/table-builder/pipes/key-display.mjs +0 -20
- package/esm2020/table-builder/services/export-to-csv.service.mjs +0 -88
- package/esm2020/table-builder/services/table-template-service.mjs +0 -44
- package/esm2020/table-builder/services/transform-creator.mjs +0 -75
- package/esm2020/table-builder/table-builder.module.mjs +0 -207
- package/esm2020/utilities/directives/auto-focus.directive.mjs +0 -26
- package/esm2020/utilities/directives/clickEmitterDirective.mjs +0 -21
- package/esm2020/utilities/directives/clickSubject.mjs +0 -27
- package/esm2020/utilities/directives/conditional-classes.directive.mjs +0 -35
- package/esm2020/utilities/directives/dialog-service.mjs +0 -25
- package/esm2020/utilities/directives/dialog.mjs +0 -137
- package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +0 -59
- package/esm2020/utilities/directives/prevent-enter.directive.mjs +0 -19
- package/esm2020/utilities/directives/stop-propagation.directive.mjs +0 -25
- package/esm2020/utilities/directives/styler.mjs +0 -26
- package/esm2020/utilities/directives/trim-whitespace.directive.mjs +0 -29
- package/esm2020/utilities/module.mjs +0 -91
- package/esm2020/utilities/pipes/function.pipe.mjs +0 -21
- package/esm2020/utilities/pipes/phone.pipe.mjs +0 -20
- package/esm2020/utilities/pipes/space-case.pipes.mjs +0 -28
- package/fesm2015/one-paragon-angular-utilities.mjs +0 -4777
- package/fesm2015/one-paragon-angular-utilities.mjs.map +0 -1
- package/fesm2020/one-paragon-angular-utilities.mjs.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { ActionStatus, serverStatusTypes } from '../ngrx';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class ActionStateSpinnerComponent implements OnInit {
|
|
6
|
-
status$: Observable<ActionStatus>;
|
|
7
|
-
serverActionStatus$: Observable<ActionStatus>;
|
|
8
|
-
serverStatusTypes: typeof serverStatusTypes;
|
|
9
|
-
ngOnInit(): void;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ActionStateSpinnerComponent, never>;
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ActionStateSpinnerComponent, "lib-action-state-spinner", never, { "status$": "status$"; }, {}, never, never, false, never>;
|
|
12
|
-
}
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ActionStatus, serverStatusTypes } from '../ngrx';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ActionStateSpinnerComponent implements OnInit {
|
|
6
|
+
status$: Observable<ActionStatus>;
|
|
7
|
+
serverActionStatus$: Observable<ActionStatus>;
|
|
8
|
+
serverStatusTypes: typeof serverStatusTypes;
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ActionStateSpinnerComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ActionStateSpinnerComponent, "lib-action-state-spinner", never, { "status$": { "alias": "status$"; "required": false; }; }, {}, never, never, false, never>;
|
|
12
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "../action-state-spinner/action-state-spinner.component";
|
|
3
|
-
import * as i2 from "@angular/common";
|
|
4
|
-
import * as i3 from "@angular/material/progress-spinner";
|
|
5
|
-
export declare class ActionStateUiModule {
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ActionStateUiModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<ActionStateUiModule, [typeof i1.ActionStateSpinnerComponent], [typeof i2.CommonModule, typeof i3.MatProgressSpinnerModule], [typeof i1.ActionStateSpinnerComponent]>;
|
|
8
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<ActionStateUiModule>;
|
|
9
|
-
}
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "../action-state-spinner/action-state-spinner.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/material/progress-spinner";
|
|
5
|
+
export declare class ActionStateUiModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ActionStateUiModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ActionStateUiModule, [typeof i1.ActionStateSpinnerComponent], [typeof i2.CommonModule, typeof i3.MatProgressSpinnerModule], [typeof i1.ActionStateSpinnerComponent]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ActionStateUiModule>;
|
|
9
|
+
}
|
package/action-state/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './ngrx';
|
|
2
|
-
export * from './ngrx-ext/ngrx-ext.module';
|
|
3
|
-
export * from './action-state-ui/action-state-ui.module';
|
|
4
|
-
export * from './action-state-spinner/action-state-spinner.component';
|
|
1
|
+
export * from './ngrx';
|
|
2
|
+
export * from './ngrx-ext/ngrx-ext.module';
|
|
3
|
+
export * from './action-state-ui/action-state-ui.module';
|
|
4
|
+
export * from './action-state-spinner/action-state-spinner.component';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "@angular/common";
|
|
3
|
-
import * as i2 from "@ngrx/store";
|
|
4
|
-
export declare class NgrxExtModule {
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgrxExtModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgrxExtModule, never, [typeof i1.CommonModule, typeof i2.StoreFeatureModule], never>;
|
|
7
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<NgrxExtModule>;
|
|
8
|
-
}
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@angular/common";
|
|
3
|
+
import * as i2 from "@ngrx/store";
|
|
4
|
+
export declare class NgrxExtModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgrxExtModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgrxExtModule, never, [typeof i1.CommonModule, typeof i2.StoreFeatureModule], never>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NgrxExtModule>;
|
|
8
|
+
}
|
package/action-state/ngrx.d.ts
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { Action } from '@ngrx/store';
|
|
2
|
-
import { EntityState } from '@ngrx/entity';
|
|
3
|
-
export declare class AppStatusState {
|
|
4
|
-
readonly ActionStatusBar: ActionStatus[];
|
|
5
|
-
}
|
|
6
|
-
export interface StatusState {
|
|
7
|
-
ids: string[];
|
|
8
|
-
entities: {
|
|
9
|
-
[id: string]: ActionStatus;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
export declare class ActionStatus {
|
|
13
|
-
id: string;
|
|
14
|
-
displayName?: string;
|
|
15
|
-
status: serverStatusTypes;
|
|
16
|
-
responsePayload?: any;
|
|
17
|
-
}
|
|
18
|
-
export declare enum serverStatusTypes {
|
|
19
|
-
notStarted = 0,
|
|
20
|
-
inProgress = 1,
|
|
21
|
-
success = 2,
|
|
22
|
-
error = 3
|
|
23
|
-
}
|
|
24
|
-
export declare const statusAdapter: import("@ngrx/entity").EntityAdapter<ActionStatus>;
|
|
25
|
-
export interface State extends EntityState<ActionStatus> {
|
|
26
|
-
}
|
|
27
|
-
export declare const initialState: StatusState;
|
|
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;
|
|
30
|
-
export declare const selectEntity: (id: string) => import("@ngrx/store").MemoizedSelector<object, any, (s1: import("@ngrx/entity").Dictionary<ActionStatus>) => any>;
|
|
31
|
-
export declare function actionStatusReducer(state: StatusState | undefined, action: Action): StatusState;
|
|
1
|
+
import { Action } from '@ngrx/store';
|
|
2
|
+
import { EntityState } from '@ngrx/entity';
|
|
3
|
+
export declare class AppStatusState {
|
|
4
|
+
readonly ActionStatusBar: ActionStatus[];
|
|
5
|
+
}
|
|
6
|
+
export interface StatusState {
|
|
7
|
+
ids: string[];
|
|
8
|
+
entities: {
|
|
9
|
+
[id: string]: ActionStatus;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare class ActionStatus {
|
|
13
|
+
id: string;
|
|
14
|
+
displayName?: string;
|
|
15
|
+
status: serverStatusTypes;
|
|
16
|
+
responsePayload?: any;
|
|
17
|
+
}
|
|
18
|
+
export declare enum serverStatusTypes {
|
|
19
|
+
notStarted = 0,
|
|
20
|
+
inProgress = 1,
|
|
21
|
+
success = 2,
|
|
22
|
+
error = 3
|
|
23
|
+
}
|
|
24
|
+
export declare const statusAdapter: import("@ngrx/entity").EntityAdapter<ActionStatus>;
|
|
25
|
+
export interface State extends EntityState<ActionStatus> {
|
|
26
|
+
}
|
|
27
|
+
export declare const initialState: StatusState;
|
|
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;
|
|
30
|
+
export declare const selectEntity: (id: string) => import("@ngrx/store").MemoizedSelector<object, any, (s1: import("@ngrx/entity").Dictionary<ActionStatus>) => any>;
|
|
31
|
+
export declare function actionStatusReducer(state: StatusState | undefined, action: Action): StatusState;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { serverStatusTypes } from '../ngrx';
|
|
3
|
+
import { delayOn } from '../../rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/progress-spinner";
|
|
7
|
+
class ActionStateSpinnerComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.serverStatusTypes = serverStatusTypes;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.serverActionStatus$ = this.status$.pipe(delayOn(a => a.status === serverStatusTypes.inProgress, 500));
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ActionStateSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ActionStateSpinnerComponent, selector: "lib-action-state-spinner", inputs: { status$: "status$" }, ngImport: i0, template: "<div id=\"blocker\" *ngIf=\"(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress\">\r\n <mat-spinner class=\"spinner\" [diameter]=\"200\"></mat-spinner>\r\n</div>\r\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" }] }); }
|
|
16
|
+
}
|
|
17
|
+
export { ActionStateSpinnerComponent };
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ActionStateSpinnerComponent, decorators: [{
|
|
19
|
+
type: Component,
|
|
20
|
+
args: [{ selector: 'lib-action-state-spinner', template: "<div id=\"blocker\" *ngIf=\"(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress\">\r\n <mat-spinner class=\"spinner\" [diameter]=\"200\"></mat-spinner>\r\n</div>\r\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"] }]
|
|
21
|
+
}], propDecorators: { status$: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9hY3Rpb24tc3RhdGUtc3Bpbm5lci9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvYWN0aW9uLXN0YXRlL2FjdGlvbi1zdGF0ZS1zcGlubmVyL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQUVyQyxNQUthLDJCQUEyQjtJQUx4QztRQVNFLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO0tBT3ZDO0lBTEMsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDMUMsT0FBTyxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUcsR0FBRyxDQUFDLENBQy9ELENBQUM7SUFDSixDQUFDOzhHQVZVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGdHQ1Z4QywyTEFHQTs7U0RPYSwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7OEJBTTNCLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFjdGlvblN0YXR1cywgc2VydmVyU3RhdHVzVHlwZXMgfSBmcm9tICcuLi9uZ3J4JztcclxuaW1wb3J0IHsgZGVsYXlPbiB9IGZyb20gJy4uLy4uL3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLXN0YXRlLXNwaW5uZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25TdGF0ZVNwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBzdGF0dXMkITogT2JzZXJ2YWJsZTxBY3Rpb25TdGF0dXM+O1xyXG4gIHNlcnZlckFjdGlvblN0YXR1cyQhOiBPYnNlcnZhYmxlPEFjdGlvblN0YXR1cz47XHJcbiAgc2VydmVyU3RhdHVzVHlwZXMgPSBzZXJ2ZXJTdGF0dXNUeXBlcztcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlcnZlckFjdGlvblN0YXR1cyQgPSB0aGlzLnN0YXR1cyQucGlwZShcclxuICAgICAgZGVsYXlPbiggYSA9PiBhLnN0YXR1cyA9PT0gc2VydmVyU3RhdHVzVHlwZXMuaW5Qcm9ncmVzcyAsIDUwMClcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJibG9ja2VyXCIgKm5nSWY9XCIoc2VydmVyQWN0aW9uU3RhdHVzJCB8IGFzeW5jKT8uc3RhdHVzID09PSBzZXJ2ZXJTdGF0dXNUeXBlcy5pblByb2dyZXNzXCI+XHJcbiAgPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIFtkaWFtZXRlcl09XCIyMDBcIj48L21hdC1zcGlubmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ActionStateSpinnerComponent } from '../action-state-spinner/action-state-spinner.component';
|
|
4
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class ActionStateUiModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ActionStateUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ActionStateUiModule, declarations: [ActionStateSpinnerComponent], imports: [CommonModule,
|
|
9
|
+
MatProgressSpinnerModule], exports: [ActionStateSpinnerComponent] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ActionStateUiModule, imports: [CommonModule,
|
|
11
|
+
MatProgressSpinnerModule] }); }
|
|
12
|
+
}
|
|
13
|
+
export { ActionStateUiModule };
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ActionStateUiModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
declarations: [
|
|
18
|
+
ActionStateSpinnerComponent,
|
|
19
|
+
],
|
|
20
|
+
imports: [
|
|
21
|
+
CommonModule,
|
|
22
|
+
MatProgressSpinnerModule,
|
|
23
|
+
],
|
|
24
|
+
exports: [
|
|
25
|
+
ActionStateSpinnerComponent,
|
|
26
|
+
]
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXVpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvYWN0aW9uLXN0YXRlLXVpL2FjdGlvbi1zdGF0ZS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRzlFLE1BWWEsbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixpQkFWNUIsMkJBQTJCLGFBRzNCLFlBQVk7WUFDWix3QkFBd0IsYUFHeEIsMkJBQTJCOytHQUdsQixtQkFBbUIsWUFQNUIsWUFBWTtZQUNaLHdCQUF3Qjs7U0FNZixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFaL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aW9uU3RhdGVTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLXN0YXRlLXNwaW5uZXIvYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25TdGF0ZVVpTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of action-state
|
|
3
|
-
*/
|
|
4
|
-
export * from './ngrx';
|
|
5
|
-
export * from './ngrx-ext/ngrx-ext.module';
|
|
6
|
-
export * from './action-state-ui/action-state-ui.module';
|
|
7
|
-
export * from './action-state-spinner/action-state-spinner.component';
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of action-state
|
|
3
|
+
*/
|
|
4
|
+
export * from './ngrx';
|
|
5
|
+
export * from './ngrx-ext/ngrx-ext.module';
|
|
6
|
+
export * from './action-state-ui/action-state-ui.module';
|
|
7
|
+
export * from './action-state-spinner/action-state-spinner.component';
|
|
8
8
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvYWN0aW9uLXN0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYWN0aW9uLXN0YXRlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9uZ3J4JztcclxuZXhwb3J0ICogZnJvbSAnLi9uZ3J4LWV4dC9uZ3J4LWV4dC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi1zdGF0ZS11aS9hY3Rpb24tc3RhdGUtdWkubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tc3RhdGUtc3Bpbm5lci9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { actionStatusReducer } from '../ngrx';
|
|
4
|
+
import { StoreModule } from '@ngrx/store';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ngrx/store";
|
|
7
|
+
class NgrxExtModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgrxExtModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: NgrxExtModule, imports: [CommonModule, i1.StoreFeatureModule] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgrxExtModule, imports: [CommonModule,
|
|
11
|
+
StoreModule.forFeature('ActionStatus', actionStatusReducer)] }); }
|
|
12
|
+
}
|
|
13
|
+
export { NgrxExtModule };
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgrxExtModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
declarations: [],
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
StoreModule.forFeature('ActionStatus', actionStatusReducer),
|
|
21
|
+
]
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC1leHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9uZ3J4LWV4dC9uZ3J4LWV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUkxQyxNQU9hLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLFlBSnRCLFlBQVk7K0dBSUgsYUFBYSxZQUp0QixZQUFZO1lBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUM7O1NBR2xELGFBQWE7MkZBQWIsYUFBYTtrQkFQekIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUM7cUJBQzVEO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgYWN0aW9uU3RhdHVzUmVkdWNlciB9IGZyb20gJy4uL25ncngnO1xyXG5pbXBvcnQgeyBTdG9yZU1vZHVsZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ0FjdGlvblN0YXR1cycsIGFjdGlvblN0YXR1c1JlZHVjZXIpLFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5ncnhFeHRNb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -1,42 +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
|
-
}
|
|
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
42
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvbmdyeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTdCLFFBQVE7QUFDUixNQUFNLE9BQU8sY0FBYztDQUUxQjtBQU9ELE1BQU0sT0FBTyxZQUFZO0NBS3hCO0FBRUQsTUFBTSxZQUFZLEdBQWdCO0lBQ2hDLEdBQUcsRUFBRSxFQUFFO0lBQ1AsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQixxRUFBYyxDQUFBO0lBQ2QscUVBQWMsQ0FBQTtJQUNkLCtEQUFXLENBQUE7SUFDWCwyREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUI7QUFFRCx1QkFBdUI7QUFDdkIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixFQUFnQixDQUFDLENBQUMsMEJBQTBCO0FBRTVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBZ0IsYUFBYSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQVEsY0FBYyxDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sRUFDWCxTQUFTLEVBQ1QsY0FBYyxFQUNkLFNBQVMsRUFDVCxXQUFXLEVBQ1osR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUN4RCxjQUFjLEVBQ2QsQ0FBQyxRQUFhLEVBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FDakMsQ0FBQztBQUVGLFdBQVc7QUFDWCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBcUIsWUFBWSxFQUFFLE1BQWM7SUFFbkYsTUFBTSxZQUFZLEdBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQUUsQ0FBQztJQUV4RSxJQUFLLFlBQVksRUFBRztRQUNsQixJQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRztZQUNsRCxNQUFNLFdBQVcsR0FBRyxFQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUMxRCxXQUFXLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7WUFDekMsV0FBVyxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDO1lBQzNELE9BQU8sYUFBYSxDQUFDLFNBQVMsQ0FBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUcsS0FBSyxDQUFDLENBQUM7U0FDbkQ7S0FFRjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgY3JlYXRlRW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGUgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xyXG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gnO1xyXG5cclxuLy8gU3RhdGVcclxuZXhwb3J0IGNsYXNzIEFwcFN0YXR1c1N0YXRlIHtcclxuICByZWFkb25seSBBY3Rpb25TdGF0dXNCYXIhOiBBY3Rpb25TdGF0dXNbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNTdGF0ZSB7XHJcbiAgaWRzOiBzdHJpbmdbXTtcclxuICBlbnRpdGllczoge1tpZDogc3RyaW5nXTogQWN0aW9uU3RhdHVzfTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvblN0YXR1cyB7XHJcbiAgaWQhOiBzdHJpbmc7XHJcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XHJcbiAgc3RhdHVzITogc2VydmVyU3RhdHVzVHlwZXM7XHJcbiAgcmVzcG9uc2VQYXlsb2FkPzogYW55O1xyXG59XHJcblxyXG5jb25zdCBpbnRpdGFsU3RhdGU6IFN0YXR1c1N0YXRlID0ge1xyXG4gIGlkczogW10sXHJcbiAgZW50aXRpZXM6IHt9XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBzZXJ2ZXJTdGF0dXNUeXBlcyB7XHJcbiAgbm90U3RhcnRlZCA9IDAsXHJcbiAgaW5Qcm9ncmVzcyA9IDEsXHJcbiAgc3VjY2VzcyA9IDIsXHJcbiAgZXJyb3IgPSAzXHJcbn1cclxuXHJcbi8vIEVudGl0eSBhbmQgU2VsZWN0b3JzXHJcbmV4cG9ydCBjb25zdCBzdGF0dXNBZGFwdGVyID0gY3JlYXRlRW50aXR5QWRhcHRlcjxBY3Rpb25TdGF0dXM+KCk7IC8vIHsgc2VsZWN0SWQ6IGEgPT4gYS5pZCB9XHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxBY3Rpb25TdGF0dXM+IHt9XHJcbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IFN0YXR1c1N0YXRlID0gc3RhdHVzQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoaW50aXRhbFN0YXRlKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTdGF0dXNTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZT4oJ0FjdGlvblN0YXR1cycpO1xyXG5leHBvcnQgY29uc3Qge1xyXG4gIHNlbGVjdElkcyxcclxuICBzZWxlY3RFbnRpdGllcyxcclxuICBzZWxlY3RBbGwsXHJcbiAgc2VsZWN0VG90YWxcclxufSA9IHN0YXR1c0FkYXB0ZXIuZ2V0U2VsZWN0b3JzKGdldFN0YXR1c1N0YXRlKTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZWxlY3RFbnRpdHkgPSAoaWQ6IHN0cmluZykgPT4gY3JlYXRlU2VsZWN0b3IoXHJcbiAgc2VsZWN0RW50aXRpZXMsXHJcbiAgKGVudGl0aWVzOiBhbnkpICA9PiBlbnRpdGllc1tpZF1cclxuKTtcclxuXHJcbi8vIFJlZHVjZXJzXHJcbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25TdGF0dXNSZWR1Y2VyKHN0YXRlOiBTdGF0dXNTdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pIHtcclxuXHJcbiAgY29uc3QgYWN0aW9uU3RhdHVzOiBBY3Rpb25TdGF0dXMgPSBnZXQoYWN0aW9uLCAncGF5bG9hZC5hY3Rpb25TdGF0dXMnICk7XHJcblxyXG4gIGlmICggYWN0aW9uU3RhdHVzICkge1xyXG4gICAgaWYgKCBzdGF0ZS5pZHMuZmluZChpZCA9PiBpZCA9PT0gYWN0aW9uU3RhdHVzLmlkKSApIHtcclxuICAgICAgY29uc3QgbW9kaWZpZWRPYmogPSB7Li4uc3RhdGUuZW50aXRpZXNbYWN0aW9uU3RhdHVzLmlkXSB9O1xyXG4gICAgICBtb2RpZmllZE9iai5zdGF0dXMgPSBhY3Rpb25TdGF0dXMuc3RhdHVzO1xyXG4gICAgICBtb2RpZmllZE9iai5yZXNwb25zZVBheWxvYWQgPSBhY3Rpb25TdGF0dXMucmVzcG9uc2VQYXlsb2FkO1xyXG4gICAgICByZXR1cm4gc3RhdHVzQWRhcHRlci51cHNlcnRPbmUoIG1vZGlmaWVkT2JqLCBzdGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc3RhdHVzQWRhcHRlci5hZGRPbmUoYWN0aW9uU3RhdHVzICwgc3RhdGUpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgcmV0dXJuIHN0YXRlO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { HttpRequestStateStore } from './HttpRequestStateStore';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
class HttpRequestStateFactory {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.requestors = [];
|
|
7
|
+
}
|
|
8
|
+
ngOnDestroy() {
|
|
9
|
+
this.requestors.forEach(request => request.ngOnDestroy());
|
|
10
|
+
}
|
|
11
|
+
create(req, options) {
|
|
12
|
+
const requestor = new HttpRequestStateStore(req, options);
|
|
13
|
+
this.requestors.push(requestor);
|
|
14
|
+
return requestor;
|
|
15
|
+
}
|
|
16
|
+
createHttpClient(r, options) {
|
|
17
|
+
const requestor = new HttpRequestStateStore(r, options);
|
|
18
|
+
this.requestors.push(requestor);
|
|
19
|
+
return requestor;
|
|
20
|
+
}
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpRequestStateFactory }); }
|
|
23
|
+
}
|
|
24
|
+
export { HttpRequestStateFactory };
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
|
|
26
|
+
type: Injectable
|
|
27
|
+
}], ctorParameters: function () { return []; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR2hFLE1BQ2EsdUJBQXVCO0lBRWxDO1FBSVEsZUFBVSxHQUFnQixFQUFFLENBQUM7SUFKdEIsQ0FBQztJQUNoQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUEyQixHQUFpQyxFQUFFLE9BQTZCO1FBQy9GLE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxnQkFBZ0IsQ0FBSyxDQUF1QyxFQUFHLE9BQTZCO1FBQzFGLE1BQU0sU0FBUyxHQUFHLElBQUkscUJBQXFCLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OEdBakJVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOztTQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0RmFjdG9yeSwgUmVxdWVzdFN0YXRlT3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZSB9IGZyb20gJy4vSHR0cFJlcXVlc3RTdGF0ZVN0b3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdFN0YXRlRmFjdG9yeSAgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RvcnMuZm9yRWFjaCggcmVxdWVzdCA9PiByZXF1ZXN0Lm5nT25EZXN0cm95KCkpO1xyXG4gIH1cclxuICBwcml2YXRlIHJlcXVlc3RvcnM6IE9uRGVzdHJveVtdID0gW107XHJcbiAgY3JlYXRlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBUPiggcmVxOiBIdHRwUmVxdWVzdEZhY3Rvcnk8VFBhcmFtLFQ+LCBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucyApIDogSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSxUPiB7XHJcbiAgICBjb25zdCByZXF1ZXN0b3IgPSBuZXcgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlKHJlcSwgb3B0aW9ucyk7XHJcbiAgICB0aGlzLnJlcXVlc3RvcnMucHVzaChyZXF1ZXN0b3IpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3RvcjtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUh0dHBDbGllbnQ8VD4oIHI6IChvOiBPYnNlcnZhYmxlPFQ+ICkgPT4gT2JzZXJ2YWJsZTxUPiAsIG9wdGlvbnM/OiBSZXF1ZXN0U3RhdGVPcHRpb25zICkgIHtcclxuICAgIGNvbnN0IHJlcXVlc3RvciA9IG5ldyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUociwgb3B0aW9ucyk7XHJcbiAgICB0aGlzLnJlcXVlc3RvcnMucHVzaChyZXF1ZXN0b3IpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3RvcjtcclxuICB9XHJcblxyXG59Il19
|
|
@@ -0,0 +1,98 @@
|
|
|
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
|
+
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: "16.0.1", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
90
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 }); }
|
|
91
|
+
}
|
|
92
|
+
export { HttpRequestStateStore };
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpRequestStateStore, decorators: [{
|
|
94
|
+
type: Directive
|
|
95
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; } });
|
|
96
|
+
export class CancellationToken {
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9IdHRwUmVxdWVzdFN0YXRlU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBc0IsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQW9FLE1BQU0sU0FBUyxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFTLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQ2EscUJBQStDLFNBQVEsY0FBeUM7SUFFekcsWUFBb0IsR0FBaUMsRUFBVSxPQUE2QjtRQUMxRixLQUFLLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBVyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRDFDLFFBQUcsR0FBSCxHQUFHLENBQThCO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFTcEYsdUJBQWtCLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLElBQUcsSUFBSSxDQUFDLE9BQU8s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QyxJQUdDO1FBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFVRCxXQUFXO1FBQ1QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7OEdBOUhRLHFCQUFxQjtrR0FBckIscUJBQXFCOztTQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsU0FBUzs7QUFtSVIsTUFBTSxPQUFPLGlCQUFpQjtDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0RmFjdG9yeSwgSHR0cFJlcXVlc3RTdHJhdGVneSwgSHR0cFJlcXVlc3RTdGF0dXMsIEh0dHBSZXF1ZXN0U3RhdGUsIFJlcXVlc3RTdGF0ZU9wdGlvbnMsIEh0dHBSZXF1ZXN0U3RhdGVDYW5jZWxsZWQgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgY3JlYXRlRmFpbHVyZSwgY3JlYXRlU3VjY2VzcywgaW5Qcm9ncmVzcywgaXNFcnJvclN0YXRlLCBpc1N1Y2Nlc3NPckVycm9yU3RhdGUsIGlzU3VjY2Vzc1N0YXRlLCBub3RTdGFydGVkIH0gZnJvbSAnLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIHBsdWNrLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgbWFwRXJyb3IgfSBmcm9tICcuLi9yeGpzL21hcEVycm9yJztcclxuaW1wb3J0IHsgZGVmYXVsdFNoYXJlUmVwbGF5IH0gZnJvbSAnLi4vcnhqcy9kZWZhdWx0U2hhcmVSZXBsYXknO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdFJlc3BvbnNlPFRQYXJhbSBleHRlbmRzIGFueVtdLFQ+IHtcclxuICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICByZXNwb25zZTogSHR0cFJlcXVlc3RTdGF0ZTxUPjtcclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8VFBhcmFtIGV4dGVuZHMgYW55W10sIFQ+IGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8UmVxdWVzdFJlc3BvbnNlPFRQYXJhbSxUPj4ge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxOiBIdHRwUmVxdWVzdEZhY3Rvcnk8VFBhcmFtLFQ+ICxwcml2YXRlIG9wdGlvbnM/OiBSZXF1ZXN0U3RhdGVPcHRpb25zKSB7XHJcbiAgICAgIHN1cGVyKHsgcmVxdWVzdFBhcmFtczogbnVsbCBhcyBhbnkgLHJlc3BvbnNlOiBub3RTdGFydGVkIH0pO1xyXG4gICAgICB0aGlzLnJlcXVlc3QgPSAodGhpcy5vcHRpb25zPy5zdHJhdGVneSA9PT0gSHR0cFJlcXVlc3RTdHJhdGVneS5zaW5nbGVVc2UpID8gdGhpcy5zaW5nbGVVc2VSZXF1ZXN0IDogIHRoaXMuZmxhdHRlbmVkUmVxdWVzdDtcclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHJlcXVlc3RQYXJhbXM6bnVsbCBhcyBhbnksIHJlc3BvbnNlOiBub3RTdGFydGVkIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmxhdHRlbmluZ1N0cmF0ZWd5ID0gKCkgPT4ge1xyXG4gICAgICBpZih0aGlzLm9wdGlvbnM/LnN0cmF0ZWd5ID09PSBIdHRwUmVxdWVzdFN0cmF0ZWd5LmNvbmN1cnJlbnQpXHJcbiAgICAgICAgcmV0dXJuIG1lcmdlTWFwKCAocGFyYW1zOiBbLi4uVFBhcmFtXSkgPT4gdGhpcy5jcmVhdGVSZXF1ZXN0KC4uLnBhcmFtcykpO1xyXG4gICAgICBpZih0aGlzLm9wdGlvbnM/LnN0cmF0ZWd5ID09PSBIdHRwUmVxdWVzdFN0cmF0ZWd5LnNlcXVlbnRpYWwpXHJcbiAgICAgICAgcmV0dXJuIGNvbmNhdE1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpKTtcclxuICAgICAgcmV0dXJuIHN3aXRjaE1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+ICgocGFyYW1zWzBdIGFzIGFueSkgaW5zdGFuY2VvZiBDYW5jZWxsYXRpb25Ub2tlbikgP1xyXG4gICAgICAgIG9mKHsgcmVxdWVzdFBhcmFtczogcGFyYW1zWzBdLCByZXNwb25zZTogeyBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzLmNhbmNlbGxlZCB9IGFzIEh0dHBSZXF1ZXN0U3RhdGVDYW5jZWxsZWQgfSApIDogdGhpcy5jcmVhdGVSZXF1ZXN0KC4uLnBhcmFtcykgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlcXVlc3RFZmZlY3Q6ICh2YWx1ZTogWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb24gPSB0aGlzLmVmZmVjdCgob2JzOiBPYnNlcnZhYmxlPFsuLi5UUGFyYW1dPikgPT4ge1xyXG4gICAgICByZXR1cm4gKG9icykucGlwZShcclxuICAgICAgICB0aGlzLmZsYXR0ZW5pbmdTdHJhdGVneSgpLFxyXG4gICAgICAgIHRhcDxSZXF1ZXN0UmVzcG9uc2U8VFBhcmFtLCBUPj4oc3RhdGUgPT4gdGhpcy5zZXRTdGF0ZShzdGF0ZSkpLFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcHJpdmF0ZSBmbGF0dGVuZWRSZXF1ZXN0ID0gKC4uLnZhbHVlOiBbLi4uVFBhcmFtXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0RWZmZWN0KHZhbHVlKSBhcyBTdWJzY3JpcHRpb247XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIHNpbmdsZVVzZVJlcXVlc3QgPSAoLi4udmFsdWU6IFsuLi5UUGFyYW1dKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmdldCgpLnJlc3BvbnNlLnN0YXR1cyAhPT0gSHR0cFJlcXVlc3RTdGF0dXMubm90U3RhcnRlZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInN0YXRlIGNhbiBub3QgYmUgcmV1c2VkLiBlaXRoZXIgcmVzZXQgdGhlIHN0YXRlIGJ5IGNhbGxpbmcgcmVzZXQoKSBvciB1c2UgYSBzdGF0ZSByZXF1ZXN0ZXIgdGhhdCBhbGxvd3MgY29uY3VycmVudCByZXF1ZXN0cy5cIik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdEVmZmVjdCh2YWx1ZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEh0dHBTdGF0ZSQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChhID0+IGEucmVzcG9uc2UpKTtcclxuXHJcbiAgICBzZWxlY3RTdGF0dXMkID0gdGhpcy5zZWxlY3RIdHRwU3RhdGUkLnBpcGUobWFwKGEgPT4gYS5zdGF0dXMpKTtcclxuXHJcbiAgICBzZWxlY3RFcnJvciQgPSB0aGlzLnN0YXRlJC5waXBlKFxyXG4gICAgICBtYXAociA9PiByLnJlc3BvbnNlKSxcclxuICAgICAgZmlsdGVyKGlzRXJyb3JTdGF0ZSksXHJcbiAgICAgIG1hcCggc3RhdGUgPT4gc3RhdGUuZXJyb3IpXHJcbiAgICApO1xyXG5cclxuICAgIHNlbGVjdFJlc3BvbnNlJCA9IHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHIucmVzcG9uc2UpLFxyXG4gICAgICBmaWx0ZXIoaXNTdWNjZXNzU3RhdGUpLFxyXG4gICAgICBtYXAoIHN0YXRlID0+IHN0YXRlLmJvZHkpXHJcbiAgICApO1xyXG4gICAgc2VsZWN0U3VjY2Vzc09yRXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcclxuICAgICAgbWFwKHIgPT4gci5yZXNwb25zZSksXHJcbiAgICAgIGZpbHRlcihpc1N1Y2Nlc3NPckVycm9yU3RhdGUpLFxyXG4gICAgICBtYXAoICgpID0+IG51bGwpXHJcbiAgICApO1xyXG5cclxuICAgIGVycm9ySGFuZGxlZCA9IGZhbHNlO1xyXG4gICAgb25FcnJvciggY2I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5lcnJvckhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc2VsZWN0RXJyb3IkLCBjYik7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3VjY2VzcyggY2I6IChib2R5OiBUKSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMub24odGhpcy5zZWxlY3RSZXNwb25zZSQsIGNiKTtcclxuICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgb25TdWNjZXNzT3JFcnJvcihjYjogKCkgPT4gdm9pZCl7XHJcbiAgICAgIHRoaXMub24odGhpcy5zZWxlY3RTdWNjZXNzT3JFcnJvciQsIGNiKTtcclxuICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgb25TdWNjZXNzV2l0aFJlcXVlc3QoZnVuYzogKHN0YXRlOiB7XHJcbiAgICAgIHJlcXVlc3RQYXJhbXM6IFsuLi5UUGFyYW1dO1xyXG4gICAgICBib2R5OiBUO1xyXG4gICAgfSkgPT4gdm9pZCkge1xyXG4gICAgICB0aGlzLm9uVXBkYXRlKCh7IHJlcXVlc3RQYXJhbXMsIHJlc3BvbnNlIH0pID0+IHtcclxuICAgICAgICBpZihpc1N1Y2Nlc3NTdGF0ZShyZXNwb25zZSkpe1xyXG4gICAgICAgICAgZnVuYyh7cmVxdWVzdFBhcmFtcyxib2R5OiByZXNwb25zZS5ib2R5fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgb25FcnJvcldpdGhSZXF1ZXN0KGZ1bmM6IChzdGF0ZToge1xyXG4gICAgICBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2U7XHJcbiAgICAgIHJlcXVlc3RQYXJhbXM6IFsuLi5UUGFyYW1dO1xyXG4gICAgfSkgPT4gdm9pZCkge1xyXG4gICAgICB0aGlzLm9uVXBkYXRlKCAoeyByZXF1ZXN0UGFyYW1zLCByZXNwb25zZSB9KSA9PiB7XHJcbiAgICAgICAgaWYoaXNFcnJvclN0YXRlKHJlc3BvbnNlKSl7XHJcbiAgICAgICAgICBmdW5jKHsgcmVxdWVzdFBhcmFtcywgZXJyb3I6IHJlc3BvbnNlLmVycm9yIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlUmVxdWVzdCguLi5wYXJhbXM6IFsuLi5UUGFyYW1dKTogT2JzZXJ2YWJsZTxSZXF1ZXN0UmVzcG9uc2U8VFBhcmFtLFQ+PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlcSguLi5wYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgbWFwKGNyZWF0ZVN1Y2Nlc3MpLFxyXG4gICAgICAgIG1hcEVycm9yKGNyZWF0ZUZhaWx1cmUpLFxyXG4gICAgICAgIHN0YXJ0V2l0aChpblByb2dyZXNzKSxcclxuICAgICAgICBtYXAoIHN0YXRlID0+ICh7IHJlcXVlc3RQYXJhbXM6IHBhcmFtcywgcmVzcG9uc2U6IHN0YXRlIH0pKSxcclxuICAgICAgICBkZWZhdWx0U2hhcmVSZXBsYXkoKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVXBkYXRlKGZ1bmM6IChzdGF0ZToge1xyXG4gICAgICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICAgICAgcmVzcG9uc2U6IEh0dHBSZXF1ZXN0U3RhdGU8VD47XHJcbiAgICB9KSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMub24odGhpcy5zdGF0ZSQsIGZ1bmMpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uID0gPFY+KHNyY09ic2VydmFibGU6IE9ic2VydmFibGU8Vj4sIGZ1bmM6IChvYmo6IFYpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24gPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5lZmZlY3QoKHNyYzogT2JzZXJ2YWJsZTxWPikgPT4ge1xyXG4gICAgICAgIHJldHVybiBzcmMucGlwZSh0YXAoZnVuYykpO1xyXG4gICAgICB9KShzcmNPYnNlcnZhYmxlKSBhcyBTdWJzY3JpcHRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdDogKC4uLnZhbHVlOiBbLi4uVFBhcmFtXSApID0+IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBleHBvcnQgY2xhc3MgQ2FuY2VsbGF0aW9uVG9rZW4ge31cclxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { HttpRequestStateDirective } from './request-state-directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
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: "16.0.1", 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: "16.0.1", type: HttpStateDirectiveBase, ngImport: i0 }); }
|
|
30
|
+
}
|
|
31
|
+
export { HttpStateDirectiveBase };
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
|
|
33
|
+
type: Directive
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFN0YXRlRGlyZWN0aXZlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUV0RSxNQUNzQixzQkFBc0I7SUFFeEMsWUFDWSxRQUFrQixFQUNoQixXQUE2QixFQUM3QixhQUErQjtRQUZqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFKN0MsWUFBTyxHQUFHLEtBQUssQ0FBQztRQXNCUixlQUFVLEdBQUcsQ0FBQyxLQUFzQixFQUFVLEVBQUU7WUFDcEQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQ3hCO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQTtJQXJCRCxDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDNUQsSUFBRyxNQUFNLElBQUksSUFBSSxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1NBQzdHO1FBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztJQUVYLENBQUM7OEdBckJpQixzQkFBc0I7a0dBQXRCLHNCQUFzQjs7U0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRDNDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXF1ZXN0LXN0YXRlLWRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2Uge1xyXG4gICAgaGFzVmlldyA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJvdGVjdGVkIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgICAgIHByb3RlY3RlZCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgKSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuaW5qZWN0b3IuZ2V0KEh0dHBSZXF1ZXN0U3RhdGVEaXJlY3RpdmUpO1xyXG4gICAgICAgIGlmKHBhcmVudCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbiBvbmx5IHVzZSBhbiBodHRwIHN0YXRlIGRpcmVjdGl2ZSBhcyBhIGNoaWxkIG9mIHRoZSBodHRwUmVxdWVzdFN0YXRlIGRpcmVjdGl2ZS4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcGFyZW50Lmhvb2tzLnB1c2godGhpcy5iYXNlUmVuZGVyKTtcclxuICAgICAgICB0aGlzLmJhc2VSZW5kZXIocGFyZW50LlZpZXdDb250ZXh0LnN0YXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGJhc2VSZW5kZXIgPSAoc3RhdGU6SHR0cFJlcXVlc3RTdGF0ZSApIDogdm9pZCA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzVmlldykge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgICAgICAgdGhpcy5oYXNWaWV3ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaGFzVmlldyA9IHRoaXMucmVuZGVyKHN0YXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBhYnN0cmFjdCByZW5kZXI6IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZSkgPT4gYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { isErrorState } from '../helpers';
|
|
3
|
+
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
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: "16.0.1", 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: "16.0.1", type: HttpErrorStateDirective, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 }); }
|
|
24
|
+
}
|
|
25
|
+
export { HttpErrorStateDirective };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
|
|
27
|
+
type: Directive,
|
|
28
|
+
args: [{ selector: '[httpErrorState]' }]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFbEUsTUFDYSx1QkFBaUQsU0FBUSxzQkFBc0I7SUFFMUYsWUFDRSxRQUFrQixFQUNsQixXQUE2QixFQUM3QixhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUc5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDeEMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDcEYsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO0lBUkYsQ0FBQztJQVVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0F4QlUsdUJBQXVCO2tHQUF2Qix1QkFBdUI7O1NBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQURuQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNFcnJvclN0YXRlIH0gZnJvbSAnLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL0h0dHBTdGF0ZURpcmVjdGl2ZUJhc2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2h0dHBFcnJvclN0YXRlXScgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvclN0YXRlRGlyZWN0aXZlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBUPiBleHRlbmRzIEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGluamVjdG9yLCB0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lcik7XHJcbiAgfVxyXG5cclxuICByZW5kZXIgPSAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8YW55PikgPT4ge1xyXG4gICAgaWYgKGlzRXJyb3JTdGF0ZShzdGF0ZSkpIHtcclxuICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmLCB7ICRpbXBsaWNpdDogc3RhdGUuZXJyb3IgfSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
3
|
+
import { HttpRequestStatus } from '../types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
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: "16.0.1", 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: "16.0.1", type: HttpInProgressStateDirective, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 }); }
|
|
24
|
+
}
|
|
25
|
+
export { HttpInProgressStateDirective };
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
|
|
27
|
+
type: Directive,
|
|
28
|
+
args: [{ selector: '[httpInProgressState]' }]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pblByb2dyZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLWluUHJvZ3Jlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUE7O0FBRzlELE1BQ2EsNEJBQThCLFNBQVEsc0JBQXNCO0lBU3JFLFlBQ0csUUFBa0IsRUFDakIsV0FBNkIsRUFDN0IsYUFBK0I7UUFFL0IsS0FBSyxDQUFDLFFBQVEsRUFBQyxXQUFXLEVBQUMsYUFBYSxDQUFDLENBQUM7UUFiOUMsV0FBTSxHQUFHLENBQUMsS0FBNEIsRUFBRSxFQUFFO1lBQ3RDLElBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUM7Z0JBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBRSxDQUFDO2dCQUN6RCxPQUFPLElBQUksQ0FBQzthQUNmO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDO0lBUUYsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0F2QlEsNEJBQTRCO2tHQUE1Qiw0QkFBNEI7O1NBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUR4QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB9IGZyb20gJy4vSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUsIEh0dHBSZXF1ZXN0U3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMnXHJcblxyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2h0dHBJblByb2dyZXNzU3RhdGVdJyB9KVxyXG5leHBvcnQgY2xhc3MgSHR0cEluUHJvZ3Jlc3NTdGF0ZURpcmVjdGl2ZSAgZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgaWYoc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzKXtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmICk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcix0ZW1wbGF0ZVJlZix2aWV3Q29udGFpbmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|