@dereekb/dbx-core 9.15.8 → 9.16.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.
- package/esm2020/lib/action/action.holder.mjs +1 -1
- package/esm2020/lib/action/action.machine.mjs +30 -7
- package/esm2020/lib/action/action.store.source.mjs +2 -30
- package/esm2020/lib/action/action.store.source.provide.mjs +41 -0
- package/esm2020/lib/action/directive/context/action.directive.mjs +3 -2
- package/esm2020/lib/action/directive/context/action.source.directive.mjs +3 -2
- package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +2 -2
- package/esm2020/lib/action/directive/state/action.handler.directive.mjs +27 -34
- package/esm2020/lib/action/directive/state/action.handler.instance.mjs +40 -0
- package/esm2020/lib/action/directive/state/index.mjs +2 -1
- package/esm2020/lib/action/index.mjs +2 -1
- package/esm2020/lib/filter/filter.abstract.source.directive.mjs +19 -4
- package/esm2020/lib/filter/filter.connect.source.directive.mjs +27 -0
- package/esm2020/lib/filter/filter.map.source.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.module.mjs +5 -4
- package/esm2020/lib/filter/filter.preset.mjs +2 -0
- package/esm2020/lib/filter/filter.source.directive.mjs +4 -5
- package/esm2020/lib/filter/index.mjs +3 -2
- package/esm2020/lib/router/anchor/anchor.directive.mjs +14 -3
- package/esm2020/lib/router/anchor/anchor.mjs +1 -1
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +1 -1
- package/esm2020/lib/router/router/service/index.mjs +3 -1
- package/esm2020/lib/router/router/service/router.service.mjs +3 -2
- package/esm2020/lib/router/router/service/router.service.rxjs.mjs +39 -0
- package/esm2020/lib/router/router/service/router.service.util.mjs +14 -0
- package/esm2020/lib/router/router/transition/transition.mjs +2 -2
- package/fesm2015/dereekb-dbx-core.mjs +396 -260
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +392 -258
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/action/action.holder.d.ts +1 -1
- package/lib/action/action.machine.d.ts +14 -1
- package/lib/action/action.store.source.d.ts +1 -7
- package/lib/action/action.store.source.provide.d.ts +10 -0
- package/lib/action/directive/state/action.handler.directive.d.ts +14 -9
- package/lib/action/directive/state/action.handler.instance.d.ts +19 -0
- package/lib/action/directive/state/index.d.ts +1 -0
- package/lib/action/index.d.ts +1 -0
- package/lib/filter/filter.abstract.source.directive.d.ts +14 -3
- package/lib/filter/filter.connect.source.directive.d.ts +14 -0
- package/lib/filter/filter.map.source.directive.d.ts +1 -1
- package/lib/filter/filter.module.d.ts +7 -6
- package/lib/filter/filter.preset.d.ts +11 -0
- package/lib/filter/index.d.ts +2 -1
- package/lib/router/anchor/anchor.d.ts +3 -0
- package/lib/router/anchor/anchor.directive.d.ts +5 -1
- package/lib/router/router/service/index.d.ts +2 -0
- package/lib/router/router/service/router.service.d.ts +2 -1
- package/lib/router/router/service/router.service.rxjs.d.ts +27 -0
- package/lib/router/router/service/router.service.util.d.ts +26 -0
- package/lib/router/router/transition/transition.d.ts +1 -1
- package/package.json +4 -4
- package/esm2020/lib/filter/action/action.filter.source.directive.mjs +0 -33
- package/esm2020/lib/filter/action/index.mjs +0 -2
- package/lib/filter/action/action.filter.source.directive.d.ts +0 -17
- package/lib/filter/action/index.d.ts +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Injectable,
|
|
2
|
+
import { Directive, Injectable, Host, Input, forwardRef, Optional, NgModule, InjectionToken, Inject, EventEmitter, Output, LOCALE_ID, Pipe, Injector, ViewContainerRef, Component, ViewChild } from '@angular/core';
|
|
3
3
|
import * as i1 from 'rxjs';
|
|
4
|
-
import { switchMap, first, BehaviorSubject, combineLatest, distinctUntilChanged, filter, Subject, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, EMPTY, withLatestFrom, of, startWith,
|
|
4
|
+
import { switchMap, first, BehaviorSubject, combineLatest, distinctUntilChanged, filter, Subject, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, EMPTY, withLatestFrom, of, startWith, delay, tap, catchError, firstValueFrom, takeUntil, Observable } from 'rxjs';
|
|
5
5
|
import * as i1$5 from '@dereekb/rxjs';
|
|
6
|
-
import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount,
|
|
6
|
+
import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, workFactory, combineLatestFromMapValuesObsFn, emitDelayObs, asObservable, returnIfIs, timeoutStartWith, skipFirstMaybe, maybeValueFromObservableOrValueGetter, switchMapToDefault, asObservableFromGetter, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, setContainsNoValueFrom, FilterSource, FilterSourceConnector, FilterSourceInstance, FilterMap } from '@dereekb/rxjs';
|
|
7
7
|
import * as i1$6 from '@dereekb/util';
|
|
8
8
|
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, setIncludes, isAllowed, maybeSet, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mergeObjects, KeyValueTypleValueFilter, asArray, defaultForwardFunctionFactory, mergeArrays, filterMaybeValues, mergeArrayOrValueIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, splitJoinRemainder, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
|
|
9
9
|
import { ComponentStore } from '@ngrx/component-store';
|
|
@@ -199,34 +199,6 @@ DbxActionContextStoreSourceInstance.ɵprov = i0.ɵɵngDeclareInjectable({ minVer
|
|
|
199
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxActionContextStoreSourceInstance, decorators: [{
|
|
200
200
|
type: Injectable
|
|
201
201
|
}], ctorParameters: function () { return [{ type: ActionContextStoreSource }]; } });
|
|
202
|
-
const actionContextStoreSourceInstanceFactory = (source) => {
|
|
203
|
-
return new DbxActionContextStoreSourceInstance(source);
|
|
204
|
-
};
|
|
205
|
-
/**
|
|
206
|
-
* Provides an ActionContextStoreSource, as well as an DbxActionContextStoreSourceInstance.
|
|
207
|
-
*/
|
|
208
|
-
function provideActionStoreSource(sourceType) {
|
|
209
|
-
return [
|
|
210
|
-
{
|
|
211
|
-
provide: ActionContextStoreSource,
|
|
212
|
-
useExisting: forwardRef(() => sourceType)
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
provide: DbxActionContextStoreSourceInstance,
|
|
216
|
-
useFactory: actionContextStoreSourceInstanceFactory,
|
|
217
|
-
deps: [ActionContextStoreSource]
|
|
218
|
-
}
|
|
219
|
-
];
|
|
220
|
-
}
|
|
221
|
-
function provideSecondaryActionStoreSource(sourceType) {
|
|
222
|
-
return [
|
|
223
|
-
{
|
|
224
|
-
provide: SecondaryActionContextStoreSource,
|
|
225
|
-
useExisting: forwardRef(() => sourceType)
|
|
226
|
-
},
|
|
227
|
-
...provideActionStoreSource(sourceType)
|
|
228
|
-
];
|
|
229
|
-
}
|
|
230
202
|
|
|
231
203
|
class DbxActionAutoModifyDirective extends AbstractSubscriptionDirective {
|
|
232
204
|
constructor(source) {
|
|
@@ -467,6 +439,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
467
439
|
type: Input
|
|
468
440
|
}] } });
|
|
469
441
|
|
|
442
|
+
/**
|
|
443
|
+
* WorkInstanceDelegate implementation using an DbxActionContextStoreSourceInstance.
|
|
444
|
+
*/
|
|
445
|
+
class DbxActionWorkInstanceDelegate {
|
|
446
|
+
constructor(source) {
|
|
447
|
+
this.source = source;
|
|
448
|
+
}
|
|
449
|
+
startWorking() {
|
|
450
|
+
this.source.startWorking();
|
|
451
|
+
}
|
|
452
|
+
success(result) {
|
|
453
|
+
this.source.resolve(result);
|
|
454
|
+
}
|
|
455
|
+
reject(error) {
|
|
456
|
+
this.source.reject(error);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
|
|
470
460
|
/**
|
|
471
461
|
* Used by ActionContextState to denote what state the action is in.
|
|
472
462
|
*/
|
|
@@ -813,6 +803,106 @@ class DbxActionContextBaseSource {
|
|
|
813
803
|
}
|
|
814
804
|
}
|
|
815
805
|
|
|
806
|
+
/**
|
|
807
|
+
* Configurable machine that handles components of the ActionContextStore lifecycle.
|
|
808
|
+
*
|
|
809
|
+
* It can be configured to activate only once before cleaning itself up. It can be used directly as a DbxActionContextSourceReference in cases where it is created as a one-off action.
|
|
810
|
+
*/
|
|
811
|
+
class DbxActionContextMachine extends DbxActionContextBaseSource {
|
|
812
|
+
constructor(config, source) {
|
|
813
|
+
super(source);
|
|
814
|
+
this.config = config;
|
|
815
|
+
this._isShutdown = true;
|
|
816
|
+
this._handleValueReadySub = new SubscriptionObject();
|
|
817
|
+
this._successSub = new SubscriptionObject();
|
|
818
|
+
// Handle Value Ready
|
|
819
|
+
if (config.handleValueReady !== false) {
|
|
820
|
+
this._handleValueReadySub.subscription = this.sourceInstance.valueReady$.subscribe((value) => {
|
|
821
|
+
const doWork = workFactory({
|
|
822
|
+
work: config.handleValueReady,
|
|
823
|
+
delegate: new DbxActionWorkInstanceDelegate(this.sourceInstance)
|
|
824
|
+
});
|
|
825
|
+
doWork(value);
|
|
826
|
+
});
|
|
827
|
+
}
|
|
828
|
+
// If this is a one-time use, then destroy it after the first success comes through.
|
|
829
|
+
if (this.config.oneTimeUse) {
|
|
830
|
+
this.sourceInstance.success$.pipe(first(), delay(1000)).subscribe(() => {
|
|
831
|
+
this.destroy();
|
|
832
|
+
});
|
|
833
|
+
}
|
|
834
|
+
if (this.config.onSuccess) {
|
|
835
|
+
this._successSub.subscription = this.sourceInstance.success$.subscribe(this.config.onSuccess);
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
destroy() {
|
|
839
|
+
super.destroy();
|
|
840
|
+
this._handleValueReadySub.destroy();
|
|
841
|
+
this._successSub.destroy();
|
|
842
|
+
this._isShutdown = true;
|
|
843
|
+
}
|
|
844
|
+
get isShutdown() {
|
|
845
|
+
return this._isShutdown;
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* DbxActionContextMachine that implements OnDestroy and is configured for use as a Service/Injectable.
|
|
850
|
+
*/
|
|
851
|
+
class DbxActionContextMachineAsService extends DbxActionContextMachine {
|
|
852
|
+
constructor() {
|
|
853
|
+
super({
|
|
854
|
+
oneTimeUse: false,
|
|
855
|
+
handleValueReady: false
|
|
856
|
+
});
|
|
857
|
+
}
|
|
858
|
+
ngOnDestroy() {
|
|
859
|
+
this.destroy();
|
|
860
|
+
}
|
|
861
|
+
}
|
|
862
|
+
DbxActionContextMachineAsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxActionContextMachineAsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
863
|
+
DbxActionContextMachineAsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxActionContextMachineAsService });
|
|
864
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxActionContextMachineAsService, decorators: [{
|
|
865
|
+
type: Injectable
|
|
866
|
+
}], ctorParameters: function () { return []; } });
|
|
867
|
+
|
|
868
|
+
const actionContextStoreSourceInstanceFactory = (source) => {
|
|
869
|
+
return new DbxActionContextStoreSourceInstance(source);
|
|
870
|
+
};
|
|
871
|
+
const actionContextStoreSourceMachineFactory = () => {
|
|
872
|
+
return new DbxActionContextMachineAsService();
|
|
873
|
+
};
|
|
874
|
+
/**
|
|
875
|
+
* Provides an ActionContextStoreSource, as well as an DbxActionContextStoreSourceInstance.
|
|
876
|
+
*/
|
|
877
|
+
function provideActionStoreSource(sourceType) {
|
|
878
|
+
const storeSourceProvider = sourceType != null
|
|
879
|
+
? {
|
|
880
|
+
provide: ActionContextStoreSource,
|
|
881
|
+
useExisting: forwardRef(() => sourceType)
|
|
882
|
+
}
|
|
883
|
+
: {
|
|
884
|
+
provide: ActionContextStoreSource,
|
|
885
|
+
useFactory: actionContextStoreSourceMachineFactory
|
|
886
|
+
};
|
|
887
|
+
return [
|
|
888
|
+
storeSourceProvider,
|
|
889
|
+
{
|
|
890
|
+
provide: DbxActionContextStoreSourceInstance,
|
|
891
|
+
useFactory: actionContextStoreSourceInstanceFactory,
|
|
892
|
+
deps: [ActionContextStoreSource]
|
|
893
|
+
}
|
|
894
|
+
];
|
|
895
|
+
}
|
|
896
|
+
function provideSecondaryActionStoreSource(sourceType) {
|
|
897
|
+
return [
|
|
898
|
+
{
|
|
899
|
+
provide: SecondaryActionContextStoreSource,
|
|
900
|
+
useExisting: forwardRef(() => sourceType)
|
|
901
|
+
},
|
|
902
|
+
...provideActionStoreSource(sourceType)
|
|
903
|
+
];
|
|
904
|
+
}
|
|
905
|
+
|
|
816
906
|
/**
|
|
817
907
|
* Provides an DbxActionContext.
|
|
818
908
|
*/
|
|
@@ -1166,31 +1256,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
1166
1256
|
args: ['dbxActionDisabledOnSuccess']
|
|
1167
1257
|
}] } });
|
|
1168
1258
|
|
|
1259
|
+
const DBX_ACTION_HANDLER_LOCK_KEY = 'dbxActionHandler';
|
|
1169
1260
|
/**
|
|
1170
|
-
*
|
|
1261
|
+
* Context used for defining a function that performs an action using the input function to handle valueReady$ events from an action context.
|
|
1171
1262
|
*/
|
|
1172
|
-
class
|
|
1263
|
+
class DbxActionHandlerInstance {
|
|
1173
1264
|
constructor(source) {
|
|
1174
1265
|
this.source = source;
|
|
1175
|
-
|
|
1176
|
-
startWorking() {
|
|
1177
|
-
this.source.startWorking();
|
|
1178
|
-
}
|
|
1179
|
-
success(result) {
|
|
1180
|
-
this.source.resolve(result);
|
|
1181
|
-
}
|
|
1182
|
-
reject(error) {
|
|
1183
|
-
this.source.reject(error);
|
|
1184
|
-
}
|
|
1185
|
-
}
|
|
1186
|
-
|
|
1187
|
-
/**
|
|
1188
|
-
* Context used for defining a function that performs an action using the input function on ValueReady.
|
|
1189
|
-
*/
|
|
1190
|
-
class DbxActionHandlerDirective extends AbstractSubscriptionDirective {
|
|
1191
|
-
constructor(source) {
|
|
1192
|
-
super();
|
|
1193
|
-
this.source = source;
|
|
1266
|
+
this._sub = new SubscriptionObject();
|
|
1194
1267
|
this._handlerFunction = new BehaviorSubject(undefined);
|
|
1195
1268
|
this.handlerFunction$ = this._handlerFunction.pipe(filterMaybe(), shareReplay(1));
|
|
1196
1269
|
this._delegate = new DbxActionWorkInstanceDelegate(this.source);
|
|
@@ -1201,34 +1274,66 @@ class DbxActionHandlerDirective extends AbstractSubscriptionDirective {
|
|
|
1201
1274
|
set handlerFunction(handlerFunction) {
|
|
1202
1275
|
this._handlerFunction.next(handlerFunction);
|
|
1203
1276
|
}
|
|
1204
|
-
|
|
1205
|
-
this.
|
|
1277
|
+
init() {
|
|
1278
|
+
this._sub.subscription = this.handlerFunction$
|
|
1206
1279
|
.pipe(switchMap((work) => this.source.valueReady$.pipe(tap((value) => {
|
|
1207
1280
|
const context = workFactory({ work, delegate: this._delegate })(value);
|
|
1208
1281
|
if (context) {
|
|
1209
1282
|
// Add the action to the lockSet for the source to prevent it from being destroyed until the action completes.
|
|
1210
|
-
this.source.lockSet.addLock(
|
|
1283
|
+
this.source.lockSet.addLock(DBX_ACTION_HANDLER_LOCK_KEY, context.isComplete$.pipe(map((x) => !x)));
|
|
1211
1284
|
}
|
|
1212
1285
|
}))))
|
|
1213
1286
|
.subscribe();
|
|
1214
1287
|
}
|
|
1215
|
-
|
|
1288
|
+
destroy() {
|
|
1216
1289
|
this.source.lockSet.onNextUnlock(() => {
|
|
1217
|
-
|
|
1290
|
+
this._sub.destroy();
|
|
1218
1291
|
this._handlerFunction.complete();
|
|
1219
1292
|
});
|
|
1220
1293
|
}
|
|
1221
1294
|
}
|
|
1222
|
-
|
|
1295
|
+
|
|
1296
|
+
/**
|
|
1297
|
+
* Abstract directive that wraps and handles a DbxActionHandlerInstance lifecycle.
|
|
1298
|
+
*/
|
|
1299
|
+
class AbstractDbxActionHandlerDirective {
|
|
1300
|
+
constructor(source) {
|
|
1301
|
+
this.source = source;
|
|
1302
|
+
this._dbxActionHandlerInstance = new DbxActionHandlerInstance(this.source);
|
|
1303
|
+
}
|
|
1304
|
+
ngOnInit() {
|
|
1305
|
+
this._dbxActionHandlerInstance.init();
|
|
1306
|
+
}
|
|
1307
|
+
ngOnDestroy() {
|
|
1308
|
+
this._dbxActionHandlerInstance.destroy();
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
AbstractDbxActionHandlerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractDbxActionHandlerDirective, deps: [{ token: DbxActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1312
|
+
AbstractDbxActionHandlerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractDbxActionHandlerDirective, ngImport: i0 });
|
|
1313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractDbxActionHandlerDirective, decorators: [{
|
|
1314
|
+
type: Directive
|
|
1315
|
+
}], ctorParameters: function () { return [{ type: DbxActionContextStoreSourceInstance, decorators: [{
|
|
1316
|
+
type: Host
|
|
1317
|
+
}] }]; } });
|
|
1318
|
+
/**
|
|
1319
|
+
* Directive that wraps and controls a DbxActionHandlerInstance.
|
|
1320
|
+
*/
|
|
1321
|
+
class DbxActionHandlerDirective extends AbstractDbxActionHandlerDirective {
|
|
1322
|
+
get handlerFunction() {
|
|
1323
|
+
return this._dbxActionHandlerInstance.handlerFunction;
|
|
1324
|
+
}
|
|
1325
|
+
set handlerFunction(handlerFunction) {
|
|
1326
|
+
this._dbxActionHandlerInstance.handlerFunction = handlerFunction;
|
|
1327
|
+
}
|
|
1328
|
+
}
|
|
1329
|
+
DbxActionHandlerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxActionHandlerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1223
1330
|
DbxActionHandlerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: { handlerFunction: ["dbxActionHandler", "handlerFunction"] }, usesInheritance: true, ngImport: i0 });
|
|
1224
1331
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxActionHandlerDirective, decorators: [{
|
|
1225
1332
|
type: Directive,
|
|
1226
1333
|
args: [{
|
|
1227
1334
|
selector: '[dbxActionHandler]'
|
|
1228
1335
|
}]
|
|
1229
|
-
}],
|
|
1230
|
-
type: Host
|
|
1231
|
-
}] }]; }, propDecorators: { handlerFunction: [{
|
|
1336
|
+
}], propDecorators: { handlerFunction: [{
|
|
1232
1337
|
type: Input,
|
|
1233
1338
|
args: ['dbxActionHandler']
|
|
1234
1339
|
}] } });
|
|
@@ -1593,47 +1698,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
1593
1698
|
type: Input
|
|
1594
1699
|
}] } });
|
|
1595
1700
|
|
|
1596
|
-
/**
|
|
1597
|
-
* Configurable machine that handles components of the ActionContextStore lifecycle.
|
|
1598
|
-
*
|
|
1599
|
-
* It can be configured to activate only once before cleaning itself up. It can be used directly as a DbxActionContextSourceReference in cases where it is created as a one-off action.
|
|
1600
|
-
*/
|
|
1601
|
-
class DbxActionContextMachine extends DbxActionContextBaseSource {
|
|
1602
|
-
constructor(config, source) {
|
|
1603
|
-
super(source);
|
|
1604
|
-
this.config = config;
|
|
1605
|
-
this._isShutdown = true;
|
|
1606
|
-
this._handleValueReadySub = new SubscriptionObject();
|
|
1607
|
-
this._successSub = new SubscriptionObject();
|
|
1608
|
-
// Handle Value Ready
|
|
1609
|
-
this._handleValueReadySub.subscription = this.sourceInstance.valueReady$.subscribe((value) => {
|
|
1610
|
-
const doWork = workFactory({
|
|
1611
|
-
work: config.handleValueReady,
|
|
1612
|
-
delegate: new DbxActionWorkInstanceDelegate(this.sourceInstance)
|
|
1613
|
-
});
|
|
1614
|
-
doWork(value);
|
|
1615
|
-
});
|
|
1616
|
-
// If this is a one-time use, then destroy it after the first success comes through.
|
|
1617
|
-
if (this.config.oneTimeUse) {
|
|
1618
|
-
this.sourceInstance.success$.pipe(first(), delay(1000)).subscribe(() => {
|
|
1619
|
-
this.destroy();
|
|
1620
|
-
});
|
|
1621
|
-
}
|
|
1622
|
-
if (this.config.onSuccess) {
|
|
1623
|
-
this._successSub.subscription = this.sourceInstance.success$.subscribe(this.config.onSuccess);
|
|
1624
|
-
}
|
|
1625
|
-
}
|
|
1626
|
-
destroy() {
|
|
1627
|
-
super.destroy();
|
|
1628
|
-
this._handleValueReadySub.destroy();
|
|
1629
|
-
this._successSub.destroy();
|
|
1630
|
-
this._isShutdown = true;
|
|
1631
|
-
}
|
|
1632
|
-
get isShutdown() {
|
|
1633
|
-
return this._isShutdown;
|
|
1634
|
-
}
|
|
1635
|
-
}
|
|
1636
|
-
|
|
1637
1701
|
class DbxCoreActionModule {
|
|
1638
1702
|
}
|
|
1639
1703
|
DbxCoreActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxCoreActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -2252,13 +2316,16 @@ function provideDbxAnchor(sourceType) {
|
|
|
2252
2316
|
*/
|
|
2253
2317
|
class AbstractDbxAnchorDirective {
|
|
2254
2318
|
constructor() {
|
|
2319
|
+
this._selected = new BehaviorSubject(false);
|
|
2255
2320
|
this._disabled = new BehaviorSubject(false);
|
|
2256
2321
|
this._anchor = new BehaviorSubject(undefined);
|
|
2257
|
-
this.disabled$ = this._disabled.
|
|
2322
|
+
this.disabled$ = this._disabled.pipe(distinctUntilChanged());
|
|
2258
2323
|
this.anchor$ = this._anchor.pipe(skipFirstMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
2324
|
+
this.selected$ = combineLatest([this._selected, this.anchor$]).pipe(map(([selected, anchor]) => selected || anchor?.selected), distinctUntilChanged());
|
|
2259
2325
|
this.type$ = combineLatest([this.disabled$, this.anchor$]).pipe(delay(0), map(([disabled, anchor]) => anchorTypeForAnchor(anchor, disabled)), distinctUntilChanged(), shareReplay(1));
|
|
2260
2326
|
}
|
|
2261
2327
|
ngOnDestroy() {
|
|
2328
|
+
this._selected.complete();
|
|
2262
2329
|
this._disabled.complete();
|
|
2263
2330
|
this._anchor.complete();
|
|
2264
2331
|
}
|
|
@@ -2280,9 +2347,15 @@ class AbstractDbxAnchorDirective {
|
|
|
2280
2347
|
set disabled(disabled) {
|
|
2281
2348
|
this._disabled.next(disabled);
|
|
2282
2349
|
}
|
|
2350
|
+
get selected() {
|
|
2351
|
+
return this._selected.value;
|
|
2352
|
+
}
|
|
2353
|
+
set selected(selected) {
|
|
2354
|
+
this._selected.next(selected);
|
|
2355
|
+
}
|
|
2283
2356
|
}
|
|
2284
2357
|
AbstractDbxAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractDbxAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2285
|
-
AbstractDbxAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractDbxAnchorDirective, inputs: { ref: "ref", anchor: "anchor", disabled: "disabled" }, ngImport: i0 });
|
|
2358
|
+
AbstractDbxAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractDbxAnchorDirective, inputs: { ref: "ref", anchor: "anchor", disabled: "disabled", selected: "selected" }, ngImport: i0 });
|
|
2286
2359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractDbxAnchorDirective, decorators: [{
|
|
2287
2360
|
type: Directive
|
|
2288
2361
|
}], propDecorators: { ref: [{
|
|
@@ -2291,6 +2364,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
2291
2364
|
type: Input
|
|
2292
2365
|
}], disabled: [{
|
|
2293
2366
|
type: Input
|
|
2367
|
+
}], selected: [{
|
|
2368
|
+
type: Input
|
|
2294
2369
|
}] } });
|
|
2295
2370
|
|
|
2296
2371
|
function clickableUrlInNewTab(url) {
|
|
@@ -2362,7 +2437,7 @@ var DbxRouterTransitionEventType;
|
|
|
2362
2437
|
/**
|
|
2363
2438
|
* A transition ended.
|
|
2364
2439
|
*/
|
|
2365
|
-
DbxRouterTransitionEventType["SUCCESS"] = "
|
|
2440
|
+
DbxRouterTransitionEventType["SUCCESS"] = "success";
|
|
2366
2441
|
})(DbxRouterTransitionEventType || (DbxRouterTransitionEventType = {}));
|
|
2367
2442
|
|
|
2368
2443
|
/**
|
|
@@ -2436,10 +2511,142 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
2436
2511
|
type: Injectable
|
|
2437
2512
|
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }]; } });
|
|
2438
2513
|
|
|
2514
|
+
/**
|
|
2515
|
+
* Router service definition that provides high level information about router transitions.
|
|
2516
|
+
*/
|
|
2517
|
+
class DbxRouterTransitionService {
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2439
2520
|
/**
|
|
2440
2521
|
* Router service definition that can route the app and provide routing details.
|
|
2441
2522
|
*/
|
|
2442
|
-
class DbxRouterService {
|
|
2523
|
+
class DbxRouterService extends DbxRouterTransitionService {
|
|
2524
|
+
}
|
|
2525
|
+
|
|
2526
|
+
/**
|
|
2527
|
+
* Convenience function for filtering success from the input observable.
|
|
2528
|
+
*
|
|
2529
|
+
* @param obs
|
|
2530
|
+
* @returns
|
|
2531
|
+
*/
|
|
2532
|
+
function successTransition(obs) {
|
|
2533
|
+
return obs.pipe(filterTransitionSuccess());
|
|
2534
|
+
}
|
|
2535
|
+
function filterTransitionSuccess() {
|
|
2536
|
+
return filterTransitionEvent(DbxRouterTransitionEventType.SUCCESS);
|
|
2537
|
+
}
|
|
2538
|
+
function filterTransitionEvent(type) {
|
|
2539
|
+
return filter((x) => x.type === type);
|
|
2540
|
+
}
|
|
2541
|
+
/**
|
|
2542
|
+
* Creates a new observable that uses the input DbxRouterTransitionService and DbxRouterService to determine whether or not any of the configured routes are active.
|
|
2543
|
+
*
|
|
2544
|
+
* @param obs
|
|
2545
|
+
* @param config
|
|
2546
|
+
* @returns
|
|
2547
|
+
*/
|
|
2548
|
+
function isLatestSuccessfulRoute(config) {
|
|
2549
|
+
const { dbxRouterTransitionService, dbxRouterService, activeExactly } = config;
|
|
2550
|
+
const routes = asArray(config.routes);
|
|
2551
|
+
const checkRoute = activeExactly ? (route) => dbxRouterService.isActiveExactly(route) : (route) => dbxRouterService.isActive(route);
|
|
2552
|
+
return successTransition(dbxRouterTransitionService.transitions$).pipe(startWith(undefined), map(() => {
|
|
2553
|
+
const isActive = routes.findIndex(checkRoute) !== -1;
|
|
2554
|
+
return isActive;
|
|
2555
|
+
}), distinctUntilChanged(), shareReplay(1));
|
|
2556
|
+
}
|
|
2557
|
+
|
|
2558
|
+
/**
|
|
2559
|
+
* Abstract directive that listens to onSuccess transition events and runs a function.
|
|
2560
|
+
*/
|
|
2561
|
+
class AbstractTransitionDirective {
|
|
2562
|
+
constructor(dbxRouterTransitionService) {
|
|
2563
|
+
this.dbxRouterTransitionService = dbxRouterTransitionService;
|
|
2564
|
+
this.transitionSuccess$ = successTransition(this.dbxRouterTransitionService.transitions$);
|
|
2565
|
+
this.initAndUpdateOnTransitionSuccess$ = this.transitionSuccess$.pipe(startWith(undefined));
|
|
2566
|
+
}
|
|
2567
|
+
}
|
|
2568
|
+
AbstractTransitionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionDirective, deps: [{ token: DbxRouterTransitionService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2569
|
+
AbstractTransitionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractTransitionDirective, ngImport: i0 });
|
|
2570
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionDirective, decorators: [{
|
|
2571
|
+
type: Directive
|
|
2572
|
+
}], ctorParameters: function () { return [{ type: DbxRouterTransitionService }]; } });
|
|
2573
|
+
|
|
2574
|
+
/**
|
|
2575
|
+
* Abstract directive that listens to onSuccess transition events and runs a function.
|
|
2576
|
+
*/
|
|
2577
|
+
class AbstractTransitionWatcherDirective extends AbstractTransitionDirective {
|
|
2578
|
+
constructor(dbxRouterTransitionService, ngZone) {
|
|
2579
|
+
super(dbxRouterTransitionService);
|
|
2580
|
+
this.ngZone = ngZone;
|
|
2581
|
+
this._transitionSub = new SubscriptionObject();
|
|
2582
|
+
}
|
|
2583
|
+
ngOnInit() {
|
|
2584
|
+
this._transitionSub.subscription = this.transitionSuccess$.subscribe(() => {
|
|
2585
|
+
this.updateForSuccessfulTransition();
|
|
2586
|
+
});
|
|
2587
|
+
}
|
|
2588
|
+
ngOnDestroy() {
|
|
2589
|
+
this._transitionSub.destroy();
|
|
2590
|
+
}
|
|
2591
|
+
// MARK: Action
|
|
2592
|
+
zoneUpdateForSuccessfulTransition() {
|
|
2593
|
+
this.ngZone.run(() => this.updateForSuccessfulTransition());
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
AbstractTransitionWatcherDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionWatcherDirective, deps: [{ token: DbxRouterTransitionService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2597
|
+
AbstractTransitionWatcherDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractTransitionWatcherDirective, usesInheritance: true, ngImport: i0 });
|
|
2598
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionWatcherDirective, decorators: [{
|
|
2599
|
+
type: Directive
|
|
2600
|
+
}], ctorParameters: function () { return [{ type: DbxRouterTransitionService }, { type: i0.NgZone }]; } });
|
|
2601
|
+
|
|
2602
|
+
/**
|
|
2603
|
+
* Creates an IsSegueRefActiveFunction
|
|
2604
|
+
*
|
|
2605
|
+
* @param config
|
|
2606
|
+
* @returns
|
|
2607
|
+
*/
|
|
2608
|
+
function isSegueRefActiveFunction(config) {
|
|
2609
|
+
const { dbxRouterService, segueRef, activeExactly = false } = config;
|
|
2610
|
+
const result = (activeExactly ? () => dbxRouterService.isActiveExactly(segueRef) : () => dbxRouterService.isActive(segueRef));
|
|
2611
|
+
result._segueRef = segueRef;
|
|
2612
|
+
result._activeExactly = activeExactly;
|
|
2613
|
+
return result;
|
|
2614
|
+
}
|
|
2615
|
+
|
|
2616
|
+
// MARK: Transition Events
|
|
2617
|
+
function onRouterTransitionEventType(events$, type) {
|
|
2618
|
+
return events$.pipe(filter((x) => x.type === type));
|
|
2619
|
+
}
|
|
2620
|
+
function onRouterTransitionSuccessEvent(events$) {
|
|
2621
|
+
return onRouterTransitionEventType(events$, DbxRouterTransitionEventType.SUCCESS);
|
|
2622
|
+
}
|
|
2623
|
+
// MARK: Router Service
|
|
2624
|
+
/**
|
|
2625
|
+
* Creates an observable that returns true when the route for the input segueRef is active.
|
|
2626
|
+
*
|
|
2627
|
+
* @param dbxRouterService
|
|
2628
|
+
* @param segueRef
|
|
2629
|
+
*/
|
|
2630
|
+
function isSegueRefActiveOnTransitionSuccess(config) {
|
|
2631
|
+
const isActiveFn = isSegueRefActiveFunction(config);
|
|
2632
|
+
return onRouterTransitionSuccessEvent(config.dbxRouterService.transitions$).pipe(startWith(undefined), map(() => isActiveFn()));
|
|
2633
|
+
}
|
|
2634
|
+
/**
|
|
2635
|
+
* Operator function that maps the input segueRef to a boolean depending on the current route state.
|
|
2636
|
+
*
|
|
2637
|
+
* @param dbxRouterService
|
|
2638
|
+
* @param segueRef
|
|
2639
|
+
*/
|
|
2640
|
+
function isSegueRefActive(config) {
|
|
2641
|
+
const { defaultIfNull = false } = config;
|
|
2642
|
+
return switchMap((segueRef) => {
|
|
2643
|
+
if (segueRef) {
|
|
2644
|
+
return isSegueRefActiveOnTransitionSuccess({ ...config, segueRef });
|
|
2645
|
+
}
|
|
2646
|
+
else {
|
|
2647
|
+
return of(defaultIfNull);
|
|
2648
|
+
}
|
|
2649
|
+
});
|
|
2443
2650
|
}
|
|
2444
2651
|
|
|
2445
2652
|
/**
|
|
@@ -2454,12 +2661,6 @@ function goWithRouter(dbxRouterService) {
|
|
|
2454
2661
|
};
|
|
2455
2662
|
}
|
|
2456
2663
|
|
|
2457
|
-
/**
|
|
2458
|
-
* Router service definition that provides high level information about router transitions.
|
|
2459
|
-
*/
|
|
2460
|
-
class DbxRouterTransitionService {
|
|
2461
|
-
}
|
|
2462
|
-
|
|
2463
2664
|
class DbxCoreAngularRouterSegueModule {
|
|
2464
2665
|
static forRoot() {
|
|
2465
2666
|
return {
|
|
@@ -2599,82 +2800,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
2599
2800
|
args: [{}]
|
|
2600
2801
|
}] });
|
|
2601
2802
|
|
|
2602
|
-
/**
|
|
2603
|
-
* Convenience function for filtering success from the input observable.
|
|
2604
|
-
*
|
|
2605
|
-
* @param obs
|
|
2606
|
-
* @returns
|
|
2607
|
-
*/
|
|
2608
|
-
function successTransition(obs) {
|
|
2609
|
-
return obs.pipe(filterTransitionSuccess());
|
|
2610
|
-
}
|
|
2611
|
-
function filterTransitionSuccess() {
|
|
2612
|
-
return filterTransitionEvent(DbxRouterTransitionEventType.SUCCESS);
|
|
2613
|
-
}
|
|
2614
|
-
function filterTransitionEvent(type) {
|
|
2615
|
-
return filter((x) => x.type === type);
|
|
2616
|
-
}
|
|
2617
|
-
/**
|
|
2618
|
-
* Creates a new observable that uses the input DbxRouterTransitionService and DbxRouterService to determine whether or not any of the configured routes are active.
|
|
2619
|
-
*
|
|
2620
|
-
* @param obs
|
|
2621
|
-
* @param config
|
|
2622
|
-
* @returns
|
|
2623
|
-
*/
|
|
2624
|
-
function isLatestSuccessfulRoute(config) {
|
|
2625
|
-
const { dbxRouterTransitionService, dbxRouterService, activeExactly } = config;
|
|
2626
|
-
const routes = asArray(config.routes);
|
|
2627
|
-
const checkRoute = activeExactly ? (route) => dbxRouterService.isActiveExactly(route) : (route) => dbxRouterService.isActive(route);
|
|
2628
|
-
return successTransition(dbxRouterTransitionService.transitions$).pipe(startWith(undefined), map(() => {
|
|
2629
|
-
const isActive = routes.findIndex(checkRoute) !== -1;
|
|
2630
|
-
return isActive;
|
|
2631
|
-
}), distinctUntilChanged(), shareReplay(1));
|
|
2632
|
-
}
|
|
2633
|
-
|
|
2634
|
-
/**
|
|
2635
|
-
* Abstract directive that listens to onSuccess transition events and runs a function.
|
|
2636
|
-
*/
|
|
2637
|
-
class AbstractTransitionDirective {
|
|
2638
|
-
constructor(dbxRouterTransitionService) {
|
|
2639
|
-
this.dbxRouterTransitionService = dbxRouterTransitionService;
|
|
2640
|
-
this.transitionSuccess$ = successTransition(this.dbxRouterTransitionService.transitions$);
|
|
2641
|
-
this.initAndUpdateOnTransitionSuccess$ = this.transitionSuccess$.pipe(startWith(undefined));
|
|
2642
|
-
}
|
|
2643
|
-
}
|
|
2644
|
-
AbstractTransitionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionDirective, deps: [{ token: DbxRouterTransitionService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2645
|
-
AbstractTransitionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractTransitionDirective, ngImport: i0 });
|
|
2646
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionDirective, decorators: [{
|
|
2647
|
-
type: Directive
|
|
2648
|
-
}], ctorParameters: function () { return [{ type: DbxRouterTransitionService }]; } });
|
|
2649
|
-
|
|
2650
|
-
/**
|
|
2651
|
-
* Abstract directive that listens to onSuccess transition events and runs a function.
|
|
2652
|
-
*/
|
|
2653
|
-
class AbstractTransitionWatcherDirective extends AbstractTransitionDirective {
|
|
2654
|
-
constructor(dbxRouterTransitionService, ngZone) {
|
|
2655
|
-
super(dbxRouterTransitionService);
|
|
2656
|
-
this.ngZone = ngZone;
|
|
2657
|
-
this._transitionSub = new SubscriptionObject();
|
|
2658
|
-
}
|
|
2659
|
-
ngOnInit() {
|
|
2660
|
-
this._transitionSub.subscription = this.transitionSuccess$.subscribe(() => {
|
|
2661
|
-
this.updateForSuccessfulTransition();
|
|
2662
|
-
});
|
|
2663
|
-
}
|
|
2664
|
-
ngOnDestroy() {
|
|
2665
|
-
this._transitionSub.destroy();
|
|
2666
|
-
}
|
|
2667
|
-
// MARK: Action
|
|
2668
|
-
zoneUpdateForSuccessfulTransition() {
|
|
2669
|
-
this.ngZone.run(() => this.updateForSuccessfulTransition());
|
|
2670
|
-
}
|
|
2671
|
-
}
|
|
2672
|
-
AbstractTransitionWatcherDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionWatcherDirective, deps: [{ token: DbxRouterTransitionService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2673
|
-
AbstractTransitionWatcherDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractTransitionWatcherDirective, usesInheritance: true, ngImport: i0 });
|
|
2674
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractTransitionWatcherDirective, decorators: [{
|
|
2675
|
-
type: Directive
|
|
2676
|
-
}], ctorParameters: function () { return [{ type: DbxRouterTransitionService }, { type: i0.NgZone }]; } });
|
|
2677
|
-
|
|
2678
2803
|
/**
|
|
2679
2804
|
* Utility class used for reading a single value from the DbxRouterService.
|
|
2680
2805
|
*/
|
|
@@ -3805,68 +3930,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
3805
3930
|
}]
|
|
3806
3931
|
}] });
|
|
3807
3932
|
|
|
3808
|
-
/**
|
|
3809
|
-
* Abstract FilterSource implementation.
|
|
3810
|
-
*/
|
|
3811
|
-
class AbstractFilterSourceDirective {
|
|
3812
|
-
constructor() {
|
|
3813
|
-
this._defaultFilterSource = new FilterSourceInstance();
|
|
3814
|
-
this.filter$ = this._defaultFilterSource.filter$;
|
|
3815
|
-
}
|
|
3816
|
-
ngOnInit() {
|
|
3817
|
-
this._defaultFilterSource.setDefaultFilter(this.makeDefaultFilter());
|
|
3818
|
-
}
|
|
3819
|
-
ngOnDestroy() {
|
|
3820
|
-
this._defaultFilterSource.destroy();
|
|
3821
|
-
}
|
|
3822
|
-
initWithFilter(filterObs) {
|
|
3823
|
-
this._defaultFilterSource.initWithFilter(filterObs);
|
|
3824
|
-
}
|
|
3825
|
-
setFilter(filter) {
|
|
3826
|
-
this._defaultFilterSource.setFilter(filter);
|
|
3827
|
-
}
|
|
3828
|
-
resetFilter() {
|
|
3829
|
-
this._defaultFilterSource.resetFilter();
|
|
3830
|
-
}
|
|
3831
|
-
// MARK: Internal
|
|
3832
|
-
makeDefaultFilter() {
|
|
3833
|
-
return of(undefined);
|
|
3834
|
-
}
|
|
3835
|
-
}
|
|
3836
|
-
AbstractFilterSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractFilterSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3837
|
-
AbstractFilterSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractFilterSourceDirective, ngImport: i0 });
|
|
3838
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractFilterSourceDirective, decorators: [{
|
|
3839
|
-
type: Directive
|
|
3840
|
-
}] });
|
|
3841
|
-
|
|
3842
|
-
/**
|
|
3843
|
-
* Abstract filter source for components that use an action to filter.
|
|
3844
|
-
*/
|
|
3845
|
-
class AbstractActionFilterSourceDirective extends AbstractFilterSourceDirective {
|
|
3846
|
-
constructor() {
|
|
3847
|
-
super(...arguments);
|
|
3848
|
-
/**
|
|
3849
|
-
* Pre-set action handler for the template to use to set the filter.
|
|
3850
|
-
*/
|
|
3851
|
-
this.setFilterAction = (filter) => {
|
|
3852
|
-
this.setFilter(filter);
|
|
3853
|
-
return of(true);
|
|
3854
|
-
};
|
|
3855
|
-
}
|
|
3856
|
-
applyFilter() {
|
|
3857
|
-
this.filterAction.setIsModified(true); // Force setting modified.
|
|
3858
|
-
this.filterAction.trigger();
|
|
3859
|
-
}
|
|
3860
|
-
}
|
|
3861
|
-
AbstractActionFilterSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractActionFilterSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3862
|
-
AbstractActionFilterSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractActionFilterSourceDirective, viewQueries: [{ propertyName: "filterAction", first: true, predicate: DbxActionContextStoreSourceInstance, descendants: true, read: DbxActionContextStoreSourceInstance, static: true }], usesInheritance: true, ngImport: i0 });
|
|
3863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractActionFilterSourceDirective, decorators: [{
|
|
3864
|
-
type: Directive
|
|
3865
|
-
}], propDecorators: { filterAction: [{
|
|
3866
|
-
type: ViewChild,
|
|
3867
|
-
args: [DbxActionContextStoreSourceInstance, { static: true, read: DbxActionContextStoreSourceInstance }]
|
|
3868
|
-
}] } });
|
|
3869
|
-
|
|
3870
3933
|
/**
|
|
3871
3934
|
* Abstract FilterSourceConnector directive.
|
|
3872
3935
|
*/
|
|
@@ -3915,6 +3978,77 @@ function provideFilterSourceConnector(sourceType) {
|
|
|
3915
3978
|
];
|
|
3916
3979
|
}
|
|
3917
3980
|
|
|
3981
|
+
class FilterSourceDirective {
|
|
3982
|
+
}
|
|
3983
|
+
/**
|
|
3984
|
+
* Angular provider convenience function for a FilterSourceDirective.
|
|
3985
|
+
*/
|
|
3986
|
+
function provideFilterSourceDirective(sourceType) {
|
|
3987
|
+
return [
|
|
3988
|
+
{
|
|
3989
|
+
provide: FilterSourceDirective,
|
|
3990
|
+
useExisting: forwardRef(() => sourceType)
|
|
3991
|
+
},
|
|
3992
|
+
...provideFilterSource(sourceType)
|
|
3993
|
+
];
|
|
3994
|
+
}
|
|
3995
|
+
/**
|
|
3996
|
+
* Abstract FilterSource implementation and directive.
|
|
3997
|
+
*/
|
|
3998
|
+
class AbstractFilterSourceDirective {
|
|
3999
|
+
constructor() {
|
|
4000
|
+
this._defaultFilterSource = new FilterSourceInstance();
|
|
4001
|
+
this.filter$ = this._defaultFilterSource.filter$;
|
|
4002
|
+
}
|
|
4003
|
+
ngOnInit() {
|
|
4004
|
+
this._defaultFilterSource.setDefaultFilter(this.makeDefaultFilter());
|
|
4005
|
+
}
|
|
4006
|
+
ngOnDestroy() {
|
|
4007
|
+
this._defaultFilterSource.destroy();
|
|
4008
|
+
}
|
|
4009
|
+
initWithFilter(filterObs) {
|
|
4010
|
+
this._defaultFilterSource.initWithFilter(filterObs);
|
|
4011
|
+
}
|
|
4012
|
+
setFilter(filter) {
|
|
4013
|
+
this._defaultFilterSource.setFilter(filter);
|
|
4014
|
+
}
|
|
4015
|
+
resetFilter() {
|
|
4016
|
+
this._defaultFilterSource.resetFilter();
|
|
4017
|
+
}
|
|
4018
|
+
// MARK: Internal
|
|
4019
|
+
makeDefaultFilter() {
|
|
4020
|
+
return of(this.defaultFilterValue);
|
|
4021
|
+
}
|
|
4022
|
+
}
|
|
4023
|
+
AbstractFilterSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractFilterSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4024
|
+
AbstractFilterSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: AbstractFilterSourceDirective, ngImport: i0 });
|
|
4025
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AbstractFilterSourceDirective, decorators: [{
|
|
4026
|
+
type: Directive
|
|
4027
|
+
}] });
|
|
4028
|
+
|
|
4029
|
+
/**
|
|
4030
|
+
* Connects the host FilterSource to a FilterSourceConnector.
|
|
4031
|
+
*/
|
|
4032
|
+
class DbxFilterConnectSourceDirective {
|
|
4033
|
+
constructor(filterSource, filterSourceConnector) {
|
|
4034
|
+
this.filterSource = filterSource;
|
|
4035
|
+
this.filterSourceConnector = filterSourceConnector;
|
|
4036
|
+
}
|
|
4037
|
+
ngOnInit() {
|
|
4038
|
+
this.filterSourceConnector.connectWithSource(this.filterSource);
|
|
4039
|
+
}
|
|
4040
|
+
}
|
|
4041
|
+
DbxFilterConnectSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFilterConnectSourceDirective, deps: [{ token: i1$5.FilterSource, host: true }, { token: i1$5.FilterSourceConnector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4042
|
+
DbxFilterConnectSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFilterConnectSourceDirective, selector: "[dbxFilterConnectSource]", ngImport: i0 });
|
|
4043
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFilterConnectSourceDirective, decorators: [{
|
|
4044
|
+
type: Directive,
|
|
4045
|
+
args: [{
|
|
4046
|
+
selector: '[dbxFilterConnectSource]'
|
|
4047
|
+
}]
|
|
4048
|
+
}], ctorParameters: function () { return [{ type: i1$5.FilterSource, decorators: [{
|
|
4049
|
+
type: Host
|
|
4050
|
+
}] }, { type: i1$5.FilterSourceConnector }]; } });
|
|
4051
|
+
|
|
3918
4052
|
/**
|
|
3919
4053
|
* Used as a FilterSource and FilterSourceConnector.
|
|
3920
4054
|
*/
|
|
@@ -3969,13 +4103,13 @@ class DbxFilterMapSourceDirective extends AbstractDbxFilterMapInstanceDirective
|
|
|
3969
4103
|
}
|
|
3970
4104
|
}
|
|
3971
4105
|
DbxFilterMapSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFilterMapSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3972
|
-
DbxFilterMapSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFilterMapSourceDirective, selector: "[dbxFilterMapSource]", inputs: { key: ["dbxFilterMapSource", "key"] }, providers: [
|
|
4106
|
+
DbxFilterMapSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFilterMapSourceDirective, selector: "[dbxFilterMapSource]", inputs: { key: ["dbxFilterMapSource", "key"] }, providers: [provideFilterSource(DbxFilterMapSourceDirective)], exportAs: ["dbxFilterMapSource"], usesInheritance: true, ngImport: i0 });
|
|
3973
4107
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFilterMapSourceDirective, decorators: [{
|
|
3974
4108
|
type: Directive,
|
|
3975
4109
|
args: [{
|
|
3976
4110
|
selector: '[dbxFilterMapSource]',
|
|
3977
4111
|
exportAs: 'dbxFilterMapSource',
|
|
3978
|
-
providers: [
|
|
4112
|
+
providers: [provideFilterSource(DbxFilterMapSourceDirective)]
|
|
3979
4113
|
}]
|
|
3980
4114
|
}], propDecorators: { key: [{
|
|
3981
4115
|
type: Input,
|
|
@@ -4039,26 +4173,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
4039
4173
|
class DbxFilterSourceDirective extends AbstractFilterSourceDirective {
|
|
4040
4174
|
}
|
|
4041
4175
|
DbxFilterSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFilterSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4042
|
-
DbxFilterSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFilterSourceDirective, selector: "[dbxFilterSource]", providers:
|
|
4176
|
+
DbxFilterSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: DbxFilterSourceDirective, selector: "[dbxFilterSource]", providers: provideFilterSourceDirective(DbxFilterSourceDirective), usesInheritance: true, ngImport: i0 });
|
|
4043
4177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFilterSourceDirective, decorators: [{
|
|
4044
4178
|
type: Directive,
|
|
4045
4179
|
args: [{
|
|
4046
4180
|
selector: '[dbxFilterSource]',
|
|
4047
|
-
providers:
|
|
4181
|
+
providers: provideFilterSourceDirective(DbxFilterSourceDirective)
|
|
4048
4182
|
}]
|
|
4049
4183
|
}] });
|
|
4050
4184
|
|
|
4051
4185
|
class DbxCoreFilterModule {
|
|
4052
4186
|
}
|
|
4053
4187
|
DbxCoreFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxCoreFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4054
|
-
DbxCoreFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxCoreFilterModule, declarations: [DbxFilterSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective], imports: [CommonModule], exports: [DbxFilterSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective] });
|
|
4188
|
+
DbxCoreFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DbxCoreFilterModule, declarations: [DbxFilterSourceDirective, DbxFilterConnectSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective], imports: [CommonModule], exports: [DbxFilterSourceDirective, DbxFilterConnectSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective] });
|
|
4055
4189
|
DbxCoreFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxCoreFilterModule, imports: [CommonModule] });
|
|
4056
4190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxCoreFilterModule, decorators: [{
|
|
4057
4191
|
type: NgModule,
|
|
4058
4192
|
args: [{
|
|
4059
4193
|
imports: [CommonModule],
|
|
4060
|
-
declarations: [DbxFilterSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective],
|
|
4061
|
-
exports: [DbxFilterSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective]
|
|
4194
|
+
declarations: [DbxFilterSourceDirective, DbxFilterConnectSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective],
|
|
4195
|
+
exports: [DbxFilterSourceDirective, DbxFilterConnectSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective]
|
|
4062
4196
|
}]
|
|
4063
4197
|
}] });
|
|
4064
4198
|
|
|
@@ -4843,5 +4977,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
|
|
|
4843
4977
|
* Generated bundle index. Do not edit.
|
|
4844
4978
|
*/
|
|
4845
4979
|
|
|
4846
|
-
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY,
|
|
4980
|
+
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_DISABLED_ON_SUCCESS_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractDbxActionHandlerDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, DBX_ACTION_HANDLER_LOCK_KEY, DBX_APP_APP_CONTEXT_STATE, DBX_APP_AUTH_ROUTER_EFFECTS_TOKEN, DBX_AUTH_APP_CONTEXT_STATE, DBX_INIT_APP_CONTEXT_STATE, DBX_INJECTION_COMPONENT_DATA, DBX_KNOWN_APP_CONTEXT_STATES, DBX_ONBOARDING_APP_CONTEXT_STATE, DBX_PUBLIC_APP_CONTEXT_STATE, DEFAULT_ACTION_DISABLED_KEY, DEFAULT_ACTION_MAP_WORKING_DISABLED_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_KEY, DEFAULT_REDIRECT_FOR_USER_IDENTIFIER_PARAM_VALUE, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMachineAsService, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionDisabledOnSuccessDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHandlerInstance, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionPreSuccessDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthNotAnyRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterConnectSourceDirective, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, FilterSourceDirective, FullLocalStorageObject, InstantStorageAccessor, LimitedStorageAccessor, LockSetComponentStore, MemoryStorageObject, MinutesStringPipe, NO_AUTH_USER_IDENTIFIER, PrettyJsonPipe, SecondaryActionContextStoreSource, SimpleStorageAccessor, SimpleStorageAccessorFactory, StorageAccessor, StringStorageAccessor, StringifySimpleStorageAccessorConverter, TimeDistanceCountdownPipe, TimeDistancePipe, ToJsDatePipe, ToMinutesPipe, WrapperSimpleStorageAccessorDelegate, actionContextHasNoErrorAndIsModifiedAndCanTrigger, actionContextIsModifiedAndCanTrigger, actionContextStoreSourceInstanceFactory, actionContextStoreSourceMachineFactory, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authRolesSetContainsNoRolesFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, clickableUrlInNewTab, dbxActionValueStreamDirective, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isLatestSuccessfulRoute, isSegueRef, isSegueRefActive, isSegueRefActiveFunction, isSegueRefActiveOnTransitionSuccess, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, onRouterTransitionEventType, onRouterTransitionSuccessEvent, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideFilterSourceDirective, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, redirectForUserIdentifierParamHook, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, tapSafeMarkForCheck, useActionStore };
|
|
4847
4981
|
//# sourceMappingURL=dereekb-dbx-core.mjs.map
|