@dereekb/dbx-core 1.2.0 → 3.0.0
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/README.md +1 -1
- package/esm2020/lib/action/action.handler.mjs +4 -126
- package/esm2020/lib/action/action.holder.mjs +13 -4
- package/esm2020/lib/action/action.machine.mjs +15 -7
- package/esm2020/lib/action/action.mjs +37 -17
- package/esm2020/lib/action/action.module.mjs +18 -18
- package/esm2020/lib/action/action.reference.mjs +7 -0
- package/esm2020/lib/action/action.store.mjs +63 -26
- package/esm2020/lib/action/action.store.source.mjs +27 -13
- package/esm2020/lib/action/directive/auto/action.automodify.directive.mjs +7 -7
- package/esm2020/lib/action/directive/auto/action.autotrigger.directive.mjs +13 -11
- package/esm2020/lib/action/directive/auto/index.mjs +2 -2
- package/esm2020/lib/action/directive/context/action.directive.mjs +7 -7
- package/esm2020/lib/action/directive/context/action.source.directive.mjs +3 -3
- package/esm2020/lib/action/directive/debug/action.logger.directive.mjs +6 -6
- package/esm2020/lib/action/directive/map/action.map.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.source.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.working.disable.directive.mjs +7 -7
- package/esm2020/lib/action/directive/state/action.disabled.directive.mjs +8 -7
- package/esm2020/lib/action/directive/state/action.enforce.modified.directive.mjs +48 -0
- package/esm2020/lib/action/directive/state/action.handler.directive.mjs +13 -12
- package/esm2020/lib/action/directive/state/action.success.directive.mjs +24 -36
- package/esm2020/lib/action/directive/state/action.success.handler.directive.mjs +48 -0
- package/esm2020/lib/action/directive/state/action.value.directive.mjs +13 -11
- package/esm2020/lib/action/directive/state/action.value.stream.directive.mjs +80 -0
- package/esm2020/lib/action/directive/state/action.value.trigger.directive.mjs +73 -0
- package/esm2020/lib/action/directive/state/action.value.trigger.instance.mjs +43 -0
- package/esm2020/lib/action/directive/state/action.working.component.mjs +29 -23
- package/esm2020/lib/action/directive/state/index.mjs +5 -3
- package/esm2020/lib/action/index.mjs +2 -2
- package/esm2020/lib/auth/auth.module.mjs +26 -0
- package/esm2020/lib/auth/auth.role.any.directive.mjs +36 -0
- package/esm2020/lib/auth/auth.role.has.directive.mjs +36 -0
- package/esm2020/lib/auth/auth.state.module.mjs +28 -0
- package/esm2020/lib/auth/auth.state.service.mjs +23 -0
- package/esm2020/lib/auth/auth.user.mjs +11 -0
- package/esm2020/lib/auth/index.mjs +10 -0
- package/esm2020/lib/auth/router/auth.router.mjs +6 -0
- package/esm2020/lib/auth/router/auth.router.module.mjs +26 -0
- package/esm2020/lib/auth/router/auth.router.service.mjs +61 -0
- package/esm2020/lib/auth/router/index.mjs +6 -0
- package/esm2020/lib/auth/router/provider/uirouter/auth.hook.mjs +23 -0
- package/esm2020/lib/auth/router/provider/uirouter/hook.mjs +65 -0
- package/esm2020/lib/auth/router/provider/uirouter/index.mjs +6 -0
- package/esm2020/lib/auth/router/provider/uirouter/redirect.mjs +29 -0
- package/esm2020/lib/auth/router/provider/uirouter/role.hook.mjs +32 -0
- package/esm2020/lib/auth/router/provider/uirouter/state.hook.mjs +53 -0
- package/esm2020/lib/auth/router/state/auth.router.state.module.mjs +32 -0
- package/esm2020/lib/auth/router/state/effect/auth.router.state.effect.mjs +46 -0
- package/esm2020/lib/auth/router/state/effect/index.mjs +2 -0
- package/esm2020/lib/auth/router/state/index.mjs +3 -0
- package/esm2020/lib/auth/service/auth.service.mjs +6 -0
- package/esm2020/lib/auth/service/auth.service.rxjs.mjs +27 -0
- package/esm2020/lib/auth/service/index.mjs +3 -0
- package/esm2020/lib/auth/state/action/auth.action.mjs +14 -0
- package/esm2020/lib/auth/state/action/index.mjs +12 -0
- package/esm2020/lib/auth/state/action/user.action.mjs +18 -0
- package/esm2020/lib/auth/state/effect/auth.effect.mjs +44 -0
- package/esm2020/lib/auth/state/index.mjs +13 -0
- package/esm2020/lib/auth/state/reducer/index.mjs +23 -0
- package/esm2020/lib/auth/state/reducer/user.reducer.mjs +12 -0
- package/esm2020/lib/auth/state/state.mjs +2 -0
- package/esm2020/lib/button/action/action.button.directive.mjs +14 -13
- package/esm2020/lib/button/action/action.button.trigger.directive.mjs +6 -6
- package/esm2020/lib/button/button.directive.mjs +7 -7
- package/esm2020/lib/button/button.loading.directive.mjs +3 -3
- package/esm2020/lib/button/button.mjs +1 -1
- package/esm2020/lib/button/button.module.mjs +4 -4
- package/esm2020/lib/button/router/button.segue.directive.mjs +8 -4
- package/esm2020/lib/context/context.directive.mjs +41 -0
- package/esm2020/lib/context/context.mjs +22 -0
- package/esm2020/lib/context/context.module.mjs +28 -0
- package/esm2020/lib/context/context.service.mjs +29 -0
- package/esm2020/lib/context/index.mjs +6 -0
- package/esm2020/lib/context/state/action/data.action.mjs +10 -0
- package/esm2020/lib/context/state/action/index.mjs +7 -0
- package/esm2020/lib/context/state/effect/index.mjs +38 -0
- package/esm2020/lib/context/state/index.mjs +13 -0
- package/esm2020/lib/context/state/reducer/data.reducer.mjs +16 -0
- package/esm2020/lib/context/state/reducer/index.mjs +25 -0
- package/esm2020/lib/context/state/state.mjs +2 -0
- package/esm2020/lib/filter/action/action.filter.source.directive.mjs +6 -6
- package/esm2020/lib/filter/filter.abstract.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.abstract.source.directive.mjs +4 -4
- package/esm2020/lib/filter/filter.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.instance.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.source.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.module.mjs +4 -4
- package/esm2020/lib/filter/filter.source.directive.mjs +3 -3
- package/esm2020/lib/index.mjs +6 -2
- package/esm2020/lib/injection/index.mjs +9 -0
- package/esm2020/lib/injection/injection.component.mjs +34 -0
- package/esm2020/lib/injection/injection.component.module.mjs +31 -0
- package/esm2020/lib/injection/injection.context.directive.mjs +124 -0
- package/esm2020/lib/injection/injection.context.forward.directive.mjs +30 -0
- package/esm2020/lib/injection/injection.context.mjs +18 -0
- package/esm2020/lib/injection/injection.directive.mjs +33 -0
- package/esm2020/lib/injection/injection.instance.mjs +116 -0
- package/esm2020/lib/injection/injection.mjs +16 -0
- package/esm2020/lib/ngrx/index.mjs +2 -0
- package/esm2020/lib/ngrx/store.lockset.mjs +64 -0
- package/esm2020/lib/pipe/date/date.pipe.module.mjs +4 -4
- package/esm2020/lib/pipe/date/datedistance.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/dateformatdistance.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/datefromtoformat.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/minutesstring.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/timedistance.pipe.mjs +6 -6
- package/esm2020/lib/pipe/date/tojsdate.pipe.mjs +13 -5
- package/esm2020/lib/pipe/date/tominutes.pipe.mjs +3 -3
- package/esm2020/lib/pipe/index.mjs +3 -1
- package/esm2020/lib/pipe/misc/index.mjs +3 -0
- package/esm2020/lib/pipe/misc/misc.pipe.module.mjs +20 -0
- package/esm2020/lib/pipe/misc/prettyjson.pipe.mjs +27 -0
- package/esm2020/lib/pipe/pipe.module.mjs +21 -0
- package/esm2020/lib/router/anchor/anchor.directive.mjs +18 -5
- package/esm2020/lib/router/anchor/anchor.mjs +1 -1
- package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +8 -5
- package/esm2020/lib/router/router/provider/angular/angular.router.service.module.mjs +4 -4
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +32 -10
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +4 -4
- package/esm2020/lib/router/router/service/index.mjs +2 -1
- package/esm2020/lib/router/router/service/router.go.mjs +14 -0
- package/esm2020/lib/router/router/service/router.service.mjs +1 -1
- package/esm2020/lib/router/router/transition/transition.directive.mjs +7 -7
- package/esm2020/lib/router/router/transition/transition.watcher.directive.mjs +6 -6
- package/esm2020/lib/router/segue.mjs +17 -2
- package/esm2020/lib/storage/storage.accessor.simple.factory.mjs +3 -3
- package/esm2020/lib/storage/storage.module.mjs +4 -4
- package/esm2020/lib/subscription/subscription.directive.mjs +6 -6
- package/esm2020/lib/util/view.mjs +18 -2
- package/esm2020/lib/view/if.directive.mjs +30 -0
- package/esm2020/lib/view/index.mjs +2 -0
- package/fesm2015/dereekb-dbx-core.mjs +1977 -690
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +1970 -683
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/action/action.d.ts +14 -12
- package/lib/action/action.handler.d.ts +7 -67
- package/lib/action/action.holder.d.ts +9 -5
- package/lib/action/action.machine.d.ts +21 -8
- package/lib/action/action.module.d.ts +5 -5
- package/lib/action/action.reference.d.ts +11 -0
- package/lib/action/action.store.d.ts +33 -15
- package/lib/action/action.store.source.d.ts +20 -13
- package/lib/action/directive/auto/action.automodify.directive.d.ts +5 -4
- package/lib/action/directive/auto/action.autotrigger.directive.d.ts +9 -9
- package/lib/action/directive/auto/index.d.ts +1 -1
- package/lib/action/directive/context/action.directive.d.ts +3 -3
- package/lib/action/directive/debug/action.logger.directive.d.ts +3 -3
- package/lib/action/directive/map/action.map.working.disable.directive.d.ts +6 -6
- package/lib/action/directive/state/action.disabled.directive.d.ts +5 -4
- package/lib/action/directive/state/action.enforce.modified.directive.d.ts +20 -0
- package/lib/action/directive/state/action.handler.directive.d.ts +3 -3
- package/lib/action/directive/state/action.success.directive.d.ts +11 -19
- package/lib/action/directive/state/action.success.handler.directive.d.ts +24 -0
- package/lib/action/directive/state/action.value.directive.d.ts +8 -8
- package/lib/action/directive/state/action.value.stream.directive.d.ts +25 -0
- package/lib/action/directive/state/action.value.trigger.directive.d.ts +34 -0
- package/lib/action/directive/state/action.value.trigger.instance.d.ts +34 -0
- package/lib/action/directive/state/action.working.component.d.ts +13 -7
- package/lib/action/directive/state/index.d.ts +4 -2
- package/lib/action/index.d.ts +1 -1
- package/lib/auth/auth.module.d.ts +8 -0
- package/lib/auth/auth.role.any.directive.d.ts +20 -0
- package/lib/auth/auth.role.has.directive.d.ts +20 -0
- package/lib/auth/auth.state.module.d.ts +8 -0
- package/lib/auth/auth.state.service.d.ts +13 -0
- package/lib/auth/auth.user.d.ts +28 -0
- package/lib/auth/index.d.ts +9 -0
- package/lib/auth/router/auth.router.d.ts +10 -0
- package/lib/auth/router/auth.router.module.d.ts +9 -0
- package/lib/auth/router/auth.router.service.d.ts +38 -0
- package/lib/auth/router/index.d.ts +5 -0
- package/lib/auth/router/provider/uirouter/auth.hook.d.ts +18 -0
- package/lib/auth/router/provider/uirouter/hook.d.ts +46 -0
- package/lib/auth/router/provider/uirouter/index.d.ts +5 -0
- package/lib/auth/router/provider/uirouter/redirect.d.ts +9 -0
- package/lib/auth/router/provider/uirouter/role.hook.d.ts +26 -0
- package/lib/auth/router/provider/uirouter/state.hook.d.ts +31 -0
- package/lib/auth/router/state/auth.router.state.module.d.ts +14 -0
- package/lib/auth/router/state/effect/auth.router.state.effect.d.ts +32 -0
- package/lib/auth/router/state/effect/index.d.ts +1 -0
- package/lib/auth/router/state/index.d.ts +2 -0
- package/lib/auth/service/auth.service.d.ts +46 -0
- package/lib/auth/service/auth.service.rxjs.d.ts +18 -0
- package/lib/auth/service/index.d.ts +2 -0
- package/lib/auth/state/action/auth.action.d.ts +12 -0
- package/lib/auth/state/action/index.d.ts +11 -0
- package/lib/auth/state/action/user.action.d.ts +34 -0
- package/lib/auth/state/effect/auth.effect.d.ts +31 -0
- package/lib/auth/state/index.d.ts +12 -0
- package/lib/auth/state/reducer/index.d.ts +29 -0
- package/lib/auth/state/reducer/user.reducer.d.ts +11 -0
- package/lib/auth/state/state.d.ts +5 -0
- package/lib/button/action/action.button.directive.d.ts +4 -4
- package/lib/button/action/action.button.trigger.directive.d.ts +3 -3
- package/lib/button/button.d.ts +5 -5
- package/lib/button/button.directive.d.ts +2 -2
- package/lib/button/router/button.segue.directive.d.ts +1 -0
- package/lib/context/context.d.ts +39 -0
- package/lib/context/context.directive.d.ts +19 -0
- package/lib/context/context.module.d.ts +8 -0
- package/lib/context/context.service.d.ts +16 -0
- package/lib/context/index.d.ts +5 -0
- package/lib/context/state/action/data.action.d.ts +13 -0
- package/lib/context/state/action/index.d.ts +6 -0
- package/lib/context/state/effect/index.d.ts +39 -0
- package/lib/context/state/index.d.ts +12 -0
- package/lib/context/state/reducer/data.reducer.d.ts +13 -0
- package/lib/context/state/reducer/index.d.ts +34 -0
- package/lib/context/state/state.d.ts +9 -0
- package/lib/filter/action/action.filter.source.directive.d.ts +2 -2
- package/lib/filter/filter.abstract.source.directive.d.ts +2 -2
- package/lib/index.d.ts +5 -1
- package/lib/injection/index.d.ts +8 -0
- package/lib/injection/injection.component.d.ts +15 -0
- package/lib/injection/injection.component.module.d.ts +9 -0
- package/lib/injection/injection.context.d.ts +39 -0
- package/lib/injection/injection.context.directive.d.ts +25 -0
- package/lib/injection/injection.context.forward.directive.d.ts +16 -0
- package/lib/{injected/injected.d.ts → injection/injection.d.ts} +4 -4
- package/lib/injection/injection.directive.d.ts +19 -0
- package/lib/{injected/injected.instance.d.ts → injection/injection.instance.d.ts} +8 -8
- package/lib/ngrx/index.d.ts +1 -0
- package/lib/ngrx/store.lockset.d.ts +36 -0
- package/lib/pipe/index.d.ts +2 -0
- package/lib/pipe/misc/index.d.ts +2 -0
- package/lib/pipe/misc/misc.pipe.module.d.ts +7 -0
- package/lib/pipe/misc/prettyjson.pipe.d.ts +9 -0
- package/lib/pipe/pipe.module.d.ts +8 -0
- package/lib/router/anchor/anchor.d.ts +5 -1
- package/lib/router/anchor/anchor.directive.d.ts +10 -2
- package/lib/router/router/provider/angular/angular.router.service.d.ts +7 -5
- package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +11 -5
- package/lib/router/router/service/index.d.ts +1 -0
- package/lib/router/router/service/router.go.d.ts +14 -0
- package/lib/router/router/service/router.service.d.ts +10 -4
- package/lib/router/router/transition/transition.directive.d.ts +2 -2
- package/lib/router/router/transition/transition.watcher.directive.d.ts +1 -1
- package/lib/router/segue.d.ts +10 -3
- package/lib/util/view.d.ts +12 -0
- package/lib/view/if.directive.d.ts +19 -0
- package/lib/view/index.d.ts +1 -0
- package/package.json +7 -18
- package/esm2020/lib/action/directive/auto/action.autotrigger.value.directive.mjs +0 -79
- package/esm2020/lib/action/directive/state/action.disabled.modified.directive.mjs +0 -35
- package/esm2020/lib/action/directive/state/action.success.component.mjs +0 -50
- package/esm2020/lib/action/snackbar/index.mjs +0 -3
- package/esm2020/lib/action/snackbar/snackbar.mjs +0 -24
- package/esm2020/lib/injected/index.mjs +0 -6
- package/esm2020/lib/injected/injected.component.mjs +0 -34
- package/esm2020/lib/injected/injected.component.module.mjs +0 -26
- package/esm2020/lib/injected/injected.directive.mjs +0 -33
- package/esm2020/lib/injected/injected.instance.mjs +0 -116
- package/esm2020/lib/injected/injected.mjs +0 -16
- package/lib/action/directive/auto/action.autotrigger.value.directive.d.ts +0 -25
- package/lib/action/directive/state/action.disabled.modified.directive.d.ts +0 -16
- package/lib/action/directive/state/action.success.component.d.ts +0 -15
- package/lib/action/snackbar/index.d.ts +0 -1
- package/lib/action/snackbar/snackbar.d.ts +0 -50
- package/lib/injected/index.d.ts +0 -5
- package/lib/injected/injected.component.d.ts +0 -15
- package/lib/injected/injected.component.module.d.ts +0 -8
- package/lib/injected/injected.directive.d.ts +0 -19
|
@@ -1,48 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { ActionContextStoreSourceInstance } from '../../action.store.source';
|
|
1
|
+
import { Input, TemplateRef, ViewContainerRef, Directive } from '@angular/core';
|
|
2
|
+
import { emitDelayObs } from '@dereekb/rxjs';
|
|
3
|
+
import { of, exhaustMap, shareReplay } from 'rxjs';
|
|
4
|
+
import { AbstractIfDirective } from '../../../view/if.directive';
|
|
5
|
+
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
8
7
|
import * as i1 from "../../action.store.source";
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* Structural directive that displays the content when the store has a success value.
|
|
11
10
|
*/
|
|
12
|
-
export class
|
|
13
|
-
constructor(source) {
|
|
14
|
-
super();
|
|
11
|
+
export class DbxActionHasSuccessDirective extends AbstractIfDirective {
|
|
12
|
+
constructor(templateRef, viewContainer, source) {
|
|
13
|
+
super(templateRef, viewContainer);
|
|
15
14
|
this.source = source;
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
ngOnInit() {
|
|
26
|
-
this.sub = this.successFunction$.pipe(switchMap(successFunction => this.source.success$.pipe(map(x => ([successFunction, x])), tap(([successFn, result]) => {
|
|
27
|
-
successFn(result);
|
|
28
|
-
})))).subscribe();
|
|
29
|
-
}
|
|
30
|
-
ngOnDestroy() {
|
|
31
|
-
super.ngOnDestroy();
|
|
32
|
-
this._successFunction.complete();
|
|
15
|
+
this.show$ = this.source.isSuccess$.pipe(exhaustMap((success) => {
|
|
16
|
+
if (success) {
|
|
17
|
+
return emitDelayObs(true, false, this.hideAfter || undefined);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return of(false);
|
|
21
|
+
}
|
|
22
|
+
}), shareReplay(1));
|
|
33
23
|
}
|
|
34
24
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
25
|
+
DbxActionHasSuccessDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionHasSuccessDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
+
DbxActionHasSuccessDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionHasSuccessDirective, selector: "[dbxActionHasSuccess]", inputs: { hideAfter: ["dbxActionHasSuccess", "hideAfter"] }, usesInheritance: true, ngImport: i0 });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionHasSuccessDirective, decorators: [{
|
|
38
28
|
type: Directive,
|
|
39
29
|
args: [{
|
|
40
|
-
selector: '[
|
|
30
|
+
selector: '[dbxActionHasSuccess]'
|
|
41
31
|
}]
|
|
42
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
43
|
-
type: Host
|
|
44
|
-
}] }]; }, propDecorators: { successFunction: [{
|
|
32
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.DbxActionContextStoreSourceInstance }]; }, propDecorators: { hideAfter: [{
|
|
45
33
|
type: Input,
|
|
46
|
-
args: ['
|
|
34
|
+
args: ['dbxActionHasSuccess']
|
|
47
35
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN1Y2Nlc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi5zdWNjZXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUVoRjs7R0FFRztBQUlILE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBbUI7SUFnQm5FLFlBQVksV0FBNkIsRUFBRSxhQUErQixFQUFrQixNQUEyQztRQUNySSxLQUFLLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRHdELFdBQU0sR0FBTixNQUFNLENBQXFDO1FBWDlILFVBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JCLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQzthQUMvRDtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBSUYsQ0FBQzs7eUhBbEJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBSHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7bUxBSUMsU0FBUztzQkFEUixLQUFLO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGVtaXREZWxheU9icyB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IG9mLCBleGhhdXN0TWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RJZkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXcvaWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5cbi8qKlxuICogU3RydWN0dXJhbCBkaXJlY3RpdmUgdGhhdCBkaXNwbGF5cyB0aGUgY29udGVudCB3aGVuIHRoZSBzdG9yZSBoYXMgYSBzdWNjZXNzIHZhbHVlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uSGFzU3VjY2Vzc10nXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkhhc1N1Y2Nlc3NEaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdElmRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2RieEFjdGlvbkhhc1N1Y2Nlc3MnKVxuICBoaWRlQWZ0ZXI/OiBNYXliZTxudW1iZXI+IHwgJyc7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLnNvdXJjZS5pc1N1Y2Nlc3MkLnBpcGUoXG4gICAgZXhoYXVzdE1hcCgoc3VjY2VzcykgPT4ge1xuICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgcmV0dXJuIGVtaXREZWxheU9icyh0cnVlLCBmYWxzZSwgdGhpcy5oaWRlQWZ0ZXIgfHwgdW5kZWZpbmVkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcih0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Piwgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UpIHtcbiAgICBzdXBlcih0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lcik7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { map, tap, shareReplay, switchMap } from 'rxjs/operators';
|
|
2
|
+
import { filterMaybe } from '@dereekb/rxjs';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { Directive, Host, Input } from '@angular/core';
|
|
5
|
+
import { AbstractSubscriptionDirective } from '../../../subscription';
|
|
6
|
+
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../action.store.source";
|
|
9
|
+
/**
|
|
10
|
+
* Directive that executes a function on ActionContextStore Success.
|
|
11
|
+
*/
|
|
12
|
+
export class DbxActionSuccessHandlerDirective extends AbstractSubscriptionDirective {
|
|
13
|
+
constructor(source) {
|
|
14
|
+
super();
|
|
15
|
+
this.source = source;
|
|
16
|
+
this._successFunction = new BehaviorSubject(undefined);
|
|
17
|
+
this.successFunction$ = this._successFunction.pipe(filterMaybe(), shareReplay(1));
|
|
18
|
+
}
|
|
19
|
+
get successFunction() {
|
|
20
|
+
return this._successFunction.value;
|
|
21
|
+
}
|
|
22
|
+
set successFunction(successFunction) {
|
|
23
|
+
this._successFunction.next(successFunction);
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.sub = this.successFunction$.pipe(switchMap(successFunction => this.source.success$.pipe(map(x => [successFunction, x]), tap(([successFn, result]) => {
|
|
27
|
+
successFn(result);
|
|
28
|
+
})))).subscribe();
|
|
29
|
+
}
|
|
30
|
+
ngOnDestroy() {
|
|
31
|
+
super.ngOnDestroy();
|
|
32
|
+
this._successFunction.complete();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
DbxActionSuccessHandlerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionSuccessHandlerDirective, deps: [{ token: i1.DbxActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
DbxActionSuccessHandlerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionSuccessHandlerDirective, selector: "[dbxActionSuccessHandler]", inputs: { successFunction: ["dbxActionSuccessHandler", "successFunction"] }, usesInheritance: true, ngImport: i0 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionSuccessHandlerDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[dbxActionSuccessHandler]',
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance, decorators: [{
|
|
43
|
+
type: Host
|
|
44
|
+
}] }]; }, propDecorators: { successFunction: [{
|
|
45
|
+
type: Input,
|
|
46
|
+
args: ['dbxActionSuccessHandler']
|
|
47
|
+
}] } });
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN1Y2Nlc3MuaGFuZGxlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvYWN0aW9uLnN1Y2Nlc3MuaGFuZGxlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFPaEY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZ0NBQXVDLFNBQVEsNkJBQTZCO0lBY3ZGLFlBQW9DLE1BQWlEO1FBQ25GLEtBQUssRUFBRSxDQUFDO1FBRDBCLFdBQU0sR0FBTixNQUFNLENBQTJDO1FBWjdFLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUE0QyxTQUFTLENBQUMsQ0FBQztRQUM1RixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBYXRGLENBQUM7SUFYRCxJQUNJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxlQUEwRDtRQUM1RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUNuQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3BELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBNkMsQ0FBQyxFQUMzRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQzFCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FDSCxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OzZIQWhDVSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQUg1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzswQkFlYyxJQUFJOzRDQVJiLGVBQWU7c0JBRGxCLEtBQUs7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFwLCB0YXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5cbi8qKlxuICogUGVyZm9ybXMgdGhlIGFjdGlvbiBvbiBzdWNjZXNzLlxuICovXG5leHBvcnQgdHlwZSBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckZ1bmN0aW9uPE8+ID0gKHZhbHVlOiBPKSA9PiB2b2lkO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGV4ZWN1dGVzIGEgZnVuY3Rpb24gb24gQWN0aW9uQ29udGV4dFN0b3JlIFN1Y2Nlc3MuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25TdWNjZXNzSGFuZGxlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckRpcmVjdGl2ZTxULCBPPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3N1Y2Nlc3NGdW5jdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJ4QWN0aW9uU3VjY2Vzc0hhbmRsZXJGdW5jdGlvbjxPPj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHN1Y2Nlc3NGdW5jdGlvbiQgPSB0aGlzLl9zdWNjZXNzRnVuY3Rpb24ucGlwZShmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgQElucHV0KCdkYnhBY3Rpb25TdWNjZXNzSGFuZGxlcicpXG4gIGdldCBzdWNjZXNzRnVuY3Rpb24oKTogTWF5YmU8RGJ4QWN0aW9uU3VjY2Vzc0hhbmRsZXJGdW5jdGlvbjxPPj4ge1xuICAgIHJldHVybiB0aGlzLl9zdWNjZXNzRnVuY3Rpb24udmFsdWU7XG4gIH1cblxuICBzZXQgc3VjY2Vzc0Z1bmN0aW9uKHN1Y2Nlc3NGdW5jdGlvbjogTWF5YmU8RGJ4QWN0aW9uU3VjY2Vzc0hhbmRsZXJGdW5jdGlvbjxPPj4pIHtcbiAgICB0aGlzLl9zdWNjZXNzRnVuY3Rpb24ubmV4dChzdWNjZXNzRnVuY3Rpb24pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMuc3VjY2Vzc0Z1bmN0aW9uJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHN1Y2Nlc3NGdW5jdGlvbiA9PiB0aGlzLnNvdXJjZS5zdWNjZXNzJC5waXBlKFxuICAgICAgICBtYXAoeCA9PiAoW3N1Y2Nlc3NGdW5jdGlvbiwgeF0gYXMgW0RieEFjdGlvblN1Y2Nlc3NIYW5kbGVyRnVuY3Rpb248Tz4sIE9dKSksXG4gICAgICAgIHRhcCgoW3N1Y2Nlc3NGbiwgcmVzdWx0XSkgPT4ge1xuICAgICAgICAgIHN1Y2Nlc3NGbihyZXN1bHQpO1xuICAgICAgICB9KVxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9zdWNjZXNzRnVuY3Rpb24uY29tcGxldGUoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { Directive, Host, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { getValueFromGetter } from '@dereekb/util';
|
|
3
3
|
import { filterMaybe } from '@dereekb/rxjs';
|
|
4
4
|
import { BehaviorSubject } from 'rxjs';
|
|
5
5
|
import { shareReplay, switchMap, tap } from 'rxjs/operators';
|
|
6
6
|
import { AbstractSubscriptionDirective } from '../../../subscription';
|
|
7
|
-
import {
|
|
7
|
+
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "../../action.store.source";
|
|
10
10
|
/**
|
|
11
11
|
* Directive that provides a default value when triggered.
|
|
12
12
|
*
|
|
13
|
-
* No value is required, allowing the directive to automatically call readyValue
|
|
13
|
+
* No value is required, allowing the directive to automatically call readyValue.
|
|
14
14
|
*/
|
|
15
15
|
export class DbxActionValueDirective extends AbstractSubscriptionDirective {
|
|
16
16
|
constructor(source) {
|
|
@@ -27,26 +27,28 @@ export class DbxActionValueDirective extends AbstractSubscriptionDirective {
|
|
|
27
27
|
}
|
|
28
28
|
ngOnInit() {
|
|
29
29
|
this.sub = this.valueOrFunction$.pipe(switchMap(valueOrFunction => this.source.triggered$.pipe(tap(() => {
|
|
30
|
-
const value =
|
|
30
|
+
const value = getValueFromGetter(valueOrFunction);
|
|
31
31
|
this.source.readyValue(value);
|
|
32
32
|
})))).subscribe();
|
|
33
33
|
}
|
|
34
34
|
ngOnDestroy() {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
this.source.lockSet.onNextUnlock(() => {
|
|
36
|
+
super.ngOnDestroy();
|
|
37
|
+
this._valueOrFunction.complete();
|
|
38
|
+
});
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
|
-
DbxActionValueDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
40
|
-
DbxActionValueDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
41
|
+
DbxActionValueDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionValueDirective, deps: [{ token: i1.DbxActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
+
DbxActionValueDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionValueDirective, selector: "[dbxActionValue]", inputs: { valueOrFunction: ["dbxActionValue", "valueOrFunction"] }, usesInheritance: true, ngImport: i0 });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionValueDirective, decorators: [{
|
|
42
44
|
type: Directive,
|
|
43
45
|
args: [{
|
|
44
46
|
selector: '[dbxActionValue]',
|
|
45
47
|
}]
|
|
46
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
48
|
+
}], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance, decorators: [{
|
|
47
49
|
type: Host
|
|
48
50
|
}] }]; }, propDecorators: { valueOrFunction: [{
|
|
49
51
|
type: Input,
|
|
50
52
|
args: ['dbxActionValue']
|
|
51
53
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnZhbHVlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9zdGF0ZS9hY3Rpb24udmFsdWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRWhGOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sdUJBQThCLFNBQVEsNkJBQTZCO0lBYzlFLFlBQW9DLE1BQWlEO1FBQ25GLEtBQUssRUFBRSxDQUFDO1FBRDBCLFdBQU0sR0FBTixNQUFNLENBQTJDO1FBWjdFLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUEwQixTQUFTLENBQUMsQ0FBQztRQUMxRSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBYXRGLENBQUM7SUFYRCxJQUNJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxlQUF3QztRQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUNuQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxNQUFNLEtBQUssR0FBTSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRVEsV0FBVztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFsQ1UsdUJBQXVCO3dHQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3Qjs7MEJBZWMsSUFBSTs0Q0FSYixlQUFlO3NCQURsQixLQUFLO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0VmFsdWVGcm9tR2V0dGVyLCBNYXliZSwgR2V0dGVyT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgZmlsdGVyTWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBwcm92aWRlcyBhIGRlZmF1bHQgdmFsdWUgd2hlbiB0cmlnZ2VyZWQuXG4gKlxuICogTm8gdmFsdWUgaXMgcmVxdWlyZWQsIGFsbG93aW5nIHRoZSBkaXJlY3RpdmUgdG8gYXV0b21hdGljYWxseSBjYWxsIHJlYWR5VmFsdWUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25WYWx1ZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25WYWx1ZURpcmVjdGl2ZTxULCBPPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwcml2YXRlIF92YWx1ZU9yRnVuY3Rpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEdldHRlck9yVmFsdWU8VD4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSB2YWx1ZU9yRnVuY3Rpb24kID0gdGhpcy5fdmFsdWVPckZ1bmN0aW9uLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIEBJbnB1dCgnZGJ4QWN0aW9uVmFsdWUnKVxuICBnZXQgdmFsdWVPckZ1bmN0aW9uKCk6IE1heWJlPEdldHRlck9yVmFsdWU8VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVPckZ1bmN0aW9uLnZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlT3JGdW5jdGlvbih2YWx1ZU9yRnVuY3Rpb246IE1heWJlPEdldHRlck9yVmFsdWU8VD4+KSB7XG4gICAgdGhpcy5fdmFsdWVPckZ1bmN0aW9uLm5leHQodmFsdWVPckZ1bmN0aW9uKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgTz4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLnZhbHVlT3JGdW5jdGlvbiQucGlwZShcbiAgICAgIHN3aXRjaE1hcCh2YWx1ZU9yRnVuY3Rpb24gPT4gdGhpcy5zb3VyY2UudHJpZ2dlcmVkJC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlOiBUID0gZ2V0VmFsdWVGcm9tR2V0dGVyKHZhbHVlT3JGdW5jdGlvbik7XG4gICAgICAgICAgdGhpcy5zb3VyY2UucmVhZHlWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH0pXG4gICAgICApKVxuICAgICkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZS5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5fdmFsdWVPckZ1bmN0aW9uLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
2
|
+
import { switchMap, mergeMap, map, withLatestFrom, shareReplay } from 'rxjs/operators';
|
|
3
|
+
import { Directive, Host, Input } from '@angular/core';
|
|
4
|
+
import { BehaviorSubject, Observable, of, EMPTY } from 'rxjs';
|
|
5
|
+
import { hasValueOrNotEmpty, isDefinedAndNotFalse } from '@dereekb/util';
|
|
6
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../action.store.source";
|
|
9
|
+
/**
|
|
10
|
+
* Directive that watches a value observable for changes and sets the new value and modified states as necessary.
|
|
11
|
+
*/
|
|
12
|
+
export class dbxActionValueStreamDirective {
|
|
13
|
+
constructor(source) {
|
|
14
|
+
this.source = source;
|
|
15
|
+
this._valueObs = new BehaviorSubject(EMPTY);
|
|
16
|
+
this._isModifiedFn = new BehaviorSubject(undefined);
|
|
17
|
+
this._modifiedSub = new SubscriptionObject();
|
|
18
|
+
this._triggerSub = new SubscriptionObject();
|
|
19
|
+
this.modifiedValue$ = this._valueObs.pipe(switchMap((obs) => obs.pipe(withLatestFrom(this._isModifiedFn), mergeMap(([value, dbxActionValueStreamModified]) => {
|
|
20
|
+
let result;
|
|
21
|
+
if (dbxActionValueStreamModified) {
|
|
22
|
+
result = dbxActionValueStreamModified(value).pipe(map((isModified) => [isModified, value]));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
result = of([true, value]);
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}), shareReplay(1))));
|
|
29
|
+
}
|
|
30
|
+
set dbxActionValueStream(dbxActionValueStream) {
|
|
31
|
+
this._valueObs.next(dbxActionValueStream);
|
|
32
|
+
}
|
|
33
|
+
set dbxActionValueStreamIsNotEmpty(requireNonEmpty) {
|
|
34
|
+
if (isDefinedAndNotFalse(requireNonEmpty)) {
|
|
35
|
+
this.dbxActionValueStreamModified = (value) => {
|
|
36
|
+
return of(hasValueOrNotEmpty(value));
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
set dbxActionValueStreamModified(dbxActionValueStreamModified) {
|
|
41
|
+
this._isModifiedFn.next(dbxActionValueStreamModified);
|
|
42
|
+
}
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
// Update Modified value.
|
|
45
|
+
this._modifiedSub.subscription = this.modifiedValue$.subscribe(([isModified, value]) => {
|
|
46
|
+
this.source.setIsModified(isModified);
|
|
47
|
+
});
|
|
48
|
+
// Set the value on triggers.
|
|
49
|
+
this._triggerSub.subscription = this.source.triggered$.pipe(switchMap(_ => this.modifiedValue$)).subscribe(([isModified, value]) => {
|
|
50
|
+
if (isModified) {
|
|
51
|
+
this.source.readyValue(value);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
ngOnDestroy() {
|
|
56
|
+
this.source.lockSet.onNextUnlock(() => {
|
|
57
|
+
this._valueObs.complete();
|
|
58
|
+
this._isModifiedFn.complete();
|
|
59
|
+
this._modifiedSub.destroy();
|
|
60
|
+
this._triggerSub.destroy();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
dbxActionValueStreamDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: dbxActionValueStreamDirective, deps: [{ token: i1.DbxActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
65
|
+
dbxActionValueStreamDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: dbxActionValueStreamDirective, selector: "[dbxActionValueStream]", inputs: { dbxActionValueStream: "dbxActionValueStream", dbxActionValueStreamIsNotEmpty: "dbxActionValueStreamIsNotEmpty", dbxActionValueStreamModified: "dbxActionValueStreamModified" }, ngImport: i0 });
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: dbxActionValueStreamDirective, decorators: [{
|
|
67
|
+
type: Directive,
|
|
68
|
+
args: [{
|
|
69
|
+
selector: '[dbxActionValueStream]',
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance, decorators: [{
|
|
72
|
+
type: Host
|
|
73
|
+
}] }]; }, propDecorators: { dbxActionValueStream: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], dbxActionValueStreamIsNotEmpty: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], dbxActionValueStreamModified: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnZhbHVlLnN0cmVhbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvYWN0aW9uLnZhbHVlLnN0cmVhbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQVMsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFzQixrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRXZFOztHQUVHO0FBSUgsTUFBTSxPQUFPLDZCQUE2QjtJQStDeEMsWUFBb0MsTUFBaUQ7UUFBakQsV0FBTSxHQUFOLE1BQU0sQ0FBMkM7UUE3QzdFLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsS0FBSyxDQUFDLENBQUM7UUFDdEQsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBK0IsU0FBUyxDQUFDLENBQUM7UUFFN0UsaUJBQVksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFxQnRDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQzNDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FDekIsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFDbEMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLENBQUMsRUFBRSxFQUFFO1lBQ2pELElBQUksTUFBZ0MsQ0FBQztZQUVyQyxJQUFJLDRCQUE0QixFQUFFO2dCQUNoQyxNQUFNLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMvQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBaUIsQ0FBQyxDQUN6RCxDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzVCO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUMsQ0FDSCxDQUFDO0lBRXVGLENBQUM7SUF2QzFGLElBQ0ksb0JBQW9CLENBQUMsb0JBQW1DO1FBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQ0ksOEJBQThCLENBQUMsZUFBb0I7UUFDckQsSUFBSSxvQkFBb0IsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDNUMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxJQUNJLDRCQUE0QixDQUFDLDRCQUFtRDtRQUNsRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUF3QkQsUUFBUTtRQUNOLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDckYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7UUFFSCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6RCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQ3BDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNsQyxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMvQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzswSEF4RVUsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQzs7MEJBZ0RjLElBQUk7NENBdENiLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFNRiw4QkFBOEI7c0JBRGpDLEtBQUs7Z0JBVUYsNEJBQTRCO3NCQUQvQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgbWVyZ2VNYXAsIG1hcCwgd2l0aExhdGVzdEZyb20sIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNWYWx1ZU9yTm90RW1wdHksIE1heWJlLCBpc0RlZmluZWRBbmROb3RGYWxzZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgSXNNb2RpZmllZEZ1bmN0aW9uLCBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCB3YXRjaGVzIGEgdmFsdWUgb2JzZXJ2YWJsZSBmb3IgY2hhbmdlcyBhbmQgc2V0cyB0aGUgbmV3IHZhbHVlIGFuZCBtb2RpZmllZCBzdGF0ZXMgYXMgbmVjZXNzYXJ5LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uVmFsdWVTdHJlYW1dJyxcbn0pXG5leHBvcnQgY2xhc3MgZGJ4QWN0aW9uVmFsdWVTdHJlYW1EaXJlY3RpdmU8VCwgTz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfdmFsdWVPYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE9ic2VydmFibGU8VD4+KEVNUFRZKTtcbiAgcHJpdmF0ZSBfaXNNb2RpZmllZEZuID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxJc01vZGlmaWVkRnVuY3Rpb248VD4+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX21vZGlmaWVkU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF90cmlnZ2VyU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkYnhBY3Rpb25WYWx1ZVN0cmVhbShkYnhBY3Rpb25WYWx1ZVN0cmVhbTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHRoaXMuX3ZhbHVlT2JzLm5leHQoZGJ4QWN0aW9uVmFsdWVTdHJlYW0pO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRieEFjdGlvblZhbHVlU3RyZWFtSXNOb3RFbXB0eShyZXF1aXJlTm9uRW1wdHk6IGFueSkge1xuICAgIGlmIChpc0RlZmluZWRBbmROb3RGYWxzZShyZXF1aXJlTm9uRW1wdHkpKSB7XG4gICAgICB0aGlzLmRieEFjdGlvblZhbHVlU3RyZWFtTW9kaWZpZWQgPSAodmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKGhhc1ZhbHVlT3JOb3RFbXB0eSh2YWx1ZSkpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGJ4QWN0aW9uVmFsdWVTdHJlYW1Nb2RpZmllZChkYnhBY3Rpb25WYWx1ZVN0cmVhbU1vZGlmaWVkOiBJc01vZGlmaWVkRnVuY3Rpb248VD4pIHtcbiAgICB0aGlzLl9pc01vZGlmaWVkRm4ubmV4dChkYnhBY3Rpb25WYWx1ZVN0cmVhbU1vZGlmaWVkKTtcbiAgfVxuXG4gIHJlYWRvbmx5IG1vZGlmaWVkVmFsdWUkID0gdGhpcy5fdmFsdWVPYnMucGlwZShcbiAgICBzd2l0Y2hNYXAoKG9icykgPT4gb2JzLnBpcGUoXG4gICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLl9pc01vZGlmaWVkRm4pLFxuICAgICAgbWVyZ2VNYXAoKFt2YWx1ZSwgZGJ4QWN0aW9uVmFsdWVTdHJlYW1Nb2RpZmllZF0pID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdDogT2JzZXJ2YWJsZTxbYm9vbGVhbiwgVF0+O1xuXG4gICAgICAgIGlmIChkYnhBY3Rpb25WYWx1ZVN0cmVhbU1vZGlmaWVkKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZGJ4QWN0aW9uVmFsdWVTdHJlYW1Nb2RpZmllZCh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoaXNNb2RpZmllZCkgPT4gW2lzTW9kaWZpZWQsIHZhbHVlXSBhcyBbYm9vbGVhbiwgVF0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHQgPSBvZihbdHJ1ZSwgdmFsdWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQsIE8+KSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBVcGRhdGUgTW9kaWZpZWQgdmFsdWUuXG4gICAgdGhpcy5fbW9kaWZpZWRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5tb2RpZmllZFZhbHVlJC5zdWJzY3JpYmUoKFtpc01vZGlmaWVkLCB2YWx1ZV0pID0+IHtcbiAgICAgIHRoaXMuc291cmNlLnNldElzTW9kaWZpZWQoaXNNb2RpZmllZCk7XG4gICAgfSk7XG5cbiAgICAvLyBTZXQgdGhlIHZhbHVlIG9uIHRyaWdnZXJzLlxuICAgIHRoaXMuX3RyaWdnZXJTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2UudHJpZ2dlcmVkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKF8gPT4gdGhpcy5tb2RpZmllZFZhbHVlJClcbiAgICApLnN1YnNjcmliZSgoW2lzTW9kaWZpZWQsIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKGlzTW9kaWZpZWQpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UucmVhZHlWYWx1ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZS5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICB0aGlzLl92YWx1ZU9icy5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5faXNNb2RpZmllZEZuLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9tb2RpZmllZFN1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl90cmlnZ2VyU3ViLmRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input } from "@angular/core";
|
|
2
|
+
import { SubscriptionObject } from "@dereekb/rxjs";
|
|
3
|
+
import { DbxActionContextStoreSourceInstance } from "../../action.store.source";
|
|
4
|
+
import { DbxActionValueOnTriggerInstance } from "./action.value.trigger.instance";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "../../action.store.source";
|
|
7
|
+
/**
|
|
8
|
+
* Abstract class for directives that may perform an action when trigger is called, and returns a value.
|
|
9
|
+
*/
|
|
10
|
+
export class AbstractDbxActionValueOnTriggerDirective {
|
|
11
|
+
constructor(source, valueGetter) {
|
|
12
|
+
this.source = source;
|
|
13
|
+
this._triggeredSub = new SubscriptionObject();
|
|
14
|
+
this._instance = new DbxActionValueOnTriggerInstance({
|
|
15
|
+
source: this.source,
|
|
16
|
+
valueGetter
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
get valueGetter() {
|
|
20
|
+
return this._instance.valueGetter;
|
|
21
|
+
}
|
|
22
|
+
set valueGetter(valueGetter) {
|
|
23
|
+
this._instance.valueGetter = valueGetter;
|
|
24
|
+
}
|
|
25
|
+
get isModifiedFunction() {
|
|
26
|
+
return this._instance.isModifiedFunction;
|
|
27
|
+
}
|
|
28
|
+
set isModifiedFunction(isModifiedFunction) {
|
|
29
|
+
this._instance.isModifiedFunction = isModifiedFunction;
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this._instance.init();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this._instance.destroy();
|
|
36
|
+
this._triggeredSub.destroy();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
AbstractDbxActionValueOnTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxActionValueOnTriggerDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
AbstractDbxActionValueOnTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: AbstractDbxActionValueOnTriggerDirective, ngImport: i0 });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxActionValueOnTriggerDirective, decorators: [{
|
|
42
|
+
type: Directive
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.DbxActionContextStoreSourceInstance }, { type: undefined }]; } });
|
|
44
|
+
/**
|
|
45
|
+
* Action directive that is used to trigger/display a popover, then watches that popover for a value.
|
|
46
|
+
*/
|
|
47
|
+
export class DbxActionValueTriggerDirective extends AbstractDbxActionValueOnTriggerDirective {
|
|
48
|
+
constructor(elementRef, source) {
|
|
49
|
+
super(source);
|
|
50
|
+
this.elementRef = elementRef;
|
|
51
|
+
}
|
|
52
|
+
set dbxActionValueOnTrigger(dbxActionValueTrigger) {
|
|
53
|
+
this.valueGetter = dbxActionValueTrigger;
|
|
54
|
+
}
|
|
55
|
+
set dbxActionValueTriggerModified(isModifiedFunction) {
|
|
56
|
+
this.isModifiedFunction = isModifiedFunction;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
DbxActionValueTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionValueTriggerDirective, deps: [{ token: i0.ElementRef }, { token: i1.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
DbxActionValueTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionValueTriggerDirective, selector: "[dbxActionValueOnTrigger]", inputs: { dbxActionValueOnTrigger: "dbxActionValueOnTrigger", dbxActionValueTriggerModified: "dbxActionValueTriggerModified" }, exportAs: ["dbxActionValueOnTrigger"], usesInheritance: true, ngImport: i0 });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionValueTriggerDirective, decorators: [{
|
|
62
|
+
type: Directive,
|
|
63
|
+
args: [{
|
|
64
|
+
exportAs: 'dbxActionValueOnTrigger',
|
|
65
|
+
selector: '[dbxActionValueOnTrigger]'
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DbxActionContextStoreSourceInstance }]; }, propDecorators: { dbxActionValueOnTrigger: [{
|
|
68
|
+
type: Input,
|
|
69
|
+
args: ['dbxActionValueOnTrigger']
|
|
70
|
+
}], dbxActionValueTriggerModified: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}] } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnZhbHVlLnRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi52YWx1ZS50cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBc0Isa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFtQywrQkFBK0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFbkg7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLHdDQUF3QztJQU01RCxZQUNXLE1BQW1ELEVBQzVELFdBQXVEO1FBRDlDLFdBQU0sR0FBTixNQUFNLENBQTZDO1FBSHRELGtCQUFhLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBTS9DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSwrQkFBK0IsQ0FBSTtZQUN0RCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxXQUFzRDtRQUNwRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBZ0Q7UUFDckUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUN6RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7cUlBdkNtQix3Q0FBd0M7eUhBQXhDLHdDQUF3QzsyRkFBeEMsd0NBQXdDO2tCQUQ3RCxTQUFTOztBQTRDVjs7R0FFRztBQUtILE1BQU0sT0FBTyw4QkFBMkMsU0FBUSx3Q0FBMkM7SUFZekcsWUFDVyxVQUFzQixFQUMvQixNQUFtRDtRQUVuRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFITCxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBSWpDLENBQUM7SUFmRCxJQUNJLHVCQUF1QixDQUFDLHFCQUFnRTtRQUMxRixJQUFJLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUNJLDZCQUE2QixDQUFDLGtCQUE2QztRQUM3RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7SUFDL0MsQ0FBQzs7MkhBVlUsOEJBQThCOytHQUE5Qiw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsMkJBQTJCO2lCQUN0QzttSkFJSyx1QkFBdUI7c0JBRDFCLEtBQUs7dUJBQUMseUJBQXlCO2dCQU01Qiw2QkFBNkI7c0JBRGhDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJc01vZGlmaWVkRnVuY3Rpb24sIFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gXCJAZGVyZWVrYi9yeGpzXCI7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5pbXBvcnQgeyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gXCIuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlXCI7XG5pbXBvcnQgeyBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckZ1bmN0aW9uLCBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckluc3RhbmNlIH0gZnJvbSBcIi4vYWN0aW9uLnZhbHVlLnRyaWdnZXIuaW5zdGFuY2VcIjtcblxuLyoqXG4gKiBBYnN0cmFjdCBjbGFzcyBmb3IgZGlyZWN0aXZlcyB0aGF0IG1heSBwZXJmb3JtIGFuIGFjdGlvbiB3aGVuIHRyaWdnZXIgaXMgY2FsbGVkLCBhbmQgcmV0dXJucyBhIHZhbHVlLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieEFjdGlvblZhbHVlT25UcmlnZ2VyRGlyZWN0aXZlPFQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnN0YW5jZTogRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJJbnN0YW5jZTxUPjtcblxuICBwcml2YXRlIF90cmlnZ2VyZWRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBhbnk+LFxuICAgIHZhbHVlR2V0dGVyPzogTWF5YmU8RGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJGdW5jdGlvbjxUPj5cbiAgKSB7XG4gICAgdGhpcy5faW5zdGFuY2UgPSBuZXcgRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJJbnN0YW5jZTxUPih7XG4gICAgICBzb3VyY2U6IHRoaXMuc291cmNlLFxuICAgICAgdmFsdWVHZXR0ZXJcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB2YWx1ZUdldHRlcigpOiBNYXliZTxEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckZ1bmN0aW9uPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlLnZhbHVlR2V0dGVyO1xuICB9XG5cbiAgc2V0IHZhbHVlR2V0dGVyKHZhbHVlR2V0dGVyOiBNYXliZTxEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckZ1bmN0aW9uPFQ+Pikge1xuICAgIHRoaXMuX2luc3RhbmNlLnZhbHVlR2V0dGVyID0gdmFsdWVHZXR0ZXI7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEZ1bmN0aW9uKCk6IE1heWJlPElzTW9kaWZpZWRGdW5jdGlvbjxUPj4ge1xuICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZS5pc01vZGlmaWVkRnVuY3Rpb247XG4gIH1cblxuICBzZXQgaXNNb2RpZmllZEZ1bmN0aW9uKGlzTW9kaWZpZWRGdW5jdGlvbjogTWF5YmU8SXNNb2RpZmllZEZ1bmN0aW9uPFQ+Pikge1xuICAgIHRoaXMuX2luc3RhbmNlLmlzTW9kaWZpZWRGdW5jdGlvbiA9IGlzTW9kaWZpZWRGdW5jdGlvbjtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2luc3RhbmNlLmluaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2luc3RhbmNlLmRlc3Ryb3koKTtcbiAgICB0aGlzLl90cmlnZ2VyZWRTdWIuZGVzdHJveSgpO1xuICB9XG5cbn1cblxuLyoqXG4gKiBBY3Rpb24gZGlyZWN0aXZlIHRoYXQgaXMgdXNlZCB0byB0cmlnZ2VyL2Rpc3BsYXkgYSBwb3BvdmVyLCB0aGVuIHdhdGNoZXMgdGhhdCBwb3BvdmVyIGZvciBhIHZhbHVlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgZXhwb3J0QXM6ICdkYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlcicsXG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvblZhbHVlT25UcmlnZ2VyXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uVmFsdWVUcmlnZ2VyRGlyZWN0aXZlPFQgPSBvYmplY3Q+IGV4dGVuZHMgQWJzdHJhY3REYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoJ2RieEFjdGlvblZhbHVlT25UcmlnZ2VyJylcbiAgc2V0IGRieEFjdGlvblZhbHVlT25UcmlnZ2VyKGRieEFjdGlvblZhbHVlVHJpZ2dlcjogTWF5YmU8RGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJGdW5jdGlvbjxUPj4pIHtcbiAgICB0aGlzLnZhbHVlR2V0dGVyID0gZGJ4QWN0aW9uVmFsdWVUcmlnZ2VyO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRieEFjdGlvblZhbHVlVHJpZ2dlck1vZGlmaWVkKGlzTW9kaWZpZWRGdW5jdGlvbjogTWF5YmU8SXNNb2RpZmllZEZ1bmN0aW9uPikge1xuICAgIHRoaXMuaXNNb2RpZmllZEZ1bmN0aW9uID0gaXNNb2RpZmllZEZ1bmN0aW9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBzb3VyY2U6IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQsIGFueT5cbiAgKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { switchMap, map, catchError, of, BehaviorSubject } from 'rxjs';
|
|
2
|
+
import { SubscriptionObject, asObservable, returnIfIs, filterMaybe } from '@dereekb/rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* Utility class that handles trigger events to retrieve a value.
|
|
5
|
+
*/
|
|
6
|
+
export class DbxActionValueOnTriggerInstance {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this._valueGetter = new BehaviorSubject(undefined);
|
|
9
|
+
this.valueGetter$ = this._valueGetter.pipe(filterMaybe());
|
|
10
|
+
this._triggeredSub = new SubscriptionObject();
|
|
11
|
+
this.source = config.source;
|
|
12
|
+
this._valueGetter.next(config.valueGetter);
|
|
13
|
+
}
|
|
14
|
+
get valueGetter() {
|
|
15
|
+
return this._valueGetter.value;
|
|
16
|
+
}
|
|
17
|
+
set valueGetter(valueGetter) {
|
|
18
|
+
this._valueGetter.next(valueGetter);
|
|
19
|
+
}
|
|
20
|
+
init() {
|
|
21
|
+
// Ready the value after the source is triggered. Do modified check one last time.
|
|
22
|
+
this._triggeredSub.subscription = this.source.triggered$.pipe(switchMap(() => this.valueGetter$.pipe(switchMap((valueGetter) => asObservable(valueGetter())))
|
|
23
|
+
.pipe(
|
|
24
|
+
// If the value is not null/undefined and is considered modified, then pass the value.
|
|
25
|
+
switchMap((value) => returnIfIs(this.isModifiedFunction, value, false).pipe(map((value) => ({ value })))),
|
|
26
|
+
// Catch any errors and pass them to reject.
|
|
27
|
+
catchError((reject) => of({ reject }))))).subscribe((result) => {
|
|
28
|
+
if (result.value != null) {
|
|
29
|
+
this.source.readyValue(result.value);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.source.reject(result.reject);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
destroy() {
|
|
37
|
+
this.source.lockSet.onNextUnlock(() => {
|
|
38
|
+
this._triggeredSub.destroy();
|
|
39
|
+
this._valueGetter.complete();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnZhbHVlLnRyaWdnZXIuaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvYWN0aW9uLnZhbHVlLnRyaWdnZXIuaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFxQixrQkFBa0IsRUFBc0IsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF1QmpJOztHQUVHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxZQUFZLE1BQWdEO1FBVHBELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQTRDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hGLGlCQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQU10RCxrQkFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUcvQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxXQUFzRDtRQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSTtRQUVGLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDNUYsSUFBSTtRQUNILHNGQUFzRjtRQUN0RixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6Ryw0Q0FBNEM7UUFDNUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQ3ZDLENBQ0YsQ0FDRixDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXdDLEVBQUUsRUFBRTtZQUN2RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO2dCQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25DO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIG9mLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlLCBTdWJzY3JpcHRpb25PYmplY3QsIElzTW9kaWZpZWRGdW5jdGlvbiwgYXNPYnNlcnZhYmxlLCByZXR1cm5JZklzLCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGVzdHJveWFibGUsIEluaXRpYWxpemVkLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckluc3RhbmNlIGZ1bmN0aW9uLiBSZXR1cm5zIGFuIE9iZXJ2YWJsZUdldHRlciB0aGF0IHJldHVybnMgYSB2YWx1ZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJGdW5jdGlvbjxUPiA9ICgpID0+IE9ic2VydmFibGVPclZhbHVlPE1heWJlPFQ+PjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxUID0gYW55PiB7XG4gIHZhbHVlPzogTWF5YmU8VD47XG4gIHJlamVjdD86IGFueTtcbn1cblxuLyoqXG4gKiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckluc3RhbmNlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJJbnN0YW5jZUNvbmZpZzxUPiB7XG4gIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgYW55PixcbiAgcmVhZG9ubHkgdmFsdWVHZXR0ZXI/OiBNYXliZTxEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlckZ1bmN0aW9uPFQ+PjtcbiAgcmVhZG9ubHkgaXNNb2RpZmllZEZ1bmN0aW9uPzogTWF5YmU8SXNNb2RpZmllZEZ1bmN0aW9uPFQ+Pjtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIHRoYXQgaGFuZGxlcyB0cmlnZ2VyIGV2ZW50cyB0byByZXRyaWV2ZSBhIHZhbHVlLlxuICovXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJJbnN0YW5jZTxUPiBpbXBsZW1lbnRzIEluaXRpYWxpemVkLCBEZXN0cm95YWJsZSB7XG5cbiAgcHJpdmF0ZSBfdmFsdWVHZXR0ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyRnVuY3Rpb248VD4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSB2YWx1ZUdldHRlciQgPSB0aGlzLl92YWx1ZUdldHRlci5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgYW55PjtcblxuICBpc01vZGlmaWVkRnVuY3Rpb24/OiBNYXliZTxJc01vZGlmaWVkRnVuY3Rpb248VD4+O1xuXG4gIHByaXZhdGUgX3RyaWdnZXJlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IERieEFjdGlvblZhbHVlT25UcmlnZ2VySW5zdGFuY2VDb25maWc8VD4pIHtcbiAgICB0aGlzLnNvdXJjZSA9IGNvbmZpZy5zb3VyY2U7XG4gICAgdGhpcy5fdmFsdWVHZXR0ZXIubmV4dChjb25maWcudmFsdWVHZXR0ZXIpO1xuICB9XG5cbiAgZ2V0IHZhbHVlR2V0dGVyKCk6IE1heWJlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyRnVuY3Rpb248VD4+IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVHZXR0ZXIudmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWVHZXR0ZXIodmFsdWVHZXR0ZXI6IE1heWJlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyRnVuY3Rpb248VD4+KSB7XG4gICAgdGhpcy5fdmFsdWVHZXR0ZXIubmV4dCh2YWx1ZUdldHRlcik7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuXG4gICAgLy8gUmVhZHkgdGhlIHZhbHVlIGFmdGVyIHRoZSBzb3VyY2UgaXMgdHJpZ2dlcmVkLiBEbyBtb2RpZmllZCBjaGVjayBvbmUgbGFzdCB0aW1lLlxuICAgIHRoaXMuX3RyaWdnZXJlZFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnNvdXJjZS50cmlnZ2VyZWQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy52YWx1ZUdldHRlciQucGlwZShzd2l0Y2hNYXAoKHZhbHVlR2V0dGVyKSA9PiBhc09ic2VydmFibGUodmFsdWVHZXR0ZXIoKSkpKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgbm90IG51bGwvdW5kZWZpbmVkIGFuZCBpcyBjb25zaWRlcmVkIG1vZGlmaWVkLCB0aGVuIHBhc3MgdGhlIHZhbHVlLlxuICAgICAgICAgIHN3aXRjaE1hcCgodmFsdWUpID0+IHJldHVybklmSXModGhpcy5pc01vZGlmaWVkRnVuY3Rpb24sIHZhbHVlLCBmYWxzZSkucGlwZShtYXAoKHZhbHVlKSA9PiAoeyB2YWx1ZSB9KSkpKSxcbiAgICAgICAgICAvLyBDYXRjaCBhbnkgZXJyb3JzIGFuZCBwYXNzIHRoZW0gdG8gcmVqZWN0LlxuICAgICAgICAgIGNhdGNoRXJyb3IoKHJlamVjdCkgPT4gb2YoeyByZWplY3QgfSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLnN1YnNjcmliZSgocmVzdWx0OiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdDxUPikgPT4ge1xuICAgICAgaWYgKHJlc3VsdC52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnJlYWR5VmFsdWUocmVzdWx0LnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc291cmNlLnJlamVjdChyZXN1bHQucmVqZWN0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgdGhpcy5fdHJpZ2dlcmVkU3ViLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX3ZhbHVlR2V0dGVyLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,32 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Input, TemplateRef, ViewContainerRef, Directive } from '@angular/core';
|
|
2
|
+
import { emitDelayObs } from '@dereekb/rxjs';
|
|
3
|
+
import { of, exhaustMap, shareReplay } from 'rxjs';
|
|
4
|
+
import { AbstractIfDirective } from '../../../view/if.directive';
|
|
5
|
+
import { DbxActionContextStoreSourceInstance } from '../../action.store.source';
|
|
3
6
|
import * as i0 from "@angular/core";
|
|
4
7
|
import * as i1 from "../../action.store.source";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Structural directive that displays the content when the store is working.
|
|
10
|
+
*
|
|
11
|
+
* Can specify a period in milliseconds that shows how long to show up after working for a particular number of seconds.
|
|
8
12
|
*/
|
|
9
|
-
export class
|
|
10
|
-
constructor(source) {
|
|
13
|
+
export class DbxActionIsWorkingDirective extends AbstractIfDirective {
|
|
14
|
+
constructor(templateRef, viewContainer, source) {
|
|
15
|
+
super(templateRef, viewContainer);
|
|
11
16
|
this.source = source;
|
|
12
|
-
this.show$ = this.source.isWorking
|
|
17
|
+
this.show$ = this.source.isWorking$.pipe(exhaustMap((isWorking) => {
|
|
18
|
+
if (isWorking && this.showAfter) {
|
|
19
|
+
return emitDelayObs(false, true, this.showAfter || undefined);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return of(isWorking);
|
|
23
|
+
}
|
|
24
|
+
}), shareReplay(1));
|
|
13
25
|
}
|
|
14
26
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
</ng-container>
|
|
20
|
-
`, isInline: true, directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxActionWorkingComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
27
|
+
DbxActionIsWorkingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionIsWorkingDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
DbxActionIsWorkingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionIsWorkingDirective, selector: "[dbxActionIsWorking]", inputs: { showAfter: ["dbxActionIsWorking", "showAfter"] }, usesInheritance: true, ngImport: i0 });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionIsWorkingDirective, decorators: [{
|
|
30
|
+
type: Directive,
|
|
23
31
|
args: [{
|
|
24
|
-
selector: '
|
|
25
|
-
template: `
|
|
26
|
-
<ng-container *ngIf="show$ | async">
|
|
27
|
-
<ng-content></ng-content>
|
|
28
|
-
</ng-container>
|
|
29
|
-
`
|
|
32
|
+
selector: '[dbxActionIsWorking]'
|
|
30
33
|
}]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
32
|
-
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1.DbxActionContextStoreSourceInstance }]; }, propDecorators: { showAfter: [{
|
|
35
|
+
type: Input,
|
|
36
|
+
args: ['dbxActionIsWorking']
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLndvcmtpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi53b3JraW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUVoRjs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQWdCbEUsWUFBWSxXQUE2QixFQUFFLGFBQStCLEVBQWtCLE1BQTJDO1FBQ3JJLEtBQUssQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFEd0QsV0FBTSxHQUFOLE1BQU0sQ0FBcUM7UUFYOUgsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUMsVUFBVSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDL0IsT0FBTyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNMLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDOzt3SEFsQlUsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzttTEFJQyxTQUFTO3NCQURSLEtBQUs7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW1pdERlbGF5T2JzIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgb2YsIGV4aGF1c3RNYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdElmRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vdmlldy9pZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBTdHJ1Y3R1cmFsIGRpcmVjdGl2ZSB0aGF0IGRpc3BsYXlzIHRoZSBjb250ZW50IHdoZW4gdGhlIHN0b3JlIGlzIHdvcmtpbmcuXG4gKiBcbiAqIENhbiBzcGVjaWZ5IGEgcGVyaW9kIGluIG1pbGxpc2Vjb25kcyB0aGF0IHNob3dzIGhvdyBsb25nIHRvIHNob3cgdXAgYWZ0ZXIgd29ya2luZyBmb3IgYSBwYXJ0aWN1bGFyIG51bWJlciBvZiBzZWNvbmRzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uSXNXb3JraW5nXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uSXNXb3JraW5nRGlyZWN0aXZlIGV4dGVuZHMgQWJzdHJhY3RJZkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdkYnhBY3Rpb25Jc1dvcmtpbmcnKVxuICBzaG93QWZ0ZXI/OiBNYXliZTxudW1iZXI+IHwgJyc7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLnNvdXJjZS5pc1dvcmtpbmckLnBpcGUoXG4gICAgZXhoYXVzdE1hcCgoaXNXb3JraW5nKSA9PiB7XG4gICAgICBpZiAoaXNXb3JraW5nICYmIHRoaXMuc2hvd0FmdGVyKSB7XG4gICAgICAgIHJldHVybiBlbWl0RGVsYXlPYnMoZmFsc2UsIHRydWUsIHRoaXMuc2hvd0FmdGVyIHx8IHVuZGVmaW5lZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YoaXNXb3JraW5nKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLCBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSkge1xuICAgIHN1cGVyKHRlbXBsYXRlUmVmLCB2aWV3Q29udGFpbmVyKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from './action.disabled.directive';
|
|
2
|
-
export * from './action.disabled.modified.directive';
|
|
3
2
|
export * from './action.handler.directive';
|
|
4
|
-
export * from './action.success.component';
|
|
5
3
|
export * from './action.success.directive';
|
|
4
|
+
export * from './action.success.handler.directive';
|
|
6
5
|
export * from './action.value.directive';
|
|
7
6
|
export * from './action.working.component';
|
|
8
|
-
|
|
7
|
+
export * from './action.enforce.modified.directive';
|
|
8
|
+
export * from './action.value.trigger.directive';
|
|
9
|
+
export * from './action.value.trigger.instance';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjdGlvbi5kaXNhYmxlZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uaGFuZGxlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc3VjY2Vzcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc3VjY2Vzcy5oYW5kbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi52YWx1ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24ud29ya2luZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uZW5mb3JjZS5tb2RpZmllZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24udmFsdWUudHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24udmFsdWUudHJpZ2dlci5pbnN0YW5jZSc7XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export * from './directive';
|
|
2
|
-
export * from './snackbar';
|
|
3
2
|
export * from './action.handler';
|
|
4
3
|
export * from './action.holder';
|
|
5
4
|
export * from './action.machine';
|
|
6
5
|
export * from './action.module';
|
|
6
|
+
export * from './action.reference';
|
|
7
7
|
export * from './action.store.source';
|
|
8
8
|
export * from './action.store';
|
|
9
9
|
export * from './action';
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5ob2xkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24ubWFjaGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24ucmVmZXJlbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbic7XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DbxAuthHasAnyRoleDirective } from './auth.role.any.directive';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { DbxAuthHasRolesDirective } from './auth.role.has.directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DbxCoreAuthModule {
|
|
6
|
+
}
|
|
7
|
+
DbxCoreAuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
DbxCoreAuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, declarations: [DbxAuthHasRolesDirective,
|
|
9
|
+
DbxAuthHasAnyRoleDirective], exports: [DbxAuthHasRolesDirective,
|
|
10
|
+
DbxAuthHasAnyRoleDirective] });
|
|
11
|
+
DbxCoreAuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, imports: [[]] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreAuthModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
imports: [],
|
|
16
|
+
declarations: [
|
|
17
|
+
DbxAuthHasRolesDirective,
|
|
18
|
+
DbxAuthHasAnyRoleDirective
|
|
19
|
+
],
|
|
20
|
+
exports: [
|
|
21
|
+
DbxAuthHasRolesDirective,
|
|
22
|
+
DbxAuthHasAnyRoleDirective
|
|
23
|
+
]
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2F1dGgvYXV0aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFhckUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVIxQix3QkFBd0I7UUFDeEIsMEJBQTBCLGFBRzFCLHdCQUF3QjtRQUN4QiwwQkFBMEI7K0dBR2pCLGlCQUFpQixZQVZuQixFQUFFOzJGQVVBLGlCQUFpQjtrQkFYN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3dCQUN4QiwwQkFBMEI7cUJBQzNCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhBdXRoSGFzQW55Um9sZURpcmVjdGl2ZSB9IGZyb20gJy4vYXV0aC5yb2xlLmFueS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEF1dGhIYXNSb2xlc0RpcmVjdGl2ZSB9IGZyb20gJy4vYXV0aC5yb2xlLmhhcy5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGJ4QXV0aEhhc1JvbGVzRGlyZWN0aXZlLFxuICAgIERieEF1dGhIYXNBbnlSb2xlRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYnhBdXRoSGFzUm9sZXNEaXJlY3RpdmUsXG4gICAgRGJ4QXV0aEhhc0FueVJvbGVEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhDb3JlQXV0aE1vZHVsZSB7IH1cbiJdfQ==
|