@dereekb/dbx-core 8.1.2 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/router/router/index.mjs +2 -1
- package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +34 -15
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +29 -8
- package/esm2020/lib/router/router/service/router.service.mjs +1 -1
- package/esm2020/lib/router/router/util/index.mjs +3 -0
- package/esm2020/lib/router/router/util/route.default.mjs +62 -0
- package/esm2020/lib/router/router/util/route.reader.mjs +34 -0
- package/fesm2015/dereekb-dbx-core.mjs +145 -17
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +149 -22
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/router/router/index.d.ts +1 -0
- package/lib/router/router/provider/angular/angular.router.service.d.ts +3 -1
- package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +6 -3
- package/lib/router/router/service/router.service.d.ts +6 -0
- package/lib/router/router/util/index.d.ts +2 -0
- package/lib/router/router/util/route.default.d.ts +20 -0
- package/lib/router/router/util/route.reader.d.ts +52 -0
- package/package.json +4 -4
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './provider';
|
|
2
2
|
export * from './transition';
|
|
3
3
|
export * from './service';
|
|
4
|
-
|
|
4
|
+
export * from './util';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3JvdXRlci9yb3V0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlsJztcbiJdfQ==
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { combineLatest, firstValueFrom } from 'rxjs';
|
|
2
|
+
import { asObservable, filterMaybe } from '@dereekb/rxjs';
|
|
2
3
|
import { asSegueRef } from '../../../segue';
|
|
3
4
|
import { DbxRouterTransitionEventType } from '../../transition/transition';
|
|
4
5
|
import { ActivatedRoute, NavigationEnd, NavigationStart, Router } from '@angular/router';
|
|
5
6
|
import { Injectable } from '@angular/core';
|
|
6
7
|
import { isArray } from 'class-validator';
|
|
7
8
|
import { map } from 'rxjs/operators';
|
|
9
|
+
import { KeyValueTypleValueFilter, mergeObjects } from '@dereekb/util';
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
11
|
import * as i1 from "@angular/router";
|
|
10
12
|
/**
|
|
@@ -31,19 +33,36 @@ export class DbxAngularRouterService {
|
|
|
31
33
|
}), filterMaybe());
|
|
32
34
|
}
|
|
33
35
|
go(input) {
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
const inputObs = asObservable(input);
|
|
37
|
+
return firstValueFrom(inputObs).then((inputSegueRef) => {
|
|
38
|
+
const segueRef = asSegueRef(inputSegueRef);
|
|
39
|
+
const ref = segueRef.ref;
|
|
40
|
+
if (isArray(ref)) {
|
|
41
|
+
return this.router.navigate(ref, {
|
|
42
|
+
...segueRef.refOptions,
|
|
43
|
+
queryParams: segueRef.refParams
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return this.router.navigateByUrl(ref, {
|
|
48
|
+
...segueRef.refOptions
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
updateParams(inputParams) {
|
|
54
|
+
const segueUpdate = combineLatest([this.activatedRoute.params, asObservable(inputParams)]).pipe(map(([currentParams, params]) => {
|
|
55
|
+
const refParams = mergeObjects([currentParams, params], KeyValueTypleValueFilter.UNDEFINED);
|
|
56
|
+
const segueRef = {
|
|
57
|
+
ref: this.activatedRoute.pathFromRoot,
|
|
58
|
+
refParams,
|
|
59
|
+
refOptions: {
|
|
60
|
+
replaceUrl: true
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return segueRef;
|
|
64
|
+
}));
|
|
65
|
+
return this.go(segueUpdate);
|
|
47
66
|
}
|
|
48
67
|
isActive(segueRef) {
|
|
49
68
|
return false; // TODO!
|
|
@@ -57,4 +76,4 @@ DbxAngularRouterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
|
57
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxAngularRouterService, decorators: [{
|
|
58
77
|
type: Injectable
|
|
59
78
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvcm91dGVyL3JvdXRlci9wcm92aWRlci9hbmd1bGFyL2FuZ3VsYXIucm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxVQUFVLEVBQWtFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUcsT0FBTyxFQUE0Qiw0QkFBNEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxjQUFjLEVBQTZCLGFBQWEsRUFBb0IsZUFBZSxFQUFVLE1BQU0sRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsd0JBQXdCLEVBQVMsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFOUU7O0dBRUc7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBc0JsQyxZQUFxQixNQUFjLEVBQVcsY0FBOEI7UUFBdkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFXLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXJCbkUsWUFBTyxHQUF1QyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUV6RSxpQkFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDUixJQUFJLEtBQXNDLENBQUM7WUFFM0MsSUFBSSxDQUFDLFlBQVksZUFBZSxFQUFFO2dCQUNoQyxLQUFLLEdBQUc7b0JBQ04sSUFBSSxFQUFFLDRCQUE0QixDQUFDLEtBQUs7aUJBQ3pDLENBQUM7YUFDSDtpQkFBTSxJQUFJLENBQUMsWUFBWSxhQUFhLEVBQUU7Z0JBQ3JDLEtBQUssR0FBRztvQkFDTixJQUFJLEVBQUUsNEJBQTRCLENBQUMsT0FBTztpQkFDM0MsQ0FBQzthQUNIO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsRUFDRixXQUFXLEVBQUUsQ0FDZCxDQUFDO0lBRTZFLENBQUM7SUFFaEYsRUFBRSxDQUFDLEtBQW9HO1FBQ3JHLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUNyRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDM0MsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUV6QixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFnQixFQUFFO29CQUM1QyxHQUFHLFFBQVEsQ0FBQyxVQUFVO29CQUN0QixXQUFXLEVBQUUsUUFBUSxDQUFDLFNBQVM7aUJBQ2hDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBdUIsRUFBRTtvQkFDeEQsR0FBRyxRQUFRLENBQUMsVUFBVTtpQkFDdkIsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsV0FBc0Q7UUFDakUsTUFBTSxXQUFXLEdBQTJGLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNyTCxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQzlCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1RixNQUFNLFFBQVEsR0FBMkQ7Z0JBQ3ZFLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVk7Z0JBQ3JDLFNBQVM7Z0JBQ1QsVUFBVSxFQUFFO29CQUNWLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjthQUNGLENBQUM7WUFFRixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsUUFBc0M7UUFDN0MsT0FBTyxLQUFLLENBQUMsQ0FBQyxRQUFRO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUErQixFQUFFLENBQStCO1FBQy9FLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUTtJQUNwQixDQUFDOztvSEFwRVUsdUJBQXVCO3dIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhc09ic2VydmFibGUsIGZpbHRlck1heWJlLCBPYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4Um91dGVyU2VydmljZSwgRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlJztcbmltcG9ydCB7IGFzU2VndWVSZWYsIFNlZ3VlUmVmLCBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rLCBTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2VndWUnO1xuaW1wb3J0IHsgRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50LCBEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnRUeXBlIH0gZnJvbSAnLi4vLi4vdHJhbnNpdGlvbi90cmFuc2l0aW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uRXh0cmFzLCBOYXZpZ2F0aW9uU3RhcnQsIFBhcmFtcywgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdjbGFzcy12YWxpZGF0b3InO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2V5VmFsdWVUeXBsZVZhbHVlRmlsdGVyLCBNYXliZSwgbWVyZ2VPYmplY3RzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogQW5ndWxhclJvdXRlciBpbXBsZW1lbnRhdGlvbiBvZiBEYnhSb3V0ZXJTZXJ2aWNlIGFuZCBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEFuZ3VsYXJSb3V0ZXJTZXJ2aWNlIGltcGxlbWVudHMgRGJ4Um91dGVyU2VydmljZSwgRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2Uge1xuICByZWFkb25seSBwYXJhbXMkOiBPYnNlcnZhYmxlPFNlZ3VlUmVmUmF3U2VndWVQYXJhbXM+ID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXM7XG5cbiAgcmVhZG9ubHkgdHJhbnNpdGlvbnMkID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB7XG4gICAgICBsZXQgZXZlbnQ6IE1heWJlPERieFJvdXRlclRyYW5zaXRpb25FdmVudD47XG5cbiAgICAgIGlmICh4IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIGV2ZW50ID0ge1xuICAgICAgICAgIHR5cGU6IERieFJvdXRlclRyYW5zaXRpb25FdmVudFR5cGUuU1RBUlRcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoeCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgZXZlbnQgPSB7XG4gICAgICAgICAgdHlwZTogRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50VHlwZS5TVUNDRVNTXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBldmVudDtcbiAgICB9KSxcbiAgICBmaWx0ZXJNYXliZSgpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBnbyhpbnB1dDogT2JzZXJ2YWJsZU9yVmFsdWU8U2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluazxOYXZpZ2F0aW9uRXh0cmFzIHwgTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9ucz4+KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaW5wdXRPYnMgPSBhc09ic2VydmFibGUoaW5wdXQpO1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShpbnB1dE9icykudGhlbigoaW5wdXRTZWd1ZVJlZikgPT4ge1xuICAgICAgY29uc3Qgc2VndWVSZWYgPSBhc1NlZ3VlUmVmKGlucHV0U2VndWVSZWYpO1xuICAgICAgY29uc3QgcmVmID0gc2VndWVSZWYucmVmO1xuXG4gICAgICBpZiAoaXNBcnJheShyZWYpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShyZWYgYXMgdW5rbm93bltdLCB7XG4gICAgICAgICAgLi4uc2VndWVSZWYucmVmT3B0aW9ucyxcbiAgICAgICAgICBxdWVyeVBhcmFtczogc2VndWVSZWYucmVmUGFyYW1zXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocmVmIGFzIHN0cmluZyB8IFVybFRyZWUsIHtcbiAgICAgICAgICAuLi5zZWd1ZVJlZi5yZWZPcHRpb25zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlUGFyYW1zKGlucHV0UGFyYW1zOiBPYnNlcnZhYmxlT3JWYWx1ZTxTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHNlZ3VlVXBkYXRlOiBPYnNlcnZhYmxlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms8TmF2aWdhdGlvbkV4dHJhcyB8IE5hdmlnYXRpb25CZWhhdmlvck9wdGlvbnM+PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLCBhc09ic2VydmFibGUoaW5wdXRQYXJhbXMpXSkucGlwZShcbiAgICAgIG1hcCgoW2N1cnJlbnRQYXJhbXMsIHBhcmFtc10pID0+IHtcbiAgICAgICAgY29uc3QgcmVmUGFyYW1zID0gbWVyZ2VPYmplY3RzKFtjdXJyZW50UGFyYW1zLCBwYXJhbXNdLCBLZXlWYWx1ZVR5cGxlVmFsdWVGaWx0ZXIuVU5ERUZJTkVEKTtcbiAgICAgICAgY29uc3Qgc2VndWVSZWY6IFNlZ3VlUmVmPE5hdmlnYXRpb25FeHRyYXMgfCBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zPiA9IHtcbiAgICAgICAgICByZWY6IHRoaXMuYWN0aXZhdGVkUm91dGUucGF0aEZyb21Sb290LFxuICAgICAgICAgIHJlZlBhcmFtcyxcbiAgICAgICAgICByZWZPcHRpb25zOiB7XG4gICAgICAgICAgICByZXBsYWNlVXJsOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBzZWd1ZVJlZjtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmdvKHNlZ3VlVXBkYXRlKTtcbiAgfVxuXG4gIGlzQWN0aXZlKHNlZ3VlUmVmOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlOyAvLyBUT0RPIVxuICB9XG5cbiAgY29tcGFyZVByZWNpc2lvbihhOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rLCBiOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMDsgLy8gVE9ETyFcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { KeyValueTypleValueFilter, mergeObjects } from '@dereekb/util';
|
|
2
|
+
import { Subject, BehaviorSubject, firstValueFrom, map } from 'rxjs';
|
|
2
3
|
import { asSegueRef, asSegueRefString } from '../../../segue';
|
|
3
4
|
import { StateService, UIRouterGlobals, TransitionService } from '@uirouter/core';
|
|
4
5
|
import { Injectable } from '@angular/core';
|
|
5
6
|
import { DbxRouterTransitionEventType } from '../../transition/transition';
|
|
7
|
+
import { asObservable } from '@dereekb/rxjs';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@uirouter/core";
|
|
8
10
|
/**
|
|
@@ -37,12 +39,31 @@ export class DbxUIRouterService {
|
|
|
37
39
|
return this.uiRouterGlobals.params;
|
|
38
40
|
}
|
|
39
41
|
go(input) {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.
|
|
44
|
-
.
|
|
45
|
-
|
|
42
|
+
const inputObs = asObservable(input);
|
|
43
|
+
return firstValueFrom(inputObs).then((inputSegueRef) => {
|
|
44
|
+
const segueRef = asSegueRef(inputSegueRef);
|
|
45
|
+
const params = { ...this.uiRouterGlobals.current.params, ...segueRef.refParams };
|
|
46
|
+
return this.state
|
|
47
|
+
.go(segueRef.ref, params, segueRef.refOptions)
|
|
48
|
+
.then(() => true)
|
|
49
|
+
.catch(() => false);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
updateParams(inputParams) {
|
|
53
|
+
const segueUpdate = asObservable(inputParams).pipe(map((params) => {
|
|
54
|
+
const currentParams = this.uiRouterGlobals.params;
|
|
55
|
+
const refParams = mergeObjects([currentParams, params], KeyValueTypleValueFilter.UNDEFINED);
|
|
56
|
+
const ref = {
|
|
57
|
+
ref: '.',
|
|
58
|
+
refParams,
|
|
59
|
+
refOptions: {
|
|
60
|
+
location: 'replace',
|
|
61
|
+
inherit: true
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return ref;
|
|
65
|
+
}));
|
|
66
|
+
return this.go(segueUpdate);
|
|
46
67
|
}
|
|
47
68
|
isActive(input) {
|
|
48
69
|
const segueRef = asSegueRef(input);
|
|
@@ -65,4 +86,4 @@ DbxUIRouterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", v
|
|
|
65
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxUIRouterService, decorators: [{
|
|
66
87
|
type: Injectable
|
|
67
88
|
}], ctorParameters: function () { return [{ type: i1.StateService }, { type: i1.TransitionService }, { type: i1.UIRouterGlobals }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlyb3V0ZXIucm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3JvdXRlci9yb3V0ZXIvcHJvdmlkZXIvdWlyb3V0ZXIvdWlyb3V0ZXIucm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQyx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQXlCLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBa0UsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5SCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBNEIsNEJBQTRCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEVBQXFCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRWhFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQU83QixZQUFxQixLQUFtQixFQUFXLGlCQUFvQyxFQUFXLGVBQWdDO1FBQTdHLFVBQUssR0FBTCxLQUFLLENBQWM7UUFBVyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQVcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTmpILFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBeUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRixZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU5QixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUE0QixDQUFDO1FBQy9ELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUd2RCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQWtDLEVBQUUsRUFBRTtZQUM1RCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckIsSUFBSTthQUNMLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFO1lBQ3RDLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRTtZQUN4QyxjQUFjLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDckMsQ0FBQztJQUVELEVBQUUsQ0FBQyxLQUF5RTtRQUMxRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDckQsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakYsT0FBTyxJQUFJLENBQUMsS0FBSztpQkFDZCxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQWEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQztpQkFDdkQsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDaEIsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxXQUFzRDtRQUNqRSxNQUFNLFdBQVcsR0FBZ0UsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDN0csR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUNsRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEVBQUUsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFNUYsTUFBTSxHQUFHLEdBQWdDO2dCQUN2QyxHQUFHLEVBQUUsR0FBRztnQkFDUixTQUFTO2dCQUNULFVBQVUsRUFBRTtvQkFDVixRQUFRLEVBQUUsU0FBUztvQkFDbkIsT0FBTyxFQUFFLElBQUk7aUJBQ2Q7YUFDRixDQUFDO1lBRUYsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBbUM7UUFDMUMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFhLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUVyQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFvQyxFQUFFLE1BQW9DO1FBQ3pGLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QixPQUFPLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDOzsrR0FwRlUsa0JBQWtCO21IQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbHRlck51bGxBbmRVbmRlZmluZWRWYWx1ZXMsIEtleVZhbHVlVHlwbGVWYWx1ZUZpbHRlciwgbWVyZ2VPYmplY3RzIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdWJqZWN0LCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgZmlyc3RWYWx1ZUZyb20sIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4Um91dGVyU2VydmljZSwgRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlJztcbmltcG9ydCB7IGFzU2VndWVSZWYsIGFzU2VndWVSZWZTdHJpbmcsIFNlZ3VlUmVmLCBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rLCBTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2VndWUnO1xuaW1wb3J0IHsgU3RhdGVTZXJ2aWNlLCBVSVJvdXRlckdsb2JhbHMsIFRyYW5zaXRpb25PcHRpb25zLCBUcmFuc2l0aW9uU2VydmljZSB9IGZyb20gJ0B1aXJvdXRlci9jb3JlJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50LCBEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnRUeXBlIH0gZnJvbSAnLi4vLi4vdHJhbnNpdGlvbi90cmFuc2l0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlLCBhc09ic2VydmFibGUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuLyoqXG4gKiBVSVJvdXRlciBpbXBsZW1lbnRhdGlvbiBvZiBEYnhSb3V0ZXJTZXJ2aWNlIGFuZCBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieFVJUm91dGVyU2VydmljZSBpbXBsZW1lbnRzIERieFJvdXRlclNlcnZpY2UsIERieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJhbXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNlZ3VlUmVmUmF3U2VndWVQYXJhbXM+KHRoaXMudWlSb3V0ZXJHbG9iYWxzLnBhcmFtcyk7XG4gIHJlYWRvbmx5IHBhcmFtcyQgPSB0aGlzLl9wYXJhbXMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNpdGlvbnMgPSBuZXcgU3ViamVjdDxEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnQ+KCk7XG4gIHJlYWRvbmx5IHRyYW5zaXRpb25zJCA9IHRoaXMuX3RyYW5zaXRpb25zLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHN0YXRlOiBTdGF0ZVNlcnZpY2UsIHJlYWRvbmx5IHRyYW5zaXRpb25TZXJ2aWNlOiBUcmFuc2l0aW9uU2VydmljZSwgcmVhZG9ubHkgdWlSb3V0ZXJHbG9iYWxzOiBVSVJvdXRlckdsb2JhbHMpIHtcbiAgICBjb25zdCBlbWl0VHJhbnNpdGlvbiA9ICh0eXBlOiBEYnhSb3V0ZXJUcmFuc2l0aW9uRXZlbnRUeXBlKSA9PiB7XG4gICAgICB0aGlzLl90cmFuc2l0aW9ucy5uZXh0KHtcbiAgICAgICAgdHlwZVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuX3BhcmFtcy5uZXh0KHRoaXMudWlSb3V0ZXJHbG9iYWxzLnBhcmFtcyk7XG4gICAgfTtcblxuICAgIHRoaXMudHJhbnNpdGlvblNlcnZpY2Uub25TdGFydCh7fSwgKCkgPT4ge1xuICAgICAgZW1pdFRyYW5zaXRpb24oRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50VHlwZS5TVEFSVCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnRyYW5zaXRpb25TZXJ2aWNlLm9uU3VjY2Vzcyh7fSwgKCkgPT4ge1xuICAgICAgZW1pdFRyYW5zaXRpb24oRGJ4Um91dGVyVHJhbnNpdGlvbkV2ZW50VHlwZS5TVUNDRVNTKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zaXRpb25zLmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXQgcGFyYW1zKCkge1xuICAgIHJldHVybiB0aGlzLnVpUm91dGVyR2xvYmFscy5wYXJhbXM7XG4gIH1cblxuICBnbyhpbnB1dDogT2JzZXJ2YWJsZU9yVmFsdWU8U2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluazxUcmFuc2l0aW9uT3B0aW9ucz4+KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgaW5wdXRPYnMgPSBhc09ic2VydmFibGUoaW5wdXQpO1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShpbnB1dE9icykudGhlbigoaW5wdXRTZWd1ZVJlZikgPT4ge1xuICAgICAgY29uc3Qgc2VndWVSZWYgPSBhc1NlZ3VlUmVmKGlucHV0U2VndWVSZWYpO1xuICAgICAgY29uc3QgcGFyYW1zID0geyAuLi50aGlzLnVpUm91dGVyR2xvYmFscy5jdXJyZW50LnBhcmFtcywgLi4uc2VndWVSZWYucmVmUGFyYW1zIH07XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZVxuICAgICAgICAuZ28oc2VndWVSZWYucmVmIGFzIHN0cmluZywgcGFyYW1zLCBzZWd1ZVJlZi5yZWZPcHRpb25zKVxuICAgICAgICAudGhlbigoKSA9PiB0cnVlKVxuICAgICAgICAuY2F0Y2goKCkgPT4gZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlUGFyYW1zKGlucHV0UGFyYW1zOiBPYnNlcnZhYmxlT3JWYWx1ZTxTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHNlZ3VlVXBkYXRlOiBPYnNlcnZhYmxlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms8VHJhbnNpdGlvbk9wdGlvbnM+PiA9IGFzT2JzZXJ2YWJsZShpbnB1dFBhcmFtcykucGlwZShcbiAgICAgIG1hcCgocGFyYW1zKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnVpUm91dGVyR2xvYmFscy5wYXJhbXM7XG4gICAgICAgIGNvbnN0IHJlZlBhcmFtcyA9IG1lcmdlT2JqZWN0cyhbY3VycmVudFBhcmFtcywgcGFyYW1zXSwgS2V5VmFsdWVUeXBsZVZhbHVlRmlsdGVyLlVOREVGSU5FRCk7XG5cbiAgICAgICAgY29uc3QgcmVmOiBTZWd1ZVJlZjxUcmFuc2l0aW9uT3B0aW9ucz4gPSB7XG4gICAgICAgICAgcmVmOiAnLicsXG4gICAgICAgICAgcmVmUGFyYW1zLFxuICAgICAgICAgIHJlZk9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxvY2F0aW9uOiAncmVwbGFjZScsXG4gICAgICAgICAgICBpbmhlcml0OiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiByZWY7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gdGhpcy5nbyhzZWd1ZVVwZGF0ZSk7XG4gIH1cblxuICBpc0FjdGl2ZShpbnB1dDogU2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluayk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNlZ3VlUmVmID0gYXNTZWd1ZVJlZihpbnB1dCk7XG4gICAgY29uc3QgcmVmID0gc2VndWVSZWYucmVmIGFzIHN0cmluZztcbiAgICBjb25zdCByZWZQYXJhbXMgPSBzZWd1ZVJlZi5yZWZQYXJhbXM7XG5cbiAgICBjb25zdCB0YXJnZXRSZWYgPSByZWYuc3RhcnRzV2l0aCgnLicpID8gYF4ke3JlZn1gIDogcmVmO1xuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuc3RhdGUuaW5jbHVkZXModGFyZ2V0UmVmLCByZWZQYXJhbXMpO1xuICAgIHJldHVybiBhY3RpdmU7XG4gIH1cblxuICBjb21wYXJlUHJlY2lzaW9uKGFJbnB1dDogU2VndWVSZWZPclNlZ3VlUmVmUm91dGVyTGluaywgYklucHV0OiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKTogbnVtYmVyIHtcbiAgICBjb25zdCBhUmVmID0gYXNTZWd1ZVJlZlN0cmluZyhhSW5wdXQpO1xuICAgIGNvbnN0IGJSZWYgPSBhc1NlZ3VlUmVmU3RyaW5nKGJJbnB1dCk7XG5cbiAgICBjb25zdCBhTGVuZ3RoID0gYVJlZi5sZW5ndGg7XG4gICAgY29uc3QgYkxlbmd0aCA9IGJSZWYubGVuZ3RoO1xuICAgIHJldHVybiBhTGVuZ3RoID4gYkxlbmd0aCA/IDEgOiBhTGVuZ3RoID09PSBiTGVuZ3RoID8gMCA6IC0xO1xuICB9XG59XG4iXX0=
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export class DbxRouterService {
|
|
5
5
|
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3JvdXRlci9yb3V0ZXIvc2VydmljZS9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsZ0JBQWdCO0NBcUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rLCBTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zIH0gZnJvbSAnLi4vLi4vc2VndWUnO1xuXG4vKipcbiAqIFJvdXRlciBzZXJ2aWNlIGRlZmluaXRpb24gdGhhdCBjYW4gcm91dGUgdGhlIGFwcCBhbmQgcHJvdmlkZSByb3V0aW5nIGRldGFpbHMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhSb3V0ZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFBhcmFtcyBvZiB0aGUgY3VycmVudCBzdWNjZXNzZnVsbHkgbG9hZGVkIHJvdXRlLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgcGFyYW1zJDogT2JzZXJ2YWJsZTxTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zPjtcblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSB0YXJnZXQgU2VndWVSZWYuXG4gICAqXG4gICAqIEBwYXJhbSBzZWd1ZVJlZlxuICAgKi9cbiAgYWJzdHJhY3QgZ28oc2VndWVSZWY6IE9ic2VydmFibGVPclZhbHVlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms+KTogUHJvbWlzZTxib29sZWFuPjtcblxuICAvKipcbiAgICogTmF2aWdhdGVzIHRvIHRoZSBjdXJyZW50IHVybCB3aXRoIHVwZGF0ZWQgcGFyYW1ldGVycy4gV2lsbCBiZSBtZXJnZWQgd2l0aCB0aGUgZXhpc3RpbmcgcGFyYW1ldGVycy5cbiAgICpcbiAgICogQHBhcmFtIHNlZ3VlUmVmXG4gICAqL1xuICBhYnN0cmFjdCB1cGRhdGVQYXJhbXMocGFyYW1zOiBPYnNlcnZhYmxlT3JWYWx1ZTxTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zPik6IFByb21pc2U8Ym9vbGVhbj47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgaW5wdXQgc2VndWUgcmVmIGlzIGNvbnNpZGVyZWQgYWN0aXZlLlxuICAgKlxuICAgKiBAcGFyYW0gc2VndWVSZWZcbiAgICovXG4gIGFic3RyYWN0IGlzQWN0aXZlKHNlZ3VlUmVmOiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29tcGFyZXMgdGhlIHR3byByZWZzIGZvciBwcmVjaXNpb24gZm9yIGEgY2VydGFpbiByb3V0ZS5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoZSBwYXJlbnQgcm91dGUgaXMgaW5wdXQgd2l0aCBhIGNoaWxkIHJvdXRlLCB0aGUgY2hpbGQgcm91dGUgaXNcbiAgICogY29uc2lkZXJlZCBtb3JlIHByZWNpc2UuXG4gICAqXG4gICAqIEBwYXJhbSBhXG4gICAqIEBwYXJhbSBiXG4gICAqL1xuICBhYnN0cmFjdCBjb21wYXJlUHJlY2lzaW9uKGE6IFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbmssIGI6IFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbmspOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './route.reader';
|
|
2
|
+
export * from './route.default';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3JvdXRlci9yb3V0ZXIvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JvdXRlLnJlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlLmRlZmF1bHQnO1xuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BehaviorSubject, EMPTY, switchMap, of } from 'rxjs';
|
|
2
|
+
import { defaultForwardFunctionFactory } from '@dereekb/util';
|
|
3
|
+
import { SubscriptionObject, switchMapToDefault, filterMaybe } from '@dereekb/rxjs';
|
|
4
|
+
const DEFAULT_REDIRECT_INSTANCE_FORWARD_FACTORY = defaultForwardFunctionFactory((value) => of(value == null));
|
|
5
|
+
/**
|
|
6
|
+
* Utility class used in conjuction with a DbxRouteParamReaderInstance to redirect when the default param does not equal the
|
|
7
|
+
*/
|
|
8
|
+
export class DbxRouteParamDefaultRedirectInstance {
|
|
9
|
+
constructor(instance) {
|
|
10
|
+
this.instance = instance;
|
|
11
|
+
this._enabled = new BehaviorSubject(true);
|
|
12
|
+
this._useDefaultFilter = new BehaviorSubject(undefined);
|
|
13
|
+
this._sub = new SubscriptionObject();
|
|
14
|
+
}
|
|
15
|
+
init() {
|
|
16
|
+
this._sub.subscription = this._enabled
|
|
17
|
+
.pipe(switchMap((enabled) => {
|
|
18
|
+
if (enabled) {
|
|
19
|
+
return this.instance.paramValue$.pipe(switchMapToDefault(this.instance.defaultValue$, (value) => {
|
|
20
|
+
return this._useDefaultFilter.pipe(switchMap((fn) => DEFAULT_REDIRECT_INSTANCE_FORWARD_FACTORY(fn)(value)));
|
|
21
|
+
}), filterMaybe(), // do not redirect on MaybeNot values
|
|
22
|
+
switchMap((defaultValue) => {
|
|
23
|
+
return this.redirectWithDefaultValue(defaultValue);
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return EMPTY;
|
|
28
|
+
}
|
|
29
|
+
}))
|
|
30
|
+
.subscribe();
|
|
31
|
+
}
|
|
32
|
+
destroy() {
|
|
33
|
+
this._enabled.complete();
|
|
34
|
+
this._useDefaultFilter.complete();
|
|
35
|
+
this._sub.destroy();
|
|
36
|
+
}
|
|
37
|
+
redirectWithDefaultValue(value) {
|
|
38
|
+
if (value != null) {
|
|
39
|
+
// perform a segue once
|
|
40
|
+
return this.redirectWithValue(value);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// do nothing
|
|
44
|
+
return Promise.resolve(false);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
redirectWithValue(value) {
|
|
48
|
+
return this.instance.dbxRouterService.updateParams({
|
|
49
|
+
[this.instance.paramKey]: value
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
get enabled() {
|
|
53
|
+
return this._enabled.value;
|
|
54
|
+
}
|
|
55
|
+
set enabled(enabled) {
|
|
56
|
+
this._enabled.next(enabled);
|
|
57
|
+
}
|
|
58
|
+
setUseDefaultFilter(useValueFilter) {
|
|
59
|
+
this._useDefaultFilter.next(useValueFilter);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvcm91dGVyL3JvdXRlci91dGlsL3JvdXRlLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RCxPQUFPLEVBQWtFLDZCQUE2QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBb0MsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRILE1BQU0seUNBQXlDLEdBQUcsNkJBQTZCLENBQTRDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7QUFFeko7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0NBQW9DO0lBSy9DLFlBQXFCLFFBQXdDO1FBQXhDLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBSnJELGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUM5QyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBNkMsU0FBUyxDQUFDLENBQUM7UUFDL0YsU0FBSSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUV3QixDQUFDO0lBRWpFLElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUTthQUNuQyxJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ25DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3hELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFFLHlDQUFnSCxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdEwsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxFQUFFLEVBQUUscUNBQXFDO2dCQUNwRCxTQUFTLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtvQkFDekIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3JELENBQUMsQ0FBQyxDQUNILENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVTLHdCQUF3QixDQUFDLEtBQWU7UUFDaEQsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1lBQ2pCLHVCQUF1QjtZQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsYUFBYTtZQUNiLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFlO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUM7WUFDakQsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUs7U0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUEwRDtRQUM1RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgRU1QVFksIHN3aXRjaE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieFJvdXRlUGFyYW1SZWFkZXJJbnN0YW5jZSB9IGZyb20gJy4vcm91dGUucmVhZGVyJztcbmltcG9ydCB7IERlc3Ryb3lhYmxlLCBJbml0aWFsaXplZCwgTWF5YmUsIERlZmF1bHRGb3J3YXJkRnVuY3Rpb25GYWN0b3J5LCBkZWZhdWx0Rm9yd2FyZEZ1bmN0aW9uRmFjdG9yeSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0LCBzd2l0Y2hNYXBUb0RlZmF1bHQsIFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uLCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG5jb25zdCBERUZBVUxUX1JFRElSRUNUX0lOU1RBTkNFX0ZPUldBUkRfRkFDVE9SWSA9IGRlZmF1bHRGb3J3YXJkRnVuY3Rpb25GYWN0b3J5PFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uPHVua25vd24+PigodmFsdWUpID0+IG9mKHZhbHVlID09IG51bGwpKTtcblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIHVzZWQgaW4gY29uanVjdGlvbiB3aXRoIGEgRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlIHRvIHJlZGlyZWN0IHdoZW4gdGhlIGRlZmF1bHQgcGFyYW0gZG9lcyBub3QgZXF1YWwgdGhlXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhSb3V0ZVBhcmFtRGVmYXVsdFJlZGlyZWN0SW5zdGFuY2U8VD4gaW1wbGVtZW50cyBJbml0aWFsaXplZCwgRGVzdHJveWFibGUge1xuICBwcml2YXRlIF9lbmFibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgcHJpdmF0ZSBfdXNlRGVmYXVsdEZpbHRlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8U3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248VD4+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9zdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgaW5zdGFuY2U6IERieFJvdXRlUGFyYW1SZWFkZXJJbnN0YW5jZTxUPikge31cblxuICBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9lbmFibGVkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChlbmFibGVkKSA9PiB7XG4gICAgICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlLnBhcmFtVmFsdWUkLnBpcGUoXG4gICAgICAgICAgICAgIHN3aXRjaE1hcFRvRGVmYXVsdCh0aGlzLmluc3RhbmNlLmRlZmF1bHRWYWx1ZSQsICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl91c2VEZWZhdWx0RmlsdGVyLnBpcGUoc3dpdGNoTWFwKChmbikgPT4gKERFRkFVTFRfUkVESVJFQ1RfSU5TVEFOQ0VfRk9SV0FSRF9GQUNUT1JZIGFzIERlZmF1bHRGb3J3YXJkRnVuY3Rpb25GYWN0b3J5PFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uPFQ+PikoZm4pKHZhbHVlKSkpO1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsdGVyTWF5YmUoKSwgLy8gZG8gbm90IHJlZGlyZWN0IG9uIE1heWJlTm90IHZhbHVlc1xuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGRlZmF1bHRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0V2l0aERlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWUpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZW5hYmxlZC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3VzZURlZmF1bHRGaWx0ZXIuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZGlyZWN0V2l0aERlZmF1bHRWYWx1ZSh2YWx1ZTogTWF5YmU8VD4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgLy8gcGVyZm9ybSBhIHNlZ3VlIG9uY2VcbiAgICAgIHJldHVybiB0aGlzLnJlZGlyZWN0V2l0aFZhbHVlKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZG8gbm90aGluZ1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlZGlyZWN0V2l0aFZhbHVlKHZhbHVlOiBNYXliZTxUPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmRieFJvdXRlclNlcnZpY2UudXBkYXRlUGFyYW1zKHtcbiAgICAgIFt0aGlzLmluc3RhbmNlLnBhcmFtS2V5XTogdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IGVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2VuYWJsZWQubmV4dChlbmFibGVkKTtcbiAgfVxuXG4gIHNldFVzZURlZmF1bHRGaWx0ZXIodXNlVmFsdWVGaWx0ZXI6IE1heWJlPFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uPFQ+Pik6IHZvaWQge1xuICAgIHRoaXMuX3VzZURlZmF1bHRGaWx0ZXIubmV4dCh1c2VWYWx1ZUZpbHRlcik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { switchMapToDefault, maybeValueFromObservableOrValueGetter } from '@dereekb/rxjs';
|
|
2
|
+
import { BehaviorSubject, combineLatest, distinctUntilChanged, map, shareReplay } from 'rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* Utility class used for reading a single value from the DbxRouterService.
|
|
5
|
+
*/
|
|
6
|
+
export class DbxRouteParamReaderInstance {
|
|
7
|
+
constructor(dbxRouterService, defaultParamKey, defaultValue) {
|
|
8
|
+
this.dbxRouterService = dbxRouterService;
|
|
9
|
+
this.defaultParamKey = defaultParamKey;
|
|
10
|
+
this.defaultValue = defaultValue;
|
|
11
|
+
this._paramKey = new BehaviorSubject(this.defaultParamKey);
|
|
12
|
+
this.paramKey$ = this._paramKey.asObservable();
|
|
13
|
+
this._defaultValue = new BehaviorSubject(this.defaultValue);
|
|
14
|
+
this.paramValue$ = combineLatest([this.paramKey$, this.dbxRouterService.params$]).pipe(map(([key, params]) => {
|
|
15
|
+
return params[key] ?? undefined;
|
|
16
|
+
}), distinctUntilChanged(), shareReplay(1));
|
|
17
|
+
this.nextDefaultValue$ = this._defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
|
|
18
|
+
this.defaultValue$ = this._defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
|
|
19
|
+
this.value$ = this.paramValue$.pipe(switchMapToDefault(this.defaultValue$), shareReplay(1));
|
|
20
|
+
}
|
|
21
|
+
destroy() {
|
|
22
|
+
this._paramKey.complete();
|
|
23
|
+
}
|
|
24
|
+
get paramKey() {
|
|
25
|
+
return this._paramKey.value;
|
|
26
|
+
}
|
|
27
|
+
set paramKey(paramKey) {
|
|
28
|
+
this._paramKey.next(paramKey || this.defaultParamKey);
|
|
29
|
+
}
|
|
30
|
+
setDefaultValue(defaultValue) {
|
|
31
|
+
this._defaultValue.next(defaultValue ?? this.defaultValue);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9yb3V0ZXIvcm91dGVyL3V0aWwvcm91dGUucmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBeUQsa0JBQWtCLEVBQUUscUNBQXFDLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBRW5MLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBa0IsV0FBVyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBa0N6SDs7R0FFRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFtQnRDLFlBQXFCLGdCQUFrQyxFQUFXLGVBQXVCLEVBQVcsWUFBOEM7UUFBN0gscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFXLG9CQUFlLEdBQWYsZUFBZSxDQUFRO1FBQVcsaUJBQVksR0FBWixZQUFZLENBQWtDO1FBbEIxSSxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELGNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQTJDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRyxnQkFBVyxHQUF5QixhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDOUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNwQixPQUFRLE1BQU0sQ0FBQyxHQUFHLENBQWMsSUFBSSxTQUFTLENBQUM7UUFDaEQsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxzQkFBaUIsR0FBeUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzSCxrQkFBYSxHQUF5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZILFdBQU0sR0FBeUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRStCLENBQUM7SUFFdEosT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLFFBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUE2QztRQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlR2V0dGVyLCBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyLCBzd2l0Y2hNYXBUb0RlZmF1bHQsIG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIsIFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95YWJsZSwgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieFJvdXRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3JvdXRlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgdXNlZCBmb3IgcmVhZGluZyBhIHNpbmdsZSB2YWx1ZSBmcm9tIHRoZSBEYnhSb3V0ZXJTZXJ2aWNlLiBTdXBwb3J0cyBhIGRlZmF1bHQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4Um91dGVQYXJhbVJlYWRlcjxUPiB7XG4gIC8qKlxuICAgKiBUaGUgcGFyYW0gdmFsdWUgYXMgcmVhZCBmcm9tIHRoZSBjdXJyZW50IHJvdXRlciBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtVmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PjtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIG9ic2VydmFibGUuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0VmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PjtcbiAgLyoqXG4gICAqIFRoZSBmaW5hbCBjb21wdXRlZCB2YWx1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PjtcblxuICAvKipcbiAgICogUGFyYW0ga2V5IGdldHRlci9zZXR0ZXJzLlxuICAgKi9cbiAgZ2V0IHBhcmFtS2V5KCk6IHN0cmluZztcbiAgc2V0IHBhcmFtS2V5KHBhcmFtS2V5OiBNYXliZTxzdHJpbmc+KTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBzb3VyY2UuXG4gICAqXG4gICAqIEBwYXJhbSBkZWZhdWx0VmFsdWVcbiAgICovXG4gIHNldERlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWU6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8VD4pOiB2b2lkO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgdXNlZCBmb3IgcmVhZGluZyBhIHNpbmdsZSB2YWx1ZSBmcm9tIHRoZSBEYnhSb3V0ZXJTZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlPFQ+IGltcGxlbWVudHMgRGJ4Um91dGVQYXJhbVJlYWRlcjxUPiwgRGVzdHJveWFibGUge1xuICBwcml2YXRlIF9wYXJhbUtleSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPih0aGlzLmRlZmF1bHRQYXJhbUtleSk7XG4gIHJlYWRvbmx5IHBhcmFtS2V5JCA9IHRoaXMuX3BhcmFtS2V5LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgX2RlZmF1bHRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8T2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8TWF5YmU8VD4+Pj4odGhpcy5kZWZhdWx0VmFsdWUpO1xuXG4gIHJlYWRvbmx5IHBhcmFtVmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMucGFyYW1LZXkkLCB0aGlzLmRieFJvdXRlclNlcnZpY2UucGFyYW1zJF0pLnBpcGUoXG4gICAgbWFwKChba2V5LCBwYXJhbXNdKSA9PiB7XG4gICAgICByZXR1cm4gKHBhcmFtc1trZXldIGFzIE1heWJlPFQ+KSA/PyB1bmRlZmluZWQ7XG4gICAgfSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IG5leHREZWZhdWx0VmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PiA9IHRoaXMuX2RlZmF1bHRWYWx1ZS5waXBlKG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICByZWFkb25seSBkZWZhdWx0VmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PiA9IHRoaXMuX2RlZmF1bHRWYWx1ZS5waXBlKG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJDogT2JzZXJ2YWJsZTxNYXliZTxUPj4gPSB0aGlzLnBhcmFtVmFsdWUkLnBpcGUoc3dpdGNoTWFwVG9EZWZhdWx0KHRoaXMuZGVmYXVsdFZhbHVlJCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhSb3V0ZXJTZXJ2aWNlOiBEYnhSb3V0ZXJTZXJ2aWNlLCByZWFkb25seSBkZWZhdWx0UGFyYW1LZXk6IHN0cmluZywgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlcjxUPikge31cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3BhcmFtS2V5LmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXQgcGFyYW1LZXkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1LZXkudmFsdWU7XG4gIH1cblxuICBzZXQgcGFyYW1LZXkocGFyYW1LZXk6IE1heWJlPHN0cmluZz4pIHtcbiAgICB0aGlzLl9wYXJhbUtleS5uZXh0KHBhcmFtS2V5IHx8IHRoaXMuZGVmYXVsdFBhcmFtS2V5KTtcbiAgfVxuXG4gIHNldERlZmF1bHRWYWx1ZShkZWZhdWx0VmFsdWU6IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8VD4pOiB2b2lkIHtcbiAgICB0aGlzLl9kZWZhdWx0VmFsdWUubmV4dChkZWZhdWx0VmFsdWUgPz8gdGhpcy5kZWZhdWx0VmFsdWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, Injectable, forwardRef, Host, Input, Optional, NgModule, InjectionToken, Inject, EventEmitter, Output, LOCALE_ID, Pipe, ViewChild, Injector, ViewContainerRef, Component } from '@angular/core';
|
|
3
3
|
import * as i1$5 from '@dereekb/rxjs';
|
|
4
|
-
import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, combineLatestFromMapValuesObsFn, workFactory, emitDelayObs, asObservable, returnIfIs, skipFirstMaybe, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, FilterSourceInstance, FilterSource, FilterSourceConnector, FilterMap } from '@dereekb/rxjs';
|
|
4
|
+
import { SubscriptionObject, LockSet, filterMaybe, LoadingStateType, beginLoading, idleLoadingState, errorResult, successResult, scanCount, combineLatestFromMapValuesObsFn, workFactory, emitDelayObs, asObservable, returnIfIs, skipFirstMaybe, maybeValueFromObservableOrValueGetter, switchMapToDefault, onFalseToTrue, onTrueToFalse, setContainsAllValuesFrom, FilterSourceInstance, FilterSource, FilterSourceConnector, FilterMap } from '@dereekb/rxjs';
|
|
5
5
|
import * as i1 from 'rxjs';
|
|
6
6
|
import { switchMap, first, BehaviorSubject, combineLatest, distinctUntilChanged, filter, Subject, debounce, interval, throttle, exhaustMap, mergeMap, map, shareReplay, EMPTY, withLatestFrom, of, startWith, tap, delay, catchError, firstValueFrom, takeUntil, Observable } from 'rxjs';
|
|
7
7
|
import * as i1$6 from '@dereekb/util';
|
|
8
|
-
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, setIncludes, maybeSet, isAllowed, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mergeArrays, filterMaybeValues,
|
|
8
|
+
import { isDefinedAndNotFalse, hasValueOrNotEmpty, BooleanStringKeyArrayUtilityInstance, reduceBooleansWithOrFn, getValueFromGetter, toReadableError, isGetter, setIncludes, maybeSet, isAllowed, expandTreeFunction, flattenTreeToArrayFunction, expandFlattenTreeFunction, mergeObjects, KeyValueTypleValueFilter, defaultForwardFunctionFactory, mergeArrays, filterMaybeValues, mergeArrayOrValueIntoArray, promiseReference, DataIsExpiredError, DataDoesNotExistError, hasNonNullValue, StorageObjectUtility, SHARED_MEMORY_STORAGE } from '@dereekb/util';
|
|
9
9
|
import { ComponentStore } from '@ngrx/component-store';
|
|
10
10
|
import { CommonModule, formatDate } from '@angular/common';
|
|
11
11
|
import * as i1$3 from '@ngrx/effects';
|
|
@@ -2248,14 +2248,31 @@ class DbxAngularRouterService {
|
|
|
2248
2248
|
}), filterMaybe());
|
|
2249
2249
|
}
|
|
2250
2250
|
go(input) {
|
|
2251
|
-
const
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2251
|
+
const inputObs = asObservable(input);
|
|
2252
|
+
return firstValueFrom(inputObs).then((inputSegueRef) => {
|
|
2253
|
+
const segueRef = asSegueRef(inputSegueRef);
|
|
2254
|
+
const ref = segueRef.ref;
|
|
2255
|
+
if (isArray(ref)) {
|
|
2256
|
+
return this.router.navigate(ref, Object.assign(Object.assign({}, segueRef.refOptions), { queryParams: segueRef.refParams }));
|
|
2257
|
+
}
|
|
2258
|
+
else {
|
|
2259
|
+
return this.router.navigateByUrl(ref, Object.assign({}, segueRef.refOptions));
|
|
2260
|
+
}
|
|
2261
|
+
});
|
|
2262
|
+
}
|
|
2263
|
+
updateParams(inputParams) {
|
|
2264
|
+
const segueUpdate = combineLatest([this.activatedRoute.params, asObservable(inputParams)]).pipe(map$1(([currentParams, params]) => {
|
|
2265
|
+
const refParams = mergeObjects([currentParams, params], KeyValueTypleValueFilter.UNDEFINED);
|
|
2266
|
+
const segueRef = {
|
|
2267
|
+
ref: this.activatedRoute.pathFromRoot,
|
|
2268
|
+
refParams,
|
|
2269
|
+
refOptions: {
|
|
2270
|
+
replaceUrl: true
|
|
2271
|
+
}
|
|
2272
|
+
};
|
|
2273
|
+
return segueRef;
|
|
2274
|
+
}));
|
|
2275
|
+
return this.go(segueUpdate);
|
|
2259
2276
|
}
|
|
2260
2277
|
isActive(segueRef) {
|
|
2261
2278
|
return false; // TODO!
|
|
@@ -2352,12 +2369,31 @@ class DbxUIRouterService {
|
|
|
2352
2369
|
return this.uiRouterGlobals.params;
|
|
2353
2370
|
}
|
|
2354
2371
|
go(input) {
|
|
2355
|
-
const
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
.
|
|
2359
|
-
.
|
|
2360
|
-
|
|
2372
|
+
const inputObs = asObservable(input);
|
|
2373
|
+
return firstValueFrom(inputObs).then((inputSegueRef) => {
|
|
2374
|
+
const segueRef = asSegueRef(inputSegueRef);
|
|
2375
|
+
const params = Object.assign(Object.assign({}, this.uiRouterGlobals.current.params), segueRef.refParams);
|
|
2376
|
+
return this.state
|
|
2377
|
+
.go(segueRef.ref, params, segueRef.refOptions)
|
|
2378
|
+
.then(() => true)
|
|
2379
|
+
.catch(() => false);
|
|
2380
|
+
});
|
|
2381
|
+
}
|
|
2382
|
+
updateParams(inputParams) {
|
|
2383
|
+
const segueUpdate = asObservable(inputParams).pipe(map((params) => {
|
|
2384
|
+
const currentParams = this.uiRouterGlobals.params;
|
|
2385
|
+
const refParams = mergeObjects([currentParams, params], KeyValueTypleValueFilter.UNDEFINED);
|
|
2386
|
+
const ref = {
|
|
2387
|
+
ref: '.',
|
|
2388
|
+
refParams,
|
|
2389
|
+
refOptions: {
|
|
2390
|
+
location: 'replace',
|
|
2391
|
+
inherit: true
|
|
2392
|
+
}
|
|
2393
|
+
};
|
|
2394
|
+
return ref;
|
|
2395
|
+
}));
|
|
2396
|
+
return this.go(segueUpdate);
|
|
2361
2397
|
}
|
|
2362
2398
|
isActive(input) {
|
|
2363
2399
|
const segueRef = asSegueRef(input);
|
|
@@ -2467,6 +2503,98 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2467
2503
|
type: Directive
|
|
2468
2504
|
}], ctorParameters: function () { return [{ type: DbxRouterTransitionService }, { type: i0.NgZone }]; } });
|
|
2469
2505
|
|
|
2506
|
+
/**
|
|
2507
|
+
* Utility class used for reading a single value from the DbxRouterService.
|
|
2508
|
+
*/
|
|
2509
|
+
class DbxRouteParamReaderInstance {
|
|
2510
|
+
constructor(dbxRouterService, defaultParamKey, defaultValue) {
|
|
2511
|
+
this.dbxRouterService = dbxRouterService;
|
|
2512
|
+
this.defaultParamKey = defaultParamKey;
|
|
2513
|
+
this.defaultValue = defaultValue;
|
|
2514
|
+
this._paramKey = new BehaviorSubject(this.defaultParamKey);
|
|
2515
|
+
this.paramKey$ = this._paramKey.asObservable();
|
|
2516
|
+
this._defaultValue = new BehaviorSubject(this.defaultValue);
|
|
2517
|
+
this.paramValue$ = combineLatest([this.paramKey$, this.dbxRouterService.params$]).pipe(map(([key, params]) => {
|
|
2518
|
+
var _a;
|
|
2519
|
+
return (_a = params[key]) !== null && _a !== void 0 ? _a : undefined;
|
|
2520
|
+
}), distinctUntilChanged(), shareReplay(1));
|
|
2521
|
+
this.nextDefaultValue$ = this._defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
|
|
2522
|
+
this.defaultValue$ = this._defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
|
|
2523
|
+
this.value$ = this.paramValue$.pipe(switchMapToDefault(this.defaultValue$), shareReplay(1));
|
|
2524
|
+
}
|
|
2525
|
+
destroy() {
|
|
2526
|
+
this._paramKey.complete();
|
|
2527
|
+
}
|
|
2528
|
+
get paramKey() {
|
|
2529
|
+
return this._paramKey.value;
|
|
2530
|
+
}
|
|
2531
|
+
set paramKey(paramKey) {
|
|
2532
|
+
this._paramKey.next(paramKey || this.defaultParamKey);
|
|
2533
|
+
}
|
|
2534
|
+
setDefaultValue(defaultValue) {
|
|
2535
|
+
this._defaultValue.next(defaultValue !== null && defaultValue !== void 0 ? defaultValue : this.defaultValue);
|
|
2536
|
+
}
|
|
2537
|
+
}
|
|
2538
|
+
|
|
2539
|
+
const DEFAULT_REDIRECT_INSTANCE_FORWARD_FACTORY = defaultForwardFunctionFactory((value) => of(value == null));
|
|
2540
|
+
/**
|
|
2541
|
+
* Utility class used in conjuction with a DbxRouteParamReaderInstance to redirect when the default param does not equal the
|
|
2542
|
+
*/
|
|
2543
|
+
class DbxRouteParamDefaultRedirectInstance {
|
|
2544
|
+
constructor(instance) {
|
|
2545
|
+
this.instance = instance;
|
|
2546
|
+
this._enabled = new BehaviorSubject(true);
|
|
2547
|
+
this._useDefaultFilter = new BehaviorSubject(undefined);
|
|
2548
|
+
this._sub = new SubscriptionObject();
|
|
2549
|
+
}
|
|
2550
|
+
init() {
|
|
2551
|
+
this._sub.subscription = this._enabled
|
|
2552
|
+
.pipe(switchMap((enabled) => {
|
|
2553
|
+
if (enabled) {
|
|
2554
|
+
return this.instance.paramValue$.pipe(switchMapToDefault(this.instance.defaultValue$, (value) => {
|
|
2555
|
+
return this._useDefaultFilter.pipe(switchMap((fn) => DEFAULT_REDIRECT_INSTANCE_FORWARD_FACTORY(fn)(value)));
|
|
2556
|
+
}), filterMaybe(), // do not redirect on MaybeNot values
|
|
2557
|
+
switchMap((defaultValue) => {
|
|
2558
|
+
return this.redirectWithDefaultValue(defaultValue);
|
|
2559
|
+
}));
|
|
2560
|
+
}
|
|
2561
|
+
else {
|
|
2562
|
+
return EMPTY;
|
|
2563
|
+
}
|
|
2564
|
+
}))
|
|
2565
|
+
.subscribe();
|
|
2566
|
+
}
|
|
2567
|
+
destroy() {
|
|
2568
|
+
this._enabled.complete();
|
|
2569
|
+
this._useDefaultFilter.complete();
|
|
2570
|
+
this._sub.destroy();
|
|
2571
|
+
}
|
|
2572
|
+
redirectWithDefaultValue(value) {
|
|
2573
|
+
if (value != null) {
|
|
2574
|
+
// perform a segue once
|
|
2575
|
+
return this.redirectWithValue(value);
|
|
2576
|
+
}
|
|
2577
|
+
else {
|
|
2578
|
+
// do nothing
|
|
2579
|
+
return Promise.resolve(false);
|
|
2580
|
+
}
|
|
2581
|
+
}
|
|
2582
|
+
redirectWithValue(value) {
|
|
2583
|
+
return this.instance.dbxRouterService.updateParams({
|
|
2584
|
+
[this.instance.paramKey]: value
|
|
2585
|
+
});
|
|
2586
|
+
}
|
|
2587
|
+
get enabled() {
|
|
2588
|
+
return this._enabled.value;
|
|
2589
|
+
}
|
|
2590
|
+
set enabled(enabled) {
|
|
2591
|
+
this._enabled.next(enabled);
|
|
2592
|
+
}
|
|
2593
|
+
setUseDefaultFilter(useValueFilter) {
|
|
2594
|
+
this._useDefaultFilter.next(useValueFilter);
|
|
2595
|
+
}
|
|
2596
|
+
}
|
|
2597
|
+
|
|
2470
2598
|
/**
|
|
2471
2599
|
* Auth routes configurations for an app.
|
|
2472
2600
|
*/
|
|
@@ -4501,5 +4629,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
4501
4629
|
* Generated bundle index. Do not edit.
|
|
4502
4630
|
*/
|
|
4503
4631
|
|
|
4504
|
-
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractActionFilterSourceDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, 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_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, 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, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, dbxActionValueStreamDirective, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isSegueRef, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, useActionStore };
|
|
4632
|
+
export { APP_ACTION_DISABLED_DIRECTIVE_KEY, APP_ACTION_ENFORCE_MODIFIED_DIRECTIVE_KEY, AbstractActionFilterSourceDirective, AbstractDbxActionValueOnTriggerDirective, AbstractDbxAnchorDirective, AbstractDbxButtonDirective, AbstractDbxFilterMapInstanceDirective, AbstractDbxInjectionDirective, AbstractFilterSourceConnectorDirective, AbstractFilterSourceDirective, AbstractForwardDbxInjectionContextDirective, AbstractIfDirective, AbstractLockSetSubscriptionDirective, AbstractSubscriptionDirective, AbstractTransitionDirective, AbstractTransitionWatcherDirective, ActionContextStore, ActionContextStoreSource, ActionContextStoreSourceMap, AnchorType, 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_STORAGE_ACCESSOR_FACTORY_TOKEN, DEFAULT_STORAGE_OBJECT_TOKEN, DateDistancePipe, DateFormatDistancePipe, DateFromToTimePipe, DbxActionAutoModifyDirective, DbxActionAutoTriggerDirective, DbxActionButtonDirective, DbxActionButtonTriggerDirective, DbxActionContextBaseSource, DbxActionContextLoggerDirective, DbxActionContextMachine, DbxActionContextMapDirective, DbxActionContextMapDirectiveSourceInstance, DbxActionContextStoreSourceInstance, DbxActionDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionFromMapDirective, DbxActionHandlerDirective, DbxActionHasSuccessDirective, DbxActionIsWorkingDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionState, DbxActionSuccessHandlerDirective, DbxActionValueDirective, DbxActionValueOnTriggerInstance, DbxActionValueTriggerDirective, DbxActionWorkInstanceDelegate, DbxAnchor, DbxAngularRouterService, DbxAppAuthRouterEffects, DbxAppAuthRouterModule, DbxAppAuthRouterService, DbxAppAuthRouterStateModule, DbxAppAuthRoutes, DbxAppAuthStateModule, DbxAppAuthStateService, DbxAppContextService, DbxAppContextStateDirective, DbxAppContextStateModule, DbxAuthHasAnyRoleDirective, DbxAuthHasRolesDirective, DbxAuthService, DbxButton, DbxButtonDirective, DbxButtonSegueDirective, DbxCoreActionModule, DbxCoreAngularRouterSegueModule, DbxCoreAuthModule, DbxCoreButtonModule, DbxCoreFilterModule, DbxCoreUIRouterSegueModule, DbxDatePipeModule, DbxFilterMapDirective, DbxFilterMapSourceConnectorDirective, DbxFilterMapSourceDirective, DbxFilterSourceConnectorDirective, DbxFilterSourceDirective, DbxInjectionComponent, DbxInjectionComponentModule, DbxInjectionContext, DbxInjectionContextDirective, DbxInjectionInstance, DbxLoadingButtonDirective, DbxMiscPipeModule, DbxPipesModule, DbxRouteParamDefaultRedirectInstance, DbxRouteParamReaderInstance, DbxRouterService, DbxRouterTransitionEventType, DbxRouterTransitionService, DbxStorageModule, DbxUIRouterService, 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, actionContextStoreSourcePipe, anchorTypeForAnchor, asSegueRef, asSegueRefString, authRolesSetContainsAllRolesFrom, authRolesSetContainsAnyRoleFrom, authUserIdentifier, canReadyValue, canTriggerAction, canTriggerActionState, checkNgContentWrapperHasContent, dbxActionValueStreamDirective, defaultStorageObjectFactory, enableHasAuthRoleHook, enableHasAuthStateHook, enableIsLoggedInHook, expandClickableAnchorLinkTree, expandClickableAnchorLinkTreeNode, expandClickableAnchorLinkTrees, filterTransitionEvent, filterTransitionSuccess, flattenExpandedClickableAnchorLinkTree, flattenExpandedClickableAnchorLinkTreeToLinks, index as fromDbxAppAuth, index$2 as fromDbxAppContext, goWithRouter, isActionContextDisabled, isActionContextEnabled, isDisabledActionContextState, isIdleActionState, isSegueRef, isWorkingActionState, loadingStateForActionContextState, loadingStateTypeForActionContextState, loadingStateTypeForActionState, loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, makeAuthTransitionHook, makeDbxActionContextSourceReference, mapRefStringObsToSegueRefObs, mergeDbxInjectionComponentConfigs, index$1 as onDbxAppAuth, index$3 as onDbxAppContext, pipeActionStore, provideActionStoreSource, provideDbxAnchor, provideDbxButton, provideDbxInjectionContext, provideFilterSource, provideFilterSourceConnector, provideSecondaryActionStoreSource, redirectBasedOnAuthUserState, refStringToSegueRef, safeDetectChanges, safeMarkForCheck, safeUseCdRef, successTransition, tapDetectChanges, useActionStore };
|
|
4505
4633
|
//# sourceMappingURL=dereekb-dbx-core.mjs.map
|