@dereekb/dbx-core 13.11.14 → 13.11.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/dereekb-dbx-core.mjs +322 -244
- package/fesm2022/dereekb-dbx-core.mjs.map +1 -1
- package/package.json +5 -5
- package/types/dereekb-dbx-core.d.ts +235 -194
|
@@ -80,6 +80,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
80
80
|
* Registers the config token, the concrete loader, and the abstract
|
|
81
81
|
* {@link AssetLoader} token pointing to the concrete implementation.
|
|
82
82
|
*
|
|
83
|
+
* @param config - Optional configuration for the asset loader. Defaults to loading from `/assets/`.
|
|
84
|
+
* @returns Angular environment providers that register the {@link AssetLoader} and its configuration.
|
|
85
|
+
*
|
|
83
86
|
* @example
|
|
84
87
|
* ```ts
|
|
85
88
|
* export const appConfig: ApplicationConfig = {
|
|
@@ -88,9 +91,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
88
91
|
* ]
|
|
89
92
|
* };
|
|
90
93
|
* ```
|
|
91
|
-
*
|
|
92
|
-
* @param config - Optional configuration for the asset loader. Defaults to loading from `/assets/`.
|
|
93
|
-
* @returns Angular environment providers that register the {@link AssetLoader} and its configuration.
|
|
94
94
|
*/
|
|
95
95
|
function provideDbxAssetLoader(config = {}) {
|
|
96
96
|
const providers = [
|
|
@@ -107,17 +107,20 @@ function provideDbxAssetLoader(config = {}) {
|
|
|
107
107
|
*
|
|
108
108
|
* Must be run in an Angular injection context.
|
|
109
109
|
*
|
|
110
|
+
* @param input - The Destroyable object or destroy function to register for cleanup.
|
|
111
|
+
* @returns The same input, for chaining.
|
|
112
|
+
*
|
|
110
113
|
* @example
|
|
114
|
+
* ```ts
|
|
111
115
|
* // Clean up a Destroyable object (e.g., SubscriptionObject, LockSet):
|
|
112
116
|
* const sub = new SubscriptionObject(obs$.subscribe(handler));
|
|
113
117
|
* clean(sub);
|
|
114
|
-
*
|
|
118
|
+
* ```
|
|
115
119
|
* @example
|
|
120
|
+
* ```ts
|
|
116
121
|
* // Clean up a destroy function directly:
|
|
117
122
|
* clean(() => resource.release());
|
|
118
|
-
*
|
|
119
|
-
* @param input - The Destroyable object or destroy function to register for cleanup.
|
|
120
|
-
* @returns The same input, for chaining.
|
|
123
|
+
* ```
|
|
121
124
|
*/
|
|
122
125
|
function clean(input) {
|
|
123
126
|
const destroyRef = inject(DestroyRef);
|
|
@@ -135,16 +138,19 @@ function clean(input) {
|
|
|
135
138
|
*
|
|
136
139
|
* Must be run in an Angular injection context.
|
|
137
140
|
*
|
|
141
|
+
* @param input - The Subject to register for completion on destroy.
|
|
142
|
+
* @returns The same input, for chaining.
|
|
143
|
+
*
|
|
138
144
|
* @example
|
|
145
|
+
* ```ts
|
|
139
146
|
* // Complete a BehaviorSubject when the component is destroyed:
|
|
140
147
|
* readonly value$ = completeOnDestroy(new BehaviorSubject<string>('initial'));
|
|
141
|
-
*
|
|
148
|
+
* ```
|
|
142
149
|
* @example
|
|
150
|
+
* ```ts
|
|
143
151
|
* // Complete a ReplaySubject when the component is destroyed:
|
|
144
152
|
* readonly events$ = completeOnDestroy(new ReplaySubject<Event>(1));
|
|
145
|
-
*
|
|
146
|
-
* @param input - The Subject to register for completion on destroy.
|
|
147
|
-
* @returns The same input, for chaining.
|
|
153
|
+
* ```
|
|
148
154
|
*/
|
|
149
155
|
function completeOnDestroy(input) {
|
|
150
156
|
clean(() => input.complete());
|
|
@@ -157,16 +163,17 @@ function completeOnDestroy(input) {
|
|
|
157
163
|
*
|
|
158
164
|
* Must be run within an Angular injection context.
|
|
159
165
|
*
|
|
166
|
+
* @param sub - Optional subscription or getter to wrap.
|
|
167
|
+
* @returns A SubscriptionObject that is automatically destroyed when the context is destroyed.
|
|
168
|
+
*
|
|
160
169
|
* @example
|
|
170
|
+
* ```ts
|
|
161
171
|
* // Pass a subscription directly - it will be cleaned up automatically:
|
|
162
172
|
* cleanSubscription(obs$.subscribe(handler));
|
|
163
|
-
*
|
|
164
173
|
* // Or create first, then set the subscription later:
|
|
165
174
|
* readonly _sub = cleanSubscription();
|
|
166
175
|
* this._sub.subscription = obs$.subscribe(handler);
|
|
167
|
-
*
|
|
168
|
-
* @param sub - Optional subscription or getter to wrap.
|
|
169
|
-
* @returns A SubscriptionObject that is automatically destroyed when the context is destroyed.
|
|
176
|
+
* ```
|
|
170
177
|
*/
|
|
171
178
|
function cleanSubscription(sub) {
|
|
172
179
|
const subscription = getValueFromGetter(sub);
|
|
@@ -184,14 +191,17 @@ function cleanSubscription(sub) {
|
|
|
184
191
|
* @returns A CleanLockSet that is automatically destroyed when the context is destroyed.
|
|
185
192
|
*
|
|
186
193
|
* @example
|
|
194
|
+
* ```ts
|
|
187
195
|
* // Create a simple lockset:
|
|
188
196
|
* readonly lockSet = cleanLockSet();
|
|
189
|
-
*
|
|
197
|
+
* ```
|
|
190
198
|
* @example
|
|
199
|
+
* ```ts
|
|
191
200
|
* // Create with a callback when the lockset is destroyed:
|
|
192
201
|
* readonly lockSet = cleanLockSet({
|
|
193
202
|
* onLockSetDestroy: () => console.log('lockset destroyed')
|
|
194
203
|
* });
|
|
204
|
+
* ```
|
|
195
205
|
*/
|
|
196
206
|
function cleanLockSet(config) {
|
|
197
207
|
const { onDestroy, onLockSetDestroy, destroyLocksetTiming } = config ?? {};
|
|
@@ -217,12 +227,14 @@ function cleanLockSet(config) {
|
|
|
217
227
|
*
|
|
218
228
|
* Must be run within an Angular injection context.
|
|
219
229
|
*
|
|
220
|
-
* @param lockSet The lockset to use.
|
|
221
|
-
* @param onDestroy The function to run when the lockset is unlocked.
|
|
230
|
+
* @param lockSet - The lockset to use.
|
|
231
|
+
* @param onDestroy - The function to run when the lockset is unlocked.
|
|
222
232
|
*
|
|
223
233
|
* @example
|
|
234
|
+
* ```ts
|
|
224
235
|
* // Defer cleanup until the lockset unlocks after component destroy:
|
|
225
236
|
* cleanWithLockSet(this.lockSet, () => resource.release());
|
|
237
|
+
* ```
|
|
226
238
|
*/
|
|
227
239
|
function cleanWithLockSet(lockSet, onDestroy) {
|
|
228
240
|
const destroyRef = inject(DestroyRef);
|
|
@@ -237,20 +249,23 @@ function cleanWithLockSet(lockSet, onDestroy) {
|
|
|
237
249
|
*
|
|
238
250
|
* Must be run within an Angular injection context.
|
|
239
251
|
*
|
|
252
|
+
* @param input - Configuration specifying the lock set and optional initial subscription.
|
|
253
|
+
* @returns A SubscriptionObject that is destroyed when the context is destroyed and the lock set unlocks.
|
|
254
|
+
*
|
|
240
255
|
* @example
|
|
256
|
+
* ```ts
|
|
241
257
|
* // Pass a subscription that waits for the lockset to unlock before cleanup:
|
|
242
258
|
* readonly _sub = cleanSubscriptionWithLockSet({
|
|
243
259
|
* lockSet: this.lockSet,
|
|
244
260
|
* sub: obs$.subscribe(handler)
|
|
245
261
|
* });
|
|
246
|
-
*
|
|
262
|
+
* ```
|
|
247
263
|
* @example
|
|
264
|
+
* ```ts
|
|
248
265
|
* // Create first, then set the subscription later:
|
|
249
266
|
* readonly _sub = cleanSubscriptionWithLockSet({ lockSet: this.lockSet });
|
|
250
267
|
* this._sub.subscription = obs$.subscribe(handler);
|
|
251
|
-
*
|
|
252
|
-
* @param input - Configuration specifying the lock set and optional initial subscription.
|
|
253
|
-
* @returns A SubscriptionObject that is destroyed when the context is destroyed and the lock set unlocks.
|
|
268
|
+
* ```
|
|
254
269
|
*/
|
|
255
270
|
function cleanSubscriptionWithLockSet(input) {
|
|
256
271
|
const subscription = getValueFromGetter(input.sub);
|
|
@@ -264,17 +279,20 @@ function cleanSubscriptionWithLockSet(input) {
|
|
|
264
279
|
*
|
|
265
280
|
* Must be run within an Angular injection context.
|
|
266
281
|
*
|
|
282
|
+
* @param input - Optional loading state context input configuration.
|
|
283
|
+
* @returns A mutable loading state context that is automatically destroyed on cleanup.
|
|
284
|
+
*
|
|
267
285
|
* @example
|
|
286
|
+
* ```ts
|
|
268
287
|
* // Create with an observable source:
|
|
269
288
|
* readonly context = cleanLoadingContext<MyData>(this.data$);
|
|
270
|
-
*
|
|
289
|
+
* ```
|
|
271
290
|
* @example
|
|
291
|
+
* ```ts
|
|
272
292
|
* // Create empty, then set the observable source later:
|
|
273
293
|
* readonly context = cleanLoadingContext<MyData>();
|
|
274
294
|
* this.context.obs = this.data$;
|
|
275
|
-
*
|
|
276
|
-
* @param input - Optional loading state context input configuration.
|
|
277
|
-
* @returns A mutable loading state context that is automatically destroyed on cleanup.
|
|
295
|
+
* ```
|
|
278
296
|
*/
|
|
279
297
|
function cleanLoadingContext(input) {
|
|
280
298
|
return clean(loadingStateContext(input));
|
|
@@ -284,17 +302,20 @@ function cleanLoadingContext(input) {
|
|
|
284
302
|
*
|
|
285
303
|
* Must be run within an Angular injection context.
|
|
286
304
|
*
|
|
305
|
+
* @param input - Optional list loading state context input configuration.
|
|
306
|
+
* @returns A mutable list loading state context that is automatically destroyed on cleanup.
|
|
307
|
+
*
|
|
287
308
|
* @example
|
|
309
|
+
* ```ts
|
|
288
310
|
* // Create with an observable source:
|
|
289
311
|
* readonly listContext = cleanListLoadingContext<MyItem>(this.items$);
|
|
290
|
-
*
|
|
312
|
+
* ```
|
|
291
313
|
* @example
|
|
314
|
+
* ```ts
|
|
292
315
|
* // Create empty, then set the observable source later:
|
|
293
316
|
* readonly listContext = cleanListLoadingContext<MyItem>();
|
|
294
317
|
* this.listContext.obs = this.items$;
|
|
295
|
-
*
|
|
296
|
-
* @param input - Optional list loading state context input configuration.
|
|
297
|
-
* @returns A mutable list loading state context that is automatically destroyed on cleanup.
|
|
318
|
+
* ```
|
|
298
319
|
*/
|
|
299
320
|
function cleanListLoadingContext(input) {
|
|
300
321
|
return clean(listLoadingStateContext(input));
|
|
@@ -305,17 +326,20 @@ function cleanListLoadingContext(input) {
|
|
|
305
326
|
*
|
|
306
327
|
* Must be run within an Angular injection context.
|
|
307
328
|
*
|
|
329
|
+
* @param input - Optional destroy function to wrap.
|
|
330
|
+
* @returns A DestroyFunctionObject that will be automatically destroyed when the context is destroyed.
|
|
331
|
+
*
|
|
308
332
|
* @example
|
|
333
|
+
* ```ts
|
|
309
334
|
* // Pass a destroy function directly:
|
|
310
335
|
* cleanDestroy(() => resource.release());
|
|
311
|
-
*
|
|
336
|
+
* ```
|
|
312
337
|
* @example
|
|
338
|
+
* ```ts
|
|
313
339
|
* // Create first, then set the destroy function later:
|
|
314
340
|
* readonly _destroy = cleanDestroy();
|
|
315
341
|
* this._destroy.setDestroyFunction(() => resource.release());
|
|
316
|
-
*
|
|
317
|
-
* @param input - Optional destroy function to wrap.
|
|
318
|
-
* @returns A DestroyFunctionObject that will be automatically destroyed when the context is destroyed.
|
|
342
|
+
* ```
|
|
319
343
|
*/
|
|
320
344
|
function cleanDestroy(input) {
|
|
321
345
|
const destroyFunction = new DestroyFunctionObject(input);
|
|
@@ -355,10 +379,11 @@ class SecondaryActionContextStoreSource extends ActionContextStoreSource {
|
|
|
355
379
|
/**
|
|
356
380
|
* Filters null/undefined values from an observable of {@link ActionContextStore} instances.
|
|
357
381
|
*
|
|
358
|
-
* @typeParam T - The input value type.
|
|
359
|
-
* @typeParam O - The output result type.
|
|
360
382
|
* @param obs - The observable that may emit null/undefined store values.
|
|
361
383
|
* @returns An observable that only emits non-null store instances.
|
|
384
|
+
*
|
|
385
|
+
* @typeParam T - The input value type.
|
|
386
|
+
* @typeParam O - The output result type.
|
|
362
387
|
*/
|
|
363
388
|
function actionContextStoreSourcePipe(obs) {
|
|
364
389
|
return obs.pipe(filterMaybe());
|
|
@@ -369,12 +394,13 @@ function actionContextStoreSourcePipe(obs) {
|
|
|
369
394
|
* Subscribes to the source's store observable and applies the provided function
|
|
370
395
|
* via switchMap, automatically switching to the latest store.
|
|
371
396
|
*
|
|
372
|
-
* @typeParam R - The return type of the derived observable.
|
|
373
|
-
* @typeParam T - The input value type.
|
|
374
|
-
* @typeParam O - The output result type.
|
|
375
397
|
* @param source - The action context store source to read from.
|
|
376
398
|
* @param pipeFn - The function to apply to each emitted store.
|
|
377
399
|
* @returns An observable of the derived value.
|
|
400
|
+
*
|
|
401
|
+
* @typeParam R - The return type of the derived observable.
|
|
402
|
+
* @typeParam T - The input value type.
|
|
403
|
+
* @typeParam O - The output result type.
|
|
378
404
|
*/
|
|
379
405
|
function pipeActionStore(source, pipeFn) {
|
|
380
406
|
return source.store$.pipe(switchMap(pipeFn));
|
|
@@ -385,11 +411,12 @@ function pipeActionStore(source, pipeFn) {
|
|
|
385
411
|
* This is a convenience for performing one-shot imperative operations on the store,
|
|
386
412
|
* such as triggering an action or setting a value, without maintaining a long-lived subscription.
|
|
387
413
|
*
|
|
388
|
-
* @typeParam T - The input value type.
|
|
389
|
-
* @typeParam O - The output result type.
|
|
390
414
|
* @param source - The action context store source to read from.
|
|
391
415
|
* @param useFn - The function to invoke with the store.
|
|
392
416
|
* @returns The subscription (completes after first emission).
|
|
417
|
+
*
|
|
418
|
+
* @typeParam T - The input value type.
|
|
419
|
+
* @typeParam O - The output result type.
|
|
393
420
|
*/
|
|
394
421
|
function useActionStore(source, useFn) {
|
|
395
422
|
return source.store$.pipe(first()).subscribe(useFn);
|
|
@@ -658,10 +685,10 @@ class DbxActionAutoTriggerDirective {
|
|
|
658
685
|
useFastTriggerPreset = input(false, { ...(ngDevMode ? { debugName: "useFastTriggerPreset" } : /* istanbul ignore next */ {}), transform: isDefinedAndNotFalse });
|
|
659
686
|
useInstantTriggerPreset = input(false, { ...(ngDevMode ? { debugName: "useInstantTriggerPreset" } : /* istanbul ignore next */ {}), transform: isDefinedAndNotFalse });
|
|
660
687
|
triggerDebounceSignal = computed(() => {
|
|
688
|
+
const useFastTrigger = this.useFastTriggerPreset();
|
|
689
|
+
const useInstantTrigger = this.useInstantTriggerPreset();
|
|
661
690
|
let debounce = this.triggerDebounce();
|
|
662
691
|
if (debounce == null) {
|
|
663
|
-
const useFastTrigger = this.useFastTriggerPreset();
|
|
664
|
-
const useInstantTrigger = this.useInstantTriggerPreset();
|
|
665
692
|
if (useFastTrigger) {
|
|
666
693
|
debounce = DBX_ACTION_AUTO_TRIGGER_FAST_TRIGGER_DEBOUNCE;
|
|
667
694
|
}
|
|
@@ -672,10 +699,10 @@ class DbxActionAutoTriggerDirective {
|
|
|
672
699
|
return debounce ?? DEFAULT_DEBOUNCE_MS;
|
|
673
700
|
}, ...(ngDevMode ? [{ debugName: "triggerDebounceSignal" }] : /* istanbul ignore next */ []));
|
|
674
701
|
triggerThrottleSignal = computed(() => {
|
|
702
|
+
const useFastTrigger = this.useFastTriggerPreset();
|
|
703
|
+
const useInstantTrigger = this.useInstantTriggerPreset();
|
|
675
704
|
let throttle = this.triggerThrottle();
|
|
676
705
|
if (throttle == null) {
|
|
677
|
-
const useFastTrigger = this.useFastTriggerPreset();
|
|
678
|
-
const useInstantTrigger = this.useInstantTriggerPreset();
|
|
679
706
|
if (useFastTrigger) {
|
|
680
707
|
throttle = DBX_ACTION_AUTO_TRIGGER_FAST_TRIGGER_DEBOUNCE;
|
|
681
708
|
}
|
|
@@ -775,8 +802,8 @@ class DbxActionWorkInstanceDelegate {
|
|
|
775
802
|
/**
|
|
776
803
|
* Creates a working progress value from an array of working progress values.
|
|
777
804
|
*
|
|
778
|
-
* @param workOrWorkProgress The array of working progress values to use.
|
|
779
|
-
* @param progressPercent An optional progress percent value to use if the working progress is a boolean.
|
|
805
|
+
* @param workOrWorkProgress - The array of working progress values to use.
|
|
806
|
+
* @param progressPercent - An optional progress percent value to use if the working progress is a boolean.
|
|
780
807
|
* @returns The working progress value.
|
|
781
808
|
*/
|
|
782
809
|
function dbxActionWorkProgress(workOrWorkProgress, progressPercent) {
|
|
@@ -871,17 +898,21 @@ const DEFAULT_ACTION_DISABLED_KEY = 'dbx_action_disabled';
|
|
|
871
898
|
* @returns `true` if the state is idle-like, `false` if the action is in-progress.
|
|
872
899
|
*/
|
|
873
900
|
function isIdleActionState(actionState) {
|
|
901
|
+
let result;
|
|
874
902
|
switch (actionState) {
|
|
875
903
|
case DbxActionState.IDLE:
|
|
876
904
|
case DbxActionState.DISABLED:
|
|
877
905
|
case DbxActionState.REJECTED:
|
|
878
906
|
case DbxActionState.RESOLVED:
|
|
879
|
-
|
|
907
|
+
result = true;
|
|
908
|
+
break;
|
|
880
909
|
case DbxActionState.TRIGGERED:
|
|
881
910
|
case DbxActionState.VALUE_READY:
|
|
882
911
|
case DbxActionState.WORKING:
|
|
883
|
-
|
|
912
|
+
result = false;
|
|
913
|
+
break;
|
|
884
914
|
}
|
|
915
|
+
return result;
|
|
885
916
|
}
|
|
886
917
|
/**
|
|
887
918
|
* Maps a {@link DbxActionState} to the corresponding {@link LoadingStateType}.
|
|
@@ -1023,9 +1054,10 @@ function actionContextHasNoErrorAndIsModifiedAndCanTrigger(state) {
|
|
|
1023
1054
|
* - IDLE/DISABLED -> idle loading state
|
|
1024
1055
|
* - All other states -> loading (with optional work progress)
|
|
1025
1056
|
*
|
|
1026
|
-
* @typeParam O - The output result type.
|
|
1027
1057
|
* @param state - The action context state to convert.
|
|
1028
1058
|
* @returns A loading state representation of the action context state.
|
|
1059
|
+
*
|
|
1060
|
+
* @typeParam O - The output result type.
|
|
1029
1061
|
*/
|
|
1030
1062
|
function loadingStateForActionContextState(state) {
|
|
1031
1063
|
let loadingState;
|
|
@@ -1059,7 +1091,7 @@ function loadingStateForActionContextState(state) {
|
|
|
1059
1091
|
function loadingStateTypeForActionContextState(state) {
|
|
1060
1092
|
return loadingStateTypeForActionState(state.actionState);
|
|
1061
1093
|
}
|
|
1062
|
-
const INITIAL_STATE = {
|
|
1094
|
+
const INITIAL_STATE$2 = {
|
|
1063
1095
|
isModified: false,
|
|
1064
1096
|
actionState: DbxActionState.IDLE
|
|
1065
1097
|
};
|
|
@@ -1105,7 +1137,7 @@ class ActionContextStore extends ComponentStore {
|
|
|
1105
1137
|
}
|
|
1106
1138
|
});
|
|
1107
1139
|
constructor() {
|
|
1108
|
-
super({ ...INITIAL_STATE });
|
|
1140
|
+
super({ ...INITIAL_STATE$2 });
|
|
1109
1141
|
this.lockSet.addLock('working', this.isWorking$);
|
|
1110
1142
|
}
|
|
1111
1143
|
// MARK: Accessors
|
|
@@ -1286,7 +1318,7 @@ class ActionContextStore extends ComponentStore {
|
|
|
1286
1318
|
/**
|
|
1287
1319
|
* Completely resets the store.
|
|
1288
1320
|
*/
|
|
1289
|
-
reset = this.updater(() => ({ ...INITIAL_STATE }));
|
|
1321
|
+
reset = this.updater(() => ({ ...INITIAL_STATE$2 }));
|
|
1290
1322
|
// MARK: Utility
|
|
1291
1323
|
afterDistinctBoolean(fromState) {
|
|
1292
1324
|
return this.state$.pipe(map((x) => fromState(x)), distinctUntilChanged(), shareReplay(1));
|
|
@@ -1483,17 +1515,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
1483
1515
|
* When `sourceType` is provided, the existing class is registered as the source. When `null`,
|
|
1484
1516
|
* a standalone {@link DbxActionContextMachineAsService} is created as the default implementation.
|
|
1485
1517
|
*
|
|
1486
|
-
* @param sourceType - The concrete source class to register, or `null` to use the default machine-based implementation
|
|
1487
|
-
* @returns
|
|
1518
|
+
* @param sourceType - The concrete source class to register, or `null` to use the default machine-based implementation.
|
|
1519
|
+
* @returns Array of Angular providers.
|
|
1488
1520
|
*
|
|
1489
|
-
* @
|
|
1490
|
-
* ```typescript
|
|
1491
|
-
* @Directive({
|
|
1521
|
+
* @Directive ({
|
|
1492
1522
|
* selector: '[myAction]',
|
|
1493
1523
|
* providers: provideActionStoreSource(MyActionDirective),
|
|
1494
1524
|
* })
|
|
1495
1525
|
* export class MyActionDirective extends ActionContextStoreSource { ... }
|
|
1496
1526
|
* ```
|
|
1527
|
+
*
|
|
1528
|
+
* @example
|
|
1529
|
+
* ```typescript
|
|
1497
1530
|
*/
|
|
1498
1531
|
function provideActionStoreSource(sourceType) {
|
|
1499
1532
|
const storeSourceProvider = sourceType != null
|
|
@@ -1518,8 +1551,8 @@ function provideActionStoreSource(sourceType) {
|
|
|
1518
1551
|
* Creates Angular DI providers for a {@link SecondaryActionContextStoreSource} along with
|
|
1519
1552
|
* the standard {@link ActionContextStoreSource} and {@link DbxActionContextStoreSourceInstance} providers.
|
|
1520
1553
|
*
|
|
1521
|
-
* @param sourceType - The concrete secondary source class to register
|
|
1522
|
-
* @returns
|
|
1554
|
+
* @param sourceType - The concrete secondary source class to register.
|
|
1555
|
+
* @returns Array of Angular providers.
|
|
1523
1556
|
*/
|
|
1524
1557
|
function provideSecondaryActionStoreSource(sourceType) {
|
|
1525
1558
|
return [
|
|
@@ -1896,10 +1929,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
1896
1929
|
* The reader provides reactive utility functions to aggregate data across all stores
|
|
1897
1930
|
* in the map (e.g., checking if any store is working, or reducing values from all stores).
|
|
1898
1931
|
*
|
|
1899
|
-
* @typeParam T - The input value type for the actions.
|
|
1900
|
-
* @typeParam O - The output result type for the actions.
|
|
1901
1932
|
* @param actionKeySourceMap$ - Observable (or static value) of the action key to source map.
|
|
1902
1933
|
* @returns A reader with aggregate query functions over the map's stores.
|
|
1934
|
+
*
|
|
1935
|
+
* @typeParam T - The input value type for the actions.
|
|
1936
|
+
* @typeParam O - The output result type for the actions.
|
|
1903
1937
|
*/
|
|
1904
1938
|
function actionContextStoreSourceMapReader(actionKeySourceMap$) {
|
|
1905
1939
|
const sourceMap$ = asObservable(actionKeySourceMap$);
|
|
@@ -1922,8 +1956,8 @@ function actionContextStoreSourceMapReader(actionKeySourceMap$) {
|
|
|
1922
1956
|
/**
|
|
1923
1957
|
* Returns an Observable of the results of the mapFn for each source in the actionKeySourceMap$.
|
|
1924
1958
|
*
|
|
1925
|
-
* @param actionKeySourceMap$ Observable of the action key source map.
|
|
1926
|
-
* @param mapFn Function to apply to each source.
|
|
1959
|
+
* @param actionKeySourceMap$ - Observable of the action key source map.
|
|
1960
|
+
* @param mapFn - Function to apply to each source.
|
|
1927
1961
|
* @returns Observable of the results of the mapFn for each source.
|
|
1928
1962
|
*/
|
|
1929
1963
|
function fromAllActionContextStoreSourceMapSources(actionKeySourceMap$, mapFn) {
|
|
@@ -2325,14 +2359,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
2325
2359
|
* @param value - The input value to transform.
|
|
2326
2360
|
* @returns The original value, or `undefined` if the value is an empty string.
|
|
2327
2361
|
*
|
|
2328
|
-
* @
|
|
2329
|
-
* ```typescript
|
|
2330
|
-
* @Directive({ selector: '[appHighlight]' })
|
|
2362
|
+
* @Directive ({ selector: '[appHighlight]' })
|
|
2331
2363
|
* export class HighlightDirective {
|
|
2332
2364
|
* @Input({ alias: 'appHighlight', transform: transformEmptyStringInputToUndefined })
|
|
2333
2365
|
* color?: string;
|
|
2334
2366
|
* }
|
|
2335
2367
|
* ```
|
|
2368
|
+
*
|
|
2369
|
+
* @example
|
|
2370
|
+
* ```typescript
|
|
2336
2371
|
*/
|
|
2337
2372
|
const transformEmptyStringInputToUndefined = (value) => (value === '' ? undefined : value);
|
|
2338
2373
|
|
|
@@ -3116,10 +3151,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
3116
3151
|
* The returned reference has a no-op `destroy()` method, making it suitable for cases
|
|
3117
3152
|
* where the caller does not own the lifecycle of the source instance.
|
|
3118
3153
|
*
|
|
3119
|
-
* @typeParam T - The input value type.
|
|
3120
|
-
* @typeParam O - The output result type.
|
|
3121
3154
|
* @param sourceInstance - The source instance to wrap.
|
|
3122
3155
|
* @returns A destroyable reference to the source instance.
|
|
3156
|
+
*
|
|
3157
|
+
* @typeParam T - The input value type.
|
|
3158
|
+
* @typeParam O - The output result type.
|
|
3159
|
+
*
|
|
3123
3160
|
* @__NO_SIDE_EFFECTS__
|
|
3124
3161
|
*/
|
|
3125
3162
|
function makeDbxActionContextSourceReference(sourceInstance) {
|
|
@@ -3132,11 +3169,11 @@ function makeDbxActionContextSourceReference(sourceInstance) {
|
|
|
3132
3169
|
/**
|
|
3133
3170
|
* Type guard that checks whether the given input is a {@link SegueRef} object (as opposed to a raw router link string).
|
|
3134
3171
|
*
|
|
3135
|
-
* @typeParam O - The type of the transition options.
|
|
3136
3172
|
* @param input - The value to test.
|
|
3137
3173
|
* @returns `true` if the input is a {@link SegueRef} with a non-empty `ref` property.
|
|
3138
3174
|
*
|
|
3139
3175
|
* @see {@link asSegueRef} for converting an input to a SegueRef
|
|
3176
|
+
* @typeParam O - The type of the transition options.
|
|
3140
3177
|
*/
|
|
3141
3178
|
function isSegueRef(input) {
|
|
3142
3179
|
return typeof input === 'object' && hasValueOrNotEmpty(input.ref);
|
|
@@ -3168,10 +3205,11 @@ function asSegueRefString(input) {
|
|
|
3168
3205
|
/**
|
|
3169
3206
|
* Creates a {@link SegueRef} from a string ref path and optional segue options.
|
|
3170
3207
|
*
|
|
3171
|
-
* @typeParam O - The type of the transition options.
|
|
3172
3208
|
* @param ref - The string ref path to wrap.
|
|
3173
3209
|
* @param options - Optional parameters and transition options to include.
|
|
3174
3210
|
* @returns A new {@link SegueRef} containing the given ref and options.
|
|
3211
|
+
*
|
|
3212
|
+
* @typeParam O - The type of the transition options.
|
|
3175
3213
|
*/
|
|
3176
3214
|
function refStringToSegueRef(ref, options) {
|
|
3177
3215
|
return { ...options, ref };
|
|
@@ -3179,12 +3217,12 @@ function refStringToSegueRef(ref, options) {
|
|
|
3179
3217
|
/**
|
|
3180
3218
|
* Maps an observable of string ref paths to an observable of {@link SegueRef} objects.
|
|
3181
3219
|
*
|
|
3182
|
-
* @typeParam O - The type of the transition options.
|
|
3183
3220
|
* @param obs - The source observable emitting string ref paths.
|
|
3184
3221
|
* @param options - Optional parameters and transition options to include in each emitted SegueRef.
|
|
3185
3222
|
* @returns An observable that emits {@link SegueRef} objects.
|
|
3186
3223
|
*
|
|
3187
3224
|
* @see {@link refStringToSegueRef}
|
|
3225
|
+
* @typeParam O - The type of the transition options.
|
|
3188
3226
|
*/
|
|
3189
3227
|
function mapRefStringObsToSegueRefObs(obs, options) {
|
|
3190
3228
|
return obs.pipe(map((x) => refStringToSegueRef(x, options)));
|
|
@@ -3317,6 +3355,9 @@ function makeAuthTransitionHook(config) {
|
|
|
3317
3355
|
* redirect targets (static or dynamic) for that state.
|
|
3318
3356
|
* @returns An {@link AuthTransitionRedirectTargetGetter} that resolves the redirect based on the current auth state.
|
|
3319
3357
|
*
|
|
3358
|
+
* @see {@link AuthTransitionRedirectTargetOrGetter}
|
|
3359
|
+
* @see {@link AuthUserState}
|
|
3360
|
+
*
|
|
3320
3361
|
* @example
|
|
3321
3362
|
* ```ts
|
|
3322
3363
|
* const redirectGetter = redirectBasedOnAuthUserState({
|
|
@@ -3326,9 +3367,6 @@ function makeAuthTransitionHook(config) {
|
|
|
3326
3367
|
* 'user': '/app'
|
|
3327
3368
|
* });
|
|
3328
3369
|
* ```
|
|
3329
|
-
*
|
|
3330
|
-
* @see {@link AuthTransitionRedirectTargetOrGetter}
|
|
3331
|
-
* @see {@link AuthUserState}
|
|
3332
3370
|
*/
|
|
3333
3371
|
function redirectBasedOnAuthUserState(stateMap) {
|
|
3334
3372
|
return (input) => {
|
|
@@ -3574,10 +3612,10 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
3574
3612
|
* The feature key for these items/reducers.
|
|
3575
3613
|
*/
|
|
3576
3614
|
const DBX_APP_CONTEXT_STATE_FEATURE_KEY = 'data';
|
|
3577
|
-
const
|
|
3615
|
+
const INITIAL_STATE$1 = {
|
|
3578
3616
|
state: DBX_INIT_APP_CONTEXT_STATE
|
|
3579
3617
|
};
|
|
3580
|
-
const reducer$1 = createReducer(
|
|
3618
|
+
const reducer$1 = createReducer(INITIAL_STATE$1,
|
|
3581
3619
|
/**
|
|
3582
3620
|
* When DbxAppContextActions.dbxAppContextSetState is pushed, update the app's state to match the argument state.
|
|
3583
3621
|
*/
|
|
@@ -3588,7 +3626,7 @@ on(setState, (_, { state }) => ({ state })));
|
|
|
3588
3626
|
*/
|
|
3589
3627
|
const FEATURE_KEY$1 = 'app.context';
|
|
3590
3628
|
/**
|
|
3591
|
-
* Reducers mapping for the DbxAppContextFeatureState
|
|
3629
|
+
* Reducers mapping for the DbxAppContextFeatureState.
|
|
3592
3630
|
*
|
|
3593
3631
|
* @param state - The current feature state, or undefined for initialization.
|
|
3594
3632
|
* @param action - The dispatched action to reduce.
|
|
@@ -3633,7 +3671,7 @@ class AbstractOnDbxAppContextStateEffects {
|
|
|
3633
3671
|
this._activeStatesSet = iterableToSet(activeStates);
|
|
3634
3672
|
}
|
|
3635
3673
|
/**
|
|
3636
|
-
* Configures all actions of the sub-class to only activate when the DbxAppContextState in App
|
|
3674
|
+
* Configures all actions of the sub-class to only activate when the DbxAppContextState in App.
|
|
3637
3675
|
*
|
|
3638
3676
|
* @param resolvedEffects$
|
|
3639
3677
|
* @returns
|
|
@@ -3778,13 +3816,13 @@ const DBX_APP_AUTH_USER_FEATURE_KEY = 'user';
|
|
|
3778
3816
|
* Represents a fully unauthenticated state: no user identifier, not onboarded,
|
|
3779
3817
|
* in the `'none'` auth state, with no roles assigned.
|
|
3780
3818
|
*/
|
|
3781
|
-
const
|
|
3819
|
+
const INITIAL_STATE = {
|
|
3782
3820
|
userId: NO_AUTH_USER_IDENTIFIER,
|
|
3783
3821
|
isOnboarded: false,
|
|
3784
3822
|
userState: 'none',
|
|
3785
3823
|
userRoles: []
|
|
3786
3824
|
};
|
|
3787
|
-
const reducer = createReducer(
|
|
3825
|
+
const reducer = createReducer(INITIAL_STATE, on(loggedOut, () => ({ ...INITIAL_STATE })), on(setUserIdentifier, (state, { id: userId }) => ({ ...state, userId })), on(setUserIsOnboarded, (state, { isOnboarded }) => ({ ...state, isOnboarded })), on(setUserState, (state, { state: userState }) => ({ ...state, userState })), on(setUserRoles, (state, { roles: userRoles }) => ({ ...state, userRoles: [...userRoles] })));
|
|
3788
3826
|
|
|
3789
3827
|
/**
|
|
3790
3828
|
* NgRx feature key used to register the auth feature state in the global store.
|
|
@@ -3835,15 +3873,15 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
3835
3873
|
* resolves it to a single value, and calls `go()` on the router service.
|
|
3836
3874
|
*
|
|
3837
3875
|
* @param dbxRouterService - The router service to use for navigation.
|
|
3838
|
-
* @returns
|
|
3876
|
+
* @returns Navigates to the given route and returns a promise resolving to the navigation result.
|
|
3877
|
+
*
|
|
3878
|
+
* @see {@link GoWithRouter}
|
|
3839
3879
|
*
|
|
3840
3880
|
* @example
|
|
3841
3881
|
* ```ts
|
|
3842
3882
|
* const navigate = goWithRouter(routerService);
|
|
3843
3883
|
* await navigate({ ref: 'app.dashboard' });
|
|
3844
3884
|
* ```
|
|
3845
|
-
*
|
|
3846
|
-
* @see {@link GoWithRouter}
|
|
3847
3885
|
*/
|
|
3848
3886
|
function goWithRouter(dbxRouterService) {
|
|
3849
3887
|
return (route) => {
|
|
@@ -4034,12 +4072,14 @@ class DbxAppAuthRouterService {
|
|
|
4034
4072
|
return this._checkCurrentRouteIgnored(this._ignoredRoutes.value);
|
|
4035
4073
|
}
|
|
4036
4074
|
_checkCurrentRouteIgnored(ignoredRefs) {
|
|
4075
|
+
let result = false;
|
|
4037
4076
|
for (const ref of ignoredRefs) {
|
|
4038
4077
|
if (this.dbxRouterService.isActive(ref)) {
|
|
4039
|
-
|
|
4078
|
+
result = true;
|
|
4079
|
+
break;
|
|
4040
4080
|
}
|
|
4041
4081
|
}
|
|
4042
|
-
return
|
|
4082
|
+
return result;
|
|
4043
4083
|
}
|
|
4044
4084
|
// MARK: Navigate
|
|
4045
4085
|
/**
|
|
@@ -4142,15 +4182,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
4142
4182
|
* @param config - Configuration specifying which app context states activate the auth router effects.
|
|
4143
4183
|
* @returns Angular `EnvironmentProviders` for the auth router state effects.
|
|
4144
4184
|
*
|
|
4185
|
+
* @see {@link provideDbxAppAuth} for the all-in-one provider that includes this.
|
|
4186
|
+
* @see {@link DbxAppAuthRouterEffects} for the effects that handle auth-based navigation.
|
|
4187
|
+
*
|
|
4145
4188
|
* @example
|
|
4146
4189
|
* ```ts
|
|
4147
4190
|
* provideDbxAppAuthRouterState({
|
|
4148
4191
|
* activeRoutesToApplyEffects: ['root']
|
|
4149
4192
|
* });
|
|
4150
4193
|
* ```
|
|
4151
|
-
*
|
|
4152
|
-
* @see {@link provideDbxAppAuth} for the all-in-one provider that includes this.
|
|
4153
|
-
* @see {@link DbxAppAuthRouterEffects} for the effects that handle auth-based navigation.
|
|
4154
4194
|
*/
|
|
4155
4195
|
function provideDbxAppAuthRouterState(config) {
|
|
4156
4196
|
const { activeRoutesToApplyEffects } = config;
|
|
@@ -4175,6 +4215,8 @@ function provideDbxAppAuthRouterState(config) {
|
|
|
4175
4215
|
* @param config - Configuration containing the auth routes to register.
|
|
4176
4216
|
* @returns Angular `EnvironmentProviders` for the auth router.
|
|
4177
4217
|
*
|
|
4218
|
+
* @see {@link provideDbxAppAuth} for the all-in-one provider that includes this.
|
|
4219
|
+
*
|
|
4178
4220
|
* @example
|
|
4179
4221
|
* ```ts
|
|
4180
4222
|
* provideDbxAppAuthRouter({
|
|
@@ -4184,8 +4226,6 @@ function provideDbxAppAuthRouterState(config) {
|
|
|
4184
4226
|
* }
|
|
4185
4227
|
* });
|
|
4186
4228
|
* ```
|
|
4187
|
-
*
|
|
4188
|
-
* @see {@link provideDbxAppAuth} for the all-in-one provider that includes this.
|
|
4189
4229
|
*/
|
|
4190
4230
|
function provideDbxAppAuthRouter(config) {
|
|
4191
4231
|
const { dbxAppAuthRoutes } = config;
|
|
@@ -4359,6 +4399,10 @@ function provideDbxAppAuthState() {
|
|
|
4359
4399
|
* @param config - Combined auth configuration including routes and active states for effects.
|
|
4360
4400
|
* @returns Angular `EnvironmentProviders` to be included in the application's provider list.
|
|
4361
4401
|
*
|
|
4402
|
+
* @see {@link provideDbxAppAuthState}
|
|
4403
|
+
* @see {@link provideDbxAppAuthRouter}
|
|
4404
|
+
* @see {@link provideDbxAppAuthRouterState}
|
|
4405
|
+
*
|
|
4362
4406
|
* @example
|
|
4363
4407
|
* ```ts
|
|
4364
4408
|
* // In your app config or module:
|
|
@@ -4370,10 +4414,6 @@ function provideDbxAppAuthState() {
|
|
|
4370
4414
|
* activeRoutesToApplyEffects: ['root']
|
|
4371
4415
|
* });
|
|
4372
4416
|
* ```
|
|
4373
|
-
*
|
|
4374
|
-
* @see {@link provideDbxAppAuthState}
|
|
4375
|
-
* @see {@link provideDbxAppAuthRouter}
|
|
4376
|
-
* @see {@link provideDbxAppAuthRouterState}
|
|
4377
4417
|
*/
|
|
4378
4418
|
function provideDbxAppAuth(config) {
|
|
4379
4419
|
const { dbxAppAuthRoutes, activeRoutesToApplyEffects } = config;
|
|
@@ -4548,16 +4588,17 @@ class DbxButton {
|
|
|
4548
4588
|
* Creates Angular providers that register a {@link DbxButton} implementation for DI.
|
|
4549
4589
|
*
|
|
4550
4590
|
* @param sourceType - The concrete button directive or component class to provide.
|
|
4551
|
-
* @returns
|
|
4591
|
+
* @returns Array of Angular providers for the button.
|
|
4552
4592
|
*
|
|
4553
|
-
* @
|
|
4554
|
-
* ```typescript
|
|
4555
|
-
* @Directive({
|
|
4593
|
+
* @Directive ({
|
|
4556
4594
|
* selector: '[myCustomButton]',
|
|
4557
4595
|
* providers: provideDbxButton(MyCustomButtonDirective),
|
|
4558
4596
|
* })
|
|
4559
4597
|
* export class MyCustomButtonDirective extends AbstractDbxButtonDirective {}
|
|
4560
4598
|
* ```
|
|
4599
|
+
*
|
|
4600
|
+
* @example
|
|
4601
|
+
* ```typescript
|
|
4561
4602
|
*/
|
|
4562
4603
|
function provideDbxButton(sourceType) {
|
|
4563
4604
|
return [
|
|
@@ -4648,15 +4689,15 @@ const DBX_ACTION_BUTTON_ECHO_CONFIG = new InjectionToken('DbxActionButtonEchoCon
|
|
|
4648
4689
|
/**
|
|
4649
4690
|
* Creates a provider for the app-wide {@link DbxActionButtonEchoConfig}.
|
|
4650
4691
|
*
|
|
4692
|
+
* @param config - The echo configuration controlling success/error icon behavior.
|
|
4693
|
+
* @returns An Angular provider that registers the given echo config for all action buttons.
|
|
4694
|
+
*
|
|
4651
4695
|
* @example
|
|
4652
4696
|
* ```typescript
|
|
4653
4697
|
* providers: [
|
|
4654
4698
|
* provideDbxActionButtonEchoConfig({ onSuccess: { icon: 'done', color: 'ok' }, onError: false })
|
|
4655
4699
|
* ]
|
|
4656
4700
|
* ```
|
|
4657
|
-
*
|
|
4658
|
-
* @param config - The echo configuration controlling success/error icon behavior.
|
|
4659
|
-
* @returns An Angular provider that registers the given echo config for all action buttons.
|
|
4660
4701
|
*/
|
|
4661
4702
|
function provideDbxActionButtonEchoConfig(config) {
|
|
4662
4703
|
return { provide: DBX_ACTION_BUTTON_ECHO_CONFIG, useValue: config };
|
|
@@ -4720,16 +4761,19 @@ class DbxActionButtonDirective extends DbxActionButtonTriggerDirective {
|
|
|
4720
4761
|
}
|
|
4721
4762
|
_resolvedEchoConfig() {
|
|
4722
4763
|
const instanceConfig = this.dbxActionButtonEcho();
|
|
4764
|
+
let result;
|
|
4723
4765
|
// false disables all echoes
|
|
4724
4766
|
if (instanceConfig === false) {
|
|
4725
|
-
|
|
4767
|
+
result = { onSuccess: false, onError: false };
|
|
4768
|
+
}
|
|
4769
|
+
else {
|
|
4770
|
+
const injectedConfig = this._injectedEchoConfig;
|
|
4771
|
+
result = {
|
|
4772
|
+
...DEFAULT_DBX_ACTION_BUTTON_ECHO_CONFIG,
|
|
4773
|
+
...injectedConfig,
|
|
4774
|
+
...instanceConfig
|
|
4775
|
+
};
|
|
4726
4776
|
}
|
|
4727
|
-
const injectedConfig = this._injectedEchoConfig;
|
|
4728
|
-
const result = {
|
|
4729
|
-
...DEFAULT_DBX_ACTION_BUTTON_ECHO_CONFIG,
|
|
4730
|
-
...injectedConfig,
|
|
4731
|
-
...instanceConfig
|
|
4732
|
-
};
|
|
4733
4777
|
return result;
|
|
4734
4778
|
}
|
|
4735
4779
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxActionButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -4819,8 +4863,14 @@ class AbstractDbxButtonDirective {
|
|
|
4819
4863
|
_disabledSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_disabledSignal" }] : /* istanbul ignore next */ []));
|
|
4820
4864
|
_workingSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_workingSignal" }] : /* istanbul ignore next */ []));
|
|
4821
4865
|
_buttonDisplayContentSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_buttonDisplayContentSignal" }] : /* istanbul ignore next */ []));
|
|
4822
|
-
disabledSignal = computed(() =>
|
|
4823
|
-
|
|
4866
|
+
disabledSignal = computed(() => {
|
|
4867
|
+
const disabled = this.disabled();
|
|
4868
|
+
return this._disabledSignal() ?? disabled;
|
|
4869
|
+
}, ...(ngDevMode ? [{ debugName: "disabledSignal" }] : /* istanbul ignore next */ []));
|
|
4870
|
+
workingSignal = computed(() => {
|
|
4871
|
+
const working = this.working();
|
|
4872
|
+
return this._workingSignal() ?? working;
|
|
4873
|
+
}, ...(ngDevMode ? [{ debugName: "workingSignal" }] : /* istanbul ignore next */ []));
|
|
4824
4874
|
isWorkingSignal = computed(() => {
|
|
4825
4875
|
const working = this.workingSignal();
|
|
4826
4876
|
return isDefinedAndNotFalse(working);
|
|
@@ -5066,7 +5116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
5066
5116
|
/**
|
|
5067
5117
|
* Creates EnvironmentProviders for providing the DbxAppContext state.
|
|
5068
5118
|
*
|
|
5069
|
-
* @returns EnvironmentProviders
|
|
5119
|
+
* @returns EnvironmentProviders.
|
|
5070
5120
|
*/
|
|
5071
5121
|
function provideDbxAppContextState() {
|
|
5072
5122
|
return makeEnvironmentProviders([provideState(FEATURE_KEY$1, reducers$1)]);
|
|
@@ -5251,18 +5301,19 @@ class DbxAnchor {
|
|
|
5251
5301
|
/**
|
|
5252
5302
|
* Creates Angular DI providers that register the given source type as a {@link DbxAnchor} provider using `forwardRef`.
|
|
5253
5303
|
*
|
|
5254
|
-
* @typeParam S - The concrete {@link DbxAnchor} subclass to provide.
|
|
5255
5304
|
* @param sourceType - The class type to register as the anchor provider.
|
|
5256
|
-
* @returns
|
|
5305
|
+
* @returns Array of Angular providers.
|
|
5257
5306
|
*
|
|
5258
|
-
* @
|
|
5259
|
-
*
|
|
5260
|
-
* @Directive({
|
|
5307
|
+
* @typeParam S - The concrete {@link DbxAnchor} subclass to provide.
|
|
5308
|
+
* @Directive ({
|
|
5261
5309
|
* selector: '[myAnchor]',
|
|
5262
5310
|
* providers: provideDbxAnchor(MyAnchorDirective)
|
|
5263
5311
|
* })
|
|
5264
5312
|
* class MyAnchorDirective extends DbxAnchor { ... }
|
|
5265
5313
|
* ```
|
|
5314
|
+
*
|
|
5315
|
+
* @example
|
|
5316
|
+
* ```ts
|
|
5266
5317
|
*/
|
|
5267
5318
|
function provideDbxAnchor(sourceType) {
|
|
5268
5319
|
return [
|
|
@@ -5484,10 +5535,14 @@ function redirectForIdentifierParamHook(input) {
|
|
|
5484
5535
|
}
|
|
5485
5536
|
else if (defaultAllowedIdValue !== transitionTargetId) {
|
|
5486
5537
|
redirectToId = canViewUser(transitionTargetId, authService, injector).pipe(map((x) => {
|
|
5538
|
+
let mapped;
|
|
5487
5539
|
if (x == null || typeof x === 'boolean') {
|
|
5488
|
-
|
|
5540
|
+
mapped = x ? transitionTargetId : defaultAllowedIdValue;
|
|
5541
|
+
}
|
|
5542
|
+
else {
|
|
5543
|
+
mapped = x;
|
|
5489
5544
|
}
|
|
5490
|
-
return
|
|
5545
|
+
return mapped;
|
|
5491
5546
|
}));
|
|
5492
5547
|
}
|
|
5493
5548
|
if (redirectToId != null) {
|
|
@@ -5815,6 +5870,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
5815
5870
|
*
|
|
5816
5871
|
* @returns Angular `EnvironmentProviders` for the UIRouter-based router service.
|
|
5817
5872
|
*
|
|
5873
|
+
* @see {@link DbxUIRouterService}
|
|
5874
|
+
* @see {@link DbxCoreAngularRouterSegueModule} for the Angular Router alternative
|
|
5875
|
+
*
|
|
5818
5876
|
* @example
|
|
5819
5877
|
* ```ts
|
|
5820
5878
|
* bootstrapApplication(AppComponent, {
|
|
@@ -5824,8 +5882,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
5824
5882
|
* });
|
|
5825
5883
|
* ```
|
|
5826
5884
|
*
|
|
5827
|
-
* @see {@link DbxUIRouterService}
|
|
5828
|
-
* @see {@link DbxCoreAngularRouterSegueModule} for the Angular Router alternative
|
|
5829
5885
|
* @__NO_SIDE_EFFECTS__
|
|
5830
5886
|
*/
|
|
5831
5887
|
function provideDbxUIRouterService() {
|
|
@@ -5881,12 +5937,12 @@ function filterTransitionEvent(type) {
|
|
|
5881
5937
|
* On each successful router transition, checks all configured routes against the router service
|
|
5882
5938
|
* and emits an array of those that are active. The result is deduplicated by index and shared.
|
|
5883
5939
|
*
|
|
5884
|
-
* @typeParam T - The route configuration type, extending {@link LatestSuccessfulRoutesConfigRoute}.
|
|
5885
5940
|
* @param config - Configuration specifying the router services and routes to monitor.
|
|
5886
5941
|
* @returns An observable emitting an array of the currently active route configurations.
|
|
5887
5942
|
*
|
|
5888
5943
|
* @see {@link LatestSuccessfulRoutesConfig}
|
|
5889
5944
|
* @see {@link isLatestSuccessfulRoute} for a boolean variant
|
|
5945
|
+
* @typeParam T - The route configuration type, extending {@link LatestSuccessfulRoutesConfigRoute}.
|
|
5890
5946
|
*/
|
|
5891
5947
|
function latestSuccessfulRoutes(config) {
|
|
5892
5948
|
const { dbxRouterTransitionService, dbxRouterService, routes: inputRoutes } = config;
|
|
@@ -6188,15 +6244,15 @@ class DbxRouteParamDefaultRedirectInstance {
|
|
|
6188
6244
|
/**
|
|
6189
6245
|
* Default identifier used by dbxRouteModelIdParamRedirect() that corresponds to the id param of the model in the current route.
|
|
6190
6246
|
*/
|
|
6191
|
-
const
|
|
6247
|
+
const DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_ID_PARAM_KEY = 'id';
|
|
6192
6248
|
/**
|
|
6193
6249
|
* Default identifier used by dbxRouteModelIdParamRedirect() that corresponds to the key param of the model in the current route.
|
|
6194
6250
|
*/
|
|
6195
|
-
const
|
|
6251
|
+
const DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_KEY_PARAM_KEY = 'key';
|
|
6196
6252
|
/**
|
|
6197
6253
|
* Default value used by dbxRouteModelIdParamRedirect() for when a value is not available or provided.
|
|
6198
6254
|
*/
|
|
6199
|
-
const
|
|
6255
|
+
const DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_USE_PARAM_VALUE = '0';
|
|
6200
6256
|
/**
|
|
6201
6257
|
* Creates a {@link DbxRouteModelIdParamRedirectInstance} configured to read a "key" parameter from the current route.
|
|
6202
6258
|
*
|
|
@@ -6208,7 +6264,7 @@ const DBX_ROUTE_MODEL_ID_PARAM_DEFAULT_USE_PARAM_VALUE = '0';
|
|
|
6208
6264
|
*
|
|
6209
6265
|
* @see {@link dbxRouteModelIdParamRedirect}
|
|
6210
6266
|
*/
|
|
6211
|
-
function dbxRouteModelKeyParamRedirect(dbxRouterService, defaultParamKey =
|
|
6267
|
+
function dbxRouteModelKeyParamRedirect(dbxRouterService, defaultParamKey = DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_KEY_PARAM_KEY) {
|
|
6212
6268
|
return dbxRouteModelIdParamRedirect(dbxRouterService, defaultParamKey);
|
|
6213
6269
|
}
|
|
6214
6270
|
/**
|
|
@@ -6225,10 +6281,10 @@ function dbxRouteModelKeyParamRedirect(dbxRouterService, defaultParamKey = DBX_R
|
|
|
6225
6281
|
* @see {@link DbxRouteModelIdParamRedirectInstance}
|
|
6226
6282
|
* @see {@link dbxRouteModelKeyParamRedirect} for the key-based variant
|
|
6227
6283
|
*/
|
|
6228
|
-
function dbxRouteModelIdParamRedirect(dbxRouterService, defaultParamKey =
|
|
6284
|
+
function dbxRouteModelIdParamRedirect(dbxRouterService, defaultParamKey = DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_ID_PARAM_KEY) {
|
|
6229
6285
|
const _paramReader = dbxRouteParamReaderInstance(dbxRouterService, defaultParamKey);
|
|
6230
6286
|
const _paramRedirect = new DbxRouteParamDefaultRedirectInstance(_paramReader);
|
|
6231
|
-
const _useDefaultParamDecider = new BehaviorSubject(
|
|
6287
|
+
const _useDefaultParamDecider = new BehaviorSubject(DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_USE_PARAM_VALUE);
|
|
6232
6288
|
const _useDefaultParam$ = _useDefaultParamDecider.pipe(map((x) => {
|
|
6233
6289
|
let result;
|
|
6234
6290
|
if (typeof x === 'string') {
|
|
@@ -6309,11 +6365,11 @@ class DbxRouteModelIdDirectiveDelegate {
|
|
|
6309
6365
|
/**
|
|
6310
6366
|
* Creates Angular DI providers that register the given source type as a {@link DbxRouteModelIdDirectiveDelegate}.
|
|
6311
6367
|
*
|
|
6312
|
-
* @typeParam S - The concrete delegate class type to register.
|
|
6313
6368
|
* @param sourceType - The class to provide as the delegate.
|
|
6314
|
-
* @returns
|
|
6369
|
+
* @returns Array of Angular providers.
|
|
6315
6370
|
*
|
|
6316
6371
|
* @see {@link DbxRouteModelIdDirectiveDelegate}
|
|
6372
|
+
* @typeParam S - The concrete delegate class type to register.
|
|
6317
6373
|
*/
|
|
6318
6374
|
function provideDbxRouteModelIdDirectiveDelegate(sourceType) {
|
|
6319
6375
|
const providers = [
|
|
@@ -6352,11 +6408,11 @@ class DbxRouteModelKeyDirectiveDelegate {
|
|
|
6352
6408
|
/**
|
|
6353
6409
|
* Creates Angular DI providers that register the given source type as a {@link DbxRouteModelKeyDirectiveDelegate}.
|
|
6354
6410
|
*
|
|
6355
|
-
* @typeParam S - The concrete delegate class type to register.
|
|
6356
6411
|
* @param sourceType - The class to provide as the delegate.
|
|
6357
|
-
* @returns
|
|
6412
|
+
* @returns Array of Angular providers.
|
|
6358
6413
|
*
|
|
6359
6414
|
* @see {@link DbxRouteModelKeyDirectiveDelegate}
|
|
6415
|
+
* @typeParam S - The concrete delegate class type to register.
|
|
6360
6416
|
*/
|
|
6361
6417
|
function provideDbxRouteModelKeyDirectiveDelegate(sourceType) {
|
|
6362
6418
|
const providers = [
|
|
@@ -6727,6 +6783,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
6727
6783
|
class DateFormatDistancePipe {
|
|
6728
6784
|
locale = inject(LOCALE_ID);
|
|
6729
6785
|
transform(input, format, includeSeconds = false) {
|
|
6786
|
+
let result = undefined;
|
|
6730
6787
|
if (input) {
|
|
6731
6788
|
const date = toJsDate(input);
|
|
6732
6789
|
if (isValid(date)) {
|
|
@@ -6735,10 +6792,10 @@ class DateFormatDistancePipe {
|
|
|
6735
6792
|
includeSeconds,
|
|
6736
6793
|
addSuffix: true
|
|
6737
6794
|
});
|
|
6738
|
-
|
|
6795
|
+
result = `${dateString} (${distance})`;
|
|
6739
6796
|
}
|
|
6740
6797
|
}
|
|
6741
|
-
return
|
|
6798
|
+
return result;
|
|
6742
6799
|
}
|
|
6743
6800
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DateFormatDistancePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
6744
6801
|
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: DateFormatDistancePipe, isStandalone: true, name: "dateFormatDistance", pure: false });
|
|
@@ -6772,13 +6829,14 @@ class DateFormatFromToPipe {
|
|
|
6772
6829
|
locale = inject(LOCALE_ID);
|
|
6773
6830
|
// eslint-disable-next-line @typescript-eslint/max-params
|
|
6774
6831
|
static formatFromTo(input, format, minutes, locale) {
|
|
6832
|
+
let result = undefined;
|
|
6775
6833
|
if (input) {
|
|
6776
6834
|
const date = toJsDate(input);
|
|
6777
6835
|
const endDate = addMinutes(date, minutes);
|
|
6778
6836
|
const dateString = formatDate(date, format, locale);
|
|
6779
|
-
|
|
6837
|
+
result = dateString + ' - ' + formatToTimeString(endDate);
|
|
6780
6838
|
}
|
|
6781
|
-
return
|
|
6839
|
+
return result;
|
|
6782
6840
|
}
|
|
6783
6841
|
transform(input, format, minutes) {
|
|
6784
6842
|
return DateFormatFromToPipe.formatFromTo(input, format, minutes, this.locale);
|
|
@@ -7482,16 +7540,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
7482
7540
|
* Creates Angular providers that register a {@link FilterSource} implementation for DI.
|
|
7483
7541
|
*
|
|
7484
7542
|
* @param sourceType - The concrete filter source class to provide.
|
|
7485
|
-
* @returns
|
|
7543
|
+
* @returns Array of Angular providers for the filter source.
|
|
7486
7544
|
*
|
|
7487
|
-
* @
|
|
7488
|
-
* ```typescript
|
|
7489
|
-
* @Directive({
|
|
7545
|
+
* @Directive ({
|
|
7490
7546
|
* selector: '[myFilterSource]',
|
|
7491
7547
|
* providers: provideFilterSource(MyFilterSourceDirective),
|
|
7492
7548
|
* })
|
|
7493
7549
|
* export class MyFilterSourceDirective { ... }
|
|
7494
7550
|
* ```
|
|
7551
|
+
*
|
|
7552
|
+
* @example
|
|
7553
|
+
* ```typescript
|
|
7495
7554
|
*/
|
|
7496
7555
|
function provideFilterSource(sourceType) {
|
|
7497
7556
|
return [
|
|
@@ -7505,7 +7564,7 @@ function provideFilterSource(sourceType) {
|
|
|
7505
7564
|
* Creates Angular providers that register both a {@link FilterSourceConnector} and {@link FilterSource} for DI.
|
|
7506
7565
|
*
|
|
7507
7566
|
* @param sourceType - The concrete connector class to provide.
|
|
7508
|
-
* @returns
|
|
7567
|
+
* @returns Array of Angular providers for the filter source connector.
|
|
7509
7568
|
*/
|
|
7510
7569
|
function provideFilterSourceConnector(sourceType) {
|
|
7511
7570
|
return [
|
|
@@ -7523,7 +7582,7 @@ function provideFilterSourceConnector(sourceType) {
|
|
|
7523
7582
|
/**
|
|
7524
7583
|
* DI token for providing a default filter value to {@link AbstractFilterSourceDirective}.
|
|
7525
7584
|
*/
|
|
7526
|
-
const
|
|
7585
|
+
const DEFAULT_FILTER_SOURCE_DIRECTIVE_FILTER_TOKEN = new InjectionToken('FILTER_SOURCE_DIRECTIVE_DEFAULT_FILTER_SOURCE_TOKEN');
|
|
7527
7586
|
/**
|
|
7528
7587
|
* Abstract class defining the contract for a filter source directive that can be set, reset, and initialized with filters.
|
|
7529
7588
|
*
|
|
@@ -7537,16 +7596,17 @@ class FilterSourceDirective {
|
|
|
7537
7596
|
*
|
|
7538
7597
|
* @param sourceType - The concrete directive class.
|
|
7539
7598
|
* @param defaultFilterFactory - Optional factory to provide an initial filter value via DI.
|
|
7540
|
-
* @returns
|
|
7599
|
+
* @returns Array of Angular providers for the filter source directive.
|
|
7541
7600
|
*
|
|
7542
|
-
* @
|
|
7543
|
-
* ```typescript
|
|
7544
|
-
* @Directive({
|
|
7601
|
+
* @Directive ({
|
|
7545
7602
|
* selector: '[myFilterSource]',
|
|
7546
7603
|
* providers: provideFilterSourceDirective(MyFilterSourceDirective),
|
|
7547
7604
|
* })
|
|
7548
7605
|
* export class MyFilterSourceDirective extends AbstractFilterSourceDirective<MyFilter> {}
|
|
7549
7606
|
* ```
|
|
7607
|
+
*
|
|
7608
|
+
* @example
|
|
7609
|
+
* ```typescript
|
|
7550
7610
|
*/
|
|
7551
7611
|
function provideFilterSourceDirective(sourceType, defaultFilterFactory) {
|
|
7552
7612
|
const providers = [
|
|
@@ -7558,7 +7618,7 @@ function provideFilterSourceDirective(sourceType, defaultFilterFactory) {
|
|
|
7558
7618
|
];
|
|
7559
7619
|
if (defaultFilterFactory != null) {
|
|
7560
7620
|
providers.push({
|
|
7561
|
-
provide:
|
|
7621
|
+
provide: DEFAULT_FILTER_SOURCE_DIRECTIVE_FILTER_TOKEN,
|
|
7562
7622
|
useFactory: defaultFilterFactory,
|
|
7563
7623
|
deps: [Injector]
|
|
7564
7624
|
});
|
|
@@ -7569,12 +7629,12 @@ function provideFilterSourceDirective(sourceType, defaultFilterFactory) {
|
|
|
7569
7629
|
* Abstract directive providing a complete {@link FilterSource} implementation backed by a {@link FilterSourceInstance}.
|
|
7570
7630
|
*
|
|
7571
7631
|
* Supports setting/resetting filters, initializing from an external observable, and providing
|
|
7572
|
-
* a default filter via the {@link
|
|
7632
|
+
* a default filter via the {@link DEFAULT_FILTER_SOURCE_DIRECTIVE_FILTER_TOKEN} DI token.
|
|
7573
7633
|
*
|
|
7574
7634
|
* @typeParam F - The filter type.
|
|
7575
7635
|
*/
|
|
7576
7636
|
class AbstractFilterSourceDirective {
|
|
7577
|
-
_defaultFilter = inject(
|
|
7637
|
+
_defaultFilter = inject(DEFAULT_FILTER_SOURCE_DIRECTIVE_FILTER_TOKEN, { optional: true });
|
|
7578
7638
|
_defaultFilterSource = new FilterSourceInstance({
|
|
7579
7639
|
defaultFilter: this._defaultFilter
|
|
7580
7640
|
});
|
|
@@ -7908,7 +7968,7 @@ const dbxInjectionComponentConfigIsEqual = safeEqualityComparatorFunction((a, b)
|
|
|
7908
7968
|
* Provider arrays are concatenated so that all providers from all configs are preserved.
|
|
7909
7969
|
* All other properties are merged with later values taking precedence.
|
|
7910
7970
|
*
|
|
7911
|
-
* @param configs -
|
|
7971
|
+
* @param configs - The partial configs to merge. May contain `undefined`/`null` entries which are filtered out.
|
|
7912
7972
|
* @returns A single merged partial configuration.
|
|
7913
7973
|
*/
|
|
7914
7974
|
function mergeDbxInjectionComponentConfigs(configs) {
|
|
@@ -7962,13 +8022,17 @@ function createInjectorForInjectionComponentConfig(params) {
|
|
|
7962
8022
|
const { config, parentInjector } = params;
|
|
7963
8023
|
const { injector: inputInjector, providers, data } = config;
|
|
7964
8024
|
const parent = inputInjector ?? parentInjector;
|
|
8025
|
+
let result;
|
|
7965
8026
|
if (!providers && data == null) {
|
|
7966
|
-
|
|
8027
|
+
result = parent;
|
|
7967
8028
|
}
|
|
7968
|
-
|
|
7969
|
-
|
|
7970
|
-
|
|
7971
|
-
|
|
8029
|
+
else {
|
|
8030
|
+
result = Injector.create({
|
|
8031
|
+
parent,
|
|
8032
|
+
providers: mergeStaticProviders({ provide: DBX_INJECTION_COMPONENT_DATA, useValue: data }, providers)
|
|
8033
|
+
});
|
|
8034
|
+
}
|
|
8035
|
+
return result;
|
|
7972
8036
|
}
|
|
7973
8037
|
/**
|
|
7974
8038
|
* Runs the init callback from a {@link DbxInjectionComponentConfig} on the given component ref,
|
|
@@ -8288,9 +8352,10 @@ class DbxInjectionContext {
|
|
|
8288
8352
|
* This enables dependency injection consumers to request `DbxInjectionContext` and receive
|
|
8289
8353
|
* the specific directive or service implementation.
|
|
8290
8354
|
*
|
|
8291
|
-
* @typeParam T - The concrete type that extends {@link DbxInjectionContext}.
|
|
8292
8355
|
* @param type - The concrete class to register as the existing provider.
|
|
8293
|
-
* @returns
|
|
8356
|
+
* @returns Array of Angular providers.
|
|
8357
|
+
*
|
|
8358
|
+
* @typeParam T - The concrete type that extends {@link DbxInjectionContext}.
|
|
8294
8359
|
*/
|
|
8295
8360
|
function provideDbxInjectionContext(type) {
|
|
8296
8361
|
return [
|
|
@@ -8372,7 +8437,7 @@ class DbxInjectionContextDirective {
|
|
|
8372
8437
|
* {@inheritDoc DbxInjectionContext.showContext}
|
|
8373
8438
|
*
|
|
8374
8439
|
* @param config - The injection context configuration describing the component and its usage.
|
|
8375
|
-
* @returns
|
|
8440
|
+
* @returns Resolves to the output of the injected component's usage.
|
|
8376
8441
|
*/
|
|
8377
8442
|
async showContext(config) {
|
|
8378
8443
|
// clear the current context before showing something new.
|
|
@@ -8405,7 +8470,7 @@ class DbxInjectionContextDirective {
|
|
|
8405
8470
|
});
|
|
8406
8471
|
this._currentPromise = promiseRef;
|
|
8407
8472
|
// await the promise
|
|
8408
|
-
await promiseRef.promise;
|
|
8473
|
+
result = await promiseRef.promise;
|
|
8409
8474
|
}
|
|
8410
8475
|
catch (e) {
|
|
8411
8476
|
error = e;
|
|
@@ -8421,7 +8486,16 @@ class DbxInjectionContextDirective {
|
|
|
8421
8486
|
if (error instanceof Error) {
|
|
8422
8487
|
throw error;
|
|
8423
8488
|
}
|
|
8424
|
-
|
|
8489
|
+
let message;
|
|
8490
|
+
if (error == null) {
|
|
8491
|
+
message = String(error);
|
|
8492
|
+
}
|
|
8493
|
+
else if (typeof error === 'object') {
|
|
8494
|
+
message = JSON.stringify(error);
|
|
8495
|
+
}
|
|
8496
|
+
else {
|
|
8497
|
+
message = String(error);
|
|
8498
|
+
}
|
|
8425
8499
|
throw new Error(message);
|
|
8426
8500
|
}
|
|
8427
8501
|
return result;
|
|
@@ -8510,7 +8584,7 @@ class AbstractForwardDbxInjectionContextDirective {
|
|
|
8510
8584
|
* {@inheritDoc DbxInjectionContext.showContext}
|
|
8511
8585
|
*
|
|
8512
8586
|
* @param config - The injection context configuration to forward to the host context.
|
|
8513
|
-
* @returns
|
|
8587
|
+
* @returns Resolves to the output of the injected component's usage.
|
|
8514
8588
|
*/
|
|
8515
8589
|
showContext(config) {
|
|
8516
8590
|
return this.dbxInjectionContext.showContext(config);
|
|
@@ -8540,12 +8614,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
8540
8614
|
* This is useful for reactive streams where an upstream value may indicate "use the default component"
|
|
8541
8615
|
* rather than providing an explicit configuration.
|
|
8542
8616
|
*
|
|
8543
|
-
* @typeParam T - The specific {@link DbxInjectionComponentConfig} subtype.
|
|
8544
|
-
* @typeParam X - The component type.
|
|
8545
8617
|
* @param defaultConfig - A static value, getter, or component class to use as the fallback config.
|
|
8546
8618
|
* @returns An RxJS operator compatible with `pipe()`.
|
|
8547
8619
|
*
|
|
8548
8620
|
* @see {@link DbxInjectionComponentConfig}
|
|
8621
|
+
* @typeParam T - The specific {@link DbxInjectionComponentConfig} subtype.
|
|
8622
|
+
* @typeParam X - The component type.
|
|
8549
8623
|
*
|
|
8550
8624
|
* @example
|
|
8551
8625
|
* ```typescript
|
|
@@ -8574,11 +8648,12 @@ function switchMapDbxInjectionComponentConfig(defaultConfig) {
|
|
|
8574
8648
|
* This is a convenience for one-off instantiation of an injectable class using a specific
|
|
8575
8649
|
* parent injector, without needing to manually configure `Injector.create()`.
|
|
8576
8650
|
*
|
|
8577
|
-
* @typeParam T - The type to instantiate.
|
|
8578
8651
|
* @param type - The injectable class to provide and resolve.
|
|
8579
8652
|
* @param parent - The parent injector that supplies the type's dependencies.
|
|
8580
8653
|
* @returns A new instance of `T`.
|
|
8581
8654
|
*
|
|
8655
|
+
* @typeParam T - The type to instantiate.
|
|
8656
|
+
*
|
|
8582
8657
|
* @example
|
|
8583
8658
|
* ```typescript
|
|
8584
8659
|
* const service = newWithInjector(MyService, parentInjector);
|
|
@@ -9043,16 +9118,18 @@ class FullLocalStorageObject {
|
|
|
9043
9118
|
}
|
|
9044
9119
|
get isAvailable() {
|
|
9045
9120
|
const test = '_T_E_S_T_';
|
|
9121
|
+
let result;
|
|
9046
9122
|
try {
|
|
9047
9123
|
// Tests setting and removing an item. These will throw an
|
|
9048
9124
|
// exception if the localstorage is not available
|
|
9049
9125
|
this._localStorage.setItem(test, test);
|
|
9050
9126
|
this._localStorage.removeItem(test);
|
|
9051
|
-
|
|
9127
|
+
result = true;
|
|
9052
9128
|
}
|
|
9053
9129
|
catch {
|
|
9054
|
-
|
|
9130
|
+
result = false;
|
|
9055
9131
|
}
|
|
9132
|
+
return result;
|
|
9056
9133
|
}
|
|
9057
9134
|
get length() {
|
|
9058
9135
|
return this._localStorage.length;
|
|
@@ -9154,17 +9231,85 @@ function provideDbxStorage() {
|
|
|
9154
9231
|
return makeEnvironmentProviders(providers);
|
|
9155
9232
|
}
|
|
9156
9233
|
|
|
9234
|
+
/**
|
|
9235
|
+
* Checks whether an `ng-content` wrapper element received any projected content from its parent.
|
|
9236
|
+
*
|
|
9237
|
+
* Returns `true` if the element has any child nodes, even if the projected content is empty.
|
|
9238
|
+
* Useful for conditionally showing fallback content when no projection is provided.
|
|
9239
|
+
*
|
|
9240
|
+
* @param ref - Reference to the wrapper element around `ng-content`.
|
|
9241
|
+
* @returns `true` if the wrapper element has any child nodes.
|
|
9242
|
+
*
|
|
9243
|
+
* @ViewChild ('contentWrapper', { static: false }) contentRef: ElementRef;
|
|
9244
|
+
*
|
|
9245
|
+
* get hasContent(): boolean {
|
|
9246
|
+
* return checkNgContentWrapperHasContent(this.contentRef);
|
|
9247
|
+
* }
|
|
9248
|
+
* ```
|
|
9249
|
+
*
|
|
9250
|
+
* @example
|
|
9251
|
+
* ```typescript
|
|
9252
|
+
* // In the component class:
|
|
9253
|
+
* @example
|
|
9254
|
+
* ```html
|
|
9255
|
+
* <!-- In the component template: -->
|
|
9256
|
+
* <div #contentWrapper>
|
|
9257
|
+
* <ng-content select="[content]"></ng-content>
|
|
9258
|
+
* </div>
|
|
9259
|
+
* <div *ngIf="!hasContent">No content provided</div>
|
|
9260
|
+
* ```
|
|
9261
|
+
*/
|
|
9262
|
+
function checkNgContentWrapperHasContent(ref) {
|
|
9263
|
+
// https://github.com/angular/angular/issues/26083
|
|
9264
|
+
let hasContent = false;
|
|
9265
|
+
if (ref != null) {
|
|
9266
|
+
const childNodes = ref.nativeElement.childNodes;
|
|
9267
|
+
const hasChildNodes = childNodes && childNodes.length > 0;
|
|
9268
|
+
hasContent = Boolean(hasChildNodes);
|
|
9269
|
+
}
|
|
9270
|
+
return hasContent;
|
|
9271
|
+
}
|
|
9272
|
+
/**
|
|
9273
|
+
* Checks whether an element has any meaningful child nodes (non-whitespace text or element nodes).
|
|
9274
|
+
*
|
|
9275
|
+
* Useful for detecting whether projected content was provided to a component by checking
|
|
9276
|
+
* the host element's child nodes at construction time, before Angular moves them for content projection.
|
|
9277
|
+
*
|
|
9278
|
+
* @param element - The host element to check.
|
|
9279
|
+
* @returns `true` if the element has at least one element child or non-whitespace text node.
|
|
9280
|
+
*
|
|
9281
|
+
* @example
|
|
9282
|
+
* ```typescript
|
|
9283
|
+
* constructor() {
|
|
9284
|
+
* const el = inject(ElementRef<HTMLElement>);
|
|
9285
|
+
* this._hasProjectedContent = hasNonTrivialChildNodes(el.nativeElement);
|
|
9286
|
+
* }
|
|
9287
|
+
* ```
|
|
9288
|
+
*/
|
|
9289
|
+
function hasNonTrivialChildNodes(element) {
|
|
9290
|
+
const nodes = element.childNodes;
|
|
9291
|
+
let result = false;
|
|
9292
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
9293
|
+
const node = nodes.item(i);
|
|
9294
|
+
if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim())) {
|
|
9295
|
+
result = true;
|
|
9296
|
+
break;
|
|
9297
|
+
}
|
|
9298
|
+
}
|
|
9299
|
+
return result;
|
|
9300
|
+
}
|
|
9301
|
+
// COMPAT: Deprecated aliases
|
|
9157
9302
|
/**
|
|
9158
9303
|
* RxJS operator that triggers `detectChanges()` on a `ChangeDetectorRef` after each emission.
|
|
9159
9304
|
*
|
|
9160
9305
|
* Wraps the detection call in a `setTimeout` to avoid triggering it during change detection cycles.
|
|
9161
9306
|
*
|
|
9162
|
-
* @deprecated Use Angular signals instead.
|
|
9163
|
-
*
|
|
9164
9307
|
* @param cdRef - The change detector to trigger. If `null`/`undefined`, the operator is a no-op.
|
|
9165
9308
|
* @param timeout - Delay in milliseconds before calling `detectChanges`.
|
|
9166
9309
|
* @returns An RxJS operator that triggers change detection on each emission.
|
|
9167
9310
|
*
|
|
9311
|
+
* @deprecated Use Angular signals instead.
|
|
9312
|
+
*
|
|
9168
9313
|
* @example
|
|
9169
9314
|
* ```typescript
|
|
9170
9315
|
* this.data$.pipe(tapDetectChanges(this.cdRef)).subscribe();
|
|
@@ -9177,9 +9322,9 @@ function tapDetectChanges(cdRef, timeout = 0) {
|
|
|
9177
9322
|
/**
|
|
9178
9323
|
* Safely calls `detectChanges()` on a `ChangeDetectorRef`, skipping the call if the view is already destroyed.
|
|
9179
9324
|
*
|
|
9180
|
-
* @deprecated Use Angular signals instead.
|
|
9181
|
-
*
|
|
9182
9325
|
* @param cdRef - The change detector to trigger.
|
|
9326
|
+
*
|
|
9327
|
+
* @deprecated Use Angular signals instead.
|
|
9183
9328
|
*/
|
|
9184
9329
|
function safeDetectChanges(cdRef) {
|
|
9185
9330
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
@@ -9191,12 +9336,12 @@ function safeDetectChanges(cdRef) {
|
|
|
9191
9336
|
* Intended for components using `OnPush` change detection that subscribe to observables
|
|
9192
9337
|
* outside of the `async` pipe. Not needed when using the `async` pipe.
|
|
9193
9338
|
*
|
|
9194
|
-
* @deprecated Use Angular signals instead.
|
|
9195
|
-
*
|
|
9196
9339
|
* @param cdRef - The change detector to mark. If `null`/`undefined`, the operator is a no-op.
|
|
9197
9340
|
* @param timeout - Delay in milliseconds before calling `markForCheck`.
|
|
9198
9341
|
* @returns An RxJS operator that marks the view for check on each emission.
|
|
9199
9342
|
*
|
|
9343
|
+
* @deprecated Use Angular signals instead.
|
|
9344
|
+
*
|
|
9200
9345
|
* @example
|
|
9201
9346
|
* ```typescript
|
|
9202
9347
|
* this.data$.pipe(tapSafeMarkForCheck(this.cdRef)).subscribe();
|
|
@@ -9209,9 +9354,9 @@ function tapSafeMarkForCheck(cdRef, timeout = 0) {
|
|
|
9209
9354
|
/**
|
|
9210
9355
|
* Safely calls `markForCheck()` on a `ChangeDetectorRef`, skipping the call if the view is already destroyed.
|
|
9211
9356
|
*
|
|
9212
|
-
* @deprecated Use Angular signals instead.
|
|
9213
|
-
*
|
|
9214
9357
|
* @param cdRef - The change detector to mark.
|
|
9358
|
+
*
|
|
9359
|
+
* @deprecated Use Angular signals instead.
|
|
9215
9360
|
*/
|
|
9216
9361
|
function safeMarkForCheck(cdRef) {
|
|
9217
9362
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
@@ -9220,87 +9365,20 @@ function safeMarkForCheck(cdRef) {
|
|
|
9220
9365
|
/**
|
|
9221
9366
|
* Executes a callback with the given `ChangeDetectorRef` only if its view has not been destroyed.
|
|
9222
9367
|
*
|
|
9223
|
-
* @deprecated Use Angular signals instead.
|
|
9224
|
-
*
|
|
9225
9368
|
* @param cdRef - The change detector to guard.
|
|
9226
9369
|
* @param use - Callback to invoke with the change detector.
|
|
9370
|
+
*
|
|
9371
|
+
* @deprecated Use Angular signals instead.
|
|
9227
9372
|
*/
|
|
9228
9373
|
function safeUseCdRef(cdRef, use) {
|
|
9229
9374
|
if (!cdRef.destroyed) {
|
|
9230
9375
|
use(cdRef);
|
|
9231
9376
|
}
|
|
9232
9377
|
}
|
|
9233
|
-
/**
|
|
9234
|
-
* Checks whether an `ng-content` wrapper element received any projected content from its parent.
|
|
9235
|
-
*
|
|
9236
|
-
* Returns `true` if the element has any child nodes, even if the projected content is empty.
|
|
9237
|
-
* Useful for conditionally showing fallback content when no projection is provided.
|
|
9238
|
-
*
|
|
9239
|
-
* @param ref - Reference to the wrapper element around `ng-content`.
|
|
9240
|
-
* @returns `true` if the wrapper element has any child nodes.
|
|
9241
|
-
*
|
|
9242
|
-
* @example
|
|
9243
|
-
* ```typescript
|
|
9244
|
-
* // In the component class:
|
|
9245
|
-
* @ViewChild('contentWrapper', { static: false }) contentRef: ElementRef;
|
|
9246
|
-
*
|
|
9247
|
-
* get hasContent(): boolean {
|
|
9248
|
-
* return checkNgContentWrapperHasContent(this.contentRef);
|
|
9249
|
-
* }
|
|
9250
|
-
* ```
|
|
9251
|
-
*
|
|
9252
|
-
* @example
|
|
9253
|
-
* ```html
|
|
9254
|
-
* <!-- In the component template: -->
|
|
9255
|
-
* <div #contentWrapper>
|
|
9256
|
-
* <ng-content select="[content]"></ng-content>
|
|
9257
|
-
* </div>
|
|
9258
|
-
* <div *ngIf="!hasContent">No content provided</div>
|
|
9259
|
-
* ```
|
|
9260
|
-
*/
|
|
9261
|
-
function checkNgContentWrapperHasContent(ref) {
|
|
9262
|
-
// https://github.com/angular/angular/issues/26083
|
|
9263
|
-
let hasContent = false;
|
|
9264
|
-
if (ref != null) {
|
|
9265
|
-
const childNodes = ref.nativeElement.childNodes;
|
|
9266
|
-
const hasChildNodes = childNodes && childNodes.length > 0;
|
|
9267
|
-
hasContent = Boolean(hasChildNodes);
|
|
9268
|
-
}
|
|
9269
|
-
return hasContent;
|
|
9270
|
-
}
|
|
9271
|
-
/**
|
|
9272
|
-
* Checks whether an element has any meaningful child nodes (non-whitespace text or element nodes).
|
|
9273
|
-
*
|
|
9274
|
-
* Useful for detecting whether projected content was provided to a component by checking
|
|
9275
|
-
* the host element's child nodes at construction time, before Angular moves them for content projection.
|
|
9276
|
-
*
|
|
9277
|
-
* @param element - The host element to check.
|
|
9278
|
-
* @returns `true` if the element has at least one element child or non-whitespace text node.
|
|
9279
|
-
*
|
|
9280
|
-
* @example
|
|
9281
|
-
* ```typescript
|
|
9282
|
-
* constructor() {
|
|
9283
|
-
* const el = inject(ElementRef<HTMLElement>);
|
|
9284
|
-
* this._hasProjectedContent = hasNonTrivialChildNodes(el.nativeElement);
|
|
9285
|
-
* }
|
|
9286
|
-
* ```
|
|
9287
|
-
*/
|
|
9288
|
-
function hasNonTrivialChildNodes(element) {
|
|
9289
|
-
const nodes = element.childNodes;
|
|
9290
|
-
let result = false;
|
|
9291
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
9292
|
-
const node = nodes.item(i);
|
|
9293
|
-
if (node.nodeType === Node.ELEMENT_NODE || (node.nodeType === Node.TEXT_NODE && node.textContent?.trim())) {
|
|
9294
|
-
result = true;
|
|
9295
|
-
break;
|
|
9296
|
-
}
|
|
9297
|
-
}
|
|
9298
|
-
return result;
|
|
9299
|
-
}
|
|
9300
9378
|
|
|
9301
9379
|
/**
|
|
9302
9380
|
* Generated bundle index. Do not edit.
|
|
9303
9381
|
*/
|
|
9304
9382
|
|
|
9305
|
-
export { ACTION_CONTEXT_STORE_LOCKSET_DESTROY_DELAY_TIME, APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueGetterDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxFilterMapSourceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AsObservablePipe, CutTextPipe, DBX_ACTION_BUTTON_ECHO_CONFIG, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_ASSET_LOADER_CONFIG_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_OAUTH_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE,
|
|
9383
|
+
export { ACTION_CONTEXT_STORE_LOCKSET_DESTROY_DELAY_TIME, APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueGetterDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxFilterMapSourceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AsObservablePipe, CutTextPipe, DBX_ACTION_BUTTON_ECHO_CONFIG, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_ASSET_LOADER_CONFIG_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_OAUTH_APP_CONTEXT_STATE, DBX_ONBOARD_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_DBX_ACTION_BUTTON_ECHO_CONFIG, DEFAULT_DBX_ACTION_BUTTON_ERROR_ECHO, DEFAULT_DBX_ACTION_BUTTON_SUCCESS_ECHO, DEFAULT_DBX_BUTTON_ECHO_DURATION, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_ID_PARAM_KEY, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_KEY_PARAM_KEY, DEFAULT_DBX_ROUTE_MODEL_ID_PARAM_USE_PARAM_VALUE, DEFAULT_FILTER_SOURCE_DIRECTIVE_FILTER_TOKEN, DEFAULT_LOCAL_ASSET_BASE_URL, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_IDENTIFIER_PARAM_VALUE, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDayRangePipe, DateDayTimeRangePipe, DateDistancePipe, DateFormatDistancePipe, DateFormatFromToPipe, DateRangeDistancePipe, DateTimeRangeOnlyDistancePipe, DateTimeRangeOnlyPipe, DateTimeRangePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionErrorHandlerDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHandlerValueDirective, DbxActionHasSuccessDirective, DbxActionIdleDirective, DbxActionIsModifiedDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionTriggeredDirective, DbxActionValueDirective, DbxActionValueGetterInstance, DbxActionValueStreamDirective, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterService, DbxAppAuthRoutes, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppEnvironment, DbxAppEnvironmentService, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRoleDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAssetLoader, DbxCoreButtonModule, DbxCoreFilterModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionArrayComponent, DbxInjectionComponent, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxRouteModelIdDirective, DbxRouteModelIdDirectiveDelegate, DbxRouteModelIdFromAuthUserIdDirective, DbxRouteModelKeyDirective, DbxRouteModelKeyDirectiveDelegate, DbxRouteParamDefaultRedirectInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxUIRouterService, DollarAmountPipe, FilterSourceDirective, FullLocalStorageObject, GetValueOncePipe, GetValuePipe, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, SystemDateToTargetDatePipe, TargetDateToSystemDatePipe, TimeDistanceCountdownPipe, TimeDistancePipe, TimezoneAbbreviationPipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceMap, actionContextStoreSourceMapReader, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, assertValidStorageKeyPrefix, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clean, cleanDestroy, cleanListLoadingContext, cleanLoadingContext, cleanLockSet, cleanSubscription, cleanSubscriptionWithLockSet, cleanWithLockSet, clickableUrlInNewTab, clickableUrlMailTo, clickableUrlTel, completeOnDestroy, createInjectorForInjectionComponentConfig, dbxActionWorkProgress, dbxButtonDisplayType, dbxInjectionComponentConfigIsEqual, dbxRouteModelIdParamRedirect, dbxRouteModelKeyParamRedirect, dbxRouteParamReaderInstance, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, fromAllActionContextStoreSourceMapSources, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, hasAuthRoleDecisionPipe, hasNonTrivialChildNodes, initInjectionComponent, isActionContextDisabled, isActionContextEnabled, isClickableFilterPreset, isClickablePartialFilterPreset, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isValidStorageKeyPrefix, isWorkingActionState, latestSuccessfulRoutes, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, mergeStaticProviders, newWithInjector, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxActionButtonEchoConfig, provideDbxAnchor, provideDbxAppAuth, provideDbxAppAuthRouter, provideDbxAppAuthRouterState, provideDbxAppAuthState, provideDbxAppContextState, provideDbxAppEnvironment, provideDbxAssetLoader, provideDbxButton, provideDbxInjectionContext, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, provideDbxStorage, provideDbxUIRouterService, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForIdentifierParamHook, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, switchMapDbxInjectionComponentConfig, tapDetectChanges, tapSafeMarkForCheck, transformEmptyStringInputToUndefined, useActionStore };
|
|
9306
9384
|
//# sourceMappingURL=dereekb-dbx-core.mjs.map
|