@dereekb/dbx-firebase 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/model/store/store.document.router.directive.mjs +48 -12
- package/fesm2015/dereekb-dbx-firebase.mjs +47 -12
- package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-firebase.mjs +47 -11
- package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/model/store/store.document.router.directive.d.ts +14 -2
- package/package.json +6 -6
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BehaviorSubject, map, shareReplay, of, switchMap } from 'rxjs';
|
|
2
2
|
import { Directive, Host, Input } from '@angular/core';
|
|
3
|
-
import { DbxRouterService, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
3
|
+
import { DbxRouterService, AbstractSubscriptionDirective, DbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance } from '@dereekb/dbx-core';
|
|
4
4
|
import { DbxFirebaseDocumentStoreDirective } from './store.document.directive';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./store.document.directive";
|
|
7
7
|
import * as i2 from "@dereekb/dbx-core";
|
|
8
8
|
export const DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY = 'id';
|
|
9
|
+
export const DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE = '0';
|
|
9
10
|
/**
|
|
10
11
|
* Used for synchronizing the document store id to the param of the route.
|
|
11
12
|
*/
|
|
@@ -14,29 +15,58 @@ export class DbxFirebaseDocumentStoreRouteIdDirective extends AbstractSubscripti
|
|
|
14
15
|
super();
|
|
15
16
|
this.dbxFirebaseDocumentStoreDirective = dbxFirebaseDocumentStoreDirective;
|
|
16
17
|
this.dbxRouterService = dbxRouterService;
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
this._paramReader = new DbxRouteParamReaderInstance(this.dbxRouterService, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
|
|
19
|
+
this._paramRedirect = new DbxRouteParamDefaultRedirectInstance(this._paramReader);
|
|
20
|
+
this._useDefaultParam = new BehaviorSubject(DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE);
|
|
21
|
+
this._useDefaultParam$ = this._useDefaultParam.pipe(map((x) => {
|
|
22
|
+
let result;
|
|
23
|
+
if (typeof x === 'string') {
|
|
24
|
+
result = (value) => of(value === x);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
result = x;
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}), shareReplay(1));
|
|
31
|
+
this.idParamKey$ = this._paramReader.paramKey$;
|
|
32
|
+
this.idFromParams$ = this._paramReader.paramValue$;
|
|
33
|
+
this.id$ = this._paramReader.value$;
|
|
22
34
|
}
|
|
23
35
|
ngOnInit() {
|
|
24
36
|
this.sub = this.dbxFirebaseDocumentStoreDirective.store.setId(this.idFromParams$);
|
|
37
|
+
this._paramRedirect.setUseDefaultFilter((value) => {
|
|
38
|
+
return this._useDefaultParam$.pipe(switchMap((x) => x(value)));
|
|
39
|
+
});
|
|
40
|
+
this._paramRedirect.init();
|
|
25
41
|
}
|
|
26
42
|
ngOnDestroy() {
|
|
27
43
|
super.ngOnDestroy();
|
|
28
|
-
this.
|
|
44
|
+
this._paramReader.destroy();
|
|
45
|
+
this._paramRedirect.destroy();
|
|
46
|
+
this._useDefaultParam.complete();
|
|
29
47
|
}
|
|
30
48
|
// MARK: Input
|
|
31
49
|
get idParam() {
|
|
32
|
-
return this.
|
|
50
|
+
return this._paramReader.paramKey;
|
|
33
51
|
}
|
|
34
52
|
set idParam(idParam) {
|
|
35
|
-
this.
|
|
53
|
+
this._paramReader.paramKey = idParam;
|
|
54
|
+
}
|
|
55
|
+
set dbxFirebaseDocumentStoreRouteIdDefault(defaultValue) {
|
|
56
|
+
this._paramReader.setDefaultValue(defaultValue);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Whether or not to enable the redirection. Is enabled by default.
|
|
60
|
+
*/
|
|
61
|
+
set dbxFirebaseDocumentStoreRouteIdDefaultRedirect(redirect) {
|
|
62
|
+
this._paramRedirect.enabled = redirect !== false; // true by default
|
|
63
|
+
}
|
|
64
|
+
set dbxFirebaseDocumentStoreRouteIdDefaultDecision(decider) {
|
|
65
|
+
this._useDefaultParam.next(decider);
|
|
36
66
|
}
|
|
37
67
|
}
|
|
38
68
|
DbxFirebaseDocumentStoreRouteIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: [{ token: i1.DbxFirebaseDocumentStoreDirective, host: true }, { token: i2.DbxRouterService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
39
|
-
DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"] }, usesInheritance: true, ngImport: i0 });
|
|
69
|
+
DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"], dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
|
|
40
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
|
|
41
71
|
type: Directive,
|
|
42
72
|
args: [{
|
|
@@ -47,5 +77,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
47
77
|
}] }, { type: i2.DbxRouterService }]; }, propDecorators: { idParam: [{
|
|
48
78
|
type: Input,
|
|
49
79
|
args: ['dbxFirebaseDocumentStoreRouteId']
|
|
80
|
+
}], dbxFirebaseDocumentStoreRouteIdDefault: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], dbxFirebaseDocumentStoreRouteIdDefaultRedirect: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], dbxFirebaseDocumentStoreRouteIdDefaultDecision: [{
|
|
85
|
+
type: Input
|
|
50
86
|
}] } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQucm91dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N0b3JlL3N0b3JlLmRvY3VtZW50LnJvdXRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGVBQWUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsRUFBRSwyQkFBMkIsRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBSS9FLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLElBQUksQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxnREFBZ0QsR0FBRyxHQUFHLENBQUM7QUFFcEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0NBQXNELFNBQVEsNkJBQTZCO0lBdUJ0RyxZQUE2QixpQ0FBdUUsRUFBVyxnQkFBa0M7UUFDL0ksS0FBSyxFQUFFLENBQUM7UUFEbUIsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFzQztRQUFXLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0QnpJLGlCQUFZLEdBQUcsSUFBSSwyQkFBMkIsQ0FBVyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsNkNBQTZDLENBQUMsQ0FBQztRQUMvSCxtQkFBYyxHQUFHLElBQUksb0NBQW9DLENBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZGLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFzRCxnREFBZ0QsQ0FBQyxDQUFDO1FBQzlJLHNCQUFpQixHQUEyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUM1RyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLElBQUksTUFBa0QsQ0FBQztZQUV2RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDekIsTUFBTSxHQUFHLENBQUMsS0FBc0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQzthQUN0RDtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ1o7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDMUMsa0JBQWEsR0FBZ0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDM0UsUUFBRyxHQUFnQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUlyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFlO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFDSSxzQ0FBc0MsQ0FBQyxZQUFvRDtRQUM3RixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLDhDQUE4QyxDQUFDLFFBQTZCO1FBQzlFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxrQkFBa0I7SUFDdEUsQ0FBQztJQUVELElBQ0ksOENBQThDLENBQUMsT0FBNEQ7UUFDN0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDOztxSUFwRVUsd0NBQXdDO3lIQUF4Qyx3Q0FBd0M7MkZBQXhDLHdDQUF3QztrQkFIcEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO2lCQUM5Qzs7MEJBd0JjLElBQUk7MkVBcUJiLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxpQ0FBaUM7Z0JBVXBDLHNDQUFzQztzQkFEekMsS0FBSztnQkFTRiw4Q0FBOEM7c0JBRGpELEtBQUs7Z0JBTUYsOENBQThDO3NCQURqRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNoYXJlUmVwbGF5LCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPbkRlc3Ryb3ksIERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4Um91dGVyU2VydmljZSwgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUsIERieFJvdXRlUGFyYW1SZWFkZXJJbnN0YW5jZSwgRGJ4Um91dGVQYXJhbURlZmF1bHRSZWRpcmVjdEluc3RhbmNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF5YmUsIE1vZGVsS2V5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyLCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbiB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX1JPVVRFUl9TWU5DX0RFRkFVTFRfSURfUEFSQU1fS0VZID0gJ2lkJztcbmV4cG9ydCBjb25zdCBEQlhfRklSRUJBU0VfUk9VVEVSX1NZTkNfVVNFX0RFRkFVTFRfUEFSQU1fVkFMVUUgPSAnMCc7XG5cbi8qKlxuICogVXNlZCBmb3Igc3luY2hyb25pemluZyB0aGUgZG9jdW1lbnQgc3RvcmUgaWQgdG8gdGhlIHBhcmFtIG9mIHRoZSByb3V0ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlSWRdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUlkRGlyZWN0aXZlPFQgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wYXJhbVJlYWRlciA9IG5ldyBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2U8TW9kZWxLZXk+KHRoaXMuZGJ4Um91dGVyU2VydmljZSwgREJYX0ZJUkVCQVNFX1JPVVRFUl9TWU5DX0RFRkFVTFRfSURfUEFSQU1fS0VZKTtcbiAgcHJpdmF0ZSBfcGFyYW1SZWRpcmVjdCA9IG5ldyBEYnhSb3V0ZVBhcmFtRGVmYXVsdFJlZGlyZWN0SW5zdGFuY2U8TW9kZWxLZXk+KHRoaXMuX3BhcmFtUmVhZGVyKTtcbiAgcHJpdmF0ZSBfdXNlRGVmYXVsdFBhcmFtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbjxNb2RlbEtleT4+KERCWF9GSVJFQkFTRV9ST1VURVJfU1lOQ19VU0VfREVGQVVMVF9QQVJBTV9WQUxVRSk7XG4gIHByaXZhdGUgX3VzZURlZmF1bHRQYXJhbSQ6IE9ic2VydmFibGU8U3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248TW9kZWxLZXk+PiA9IHRoaXMuX3VzZURlZmF1bHRQYXJhbS5waXBlKFxuICAgIG1hcCgoeCkgPT4ge1xuICAgICAgbGV0IHJlc3VsdDogU3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248TW9kZWxLZXk+O1xuXG4gICAgICBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlc3VsdCA9ICh2YWx1ZTogTWF5YmU8TW9kZWxLZXk+KSA9PiBvZih2YWx1ZSA9PT0geCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSB4O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaWRQYXJhbUtleSQgPSB0aGlzLl9wYXJhbVJlYWRlci5wYXJhbUtleSQ7XG4gIHJlYWRvbmx5IGlkRnJvbVBhcmFtcyQ6IE9ic2VydmFibGU8TWF5YmU8TW9kZWxLZXk+PiA9IHRoaXMuX3BhcmFtUmVhZGVyLnBhcmFtVmFsdWUkO1xuICByZWFkb25seSBpZCQ6IE9ic2VydmFibGU8TWF5YmU8TW9kZWxLZXk+PiA9IHRoaXMuX3BhcmFtUmVhZGVyLnZhbHVlJDtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHJlYWRvbmx5IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFQ+LCByZWFkb25seSBkYnhSb3V0ZXJTZXJ2aWNlOiBEYnhSb3V0ZXJTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy5kYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUuc3RvcmUuc2V0SWQodGhpcy5pZEZyb21QYXJhbXMkKTtcbiAgICB0aGlzLl9wYXJhbVJlZGlyZWN0LnNldFVzZURlZmF1bHRGaWx0ZXIoKHZhbHVlOiBNYXliZTxzdHJpbmc+KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fdXNlRGVmYXVsdFBhcmFtJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geCh2YWx1ZSkpKTtcbiAgICB9KTtcbiAgICB0aGlzLl9wYXJhbVJlZGlyZWN0LmluaXQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fcGFyYW1SZWFkZXIuZGVzdHJveSgpO1xuICAgIHRoaXMuX3BhcmFtUmVkaXJlY3QuZGVzdHJveSgpO1xuICAgIHRoaXMuX3VzZURlZmF1bHRQYXJhbS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW5wdXRcbiAgQElucHV0KCdkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUlkJylcbiAgZ2V0IGlkUGFyYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmFtUmVhZGVyLnBhcmFtS2V5O1xuICB9XG5cbiAgc2V0IGlkUGFyYW0oaWRQYXJhbTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGFyYW1SZWFkZXIucGFyYW1LZXkgPSBpZFBhcmFtO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlSWREZWZhdWx0KGRlZmF1bHRWYWx1ZTogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlcjxNb2RlbEtleT4pIHtcbiAgICB0aGlzLl9wYXJhbVJlYWRlci5zZXREZWZhdWx0VmFsdWUoZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgdGhlIHJlZGlyZWN0aW9uLiBJcyBlbmFibGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVJZERlZmF1bHRSZWRpcmVjdChyZWRpcmVjdDogTWF5YmU8Ym9vbGVhbj4gfCAnJykge1xuICAgIHRoaXMuX3BhcmFtUmVkaXJlY3QuZW5hYmxlZCA9IHJlZGlyZWN0ICE9PSBmYWxzZTsgLy8gdHJ1ZSBieSBkZWZhdWx0XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVJZERlZmF1bHREZWNpc2lvbihkZWNpZGVyOiBzdHJpbmcgfCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbjxNb2RlbEtleT4pIHtcbiAgICB0aGlzLl91c2VEZWZhdWx0UGFyYW0ubmV4dChkZWNpZGVyKTtcbiAgfVxufVxuIl19
|
|
@@ -14,7 +14,7 @@ import { CommonModule } from '@angular/common';
|
|
|
14
14
|
import * as i3 from '@dereekb/dbx-web';
|
|
15
15
|
import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule } from '@dereekb/dbx-web';
|
|
16
16
|
import * as i3$1 from '@dereekb/dbx-core';
|
|
17
|
-
import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective, LockSetComponentStore } from '@dereekb/dbx-core';
|
|
17
|
+
import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective, DbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance, LockSetComponentStore } from '@dereekb/dbx-core';
|
|
18
18
|
import { __awaiter } from 'tslib';
|
|
19
19
|
import { filterMaybe, isNot, SubscriptionObject, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, successResult, beginLoading, loadingStateFromObs, errorResult, lazyFrom, cleanup } from '@dereekb/rxjs';
|
|
20
20
|
import * as i1$1 from '@angular/fire/auth';
|
|
@@ -2238,6 +2238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2238
2238
|
} });
|
|
2239
2239
|
|
|
2240
2240
|
const DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY = 'id';
|
|
2241
|
+
const DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE = '0';
|
|
2241
2242
|
/**
|
|
2242
2243
|
* Used for synchronizing the document store id to the param of the route.
|
|
2243
2244
|
*/
|
|
@@ -2246,30 +2247,58 @@ class DbxFirebaseDocumentStoreRouteIdDirective extends AbstractSubscriptionDirec
|
|
|
2246
2247
|
super();
|
|
2247
2248
|
this.dbxFirebaseDocumentStoreDirective = dbxFirebaseDocumentStoreDirective;
|
|
2248
2249
|
this.dbxRouterService = dbxRouterService;
|
|
2249
|
-
this.
|
|
2250
|
-
this.
|
|
2251
|
-
this.
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2250
|
+
this._paramReader = new DbxRouteParamReaderInstance(this.dbxRouterService, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
|
|
2251
|
+
this._paramRedirect = new DbxRouteParamDefaultRedirectInstance(this._paramReader);
|
|
2252
|
+
this._useDefaultParam = new BehaviorSubject(DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE);
|
|
2253
|
+
this._useDefaultParam$ = this._useDefaultParam.pipe(map((x) => {
|
|
2254
|
+
let result;
|
|
2255
|
+
if (typeof x === 'string') {
|
|
2256
|
+
result = (value) => of(value === x);
|
|
2257
|
+
}
|
|
2258
|
+
else {
|
|
2259
|
+
result = x;
|
|
2260
|
+
}
|
|
2261
|
+
return result;
|
|
2262
|
+
}), shareReplay(1));
|
|
2263
|
+
this.idParamKey$ = this._paramReader.paramKey$;
|
|
2264
|
+
this.idFromParams$ = this._paramReader.paramValue$;
|
|
2265
|
+
this.id$ = this._paramReader.value$;
|
|
2255
2266
|
}
|
|
2256
2267
|
ngOnInit() {
|
|
2257
2268
|
this.sub = this.dbxFirebaseDocumentStoreDirective.store.setId(this.idFromParams$);
|
|
2269
|
+
this._paramRedirect.setUseDefaultFilter((value) => {
|
|
2270
|
+
return this._useDefaultParam$.pipe(switchMap((x) => x(value)));
|
|
2271
|
+
});
|
|
2272
|
+
this._paramRedirect.init();
|
|
2258
2273
|
}
|
|
2259
2274
|
ngOnDestroy() {
|
|
2260
2275
|
super.ngOnDestroy();
|
|
2261
|
-
this.
|
|
2276
|
+
this._paramReader.destroy();
|
|
2277
|
+
this._paramRedirect.destroy();
|
|
2278
|
+
this._useDefaultParam.complete();
|
|
2262
2279
|
}
|
|
2263
2280
|
// MARK: Input
|
|
2264
2281
|
get idParam() {
|
|
2265
|
-
return this.
|
|
2282
|
+
return this._paramReader.paramKey;
|
|
2266
2283
|
}
|
|
2267
2284
|
set idParam(idParam) {
|
|
2268
|
-
this.
|
|
2285
|
+
this._paramReader.paramKey = idParam;
|
|
2286
|
+
}
|
|
2287
|
+
set dbxFirebaseDocumentStoreRouteIdDefault(defaultValue) {
|
|
2288
|
+
this._paramReader.setDefaultValue(defaultValue);
|
|
2289
|
+
}
|
|
2290
|
+
/**
|
|
2291
|
+
* Whether or not to enable the redirection. Is enabled by default.
|
|
2292
|
+
*/
|
|
2293
|
+
set dbxFirebaseDocumentStoreRouteIdDefaultRedirect(redirect) {
|
|
2294
|
+
this._paramRedirect.enabled = redirect !== false; // true by default
|
|
2295
|
+
}
|
|
2296
|
+
set dbxFirebaseDocumentStoreRouteIdDefaultDecision(decider) {
|
|
2297
|
+
this._useDefaultParam.next(decider);
|
|
2269
2298
|
}
|
|
2270
2299
|
}
|
|
2271
2300
|
DbxFirebaseDocumentStoreRouteIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: [{ token: DbxFirebaseDocumentStoreDirective, host: true }, { token: i3$1.DbxRouterService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2272
|
-
DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"] }, usesInheritance: true, ngImport: i0 });
|
|
2301
|
+
DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"], dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
|
|
2273
2302
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
|
|
2274
2303
|
type: Directive,
|
|
2275
2304
|
args: [{
|
|
@@ -2282,6 +2311,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2282
2311
|
}, propDecorators: { idParam: [{
|
|
2283
2312
|
type: Input,
|
|
2284
2313
|
args: ['dbxFirebaseDocumentStoreRouteId']
|
|
2314
|
+
}], dbxFirebaseDocumentStoreRouteIdDefault: [{
|
|
2315
|
+
type: Input
|
|
2316
|
+
}], dbxFirebaseDocumentStoreRouteIdDefaultRedirect: [{
|
|
2317
|
+
type: Input
|
|
2318
|
+
}], dbxFirebaseDocumentStoreRouteIdDefaultDecision: [{
|
|
2319
|
+
type: Input
|
|
2285
2320
|
}] } });
|
|
2286
2321
|
|
|
2287
2322
|
class DbxFirebaseModelStoreModule {
|
|
@@ -2669,5 +2704,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2669
2704
|
* Generated bundle index. Do not edit.
|
|
2670
2705
|
*/
|
|
2671
2706
|
|
|
2672
|
-
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirestoreContextService, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthService, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, enableAppCheckDebugTokenGeneration, firebaseAuthErrorToReadableError, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect };
|
|
2707
|
+
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirestoreContextService, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthService, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, enableAppCheckDebugTokenGeneration, firebaseAuthErrorToReadableError, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect };
|
|
2673
2708
|
//# sourceMappingURL=dereekb-dbx-firebase.mjs.map
|