@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.
Files changed (267) hide show
  1. package/README.md +1 -1
  2. package/esm2020/lib/action/action.handler.mjs +4 -126
  3. package/esm2020/lib/action/action.holder.mjs +13 -4
  4. package/esm2020/lib/action/action.machine.mjs +15 -7
  5. package/esm2020/lib/action/action.mjs +37 -17
  6. package/esm2020/lib/action/action.module.mjs +18 -18
  7. package/esm2020/lib/action/action.reference.mjs +7 -0
  8. package/esm2020/lib/action/action.store.mjs +63 -26
  9. package/esm2020/lib/action/action.store.source.mjs +27 -13
  10. package/esm2020/lib/action/directive/auto/action.automodify.directive.mjs +7 -7
  11. package/esm2020/lib/action/directive/auto/action.autotrigger.directive.mjs +13 -11
  12. package/esm2020/lib/action/directive/auto/index.mjs +2 -2
  13. package/esm2020/lib/action/directive/context/action.directive.mjs +7 -7
  14. package/esm2020/lib/action/directive/context/action.source.directive.mjs +3 -3
  15. package/esm2020/lib/action/directive/debug/action.logger.directive.mjs +6 -6
  16. package/esm2020/lib/action/directive/map/action.map.directive.mjs +3 -3
  17. package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +3 -3
  18. package/esm2020/lib/action/directive/map/action.map.source.directive.mjs +3 -3
  19. package/esm2020/lib/action/directive/map/action.map.working.disable.directive.mjs +7 -7
  20. package/esm2020/lib/action/directive/state/action.disabled.directive.mjs +8 -7
  21. package/esm2020/lib/action/directive/state/action.enforce.modified.directive.mjs +48 -0
  22. package/esm2020/lib/action/directive/state/action.handler.directive.mjs +13 -12
  23. package/esm2020/lib/action/directive/state/action.success.directive.mjs +24 -36
  24. package/esm2020/lib/action/directive/state/action.success.handler.directive.mjs +48 -0
  25. package/esm2020/lib/action/directive/state/action.value.directive.mjs +13 -11
  26. package/esm2020/lib/action/directive/state/action.value.stream.directive.mjs +80 -0
  27. package/esm2020/lib/action/directive/state/action.value.trigger.directive.mjs +73 -0
  28. package/esm2020/lib/action/directive/state/action.value.trigger.instance.mjs +43 -0
  29. package/esm2020/lib/action/directive/state/action.working.component.mjs +29 -23
  30. package/esm2020/lib/action/directive/state/index.mjs +5 -3
  31. package/esm2020/lib/action/index.mjs +2 -2
  32. package/esm2020/lib/auth/auth.module.mjs +26 -0
  33. package/esm2020/lib/auth/auth.role.any.directive.mjs +36 -0
  34. package/esm2020/lib/auth/auth.role.has.directive.mjs +36 -0
  35. package/esm2020/lib/auth/auth.state.module.mjs +28 -0
  36. package/esm2020/lib/auth/auth.state.service.mjs +23 -0
  37. package/esm2020/lib/auth/auth.user.mjs +11 -0
  38. package/esm2020/lib/auth/index.mjs +10 -0
  39. package/esm2020/lib/auth/router/auth.router.mjs +6 -0
  40. package/esm2020/lib/auth/router/auth.router.module.mjs +26 -0
  41. package/esm2020/lib/auth/router/auth.router.service.mjs +61 -0
  42. package/esm2020/lib/auth/router/index.mjs +6 -0
  43. package/esm2020/lib/auth/router/provider/uirouter/auth.hook.mjs +23 -0
  44. package/esm2020/lib/auth/router/provider/uirouter/hook.mjs +65 -0
  45. package/esm2020/lib/auth/router/provider/uirouter/index.mjs +6 -0
  46. package/esm2020/lib/auth/router/provider/uirouter/redirect.mjs +29 -0
  47. package/esm2020/lib/auth/router/provider/uirouter/role.hook.mjs +32 -0
  48. package/esm2020/lib/auth/router/provider/uirouter/state.hook.mjs +53 -0
  49. package/esm2020/lib/auth/router/state/auth.router.state.module.mjs +32 -0
  50. package/esm2020/lib/auth/router/state/effect/auth.router.state.effect.mjs +46 -0
  51. package/esm2020/lib/auth/router/state/effect/index.mjs +2 -0
  52. package/esm2020/lib/auth/router/state/index.mjs +3 -0
  53. package/esm2020/lib/auth/service/auth.service.mjs +6 -0
  54. package/esm2020/lib/auth/service/auth.service.rxjs.mjs +27 -0
  55. package/esm2020/lib/auth/service/index.mjs +3 -0
  56. package/esm2020/lib/auth/state/action/auth.action.mjs +14 -0
  57. package/esm2020/lib/auth/state/action/index.mjs +12 -0
  58. package/esm2020/lib/auth/state/action/user.action.mjs +18 -0
  59. package/esm2020/lib/auth/state/effect/auth.effect.mjs +44 -0
  60. package/esm2020/lib/auth/state/index.mjs +13 -0
  61. package/esm2020/lib/auth/state/reducer/index.mjs +23 -0
  62. package/esm2020/lib/auth/state/reducer/user.reducer.mjs +12 -0
  63. package/esm2020/lib/auth/state/state.mjs +2 -0
  64. package/esm2020/lib/button/action/action.button.directive.mjs +14 -13
  65. package/esm2020/lib/button/action/action.button.trigger.directive.mjs +6 -6
  66. package/esm2020/lib/button/button.directive.mjs +7 -7
  67. package/esm2020/lib/button/button.loading.directive.mjs +3 -3
  68. package/esm2020/lib/button/button.mjs +1 -1
  69. package/esm2020/lib/button/button.module.mjs +4 -4
  70. package/esm2020/lib/button/router/button.segue.directive.mjs +8 -4
  71. package/esm2020/lib/context/context.directive.mjs +41 -0
  72. package/esm2020/lib/context/context.mjs +22 -0
  73. package/esm2020/lib/context/context.module.mjs +28 -0
  74. package/esm2020/lib/context/context.service.mjs +29 -0
  75. package/esm2020/lib/context/index.mjs +6 -0
  76. package/esm2020/lib/context/state/action/data.action.mjs +10 -0
  77. package/esm2020/lib/context/state/action/index.mjs +7 -0
  78. package/esm2020/lib/context/state/effect/index.mjs +38 -0
  79. package/esm2020/lib/context/state/index.mjs +13 -0
  80. package/esm2020/lib/context/state/reducer/data.reducer.mjs +16 -0
  81. package/esm2020/lib/context/state/reducer/index.mjs +25 -0
  82. package/esm2020/lib/context/state/state.mjs +2 -0
  83. package/esm2020/lib/filter/action/action.filter.source.directive.mjs +6 -6
  84. package/esm2020/lib/filter/filter.abstract.connector.directive.mjs +3 -3
  85. package/esm2020/lib/filter/filter.abstract.source.directive.mjs +4 -4
  86. package/esm2020/lib/filter/filter.connector.directive.mjs +3 -3
  87. package/esm2020/lib/filter/filter.map.connector.directive.mjs +3 -3
  88. package/esm2020/lib/filter/filter.map.directive.mjs +3 -3
  89. package/esm2020/lib/filter/filter.map.instance.directive.mjs +3 -3
  90. package/esm2020/lib/filter/filter.map.source.directive.mjs +3 -3
  91. package/esm2020/lib/filter/filter.module.mjs +4 -4
  92. package/esm2020/lib/filter/filter.source.directive.mjs +3 -3
  93. package/esm2020/lib/index.mjs +6 -2
  94. package/esm2020/lib/injection/index.mjs +9 -0
  95. package/esm2020/lib/injection/injection.component.mjs +34 -0
  96. package/esm2020/lib/injection/injection.component.module.mjs +31 -0
  97. package/esm2020/lib/injection/injection.context.directive.mjs +124 -0
  98. package/esm2020/lib/injection/injection.context.forward.directive.mjs +30 -0
  99. package/esm2020/lib/injection/injection.context.mjs +18 -0
  100. package/esm2020/lib/injection/injection.directive.mjs +33 -0
  101. package/esm2020/lib/injection/injection.instance.mjs +116 -0
  102. package/esm2020/lib/injection/injection.mjs +16 -0
  103. package/esm2020/lib/ngrx/index.mjs +2 -0
  104. package/esm2020/lib/ngrx/store.lockset.mjs +64 -0
  105. package/esm2020/lib/pipe/date/date.pipe.module.mjs +4 -4
  106. package/esm2020/lib/pipe/date/datedistance.pipe.mjs +3 -3
  107. package/esm2020/lib/pipe/date/dateformatdistance.pipe.mjs +3 -3
  108. package/esm2020/lib/pipe/date/datefromtoformat.pipe.mjs +3 -3
  109. package/esm2020/lib/pipe/date/minutesstring.pipe.mjs +3 -3
  110. package/esm2020/lib/pipe/date/timedistance.pipe.mjs +6 -6
  111. package/esm2020/lib/pipe/date/tojsdate.pipe.mjs +13 -5
  112. package/esm2020/lib/pipe/date/tominutes.pipe.mjs +3 -3
  113. package/esm2020/lib/pipe/index.mjs +3 -1
  114. package/esm2020/lib/pipe/misc/index.mjs +3 -0
  115. package/esm2020/lib/pipe/misc/misc.pipe.module.mjs +20 -0
  116. package/esm2020/lib/pipe/misc/prettyjson.pipe.mjs +27 -0
  117. package/esm2020/lib/pipe/pipe.module.mjs +21 -0
  118. package/esm2020/lib/router/anchor/anchor.directive.mjs +18 -5
  119. package/esm2020/lib/router/anchor/anchor.mjs +1 -1
  120. package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +8 -5
  121. package/esm2020/lib/router/router/provider/angular/angular.router.service.module.mjs +4 -4
  122. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +32 -10
  123. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +4 -4
  124. package/esm2020/lib/router/router/service/index.mjs +2 -1
  125. package/esm2020/lib/router/router/service/router.go.mjs +14 -0
  126. package/esm2020/lib/router/router/service/router.service.mjs +1 -1
  127. package/esm2020/lib/router/router/transition/transition.directive.mjs +7 -7
  128. package/esm2020/lib/router/router/transition/transition.watcher.directive.mjs +6 -6
  129. package/esm2020/lib/router/segue.mjs +17 -2
  130. package/esm2020/lib/storage/storage.accessor.simple.factory.mjs +3 -3
  131. package/esm2020/lib/storage/storage.module.mjs +4 -4
  132. package/esm2020/lib/subscription/subscription.directive.mjs +6 -6
  133. package/esm2020/lib/util/view.mjs +18 -2
  134. package/esm2020/lib/view/if.directive.mjs +30 -0
  135. package/esm2020/lib/view/index.mjs +2 -0
  136. package/fesm2015/dereekb-dbx-core.mjs +1977 -690
  137. package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
  138. package/fesm2020/dereekb-dbx-core.mjs +1970 -683
  139. package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
  140. package/lib/action/action.d.ts +14 -12
  141. package/lib/action/action.handler.d.ts +7 -67
  142. package/lib/action/action.holder.d.ts +9 -5
  143. package/lib/action/action.machine.d.ts +21 -8
  144. package/lib/action/action.module.d.ts +5 -5
  145. package/lib/action/action.reference.d.ts +11 -0
  146. package/lib/action/action.store.d.ts +33 -15
  147. package/lib/action/action.store.source.d.ts +20 -13
  148. package/lib/action/directive/auto/action.automodify.directive.d.ts +5 -4
  149. package/lib/action/directive/auto/action.autotrigger.directive.d.ts +9 -9
  150. package/lib/action/directive/auto/index.d.ts +1 -1
  151. package/lib/action/directive/context/action.directive.d.ts +3 -3
  152. package/lib/action/directive/debug/action.logger.directive.d.ts +3 -3
  153. package/lib/action/directive/map/action.map.working.disable.directive.d.ts +6 -6
  154. package/lib/action/directive/state/action.disabled.directive.d.ts +5 -4
  155. package/lib/action/directive/state/action.enforce.modified.directive.d.ts +20 -0
  156. package/lib/action/directive/state/action.handler.directive.d.ts +3 -3
  157. package/lib/action/directive/state/action.success.directive.d.ts +11 -19
  158. package/lib/action/directive/state/action.success.handler.directive.d.ts +24 -0
  159. package/lib/action/directive/state/action.value.directive.d.ts +8 -8
  160. package/lib/action/directive/state/action.value.stream.directive.d.ts +25 -0
  161. package/lib/action/directive/state/action.value.trigger.directive.d.ts +34 -0
  162. package/lib/action/directive/state/action.value.trigger.instance.d.ts +34 -0
  163. package/lib/action/directive/state/action.working.component.d.ts +13 -7
  164. package/lib/action/directive/state/index.d.ts +4 -2
  165. package/lib/action/index.d.ts +1 -1
  166. package/lib/auth/auth.module.d.ts +8 -0
  167. package/lib/auth/auth.role.any.directive.d.ts +20 -0
  168. package/lib/auth/auth.role.has.directive.d.ts +20 -0
  169. package/lib/auth/auth.state.module.d.ts +8 -0
  170. package/lib/auth/auth.state.service.d.ts +13 -0
  171. package/lib/auth/auth.user.d.ts +28 -0
  172. package/lib/auth/index.d.ts +9 -0
  173. package/lib/auth/router/auth.router.d.ts +10 -0
  174. package/lib/auth/router/auth.router.module.d.ts +9 -0
  175. package/lib/auth/router/auth.router.service.d.ts +38 -0
  176. package/lib/auth/router/index.d.ts +5 -0
  177. package/lib/auth/router/provider/uirouter/auth.hook.d.ts +18 -0
  178. package/lib/auth/router/provider/uirouter/hook.d.ts +46 -0
  179. package/lib/auth/router/provider/uirouter/index.d.ts +5 -0
  180. package/lib/auth/router/provider/uirouter/redirect.d.ts +9 -0
  181. package/lib/auth/router/provider/uirouter/role.hook.d.ts +26 -0
  182. package/lib/auth/router/provider/uirouter/state.hook.d.ts +31 -0
  183. package/lib/auth/router/state/auth.router.state.module.d.ts +14 -0
  184. package/lib/auth/router/state/effect/auth.router.state.effect.d.ts +32 -0
  185. package/lib/auth/router/state/effect/index.d.ts +1 -0
  186. package/lib/auth/router/state/index.d.ts +2 -0
  187. package/lib/auth/service/auth.service.d.ts +46 -0
  188. package/lib/auth/service/auth.service.rxjs.d.ts +18 -0
  189. package/lib/auth/service/index.d.ts +2 -0
  190. package/lib/auth/state/action/auth.action.d.ts +12 -0
  191. package/lib/auth/state/action/index.d.ts +11 -0
  192. package/lib/auth/state/action/user.action.d.ts +34 -0
  193. package/lib/auth/state/effect/auth.effect.d.ts +31 -0
  194. package/lib/auth/state/index.d.ts +12 -0
  195. package/lib/auth/state/reducer/index.d.ts +29 -0
  196. package/lib/auth/state/reducer/user.reducer.d.ts +11 -0
  197. package/lib/auth/state/state.d.ts +5 -0
  198. package/lib/button/action/action.button.directive.d.ts +4 -4
  199. package/lib/button/action/action.button.trigger.directive.d.ts +3 -3
  200. package/lib/button/button.d.ts +5 -5
  201. package/lib/button/button.directive.d.ts +2 -2
  202. package/lib/button/router/button.segue.directive.d.ts +1 -0
  203. package/lib/context/context.d.ts +39 -0
  204. package/lib/context/context.directive.d.ts +19 -0
  205. package/lib/context/context.module.d.ts +8 -0
  206. package/lib/context/context.service.d.ts +16 -0
  207. package/lib/context/index.d.ts +5 -0
  208. package/lib/context/state/action/data.action.d.ts +13 -0
  209. package/lib/context/state/action/index.d.ts +6 -0
  210. package/lib/context/state/effect/index.d.ts +39 -0
  211. package/lib/context/state/index.d.ts +12 -0
  212. package/lib/context/state/reducer/data.reducer.d.ts +13 -0
  213. package/lib/context/state/reducer/index.d.ts +34 -0
  214. package/lib/context/state/state.d.ts +9 -0
  215. package/lib/filter/action/action.filter.source.directive.d.ts +2 -2
  216. package/lib/filter/filter.abstract.source.directive.d.ts +2 -2
  217. package/lib/index.d.ts +5 -1
  218. package/lib/injection/index.d.ts +8 -0
  219. package/lib/injection/injection.component.d.ts +15 -0
  220. package/lib/injection/injection.component.module.d.ts +9 -0
  221. package/lib/injection/injection.context.d.ts +39 -0
  222. package/lib/injection/injection.context.directive.d.ts +25 -0
  223. package/lib/injection/injection.context.forward.directive.d.ts +16 -0
  224. package/lib/{injected/injected.d.ts → injection/injection.d.ts} +4 -4
  225. package/lib/injection/injection.directive.d.ts +19 -0
  226. package/lib/{injected/injected.instance.d.ts → injection/injection.instance.d.ts} +8 -8
  227. package/lib/ngrx/index.d.ts +1 -0
  228. package/lib/ngrx/store.lockset.d.ts +36 -0
  229. package/lib/pipe/index.d.ts +2 -0
  230. package/lib/pipe/misc/index.d.ts +2 -0
  231. package/lib/pipe/misc/misc.pipe.module.d.ts +7 -0
  232. package/lib/pipe/misc/prettyjson.pipe.d.ts +9 -0
  233. package/lib/pipe/pipe.module.d.ts +8 -0
  234. package/lib/router/anchor/anchor.d.ts +5 -1
  235. package/lib/router/anchor/anchor.directive.d.ts +10 -2
  236. package/lib/router/router/provider/angular/angular.router.service.d.ts +7 -5
  237. package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +11 -5
  238. package/lib/router/router/service/index.d.ts +1 -0
  239. package/lib/router/router/service/router.go.d.ts +14 -0
  240. package/lib/router/router/service/router.service.d.ts +10 -4
  241. package/lib/router/router/transition/transition.directive.d.ts +2 -2
  242. package/lib/router/router/transition/transition.watcher.directive.d.ts +1 -1
  243. package/lib/router/segue.d.ts +10 -3
  244. package/lib/util/view.d.ts +12 -0
  245. package/lib/view/if.directive.d.ts +19 -0
  246. package/lib/view/index.d.ts +1 -0
  247. package/package.json +7 -18
  248. package/esm2020/lib/action/directive/auto/action.autotrigger.value.directive.mjs +0 -79
  249. package/esm2020/lib/action/directive/state/action.disabled.modified.directive.mjs +0 -35
  250. package/esm2020/lib/action/directive/state/action.success.component.mjs +0 -50
  251. package/esm2020/lib/action/snackbar/index.mjs +0 -3
  252. package/esm2020/lib/action/snackbar/snackbar.mjs +0 -24
  253. package/esm2020/lib/injected/index.mjs +0 -6
  254. package/esm2020/lib/injected/injected.component.mjs +0 -34
  255. package/esm2020/lib/injected/injected.component.module.mjs +0 -26
  256. package/esm2020/lib/injected/injected.directive.mjs +0 -33
  257. package/esm2020/lib/injected/injected.instance.mjs +0 -116
  258. package/esm2020/lib/injected/injected.mjs +0 -16
  259. package/lib/action/directive/auto/action.autotrigger.value.directive.d.ts +0 -25
  260. package/lib/action/directive/state/action.disabled.modified.directive.d.ts +0 -16
  261. package/lib/action/directive/state/action.success.component.d.ts +0 -15
  262. package/lib/action/snackbar/index.d.ts +0 -1
  263. package/lib/action/snackbar/snackbar.d.ts +0 -50
  264. package/lib/injected/index.d.ts +0 -5
  265. package/lib/injected/injected.component.d.ts +0 -15
  266. package/lib/injected/injected.component.module.d.ts +0 -8
  267. package/lib/injected/injected.directive.d.ts +0 -19
@@ -1,48 +1,36 @@
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 { 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
- * Directive that executes a function on ActionContextStore Success.
9
+ * Structural directive that displays the content when the store has a success value.
11
10
  */
12
- export class DbxActionSuccessDirective extends AbstractSubscriptionDirective {
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._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();
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
- DbxActionSuccessDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxActionSuccessDirective, deps: [{ token: i1.ActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
36
- DbxActionSuccessDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: DbxActionSuccessDirective, selector: "[dbxActionSuccess]", inputs: { successFunction: ["dbxActionSuccess", "successFunction"] }, usesInheritance: true, ngImport: i0 });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxActionSuccessDirective, decorators: [{
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: '[dbxActionSuccess]',
30
+ selector: '[dbxActionHasSuccess]'
41
31
  }]
42
- }], ctorParameters: function () { return [{ type: i1.ActionContextStoreSourceInstance, decorators: [{
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: ['dbxActionSuccess']
34
+ args: ['dbxActionHasSuccess']
47
35
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN1Y2Nlc3MuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi5zdWNjZXNzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU83RTs7R0FFRztBQUlILE1BQU0sT0FBTyx5QkFBZ0MsU0FBUSw2QkFBNkI7SUFjaEYsWUFBb0MsTUFBd0M7UUFDMUUsS0FBSyxFQUFFLENBQUM7UUFEMEIsV0FBTSxHQUFOLE1BQU0sQ0FBa0M7UUFacEUscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQWtDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xGLHFCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFhdEYsQ0FBQztJQVhELElBQ0ksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLGVBQWdEO1FBQ2xFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQ25DLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDcEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2hDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDMUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUNILENBQUMsQ0FDSCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7c0hBaENVLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7OzBCQWVjLElBQUk7NENBUmIsZUFBZTtzQkFEbEIsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAsIHRhcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZpbHRlck1heWJlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBQZXJmb3JtcyB0aGUgYWN0aW9uIG9uIHN1Y2Nlc3MuXG4gKi9cbmV4cG9ydCB0eXBlIFN1Y2Nlc3NBY3Rpb25GdW5jdGlvbjxPPiA9ICh2YWx1ZTogTykgPT4gdm9pZDtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBleGVjdXRlcyBhIGZ1bmN0aW9uIG9uIEFjdGlvbkNvbnRleHRTdG9yZSBTdWNjZXNzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uU3VjY2Vzc10nLFxufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25TdWNjZXNzRGlyZWN0aXZlPFQsIE8+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfc3VjY2Vzc0Z1bmN0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxTdWNjZXNzQWN0aW9uRnVuY3Rpb248Tz4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBzdWNjZXNzRnVuY3Rpb24kID0gdGhpcy5fc3VjY2Vzc0Z1bmN0aW9uLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIEBJbnB1dCgnZGJ4QWN0aW9uU3VjY2VzcycpXG4gIGdldCBzdWNjZXNzRnVuY3Rpb24oKTogTWF5YmU8U3VjY2Vzc0FjdGlvbkZ1bmN0aW9uPE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuX3N1Y2Nlc3NGdW5jdGlvbi52YWx1ZTtcbiAgfVxuXG4gIHNldCBzdWNjZXNzRnVuY3Rpb24oc3VjY2Vzc0Z1bmN0aW9uOiBNYXliZTxTdWNjZXNzQWN0aW9uRnVuY3Rpb248Tz4+KSB7XG4gICAgdGhpcy5fc3VjY2Vzc0Z1bmN0aW9uLm5leHQoc3VjY2Vzc0Z1bmN0aW9uKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLnN1Y2Nlc3NGdW5jdGlvbiQucGlwZShcbiAgICAgIHN3aXRjaE1hcChzdWNjZXNzRnVuY3Rpb24gPT4gdGhpcy5zb3VyY2Uuc3VjY2VzcyQucGlwZShcbiAgICAgICAgbWFwKHggPT4gKFtzdWNjZXNzRnVuY3Rpb24sIHhdKSksXG4gICAgICAgIHRhcCgoW3N1Y2Nlc3NGbiwgcmVzdWx0XSkgPT4ge1xuICAgICAgICAgIHN1Y2Nlc3NGbihyZXN1bHQpO1xuICAgICAgICB9KVxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9zdWNjZXNzRnVuY3Rpb24uY29tcGxldGUoKTtcbiAgfVxuXG59XG4iXX0=
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 { getValueFromObjectOrGetter } from '@dereekb/util';
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 { ActionContextStoreSourceInstance } from '../../action.store.source';
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 with undefined.
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 = getValueFromObjectOrGetter(valueOrFunction);
30
+ const value = getValueFromGetter(valueOrFunction);
31
31
  this.source.readyValue(value);
32
32
  })))).subscribe();
33
33
  }
34
34
  ngOnDestroy() {
35
- super.ngOnDestroy();
36
- this._valueOrFunction.complete();
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.4", ngImport: i0, type: DbxActionValueDirective, deps: [{ token: i1.ActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
40
- DbxActionValueDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.4", type: DbxActionValueDirective, selector: "[dbxActionValue]", inputs: { valueOrFunction: ["dbxActionValue", "valueOrFunction"] }, usesInheritance: true, ngImport: i0 });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxActionValueDirective, decorators: [{
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.ActionContextStoreSourceInstance, decorators: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnZhbHVlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9zdGF0ZS9hY3Rpb24udmFsdWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRTdFOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sdUJBQThCLFNBQVEsNkJBQTZCO0lBYzlFLFlBQW9DLE1BQThDO1FBQ2hGLEtBQUssRUFBRSxDQUFDO1FBRDBCLFdBQU0sR0FBTixNQUFNLENBQXdDO1FBWjFFLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUEyQixTQUFTLENBQUMsQ0FBQztRQUMzRSxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBYXRGLENBQUM7SUFYRCxJQUNJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxlQUF5QztRQUMzRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFNRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUNuQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxNQUFNLEtBQUssR0FBTSwwQkFBMEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDLENBQ0gsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7O29IQWhDVSx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzswQkFlYyxJQUFJOzRDQVJiLGVBQWU7c0JBRGxCLEtBQUs7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRWYWx1ZUZyb21PYmplY3RPckdldHRlciwgTWF5YmUsIE9iamVjdE9yR2V0dGVyIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IHByb3ZpZGVzIGEgZGVmYXVsdCB2YWx1ZSB3aGVuIHRyaWdnZXJlZC5cbiAqXG4gKiBObyB2YWx1ZSBpcyByZXF1aXJlZCwgYWxsb3dpbmcgdGhlIGRpcmVjdGl2ZSB0byBhdXRvbWF0aWNhbGx5IGNhbGwgcmVhZHlWYWx1ZSB3aXRoIHVuZGVmaW5lZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvblZhbHVlXScsXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvblZhbHVlRGlyZWN0aXZlPFQsIE8+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgX3ZhbHVlT3JGdW5jdGlvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8T2JqZWN0T3JHZXR0ZXI8VD4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSB2YWx1ZU9yRnVuY3Rpb24kID0gdGhpcy5fdmFsdWVPckZ1bmN0aW9uLnBpcGUoZmlsdGVyTWF5YmUoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIEBJbnB1dCgnZGJ4QWN0aW9uVmFsdWUnKVxuICBnZXQgdmFsdWVPckZ1bmN0aW9uKCk6IE1heWJlPE9iamVjdE9yR2V0dGVyPFQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlT3JGdW5jdGlvbi52YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZU9yRnVuY3Rpb24odmFsdWVPckZ1bmN0aW9uOiBNYXliZTxPYmplY3RPckdldHRlcjxUPj4pIHtcbiAgICB0aGlzLl92YWx1ZU9yRnVuY3Rpb24ubmV4dCh2YWx1ZU9yRnVuY3Rpb24pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMudmFsdWVPckZ1bmN0aW9uJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHZhbHVlT3JGdW5jdGlvbiA9PiB0aGlzLnNvdXJjZS50cmlnZ2VyZWQkLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWU6IFQgPSBnZXRWYWx1ZUZyb21PYmplY3RPckdldHRlcih2YWx1ZU9yRnVuY3Rpb24pO1xuICAgICAgICAgIHRoaXMuc291cmNlLnJlYWR5VmFsdWUodmFsdWUpO1xuICAgICAgICB9KVxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl92YWx1ZU9yRnVuY3Rpb24uY29tcGxldGUoKTtcbiAgfVxuXG59XG4iXX0=
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 { Component } from '@angular/core';
2
- 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';
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
- * Displays the input content when working is set.
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 DbxActionWorkingComponent {
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
- DbxActionWorkingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: DbxActionWorkingComponent, deps: [{ token: i1.ActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Component });
16
- DbxActionWorkingComponentcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: DbxActionWorkingComponent, selector: "dbx-action-working", ngImport: i0, template: `
17
- <ng-container *ngIf="show$ | async">
18
- <ng-content></ng-content>
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
+ DbxActionIsWorkingDirectivedir = 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: 'dbx-action-working',
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.ActionContextStoreSourceInstance }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLndvcmtpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL3N0YXRlL2FjdGlvbi53b3JraW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBRTdFOztHQUVHO0FBU0gsTUFBTSxPQUFPLHlCQUF5QjtJQUlwQyxZQUE0QixNQUF3QztRQUF4QyxXQUFNLEdBQU4sTUFBTSxDQUFrQztRQUYzRCxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFFZ0MsQ0FBQzs7c0hBSjlELHlCQUF5QjswR0FBekIseUJBQXlCLDBEQU4xQjs7OztHQUlUOzJGQUVVLHlCQUF5QjtrQkFSckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgaW5wdXQgY29udGVudCB3aGVuIHdvcmtpbmcgaXMgc2V0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtYWN0aW9uLXdvcmtpbmcnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93JCB8IGFzeW5jXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uV29ya2luZ0NvbXBvbmVudCB7XG5cbiAgcmVhZG9ubHkgc2hvdyQgPSB0aGlzLnNvdXJjZS5pc1dvcmtpbmckO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlKSB7IH1cblxufVxuIl19
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLmRpc2FibGVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5kaXNhYmxlZC5tb2RpZmllZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uaGFuZGxlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc3VjY2Vzcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc3VjY2Vzcy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24udmFsdWUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLndvcmtpbmcuY29tcG9uZW50JztcbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXInO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uaGFuZGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5ob2xkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24ubWFjaGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLnN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uJztcbiJdfQ==
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==