@one-paragon/angular-utilities 1.3.0 → 2.0.0-beta.1
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/fesm2022/one-paragon-angular-utilities.mjs +1188 -1268
- package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
- package/http-request-state/HttpRequestStateStore.d.ts +1 -1
- package/http-request-state/directives/HttpStateDirectiveBase.d.ts +1 -1
- package/ngrx/actionable-selector.d.ts +3 -3
- package/package.json +7 -10
- package/rxjs/subscriber.directive.d.ts +1 -1
- package/table-builder/classes/TableBuilderDataSource.d.ts +8 -2
- package/table-builder/classes/filter-info.d.ts +3 -1
- package/table-builder/classes/table-builder.d.ts +1 -1
- package/table-builder/classes/table-store.d.ts +60 -68
- package/table-builder/classes/table-store.helpers.d.ts +28 -0
- package/table-builder/components/column-builder/column-builder.component.d.ts +19 -29
- package/table-builder/components/filter/filter.component.d.ts +3 -3
- package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +9 -10
- package/table-builder/components/generic-table/generic-table.component.d.ts +26 -38
- package/table-builder/components/generic-table/paginator.component.d.ts +1 -3
- package/table-builder/components/header-menu/header-menu.component.d.ts +3 -5
- package/table-builder/components/in-filter/in-filter.component.d.ts +2 -2
- package/table-builder/components/link-column.component.d.ts +3 -3
- package/table-builder/components/number-filter/number-filter.component.d.ts +3 -3
- package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +4 -4
- package/table-builder/components/sort-menu/sort-menu.component.d.ts +6 -11
- package/table-builder/components/table-container/table-container-imports.d.ts +2 -3
- package/table-builder/components/table-container/table-container.d.ts +53 -51
- package/table-builder/components/table-container/table-container.helpers/filter-state.helpers.d.ts +3 -1
- package/table-builder/components/table-container/table-container.helpers/meta-data.helpers.d.ts +2 -0
- package/table-builder/components/table-container/tableProps.d.ts +0 -2
- package/table-builder/components/table-container-filter/filter-list/filter-list.component.d.ts +1 -1
- package/table-builder/components/table-container-filter/table-wrapper-filter-store.d.ts +1 -1
- package/table-builder/directives/custom-cell-directive.d.ts +16 -17
- package/table-builder/directives/multi-sort.directive.d.ts +1 -1
- package/table-builder/directives/table-wrapper.directive.d.ts +1 -1
- package/table-builder/directives/tb-filter.directive.d.ts +14 -16
- package/table-builder/interfaces/report-def.d.ts +4 -0
- package/table-builder/ngrx/tableBuilderStateStore.d.ts +4 -4
- package/table-builder/pipes/format-filter-type.pipe.d.ts +1 -1
- package/table-builder/pipes/format-filter-value.pipe.d.ts +1 -2
- package/table-builder/pipes/key-display.d.ts +1 -2
- package/table-builder/services/transform-creator.d.ts +0 -1
- package/utilities/pipes/function.pipe.d.ts +5 -1
- package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +0 -24
- package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +0 -20
- package/esm2022/action-state/index.mjs +0 -8
- package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +0 -23
- package/esm2022/action-state/ngrx.mjs +0 -47
- package/esm2022/http-request-state/HttpRequestStateFactory.mjs +0 -51
- package/esm2022/http-request-state/HttpRequestStateStore.mjs +0 -135
- package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +0 -30
- package/esm2022/http-request-state/directives/http-error-state-directive.mjs +0 -23
- package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +0 -23
- package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +0 -23
- package/esm2022/http-request-state/directives/http-success-state-directive.mjs +0 -29
- package/esm2022/http-request-state/directives/index.mjs +0 -6
- package/esm2022/http-request-state/directives/request-state-directive.mjs +0 -61
- package/esm2022/http-request-state/helpers.mjs +0 -22
- package/esm2022/http-request-state/http-request-state.mjs +0 -39
- package/esm2022/http-request-state/http-state-module.mjs +0 -40
- package/esm2022/http-request-state/index.mjs +0 -7
- package/esm2022/http-request-state/rxjs/getRequestorBody.mjs +0 -4
- package/esm2022/http-request-state/rxjs/getRequestorState.mjs +0 -3
- package/esm2022/http-request-state/rxjs/index.mjs +0 -5
- package/esm2022/http-request-state/rxjs/tapError.mjs +0 -12
- package/esm2022/http-request-state/rxjs/tapSuccess.mjs +0 -12
- package/esm2022/http-request-state/types.mjs +0 -16
- package/esm2022/ngrx/actionable-selector.mjs +0 -107
- package/esm2022/ngrx/index.mjs +0 -2
- package/esm2022/one-paragon-angular-utilities.mjs +0 -5
- package/esm2022/public-api.mjs +0 -20
- package/esm2022/rxjs/defaultShareReplay.mjs +0 -7
- package/esm2022/rxjs/index.mjs +0 -6
- package/esm2022/rxjs/mapError.mjs +0 -8
- package/esm2022/rxjs/rxjs-operators.mjs +0 -92
- package/esm2022/rxjs/subjectifier.mjs +0 -15
- package/esm2022/rxjs/subscriber.directive.mjs +0 -50
- package/esm2022/table-builder/classes/DefaultSettings.mjs +0 -6
- package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +0 -23
- package/esm2022/table-builder/classes/TableBuilderConfig.mjs +0 -18
- package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +0 -48
- package/esm2022/table-builder/classes/TableState.mjs +0 -48
- package/esm2022/table-builder/classes/data-store.mjs +0 -15
- package/esm2022/table-builder/classes/display-col.mjs +0 -2
- package/esm2022/table-builder/classes/filter-info.mjs +0 -61
- package/esm2022/table-builder/classes/table-builder-general-settings.mjs +0 -116
- package/esm2022/table-builder/classes/table-builder.mjs +0 -77
- package/esm2022/table-builder/classes/table-store.mjs +0 -388
- package/esm2022/table-builder/components/array-column.component.mjs +0 -53
- package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +0 -145
- package/esm2022/table-builder/components/column-builder/column-helpers.mjs +0 -45
- package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +0 -29
- package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +0 -24
- package/esm2022/table-builder/components/filter/filter.component.mjs +0 -64
- package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +0 -102
- package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +0 -47
- package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +0 -306
- package/esm2022/table-builder/components/generic-table/paginator.component.mjs +0 -104
- package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +0 -21
- package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +0 -103
- package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +0 -65
- package/esm2022/table-builder/components/index.mjs +0 -10
- package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +0 -47
- package/esm2022/table-builder/components/link-column.component.mjs +0 -74
- package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +0 -29
- package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +0 -64
- package/esm2022/table-builder/components/scroll-strategy.mjs +0 -60
- package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +0 -46
- package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +0 -82
- package/esm2022/table-builder/components/table-container/table-container-imports.mjs +0 -26
- package/esm2022/table-builder/components/table-container/table-container.helpers/data-state.helpers.mjs +0 -135
- package/esm2022/table-builder/components/table-container/table-container.helpers/filter-state.helpers.mjs +0 -83
- package/esm2022/table-builder/components/table-container/table-container.helpers/groupBy.helpers.mjs +0 -71
- package/esm2022/table-builder/components/table-container/table-container.helpers/sort-state.helpers.mjs +0 -36
- package/esm2022/table-builder/components/table-container/table-container.mjs +0 -334
- package/esm2022/table-builder/components/table-container/tableProps.mjs +0 -8
- package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +0 -155
- package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +0 -44
- package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +0 -35
- package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +0 -25
- package/esm2022/table-builder/directives/custom-cell-directive.mjs +0 -73
- package/esm2022/table-builder/directives/index.mjs +0 -6
- package/esm2022/table-builder/directives/multi-sort.directive.mjs +0 -50
- package/esm2022/table-builder/directives/resize-column.directive.mjs +0 -87
- package/esm2022/table-builder/directives/table-wrapper.directive.mjs +0 -18
- package/esm2022/table-builder/directives/tb-filter.directive.mjs +0 -396
- package/esm2022/table-builder/enums/filterTypes.mjs +0 -29
- package/esm2022/table-builder/functions/boolean-filter-function.mjs +0 -10
- package/esm2022/table-builder/functions/date-filter-function.mjs +0 -58
- package/esm2022/table-builder/functions/download-data.mjs +0 -12
- package/esm2022/table-builder/functions/null-filter-function.mjs +0 -8
- package/esm2022/table-builder/functions/number-filter-function.mjs +0 -32
- package/esm2022/table-builder/functions/sort-data-function.mjs +0 -17
- package/esm2022/table-builder/functions/string-filter-function.mjs +0 -41
- package/esm2022/table-builder/interfaces/ColumnInfo.mjs +0 -2
- package/esm2022/table-builder/interfaces/dictionary.mjs +0 -2
- package/esm2022/table-builder/interfaces/report-def.mjs +0 -50
- package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +0 -154
- package/esm2022/table-builder/pipes/column-total.pipe.mjs +0 -22
- package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +0 -18
- package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +0 -43
- package/esm2022/table-builder/pipes/key-display.mjs +0 -18
- package/esm2022/table-builder/services/export-to-csv.service.mjs +0 -75
- package/esm2022/table-builder/services/link-creator.service.mjs +0 -50
- package/esm2022/table-builder/services/table-template-service.mjs +0 -60
- package/esm2022/table-builder/services/transform-creator.mjs +0 -100
- package/esm2022/table-builder/table-builder.module.mjs +0 -124
- package/esm2022/utilities/array-helpers.mjs +0 -14
- package/esm2022/utilities/directives/auto-focus.directive.mjs +0 -25
- package/esm2022/utilities/directives/clickEmitterDirective.mjs +0 -22
- package/esm2022/utilities/directives/clickSubject.mjs +0 -29
- package/esm2022/utilities/directives/conditional-classes.directive.mjs +0 -36
- package/esm2022/utilities/directives/dialog-service.mjs +0 -21
- package/esm2022/utilities/directives/dialog.mjs +0 -145
- package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +0 -59
- package/esm2022/utilities/directives/prevent-enter.directive.mjs +0 -20
- package/esm2022/utilities/directives/stop-propagation.directive.mjs +0 -26
- package/esm2022/utilities/directives/styler.mjs +0 -41
- package/esm2022/utilities/directives/trim-whitespace.directive.mjs +0 -28
- package/esm2022/utilities/index.mjs +0 -16
- package/esm2022/utilities/module.mjs +0 -90
- package/esm2022/utilities/pipes/function.pipe.mjs +0 -22
- package/esm2022/utilities/pipes/phone.pipe.mjs +0 -20
- package/esm2022/utilities/pipes/space-case.pipes.mjs +0 -28
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { ActionStateSpinnerComponent } from '../action-state-spinner/action-state-spinner.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ActionStateUiModule {
|
|
5
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ActionStateUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ActionStateUiModule, imports: [ActionStateSpinnerComponent], exports: [ActionStateSpinnerComponent] });
|
|
7
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ActionStateUiModule, imports: [ActionStateSpinnerComponent] });
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ActionStateUiModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [
|
|
13
|
-
ActionStateSpinnerComponent,
|
|
14
|
-
],
|
|
15
|
-
exports: [
|
|
16
|
-
ActionStateSpinnerComponent,
|
|
17
|
-
]
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXVpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvYWN0aW9uLXN0YXRlLXVpL2FjdGlvbi1zdGF0ZS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQzs7QUFXckcsTUFBTSxPQUFPLG1CQUFtQjt1R0FBbkIsbUJBQW1CO3dHQUFuQixtQkFBbUIsWUFONUIsMkJBQTJCLGFBRzNCLDJCQUEyQjt3R0FHbEIsbUJBQW1CLFlBTjVCLDJCQUEyQjs7MkZBTWxCLG1CQUFtQjtrQkFSL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2FjdGlvbi1zdGF0ZS1zcGlubmVyL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudCc7XHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBBY3Rpb25TdGF0ZVNwaW5uZXJDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBBY3Rpb25TdGF0ZVNwaW5uZXJDb21wb25lbnQsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uU3RhdGVVaU1vZHVsZSB7IH1cclxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
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
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvYWN0aW9uLXN0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYWN0aW9uLXN0YXRlXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9uZ3J4JztcclxuZXhwb3J0ICogZnJvbSAnLi9uZ3J4LWV4dC9uZ3J4LWV4dC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi1zdGF0ZS11aS9hY3Rpb24tc3RhdGUtdWkubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tc3RhdGUtc3Bpbm5lci9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { actionStatusReducer } from '../ngrx';
|
|
4
|
-
import { StoreModule } from '@ngrx/store';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngrx/store";
|
|
7
|
-
export class NgrxExtModule {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NgrxExtModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule, i1.StoreFeatureModule] });
|
|
10
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NgrxExtModule, imports: [CommonModule,
|
|
11
|
-
StoreModule.forFeature('ActionStatus', actionStatusReducer)] });
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: NgrxExtModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
declarations: [],
|
|
17
|
-
imports: [
|
|
18
|
-
CommonModule,
|
|
19
|
-
StoreModule.forFeature('ActionStatus', actionStatusReducer),
|
|
20
|
-
]
|
|
21
|
-
}]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC1leHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9uZ3J4LWV4dC9uZ3J4LWV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQVcxQyxNQUFNLE9BQU8sYUFBYTt1R0FBYixhQUFhO3dHQUFiLGFBQWEsWUFKdEIsWUFBWTt3R0FJSCxhQUFhLFlBSnRCLFlBQVk7WUFDWixXQUFXLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQzs7MkZBR2xELGFBQWE7a0JBUHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDO3FCQUM1RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGFjdGlvblN0YXR1c1JlZHVjZXIgfSBmcm9tICcuLi9uZ3J4JztcclxuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKCdBY3Rpb25TdGF0dXMnLCBhY3Rpb25TdGF0dXNSZWR1Y2VyKSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3J4RXh0TW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
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
|
-
ActionStatusBar;
|
|
7
|
-
}
|
|
8
|
-
export class ActionStatus {
|
|
9
|
-
id;
|
|
10
|
-
displayName;
|
|
11
|
-
status;
|
|
12
|
-
responsePayload;
|
|
13
|
-
}
|
|
14
|
-
const InitialState = {
|
|
15
|
-
ids: [],
|
|
16
|
-
entities: {}
|
|
17
|
-
};
|
|
18
|
-
export var serverStatusTypes;
|
|
19
|
-
(function (serverStatusTypes) {
|
|
20
|
-
serverStatusTypes[serverStatusTypes["notStarted"] = 0] = "notStarted";
|
|
21
|
-
serverStatusTypes[serverStatusTypes["inProgress"] = 1] = "inProgress";
|
|
22
|
-
serverStatusTypes[serverStatusTypes["success"] = 2] = "success";
|
|
23
|
-
serverStatusTypes[serverStatusTypes["error"] = 3] = "error";
|
|
24
|
-
})(serverStatusTypes || (serverStatusTypes = {}));
|
|
25
|
-
// Entity and Selectors
|
|
26
|
-
export const statusAdapter = createEntityAdapter();
|
|
27
|
-
export const initialState = statusAdapter.getInitialState(InitialState);
|
|
28
|
-
export const getStatusState = createFeatureSelector('ActionStatus');
|
|
29
|
-
export const { selectIds, selectEntities, selectAll, selectTotal } = statusAdapter.getSelectors(getStatusState);
|
|
30
|
-
export const selectEntity = (id) => createSelector(selectEntities, (entities) => entities[id]);
|
|
31
|
-
// Reducers
|
|
32
|
-
export function actionStatusReducer(state = initialState, action) {
|
|
33
|
-
const actionStatus = get(action, 'payload.actionStatus');
|
|
34
|
-
if (actionStatus) {
|
|
35
|
-
if (state.ids.find(id => id === actionStatus.id)) {
|
|
36
|
-
const modifiedObj = { ...state.entities[actionStatus.id] };
|
|
37
|
-
modifiedObj.status = actionStatus.status;
|
|
38
|
-
modifiedObj.responsePayload = actionStatus.responsePayload;
|
|
39
|
-
return statusAdapter.upsertOne(modifiedObj, state);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return statusAdapter.addOne(actionStatus, state);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return state;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvbmdyeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTdCLFFBQVE7QUFDUixNQUFNLE9BQU8sY0FBYztJQUNoQixlQUFlLENBQWtCO0NBQzNDO0FBT0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsRUFBRSxDQUFVO0lBQ1osV0FBVyxDQUFVO0lBQ3JCLE1BQU0sQ0FBcUI7SUFDM0IsZUFBZSxDQUFPO0NBQ3ZCO0FBRUQsTUFBTSxZQUFZLEdBQWdCO0lBQ2hDLEdBQUcsRUFBRSxFQUFFO0lBQ1AsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0FBRUYsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUMzQixxRUFBYyxDQUFBO0lBQ2QscUVBQWMsQ0FBQTtJQUNkLCtEQUFXLENBQUE7SUFDWCwyREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUI7QUFFRCx1QkFBdUI7QUFDdkIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixFQUFnQixDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBZ0IsYUFBYSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUVyRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcscUJBQXFCLENBQVEsY0FBYyxDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sRUFDWCxTQUFTLEVBQ1QsY0FBYyxFQUNkLFNBQVMsRUFDVCxXQUFXLEVBQ1osR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUN4RCxjQUFjLEVBQ2QsQ0FBQyxRQUFhLEVBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FDakMsQ0FBQztBQUVGLFdBQVc7QUFDWCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBcUIsWUFBWSxFQUFFLE1BQWM7SUFFbkYsTUFBTSxZQUFZLEdBQWlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsc0JBQXNCLENBQVMsQ0FBQztJQUUvRSxJQUFLLFlBQVksRUFBRyxDQUFDO1FBQ25CLElBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUM7WUFDbkQsTUFBTSxXQUFXLEdBQUcsRUFBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUQsV0FBVyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3pDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQztZQUMzRCxPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRyxLQUFLLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBRUgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgY3JlYXRlRW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGUgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xyXG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gnO1xyXG5cclxuLy8gU3RhdGVcclxuZXhwb3J0IGNsYXNzIEFwcFN0YXR1c1N0YXRlIHtcclxuICByZWFkb25seSBBY3Rpb25TdGF0dXNCYXIhOiBBY3Rpb25TdGF0dXNbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNTdGF0ZSB7XHJcbiAgaWRzOiBzdHJpbmdbXTtcclxuICBlbnRpdGllczoge1tpZDogc3RyaW5nXTogQWN0aW9uU3RhdHVzfTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFjdGlvblN0YXR1cyB7XHJcbiAgaWQhOiBzdHJpbmc7XHJcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XHJcbiAgc3RhdHVzITogc2VydmVyU3RhdHVzVHlwZXM7XHJcbiAgcmVzcG9uc2VQYXlsb2FkPzogYW55O1xyXG59XHJcblxyXG5jb25zdCBJbml0aWFsU3RhdGU6IFN0YXR1c1N0YXRlID0ge1xyXG4gIGlkczogW10sXHJcbiAgZW50aXRpZXM6IHt9XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBzZXJ2ZXJTdGF0dXNUeXBlcyB7XHJcbiAgbm90U3RhcnRlZCA9IDAsXHJcbiAgaW5Qcm9ncmVzcyA9IDEsXHJcbiAgc3VjY2VzcyA9IDIsXHJcbiAgZXJyb3IgPSAzXHJcbn1cclxuXHJcbi8vIEVudGl0eSBhbmQgU2VsZWN0b3JzXHJcbmV4cG9ydCBjb25zdCBzdGF0dXNBZGFwdGVyID0gY3JlYXRlRW50aXR5QWRhcHRlcjxBY3Rpb25TdGF0dXM+KCk7XHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxBY3Rpb25TdGF0dXM+IHt9XHJcbmV4cG9ydCBjb25zdCBpbml0aWFsU3RhdGU6IFN0YXR1c1N0YXRlID0gc3RhdHVzQWRhcHRlci5nZXRJbml0aWFsU3RhdGUoSW5pdGlhbFN0YXRlKTtcclxuXHJcbmV4cG9ydCBjb25zdCBnZXRTdGF0dXNTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZT4oJ0FjdGlvblN0YXR1cycpO1xyXG5leHBvcnQgY29uc3Qge1xyXG4gIHNlbGVjdElkcyxcclxuICBzZWxlY3RFbnRpdGllcyxcclxuICBzZWxlY3RBbGwsXHJcbiAgc2VsZWN0VG90YWxcclxufSA9IHN0YXR1c0FkYXB0ZXIuZ2V0U2VsZWN0b3JzKGdldFN0YXR1c1N0YXRlKTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZWxlY3RFbnRpdHkgPSAoaWQ6IHN0cmluZykgPT4gY3JlYXRlU2VsZWN0b3IoXHJcbiAgc2VsZWN0RW50aXRpZXMsXHJcbiAgKGVudGl0aWVzOiBhbnkpICA9PiBlbnRpdGllc1tpZF1cclxuKTtcclxuXHJcbi8vIFJlZHVjZXJzXHJcbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25TdGF0dXNSZWR1Y2VyKHN0YXRlOiBTdGF0dXNTdGF0ZSA9IGluaXRpYWxTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pIHtcclxuXHJcbiAgY29uc3QgYWN0aW9uU3RhdHVzOiBBY3Rpb25TdGF0dXMgPSBnZXQoYWN0aW9uLCAncGF5bG9hZC5hY3Rpb25TdGF0dXMnICkgYXMgYW55O1xyXG5cclxuICBpZiAoIGFjdGlvblN0YXR1cyApIHtcclxuICAgIGlmICggc3RhdGUuaWRzLmZpbmQoaWQgPT4gaWQgPT09IGFjdGlvblN0YXR1cy5pZCkgKSB7XHJcbiAgICAgIGNvbnN0IG1vZGlmaWVkT2JqID0gey4uLnN0YXRlLmVudGl0aWVzW2FjdGlvblN0YXR1cy5pZF0gfTtcclxuICAgICAgbW9kaWZpZWRPYmouc3RhdHVzID0gYWN0aW9uU3RhdHVzLnN0YXR1cztcclxuICAgICAgbW9kaWZpZWRPYmoucmVzcG9uc2VQYXlsb2FkID0gYWN0aW9uU3RhdHVzLnJlc3BvbnNlUGF5bG9hZDtcclxuICAgICAgcmV0dXJuIHN0YXR1c0FkYXB0ZXIudXBzZXJ0T25lKCBtb2RpZmllZE9iaiwgc3RhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHN0YXR1c0FkYXB0ZXIuYWRkT25lKGFjdGlvblN0YXR1cyAsIHN0YXRlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIHJldHVybiBzdGF0ZTtcclxufVxyXG4iXX0=
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Injectable, assertInInjectionContext, inject } from "@angular/core";
|
|
2
|
-
import { HttpRequestStateStore } from './HttpRequestStateStore';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class HttpRequestStateFactory {
|
|
5
|
-
constructor() { }
|
|
6
|
-
ngOnDestroy() {
|
|
7
|
-
this.requestors.forEach(request => request.ngOnDestroy());
|
|
8
|
-
}
|
|
9
|
-
requestors = [];
|
|
10
|
-
create(req, optionsOrProject, options) {
|
|
11
|
-
const requestor = (typeof (optionsOrProject) === 'function' ? new HttpRequestStateStore(req, options, optionsOrProject) : new HttpRequestStateStore(req, optionsOrProject));
|
|
12
|
-
this.requestors.push(requestor);
|
|
13
|
-
return requestor;
|
|
14
|
-
}
|
|
15
|
-
createHttpClient(r, options) {
|
|
16
|
-
const requestor = new HttpRequestStateStore(r, options);
|
|
17
|
-
this.requestors.push(requestor);
|
|
18
|
-
return requestor;
|
|
19
|
-
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateFactory });
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateFactory, decorators: [{
|
|
24
|
-
type: Injectable
|
|
25
|
-
}], ctorParameters: () => [] });
|
|
26
|
-
export function createRequestor(req, optionsOrProject, options) {
|
|
27
|
-
const ops = isFunction(optionsOrProject) ? options : optionsOrProject;
|
|
28
|
-
const destroyRef = getDestroyRef(ops);
|
|
29
|
-
const requestStore = typeof (optionsOrProject) === 'function' ?
|
|
30
|
-
new HttpRequestStateStore(req, options, optionsOrProject)
|
|
31
|
-
: new HttpRequestStateStore(req, optionsOrProject);
|
|
32
|
-
destroyRef.onDestroy(() => requestStore?.ngOnDestroy());
|
|
33
|
-
return requestStore;
|
|
34
|
-
}
|
|
35
|
-
function isFunction(value) {
|
|
36
|
-
return typeof value === 'function';
|
|
37
|
-
}
|
|
38
|
-
function getDestroyRef(options) {
|
|
39
|
-
const providedInjector = options?.injector;
|
|
40
|
-
if (!providedInjector) {
|
|
41
|
-
try {
|
|
42
|
-
assertInInjectionContext(createRequestor);
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
throw new Error('createRequestor() must be used in an Injection Context or you must provide an injector to createRequestor()');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
const destroyRef = providedInjector?.get(DestroyRef) || inject(DestroyRef);
|
|
49
|
-
return destroyRef;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL0h0dHBSZXF1ZXN0U3RhdGVGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUF1Qix3QkFBd0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBSWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsZ0JBQWUsQ0FBQztJQUNoQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ08sVUFBVSxHQUFnQixFQUFFLENBQUM7SUFJckMsTUFBTSxDQUFnRSxHQUFrQyxFQUFFLGdCQUE4RCxFQUFFLE9BQXFDO1FBQzdNLE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBRSxJQUFJLHFCQUFxQixDQUFrQixHQUFHLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUkscUJBQXFCLENBQWtCLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDOU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGdCQUFnQixDQUFLLENBQXVDLEVBQUcsT0FBa0M7UUFDL0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzt1R0FwQlUsdUJBQXVCOzJHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7O0FBMkJYLE1BQU0sVUFBVSxlQUFlLENBQWlFLEdBQWtDLEVBQUUsZ0JBQWdFLEVBQUUsT0FBdUM7SUFFM08sTUFBTSxHQUFHLEdBQUksVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFFdkUsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXRDLE1BQU0sWUFBWSxHQUFHLE9BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQzVELElBQUkscUJBQXFCLENBQWtCLEdBQUcsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7UUFDMUUsQ0FBQyxDQUFDLElBQUkscUJBQXFCLENBQWtCLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBRXRFLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFeEQsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQVU7SUFDNUIsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDckMsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQW9DO0lBQ3pELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLFFBQVEsQ0FBQztJQUUzQyxJQUFHLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQztRQUNwQixJQUFJLENBQUM7WUFDSCx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsNkdBQTZHLENBQUMsQ0FBQztRQUNqSSxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFM0UsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3ksIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RGYWN0b3J5LCBSZXF1ZXN0U3RhdGVPcHRpb25zLCBSZXF1ZXN0Q3JlYXRvck9wdGlvbnMgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUgfSBmcm9tICcuL0h0dHBSZXF1ZXN0U3RhdGVTdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZUZhY3RvcnkgIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLmZvckVhY2goIHJlcXVlc3QgPT4gcmVxdWVzdC5uZ09uRGVzdHJveSgpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZXF1ZXN0b3JzOiBPbkRlc3Ryb3lbXSA9IFtdO1xyXG5cclxuICBjcmVhdGU8VFBhcmFtIGV4dGVuZHMgYW55W10sIFY+KCByZXE6IEh0dHBSZXF1ZXN0RmFjdG9yeTxUUGFyYW0sIFY+LCBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9uczxUUGFyYW0+KSA6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sIFY+XHJcbiAgY3JlYXRlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBWLCBSLCBUID0gUj4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSwgVj4sIHByb2plY3Q6ICh2OiBWKSA9PiBSICwgb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnM8VFBhcmFtPikgOiBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8VFBhcmFtLCBWLCBUPlxyXG4gIGNyZWF0ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgViwgUiA9IG51bGwsIFQgPSBSIGV4dGVuZHMgbnVsbCA/IFYgOiBSPihyZXE6IEh0dHBSZXF1ZXN0RmFjdG9yeTxUUGFyYW0sIFY+LCBvcHRpb25zT3JQcm9qZWN0PzogUmVxdWVzdFN0YXRlT3B0aW9uczxUUGFyYW0+IHwgKCh2OiBWKSA9PiBSKSwgb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnM8VFBhcmFtPiApIDogSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSwgViwgUiwgVD4ge1xyXG4gICAgY29uc3QgcmVxdWVzdG9yID0gKHR5cGVvZihvcHRpb25zT3JQcm9qZWN0KSA9PT0gJ2Z1bmN0aW9uJyA/ICBuZXcgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSwgViwgUiwgVD4ocmVxLCBvcHRpb25zLCBvcHRpb25zT3JQcm9qZWN0KSA6IG5ldyBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8VFBhcmFtLCBWLCBSLCBUPihyZXEsIG9wdGlvbnNPclByb2plY3QpKTtcclxuICAgIHRoaXMucmVxdWVzdG9ycy5wdXNoKHJlcXVlc3Rvcik7XHJcbiAgICByZXR1cm4gcmVxdWVzdG9yO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlSHR0cENsaWVudDxUPiggcjogKG86IE9ic2VydmFibGU8VD4gKSA9PiBPYnNlcnZhYmxlPFQ+ICwgb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnM8YW55PiApICB7XHJcbiAgICBjb25zdCByZXF1ZXN0b3IgPSBuZXcgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlKHIsIG9wdGlvbnMpO1xyXG4gICAgdGhpcy5yZXF1ZXN0b3JzLnB1c2gocmVxdWVzdG9yKTtcclxuICAgIHJldHVybiByZXF1ZXN0b3I7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlcXVlc3RvcjxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVj4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSwgVj4sIG9wdGlvbnM/OiBSZXF1ZXN0Q3JlYXRvck9wdGlvbnM8VFBhcmFtPikgOiBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8VFBhcmFtLCBWPlxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVxdWVzdG9yPFRQYXJhbSBleHRlbmRzIGFueVtdLCBWLCBSLCBUID0gUj4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSwgVj4sIHByb2plY3Q6ICh2OiBWKSA9PiBSICwgb3B0aW9ucz86IFJlcXVlc3RDcmVhdG9yT3B0aW9uczxUUGFyYW0+KSA6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sIFYsIFQ+XHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXF1ZXN0b3I8VFBhcmFtIGV4dGVuZHMgYW55W10sIFYsIFIgPSBudWxsLCBUID0gUiBleHRlbmRzIG51bGwgPyBWIDogUj4oIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSwgVj4sIG9wdGlvbnNPclByb2plY3Q/OiBSZXF1ZXN0Q3JlYXRvck9wdGlvbnM8VFBhcmFtPiB8ICgodjogVikgPT4gUiksIG9wdGlvbnM/OiBSZXF1ZXN0Q3JlYXRvck9wdGlvbnM8VFBhcmFtPiApIDogSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSwgViwgUiwgVD57XHJcblxyXG4gIGNvbnN0IG9wcyAgPSBpc0Z1bmN0aW9uKG9wdGlvbnNPclByb2plY3QpID8gb3B0aW9ucyA6IG9wdGlvbnNPclByb2plY3Q7XHJcblxyXG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBnZXREZXN0cm95UmVmKG9wcyk7XHJcblxyXG4gIGNvbnN0IHJlcXVlc3RTdG9yZSA9IHR5cGVvZihvcHRpb25zT3JQcm9qZWN0KSA9PT0gJ2Z1bmN0aW9uJyA/ICBcclxuICAgIG5ldyBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8VFBhcmFtLCBWLCBSLCBUPihyZXEsIG9wdGlvbnMsIG9wdGlvbnNPclByb2plY3QpXHJcbiAgICA6IG5ldyBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8VFBhcmFtLCBWLCBSLCBUPihyZXEsIG9wdGlvbnNPclByb2plY3QpO1xyXG5cclxuICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiByZXF1ZXN0U3RvcmU/Lm5nT25EZXN0cm95KCkpO1xyXG5cclxuICByZXR1cm4gcmVxdWVzdFN0b3JlO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBGdW5jdGlvbiB7XHJcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0RGVzdHJveVJlZihvcHRpb25zPzogUmVxdWVzdENyZWF0b3JPcHRpb25zPGFueT4pe1xyXG4gIGNvbnN0IHByb3ZpZGVkSW5qZWN0b3IgPSBvcHRpb25zPy5pbmplY3RvcjtcclxuXHJcbiAgaWYoIXByb3ZpZGVkSW5qZWN0b3Ipe1xyXG4gICAgdHJ5IHtcclxuICAgICAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNyZWF0ZVJlcXVlc3Rvcik7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NyZWF0ZVJlcXVlc3RvcigpIG11c3QgYmUgdXNlZCBpbiBhbiBJbmplY3Rpb24gQ29udGV4dCBvciB5b3UgbXVzdCBwcm92aWRlIGFuIGluamVjdG9yIHRvIGNyZWF0ZVJlcXVlc3RvcigpJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdCBkZXN0cm95UmVmID0gcHJvdmlkZWRJbmplY3Rvcj8uZ2V0KERlc3Ryb3lSZWYpIHx8IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgcmV0dXJuIGRlc3Ryb3lSZWY7XHJcbn0iXX0=
|
|
@@ -1,135 +0,0 @@
|
|
|
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, takeUntil, tap } from 'rxjs/operators';
|
|
6
|
-
import { mapError } from '../rxjs/mapError';
|
|
7
|
-
import { defaultShareReplay } from '../rxjs/defaultShareReplay';
|
|
8
|
-
import { computed, Directive, isSignal } from '@angular/core';
|
|
9
|
-
import { toObservable } from '@angular/core/rxjs-interop';
|
|
10
|
-
import { notNull } from '../rxjs';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class HttpRequestStateStore extends ComponentStore {
|
|
13
|
-
options;
|
|
14
|
-
project;
|
|
15
|
-
req;
|
|
16
|
-
injector;
|
|
17
|
-
constructor(req, options, project) {
|
|
18
|
-
super({ requestParams: null, response: notStarted });
|
|
19
|
-
this.project = project;
|
|
20
|
-
this.options = options;
|
|
21
|
-
this.injector = options?.injector;
|
|
22
|
-
this.req = req;
|
|
23
|
-
this.request = (this.options?.strategy === HttpRequestStrategy.singleUse) ? this.singleUseRequest : this.flattenedRequest;
|
|
24
|
-
if (options?.autoRequestWith) {
|
|
25
|
-
this.request(...options.autoRequestWith);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
reset() {
|
|
29
|
-
this.setState({ requestParams: null, response: notStarted });
|
|
30
|
-
}
|
|
31
|
-
flatteningStrategy = () => {
|
|
32
|
-
if (this.options?.strategy === HttpRequestStrategy.concurrent)
|
|
33
|
-
return mergeMap((params) => this.createRequest(...params));
|
|
34
|
-
if (this.options?.strategy === HttpRequestStrategy.sequential)
|
|
35
|
-
return concatMap((params) => this.createRequest(...params));
|
|
36
|
-
return switchMap((params) => (params[0] instanceof CancellationToken) ?
|
|
37
|
-
of({ requestParams: params[0], response: { status: HttpRequestStatus.cancelled } }) : this.createRequest(...params));
|
|
38
|
-
};
|
|
39
|
-
requestEffect = this.effect((obs) => {
|
|
40
|
-
return (obs).pipe(this.flatteningStrategy(), tap(state => this.setState(state)));
|
|
41
|
-
});
|
|
42
|
-
flattenedRequest = (...value) => {
|
|
43
|
-
return this.requestEffect(value);
|
|
44
|
-
};
|
|
45
|
-
singleUseRequest = (...value) => {
|
|
46
|
-
if (this.get().response.status !== HttpRequestStatus.notStarted) {
|
|
47
|
-
throw new Error("state can not be reused. either reset the state by calling reset() or use a state requester that allows concurrent requests.");
|
|
48
|
-
}
|
|
49
|
-
return this.requestEffect(value);
|
|
50
|
-
};
|
|
51
|
-
$selectHttpState = this.selectSignal(a => a.response);
|
|
52
|
-
selectHttpState$ = this.select(a => a.response);
|
|
53
|
-
$selectStatus = computed(() => this.$selectHttpState()?.status);
|
|
54
|
-
selectStatus$ = this.selectHttpState$.pipe(map(s => s.status));
|
|
55
|
-
selectError$ = this.selectHttpState$.pipe(filter(isErrorState), map(state => state.error));
|
|
56
|
-
$selectError = computed(() => {
|
|
57
|
-
const state = this.$selectHttpState();
|
|
58
|
-
if (isErrorState(state))
|
|
59
|
-
return state.error;
|
|
60
|
-
});
|
|
61
|
-
selectResponse$ = this.selectHttpState$.pipe(filter(isSuccessState), map(state => state.body));
|
|
62
|
-
$selectResponse = computed(() => {
|
|
63
|
-
const state = this.$selectHttpState();
|
|
64
|
-
if (isSuccessState(state)) {
|
|
65
|
-
return state.body;
|
|
66
|
-
}
|
|
67
|
-
return undefined;
|
|
68
|
-
});
|
|
69
|
-
selectSuccessOrError$ = this.state$.pipe(map(r => r.response), filter(isSuccessOrErrorState), map(() => null));
|
|
70
|
-
errorHandled = false;
|
|
71
|
-
onError(cb) {
|
|
72
|
-
this.errorHandled = true;
|
|
73
|
-
this.on(this.selectError$, cb);
|
|
74
|
-
return this;
|
|
75
|
-
}
|
|
76
|
-
onSuccess(cb) {
|
|
77
|
-
this.on(this.selectResponse$, cb);
|
|
78
|
-
return this;
|
|
79
|
-
}
|
|
80
|
-
onSuccessOrError(cb) {
|
|
81
|
-
this.on(this.selectSuccessOrError$, cb);
|
|
82
|
-
return this;
|
|
83
|
-
}
|
|
84
|
-
onSuccessWithRequest(func) {
|
|
85
|
-
this.onUpdate(({ requestParams, response }) => {
|
|
86
|
-
if (isSuccessState(response)) {
|
|
87
|
-
func({ requestParams, body: response.body });
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return this;
|
|
91
|
-
}
|
|
92
|
-
onErrorWithRequest(func) {
|
|
93
|
-
this.onUpdate(({ requestParams, response }) => {
|
|
94
|
-
if (isErrorState(response)) {
|
|
95
|
-
func({ requestParams, error: response.error });
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
createRequest(...params) {
|
|
101
|
-
return this.req(...params).pipe(map(re => createSuccess((this.project ? this.project(re) : re))), mapError(createFailure), startWith(inProgress), map(state => ({ requestParams: params, response: state })), defaultShareReplay());
|
|
102
|
-
}
|
|
103
|
-
onUpdate(func) {
|
|
104
|
-
this.on(this.state$, func);
|
|
105
|
-
}
|
|
106
|
-
on = (srcObservable, func) => {
|
|
107
|
-
return this.effect((src) => {
|
|
108
|
-
return src.pipe(tap(func));
|
|
109
|
-
})(srcObservable);
|
|
110
|
-
};
|
|
111
|
-
request;
|
|
112
|
-
ngOnDestroy() {
|
|
113
|
-
super.ngOnDestroy();
|
|
114
|
-
}
|
|
115
|
-
requestWith = (params) => {
|
|
116
|
-
if (isSignal(params)) {
|
|
117
|
-
params = toObservable(params, { injector: this.injector }).pipe(notNull());
|
|
118
|
-
}
|
|
119
|
-
params.pipe(takeUntil(this.destroy$)).subscribe((p) => this.request(...p));
|
|
120
|
-
return this;
|
|
121
|
-
};
|
|
122
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
123
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 });
|
|
124
|
-
}
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateStore, decorators: [{
|
|
126
|
-
type: Directive
|
|
127
|
-
}], ctorParameters: () => [{ type: undefined }, { type: undefined }, { type: undefined }] });
|
|
128
|
-
export class CancellationToken {
|
|
129
|
-
}
|
|
130
|
-
export function wrapInArr(sigOrObs) {
|
|
131
|
-
return isSignal(sigOrObs) ?
|
|
132
|
-
computed(() => [sigOrObs()])
|
|
133
|
-
: sigOrObs.pipe(map(a => [a]));
|
|
134
|
-
}
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9IdHRwUmVxdWVzdFN0YXRlU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBc0IsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQW9FLE1BQU0sU0FBUyxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBWSxRQUFRLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBUWxDLE1BQU0sT0FBTyxxQkFBcUYsU0FBUSxjQUEwQztJQUN4SSxPQUFPLENBQXVCO0lBQzlCLE9BQU8sQ0FBZTtJQUN0QixHQUFHLENBQWdDO0lBQ25DLFFBQVEsQ0FBWTtJQUM1QixZQUFZLEdBQWtDLEVBQUUs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bnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0RmFjdG9yeSwgSHR0cFJlcXVlc3RTdHJhdGVneSwgSHR0cFJlcXVlc3RTdGF0dXMsIEh0dHBSZXF1ZXN0U3RhdGUsIFJlcXVlc3RTdGF0ZU9wdGlvbnMsIEh0dHBSZXF1ZXN0U3RhdGVDYW5jZWxsZWQgfSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgY3JlYXRlRmFpbHVyZSwgY3JlYXRlU3VjY2VzcywgaW5Qcm9ncmVzcywgaXNFcnJvclN0YXRlLCBpc1N1Y2Nlc3NPckVycm9yU3RhdGUsIGlzU3VjY2Vzc1N0YXRlLCBub3RTdGFydGVkIH0gZnJvbSAnLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG1hcEVycm9yIH0gZnJvbSAnLi4vcnhqcy9tYXBFcnJvcic7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgSW5qZWN0b3IsIGlzU2lnbmFsLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgbm90TnVsbCB9IGZyb20gJy4uL3J4anMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0UmVzcG9uc2U8VFBhcmFtIGV4dGVuZHMgYW55W10sIFQ+IHtcclxuICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICByZXNwb25zZTogSHR0cFJlcXVlc3RTdGF0ZTxUPjtcclxufVxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8VFBhcmFtIGV4dGVuZHMgYW55W10sIFYsIFIgPSBudWxsLCBUID0gUiBleHRlbmRzIG51bGwgPyBWIDogUj4gZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxSZXF1ZXN0UmVzcG9uc2U8VFBhcmFtLCBUPj4ge1xyXG4gICAgcHJpdmF0ZSBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucztcclxuICAgIHByaXZhdGUgcHJvamVjdD86ICh2OiBWKSA9PiBSO1xyXG4gICAgcHJpdmF0ZSByZXE6IEh0dHBSZXF1ZXN0RmFjdG9yeTxUUGFyYW0sIFY+O1xyXG4gICAgcHJpdmF0ZSBpbmplY3Rvcj86IEluamVjdG9yO1xyXG4gICAgY29uc3RydWN0b3IocmVxOiBIdHRwUmVxdWVzdEZhY3Rvcnk8VFBhcmFtLCBWPiAsb3B0aW9ucz86IFJlcXVlc3RTdGF0ZU9wdGlvbnM8VFBhcmFtPiwgcHJvamVjdD86ICh2OiBWKSA9PiBSKSB7XHJcbiAgICAgIHN1cGVyKHsgcmVxdWVzdFBhcmFtczogbnVsbCBhcyBhbnksIHJlc3BvbnNlOiBub3RTdGFydGVkIH0pO1xyXG4gICAgICB0aGlzLnByb2plY3QgPSBwcm9qZWN0O1xyXG4gICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xyXG4gICAgICB0aGlzLmluamVjdG9yID0gb3B0aW9ucz8uaW5qZWN0b3I7XHJcbiAgICAgIHRoaXMucmVxID0gcmVxO1xyXG4gICAgICB0aGlzLnJlcXVlc3QgPSAodGhpcy5vcHRpb25zPy5zdHJhdGVneSA9PT0gSHR0cFJlcXVlc3RTdHJhdGVneS5zaW5nbGVVc2UpID8gdGhpcy5zaW5nbGVVc2VSZXF1ZXN0IDogIHRoaXMuZmxhdHRlbmVkUmVxdWVzdDtcclxuXHJcbiAgICAgIGlmKG9wdGlvbnM/LmF1dG9SZXF1ZXN0V2l0aCl7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0KC4uLm9wdGlvbnMuYXV0b1JlcXVlc3RXaXRoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KCkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgcmVxdWVzdFBhcmFtczpudWxsIGFzIGFueSwgcmVzcG9uc2U6IG5vdFN0YXJ0ZWQgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmbGF0dGVuaW5nU3RyYXRlZ3kgPSAoKSA9PiB7XHJcbiAgICAgIGlmKHRoaXMub3B0aW9ucz8uc3RyYXRlZ3kgPT09IEh0dHBSZXF1ZXN0U3RyYXRlZ3kuY29uY3VycmVudClcclxuICAgICAgICByZXR1cm4gbWVyZ2VNYXAoIChwYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiB0aGlzLmNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zKSk7XHJcbiAgICAgIGlmKHRoaXMub3B0aW9ucz8uc3RyYXRlZ3kgPT09IEh0dHBSZXF1ZXN0U3RyYXRlZ3kuc2VxdWVudGlhbClcclxuICAgICAgICByZXR1cm4gY29uY2F0TWFwKCAocGFyYW1zOiBbLi4uVFBhcmFtXSkgPT4gdGhpcy5jcmVhdGVSZXF1ZXN0KC4uLnBhcmFtcykpO1xyXG4gICAgICByZXR1cm4gc3dpdGNoTWFwKCAocGFyYW1zOiBbLi4uVFBhcmFtXSkgPT4gKChwYXJhbXNbMF0gYXMgYW55KSBpbnN0YW5jZW9mIENhbmNlbGxhdGlvblRva2VuKSA/XHJcbiAgICAgICAgb2YoeyByZXF1ZXN0UGFyYW1zOiBwYXJhbXNbMF0sIHJlc3BvbnNlOiB7IHN0YXR1czogSHR0cFJlcXVlc3RTdGF0dXMuY2FuY2VsbGVkIH0gYXMgSHR0cFJlcXVlc3RTdGF0ZUNhbmNlbGxlZCB9ICkgOiB0aGlzLmNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zKSApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVxdWVzdEVmZmVjdDogKHZhbHVlOiBbLi4uVFBhcmFtXSApID0+IFN1YnNjcmlwdGlvbiA9IHRoaXMuZWZmZWN0KChvYnM6IE9ic2VydmFibGU8Wy4uLlRQYXJhbV0+KSA9PiB7XHJcbiAgICAgIHJldHVybiAob2JzKS5waXBlKFxyXG4gICAgICAgIHRoaXMuZmxhdHRlbmluZ1N0cmF0ZWd5KCksXHJcbiAgICAgICAgdGFwPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sIFQ+PihzdGF0ZSA9PiB0aGlzLnNldFN0YXRlKHN0YXRlKSksXHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBwcml2YXRlIGZsYXR0ZW5lZFJlcXVlc3QgPSAoLi4udmFsdWU6IFsuLi5UUGFyYW1dKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3RFZmZlY3QodmFsdWUpIGFzIFN1YnNjcmlwdGlvbjtcclxuICAgIH1cclxuICAgIHByaXZhdGUgc2luZ2xlVXNlUmVxdWVzdCA9ICguLi52YWx1ZTogWy4uLlRQYXJhbV0pID0+IHtcclxuICAgICAgaWYgKHRoaXMuZ2V0KCkucmVzcG9uc2Uuc3RhdHVzICE9PSBIdHRwUmVxdWVzdFN0YXR1cy5ub3RTdGFydGVkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwic3RhdGUgY2FuIG5vdCBiZSByZXVzZWQuIGVpdGhlciByZXNldCB0aGUgc3RhdGUgYnkgY2FsbGluZyByZXNldCgpIG9yIHVzZSBhIHN0YXRlIHJlcXVlc3RlciB0aGF0IGFsbG93cyBjb25jdXJyZW50IHJlcXVlc3RzLlwiKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0RWZmZWN0KHZhbHVlKSBhcyBTdWJzY3JpcHRpb247XHJcbiAgICB9XHJcblxyXG4gICAgJHNlbGVjdEh0dHBTdGF0ZSA9IHRoaXMuc2VsZWN0U2lnbmFsKGEgPT4gYS5yZXNwb25zZSk7XHJcblxyXG4gICAgc2VsZWN0SHR0cFN0YXRlJCA9IHRoaXMuc2VsZWN0KGEgPT4gYS5yZXNwb25zZSk7XHJcblxyXG4gICAgJHNlbGVjdFN0YXR1cyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuJHNlbGVjdEh0dHBTdGF0ZSgpPy5zdGF0dXMpO1xyXG5cclxuICAgIHNlbGVjdFN0YXR1cyQgPSB0aGlzLnNlbGVjdEh0dHBTdGF0ZSQucGlwZShtYXAocyA9PiBzLnN0YXR1cykpO1xyXG5cclxuXHJcblxyXG4gICAgc2VsZWN0RXJyb3IkID0gdGhpcy5zZWxlY3RIdHRwU3RhdGUkLnBpcGUoXHJcbiAgICAgIGZpbHRlcihpc0Vycm9yU3RhdGUpLFxyXG4gICAgICBtYXAoc3RhdGUgPT4gc3RhdGUuZXJyb3IpXHJcbiAgICApO1xyXG5cclxuICAgICRzZWxlY3RFcnJvciA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLiRzZWxlY3RIdHRwU3RhdGUoKTtcclxuICAgICAgaWYoaXNFcnJvclN0YXRlKHN0YXRlKSkgcmV0dXJuIHN0YXRlLmVycm9yXHJcbiAgICB9KVxyXG5cclxuICAgIHNlbGVjdFJlc3BvbnNlJDogT2JzZXJ2YWJsZTxUPiA9IHRoaXMuc2VsZWN0SHR0cFN0YXRlJC5waXBlKFxyXG4gICAgICBmaWx0ZXIoaXNTdWNjZXNzU3RhdGUpLFxyXG4gICAgICBtYXAoIHN0YXRlID0+IHN0YXRlLmJvZHkpXHJcbiAgICApO1xyXG5cclxuICAgICRzZWxlY3RSZXNwb25zZSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLiRzZWxlY3RIdHRwU3RhdGUoKTtcclxuICAgICAgaWYoaXNTdWNjZXNzU3RhdGUoc3RhdGUpKXtcclxuICAgICAgICByZXR1cm4gc3RhdGUuYm9keVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9KVxyXG5cclxuICAgIHNlbGVjdFN1Y2Nlc3NPckVycm9yJCA9IHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHIucmVzcG9uc2UpLFxyXG4gICAgICBmaWx0ZXIoaXNTdWNjZXNzT3JFcnJvclN0YXRlKSxcclxuICAgICAgbWFwKCAoKSA9PiBudWxsKVxyXG4gICAgKTtcclxuXHJcbiAgICBlcnJvckhhbmRsZWQgPSBmYWxzZTtcclxuICAgIG9uRXJyb3IoIGNiOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vbih0aGlzLnNlbGVjdEVycm9yJCwgY2IpO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvblN1Y2Nlc3MoIGNiOiAoYm9keT86IFQpID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vbih0aGlzLnNlbGVjdFJlc3BvbnNlJCwgY2IpO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvblN1Y2Nlc3NPckVycm9yKGNiOiAoKSA9PiB2b2lkKXtcclxuICAgICAgdGhpcy5vbih0aGlzLnNlbGVjdFN1Y2Nlc3NPckVycm9yJCwgY2IpO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvblN1Y2Nlc3NXaXRoUmVxdWVzdChmdW5jOiAoc3RhdGU6IHtcclxuICAgICAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgICAgIGJvZHk6IFQ7XHJcbiAgICB9KSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMub25VcGRhdGUoKHsgcmVxdWVzdFBhcmFtcywgcmVzcG9uc2UgfSkgPT4ge1xyXG4gICAgICAgIGlmKGlzU3VjY2Vzc1N0YXRlKHJlc3BvbnNlKSl7XHJcbiAgICAgICAgICBmdW5jKHtyZXF1ZXN0UGFyYW1zLGJvZHk6IHJlc3BvbnNlLmJvZHl9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvbkVycm9yV2l0aFJlcXVlc3QoZnVuYzogKHN0YXRlOiB7XHJcbiAgICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZTtcclxuICAgICAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgICB9KSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMub25VcGRhdGUoICh7IHJlcXVlc3RQYXJhbXMsIHJlc3BvbnNlIH0pID0+IHtcclxuICAgICAgICBpZihpc0Vycm9yU3RhdGUocmVzcG9uc2UpKXtcclxuICAgICAgICAgIGZ1bmMoeyByZXF1ZXN0UGFyYW1zLCBlcnJvcjogcmVzcG9uc2UuZXJyb3IgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjcmVhdGVSZXF1ZXN0KC4uLnBhcmFtczogWy4uLlRQYXJhbV0pOiBPYnNlcnZhYmxlPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sIFQ+PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlcSguLi5wYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlID0+IGNyZWF0ZVN1Y2Nlc3MoKHRoaXMucHJvamVjdCA/IHRoaXMucHJvamVjdChyZSkgOiByZSkgYXMgVCkpLFxyXG4gICAgICAgIG1hcEVycm9yKGNyZWF0ZUZhaWx1cmUpLFxyXG4gICAgICAgIHN0YXJ0V2l0aChpblByb2dyZXNzKSxcclxuICAgICAgICBtYXAoIHN0YXRlID0+ICh7IHJlcXVlc3RQYXJhbXM6IHBhcmFtcywgcmVzcG9uc2U6IHN0YXRlIH0pKSxcclxuICAgICAgICBkZWZhdWx0U2hhcmVSZXBsYXkoKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG9uVXBkYXRlKGZ1bmM6IChzdGF0ZToge1xyXG4gICAgICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICAgICAgcmVzcG9uc2U6IEh0dHBSZXF1ZXN0U3RhdGU8VD47XHJcbiAgICB9KSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMub24odGhpcy5zdGF0ZSQsIGZ1bmMpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uID0gPFY+KHNyY09ic2VydmFibGU6IE9ic2VydmFibGU8Vj4sIGZ1bmM6IChvYmo6IFYpID0+IHZvaWQpOiBTdWJzY3JpcHRpb24gPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5lZmZlY3QoKHNyYzogT2JzZXJ2YWJsZTxWPikgPT4ge1xyXG4gICAgICAgIHJldHVybiBzcmMucGlwZSh0YXAoZnVuYykpO1xyXG4gICAgICB9KShzcmNPYnNlcnZhYmxlKSBhcyBTdWJzY3JpcHRpb247XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdDogKC4uLnZhbHVlOiAgWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdFdpdGggPSAocGFyYW1zOiBPYnNlcnZhYmxlPFsuLi5UUGFyYW1dPiB8IFNpZ25hbDxbLi4uVFBhcmFtXT4pID0+IHtcclxuICAgICAgaWYoaXNTaWduYWwocGFyYW1zKSl7XHJcbiAgICAgICAgcGFyYW1zID0gdG9PYnNlcnZhYmxlKHBhcmFtcywgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KS5waXBlKG5vdE51bGwoKSk7XHJcbiAgICAgIH1cclxuICAgICAgcGFyYW1zLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHApID0+IHRoaXMucmVxdWVzdCguLi5wKSk7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuICBleHBvcnQgY2xhc3MgQ2FuY2VsbGF0aW9uVG9rZW4ge31cclxuICBleHBvcnQgZnVuY3Rpb24gd3JhcEluQXJyPFQ+KHNpZzogU2lnbmFsPFQ+KSA6IFNpZ25hbDxbVF0+O1xyXG4gIGV4cG9ydCBmdW5jdGlvbiB3cmFwSW5BcnI8VD4ob2JzOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxbVF0+O1xyXG4gIGV4cG9ydCBmdW5jdGlvbiB3cmFwSW5BcnI8VD4oc2lnT3JPYnM6IFNpZ25hbDxUPiB8IE9ic2VydmFibGU8VD4pe1xyXG4gICAgcmV0dXJuIGlzU2lnbmFsKHNpZ09yT2JzKSA/XHJcbiAgICBjb21wdXRlZCgoKSA9PiBbc2lnT3JPYnMoKV0pXHJcbiAgICA6IHNpZ09yT2JzLnBpcGUobWFwKGEgPT4gW2FdKSk7XHJcbiAgfVxyXG4iXX0=
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Directive, inject, Injector, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
-
import { HttpRequestStateDirective } from './request-state-directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class HttpStateDirectiveBase {
|
|
5
|
-
hasView = false;
|
|
6
|
-
injector = inject(Injector);
|
|
7
|
-
templateRef = inject((TemplateRef));
|
|
8
|
-
viewContainer = inject(ViewContainerRef);
|
|
9
|
-
ngOnInit() {
|
|
10
|
-
const parent = this.injector.get(HttpRequestStateDirective);
|
|
11
|
-
if (parent == null) {
|
|
12
|
-
throw new Error('You can only use an http state directive as a child of the httpRequestState directive.');
|
|
13
|
-
}
|
|
14
|
-
parent.hooks.push(this.baseRender);
|
|
15
|
-
this.baseRender(parent.ViewContext.state);
|
|
16
|
-
}
|
|
17
|
-
baseRender = (state) => {
|
|
18
|
-
if (this.hasView) {
|
|
19
|
-
this.viewContainer.clear();
|
|
20
|
-
this.hasView = false;
|
|
21
|
-
}
|
|
22
|
-
this.hasView = this.render(state);
|
|
23
|
-
};
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpStateDirectiveBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpStateDirectiveBase, ngImport: i0 });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
|
|
28
|
-
type: Directive
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFN0YXRlRGlyZWN0aXZlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBR3RFLE1BQU0sT0FBZ0Isc0JBQXNCO0lBQzFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDUixRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFCLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQSxXQUFrRCxDQUFBLENBQUMsQ0FBQztJQUN6RSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsUUFBUTtRQUNOLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDNUQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RkFBd0YsQ0FBQyxDQUFDO1FBQzVHLENBQUM7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxVQUFVLEdBQUcsQ0FBQyxLQUF1QixFQUFRLEVBQUU7UUFDckQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQTt1R0FwQm1CLHNCQUFzQjsyRkFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIEluamVjdG9yLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXF1ZXN0LXN0YXRlLWRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2U8ViwgUiA9IG51bGw+IHtcclxuICBoYXNWaWV3ID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XHJcbiAgcHJvdGVjdGVkIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBSIGV4dGVuZHMgbnVsbCA/IFYgOiBSIH0+KTtcclxuICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lciA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuaW5qZWN0b3IuZ2V0KEh0dHBSZXF1ZXN0U3RhdGVEaXJlY3RpdmUpO1xyXG4gICAgaWYgKHBhcmVudCA9PSBudWxsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbiBvbmx5IHVzZSBhbiBodHRwIHN0YXRlIGRpcmVjdGl2ZSBhcyBhIGNoaWxkIG9mIHRoZSBodHRwUmVxdWVzdFN0YXRlIGRpcmVjdGl2ZS4nKTtcclxuICAgIH1cclxuICAgIHBhcmVudC5ob29rcy5wdXNoKHRoaXMuYmFzZVJlbmRlcik7XHJcbiAgICB0aGlzLmJhc2VSZW5kZXIocGFyZW50LlZpZXdDb250ZXh0LnN0YXRlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmFzZVJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZSk6IHZvaWQgPT4ge1xyXG4gICAgaWYgKHRoaXMuaGFzVmlldykge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgICAgdGhpcy5oYXNWaWV3ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmhhc1ZpZXcgPSB0aGlzLnJlbmRlcihzdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBhYnN0cmFjdCByZW5kZXI6IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZSkgPT4gYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
render = (state) => {
|
|
7
|
-
if (isErrorState(state)) {
|
|
8
|
-
this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.error });
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
return false;
|
|
12
|
-
};
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpErrorStateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
17
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpErrorStateDirective, isStandalone: true, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 });
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
|
|
20
|
-
type: Directive,
|
|
21
|
-
args: [{ selector: '[httpErrorState]', standalone: true }]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUdsRSxNQUFNLE9BQU8sdUJBQXFDLFNBQVEsc0JBQTRCO0lBR3BGLE1BQU0sR0FBRyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtRQUN4QyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNwRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGLFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQzt1R0FiVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzRXJyb3JTdGF0ZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwRXJyb3JTdGF0ZV0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JTdGF0ZURpcmVjdGl2ZTxWLCBSID0gbnVsbD4gZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlPFYsIFI+IHtcclxuXHJcblxyXG4gIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxhbnk+KSA9PiB7XHJcbiAgICBpZiAoaXNFcnJvclN0YXRlKHN0YXRlKSkge1xyXG4gICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHsgJGltcGxpY2l0OiBzdGF0ZS5lcnJvciB9KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
render = (state) => {
|
|
7
|
-
if (state.status === HttpRequestStatus.inProgress) {
|
|
8
|
-
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
return false;
|
|
12
|
-
};
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpInProgressStateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
17
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpInProgressStateDirective, isStandalone: true, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 });
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
|
|
20
|
-
type: Directive,
|
|
21
|
-
args: [{ selector: '[httpInProgressState]', standalone: true }]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pblByb2dyZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLWluUHJvZ3Jlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTs7QUFJOUQsTUFBTSxPQUFPLDRCQUEyQyxTQUFRLHNCQUE0QjtJQUN4RixNQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7UUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBRSxDQUFDO1lBQ3pELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRixRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7dUdBWFEsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSwgSHR0cFJlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi90eXBlcydcclxuXHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbaHR0cEluUHJvZ3Jlc3NTdGF0ZV0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwSW5Qcm9ncmVzc1N0YXRlRGlyZWN0aXZlPFYsIFIgPSBudWxsPiAgZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlPFYsIFI+IHtcclxuICAgIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgaWYoc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5pblByb2dyZXNzKXtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmICk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
render = (state) => {
|
|
7
|
-
if (state.status === HttpRequestStatus.notStarted) {
|
|
8
|
-
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
return false;
|
|
12
|
-
};
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
super.ngOnInit();
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpNotStartedStateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
17
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpNotStartedStateDirective, isStandalone: true, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 });
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
|
|
20
|
-
type: Directive,
|
|
21
|
-
args: [{ selector: '[httpNotStartedState]', standalone: true }]
|
|
22
|
-
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ub3RTdGFydGVkLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLW5vdFN0YXJ0ZWQtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFJbEUsTUFBTSxPQUFPLDRCQUEwQyxTQUFRLHNCQUE0QjtJQUN2RixNQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7UUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBRSxDQUFDO1lBQ3pELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRixRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7dUdBWFEsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRHhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlLCBIdHRwUmVxdWVzdFN0YXR1cyB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB9IGZyb20gJy4vSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSc7XHJcblxyXG5cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2h0dHBOb3RTdGFydGVkU3RhdGVdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxyXG5leHBvcnQgY2xhc3MgSHR0cE5vdFN0YXJ0ZWRTdGF0ZURpcmVjdGl2ZTxWLCBSID0gbnVsbD4gZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlPFYsIFI+IHtcclxuICAgIHJlbmRlciA9IChzdGF0ZTogSHR0cFJlcXVlc3RTdGF0ZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgaWYoc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5ub3RTdGFydGVkKXtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmICk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
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
|
-
httpSuccessStateTypeSafety;
|
|
7
|
-
render = (state) => {
|
|
8
|
-
if (isSuccessState(state)) {
|
|
9
|
-
this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.body });
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
return false;
|
|
13
|
-
};
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
super.ngOnInit();
|
|
16
|
-
}
|
|
17
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpSuccessStateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpSuccessStateDirective, isStandalone: true, selector: "[httpSuccessState]", inputs: { httpSuccessStateTypeSafety: "httpSuccessStateTypeSafety" }, usesInheritance: true, ngImport: i0 });
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
|
|
24
|
-
type: Directive,
|
|
25
|
-
args: [{ selector: '[httpSuccessState]', standalone: true }]
|
|
26
|
-
}], propDecorators: { httpSuccessStateTypeSafety: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdWNjZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLXN1Y2Nlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBU2xFLE1BQU0sT0FBTyx5QkFBdUMsU0FBUSxzQkFBNEI7SUFDN0UsMEJBQTBCLENBQXNFO0lBQ3pHLE1BQU0sR0FBRyxDQUFDLEtBQStDLEVBQUUsRUFBRTtRQUMzRCxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNuRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGLFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBTyxHQUFvQyxFQUFFLEdBQVE7UUFDaEYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQWhCVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzhCQUVwRCwwQkFBMEI7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzU3VjY2Vzc1N0YXRlIH0gZnJvbSAnLi4vaGVscGVycyc7XHJcbmltcG9ydCB7IEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL0h0dHBTdGF0ZURpcmVjdGl2ZUJhc2UnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlU3RvcmUgfSBmcm9tICcuLi9IdHRwUmVxdWVzdFN0YXRlU3RvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBTdWNjZXNzU3RhdGVWaWV3Q29udGV4dDxUPiB7XHJcbiAgJGltcGxpY2l0OiBUO1xyXG59XHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwU3VjY2Vzc1N0YXRlXScsIHN0YW5kYWxvbmU6IHRydWUgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBTdWNjZXNzU3RhdGVEaXJlY3RpdmU8ViwgUiA9IG51bGw+IGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZTxWLCBSPiB7XHJcbiAgQElucHV0KCkgaHR0cFN1Y2Nlc3NTdGF0ZVR5cGVTYWZldHk/OiBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8YW55LCBWLCBSPiB8IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxWPj47XHJcbiAgcmVuZGVyID0gKHN0YXRlOiBIdHRwUmVxdWVzdFN0YXRlPFIgZXh0ZW5kcyBudWxsID8gViA6IFI+KSA9PiB7XHJcbiAgICBpZiAoaXNTdWNjZXNzU3RhdGUoc3RhdGUpKSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgeyAkaW1wbGljaXQ6IHN0YXRlLmJvZHkgfSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFYsIFI+KGRpcjogSHR0cFN1Y2Nlc3NTdGF0ZURpcmVjdGl2ZTxWLCBSPiwgY3R4OiBhbnkpOiBjdHggaXMgSHR0cFN1Y2Nlc3NTdGF0ZVZpZXdDb250ZXh0PFIgZXh0ZW5kcyBudWxsID8gViA6IFI+IHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './http-error-state-directive';
|
|
2
|
-
export * from './http-inProgress-state-directive';
|
|
3
|
-
export * from './http-notStarted-state-directive';
|
|
4
|
-
export * from './http-success-state-directive';
|
|
5
|
-
export * from './request-state-directive';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9odHRwLWVycm9yLXN0YXRlLWRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1pblByb2dyZXNzLXN0YXRlLWRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1ub3RTdGFydGVkLXN0YXRlLWRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1zdWNjZXNzLXN0YXRlLWRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG4iXX0=
|
|
@@ -1,61 +0,0 @@
|
|
|
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
|
-
viewContainer;
|
|
9
|
-
ViewContext = {
|
|
10
|
-
$implicit: undefined,
|
|
11
|
-
state: undefined,
|
|
12
|
-
status: {
|
|
13
|
-
inProgress: false,
|
|
14
|
-
notStarted: true,
|
|
15
|
-
success: false,
|
|
16
|
-
error: false,
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
subject = new Subject();
|
|
20
|
-
state = this.subject.pipe(switchAll(), defaultShareReplay());
|
|
21
|
-
subscription;
|
|
22
|
-
hooks = [];
|
|
23
|
-
set stateStore(store) {
|
|
24
|
-
if (isObservable(store)) {
|
|
25
|
-
this.subject.next(store);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
this.subject.next(store.state$.pipe(map(state => state.response)));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
constructor(templateRef, viewContainer) {
|
|
32
|
-
this.viewContainer = viewContainer;
|
|
33
|
-
this.viewContainer.createEmbeddedView(templateRef, this.ViewContext);
|
|
34
|
-
this.subscription = this.state.subscribe(state => {
|
|
35
|
-
this.ViewContext.$implicit = state;
|
|
36
|
-
this.ViewContext.state = state;
|
|
37
|
-
this.ViewContext.status.inProgress = state.status === HttpRequestStatus.inProgress;
|
|
38
|
-
this.ViewContext.status.notStarted = state.status === HttpRequestStatus.notStarted;
|
|
39
|
-
this.ViewContext.status.success = state.status === HttpRequestStatus.success;
|
|
40
|
-
this.ViewContext.status.error = state.status === HttpRequestStatus.fail;
|
|
41
|
-
this.hooks.forEach(hook => hook(state));
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
ngOnDestroy() {
|
|
45
|
-
this.viewContainer.clear();
|
|
46
|
-
this.subscription.unsubscribe();
|
|
47
|
-
}
|
|
48
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: HttpRequestStateDirective, isStandalone: true, selector: "[httpRequestState]", inputs: { stateStore: ["httpRequestState", "stateStore"] }, ngImport: i0 });
|
|
53
|
-
}
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: HttpRequestStateDirective, decorators: [{
|
|
55
|
-
type: Directive,
|
|
56
|
-
args: [{ selector: '[httpRequestState]', standalone: true }]
|
|
57
|
-
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { stateStore: [{
|
|
58
|
-
type: Input,
|
|
59
|
-
args: ['httpRequestState']
|
|
60
|
-
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXlDLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQWMsT0FBTyxFQUFrQixNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBYy9ELE1BQU0sT0FBTyx5QkFBeUI7SUFDNUIsYUFBYSxDQUFtQjtJQUUvQixXQUFXLEdBQW1DO1FBQ3JELFNBQVMsRUFBRSxTQUFTO1FBQ3BCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE1BQU0sRUFBRTtZQUNOLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsS0FBSyxFQUFFLEtBQUs7U0FDYjtLQUNGLENBQUM7SUFHRixPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQW1DLENBQUM7SUFDekQsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUM3RCxZQUFZLENBQWlCO0lBQzdCLEtBQUssR0FBNkMsRUFBRSxDQUFDO0lBRXJELElBQStCLFVBQVUsQ0FBQyxLQUErRTtRQUN2SCxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBRUgsQ0FBQztJQUNELFlBQVksV0FBNkIsRUFBRSxhQUErQjtRQUN4RSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUNuRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDbkYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLEtBQUssaUJBQWlCLENBQUMsT0FBTyxDQUFDO1lBQzdFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBTyxHQUF5QyxFQUFFLEdBQVE7UUFDckYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3VHQWxEVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOytHQXFCOUIsVUFBVTtzQkFBeEMsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uLy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaEFsbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlIH0gZnJvbSAnLi4vSHR0cFJlcXVlc3RTdGF0ZVN0b3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSwgSHR0cFJlcXVlc3RTdGF0dXMgfSBmcm9tICcuLi90eXBlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBSZXF1ZXN0U3RhdGVWaWV3Q29udGV4dDxUPiB7XHJcbiAgJGltcGxpY2l0PzogSHR0cFJlcXVlc3RTdGF0ZUFueTxUPjtcclxuICBzdGF0ZT86IEh0dHBSZXF1ZXN0U3RhdGVBbnk8VD47XHJcbiAgc3RhdHVzOiB7XHJcbiAgICBpblByb2dyZXNzOiBib29sZWFuO1xyXG4gICAgbm90U3RhcnRlZDogYm9vbGVhbjtcclxuICAgIHN1Y2Nlc3M6IGJvb2xlYW47XHJcbiAgICBlcnJvcjogYm9vbGVhbjtcclxuICB9O1xyXG59XHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbaHR0cFJlcXVlc3RTdGF0ZV0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBWLCBSLCBUID0gUiBleHRlbmRzIG51bGwgPyBWIDogUj4ge1xyXG4gIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgcmVhZG9ubHkgVmlld0NvbnRleHQ6IEh0dHBSZXF1ZXN0U3RhdGVWaWV3Q29udGV4dDxUPiA9IHtcclxuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkLFxyXG4gICAgc3RhdGU6IHVuZGVmaW5lZCxcclxuICAgIHN0YXR1czoge1xyXG4gICAgICBpblByb2dyZXNzOiBmYWxzZSxcclxuICAgICAgbm90U3RhcnRlZDogdHJ1ZSxcclxuICAgICAgc3VjY2VzczogZmFsc2UsXHJcbiAgICAgIGVycm9yOiBmYWxzZSxcclxuICAgIH1cclxuICB9O1xyXG5cclxuXHJcbiAgc3ViamVjdCA9IG5ldyBTdWJqZWN0PE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj4+KCk7XHJcbiAgc3RhdGUgPSB0aGlzLnN1YmplY3QucGlwZShzd2l0Y2hBbGwoKSwgZGVmYXVsdFNoYXJlUmVwbGF5KCkpO1xyXG4gIHN1YnNjcmlwdGlvbjogVW5zdWJzY3JpYmFibGU7XHJcbiAgaG9va3M6ICgoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8VD4pID0+IHZvaWQpW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCdodHRwUmVxdWVzdFN0YXRlJykgc2V0IHN0YXRlU3RvcmUoc3RvcmU6IEh0dHBSZXF1ZXN0U3RhdGVTdG9yZTxUUGFyYW0sIFYsIFIsIFQ+IHwgT2JzZXJ2YWJsZTxIdHRwUmVxdWVzdFN0YXRlPFQ+Pikge1xyXG4gICAgaWYgKGlzT2JzZXJ2YWJsZShzdG9yZSkpIHtcclxuICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoc3RvcmUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoc3RvcmUuc3RhdGUkLnBpcGUobWFwKHN0YXRlID0+IHN0YXRlLnJlc3BvbnNlKSkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgY29uc3RydWN0b3IodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lciA9IHZpZXdDb250YWluZXI7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRlbXBsYXRlUmVmLCB0aGlzLlZpZXdDb250ZXh0KTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5zdGF0ZS5zdWJzY3JpYmUoc3RhdGUgPT4ge1xyXG4gICAgICB0aGlzLlZpZXdDb250ZXh0LiRpbXBsaWNpdCA9IHN0YXRlO1xyXG4gICAgICB0aGlzLlZpZXdDb250ZXh0LnN0YXRlID0gc3RhdGU7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLmluUHJvZ3Jlc3MgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLmluUHJvZ3Jlc3M7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLm5vdFN0YXJ0ZWQgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLm5vdFN0YXJ0ZWQ7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLnN1Y2Nlc3MgPSBzdGF0ZS5zdGF0dXMgPT09IEh0dHBSZXF1ZXN0U3RhdHVzLnN1Y2Nlc3M7XHJcbiAgICAgIHRoaXMuVmlld0NvbnRleHQuc3RhdHVzLmVycm9yID0gc3RhdGUuc3RhdHVzID09PSBIdHRwUmVxdWVzdFN0YXR1cy5mYWlsO1xyXG4gICAgICB0aGlzLmhvb2tzLmZvckVhY2goaG9vayA9PiBob29rKHN0YXRlKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFYsIFI+KGRpcjogSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZTxhbnksIFYsIFI+LCBjdHg6IGFueSk6IGN0eCBpcyBIdHRwUmVxdWVzdFN0YXRlVmlld0NvbnRleHQ8UiBleHRlbmRzIG51bGwgPyBWIDogUj4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RTdGF0ZUFueTxUPiA9IHtcclxuICBzdGF0dXM6IEh0dHBSZXF1ZXN0U3RhdHVzO1xyXG4gIGJvZHk/OiBUO1xyXG4gIGVycm9yPzogYW55O1xyXG59XHJcbiJdfQ==
|