@one-paragon/angular-utilities 0.1.31 → 0.1.32-beta.2
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/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +23 -23
- package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +28 -28
- package/esm2020/action-state/index.mjs +8 -8
- package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +23 -23
- package/esm2020/action-state/ngrx.mjs +42 -42
- package/esm2020/http-request-state/HttpRequestStateFactory.mjs +26 -26
- package/esm2020/http-request-state/HttpRequestStateStore.mjs +96 -96
- package/esm2020/http-request-state/directives/HttpStateDirectiveBase.mjs +33 -33
- package/esm2020/http-request-state/directives/http-error-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-inProgress-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-notStarted-state-directive.mjs +28 -28
- package/esm2020/http-request-state/directives/http-success-state-directive.mjs +33 -33
- package/esm2020/http-request-state/directives/index.mjs +5 -5
- package/esm2020/http-request-state/directives/request-state-directive.mjs +59 -59
- package/esm2020/http-request-state/helpers.mjs +21 -21
- package/esm2020/http-request-state/http-request-state.mjs +38 -38
- package/esm2020/http-request-state/http-state-module.mjs +40 -40
- package/esm2020/http-request-state/index.mjs +6 -6
- package/esm2020/http-request-state/rxjs/getRequestorBody.mjs +3 -3
- package/esm2020/http-request-state/rxjs/getRequestorState.mjs +2 -2
- package/esm2020/http-request-state/rxjs/index.mjs +4 -4
- package/esm2020/http-request-state/rxjs/tapError.mjs +11 -11
- package/esm2020/http-request-state/rxjs/tapSuccess.mjs +11 -11
- package/esm2020/http-request-state/types.mjs +15 -15
- package/esm2020/ngrx/actionable-selector.mjs +75 -75
- package/esm2020/ngrx/index.mjs +1 -1
- package/esm2020/one-paragon-angular-utilities.mjs +4 -4
- package/esm2020/public-api.mjs +19 -19
- package/esm2020/rxjs/defaultShareReplay.mjs +6 -6
- package/esm2020/rxjs/index.mjs +5 -5
- package/esm2020/rxjs/mapError.mjs +7 -7
- package/esm2020/rxjs/rxjs-operators.mjs +91 -91
- package/esm2020/rxjs/subjectifier.mjs +15 -15
- package/esm2020/table-builder/classes/DefaultSettings.mjs +6 -6
- package/esm2020/table-builder/classes/GenericTableDataSource.mjs +13 -13
- package/esm2020/table-builder/classes/MatTableObservableDataSource.mjs +41 -21
- package/esm2020/table-builder/classes/TableBuilderConfig.mjs +3 -3
- package/esm2020/table-builder/classes/TableState.mjs +31 -31
- package/esm2020/table-builder/classes/data-filter.mjs +26 -26
- package/esm2020/table-builder/classes/display-col.mjs +1 -1
- package/esm2020/table-builder/classes/filter-info.mjs +73 -73
- package/esm2020/table-builder/classes/table-builder-general-settings.mjs +67 -67
- package/esm2020/table-builder/classes/table-builder.mjs +76 -76
- package/esm2020/table-builder/classes/table-store.mjs +292 -292
- package/esm2020/table-builder/components/array-column.component.mjs +32 -32
- package/esm2020/table-builder/components/column-builder/column-builder.component.mjs +112 -112
- package/esm2020/table-builder/components/date-filter/date-filter.component.mjs +25 -25
- package/esm2020/table-builder/components/date-time-filter/date-time-filter.component.mjs +22 -22
- package/esm2020/table-builder/components/filter/filter.component.mjs +54 -54
- package/esm2020/table-builder/components/filter/in-list/in-list-filter.component.mjs +79 -79
- package/esm2020/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +45 -45
- package/esm2020/table-builder/components/generic-table/generic-table.component.mjs +207 -202
- package/esm2020/table-builder/components/generic-table/paginator.component.mjs +62 -60
- package/esm2020/table-builder/components/group-by-list/group-by-list.component.mjs +22 -22
- package/esm2020/table-builder/components/header-menu/header-menu.component.mjs +90 -90
- package/esm2020/table-builder/components/in-filter/in-filter.component.mjs +63 -63
- package/esm2020/table-builder/components/index.mjs +10 -10
- package/esm2020/table-builder/components/initialization-component/initialization-component.mjs +33 -33
- package/esm2020/table-builder/components/link-column.component.mjs +30 -30
- package/esm2020/table-builder/components/number-filter/number-filter.component.mjs +26 -26
- package/esm2020/table-builder/components/sort-menu/sort-menu.component-store.mjs +41 -41
- package/esm2020/table-builder/components/sort-menu/sort-menu.component.mjs +75 -75
- package/esm2020/table-builder/components/table-container/table-container.mjs +324 -322
- package/esm2020/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +42 -42
- package/esm2020/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +30 -30
- package/esm2020/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +24 -24
- package/esm2020/table-builder/directives/custom-cell-directive.mjs +58 -58
- package/esm2020/table-builder/directives/index.mjs +6 -6
- package/esm2020/table-builder/directives/multi-sort.directive.mjs +42 -42
- package/esm2020/table-builder/directives/resize-column.directive.mjs +85 -85
- package/esm2020/table-builder/directives/table-wrapper.directive.mjs +26 -26
- package/esm2020/table-builder/directives/tb-filter.directive.mjs +403 -403
- package/esm2020/table-builder/enums/filterTypes.mjs +72 -72
- package/esm2020/table-builder/functions/boolean-filter-function.mjs +9 -9
- package/esm2020/table-builder/functions/date-filter-function.mjs +58 -58
- package/esm2020/table-builder/functions/download-data.mjs +11 -11
- package/esm2020/table-builder/functions/null-filter-function.mjs +7 -7
- package/esm2020/table-builder/functions/number-filter-function.mjs +31 -31
- package/esm2020/table-builder/functions/sort-data-function.mjs +4 -4
- package/esm2020/table-builder/functions/string-filter-function.mjs +40 -40
- package/esm2020/table-builder/interfaces/ColumnInfo.mjs +1 -1
- package/esm2020/table-builder/interfaces/dictionary.mjs +1 -1
- package/esm2020/table-builder/interfaces/report-def.mjs +35 -35
- package/esm2020/table-builder/material.module.mjs +207 -207
- package/esm2020/table-builder/ngrx/actions.mjs +4 -4
- package/esm2020/table-builder/ngrx/effects.mjs +47 -47
- package/esm2020/table-builder/ngrx/reducer.mjs +51 -51
- package/esm2020/table-builder/ngrx/selectors.mjs +23 -23
- package/esm2020/table-builder/pipes/column-total.pipe.mjs +19 -19
- package/esm2020/table-builder/pipes/format-filter-type.pipe.mjs +17 -17
- package/esm2020/table-builder/pipes/format-filter-value.pipe.mjs +45 -45
- package/esm2020/table-builder/pipes/key-display.mjs +19 -19
- package/esm2020/table-builder/services/export-to-csv.service.mjs +88 -88
- package/esm2020/table-builder/services/link-creator.service.mjs +42 -42
- package/esm2020/table-builder/services/table-template-service.mjs +44 -44
- package/esm2020/table-builder/services/transform-creator.mjs +75 -75
- package/esm2020/table-builder/table-builder.module.mjs +215 -207
- package/esm2020/utilities/directives/auto-focus.directive.mjs +25 -25
- package/esm2020/utilities/directives/clickEmitterDirective.mjs +20 -20
- package/esm2020/utilities/directives/clickSubject.mjs +26 -26
- package/esm2020/utilities/directives/conditional-classes.directive.mjs +35 -35
- package/esm2020/utilities/directives/dialog-service.mjs +25 -25
- package/esm2020/utilities/directives/dialog.mjs +137 -137
- package/esm2020/utilities/directives/mat-toggle-group-directive.mjs +59 -59
- package/esm2020/utilities/directives/prevent-enter.directive.mjs +18 -18
- package/esm2020/utilities/directives/stop-propagation.directive.mjs +24 -24
- package/esm2020/utilities/directives/styler.mjs +25 -25
- package/esm2020/utilities/directives/trim-whitespace.directive.mjs +29 -29
- package/esm2020/utilities/index.mjs +16 -16
- package/esm2020/utilities/module.mjs +91 -91
- package/esm2020/utilities/pipes/function.pipe.mjs +20 -20
- package/esm2020/utilities/pipes/phone.pipe.mjs +19 -19
- package/esm2020/utilities/pipes/space-case.pipes.mjs +28 -28
- package/fesm2015/one-paragon-angular-utilities.mjs +4449 -4413
- package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -1
- package/fesm2020/one-paragon-angular-utilities.mjs +4429 -4393
- package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -1
- 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 +1 -1
- 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 +17 -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 +74 -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 +69 -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 +48 -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
|
@@ -1,97 +1,97 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
-
import { HttpRequestStrategy, HttpRequestStatus } from './types';
|
|
4
|
-
import { createFailure, createSuccess, inProgress, isErrorState, isSuccessOrErrorState, isSuccessState, notStarted } from './helpers';
|
|
5
|
-
import { concatMap, filter, map, mergeMap, startWith, switchMap, tap } from 'rxjs/operators';
|
|
6
|
-
import { mapError } from '../rxjs/mapError';
|
|
7
|
-
import { defaultShareReplay } from '../rxjs/defaultShareReplay';
|
|
8
|
-
import { Directive } from '@angular/core';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class HttpRequestStateStore extends ComponentStore {
|
|
11
|
-
constructor(req, options) {
|
|
12
|
-
super({ requestParams: null, response: notStarted });
|
|
13
|
-
this.req = req;
|
|
14
|
-
this.options = options;
|
|
15
|
-
this.flatteningStrategy = () => {
|
|
16
|
-
if (this.options?.strategy === HttpRequestStrategy.concurrent)
|
|
17
|
-
return mergeMap((params) => this.createRequest(...params));
|
|
18
|
-
if (this.options?.strategy === HttpRequestStrategy.sequential)
|
|
19
|
-
return concatMap((params) => this.createRequest(...params));
|
|
20
|
-
return switchMap((params) => (params[0] instanceof CancellationToken) ?
|
|
21
|
-
of({ requestParams: params[0], response: { status: HttpRequestStatus.cancelled } }) : this.createRequest(...params));
|
|
22
|
-
};
|
|
23
|
-
this.requestEffect = this.effect((obs) => {
|
|
24
|
-
return (obs).pipe(this.flatteningStrategy(), tap(state => this.setState(state)));
|
|
25
|
-
});
|
|
26
|
-
this.flattenedRequest = (...value) => {
|
|
27
|
-
return this.requestEffect(value);
|
|
28
|
-
};
|
|
29
|
-
this.singleUseRequest = (...value) => {
|
|
30
|
-
if (this.get().response.status !== HttpRequestStatus.notStarted) {
|
|
31
|
-
throw new Error("state can not be reused. either reset the state by calling reset() or use a state requester that allows concurrent requests.");
|
|
32
|
-
}
|
|
33
|
-
return this.requestEffect(value);
|
|
34
|
-
};
|
|
35
|
-
this.selectHttpState$ = this.state$.pipe(map(a => a.response));
|
|
36
|
-
this.selectStatus$ = this.selectHttpState$.pipe(map(a => a.status));
|
|
37
|
-
this.selectError$ = this.state$.pipe(map(r => r.response), filter(isErrorState), map(state => state.error));
|
|
38
|
-
this.selectResponse$ = this.state$.pipe(map(r => r.response), filter(isSuccessState), map(state => state.body));
|
|
39
|
-
this.selectSuccessOrError$ = this.state$.pipe(map(r => r.response), filter(isSuccessOrErrorState), map(() => null));
|
|
40
|
-
this.errorHandled = false;
|
|
41
|
-
this.on = (srcObservable, func) => {
|
|
42
|
-
return this.effect((src) => {
|
|
43
|
-
return src.pipe(tap(func));
|
|
44
|
-
})(srcObservable);
|
|
45
|
-
};
|
|
46
|
-
this.request = (this.options?.strategy === HttpRequestStrategy.singleUse) ? this.singleUseRequest : this.flattenedRequest;
|
|
47
|
-
}
|
|
48
|
-
reset() {
|
|
49
|
-
this.setState({ requestParams: null, response: notStarted });
|
|
50
|
-
}
|
|
51
|
-
onError(cb) {
|
|
52
|
-
this.errorHandled = true;
|
|
53
|
-
this.on(this.selectError$, cb);
|
|
54
|
-
return this;
|
|
55
|
-
}
|
|
56
|
-
onSuccess(cb) {
|
|
57
|
-
this.on(this.selectResponse$, cb);
|
|
58
|
-
return this;
|
|
59
|
-
}
|
|
60
|
-
onSuccessOrError(cb) {
|
|
61
|
-
this.on(this.selectSuccessOrError$, cb);
|
|
62
|
-
return this;
|
|
63
|
-
}
|
|
64
|
-
onSuccessWithRequest(func) {
|
|
65
|
-
this.onUpdate(({ requestParams, response }) => {
|
|
66
|
-
if (isSuccessState(response)) {
|
|
67
|
-
func({ requestParams, body: response.body });
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
return this;
|
|
71
|
-
}
|
|
72
|
-
onErrorWithRequest(func) {
|
|
73
|
-
this.onUpdate(({ requestParams, response }) => {
|
|
74
|
-
if (isErrorState(response)) {
|
|
75
|
-
func({ requestParams, error: response.error });
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
return this;
|
|
79
|
-
}
|
|
80
|
-
createRequest(...params) {
|
|
81
|
-
return this.req(...params).pipe(map(createSuccess), mapError(createFailure), startWith(inProgress), map(state => ({ requestParams: params, response: state })), defaultShareReplay());
|
|
82
|
-
}
|
|
83
|
-
onUpdate(func) {
|
|
84
|
-
this.on(this.state$, func);
|
|
85
|
-
}
|
|
86
|
-
ngOnDestroy() {
|
|
87
|
-
super.ngOnDestroy();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
HttpRequestStateStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
-
HttpRequestStateStore.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 });
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpRequestStateStore, decorators: [{
|
|
93
|
-
type: Directive
|
|
94
|
-
}], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; } });
|
|
95
|
-
export class CancellationToken {
|
|
96
|
-
}
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
+
import { HttpRequestStrategy, HttpRequestStatus } from './types';
|
|
4
|
+
import { createFailure, createSuccess, inProgress, isErrorState, isSuccessOrErrorState, isSuccessState, notStarted } from './helpers';
|
|
5
|
+
import { concatMap, filter, map, mergeMap, startWith, switchMap, tap } from 'rxjs/operators';
|
|
6
|
+
import { mapError } from '../rxjs/mapError';
|
|
7
|
+
import { defaultShareReplay } from '../rxjs/defaultShareReplay';
|
|
8
|
+
import { Directive } from '@angular/core';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export class HttpRequestStateStore extends ComponentStore {
|
|
11
|
+
constructor(req, options) {
|
|
12
|
+
super({ requestParams: null, response: notStarted });
|
|
13
|
+
this.req = req;
|
|
14
|
+
this.options = options;
|
|
15
|
+
this.flatteningStrategy = () => {
|
|
16
|
+
if (this.options?.strategy === HttpRequestStrategy.concurrent)
|
|
17
|
+
return mergeMap((params) => this.createRequest(...params));
|
|
18
|
+
if (this.options?.strategy === HttpRequestStrategy.sequential)
|
|
19
|
+
return concatMap((params) => this.createRequest(...params));
|
|
20
|
+
return switchMap((params) => (params[0] instanceof CancellationToken) ?
|
|
21
|
+
of({ requestParams: params[0], response: { status: HttpRequestStatus.cancelled } }) : this.createRequest(...params));
|
|
22
|
+
};
|
|
23
|
+
this.requestEffect = this.effect((obs) => {
|
|
24
|
+
return (obs).pipe(this.flatteningStrategy(), tap(state => this.setState(state)));
|
|
25
|
+
});
|
|
26
|
+
this.flattenedRequest = (...value) => {
|
|
27
|
+
return this.requestEffect(value);
|
|
28
|
+
};
|
|
29
|
+
this.singleUseRequest = (...value) => {
|
|
30
|
+
if (this.get().response.status !== HttpRequestStatus.notStarted) {
|
|
31
|
+
throw new Error("state can not be reused. either reset the state by calling reset() or use a state requester that allows concurrent requests.");
|
|
32
|
+
}
|
|
33
|
+
return this.requestEffect(value);
|
|
34
|
+
};
|
|
35
|
+
this.selectHttpState$ = this.state$.pipe(map(a => a.response));
|
|
36
|
+
this.selectStatus$ = this.selectHttpState$.pipe(map(a => a.status));
|
|
37
|
+
this.selectError$ = this.state$.pipe(map(r => r.response), filter(isErrorState), map(state => state.error));
|
|
38
|
+
this.selectResponse$ = this.state$.pipe(map(r => r.response), filter(isSuccessState), map(state => state.body));
|
|
39
|
+
this.selectSuccessOrError$ = this.state$.pipe(map(r => r.response), filter(isSuccessOrErrorState), map(() => null));
|
|
40
|
+
this.errorHandled = false;
|
|
41
|
+
this.on = (srcObservable, func) => {
|
|
42
|
+
return this.effect((src) => {
|
|
43
|
+
return src.pipe(tap(func));
|
|
44
|
+
})(srcObservable);
|
|
45
|
+
};
|
|
46
|
+
this.request = (this.options?.strategy === HttpRequestStrategy.singleUse) ? this.singleUseRequest : this.flattenedRequest;
|
|
47
|
+
}
|
|
48
|
+
reset() {
|
|
49
|
+
this.setState({ requestParams: null, response: notStarted });
|
|
50
|
+
}
|
|
51
|
+
onError(cb) {
|
|
52
|
+
this.errorHandled = true;
|
|
53
|
+
this.on(this.selectError$, cb);
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
onSuccess(cb) {
|
|
57
|
+
this.on(this.selectResponse$, cb);
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
onSuccessOrError(cb) {
|
|
61
|
+
this.on(this.selectSuccessOrError$, cb);
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
onSuccessWithRequest(func) {
|
|
65
|
+
this.onUpdate(({ requestParams, response }) => {
|
|
66
|
+
if (isSuccessState(response)) {
|
|
67
|
+
func({ requestParams, body: response.body });
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
onErrorWithRequest(func) {
|
|
73
|
+
this.onUpdate(({ requestParams, response }) => {
|
|
74
|
+
if (isErrorState(response)) {
|
|
75
|
+
func({ requestParams, error: response.error });
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
createRequest(...params) {
|
|
81
|
+
return this.req(...params).pipe(map(createSuccess), mapError(createFailure), startWith(inProgress), map(state => ({ requestParams: params, response: state })), defaultShareReplay());
|
|
82
|
+
}
|
|
83
|
+
onUpdate(func) {
|
|
84
|
+
this.on(this.state$, func);
|
|
85
|
+
}
|
|
86
|
+
ngOnDestroy() {
|
|
87
|
+
super.ngOnDestroy();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
HttpRequestStateStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpRequestStateStore, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
91
|
+
HttpRequestStateStore.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpRequestStateStore, usesInheritance: true, ngImport: i0 });
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpRequestStateStore, decorators: [{
|
|
93
|
+
type: Directive
|
|
94
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: undefined }]; } });
|
|
95
|
+
export class CancellationToken {
|
|
96
|
+
}
|
|
97
97
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlcXVlc3RTdGF0ZVN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2h0dHAtcmVxdWVzdC1zdGF0ZS9IdHRwUmVxdWVzdFN0YXRlU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBc0IsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQW9FLE1BQU0sU0FBUyxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFTLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxxQkFBK0MsU0FBUSxjQUF5QztJQUV6RyxZQUFvQixHQUFpQyxFQUFVLE9BQTZCO1FBQzFGLEtBQUssQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFEMUMsUUFBRyxHQUFILEdBQUcsQ0FBOEI7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQVNwRix1QkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDaEMsSUFBRyxJQUFJLENBQUMs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USxDQUFDLElBR0M7UUFDUixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQVVELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7a0hBOUhRLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7O0FBbUlSLE1BQU0sT0FBTyxpQkFBaUI7Q0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdEZhY3RvcnksIEh0dHBSZXF1ZXN0U3RyYXRlZ3ksIEh0dHBSZXF1ZXN0U3RhdHVzLCBIdHRwUmVxdWVzdFN0YXRlLCBSZXF1ZXN0U3RhdGVPcHRpb25zLCBIdHRwUmVxdWVzdFN0YXRlQ2FuY2VsbGVkIH0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IGNyZWF0ZUZhaWx1cmUsIGNyZWF0ZVN1Y2Nlc3MsIGluUHJvZ3Jlc3MsIGlzRXJyb3JTdGF0ZSwgaXNTdWNjZXNzT3JFcnJvclN0YXRlLCBpc1N1Y2Nlc3NTdGF0ZSwgbm90U3RhcnRlZCB9IGZyb20gJy4vaGVscGVycyc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBwbHVjaywgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IG1hcEVycm9yIH0gZnJvbSAnLi4vcnhqcy9tYXBFcnJvcic7XHJcbmltcG9ydCB7IGRlZmF1bHRTaGFyZVJlcGxheSB9IGZyb20gJy4uL3J4anMvZGVmYXVsdFNoYXJlUmVwbGF5JztcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RSZXNwb25zZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSxUPiB7XHJcbiAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgcmVzcG9uc2U6IEh0dHBSZXF1ZXN0U3RhdGU8VD47XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlPFRQYXJhbSBleHRlbmRzIGFueVtdLCBUPiBleHRlbmRzIENvbXBvbmVudFN0b3JlPFJlcXVlc3RSZXNwb25zZTxUUGFyYW0sVD4+IHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcTogSHR0cFJlcXVlc3RGYWN0b3J5PFRQYXJhbSxUPiAscHJpdmF0ZSBvcHRpb25zPzogUmVxdWVzdFN0YXRlT3B0aW9ucykge1xyXG4gICAgICBzdXBlcih7IHJlcXVlc3RQYXJhbXM6IG51bGwgYXMgYW55ICxyZXNwb25zZTogbm90U3RhcnRlZCB9KTtcclxuICAgICAgdGhpcy5yZXF1ZXN0ID0gKHRoaXMub3B0aW9ucz8uc3RyYXRlZ3kgPT09IEh0dHBSZXF1ZXN0U3RyYXRlZ3kuc2luZ2xlVXNlKSA/IHRoaXMuc2luZ2xlVXNlUmVxdWVzdCA6ICB0aGlzLmZsYXR0ZW5lZFJlcXVlc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXQoKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyByZXF1ZXN0UGFyYW1zOm51bGwgYXMgYW55LCByZXNwb25zZTogbm90U3RhcnRlZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZsYXR0ZW5pbmdTdHJhdGVneSA9ICgpID0+IHtcclxuICAgICAgaWYodGhpcy5vcHRpb25zPy5zdHJhdGVneSA9PT0gSHR0cFJlcXVlc3RTdHJhdGVneS5jb25jdXJyZW50KVxyXG4gICAgICAgIHJldHVybiBtZXJnZU1hcCggKHBhcmFtczogWy4uLlRQYXJhbV0pID0+IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpKTtcclxuICAgICAgaWYodGhpcy5vcHRpb25zPy5zdHJhdGVneSA9PT0gSHR0cFJlcXVlc3RTdHJhdGVneS5zZXF1ZW50aWFsKVxyXG4gICAgICAgIHJldHVybiBjb25jYXRNYXAoIChwYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiB0aGlzLmNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zKSk7XHJcbiAgICAgIHJldHVybiBzd2l0Y2hNYXAoIChwYXJhbXM6IFsuLi5UUGFyYW1dKSA9PiAoKHBhcmFtc1swXSBhcyBhbnkpIGluc3RhbmNlb2YgQ2FuY2VsbGF0aW9uVG9rZW4pID9cclxuICAgICAgICBvZih7IHJlcXVlc3RQYXJhbXM6IHBhcmFtc1swXSwgcmVzcG9uc2U6IHsgc3RhdHVzOiBIdHRwUmVxdWVzdFN0YXR1cy5jYW5jZWxsZWQgfSBhcyBIdHRwUmVxdWVzdFN0YXRlQ2FuY2VsbGVkIH0gKSA6IHRoaXMuY3JlYXRlUmVxdWVzdCguLi5wYXJhbXMpICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0RWZmZWN0OiAodmFsdWU6IFsuLi5UUGFyYW1dICkgPT4gU3Vic2NyaXB0aW9uID0gdGhpcy5lZmZlY3QoKG9iczogT2JzZXJ2YWJsZTxbLi4uVFBhcmFtXT4pID0+IHtcclxuICAgICAgcmV0dXJuIChvYnMpLnBpcGUoXHJcbiAgICAgICAgdGhpcy5mbGF0dGVuaW5nU3RyYXRlZ3koKSxcclxuICAgICAgICB0YXA8UmVxdWVzdFJlc3BvbnNlPFRQYXJhbSwgVD4+KHN0YXRlID0+IHRoaXMuc2V0U3RhdGUoc3RhdGUpKSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHByaXZhdGUgZmxhdHRlbmVkUmVxdWVzdCA9ICguLi52YWx1ZTogWy4uLlRQYXJhbV0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVxdWVzdEVmZmVjdCh2YWx1ZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzaW5nbGVVc2VSZXF1ZXN0ID0gKC4uLnZhbHVlOiBbLi4uVFBhcmFtXSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5nZXQoKS5yZXNwb25zZS5zdGF0dXMgIT09IEh0dHBSZXF1ZXN0U3RhdHVzLm5vdFN0YXJ0ZWQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJzdGF0ZSBjYW4gbm90IGJlIHJldXNlZC4gZWl0aGVyIHJlc2V0IHRoZSBzdGF0ZSBieSBjYWxsaW5nIHJlc2V0KCkgb3IgdXNlIGEgc3RhdGUgcmVxdWVzdGVyIHRoYXQgYWxsb3dzIGNvbmN1cnJlbnQgcmVxdWVzdHMuXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLnJlcXVlc3RFZmZlY3QodmFsdWUpIGFzIFN1YnNjcmlwdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RIdHRwU3RhdGUkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoYSA9PiBhLnJlc3BvbnNlKSk7XHJcblxyXG4gICAgc2VsZWN0U3RhdHVzJCA9IHRoaXMuc2VsZWN0SHR0cFN0YXRlJC5waXBlKG1hcChhID0+IGEuc3RhdHVzKSk7XHJcblxyXG4gICAgc2VsZWN0RXJyb3IkID0gdGhpcy5zdGF0ZSQucGlwZShcclxuICAgICAgbWFwKHIgPT4gci5yZXNwb25zZSksXHJcbiAgICAgIGZpbHRlcihpc0Vycm9yU3RhdGUpLFxyXG4gICAgICBtYXAoIHN0YXRlID0+IHN0YXRlLmVycm9yKVxyXG4gICAgKTtcclxuXHJcbiAgICBzZWxlY3RSZXNwb25zZSQgPSB0aGlzLnN0YXRlJC5waXBlKFxyXG4gICAgICBtYXAociA9PiByLnJlc3BvbnNlKSxcclxuICAgICAgZmlsdGVyKGlzU3VjY2Vzc1N0YXRlKSxcclxuICAgICAgbWFwKCBzdGF0ZSA9PiBzdGF0ZS5ib2R5KVxyXG4gICAgKTtcclxuICAgIHNlbGVjdFN1Y2Nlc3NPckVycm9yJCA9IHRoaXMuc3RhdGUkLnBpcGUoXHJcbiAgICAgIG1hcChyID0+IHIucmVzcG9uc2UpLFxyXG4gICAgICBmaWx0ZXIoaXNTdWNjZXNzT3JFcnJvclN0YXRlKSxcclxuICAgICAgbWFwKCAoKSA9PiBudWxsKVxyXG4gICAgKTtcclxuXHJcbiAgICBlcnJvckhhbmRsZWQgPSBmYWxzZTtcclxuICAgIG9uRXJyb3IoIGNiOiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vbih0aGlzLnNlbGVjdEVycm9yJCwgY2IpO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBvblN1Y2Nlc3MoIGNiOiAoYm9keTogVCkgPT4gdm9pZCkge1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc2VsZWN0UmVzcG9uc2UkLCBjYik7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3VjY2Vzc09yRXJyb3IoY2I6ICgpID0+IHZvaWQpe1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc2VsZWN0U3VjY2Vzc09yRXJyb3IkLCBjYik7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3VjY2Vzc1dpdGhSZXF1ZXN0KGZ1bmM6IChzdGF0ZToge1xyXG4gICAgICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICAgICAgYm9keTogVDtcclxuICAgIH0pID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vblVwZGF0ZSgoeyByZXF1ZXN0UGFyYW1zLCByZXNwb25zZSB9KSA9PiB7XHJcbiAgICAgICAgaWYoaXNTdWNjZXNzU3RhdGUocmVzcG9uc2UpKXtcclxuICAgICAgICAgIGZ1bmMoe3JlcXVlc3RQYXJhbXMsYm9keTogcmVzcG9uc2UuYm9keX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRXJyb3JXaXRoUmVxdWVzdChmdW5jOiAoc3RhdGU6IHtcclxuICAgICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlO1xyXG4gICAgICByZXF1ZXN0UGFyYW1zOiBbLi4uVFBhcmFtXTtcclxuICAgIH0pID0+IHZvaWQpIHtcclxuICAgICAgdGhpcy5vblVwZGF0ZSggKHsgcmVxdWVzdFBhcmFtcywgcmVzcG9uc2UgfSkgPT4ge1xyXG4gICAgICAgIGlmKGlzRXJyb3JTdGF0ZShyZXNwb25zZSkpe1xyXG4gICAgICAgICAgZnVuYyh7IHJlcXVlc3RQYXJhbXMsIGVycm9yOiByZXNwb25zZS5lcnJvciB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZVJlcXVlc3QoLi4ucGFyYW1zOiBbLi4uVFBhcmFtXSk6IE9ic2VydmFibGU8UmVxdWVzdFJlc3BvbnNlPFRQYXJhbSxUPj4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXEoLi4ucGFyYW1zKS5waXBlKFxyXG4gICAgICAgIG1hcChjcmVhdGVTdWNjZXNzKSxcclxuICAgICAgICBtYXBFcnJvcihjcmVhdGVGYWlsdXJlKSxcclxuICAgICAgICBzdGFydFdpdGgoaW5Qcm9ncmVzcyksXHJcbiAgICAgICAgbWFwKCBzdGF0ZSA9PiAoeyByZXF1ZXN0UGFyYW1zOiBwYXJhbXMsIHJlc3BvbnNlOiBzdGF0ZSB9KSksXHJcbiAgICAgICAgZGVmYXVsdFNoYXJlUmVwbGF5KClcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBvblVwZGF0ZShmdW5jOiAoc3RhdGU6IHtcclxuICAgICAgcmVxdWVzdFBhcmFtczogWy4uLlRQYXJhbV07XHJcbiAgICAgIHJlc3BvbnNlOiBIdHRwUmVxdWVzdFN0YXRlPFQ+O1xyXG4gICAgfSkgPT4gdm9pZCkge1xyXG4gICAgICB0aGlzLm9uKHRoaXMuc3RhdGUkLCBmdW5jKTtcclxuICAgIH1cclxuXHJcbiAgICBvbiA9IDxWPihzcmNPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFY+LCBmdW5jOiAob2JqOiBWKSA9PiB2b2lkKTogU3Vic2NyaXB0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZWZmZWN0KChzcmM6IE9ic2VydmFibGU8Vj4pID0+IHtcclxuICAgICAgICByZXR1cm4gc3JjLnBpcGUodGFwKGZ1bmMpKTtcclxuICAgICAgfSkoc3JjT2JzZXJ2YWJsZSkgYXMgU3Vic2NyaXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3Q6ICguLi52YWx1ZTogWy4uLlRQYXJhbV0gKSA9PiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGNsYXNzIENhbmNlbGxhdGlvblRva2VuIHt9XHJcbiJdfQ==
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { HttpRequestStateDirective } from './request-state-directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class HttpStateDirectiveBase {
|
|
5
|
-
constructor(injector, templateRef, viewContainer) {
|
|
6
|
-
this.injector = injector;
|
|
7
|
-
this.templateRef = templateRef;
|
|
8
|
-
this.viewContainer = viewContainer;
|
|
9
|
-
this.hasView = false;
|
|
10
|
-
this.baseRender = (state) => {
|
|
11
|
-
if (this.hasView) {
|
|
12
|
-
this.viewContainer.clear();
|
|
13
|
-
this.hasView = false;
|
|
14
|
-
}
|
|
15
|
-
this.hasView = this.render(state);
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
const parent = this.injector.get(HttpRequestStateDirective);
|
|
20
|
-
if (parent == null) {
|
|
21
|
-
throw new Error('You can only use an http state directive as a child of the httpRequestState directive.');
|
|
22
|
-
}
|
|
23
|
-
parent.hooks.push(this.baseRender);
|
|
24
|
-
this.baseRender(parent.ViewContext.state);
|
|
25
|
-
}
|
|
26
|
-
ngOnDestroy() {
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
HttpStateDirectiveBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
-
HttpStateDirectiveBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpStateDirectiveBase, ngImport: i0 });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
|
|
32
|
-
type: Directive
|
|
33
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { HttpRequestStateDirective } from './request-state-directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class HttpStateDirectiveBase {
|
|
5
|
+
constructor(injector, templateRef, viewContainer) {
|
|
6
|
+
this.injector = injector;
|
|
7
|
+
this.templateRef = templateRef;
|
|
8
|
+
this.viewContainer = viewContainer;
|
|
9
|
+
this.hasView = false;
|
|
10
|
+
this.baseRender = (state) => {
|
|
11
|
+
if (this.hasView) {
|
|
12
|
+
this.viewContainer.clear();
|
|
13
|
+
this.hasView = false;
|
|
14
|
+
}
|
|
15
|
+
this.hasView = this.render(state);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
const parent = this.injector.get(HttpRequestStateDirective);
|
|
20
|
+
if (parent == null) {
|
|
21
|
+
throw new Error('You can only use an http state directive as a child of the httpRequestState directive.');
|
|
22
|
+
}
|
|
23
|
+
parent.hooks.push(this.baseRender);
|
|
24
|
+
this.baseRender(parent.ViewContext.state);
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
HttpStateDirectiveBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpStateDirectiveBase, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
30
|
+
HttpStateDirectiveBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpStateDirectiveBase, ngImport: i0 });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpStateDirectiveBase, decorators: [{
|
|
32
|
+
type: Directive
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFN0YXRlRGlyZWN0aXZlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBRW5GLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd0RSxNQUFNLE9BQWdCLHNCQUFzQjtJQUV4QyxZQUNZLFFBQWtCLEVBQ2hCLFdBQTZCLEVBQzdCLGFBQStCO1FBRmpDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUo3QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBc0JSLGVBQVUsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRTtZQUNwRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFBO0lBckJELENBQUM7SUFFRCxRQUFRO1FBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM1RCxJQUFHLE1BQU0sSUFBSSxJQUFJLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHdGQUF3RixDQUFDLENBQUM7U0FDN0c7UUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQzs7bUhBckJpQixzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUQzQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcmVxdWVzdC1zdGF0ZS1kaXJlY3RpdmUnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuICAgIGhhc1ZpZXcgPSBmYWxzZTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLmluamVjdG9yLmdldChIdHRwUmVxdWVzdFN0YXRlRGlyZWN0aXZlKTtcclxuICAgICAgICBpZihwYXJlbnQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gb25seSB1c2UgYW4gaHR0cCBzdGF0ZSBkaXJlY3RpdmUgYXMgYSBjaGlsZCBvZiB0aGUgaHR0cFJlcXVlc3RTdGF0ZSBkaXJlY3RpdmUuJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBhcmVudC5ob29rcy5wdXNoKHRoaXMuYmFzZVJlbmRlcik7XHJcbiAgICAgICAgdGhpcy5iYXNlUmVuZGVyKHBhcmVudC5WaWV3Q29udGV4dC5zdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBiYXNlUmVuZGVyID0gKHN0YXRlOkh0dHBSZXF1ZXN0U3RhdGUgKSA6IHZvaWQgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1ZpZXcpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzVmlldyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhc1ZpZXcgPSB0aGlzLnJlbmRlcihzdGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgcmVuZGVyOiAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGUpID0+IGJvb2xlYW47XHJcbn1cclxuIl19
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { isErrorState } from '../helpers';
|
|
3
|
-
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class HttpErrorStateDirective extends HttpStateDirectiveBase {
|
|
6
|
-
constructor(injector, templateRef, viewContainer) {
|
|
7
|
-
super(injector, templateRef, viewContainer);
|
|
8
|
-
this.render = (state) => {
|
|
9
|
-
if (isErrorState(state)) {
|
|
10
|
-
this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.error });
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
return false;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
super.ngOnInit();
|
|
18
|
-
}
|
|
19
|
-
ngOnDestroy() {
|
|
20
|
-
super.ngOnDestroy();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
HttpErrorStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
-
HttpErrorStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpErrorStateDirective, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
|
|
26
|
-
type: Directive,
|
|
27
|
-
args: [{ selector: '[httpErrorState]' }]
|
|
28
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { isErrorState } from '../helpers';
|
|
3
|
+
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class HttpErrorStateDirective extends HttpStateDirectiveBase {
|
|
6
|
+
constructor(injector, templateRef, viewContainer) {
|
|
7
|
+
super(injector, templateRef, viewContainer);
|
|
8
|
+
this.render = (state) => {
|
|
9
|
+
if (isErrorState(state)) {
|
|
10
|
+
this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.error });
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
super.ngOnInit();
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
super.ngOnDestroy();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
HttpErrorStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpErrorStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
HttpErrorStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpErrorStateDirective, selector: "[httpErrorState]", usesInheritance: true, ngImport: i0 });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpErrorStateDirective, decorators: [{
|
|
26
|
+
type: Directive,
|
|
27
|
+
args: [{ selector: '[httpErrorState]' }]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
29
29
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaHR0cC1lcnJvci1zdGF0ZS1kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMkMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHbEUsTUFBTSxPQUFPLHVCQUFpRCxTQUFRLHNCQUFzQjtJQUUxRixZQUNFLFFBQWtCLEVBQ2xCLFdBQTZCLEVBQzdCLGFBQStCO1FBRS9CLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRzlDLFdBQU0sR0FBRyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtZQUN4QyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7SUFSRixDQUFDO0lBVUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDOztvSEF4QlUsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzRXJyb3JTdGF0ZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlJztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwRXJyb3JTdGF0ZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JTdGF0ZURpcmVjdGl2ZTxUUGFyYW0gZXh0ZW5kcyBhbnlbXSwgVD4gZXh0ZW5kcyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihpbmplY3RvciwgdGVtcGxhdGVSZWYsIHZpZXdDb250YWluZXIpO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyID0gKHN0YXRlOiBIdHRwUmVxdWVzdFN0YXRlPGFueT4pID0+IHtcclxuICAgIGlmIChpc0Vycm9yU3RhdGUoc3RhdGUpKSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgeyAkaW1wbGljaXQ6IHN0YXRlLmVycm9yIH0pO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG59Il19
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
3
|
-
import { HttpRequestStatus } from '../types';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class HttpInProgressStateDirective extends HttpStateDirectiveBase {
|
|
6
|
-
constructor(injector, templateRef, viewContainer) {
|
|
7
|
-
super(injector, templateRef, viewContainer);
|
|
8
|
-
this.render = (state) => {
|
|
9
|
-
if (state.status === HttpRequestStatus.inProgress) {
|
|
10
|
-
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
return false;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
super.ngOnInit();
|
|
18
|
-
}
|
|
19
|
-
ngOnDestroy() {
|
|
20
|
-
super.ngOnDestroy();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
HttpInProgressStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
-
HttpInProgressStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpInProgressStateDirective, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
|
|
26
|
-
type: Directive,
|
|
27
|
-
args: [{ selector: '[httpInProgressState]' }]
|
|
28
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
3
|
+
import { HttpRequestStatus } from '../types';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class HttpInProgressStateDirective extends HttpStateDirectiveBase {
|
|
6
|
+
constructor(injector, templateRef, viewContainer) {
|
|
7
|
+
super(injector, templateRef, viewContainer);
|
|
8
|
+
this.render = (state) => {
|
|
9
|
+
if (state.status === HttpRequestStatus.inProgress) {
|
|
10
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
super.ngOnInit();
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
super.ngOnDestroy();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
HttpInProgressStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpInProgressStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
HttpInProgressStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpInProgressStateDirective, selector: "[httpInProgressState]", usesInheritance: true, ngImport: i0 });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpInProgressStateDirective, decorators: [{
|
|
26
|
+
type: Directive,
|
|
27
|
+
args: [{ selector: '[httpInProgressState]' }]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
29
29
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pblByb2dyZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLWluUHJvZ3Jlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUE7O0FBSTlELE1BQU0sT0FBTyw0QkFBOEIsU0FBUSxzQkFBc0I7SUFTckUsWUFDRyxRQUFrQixFQUNqQixXQUE2QixFQUM3QixhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQztRQWI5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQztnQkFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7SUFRRixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOzt5SEF2QlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBTdGF0ZURpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL0h0dHBTdGF0ZURpcmVjdGl2ZUJhc2UnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdFN0YXRlLCBIdHRwUmVxdWVzdFN0YXR1cyB9IGZyb20gJy4uL3R5cGVzJ1xyXG5cclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1todHRwSW5Qcm9ncmVzc1N0YXRlXScgfSlcclxuZXhwb3J0IGNsYXNzIEh0dHBJblByb2dyZXNzU3RhdGVEaXJlY3RpdmUgIGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB7XHJcbiAgICByZW5kZXIgPSAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8YW55PikgPT4ge1xyXG4gICAgICAgIGlmKHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMuaW5Qcm9ncmVzcyl7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiApO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IsdGVtcGxhdGVSZWYsdmlld0NvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { HttpRequestStatus } from '../types';
|
|
3
|
-
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class HttpNotStartedStateDirective extends HttpStateDirectiveBase {
|
|
6
|
-
constructor(injector, templateRef, viewContainer) {
|
|
7
|
-
super(injector, templateRef, viewContainer);
|
|
8
|
-
this.render = (state) => {
|
|
9
|
-
if (state.status === HttpRequestStatus.notStarted) {
|
|
10
|
-
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
return false;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
super.ngOnInit();
|
|
18
|
-
}
|
|
19
|
-
ngOnDestroy() {
|
|
20
|
-
super.ngOnDestroy();
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
HttpNotStartedStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
-
HttpNotStartedStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpNotStartedStateDirective, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 });
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
|
|
26
|
-
type: Directive,
|
|
27
|
-
args: [{ selector: '[httpNotStartedState]' }]
|
|
28
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { HttpRequestStatus } from '../types';
|
|
3
|
+
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class HttpNotStartedStateDirective extends HttpStateDirectiveBase {
|
|
6
|
+
constructor(injector, templateRef, viewContainer) {
|
|
7
|
+
super(injector, templateRef, viewContainer);
|
|
8
|
+
this.render = (state) => {
|
|
9
|
+
if (state.status === HttpRequestStatus.notStarted) {
|
|
10
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
super.ngOnInit();
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
super.ngOnDestroy();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
HttpNotStartedStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpNotStartedStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
HttpNotStartedStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpNotStartedStateDirective, selector: "[httpNotStartedState]", usesInheritance: true, ngImport: i0 });
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpNotStartedStateDirective, decorators: [{
|
|
26
|
+
type: Directive,
|
|
27
|
+
args: [{ selector: '[httpNotStartedState]' }]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });
|
|
29
29
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ub3RTdGFydGVkLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLW5vdFN0YXJ0ZWQtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBSWxFLE1BQU0sT0FBTyw0QkFBcUQsU0FBUSxzQkFBc0I7SUFTNUYsWUFDSSxRQUFrQixFQUNsQixXQUE2QixFQUM3QixhQUErQjtRQUUvQixLQUFLLENBQUMsUUFBUSxFQUFDLFdBQVcsRUFBQyxhQUFhLENBQUMsQ0FBQztRQWI5QyxXQUFNLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7WUFDdEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBQztnQkFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUM7Z0JBQ3pELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUM7SUFRRixDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOzt5SEF2QlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFEeEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBSZXF1ZXN0U3RhdGUsIEh0dHBSZXF1ZXN0U3RhdHVzIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlJztcclxuXHJcblxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbaHR0cE5vdFN0YXJ0ZWRTdGF0ZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwTm90U3RhcnRlZFN0YXRlRGlyZWN0aXZlPFRQYXJhbSBleHRlbmRzIGFueVtdLFQ+IGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB7XHJcbiAgICByZW5kZXIgPSAoc3RhdGU6IEh0dHBSZXF1ZXN0U3RhdGU8YW55PikgPT4ge1xyXG4gICAgICAgIGlmKHN0YXRlLnN0YXR1cyA9PT0gSHR0cFJlcXVlc3RTdGF0dXMubm90U3RhcnRlZCl7XHJcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiApO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICAgICAgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yLHRlbXBsYXRlUmVmLHZpZXdDb250YWluZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { isSuccessState } from '../helpers';
|
|
3
|
-
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class HttpSuccessStateDirective extends HttpStateDirectiveBase {
|
|
6
|
-
constructor(injector, templateRef, viewContainer) {
|
|
7
|
-
super(injector, templateRef, viewContainer);
|
|
8
|
-
this.render = (state) => {
|
|
9
|
-
if (isSuccessState(state)) {
|
|
10
|
-
this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.body });
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
return false;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
super.ngOnInit();
|
|
18
|
-
}
|
|
19
|
-
ngOnDestroy() {
|
|
20
|
-
super.ngOnDestroy();
|
|
21
|
-
}
|
|
22
|
-
static ngTemplateContextGuard(dir, ctx) {
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
HttpSuccessStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
-
HttpSuccessStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpSuccessStateDirective, selector: "[httpSuccessState]", inputs: { httpSuccessStateTypeSafety: "httpSuccessStateTypeSafety" }, usesInheritance: true, ngImport: i0 });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
|
|
29
|
-
type: Directive,
|
|
30
|
-
args: [{ selector: '[httpSuccessState]' }]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { httpSuccessStateTypeSafety: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}] } });
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { isSuccessState } from '../helpers';
|
|
3
|
+
import { HttpStateDirectiveBase } from './HttpStateDirectiveBase';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class HttpSuccessStateDirective extends HttpStateDirectiveBase {
|
|
6
|
+
constructor(injector, templateRef, viewContainer) {
|
|
7
|
+
super(injector, templateRef, viewContainer);
|
|
8
|
+
this.render = (state) => {
|
|
9
|
+
if (isSuccessState(state)) {
|
|
10
|
+
this.viewContainer.createEmbeddedView(this.templateRef, { $implicit: state.body });
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
super.ngOnInit();
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
super.ngOnDestroy();
|
|
21
|
+
}
|
|
22
|
+
static ngTemplateContextGuard(dir, ctx) {
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
HttpSuccessStateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpSuccessStateDirective, deps: [{ token: i0.Injector }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
HttpSuccessStateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.2", type: HttpSuccessStateDirective, selector: "[httpSuccessState]", inputs: { httpSuccessStateTypeSafety: "httpSuccessStateTypeSafety" }, usesInheritance: true, ngImport: i0 });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: HttpSuccessStateDirective, decorators: [{
|
|
29
|
+
type: Directive,
|
|
30
|
+
args: [{ selector: '[httpSuccessState]' }]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { httpSuccessStateTypeSafety: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}] } });
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1zdWNjZXNzLXN0YXRlLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcy9odHRwLXN1Y2Nlc3Mtc3RhdGUtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksS0FBSyxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVNsRSxNQUFNLE9BQU8seUJBQTZCLFNBQVEsc0JBQXNCO0lBU3RFLFlBQ0UsUUFBa0IsRUFDbEIsV0FBMEMsRUFDMUMsYUFBK0I7UUFFL0IsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFaOUMsV0FBTSxHQUFHLENBQUMsS0FBMEIsRUFBRSxFQUFFO1lBQ3RDLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ25GLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztJQU9GLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCLENBQUksR0FBaUMsRUFBRSxHQUFRO1FBQzFFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7c0hBM0JVLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7d0pBRWxDLDBCQUEwQjtzQkFBbEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1N1Y2Nlc3NTdGF0ZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xyXG5pbXBvcnQgeyBIdHRwU3RhdGVEaXJlY3RpdmVCYXNlIH0gZnJvbSAnLi9IdHRwU3RhdGVEaXJlY3RpdmVCYXNlJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcclxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTdGF0ZVN0b3JlIH0gZnJvbSAnLi4vSHR0cFJlcXVlc3RTdGF0ZVN0b3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwU3VjY2Vzc1N0YXRlVmlld0NvbnRleHQ8VD4ge1xyXG4gICRpbXBsaWNpdDogVDtcclxufVxyXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbaHR0cFN1Y2Nlc3NTdGF0ZV0nIH0pXHJcbmV4cG9ydCBjbGFzcyBIdHRwU3VjY2Vzc1N0YXRlRGlyZWN0aXZlPFQ+IGV4dGVuZHMgSHR0cFN0YXRlRGlyZWN0aXZlQmFzZSB7XHJcbiAgQElucHV0KCkgaHR0cFN1Y2Nlc3NTdGF0ZVR5cGVTYWZldHk/OiBIdHRwUmVxdWVzdFN0YXRlU3RvcmU8YW55LCBUPiB8IE9ic2VydmFibGU8SHR0cFJlcXVlc3RTdGF0ZTxUPj47XHJcbiAgcmVuZGVyID0gKHN0YXRlOiBIdHRwUmVxdWVzdFN0YXRlPFQ+KSA9PiB7XHJcbiAgICBpZiAoaXNTdWNjZXNzU3RhdGUoc3RhdGUpKSB7XHJcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgeyAkaW1wbGljaXQ6IHN0YXRlLmJvZHkgfSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH07XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IFQgfT4sXHJcbiAgICB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoaW5qZWN0b3IsIHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZ1RlbXBsYXRlQ29udGV4dEd1YXJkPFQ+KGRpcjogSHR0cFN1Y2Nlc3NTdGF0ZURpcmVjdGl2ZTxUPiwgY3R4OiBhbnkpOiBjdHggaXMgSHR0cFN1Y2Nlc3NTdGF0ZVZpZXdDb250ZXh0PFQ+IHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
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';
|
|
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
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvaHR0cC1yZXF1ZXN0LXN0YXRlL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9odHRwLWVycm9yLXN0YXRlLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAtaW5Qcm9ncmVzcy1zdGF0ZS1kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLW5vdFN0YXJ0ZWQtc3RhdGUtZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1zdWNjZXNzLXN0YXRlLWRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3Qtc3RhdGUtZGlyZWN0aXZlJztcbiJdfQ==
|