@dereekb/dbx-core 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +7 -0
  2. package/dereekb-dbx-core.d.ts +5 -0
  3. package/esm2020/dereekb-dbx-core.mjs +5 -0
  4. package/esm2020/index.mjs +2 -0
  5. package/esm2020/lib/action/action.handler.mjs +140 -0
  6. package/esm2020/lib/action/action.holder.mjs +50 -0
  7. package/esm2020/lib/action/action.machine.mjs +37 -0
  8. package/esm2020/lib/action/action.mjs +51 -0
  9. package/esm2020/lib/action/action.module.mjs +38 -0
  10. package/esm2020/lib/action/action.store.mjs +188 -0
  11. package/esm2020/lib/action/action.store.source.mjs +149 -0
  12. package/esm2020/lib/action/directive/auto/action.automodify.directive.mjs +53 -0
  13. package/esm2020/lib/action/directive/auto/action.autotrigger.directive.mjs +131 -0
  14. package/esm2020/lib/action/directive/auto/action.autotrigger.value.directive.mjs +79 -0
  15. package/esm2020/lib/action/directive/auto/index.mjs +4 -0
  16. package/esm2020/lib/action/directive/context/action.component.mjs +18 -0
  17. package/esm2020/lib/action/directive/context/action.directive.mjs +33 -0
  18. package/esm2020/lib/action/directive/context/action.source.directive.mjs +40 -0
  19. package/esm2020/lib/action/directive/context/index.mjs +4 -0
  20. package/esm2020/lib/action/directive/debug/action.logger.directive.mjs +30 -0
  21. package/esm2020/lib/action/directive/debug/index.mjs +2 -0
  22. package/esm2020/lib/action/directive/index.mjs +6 -0
  23. package/esm2020/lib/action/directive/map/action.map.directive.mjs +74 -0
  24. package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +40 -0
  25. package/esm2020/lib/action/directive/map/action.map.mjs +6 -0
  26. package/esm2020/lib/action/directive/map/action.map.source.directive.mjs +49 -0
  27. package/esm2020/lib/action/directive/map/action.map.working.disable.directive.mjs +41 -0
  28. package/esm2020/lib/action/directive/map/index.mjs +6 -0
  29. package/esm2020/lib/action/directive/state/action.disabled.directive.mjs +49 -0
  30. package/esm2020/lib/action/directive/state/action.disabled.modified.directive.mjs +35 -0
  31. package/esm2020/lib/action/directive/state/action.handler.directive.mjs +55 -0
  32. package/esm2020/lib/action/directive/state/action.success.component.mjs +50 -0
  33. package/esm2020/lib/action/directive/state/action.success.directive.mjs +48 -0
  34. package/esm2020/lib/action/directive/state/action.value.directive.mjs +52 -0
  35. package/esm2020/lib/action/directive/state/action.working.component.mjs +32 -0
  36. package/esm2020/lib/action/directive/state/index.mjs +8 -0
  37. package/esm2020/lib/action/index.mjs +10 -0
  38. package/esm2020/lib/action/snackbar/index.mjs +3 -0
  39. package/esm2020/lib/action/snackbar/snackbar.mjs +24 -0
  40. package/esm2020/lib/button/action/action.button.directive.mjs +46 -0
  41. package/esm2020/lib/button/action/action.button.trigger.directive.mjs +36 -0
  42. package/esm2020/lib/button/action/index.mjs +3 -0
  43. package/esm2020/lib/button/button.directive.mjs +109 -0
  44. package/esm2020/lib/button/button.loading.directive.mjs +43 -0
  45. package/esm2020/lib/button/button.mjs +9 -0
  46. package/esm2020/lib/button/button.module.mjs +40 -0
  47. package/esm2020/lib/button/index.mjs +7 -0
  48. package/esm2020/lib/button/router/button.segue.directive.mjs +43 -0
  49. package/esm2020/lib/button/router/index.mjs +2 -0
  50. package/esm2020/lib/index.mjs +9 -0
  51. package/esm2020/lib/injected/index.mjs +6 -0
  52. package/esm2020/lib/injected/injected.component.mjs +34 -0
  53. package/esm2020/lib/injected/injected.component.module.mjs +26 -0
  54. package/esm2020/lib/injected/injected.directive.mjs +32 -0
  55. package/esm2020/lib/injected/injected.instance.mjs +101 -0
  56. package/esm2020/lib/injected/injected.mjs +2 -0
  57. package/esm2020/lib/pipe/date/date.pipe.module.mjs +54 -0
  58. package/esm2020/lib/pipe/date/datedistance.pipe.mjs +42 -0
  59. package/esm2020/lib/pipe/date/dateformatdistance.pipe.mjs +37 -0
  60. package/esm2020/lib/pipe/date/datefromtoformat.pipe.mjs +35 -0
  61. package/esm2020/lib/pipe/date/index.mjs +9 -0
  62. package/esm2020/lib/pipe/date/minutesstring.pipe.mjs +32 -0
  63. package/esm2020/lib/pipe/date/timedistance.pipe.mjs +49 -0
  64. package/esm2020/lib/pipe/date/tojsdate.pipe.mjs +18 -0
  65. package/esm2020/lib/pipe/date/tominutes.pipe.mjs +17 -0
  66. package/esm2020/lib/pipe/index.mjs +2 -0
  67. package/esm2020/lib/router/anchor/anchor.directive.mjs +40 -0
  68. package/esm2020/lib/router/anchor/anchor.mjs +35 -0
  69. package/esm2020/lib/router/anchor/clickable.mjs +2 -0
  70. package/esm2020/lib/router/anchor/index.mjs +4 -0
  71. package/esm2020/lib/router/index.mjs +4 -0
  72. package/esm2020/lib/router/router/index.mjs +4 -0
  73. package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +51 -0
  74. package/esm2020/lib/router/router/provider/angular/angular.router.service.module.mjs +30 -0
  75. package/esm2020/lib/router/router/provider/angular/index.mjs +3 -0
  76. package/esm2020/lib/router/router/provider/index.mjs +3 -0
  77. package/esm2020/lib/router/router/provider/uirouter/index.mjs +3 -0
  78. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +39 -0
  79. package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +31 -0
  80. package/esm2020/lib/router/router/service/index.mjs +3 -0
  81. package/esm2020/lib/router/router/service/router.service.mjs +6 -0
  82. package/esm2020/lib/router/router/service/router.transition.service.mjs +6 -0
  83. package/esm2020/lib/router/router/transition/index.mjs +3 -0
  84. package/esm2020/lib/router/router/transition/transition.mjs +12 -0
  85. package/esm2020/lib/router/router/transition/transition.watcher.directive.mjs +35 -0
  86. package/esm2020/lib/router/segue.mjs +8 -0
  87. package/esm2020/lib/storage/index.mjs +9 -0
  88. package/esm2020/lib/storage/storage.accessor.mjs +16 -0
  89. package/esm2020/lib/storage/storage.accessor.simple.factory.mjs +33 -0
  90. package/esm2020/lib/storage/storage.accessor.simple.mjs +161 -0
  91. package/esm2020/lib/storage/storage.accessor.string.mjs +50 -0
  92. package/esm2020/lib/storage/storage.di.mjs +4 -0
  93. package/esm2020/lib/storage/storage.module.mjs +37 -0
  94. package/esm2020/lib/storage/storage.object.localstorage.mjs +46 -0
  95. package/esm2020/lib/storage/storage.object.memory.mjs +17 -0
  96. package/esm2020/lib/subscription/index.mjs +2 -0
  97. package/esm2020/lib/subscription/subscription.directive.mjs +46 -0
  98. package/esm2020/lib/util/index.mjs +2 -0
  99. package/esm2020/lib/util/view.mjs +34 -0
  100. package/fesm2015/dereekb-dbx-core.mjs +2875 -0
  101. package/fesm2015/dereekb-dbx-core.mjs.map +1 -0
  102. package/fesm2020/dereekb-dbx-core.mjs +2856 -0
  103. package/fesm2020/dereekb-dbx-core.mjs.map +1 -0
  104. package/index.d.ts +1 -0
  105. package/lib/action/action.d.ts +43 -0
  106. package/lib/action/action.handler.d.ts +73 -0
  107. package/lib/action/action.holder.d.ts +28 -0
  108. package/lib/action/action.machine.d.ts +23 -0
  109. package/lib/action/action.module.d.ts +25 -0
  110. package/lib/action/action.store.d.ts +147 -0
  111. package/lib/action/action.store.source.d.ts +72 -0
  112. package/lib/action/directive/auto/action.automodify.directive.d.ts +15 -0
  113. package/lib/action/directive/auto/action.autotrigger.directive.d.ts +54 -0
  114. package/lib/action/directive/auto/action.autotrigger.value.directive.d.ts +25 -0
  115. package/lib/action/directive/auto/index.d.ts +3 -0
  116. package/lib/action/directive/context/action.component.d.ts +6 -0
  117. package/lib/action/directive/context/action.directive.d.ts +13 -0
  118. package/lib/action/directive/context/action.source.directive.d.ts +16 -0
  119. package/lib/action/directive/context/index.d.ts +3 -0
  120. package/lib/action/directive/debug/action.logger.directive.d.ts +14 -0
  121. package/lib/action/directive/debug/index.d.ts +1 -0
  122. package/lib/action/directive/index.d.ts +5 -0
  123. package/lib/action/directive/map/action.map.d.ts +13 -0
  124. package/lib/action/directive/map/action.map.directive.d.ts +35 -0
  125. package/lib/action/directive/map/action.map.key.directive.d.ts +20 -0
  126. package/lib/action/directive/map/action.map.source.directive.d.ts +20 -0
  127. package/lib/action/directive/map/action.map.working.disable.directive.d.ts +21 -0
  128. package/lib/action/directive/map/index.d.ts +5 -0
  129. package/lib/action/directive/state/action.disabled.directive.d.ts +20 -0
  130. package/lib/action/directive/state/action.disabled.modified.directive.d.ts +16 -0
  131. package/lib/action/directive/state/action.handler.directive.d.ts +22 -0
  132. package/lib/action/directive/state/action.success.component.d.ts +15 -0
  133. package/lib/action/directive/state/action.success.directive.d.ts +24 -0
  134. package/lib/action/directive/state/action.value.directive.d.ts +22 -0
  135. package/lib/action/directive/state/action.working.component.d.ts +12 -0
  136. package/lib/action/directive/state/index.d.ts +7 -0
  137. package/lib/action/index.d.ts +9 -0
  138. package/lib/action/snackbar/index.d.ts +1 -0
  139. package/lib/action/snackbar/snackbar.d.ts +50 -0
  140. package/lib/button/action/action.button.directive.d.ts +18 -0
  141. package/lib/button/action/action.button.trigger.directive.d.ts +17 -0
  142. package/lib/button/action/index.d.ts +2 -0
  143. package/lib/button/button.d.ts +26 -0
  144. package/lib/button/button.directive.d.ts +52 -0
  145. package/lib/button/button.loading.directive.d.ts +21 -0
  146. package/lib/button/button.module.d.ts +11 -0
  147. package/lib/button/index.d.ts +6 -0
  148. package/lib/button/router/button.segue.directive.d.ts +18 -0
  149. package/lib/button/router/index.d.ts +1 -0
  150. package/lib/index.d.ts +8 -0
  151. package/lib/injected/index.d.ts +5 -0
  152. package/lib/injected/injected.component.d.ts +15 -0
  153. package/lib/injected/injected.component.module.d.ts +8 -0
  154. package/lib/injected/injected.d.ts +26 -0
  155. package/lib/injected/injected.directive.d.ts +17 -0
  156. package/lib/injected/injected.instance.d.ts +29 -0
  157. package/lib/pipe/date/date.pipe.module.d.ts +13 -0
  158. package/lib/pipe/date/datedistance.pipe.d.ts +8 -0
  159. package/lib/pipe/date/dateformatdistance.pipe.d.ts +13 -0
  160. package/lib/pipe/date/datefromtoformat.pipe.d.ts +14 -0
  161. package/lib/pipe/date/index.d.ts +8 -0
  162. package/lib/pipe/date/minutesstring.pipe.d.ts +8 -0
  163. package/lib/pipe/date/timedistance.pipe.d.ts +13 -0
  164. package/lib/pipe/date/tojsdate.pipe.d.ts +9 -0
  165. package/lib/pipe/date/tominutes.pipe.d.ts +7 -0
  166. package/lib/pipe/index.d.ts +1 -0
  167. package/lib/router/anchor/anchor.d.ts +31 -0
  168. package/lib/router/anchor/anchor.directive.d.ts +20 -0
  169. package/lib/router/anchor/clickable.d.ts +17 -0
  170. package/lib/router/anchor/index.d.ts +3 -0
  171. package/lib/router/index.d.ts +3 -0
  172. package/lib/router/router/index.d.ts +3 -0
  173. package/lib/router/router/provider/angular/angular.router.service.d.ts +17 -0
  174. package/lib/router/router/provider/angular/angular.router.service.module.d.ts +8 -0
  175. package/lib/router/router/provider/angular/index.d.ts +2 -0
  176. package/lib/router/router/provider/index.d.ts +2 -0
  177. package/lib/router/router/provider/uirouter/index.d.ts +2 -0
  178. package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +19 -0
  179. package/lib/router/router/provider/uirouter/uirouter.router.service.module.d.ts +8 -0
  180. package/lib/router/router/service/index.d.ts +2 -0
  181. package/lib/router/router/service/router.service.d.ts +12 -0
  182. package/lib/router/router/service/router.transition.service.d.ts +11 -0
  183. package/lib/router/router/transition/index.d.ts +2 -0
  184. package/lib/router/router/transition/transition.d.ts +13 -0
  185. package/lib/router/router/transition/transition.watcher.directive.d.ts +18 -0
  186. package/lib/router/segue.d.ts +28 -0
  187. package/lib/storage/index.d.ts +8 -0
  188. package/lib/storage/storage.accessor.d.ts +35 -0
  189. package/lib/storage/storage.accessor.simple.d.ts +75 -0
  190. package/lib/storage/storage.accessor.simple.factory.d.ts +18 -0
  191. package/lib/storage/storage.accessor.string.d.ts +16 -0
  192. package/lib/storage/storage.di.d.ts +3 -0
  193. package/lib/storage/storage.module.d.ts +10 -0
  194. package/lib/storage/storage.object.localstorage.d.ts +16 -0
  195. package/lib/storage/storage.object.memory.d.ts +9 -0
  196. package/lib/subscription/index.d.ts +1 -0
  197. package/lib/subscription/subscription.directive.d.ts +25 -0
  198. package/lib/util/index.d.ts +1 -0
  199. package/lib/util/view.d.ts +22 -0
  200. package/package.json +52 -0
@@ -0,0 +1,149 @@
1
+ import { first, switchMap } from 'rxjs/operators';
2
+ import { Directive, forwardRef } from '@angular/core';
3
+ import { LockSet, filterMaybe } from '@dereekb/rxjs';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Source that provides a ActionContextStore observable.
7
+ */
8
+ export class ActionContextStoreSource {
9
+ }
10
+ /**
11
+ * Secondary source. Used by DbNgxActionContextComponent to find secondary sources.
12
+ */
13
+ export class SecondaryActionContextStoreSource extends ActionContextStoreSource {
14
+ }
15
+ export function actionContextStoreSourcePipe(obs) {
16
+ return obs.pipe(filterMaybe());
17
+ }
18
+ export function pipeActionStore(source, pipeFn) {
19
+ return source.store$.pipe(switchMap(pipeFn));
20
+ }
21
+ /**
22
+ * Convenience function for subscribing to the input source once and using the provided store.
23
+ */
24
+ export function useActionStore(source, useFn) {
25
+ return source.store$.pipe(first()).subscribe(useFn);
26
+ }
27
+ // tslint:disable-next-line: directive-class-suffix
28
+ export class ActionContextStoreSourceInstance {
29
+ constructor(source) {
30
+ this.source = source;
31
+ this.lockSet = new LockSet();
32
+ if (!source) {
33
+ throw new Error('Source is required.');
34
+ }
35
+ }
36
+ ngOnDestroy() {
37
+ this.lockSet.destroyOnNextUnlock();
38
+ }
39
+ // MARK: Store
40
+ get store$() {
41
+ return this.source.store$;
42
+ }
43
+ pipeStore(pipeFn) {
44
+ return pipeActionStore(this.source, pipeFn);
45
+ }
46
+ useStore(useFn) {
47
+ return useActionStore(this.source, useFn);
48
+ }
49
+ get state$() {
50
+ return this.pipeStore(x => x.state$);
51
+ }
52
+ get triggered$() {
53
+ return this.pipeStore(x => x.triggered$);
54
+ }
55
+ get valueReady$() {
56
+ return this.pipeStore(x => x.valueReady$);
57
+ }
58
+ get success$() {
59
+ return this.pipeStore(x => x.success$);
60
+ }
61
+ get error$() {
62
+ return this.pipeStore(x => x.error$);
63
+ }
64
+ get rejected$() {
65
+ return this.pipeStore(x => x.rejected$);
66
+ }
67
+ get isModified$() {
68
+ return this.pipeStore(x => x.isModified$);
69
+ }
70
+ get isModifiedAndCanTriggerUpdates$() {
71
+ return this.pipeStore(x => x.isModifiedAndCanTriggerUpdates$);
72
+ }
73
+ get isModifiedAndCanTrigger$() {
74
+ return this.pipeStore(x => x.isModifiedAndCanTrigger$);
75
+ }
76
+ get actionState$() {
77
+ return this.pipeStore(x => x.actionState$);
78
+ }
79
+ get isWorking$() {
80
+ return this.pipeStore(x => x.isWorking$);
81
+ }
82
+ get isSuccess$() {
83
+ return this.pipeStore(x => x.isSuccess$);
84
+ }
85
+ get isDisabled$() {
86
+ return this.pipeStore(x => x.isDisabled$);
87
+ }
88
+ get errorCountSinceLastSuccess$() {
89
+ return this.pipeStore(x => x.errorCountSinceLastSuccess$);
90
+ }
91
+ enable(key, enable = true) {
92
+ this.disable(key, !enable);
93
+ }
94
+ disable(key, disable = true) {
95
+ this.useStore((x) => (disable) ? x.disable(key) : x.enable(key));
96
+ }
97
+ setIsModified(isModified) {
98
+ this.useStore((x) => x.setIsModified(isModified));
99
+ }
100
+ trigger() {
101
+ this.useStore((x) => x.trigger());
102
+ }
103
+ readyValue(value) {
104
+ this.useStore((x) => x.readyValue(value));
105
+ }
106
+ startWorking() {
107
+ this.useStore((x) => x.startWorking());
108
+ }
109
+ reject(error) {
110
+ this.useStore((x) => x.reject(error));
111
+ }
112
+ success(value) {
113
+ this.useStore((x) => x.success(value));
114
+ }
115
+ reset() {
116
+ this.useStore((x) => x.reset());
117
+ }
118
+ }
119
+ ActionContextStoreSourceInstance.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ActionContextStoreSourceInstance, deps: [{ token: ActionContextStoreSource }], target: i0.ɵɵFactoryTarget.Directive });
120
+ ActionContextStoreSourceInstance.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: ActionContextStoreSourceInstance, ngImport: i0 });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ActionContextStoreSourceInstance, decorators: [{
122
+ type: Directive
123
+ }], ctorParameters: function () { return [{ type: ActionContextStoreSource }]; } });
124
+ export const actionContextStoreSourceInstanceFactory = (source) => {
125
+ return new ActionContextStoreSourceInstance(source);
126
+ };
127
+ /**
128
+ * Provides an ActionContextStoreSource, as well as an ActionContextStoreSourceInstance.
129
+ */
130
+ export function ProvideActionStoreSource(sourceType) {
131
+ return [{
132
+ provide: ActionContextStoreSource,
133
+ useExisting: forwardRef(() => sourceType)
134
+ },
135
+ {
136
+ provide: ActionContextStoreSourceInstance,
137
+ useFactory: actionContextStoreSourceInstanceFactory,
138
+ deps: [ActionContextStoreSource]
139
+ }];
140
+ }
141
+ export function ProvideSecondaryActionStoreSource(sourceType) {
142
+ return [{
143
+ provide: SecondaryActionContextStoreSource,
144
+ useExisting: forwardRef(() => sourceType)
145
+ },
146
+ ...ProvideActionStoreSource(sourceType)
147
+ ];
148
+ }
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLnNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5zdG9yZS5zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXJEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQix3QkFBd0I7Q0FPN0M7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsaUNBQW9ELFNBQVEsd0JBQThCO0NBQUk7QUFFcEgsTUFBTSxVQUFVLDRCQUE0QixDQUFPLEdBQWdEO0lBQ2pHLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFJRCxNQUFNLFVBQVUsZUFBZSxDQUE0QixNQUFzQyxFQUFFLE1BQXdDO0lBQ3pJLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3ZCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FDbEIsQ0FBQztBQUNKLENBQUM7QUFJRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQW1CLE1BQXNDLEVBQUUsS0FBbUM7SUFDMUgsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBR0QsbURBQW1EO0FBQ25ELE1BQU0sT0FBTyxnQ0FBZ0M7SUFJM0MsWUFBcUIsTUFBc0M7UUFBdEMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0M7UUFGbEQsWUFBTyxHQUFHLElBQUksT0FBTyxF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dCI6WyJpbXBvcnQgeyBmaXJzdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2NrU2V0LCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXliZSwgUmVhZGFibGVFcnJvciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0YXRlLCBBY3Rpb25Db250ZXh0U3RvcmUgfSBmcm9tICcuL2FjdGlvbi5zdG9yZSc7XG5pbXBvcnQgeyBBY3Rpb25EaXNhYmxlZEtleSwgQWN0aW9uU3RhdGUgfSBmcm9tICcuL2FjdGlvbic7XG5cbi8qKlxuICogU291cmNlIHRoYXQgcHJvdmlkZXMgYSBBY3Rpb25Db250ZXh0U3RvcmUgb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxUID0gYW55LCBPID0gYW55PiB7XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHJlZmVyZW5jaW5nIHRoZSBBY3Rpb25Db250ZXh0U3RvcmUuXG4gICAqXG4gICAqIFRoaXMgb2JzZXJ2YWJsZSBieSBkZXNpZ24gaXMgcHJlLWZpbHRlcmVkIHRvIG5vdCByZXR1cm4gbnVsbCB2YWx1ZXMuXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBzdG9yZSQ6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+Pjtcbn1cblxuLyoqXG4gKiBTZWNvbmRhcnkgc291cmNlLiBVc2VkIGJ5IERiTmd4QWN0aW9uQ29udGV4dENvbXBvbmVudCB0byBmaW5kIHNlY29uZGFyeSBzb3VyY2VzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQgPSBhbnksIE8gPSBhbnk+IGV4dGVuZHMgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlPFQsIE8+IHsgfVxuXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uQ29udGV4dFN0b3JlU291cmNlUGlwZTxULCBPPihvYnM6IE9ic2VydmFibGU8TWF5YmU8QWN0aW9uQ29udGV4dFN0b3JlPFQsIE8+Pj4pOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdG9yZTxULCBPPj4ge1xuICByZXR1cm4gb2JzLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG59XG5cbmV4cG9ydCB0eXBlIFBpcGVBY3Rpb25TdG9yZUZ1bmN0aW9uPFIsIFQsIE8+ID0gKHN0b3JlOiBBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4pID0+IE9ic2VydmFibGU8Uj47XG5cbmV4cG9ydCBmdW5jdGlvbiBwaXBlQWN0aW9uU3RvcmU8UiA9IGFueSwgVCA9IGFueSwgTyA9IGFueT4oc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgcmV0dXJuIHNvdXJjZS5zdG9yZSQucGlwZShcbiAgICBzd2l0Y2hNYXAocGlwZUZuKVxuICApO1xufVxuXG5leHBvcnQgdHlwZSBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+ID0gKHN0b3JlOiBBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4pID0+IHZvaWQ7XG5cbi8qKlxuICogQ29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIHN1YnNjcmliaW5nIHRvIHRoZSBpbnB1dCBzb3VyY2Ugb25jZSBhbmQgdXNpbmcgdGhlIHByb3ZpZGVkIHN0b3JlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlQWN0aW9uU3RvcmU8VCA9IGFueSwgTyA9IGFueT4oc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U8VCwgTz4sIHVzZUZuOiBVc2VBY3Rpb25TdG9yZUZ1bmN0aW9uPFQsIE8+KTogU3Vic2NyaXB0aW9uIHtcbiAgcmV0dXJuIHNvdXJjZS5zdG9yZSQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUodXNlRm4pO1xufVxuXG5ARGlyZWN0aXZlKClcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQgPSBhbnksIE8gPSBhbnk+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBzb3VyY2U6IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPikge1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NvdXJjZSBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5sb2NrU2V0LmRlc3Ryb3lPbk5leHRVbmxvY2soKTtcbiAgfVxuXG4gIC8vIE1BUks6IFN0b3JlXG4gIGdldCBzdG9yZSQoKTogT2JzZXJ2YWJsZTxBY3Rpb25Db250ZXh0U3RvcmU8VCwgTz4+IHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uuc3RvcmUkO1xuICB9XG5cbiAgcGlwZVN0b3JlPFI+KHBpcGVGbjogUGlwZUFjdGlvblN0b3JlRnVuY3Rpb248UiwgVCwgTz4pOiBPYnNlcnZhYmxlPFI+IHtcbiAgICByZXR1cm4gcGlwZUFjdGlvblN0b3JlKHRoaXMuc291cmNlLCBwaXBlRm4pO1xuICB9XG5cbiAgdXNlU3RvcmUodXNlRm46IFVzZUFjdGlvblN0b3JlRnVuY3Rpb248VCwgTz4pOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB1c2VBY3Rpb25TdG9yZSh0aGlzLnNvdXJjZSwgdXNlRm4pO1xuICB9XG5cbiAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSh4ID0+IHguc3RhdGUkKTtcbiAgfVxuXG4gIGdldCB0cmlnZ2VyZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnBpcGVTdG9yZSh4ID0+IHgudHJpZ2dlcmVkJCk7XG4gIH1cblxuICBnZXQgdmFsdWVSZWFkeSQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKHggPT4geC52YWx1ZVJlYWR5JCk7XG4gIH1cblxuICBnZXQgc3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxPPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKHggPT4geC5zdWNjZXNzJCk7XG4gIH1cblxuICBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8TWF5YmU8UmVhZGFibGVFcnJvcj4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LmVycm9yJCk7XG4gIH1cblxuICBnZXQgcmVqZWN0ZWQkKCk6IE9ic2VydmFibGU8TWF5YmU8UmVhZGFibGVFcnJvcj4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LnJlamVjdGVkJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKHggPT4geC5pc01vZGlmaWVkJCk7XG4gIH1cblxuICBnZXQgaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQpO1xuICB9XG5cbiAgZ2V0IGlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCk7XG4gIH1cblxuICBnZXQgYWN0aW9uU3RhdGUkKCk6IE9ic2VydmFibGU8QWN0aW9uU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LmFjdGlvblN0YXRlJCk7XG4gIH1cblxuICBnZXQgaXNXb3JraW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LmlzV29ya2luZyQpO1xuICB9XG5cbiAgZ2V0IGlzU3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucGlwZVN0b3JlKHggPT4geC5pc1N1Y2Nlc3MkKTtcbiAgfVxuXG4gIGdldCBpc0Rpc2FibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LmlzRGlzYWJsZWQkKTtcbiAgfVxuXG4gIGdldCBlcnJvckNvdW50U2luY2VMYXN0U3VjY2VzcyQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5waXBlU3RvcmUoeCA9PiB4LmVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCk7XG4gIH1cblxuICBwdWJsaWMgZW5hYmxlKGtleT86IEFjdGlvbkRpc2FibGVkS2V5LCBlbmFibGUgPSB0cnVlKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlKGtleSwgIWVuYWJsZSk7XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZShrZXk/OiBBY3Rpb25EaXNhYmxlZEtleSwgZGlzYWJsZSA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiAoZGlzYWJsZSkgPyB4LmRpc2FibGUoa2V5KSA6IHguZW5hYmxlKGtleSkpO1xuICB9XG5cbiAgcHVibGljIHNldElzTW9kaWZpZWQoaXNNb2RpZmllZD86IGJvb2xlYW4gfCBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgT2JzZXJ2YWJsZTx2b2lkPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc2V0SXNNb2RpZmllZChpc01vZGlmaWVkKSk7XG4gIH1cblxuICBwdWJsaWMgdHJpZ2dlcigpOiB2b2lkIHtcbiAgICB0aGlzLnVzZVN0b3JlKCh4KSA9PiB4LnRyaWdnZXIoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZHlWYWx1ZSh2YWx1ZTogTWF5YmU8VCB8IE9ic2VydmFibGU8VD4+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZWFkeVZhbHVlKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnRXb3JraW5nKCk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc3RhcnRXb3JraW5nKCkpO1xuICB9XG5cbiAgcHVibGljIHJlamVjdChlcnJvcjogTWF5YmU8UmVhZGFibGVFcnJvciB8IE9ic2VydmFibGU8UmVhZGFibGVFcnJvcj4+KTogdm9pZCB7XG4gICAgdGhpcy51c2VTdG9yZSgoeCkgPT4geC5yZWplY3QoZXJyb3IpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWNjZXNzKHZhbHVlOiBPIHwgT2JzZXJ2YWJsZTxPPik6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHguc3VjY2Vzcyh2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlU3RvcmUoKHgpID0+IHgucmVzZXQoKSk7XG4gIH1cblxufVxuXG5leHBvcnQgY29uc3QgYWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2VGYWN0b3J5ID0gKHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlKSA9PiB7XG4gIHJldHVybiBuZXcgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2Uoc291cmNlKTtcbn07XG5cbi8qKlxuICogUHJvdmlkZXMgYW4gQWN0aW9uQ29udGV4dFN0b3JlU291cmNlLCBhcyB3ZWxsIGFzIGFuIEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gUHJvdmlkZUFjdGlvblN0b3JlU291cmNlPFM+KHNvdXJjZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFt7XG4gICAgcHJvdmlkZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHNvdXJjZVR5cGUpXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSxcbiAgICB1c2VGYWN0b3J5OiBhY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZUZhY3RvcnksXG4gICAgZGVwczogW0FjdGlvbkNvbnRleHRTdG9yZVNvdXJjZV1cbiAgfV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm92aWRlU2Vjb25kYXJ5QWN0aW9uU3RvcmVTb3VyY2U8Uz4oc291cmNlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW3tcbiAgICBwcm92aWRlOiBTZWNvbmRhcnlBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgfSxcbiAgLi4uUHJvdmlkZUFjdGlvblN0b3JlU291cmNlKHNvdXJjZVR5cGUpXG4gIF07XG59XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { AbstractSubscriptionDirective } from '../../../subscription';
3
+ import { distinctUntilChanged, filter } from 'rxjs/operators';
4
+ import { combineLatest } from 'rxjs';
5
+ import { ActionContextStoreSourceInstance } from '../../action.store.source';
6
+ import { Host } from '@angular/core';
7
+ import { BehaviorSubject } from 'rxjs';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../action.store.source";
10
+ export class DbNgxActionAutoModifyDirective extends AbstractSubscriptionDirective {
11
+ constructor(source) {
12
+ super();
13
+ this.source = source;
14
+ this._autoModifyEnabled = new BehaviorSubject(true);
15
+ }
16
+ get autoModifyEnabled() {
17
+ return this._autoModifyEnabled.value;
18
+ }
19
+ set autoModifyEnabled(autoModifyEnabled) {
20
+ this._autoModifyEnabled.next(autoModifyEnabled !== 'false');
21
+ }
22
+ ngOnInit() {
23
+ const obs = combineLatest([
24
+ this._autoModifyEnabled.pipe(distinctUntilChanged()),
25
+ this.source.isModified$.pipe(filter(x => !x)) // Only when not modified send a value.
26
+ ]);
27
+ this.sub = obs.subscribe(([autoModifyEnabled, isModified]) => {
28
+ if (autoModifyEnabled && !isModified) {
29
+ this.source.setIsModified(true);
30
+ }
31
+ });
32
+ }
33
+ ngOnDestroy() {
34
+ this.source.lockSet.onNextUnlock(() => {
35
+ super.ngOnDestroy();
36
+ this._autoModifyEnabled.complete();
37
+ });
38
+ }
39
+ }
40
+ DbNgxActionAutoModifyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionAutoModifyDirective, deps: [{ token: i1.ActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
41
+ DbNgxActionAutoModifyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionAutoModifyDirective, selector: "[dbxActionAutoModify]", inputs: { autoModifyEnabled: ["dbxActionAutoModify", "autoModifyEnabled"] }, usesInheritance: true, ngImport: i0 });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionAutoModifyDirective, decorators: [{
43
+ type: Directive,
44
+ args: [{
45
+ selector: '[dbxActionAutoModify]',
46
+ }]
47
+ }], ctorParameters: function () { return [{ type: i1.ActionContextStoreSourceInstance, decorators: [{
48
+ type: Host
49
+ }] }]; }, propDecorators: { autoModifyEnabled: [{
50
+ type: Input,
51
+ args: ['dbxActionAutoModify']
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL2F1dG8vYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUt2QyxNQUFNLE9BQU8sOEJBQXFDLFNBQVEsNkJBQTZCO0lBYXJGLFlBQW9DLE1BQThDO1FBQ2hGLEtBQUssRUFBRSxDQUFDO1FBRDBCLFdBQU0sR0FBTixNQUFNLENBQXdDO1FBWGpFLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBYXpFLENBQUM7SUFYRCxJQUNJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsaUJBQTBCO1FBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsaUJBQXdCLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQU1ELFFBQVE7UUFDTixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUM7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1NBQ3RGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUMzRCxJQUFJLGlCQUFpQixJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7MkhBbkNVLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7OzBCQWNjLElBQUk7NENBUmIsaUJBQWlCO3NCQURwQixLQUFLO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uQXV0b01vZGlmeV0nLFxufSlcbmV4cG9ydCBjbGFzcyBEYk5neEFjdGlvbkF1dG9Nb2RpZnlEaXJlY3RpdmU8VCwgTz4gZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hdXRvTW9kaWZ5RW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgQElucHV0KCdkYnhBY3Rpb25BdXRvTW9kaWZ5JylcbiAgZ2V0IGF1dG9Nb2RpZnlFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdXRvTW9kaWZ5RW5hYmxlZC52YWx1ZTtcbiAgfVxuXG4gIHNldCBhdXRvTW9kaWZ5RW5hYmxlZChhdXRvTW9kaWZ5RW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2F1dG9Nb2RpZnlFbmFibGVkLm5leHQoYXV0b01vZGlmeUVuYWJsZWQgYXMgYW55ICE9PSAnZmFsc2UnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgTz4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qgb2JzID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9hdXRvTW9kaWZ5RW5hYmxlZC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLCAvLyBEb24ndCBjaGFuZ2UgdW5sZXNzIHNwZWNpZmllZCBvdGhlcndpc2UuXG4gICAgICB0aGlzLnNvdXJjZS5pc01vZGlmaWVkJC5waXBlKGZpbHRlcih4ID0+ICF4KSkgLy8gT25seSB3aGVuIG5vdCBtb2RpZmllZCBzZW5kIGEgdmFsdWUuXG4gICAgXSk7XG5cbiAgICB0aGlzLnN1YiA9IG9icy5zdWJzY3JpYmUoKFthdXRvTW9kaWZ5RW5hYmxlZCwgaXNNb2RpZmllZF0pID0+IHtcbiAgICAgIGlmIChhdXRvTW9kaWZ5RW5hYmxlZCAmJiAhaXNNb2RpZmllZCkge1xuICAgICAgICB0aGlzLnNvdXJjZS5zZXRJc01vZGlmaWVkKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX2F1dG9Nb2RpZnlFbmFibGVkLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,131 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { AbstractSubscriptionDirective } from '../../../subscription';
3
+ import { debounce, distinctUntilChanged, exhaustMap, filter, first, map, mergeMap, shareReplay, switchMap, throttle } from 'rxjs/operators';
4
+ import { EMPTY, interval, Subject, combineLatest } from 'rxjs';
5
+ import { ActionContextStoreSourceInstance } from '../../action.store.source';
6
+ import { Host } from '@angular/core';
7
+ import { BehaviorSubject } from 'rxjs';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../action.store.source";
10
+ const DEFAULT_DEBOUNCE_MS = 2 * 1000;
11
+ const DEFAULT_THROTTLE_MS = 10 * 1000;
12
+ const DEFAULT_ERROR_THROTTLE_MS = 3 * 1000;
13
+ const MAX_ERRORS_TO_THROTTLE_ON = 6;
14
+ /**
15
+ * Extension of DbNgxActionTransitionSafetyDirective that automatically triggers the action periodically when it is in a modified state.
16
+ */
17
+ export class DbNgxActionAutoTriggerDirective extends AbstractSubscriptionDirective {
18
+ constructor(source) {
19
+ super();
20
+ this.source = source;
21
+ this._triggerEnabled = new BehaviorSubject(true);
22
+ this.triggerDebounce = DEFAULT_DEBOUNCE_MS;
23
+ this.triggerThrottle = DEFAULT_THROTTLE_MS;
24
+ this.triggerErrorThrottle = DEFAULT_ERROR_THROTTLE_MS;
25
+ this.maxErrorsForThrottle = MAX_ERRORS_TO_THROTTLE_ON;
26
+ this._triggerLimit = new BehaviorSubject(undefined);
27
+ this._trigger = new Subject();
28
+ this._triggerCount = 0;
29
+ this._errorCount$ = this.source.errorCountSinceLastSuccess$;
30
+ this._triggerCount$ = this.source.isModifiedAndCanTriggerUpdates$.pipe(filter(() => this.isEnabled), filter((x) => x), debounce(() => interval(this.triggerDebounce)), throttle(() => this._errorCount$.pipe(first(), exhaustMap((count) => interval(this.triggerThrottle + (Math.min(count, this.maxErrorsForThrottle) * this.triggerErrorThrottle)))), { leading: true, trailing: true }),
31
+ // Check again for the "trailing" piece.
32
+ filter(() => this.isEnabled), mergeMap(() => this.source.isModifiedAndCanTrigger$.pipe(first())), filter((x) => x), map(() => this._triggerCount += 1), shareReplay(1));
33
+ /**
34
+ * Observable for the trigger mechanism.
35
+ */
36
+ this.triggerCount$ = this._triggerEnabled.pipe(switchMap((enabled) => {
37
+ if (enabled) {
38
+ return this._triggerCount$;
39
+ }
40
+ else {
41
+ return EMPTY;
42
+ }
43
+ }));
44
+ this._isTriggerLimited$ = combineLatest([this.triggerCount$, this._triggerLimit]).pipe(map(([triggerCount, limit]) => [triggerCount, ((limit) ? (triggerCount > limit) : false)]), shareReplay(1));
45
+ this.isTriggerLimited$ = this._isTriggerLimited$.pipe(map(x => x[1]));
46
+ this.trigger$ = this._isTriggerLimited$.pipe(filter(x => !x[1]), distinctUntilChanged((a, b) => a[0] === b[0]), // Only trigger when the count changes.
47
+ map(() => undefined));
48
+ }
49
+ /**
50
+ * How much to throttle the auto-triggering.
51
+ */
52
+ get triggerEnabled() {
53
+ return this._triggerEnabled.value;
54
+ }
55
+ set triggerEnabled(triggerEnabled) {
56
+ triggerEnabled = triggerEnabled !== false; // Default to true
57
+ if (this.triggerEnabled !== triggerEnabled) {
58
+ this._triggerEnabled.next(triggerEnabled);
59
+ }
60
+ }
61
+ /**
62
+ * Optional input to override both triggerDebounce and triggerThrottle.
63
+ *
64
+ * Used in forms that are simple.
65
+ */
66
+ set fastTrigger(fastTrigger) {
67
+ if (fastTrigger) {
68
+ this.triggerDebounce = 200;
69
+ this.triggerThrottle = 500;
70
+ }
71
+ }
72
+ /**
73
+ * Optional input to override both triggerDebounce and triggerThrottle to be 0.
74
+ *
75
+ * Used in forms that generally return a single value.
76
+ */
77
+ set instantTrigger(instantTrigger) {
78
+ if (instantTrigger) {
79
+ this.triggerDebounce = 10;
80
+ this.triggerThrottle = 0;
81
+ }
82
+ }
83
+ get triggerLimit() {
84
+ return this._triggerLimit.value;
85
+ }
86
+ set triggerLimit(triggerLimit) {
87
+ triggerLimit = triggerLimit || 0;
88
+ this._triggerLimit.next(triggerLimit);
89
+ }
90
+ get isEnabled() {
91
+ return this.triggerEnabled !== false;
92
+ }
93
+ ngOnInit() {
94
+ this.sub = this.trigger$.subscribe(() => {
95
+ this.source.trigger();
96
+ });
97
+ }
98
+ ngOnDestroy() {
99
+ this.source.lockSet.onNextUnlock(() => {
100
+ super.ngOnDestroy();
101
+ this._trigger.complete();
102
+ this._triggerLimit.complete();
103
+ });
104
+ }
105
+ }
106
+ DbNgxActionAutoTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionAutoTriggerDirective, deps: [{ token: i1.ActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
107
+ DbNgxActionAutoTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionAutoTriggerDirective, selector: "[dbxActionAutoTrigger]", inputs: { triggerEnabled: ["dbxActionAutoTrigger", "triggerEnabled"], triggerDebounce: "triggerDebounce", triggerThrottle: "triggerThrottle", triggerErrorThrottle: "triggerErrorThrottle", fastTrigger: "fastTrigger", instantTrigger: "instantTrigger", triggerLimit: "triggerLimit" }, usesInheritance: true, ngImport: i0 });
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionAutoTriggerDirective, decorators: [{
109
+ type: Directive,
110
+ args: [{
111
+ selector: '[dbxActionAutoTrigger]',
112
+ }]
113
+ }], ctorParameters: function () { return [{ type: i1.ActionContextStoreSourceInstance, decorators: [{
114
+ type: Host
115
+ }] }]; }, propDecorators: { triggerEnabled: [{
116
+ type: Input,
117
+ args: ['dbxActionAutoTrigger']
118
+ }], triggerDebounce: [{
119
+ type: Input
120
+ }], triggerThrottle: [{
121
+ type: Input
122
+ }], triggerErrorThrottle: [{
123
+ type: Input
124
+ }], fastTrigger: [{
125
+ type: Input
126
+ }], instantTrigger: [{
127
+ type: Input
128
+ }], triggerLimit: [{
129
+ type: Input
130
+ }] } });
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBRXJDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUV0QyxNQUFNLHlCQUF5QixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7QUFFM0MsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUM7QUFFcEM7O0dBRUc7QUFJSCxNQUFNLE9BQU8sK0JBQXNDLFNBQVEsNkJBQTZCO0lBbUh0RixZQUFvQyxNQUE4QztRQUNoRixLQUFLLEVBQUUsQ0FBQztRQUQwQixXQUFN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SSxZQUFZLENBQUMsWUFBMkI7UUFDMUMsWUFBWSxHQUFHLFlBQVksSUFBSSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQXNERCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxjQUFjLEtBQUssS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDcEMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRIQXZJVSwrQkFBK0I7Z0hBQS9CLCtCQUErQjsyRkFBL0IsK0JBQStCO2tCQUgzQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOzswQkFvSGMsSUFBSTs0Q0EzR2IsY0FBYztzQkFEakIsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBYzdCLGVBQWU7c0JBRGQsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQVdGLFdBQVc7c0JBRGQsS0FBSztnQkFjRixjQUFjO3NCQURqQixLQUFLO2dCQVNGLFlBQVk7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGV4aGF1c3RNYXAsIGZpbHRlciwgZmlyc3QsIG1hcCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRocm90dGxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRU1QVFksIGludGVydmFsLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgSG9zdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5jb25zdCBERUZBVUxUX0RFQk9VTkNFX01TID0gMiAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfVEhST1RUTEVfTVMgPSAxMCAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfRVJST1JfVEhST1RUTEVfTVMgPSAzICogMTAwMDtcblxuY29uc3QgTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTiA9IDY7XG5cbi8qKlxuICogRXh0ZW5zaW9uIG9mIERiTmd4QWN0aW9uVHJhbnNpdGlvblNhZmV0eURpcmVjdGl2ZSB0aGF0IGF1dG9tYXRpY2FsbHkgdHJpZ2dlcnMgdGhlIGFjdGlvbiBwZXJpb2RpY2FsbHkgd2hlbiBpdCBpcyBpbiBhIG1vZGlmaWVkIHN0YXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uQXV0b1RyaWdnZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgRGJOZ3hBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZTxULCBPPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3RyaWdnZXJFbmFibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAvKipcbiAgICogSG93IG11Y2ggdG8gdGhyb3R0bGUgdGhlIGF1dG8tdHJpZ2dlcmluZy5cbiAgICovXG4gIEBJbnB1dCgnZGJ4QWN0aW9uQXV0b1RyaWdnZXInKVxuICBnZXQgdHJpZ2dlckVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJFbmFibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IHRyaWdnZXJFbmFibGVkKHRyaWdnZXJFbmFibGVkOiBib29sZWFuKSB7XG4gICAgdHJpZ2dlckVuYWJsZWQgPSB0cmlnZ2VyRW5hYmxlZCAhPT0gZmFsc2U7ICAvLyBEZWZhdWx0IHRvIHRydWVcblxuICAgIGlmICh0aGlzLnRyaWdnZXJFbmFibGVkICE9PSB0cmlnZ2VyRW5hYmxlZCkge1xuICAgICAgdGhpcy5fdHJpZ2dlckVuYWJsZWQubmV4dCh0cmlnZ2VyRW5hYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgdHJpZ2dlckRlYm91bmNlID0gREVGQVVMVF9ERUJPVU5DRV9NUztcblxuICBASW5wdXQoKVxuICB0cmlnZ2VyVGhyb3R0bGUgPSBERUZBVUxUX1RIUk9UVExFX01TO1xuXG4gIEBJbnB1dCgpXG4gIHRyaWdnZXJFcnJvclRocm90dGxlID0gREVGQVVMVF9FUlJPUl9USFJPVFRMRV9NUztcblxuICBtYXhFcnJvcnNGb3JUaHJvdHRsZSA9IE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT047XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGlucHV0IHRvIG92ZXJyaWRlIGJvdGggdHJpZ2dlckRlYm91bmNlIGFuZCB0cmlnZ2VyVGhyb3R0bGUuXG4gICAqXG4gICAqIFVzZWQgaW4gZm9ybXMgdGhhdCBhcmUgc2ltcGxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZhc3RUcmlnZ2VyKGZhc3RUcmlnZ2VyOiBib29sZWFuKSB7XG4gICAgaWYgKGZhc3RUcmlnZ2VyKSB7XG4gICAgICB0aGlzLnRyaWdnZXJEZWJvdW5jZSA9IDIwMDtcbiAgICAgIHRoaXMudHJpZ2dlclRocm90dGxlID0gNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBpbnB1dCB0byBvdmVycmlkZSBib3RoIHRyaWdnZXJEZWJvdW5jZSBhbmQgdHJpZ2dlclRocm90dGxlIHRvIGJlIDAuXG4gICAqXG4gICAqIFVzZWQgaW4gZm9ybXMgdGhhdCBnZW5lcmFsbHkgcmV0dXJuIGEgc2luZ2xlIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGluc3RhbnRUcmlnZ2VyKGluc3RhbnRUcmlnZ2VyOiBib29sZWFuKSB7XG4gICAgaWYgKGluc3RhbnRUcmlnZ2VyKSB7XG4gICAgICB0aGlzLnRyaWdnZXJEZWJvdW5jZSA9IDEwO1xuICAgICAgdGhpcy50cmlnZ2VyVGhyb3R0bGUgPSAwO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCB0cmlnZ2VyTGltaXQoKTogTWF5YmU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJMaW1pdC52YWx1ZTtcbiAgfVxuXG4gIHNldCB0cmlnZ2VyTGltaXQodHJpZ2dlckxpbWl0OiBNYXliZTxudW1iZXI+KSB7XG4gICAgdHJpZ2dlckxpbWl0ID0gdHJpZ2dlckxpbWl0IHx8IDA7XG4gICAgdGhpcy5fdHJpZ2dlckxpbWl0Lm5leHQodHJpZ2dlckxpbWl0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyaWdnZXJMaW1pdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmlnZ2VyID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIF90cmlnZ2VyQ291bnQgPSAwO1xuXG4gIHJlYWRvbmx5IF9lcnJvckNvdW50JCA9IHRoaXMuc291cmNlLmVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJDtcblxuICByZWFkb25seSBfdHJpZ2dlckNvdW50JCA9IHRoaXMuc291cmNlLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShcbiAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc0VuYWJsZWQpLFxuICAgIGZpbHRlcigoeCkgPT4geCksXG4gICAgZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwodGhpcy50cmlnZ2VyRGVib3VuY2UpKSxcbiAgICB0aHJvdHRsZSgoKSA9PiB0aGlzLl9lcnJvckNvdW50JC5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIGV4aGF1c3RNYXAoKGNvdW50KSA9PiBpbnRlcnZhbCh0aGlzLnRyaWdnZXJUaHJvdHRsZSArIChNYXRoLm1pbihjb3VudCwgdGhpcy5tYXhFcnJvcnNGb3JUaHJvdHRsZSkgKiB0aGlzLnRyaWdnZXJFcnJvclRocm90dGxlKSkpXG4gICAgKSwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSxcbiAgICAvLyBDaGVjayBhZ2FpbiBmb3IgdGhlIFwidHJhaWxpbmdcIiBwaWVjZS5cbiAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc0VuYWJsZWQpLFxuICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuc291cmNlLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJC5waXBlKGZpcnN0KCkpKSxcbiAgICBmaWx0ZXIoKHgpID0+IHgpLFxuICAgIG1hcCgoKSA9PiB0aGlzLl90cmlnZ2VyQ291bnQgKz0gMSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBmb3IgdGhlIHRyaWdnZXIgbWVjaGFuaXNtLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlckNvdW50JCA9IHRoaXMuX3RyaWdnZXJFbmFibGVkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChlbmFibGVkKSA9PiB7XG4gICAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckNvdW50JDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzVHJpZ2dlckxpbWl0ZWQkOiBPYnNlcnZhYmxlPFtudW1iZXIsIGJvb2xlYW5dPiA9XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy50cmlnZ2VyQ291bnQkLCB0aGlzLl90cmlnZ2VyTGltaXRdKS5waXBlKFxuICAgICAgbWFwKChbdHJpZ2dlckNvdW50LCBsaW1pdF0pID0+IFt0cmlnZ2VyQ291bnQsICgobGltaXQpID8gKHRyaWdnZXJDb3VudCA+IGxpbWl0KSA6IGZhbHNlKV0gYXMgW251bWJlciwgYm9vbGVhbl0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gIHJlYWRvbmx5IGlzVHJpZ2dlckxpbWl0ZWQkID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShtYXAoeCA9PiB4WzFdKSk7XG4gIHJlYWRvbmx5IHRyaWdnZXIkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShcbiAgICBmaWx0ZXIoeCA9PiAheFsxXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGFbMF0gPT09IGJbMF0pLCAgICAvLyBPbmx5IHRyaWdnZXIgd2hlbiB0aGUgY291bnQgY2hhbmdlcy5cbiAgICBtYXAoKCkgPT4gdW5kZWZpbmVkIGFzIHZvaWQpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgaXNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbmFibGVkICE9PSBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy50cmlnZ2VyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zb3VyY2UudHJpZ2dlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX3RyaWdnZXIuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3RyaWdnZXJMaW1pdC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,79 @@
1
+ import { ActionContextStoreSourceInstance } 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 } 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 an observable for changes and sets the new value and modified states as necessary.
11
+ */
12
+ export class DbNgxActionAutoTriggerValueDirective {
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, dbxActionAutoTriggerModified]) => {
20
+ let result;
21
+ if (dbxActionAutoTriggerModified) {
22
+ result = dbxActionAutoTriggerModified(value).pipe(map((isModified) => [isModified, value]));
23
+ }
24
+ else {
25
+ result = of([true, value]);
26
+ }
27
+ return result;
28
+ }), shareReplay(1))));
29
+ }
30
+ set dbxActionAutoTriggerValue(dbxActionAutoTriggerValue) {
31
+ this._valueObs.next(dbxActionAutoTriggerValue);
32
+ }
33
+ set dbxActionAutoTriggerModifiedNonEmptyValue(requireNonEmpty) {
34
+ if (requireNonEmpty) {
35
+ this.dbxActionAutoTriggerModified = (value) => {
36
+ return of(hasValueOrNotEmpty(value));
37
+ };
38
+ }
39
+ }
40
+ set dbxActionAutoTriggerModified(dbxActionAutoTriggerModified) {
41
+ this._isModifiedFn.next(dbxActionAutoTriggerModified);
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(mergeMap(x => this.modifiedValue$)).subscribe(([isModified, value]) => {
50
+ this.source.readyValue(value);
51
+ });
52
+ }
53
+ ngOnDestroy() {
54
+ this.source.lockSet.onNextUnlock(() => {
55
+ this._isModifiedFn.complete();
56
+ this._valueObs.complete();
57
+ this._modifiedSub.destroy();
58
+ this._triggerSub.destroy();
59
+ });
60
+ }
61
+ }
62
+ DbNgxActionAutoTriggerValueDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionAutoTriggerValueDirective, deps: [{ token: i1.ActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
63
+ DbNgxActionAutoTriggerValueDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionAutoTriggerValueDirective, selector: "[dbxActionAutoTriggerValue]", inputs: { dbxActionAutoTriggerValue: "dbxActionAutoTriggerValue", dbxActionAutoTriggerModifiedNonEmptyValue: "dbxActionAutoTriggerModifiedNonEmptyValue", dbxActionAutoTriggerModified: "dbxActionAutoTriggerModified" }, ngImport: i0 });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionAutoTriggerValueDirective, decorators: [{
65
+ type: Directive,
66
+ args: [{
67
+ selector: '[dbxActionAutoTriggerValue]',
68
+ }]
69
+ }], ctorParameters: function () { return [{ type: i1.ActionContextStoreSourceInstance, decorators: [{
70
+ type: Host
71
+ }] }]; }, propDecorators: { dbxActionAutoTriggerValue: [{
72
+ type: Input,
73
+ args: ['dbxActionAutoTriggerValue']
74
+ }], dbxActionAutoTriggerModifiedNonEmptyValue: [{
75
+ type: Input
76
+ }], dbxActionAutoTriggerModified: [{
77
+ type: Input
78
+ }] } });
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLnZhbHVlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci52YWx1ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJbkQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0NBQW9DO0lBK0MvQyxZQUFvQyxNQUE4QztRQUE5QyxXQUFNLEdBQU4sTUFBTSxDQUF3QztRQTdDMUUsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFnQixLQUFLLENBQUMsQ0FBQztRQUN0RCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUErQyxTQUFTLENBQUMsQ0FBQztRQUU3RixpQkFBWSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN4QyxnQkFBVyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQXFCdEMsbUJBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDM0MsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVB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QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgbWVyZ2VNYXAsIG1hcCwgd2l0aExhdGVzdEZyb20sIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNWYWx1ZU9yTm90RW1wdHksIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuZXhwb3J0IHR5cGUgRGJOZ3hBY3Rpb25BdXRvVHJpZ2dlcklzTW9kaWZpZWRGbjxUPiA9ICh2YWx1ZTogVCkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCB3YXRjaGVzIGFuIG9ic2VydmFibGUgZm9yIGNoYW5nZXMgYW5kIHNldHMgdGhlIG5ldyB2YWx1ZSBhbmQgbW9kaWZpZWQgc3RhdGVzIGFzIG5lY2Vzc2FyeS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkF1dG9UcmlnZ2VyVmFsdWVdJyxcbn0pXG5leHBvcnQgY2xhc3MgRGJOZ3hBY3Rpb25BdXRvVHJpZ2dlclZhbHVlRGlyZWN0aXZlPFQsIE8+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3ZhbHVlT2JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPFQ+PihFTVBUWSk7XG4gIHByaXZhdGUgX2lzTW9kaWZpZWRGbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8RGJOZ3hBY3Rpb25BdXRvVHJpZ2dlcklzTW9kaWZpZWRGbjxUPj4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBfbW9kaWZpZWRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX3RyaWdnZXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgQElucHV0KCdkYnhBY3Rpb25BdXRvVHJpZ2dlclZhbHVlJylcbiAgc2V0IGRieEFjdGlvbkF1dG9UcmlnZ2VyVmFsdWUoZGJ4QWN0aW9uQXV0b1RyaWdnZXJWYWx1ZTogT2JzZXJ2YWJsZTxUPikge1xuICAgIHRoaXMuX3ZhbHVlT2JzLm5leHQoZGJ4QWN0aW9uQXV0b1RyaWdnZXJWYWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGJ4QWN0aW9uQXV0b1RyaWdnZXJNb2RpZmllZE5vbkVtcHR5VmFsdWUocmVxdWlyZU5vbkVtcHR5OiBib29sZWFuKSB7XG4gICAgaWYgKHJlcXVpcmVOb25FbXB0eSkge1xuICAgICAgdGhpcy5kYnhBY3Rpb25BdXRvVHJpZ2dlck1vZGlmaWVkID0gKHZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiBvZihoYXNWYWx1ZU9yTm90RW1wdHkodmFsdWUpKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRieEFjdGlvbkF1dG9UcmlnZ2VyTW9kaWZpZWQoZGJ4QWN0aW9uQXV0b1RyaWdnZXJNb2RpZmllZDogRGJOZ3hBY3Rpb25BdXRvVHJpZ2dlcklzTW9kaWZpZWRGbjxUPikge1xuICAgIHRoaXMuX2lzTW9kaWZpZWRGbi5uZXh0KGRieEFjdGlvbkF1dG9UcmlnZ2VyTW9kaWZpZWQpO1xuICB9XG5cbiAgcmVhZG9ubHkgbW9kaWZpZWRWYWx1ZSQgPSB0aGlzLl92YWx1ZU9icy5waXBlKFxuICAgIHN3aXRjaE1hcCgob2JzKSA9PiBvYnMucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuX2lzTW9kaWZpZWRGbiksXG4gICAgICBtZXJnZU1hcCgoW3ZhbHVlLCBkYnhBY3Rpb25BdXRvVHJpZ2dlck1vZGlmaWVkXSkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0OiBPYnNlcnZhYmxlPFtib29sZWFuLCBUXT47XG5cbiAgICAgICAgaWYgKGRieEFjdGlvbkF1dG9UcmlnZ2VyTW9kaWZpZWQpIHtcbiAgICAgICAgICByZXN1bHQgPSBkYnhBY3Rpb25BdXRvVHJpZ2dlck1vZGlmaWVkKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgbWFwKChpc01vZGlmaWVkKSA9PiBbaXNNb2RpZmllZCwgdmFsdWVdIGFzIFtib29sZWFuLCBUXSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCA9IG9mKFt0cnVlLCB2YWx1ZV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8VCwgTz4pIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIFVwZGF0ZSBNb2RpZmllZCB2YWx1ZS5cbiAgICB0aGlzLl9tb2RpZmllZFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLm1vZGlmaWVkVmFsdWUkLnN1YnNjcmliZSgoW2lzTW9kaWZpZWQsIHZhbHVlXSkgPT4ge1xuICAgICAgdGhpcy5zb3VyY2Uuc2V0SXNNb2RpZmllZChpc01vZGlmaWVkKTtcbiAgICB9KTtcblxuICAgIC8vIFNldCB0aGUgdmFsdWUgb24gdHJpZ2dlcnMuXG4gICAgdGhpcy5fdHJpZ2dlclN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnNvdXJjZS50cmlnZ2VyZWQkLnBpcGUoXG4gICAgICBtZXJnZU1hcCh4ID0+IHRoaXMubW9kaWZpZWRWYWx1ZSQpXG4gICAgKS5zdWJzY3JpYmUoKFtpc01vZGlmaWVkLCB2YWx1ZV0pID0+IHtcbiAgICAgIHRoaXMuc291cmNlLnJlYWR5VmFsdWUodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgdGhpcy5faXNNb2RpZmllZEZuLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl92YWx1ZU9icy5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fbW9kaWZpZWRTdWIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5fdHJpZ2dlclN1Yi5kZXN0cm95KCk7XG4gICAgfSk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './action.automodify.directive';
2
+ export * from './action.autotrigger.directive';
3
+ export * from './action.autotrigger.value.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvYXV0by9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5hdXRvdHJpZ2dlci52YWx1ZS5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import { ProvideActionStoreSource } from '../../action.store.source';
3
+ import { DbNgxActionContextDirective } from './action.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class DbNgxActionComponent extends DbNgxActionContextDirective {
6
+ }
7
+ DbNgxActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8
+ DbNgxActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionComponent, selector: "dbx-action", providers: ProvideActionStoreSource(DbNgxActionComponent), exportAs: ["action"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionComponent, decorators: [{
10
+ type: Component,
11
+ args: [{
12
+ selector: 'dbx-action',
13
+ exportAs: 'action',
14
+ template: '<ng-content></ng-content>',
15
+ providers: ProvideActionStoreSource(DbNgxActionComponent)
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9jb250ZXh0L2FjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFTakUsTUFBTSxPQUFPLG9CQUF1QyxTQUFRLDJCQUFpQzs7aUhBQWhGLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHFDQUZwQix3QkFBd0IsQ0FBQyxvQkFBb0IsQ0FBQyx1RUFGL0MsMkJBQTJCOzJGQUkxQixvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUUsMkJBQTJCO29CQUVyQyxTQUFTLEVBQUUsd0JBQXdCLHNCQUFzQjtpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVBY3Rpb25TdG9yZVNvdXJjZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgRGJOZ3hBY3Rpb25Db250ZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi9hY3Rpb24uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWFjdGlvbicsXG4gIGV4cG9ydEFzOiAnYWN0aW9uJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgXG4gIHByb3ZpZGVyczogUHJvdmlkZUFjdGlvblN0b3JlU291cmNlKERiTmd4QWN0aW9uQ29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYk5neEFjdGlvbkNvbXBvbmVudDxUID0gYW55LCBPID0gYW55PiBleHRlbmRzIERiTmd4QWN0aW9uQ29udGV4dERpcmVjdGl2ZTxULCBPPiAgeyB9XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Directive, Optional, Host } from '@angular/core';
2
+ import { ProvideActionStoreSource, SecondaryActionContextStoreSource } from '../../action.store.source';
3
+ import { ActionContextBaseSource } from '../../action.holder';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../action.store.source";
6
+ /**
7
+ * Provides an DbNgxActionContext.
8
+ */
9
+ export class DbNgxActionContextDirective extends ActionContextBaseSource {
10
+ constructor(inputSource) {
11
+ super(inputSource);
12
+ }
13
+ ngOnDestroy() {
14
+ this.lockSet.destroyOnNextUnlock(() => {
15
+ this.destroy();
16
+ });
17
+ }
18
+ }
19
+ DbNgxActionContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionContextDirective, deps: [{ token: i1.SecondaryActionContextStoreSource, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
20
+ DbNgxActionContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionContextDirective, selector: "[dbxActionContext]", providers: ProvideActionStoreSource(DbNgxActionContextDirective), exportAs: ["action"], usesInheritance: true, ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionContextDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ selector: '[dbxActionContext]',
25
+ exportAs: 'action',
26
+ providers: ProvideActionStoreSource(DbNgxActionContextDirective)
27
+ }]
28
+ }], ctorParameters: function () { return [{ type: i1.SecondaryActionContextStoreSource, decorators: [{
29
+ type: Optional
30
+ }, {
31
+ type: Host
32
+ }] }]; } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9jb250ZXh0L2FjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWEsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFOUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMkJBQThDLFNBQVEsdUJBQXVCO0lBRXhGLFlBQWdDLFdBQThDO1FBQzVFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3dIQVZVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDZDQUYzQix3QkFBd0IsQ0FBQywyQkFBMkIsQ0FBQzsyRkFFckQsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixTQUFTLEVBQUUsd0JBQXdCLDZCQUE2QjtpQkFDakU7OzBCQUdjLFFBQVE7OzBCQUFJLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9wdGlvbmFsLCBPbkRlc3Ryb3ksIEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3ZpZGVBY3Rpb25TdG9yZVNvdXJjZSwgU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0QmFzZVNvdXJjZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5ob2xkZXInO1xuXG4vKipcbiAqIFByb3ZpZGVzIGFuIERiTmd4QWN0aW9uQ29udGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkNvbnRleHRdJyxcbiAgZXhwb3J0QXM6ICdhY3Rpb24nLFxuICBwcm92aWRlcnM6IFByb3ZpZGVBY3Rpb25TdG9yZVNvdXJjZShEYk5neEFjdGlvbkNvbnRleHREaXJlY3RpdmUpXG59KVxuZXhwb3J0IGNsYXNzIERiTmd4QWN0aW9uQ29udGV4dERpcmVjdGl2ZTxUID0gYW55LCBPID0gYW55PiBleHRlbmRzIEFjdGlvbkNvbnRleHRCYXNlU291cmNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASG9zdCgpIGlucHV0U291cmNlOiBTZWNvbmRhcnlBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UpIHtcbiAgICBzdXBlcihpbnB1dFNvdXJjZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvY2tTZXQuZGVzdHJveU9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { filterMaybe } from '@dereekb/rxjs';
2
+ import { Directive, Input } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { switchMap } from 'rxjs/operators';
5
+ import { ProvideSecondaryActionStoreSource, actionContextStoreSourcePipe } from '../../action.store.source';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Directive that provides a DbNgxActionSourceDirective that is passed in.
9
+ */
10
+ export class DbNgxActionSourceDirective {
11
+ constructor() {
12
+ this._source = new BehaviorSubject(undefined);
13
+ this.store$ = this._source.pipe(filterMaybe(), switchMap((x) => actionContextStoreSourcePipe(x.store$)));
14
+ }
15
+ ngOnDestroy() {
16
+ this._source.complete();
17
+ }
18
+ get source() {
19
+ return this._source.value;
20
+ }
21
+ set source(source) {
22
+ if (source && !source.store$) {
23
+ throw new Error('Invalid source passed to dbxActionSource.');
24
+ }
25
+ this._source.next(source);
26
+ }
27
+ }
28
+ DbNgxActionSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
+ DbNgxActionSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbNgxActionSourceDirective, selector: "[dbxActionSource]", inputs: { source: ["dbxActionSource", "source"] }, providers: ProvideSecondaryActionStoreSource(DbNgxActionSourceDirective), ngImport: i0 });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbNgxActionSourceDirective, decorators: [{
31
+ type: Directive,
32
+ args: [{
33
+ selector: '[dbxActionSource]',
34
+ providers: ProvideSecondaryActionStoreSource(DbNgxActionSourceDirective)
35
+ }]
36
+ }], propDecorators: { source: [{
37
+ type: Input,
38
+ args: ['dbxActionSource']
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnNvdXJjZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvY29udGV4dC9hY3Rpb24uc291cmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBK0QsNEJBQTRCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFFeks7O0dBRUc7QUFLSCxNQUFNLE9BQU8sMEJBQTBCO0lBSnZDO1FBTVUsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFrQyxTQUFTLENBQUMsQ0FBQztRQUN6RSxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBbUI5RztJQWpCQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBdUM7UUFDaEQsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7O3VIQXBCVSwwQkFBMEI7MkdBQTFCLDBCQUEwQiwrRkFGMUIsaUNBQWlDLENBQUMsMEJBQTBCLENBQUM7MkZBRTdELDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsaUNBQWlDLDRCQUE0QjtpQkFDekU7OEJBV0ssTUFBTTtzQkFEVCxLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlck1heWJlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFByb3ZpZGVTZWNvbmRhcnlBY3Rpb25TdG9yZVNvdXJjZSwgU2Vjb25kYXJ5QWN0aW9uQ29udGV4dFN0b3JlU291cmNlLCBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2UsIGFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZVBpcGUgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBwcm92aWRlcyBhIERiTmd4QWN0aW9uU291cmNlRGlyZWN0aXZlIHRoYXQgaXMgcGFzc2VkIGluLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uU291cmNlXScsXG4gIHByb3ZpZGVyczogUHJvdmlkZVNlY29uZGFyeUFjdGlvblN0b3JlU291cmNlKERiTmd4QWN0aW9uU291cmNlRGlyZWN0aXZlKVxufSlcbmV4cG9ydCBjbGFzcyBEYk5neEFjdGlvblNvdXJjZURpcmVjdGl2ZSBpbXBsZW1lbnRzIFNlY29uZGFyeUFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZSwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9zb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZT4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHN0b3JlJCA9IHRoaXMuX3NvdXJjZS5waXBlKGZpbHRlck1heWJlKCksIHN3aXRjaE1hcCgoeCkgPT4gYWN0aW9uQ29udGV4dFN0b3JlU291cmNlUGlwZSh4LnN0b3JlJCkpKTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zb3VyY2UuY29tcGxldGUoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZGJ4QWN0aW9uU291cmNlJylcbiAgZ2V0IHNvdXJjZSgpOiBNYXliZTxBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2U+IHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlLnZhbHVlO1xuICB9XG5cbiAgc2V0IHNvdXJjZShzb3VyY2U6IE1heWJlPEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZT4pIHtcbiAgICBpZiAoc291cmNlICYmICFzb3VyY2Uuc3RvcmUkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc291cmNlIHBhc3NlZCB0byBkYnhBY3Rpb25Tb3VyY2UuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5fc291cmNlLm5leHQoc291cmNlKTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './action.component';
2
+ export * from './action.directive';
3
+ export * from './action.source.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9kaXJlY3RpdmUvY29udGV4dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24uc291cmNlLmRpcmVjdGl2ZSc7XG4iXX0=