@dereekb/dbx-firebase 10.1.30 → 11.0.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/esm2022/lib/analytics/analytics.user.events.mjs +10 -15
- package/esm2022/lib/analytics/analytics.user.source.mjs +20 -23
- package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +13 -17
- package/esm2022/lib/auth/firebase.auth.module.mjs +4 -4
- package/esm2022/lib/auth/login/firebase.login.module.mjs +14 -11
- package/esm2022/lib/auth/login/login.anonymous.component.mjs +4 -7
- package/esm2022/lib/auth/login/login.apple.component.mjs +4 -7
- package/esm2022/lib/auth/login/login.button.component.mjs +23 -28
- package/esm2022/lib/auth/login/login.component.mjs +8 -7
- package/esm2022/lib/auth/login/login.context.back.component.mjs +8 -10
- package/esm2022/lib/auth/login/login.context.directive.mjs +4 -4
- package/esm2022/lib/auth/login/login.email.component.mjs +4 -7
- package/esm2022/lib/auth/login/login.email.content.component.mjs +53 -57
- package/esm2022/lib/auth/login/login.email.form.component.mjs +9 -12
- package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +5 -8
- package/esm2022/lib/auth/login/login.facebook.component.mjs +4 -7
- package/esm2022/lib/auth/login/login.github.component.mjs +4 -7
- package/esm2022/lib/auth/login/login.google.component.mjs +4 -7
- package/esm2022/lib/auth/login/login.list.component.mjs +31 -34
- package/esm2022/lib/auth/login/login.microsoft.component.mjs +4 -7
- package/esm2022/lib/auth/login/login.service.mjs +11 -15
- package/esm2022/lib/auth/login/login.terms.component.mjs +11 -14
- package/esm2022/lib/auth/login/login.terms.simple.component.mjs +16 -19
- package/esm2022/lib/auth/login/login.twitter.component.mjs +4 -7
- package/esm2022/lib/auth/login/register.component.mjs +7 -4
- package/esm2022/lib/auth/login/register.email.component.mjs +4 -7
- package/esm2022/lib/auth/service/firebase.auth.service.mjs +52 -52
- package/esm2022/lib/development/development.module.mjs +10 -11
- package/esm2022/lib/development/development.popup.component.mjs +13 -15
- package/esm2022/lib/development/development.popup.content.component.mjs +41 -46
- package/esm2022/lib/development/development.popup.content.form.component.mjs +17 -20
- package/esm2022/lib/development/development.popup.directive.mjs +9 -13
- package/esm2022/lib/development/development.scheduler.list.component.mjs +22 -32
- package/esm2022/lib/development/development.scheduler.service.mjs +26 -36
- package/esm2022/lib/development/development.scheduler.widget.component.mjs +10 -13
- package/esm2022/lib/development/development.service.mjs +4 -3
- package/esm2022/lib/development/development.widget.service.mjs +8 -9
- package/esm2022/lib/firebase/emulators.mjs +12 -1
- package/esm2022/lib/firebase/firebase.emulator.module.mjs +4 -4
- package/esm2022/lib/firebase/firebase.emulator.service.mjs +6 -9
- package/esm2022/lib/firebase/firebase.module.mjs +25 -25
- package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +6 -11
- package/esm2022/lib/firestore/firebase.firestore.module.mjs +4 -4
- package/esm2022/lib/function/firebase.function.module.mjs +4 -4
- package/esm2022/lib/model/loader/collection.change.trigger.mjs +5 -3
- package/esm2022/lib/model/loader/collection.change.watcher.mjs +30 -32
- package/esm2022/lib/model/loader/collection.loader.instance.mjs +48 -43
- package/esm2022/lib/model/loader/document.loader.instance.mjs +22 -20
- package/esm2022/lib/model/model.module.mjs +4 -4
- package/esm2022/lib/model/modules/model/model.history.component.mjs +14 -16
- package/esm2022/lib/model/modules/model/model.history.module.mjs +4 -4
- package/esm2022/lib/model/modules/model/model.history.popover.button.component.mjs +10 -11
- package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +5 -8
- package/esm2022/lib/model/modules/model/model.tracker.service.mjs +11 -15
- package/esm2022/lib/model/modules/model/model.types.list.component.mjs +12 -15
- package/esm2022/lib/model/modules/model/model.types.module.mjs +4 -4
- package/esm2022/lib/model/modules/model/model.types.service.mjs +48 -40
- package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +10 -15
- package/esm2022/lib/model/modules/store/model.store.module.mjs +4 -4
- package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +14 -20
- package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +23 -27
- package/esm2022/lib/model/modules/store/store.collection.directive.mjs +5 -4
- package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +8 -12
- package/esm2022/lib/model/modules/store/store.collection.mjs +39 -42
- package/esm2022/lib/model/modules/store/store.document.auth.directive.mjs +7 -14
- package/esm2022/lib/model/modules/store/store.document.directive.mjs +15 -14
- package/esm2022/lib/model/modules/store/store.document.mjs +125 -128
- package/esm2022/lib/model/modules/store/store.document.router.directive.mjs +12 -19
- package/esm2022/lib/model/modules/store/store.document.router.key.directive.mjs +13 -20
- package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +3 -3
- package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +76 -82
- package/esm2022/lib/model/modules/store/store.subcollection.mjs +51 -51
- package/esm2022/lib/model/service/model.context.instance.mjs +11 -10
- package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +3 -3
- package/esm2022/lib/model/system/systemstate.collection.store.mjs +4 -3
- package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +18 -9
- package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +3 -3
- package/esm2022/lib/model/system/systemstate.document.store.mjs +4 -3
- package/esm2022/lib/module.mjs +4 -4
- package/esm2022/lib/pipe/key.pipe.mjs +5 -5
- package/esm2022/lib/pipe/pipe.module.mjs +4 -4
- package/esm2022/lib/router/id.param.redirect.mjs +58 -62
- package/esm2022/lib/storage/firebase.storage.module.mjs +4 -4
- package/esm2022/lib/storage/firebase.storage.service.mjs +6 -11
- package/fesm2022/dereekb-dbx-firebase.mjs +1189 -1289
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/analytics/analytics.user.events.d.ts +0 -1
- package/lib/analytics/analytics.user.source.d.ts +0 -1
- package/lib/auth/appcheck/appcheck.interceptor.d.ts +1 -5
- package/lib/auth/login/firebase.login.module.d.ts +2 -1
- package/lib/auth/login/login.button.component.d.ts +0 -1
- package/lib/auth/login/login.email.content.component.d.ts +0 -1
- package/lib/auth/login/login.list.component.d.ts +0 -1
- package/lib/auth/login/login.service.d.ts +2 -2
- package/lib/auth/login/login.terms.component.d.ts +0 -1
- package/lib/auth/login/login.terms.simple.component.d.ts +0 -1
- package/lib/auth/service/firebase.auth.service.d.ts +2 -2
- package/lib/development/development.module.d.ts +1 -1
- package/lib/development/development.popup.component.d.ts +1 -2
- package/lib/development/development.popup.content.component.d.ts +0 -1
- package/lib/development/development.popup.directive.d.ts +0 -1
- package/lib/development/development.scheduler.list.component.d.ts +1 -2
- package/lib/development/development.scheduler.service.d.ts +1 -3
- package/lib/development/development.scheduler.widget.component.d.ts +0 -1
- package/lib/development/development.widget.service.d.ts +2 -2
- package/lib/firebase/firebase.emulator.service.d.ts +0 -1
- package/lib/firestore/firebase.firestore.context.service.d.ts +1 -2
- package/lib/model/loader/collection.change.trigger.d.ts +1 -1
- package/lib/model/loader/collection.change.watcher.d.ts +8 -18
- package/lib/model/modules/model/model.history.component.d.ts +0 -1
- package/lib/model/modules/model/model.history.popover.button.component.d.ts +2 -3
- package/lib/model/modules/model/model.history.popover.component.d.ts +1 -2
- package/lib/model/modules/model/model.tracker.service.d.ts +0 -1
- package/lib/model/modules/model/model.types.service.d.ts +8 -10
- package/lib/model/modules/model/model.types.view.directive.d.ts +1 -2
- package/lib/model/modules/store/store.collection.change.directive.d.ts +2 -4
- package/lib/model/modules/store/store.collection.change.if.directive.d.ts +2 -3
- package/lib/model/modules/store/store.collection.list.directive.d.ts +4 -4
- package/lib/model/modules/store/store.document.auth.directive.d.ts +2 -3
- package/lib/model/modules/store/store.document.router.directive.d.ts +3 -4
- package/lib/model/modules/store/store.document.router.key.directive.d.ts +4 -5
- package/lib/model/system/systemstate.document.store.accessor.d.ts +5 -2
- package/lib/router/id.param.redirect.d.ts +3 -13
- package/lib/storage/firebase.storage.service.d.ts +1 -2
- package/package.json +1 -1
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import { asArray, invertDecision } from '@dereekb/util';
|
|
2
2
|
import { map, switchMap, shareReplay, startWith, of } from 'rxjs';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
3
|
+
import { Injectable, inject } from '@angular/core';
|
|
4
4
|
import { allDbxModelViewTrackerEventModelKeys, DbxModelTrackerService } from '@dereekb/dbx-web';
|
|
5
5
|
import { DbxFirebaseModelTypesService } from './model.types.service';
|
|
6
6
|
import { filterItemsWithObservableDecision, invertObservableDecision, mapEachAsync } from '@dereekb/rxjs';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@dereekb/dbx-web";
|
|
9
|
-
import * as i2 from "./model.types.service";
|
|
10
8
|
export class DbxFirebaseModelTrackerService {
|
|
9
|
+
dbxModelTrackerService = inject(DbxModelTrackerService);
|
|
10
|
+
dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
|
|
11
|
+
historyKeys$ = this.dbxModelTrackerService.newEvent$.pipe(startWith(null), switchMap(() => this.loadHistoryKeys()), shareReplay(1));
|
|
12
|
+
historyPairs$ = this.dbxModelTrackerService.newEvent$.pipe(startWith(null), switchMap(() => this.loadHistoryPairs()), // TODO: Improve efficiency of this to only load/remove items for new keys
|
|
13
|
+
shareReplay(1));
|
|
14
|
+
filterItemHistoryPairs$ = this.historyPairs$.pipe(mapEachAsync((instancePair) => instancePair.instance.identity$.pipe(map((identity) => ({ instancePair, identity }))), { onlyFirst: true }), shareReplay(1));
|
|
11
15
|
/**
|
|
12
16
|
* Filters from historyPairs$ using the input filter configuration, if it is provided.
|
|
13
17
|
*
|
|
@@ -42,21 +46,13 @@ export class DbxFirebaseModelTrackerService {
|
|
|
42
46
|
const historyKeys$ = this.loadHistoryKeys();
|
|
43
47
|
return historyKeys$.pipe(switchMap((x) => this.dbxFirebaseModelTypesService.instancePairsForKeys(x)));
|
|
44
48
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.dbxFirebaseModelTypesService = dbxFirebaseModelTypesService;
|
|
48
|
-
this.historyKeys$ = this.dbxModelTrackerService.newEvent$.pipe(startWith(null), switchMap(() => this.loadHistoryKeys()), shareReplay(1));
|
|
49
|
-
this.historyPairs$ = this.dbxModelTrackerService.newEvent$.pipe(startWith(null), switchMap(() => this.loadHistoryPairs()), // TODO: Improve efficiency of this to only load/remove items for new keys
|
|
50
|
-
shareReplay(1));
|
|
51
|
-
this.filterItemHistoryPairs$ = this.historyPairs$.pipe(mapEachAsync((instancePair) => instancePair.instance.identity$.pipe(map((identity) => ({ instancePair, identity }))), { onlyFirst: true }), shareReplay(1));
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, deps: [{ token: i1.DbxModelTrackerService }, { token: i2.DbxFirebaseModelTypesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
54
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, providedIn: 'root' }); }
|
|
49
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, providedIn: 'root' });
|
|
55
51
|
}
|
|
56
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, decorators: [{
|
|
57
53
|
type: Injectable,
|
|
58
54
|
args: [{
|
|
59
55
|
providedIn: 'root'
|
|
60
56
|
}]
|
|
61
|
-
}]
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
}] });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHJhY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9tb2RlbC9tb2RlbC50cmFja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9GLE9BQU8sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSw0QkFBNEIsRUFBNEMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUE4QixNQUFNLGVBQWUsQ0FBQzs7QUF5QnRJLE1BQU0sT0FBTyw4QkFBOEI7SUFDaEMsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDeEQsNEJBQTRCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFFcEUsWUFBWSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNoRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxFQUN2QyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUVPLGFBQWEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakUsU0FBUyxD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a0JBSDFDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBEZWNpc2lvbkZ1bmN0aW9uLCBNYXliZSwgYXNBcnJheSwgaW52ZXJ0RGVjaXNpb24gfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEZpcmVzdG9yZU1vZGVsSWRlbnRpdHkgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYWxsRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50TW9kZWxLZXlzLCBEYnhNb2RlbFRyYWNrZXJTZXJ2aWNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlLCBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyIH0gZnJvbSAnLi9tb2RlbC50eXBlcy5zZXJ2aWNlJztcbmltcG9ydCB7IGZpbHRlckl0ZW1zV2l0aE9ic2VydmFibGVEZWNpc2lvbiwgaW52ZXJ0T2JzZXJ2YWJsZURlY2lzaW9uLCBtYXBFYWNoQXN5bmMsIE9ic2VydmFibGVEZWNpc2lvbkZ1bmN0aW9uIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJGaWx0ZXJJdGVtIHtcbiAgaW5zdGFuY2VQYWlyOiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyO1xuICBpZGVudGl0eTogRmlyZXN0b3JlTW9kZWxJZGVudGl0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZU1vZGVsVHJhY2tlckhpc3RvcnlGaWx0ZXIge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZXhjbHVkZSB0aGUgdmFsdWVzIGluc3RlYWQgb2YgaW5jbHVkZSB0aGVtLlxuICAgKi9cbiAgaW52ZXJ0RmlsdGVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElkZW50aXR5IHR5cGVzIHRvIGZpbHRlciBvbi5cbiAgICovXG4gIGlkZW50aXR5PzogTWF5YmU8QXJyYXlPclZhbHVlPEZpcmVzdG9yZU1vZGVsSWRlbnRpdHk+PjtcbiAgLyoqXG4gICAqIEFyYml0cmFyeSBmaWx0ZXIgZnVuY3Rpb24gdG8gZmlsdGVyIGluZGl2aWR1YWwgaXRlbXMuXG4gICAqL1xuICBmaWx0ZXJJdGVtPzogT2JzZXJ2YWJsZURlY2lzaW9uRnVuY3Rpb248RGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJGaWx0ZXJJdGVtPjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbFRyYWNrZXJTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZGJ4TW9kZWxUcmFja2VyU2VydmljZSA9IGluamVjdChEYnhNb2RlbFRyYWNrZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZSA9IGluamVjdChEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlKTtcblxuICByZWFkb25seSBoaXN0b3J5S2V5cyQgPSB0aGlzLmRieE1vZGVsVHJhY2tlclNlcnZpY2UubmV3RXZlbnQkLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmxvYWRIaXN0b3J5S2V5cygpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGhpc3RvcnlQYWlycyQgPSB0aGlzLmRieE1vZGVsVHJhY2tlclNlcnZpY2UubmV3RXZlbnQkLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmxvYWRIaXN0b3J5UGFpcnMoKSksIC8vIFRPRE86IEltcHJvdmUgZWZmaWNpZW5jeSBvZiB0aGlzIHRvIG9ubHkgbG9hZC9yZW1vdmUgaXRlbXMgZm9yIG5ldyBrZXlzXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBmaWx0ZXJJdGVtSGlzdG9yeVBhaXJzJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsVHJhY2tlckZpbHRlckl0ZW1bXT4gPSB0aGlzLmhpc3RvcnlQYWlycyQucGlwZShcbiAgICBtYXBFYWNoQXN5bmMoKGluc3RhbmNlUGFpcikgPT4gaW5zdGFuY2VQYWlyLmluc3RhbmNlLmlkZW50aXR5JC5waXBlKG1hcCgoaWRlbnRpdHkpID0+ICh7IGluc3RhbmNlUGFpciwgaWRlbnRpdHkgfSkpKSwgeyBvbmx5Rmlyc3Q6IHRydWUgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogRmlsdGVycyBmcm9tIGhpc3RvcnlQYWlycyQgdXNpbmcgdGhlIGlucHV0IGZpbHRlciBjb25maWd1cmF0aW9uLCBpZiBpdCBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogQHBhcmFtIGZpbHRlclxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgZmlsdGVySGlzdG9yeVBhaXJzKGZpbHRlcj86IE1heWJlPERieEZpcmViYXNlTW9kZWxUcmFja2VySGlzdG9yeUZpbHRlcj4pOiBPYnNlcnZhYmxlPERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXJbXT4ge1xuICAgIGlmIChmaWx0ZXIgJiYgKGZpbHRlcj8uaWRlbnRpdHkgfHwgZmlsdGVyPy5maWx0ZXJJdGVtKSkge1xuICAgICAgY29uc3QgeyBpbnZlcnRGaWx0ZXIgPSBmYWxzZSwgaWRlbnRpdHksIGZpbHRlckl0ZW0gfSA9IGZpbHRlcjtcbiAgICAgIGNvbnN0IGFsbG93ZWRJZGVudGl0aWVzID0gbmV3IFNldChhc0FycmF5KGlkZW50aXR5KSk7XG4gICAgICBjb25zdCBiYXNlSXNBbGxvd2VkSWRlbnRpdHlGbjogRGVjaXNpb25GdW5jdGlvbjxGaXJlc3RvcmVNb2RlbElkZW50aXR5PiA9IGlkZW50aXR5ID8gKHgpID0+IGFsbG93ZWRJZGVudGl0aWVzLmhhcyh4KSA6ICgpID0+IHRydWU7XG4gICAgICBjb25zdCBpc0FsbG93ZWRJZGVudGl0eUZuID0gaW52ZXJ0RGVjaXNpb24oYmFzZUlzQWxsb3dlZElkZW50aXR5Rm4sIGludmVydEZpbHRlcik7XG5cbiAgICAgIGNvbnN0IGJhc2VGaWx0ZXJJdGVtRm46IE9ic2VydmFibGVEZWNpc2lvbkZ1bmN0aW9uPERieEZpcmViYXNlTW9kZWxUcmFja2VyRmlsdGVySXRlbT4gPSBmaWx0ZXJJdGVtID8gaW52ZXJ0T2JzZXJ2YWJsZURlY2lzaW9uKGZpbHRlckl0ZW0sIGludmVydEZpbHRlcikgOiAoKSA9PiBvZih0cnVlKTtcblxuICAgICAgY29uc3QgZmlsdGVySXRlbUZuOiBPYnNlcnZhYmxlRGVjaXNpb25GdW5jdGlvbjxEYnhGaXJlYmFzZU1vZGVsVHJhY2tlckZpbHRlckl0ZW0+ID0gKHgpID0+IHtcbiAgICAgICAgaWYgKGlzQWxsb3dlZElkZW50aXR5Rm4oeC5pZGVudGl0eSkpIHtcbiAgICAgICAgICByZXR1cm4gYmFzZUZpbHRlckl0ZW1Gbih4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXJJdGVtSGlzdG9yeVBhaXJzJC5waXBlKFxuICAgICAgICBmaWx0ZXJJdGVtc1dpdGhPYnNlcnZhYmxlRGVjaXNpb24oZmlsdGVySXRlbUZuKSxcbiAgICAgICAgbWFwKCh4KSA9PiB4Lm1hcCgoeSkgPT4geS5pbnN0YW5jZVBhaXIpKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmhpc3RvcnlQYWlycyQ7XG4gICAgfVxuICB9XG5cbiAgbG9hZEhpc3RvcnlLZXlzKCkge1xuICAgIHJldHVybiB0aGlzLmRieE1vZGVsVHJhY2tlclNlcnZpY2UuZ2V0QWxsVmlld0V2ZW50cygpLnBpcGUobWFwKGFsbERieE1vZGVsVmlld1RyYWNrZXJFdmVudE1vZGVsS2V5cykpO1xuICB9XG5cbiAgbG9hZEhpc3RvcnlQYWlycygpOiBPYnNlcnZhYmxlPERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXJbXT4ge1xuICAgIGNvbnN0IGhpc3RvcnlLZXlzJCA9IHRoaXMubG9hZEhpc3RvcnlLZXlzKCk7XG4gICAgcmV0dXJuIGhpc3RvcnlLZXlzJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4gdGhpcy5kYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlLmluc3RhbmNlUGFpcnNGb3JLZXlzKHgpKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -14,8 +14,8 @@ export class DbxFirebaseModelTypeInstanceComponent extends AbstractDbxSelectionL
|
|
|
14
14
|
defaultSelectionMode: 'view'
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
static
|
|
18
|
-
static
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseModelTypeInstanceComponent, selector: "dbx-firebase-model-type-instance-list", providers: provideDbxListViewWrapper(DbxFirebaseModelTypeInstanceComponent), usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\" [selectionMode]=\"selectionMode\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n</dbx-list>\n", isInline: true, dependencies: [{ kind: "component", type: i1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled", "selectionMode"], outputs: ["contentScrolled"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
|
|
19
19
|
}
|
|
20
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
@@ -26,15 +26,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
26
26
|
}]
|
|
27
27
|
}], ctorParameters: function () { return []; } });
|
|
28
28
|
export class DbxFirebaseModelTypeInstanceViewComponent extends AbstractDbxSelectionListViewDirective {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseModelTypeInstanceViewComponent, selector: "dbx-firebase-model-type-instance-list-view", providers: provideDbxListView(DbxFirebaseModelTypeInstanceViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "component", type: i1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }] }); }
|
|
29
|
+
config = {
|
|
30
|
+
componentClass: DbxFirebaseModelTypeInstanceViewItemComponent,
|
|
31
|
+
mapValuesToItemValues: (x) => of(x.map((y) => ({ itemValue: y, icon: y.displayInfo.icon ?? y.icon, anchor: y.segueRef })))
|
|
32
|
+
};
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseModelTypeInstanceViewComponent, selector: "dbx-firebase-model-type-instance-list-view", providers: provideDbxListView(DbxFirebaseModelTypeInstanceViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "component", type: i1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }] });
|
|
38
35
|
}
|
|
39
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewComponent, decorators: [{
|
|
40
37
|
type: Component,
|
|
@@ -48,10 +45,10 @@ export class DbxFirebaseModelTypeInstanceViewItemComponent extends AbstractDbxVa
|
|
|
48
45
|
get title() {
|
|
49
46
|
return this.itemValue.displayInfo.title;
|
|
50
47
|
}
|
|
51
|
-
static
|
|
52
|
-
static
|
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseModelTypeInstanceViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
53
50
|
<span>{{ title }}</span>
|
|
54
|
-
`, isInline: true });
|
|
51
|
+
`, isInline: true });
|
|
55
52
|
}
|
|
56
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewItemComponent, decorators: [{
|
|
57
54
|
type: Component,
|
|
@@ -61,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
61
58
|
`
|
|
62
59
|
}]
|
|
63
60
|
}] });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHlwZXMubGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL21vZGVsL21vZGVsLnR5cGVzLmxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLHFDQUFxQyxFQUFFLHFDQUFxQyxFQUFFLHVDQUF1QyxFQUFtQyxrQkFBa0IsRUFBRSxtREFBbUQsRUFBc0IseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1VixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBSzFCOztHQUVHO0FBTUgsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLHdDQUFrRjtJQUMzSTtRQUNFLEtBQUssQ0FBQztZQUNKLGNBQWMsRUFBRSx5Q0FBeUM7WUFDekQsb0JBQW9CLEVBQUUsTUFBTTtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQU5VLHFDQUFxQzs0RkFBckMscUNBQXFDLGdFQUZyQyx5QkFBeUIsQ0FBQyxxQ0FBcUMsQ0FBQzs7NEZBRWhFLHFDQUFxQztrQkFMakQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxTQUFTLEVBQUUseUJBQXlCLHVDQUF1QztpQkFDNUU7O0FBZUQsTUFBTSxPQUFPLHlDQUEwQyxTQUFRLHFDQUErRTtJQUNuSSxNQUFNLEdBQXVFO1FBQ3BGLGNBQWMsRUFBRSw2Q0FBNkM7UUFDN0QscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUMzSCxDQUFDO3dHQUpTLHlDQUF5Qzs0RkFBekMseUNBQXlDLHFFQUZ6QyxrQkFBa0IsQ0FBQyx5Q0FBeUMsQ0FBQzs7NEZBRTdELHlDQUF5QztrQkFMckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNENBQTRDO29CQUN0RCxRQUFRLEVBQUUsbURBQW1EO29CQUM3RCxTQUFTLEVBQUUsa0JBQWtCLDJDQUEyQztpQkFDekU7O0FBYUQsTUFBTSxPQUFPLDZDQUE4QyxTQUFRLHFDQUErRTtJQUNoSixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDO3dHQUhVLDZDQUE2Qzs0RkFBN0MsNkNBQTZDLDJFQUo5Qzs7R0FFVDs7NEZBRVUsNkNBQTZDO2tCQUx6RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7R0FFVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhTZWxlY3Rpb25MaXN0V3JhcHBlckRpcmVjdGl2ZSwgQWJzdHJhY3REYnhWYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudCwgQWJzdHJhY3REYnhTZWxlY3Rpb25MaXN0Vmlld0RpcmVjdGl2ZSwgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFLCBEYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3Q29uZmlnLCBwcm92aWRlRGJ4TGlzdFZpZXcsIERFRkFVTFRfREJYX1NFTEVDVElPTl9WQUxVRV9MSVNUX0RJUkVDVElWRV9URU1QTEFURSwgRGJ4VmFsdWVBc0xpc3RJdGVtLCBwcm92aWRlRGJ4TGlzdFZpZXdXcmFwcGVyIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpciB9IGZyb20gJy4vbW9kZWwudHlwZXMuc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIERieEZpcmVzdG9yZU1vZGVsVHlwZUluc3RhbmNlSXRlbSA9IERieFZhbHVlQXNMaXN0SXRlbTxEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyPjtcblxuLyoqXG4gKiBSZW5kZXJzIGFuIGl0ZW0gYXMgY29uZmlndXJlZCBmcm9tIHRoZSBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZmlyZWJhc2UtbW9kZWwtdHlwZS1pbnN0YW5jZS1saXN0JyxcbiAgdGVtcGxhdGU6IERFRkFVTFRfTElTVF9XUkFQUEVSX0RJUkVDVElWRV9URU1QTEFURSxcbiAgcHJvdmlkZXJzOiBwcm92aWRlRGJ4TGlzdFZpZXdXcmFwcGVyKERieEZpcmViYXNlTW9kZWxUeXBlSW5zdGFuY2VDb21wb25lbnQpXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlTW9kZWxUeXBlSW5zdGFuY2VDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlPERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXI+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe1xuICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZpcmViYXNlTW9kZWxUeXBlSW5zdGFuY2VWaWV3Q29tcG9uZW50LFxuICAgICAgZGVmYXVsdFNlbGVjdGlvbk1vZGU6ICd2aWV3J1xuICAgIH0pO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1maXJlYmFzZS1tb2RlbC10eXBlLWluc3RhbmNlLWxpc3QtdmlldycsXG4gIHRlbXBsYXRlOiBERUZBVUxUX0RCWF9TRUxFQ1RJT05fVkFMVUVfTElTVF9ESVJFQ1RJVkVfVEVNUExBVEUsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieExpc3RWaWV3KERieEZpcmViYXNlTW9kZWxUeXBlSW5zdGFuY2VWaWV3Q29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZU1vZGVsVHlwZUluc3RhbmNlVmlld0NvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGJ4U2VsZWN0aW9uTGlzdFZpZXdEaXJlY3RpdmU8RGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpcj4ge1xuICByZWFkb25seSBjb25maWc6IERieFNlbGVjdGlvblZhbHVlTGlzdFZpZXdDb25maWc8RGJ4RmlyZXN0b3JlTW9kZWxUeXBlSW5zdGFuY2VJdGVtPiA9IHtcbiAgICBjb21wb25lbnRDbGFzczogRGJ4RmlyZWJhc2VNb2RlbFR5cGVJbnN0YW5jZVZpZXdJdGVtQ29tcG9uZW50LFxuICAgIG1hcFZhbHVlc1RvSXRlbVZhbHVlczogKHgpID0+IG9mKHgubWFwKCh5KSA9PiAoeyBpdGVtVmFsdWU6IHksIGljb246IHkuZGlzcGxheUluZm8uaWNvbiA/PyB5Lmljb24sIGFuY2hvcjogeS5zZWd1ZVJlZiB9KSkpXG4gIH07XG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxzcGFuPnt7IHRpdGxlIH19PC9zcGFuPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlTW9kZWxUeXBlSW5zdGFuY2VWaWV3SXRlbUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGJ4VmFsdWVMaXN0Vmlld0l0ZW1Db21wb25lbnQ8RGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpcj4ge1xuICBnZXQgdGl0bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVZhbHVlLmRpc3BsYXlJbmZvLnRpdGxlO1xuICB9XG59XG4iXX0=
|
|
@@ -6,9 +6,9 @@ import { DbxfirebaseModelViewedEventDirective } from './model.types.view.directi
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
const declarations = [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent];
|
|
8
8
|
export class DbxFirebaseModelTypesModule {
|
|
9
|
-
static
|
|
10
|
-
static
|
|
11
|
-
static
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, declarations: [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent], imports: [CommonModule, DbxModelInfoModule, DbxListLayoutModule], exports: [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent] });
|
|
11
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, imports: [CommonModule, DbxModelInfoModule, DbxListLayoutModule] });
|
|
12
12
|
}
|
|
13
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
18
18
|
exports: declarations
|
|
19
19
|
}]
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9tb2RlbC9tb2RlbC50eXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLHlDQUF5QyxFQUFFLDZDQUE2QyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0ssT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRXBGLE1BQU0sWUFBWSxHQUFHLENBQUMsb0NBQW9DLEVBQUUscUNBQXFDLEVBQUUseUNBQXlDLEVBQUUsNkNBQTZDLENBQUMsQ0FBQztBQU83TCxNQUFNLE9BQU8sMkJBQTJCO3dHQUEzQiwyQkFBMkI7eUdBQTNCLDJCQUEyQixpQkFQbEIsb0NBQW9DLEVBQUUscUNBQXFDLEVBQUUseUNBQXlDLEVBQUUsNkNBQTZDLGFBRy9LLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsYUFIM0Msb0NBQW9DLEVBQUUscUNBQXFDLEVBQUUseUNBQXlDLEVBQUUsNkNBQTZDO3lHQU85SywyQkFBMkIsWUFKNUIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQjs7NEZBSXBELDJCQUEyQjtrQkFMdkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUM7b0JBQ2hFLFlBQVk7b0JBQ1osT0FBTyxFQUFFLFlBQVk7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhMaXN0TGF5b3V0TW9kdWxlLCBEYnhNb2RlbEluZm9Nb2R1bGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxUeXBlSW5zdGFuY2VDb21wb25lbnQsIERieEZpcmViYXNlTW9kZWxUeXBlSW5zdGFuY2VWaWV3Q29tcG9uZW50LCBEYnhGaXJlYmFzZU1vZGVsVHlwZUluc3RhbmNlVmlld0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL21vZGVsLnR5cGVzLmxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IERieGZpcmViYXNlTW9kZWxWaWV3ZWRFdmVudERpcmVjdGl2ZSB9IGZyb20gJy4vbW9kZWwudHlwZXMudmlldy5kaXJlY3RpdmUnO1xuXG5jb25zdCBkZWNsYXJhdGlvbnMgPSBbRGJ4ZmlyZWJhc2VNb2RlbFZpZXdlZEV2ZW50RGlyZWN0aXZlLCBEYnhGaXJlYmFzZU1vZGVsVHlwZUluc3RhbmNlQ29tcG9uZW50LCBEYnhGaXJlYmFzZU1vZGVsVHlwZUluc3RhbmNlVmlld0NvbXBvbmVudCwgRGJ4RmlyZWJhc2VNb2RlbFR5cGVJbnN0YW5jZVZpZXdJdGVtQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRGJ4TW9kZWxJbmZvTW9kdWxlLCBEYnhMaXN0TGF5b3V0TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zLFxuICBleHBvcnRzOiBkZWNsYXJhdGlvbnNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { distinctUntilChanged, map, shareReplay, switchMap, combineLatest, of } from 'rxjs';
|
|
2
2
|
import { DbxModelTypesService } from '@dereekb/dbx-web';
|
|
3
3
|
import { asArray } from '@dereekb/util';
|
|
4
|
-
import { Optional, Injectable } from '@angular/core';
|
|
4
|
+
import { Optional, Injectable, inject, Inject } from '@angular/core';
|
|
5
5
|
import { DbxFirebaseModelContextService } from '../../service/model.context.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../service/model.context.service";
|
|
8
|
-
import * as i2 from "@dereekb/dbx-web";
|
|
9
7
|
/**
|
|
10
8
|
* Configuration provided in the root module for configuring entries.
|
|
11
9
|
*/
|
|
@@ -17,11 +15,11 @@ export class DbxFirebaseModelTypesServiceConfig {
|
|
|
17
15
|
* Automatically configures the DbxModelTypesService.
|
|
18
16
|
*/
|
|
19
17
|
export class DbxFirebaseModelTypesService {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (
|
|
24
|
-
this.register(
|
|
18
|
+
dbxFirebaseModelContextService = inject(DbxFirebaseModelContextService);
|
|
19
|
+
dbxModelTypesService = inject((DbxModelTypesService));
|
|
20
|
+
constructor(initialConfig) {
|
|
21
|
+
if (initialConfig) {
|
|
22
|
+
this.register(initialConfig.entries);
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
25
|
getDisplayInfo(typeInfo, data) {
|
|
@@ -61,21 +59,24 @@ export class DbxFirebaseModelTypesService {
|
|
|
61
59
|
}));
|
|
62
60
|
}
|
|
63
61
|
instanceForKey(key$) {
|
|
64
|
-
return
|
|
62
|
+
return dbxFirebaseModelTypesServiceInstance(this.dbxFirebaseModelContextService.modelInfoInstance(key$), this);
|
|
65
63
|
}
|
|
66
64
|
instancePairsForKeys(keys) {
|
|
67
65
|
return dbxFirebaseModelTypesServiceInstancePairForKeysFactory(this)(keys);
|
|
68
66
|
}
|
|
69
|
-
static
|
|
70
|
-
static
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesService, deps: [{ token: DbxFirebaseModelTypesServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
68
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesService, providedIn: 'root' });
|
|
71
69
|
}
|
|
72
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesService, decorators: [{
|
|
73
71
|
type: Injectable,
|
|
74
72
|
args: [{
|
|
75
73
|
providedIn: 'root'
|
|
76
74
|
}]
|
|
77
|
-
}], ctorParameters: function () { return [{ type:
|
|
75
|
+
}], ctorParameters: function () { return [{ type: DbxFirebaseModelTypesServiceConfig, decorators: [{
|
|
78
76
|
type: Optional
|
|
77
|
+
}, {
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: [DbxFirebaseModelTypesServiceConfig]
|
|
79
80
|
}] }]; } });
|
|
80
81
|
export function dbxFirebaseModelTypesServiceInstancePairForKeysFactory(service) {
|
|
81
82
|
return (keys) => {
|
|
@@ -83,32 +84,39 @@ export function dbxFirebaseModelTypesServiceInstancePairForKeysFactory(service)
|
|
|
83
84
|
return instances.length ? combineLatest(instances) : of([]);
|
|
84
85
|
};
|
|
85
86
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
87
|
+
export function dbxFirebaseModelTypesServiceInstance(modelInfoInstance$, dbxFirebaseModelTypesService) {
|
|
88
|
+
const key$ = modelInfoInstance$.pipe(switchMap((x) => x.key$));
|
|
89
|
+
const modelType$ = modelInfoInstance$.pipe(switchMap((x) => x.modelType$));
|
|
90
|
+
const snapshotData$ = modelInfoInstance$.pipe(switchMap((x) => x.snapshotData$));
|
|
91
|
+
const typeInfo$ = modelType$.pipe(switchMap((x) => dbxFirebaseModelTypesService.infoForType(x)), distinctUntilChanged(), shareReplay(1));
|
|
92
|
+
const identity$ = typeInfo$.pipe(map((x) => x.identity), distinctUntilChanged());
|
|
93
|
+
const segueRef$ = combineLatest([key$, typeInfo$]).pipe(map(([key, info]) => (info.sref ? info.sref(key) : undefined)), shareReplay(1));
|
|
94
|
+
const displayInfo$ = combineLatest([typeInfo$, snapshotData$]).pipe(map(([typeInfo, data]) => dbxFirebaseModelTypesService.getDisplayInfo(typeInfo, data)), shareReplay(1));
|
|
95
|
+
const clickableSegueRef$ = combineLatest([segueRef$, displayInfo$]).pipe(map(([segueRef, displayInfo]) => {
|
|
96
|
+
let ref = undefined;
|
|
97
|
+
if (segueRef) {
|
|
98
|
+
ref = {
|
|
99
|
+
...segueRef,
|
|
100
|
+
title: displayInfo.title,
|
|
101
|
+
icon: displayInfo.icon
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return ref;
|
|
105
|
+
}), shareReplay(1));
|
|
106
|
+
const instancePair$ = combineLatest([clickableSegueRef$, displayInfo$, key$]).pipe(map(([segueRef, displayInfo, key]) => ({ segueRef, displayInfo, key, instance })), shareReplay(1));
|
|
107
|
+
const instance = {
|
|
108
|
+
modelInfoInstance$,
|
|
109
|
+
dbxFirebaseModelTypesService,
|
|
110
|
+
key$,
|
|
111
|
+
modelType$,
|
|
112
|
+
snapshotData$,
|
|
113
|
+
typeInfo$,
|
|
114
|
+
identity$,
|
|
115
|
+
segueRef$,
|
|
116
|
+
displayInfo$,
|
|
117
|
+
clickableSegueRef$,
|
|
118
|
+
instancePair$
|
|
119
|
+
};
|
|
120
|
+
return instance;
|
|
113
121
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvbW9kZWwvbW9kZWwudHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RyxPQUFPLEVBQXNDLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUYsT0FBTyxFQUFnQixPQUFPLEVBQW9ELE1BQU0sZUFBZSxDQUFDO0FBSXhHLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7O0FBR3JGOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixrQ0FBa0M7Q0FFdkQ7QUF3QkQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBcUIsOEJBQThELEVBQVcsb0JBQW9FLEVBQWMsTUFBMkM7UUFBdE0sbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUFXLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBZ0Q7UUFDaEssSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUksUUFBcUMsRUFBRSxJQUFPO1FBQzlELElBQUksV0FBd0MsQ0FBQztRQUU3QyxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7WUFDaEIsV0FBVyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRCxXQUFXLENBQUMsSUFB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ZixDQUFDO0lBRXFMLENBQUM7Q0FDekwiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlyZXN0b3JlQ29sbGVjdGlvblR5cGUsIEZpcmVzdG9yZURvY3VtZW50LCBGaXJlc3RvcmVNb2RlbElkZW50aXR5LCBGaXJlc3RvcmVNb2RlbEtleSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IERieE1vZGVsVHlwZUluZm8sIERieE1vZGVsVHlwZXNNYXAsIERieE1vZGVsVHlwZXNTZXJ2aWNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBBcnJheU9yVmFsdWUsIGFzQXJyYXksIEZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dCwgTWF5YmUsIE1vZGVsVHlwZVN0cmluZyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgQ2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmLCBJY29uQW5kVGl0bGUsIFNlZ3VlUmVmIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEdyYW50ZWRSb2xlIH0gZnJvbSAnQGRlcmVla2IvbW9kZWwnO1xuaW1wb3J0IHsgT3B0aW9uYWwsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvbW9kZWwuY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IERieEZpcmViYXNlSW5Db250ZXh0RmlyZWJhc2VNb2RlbEluZm9TZXJ2aWNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL21vZGVsLmNvbnRleHQnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcHJvdmlkZWQgaW4gdGhlIHJvb3QgbW9kdWxlIGZvciBjb25maWd1cmluZyBlbnRyaWVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUNvbmZpZyB7XG4gIGFic3RyYWN0IGVudHJpZXM6IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VFbnRyeVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VFbnRyeTxUID0gdW5rbm93bj4gZXh0ZW5kcyBPbWl0PERieE1vZGVsVHlwZUluZm8sICdjYW5TZWd1ZVRvVmlldycgfCAnbW9kZWxUeXBlJz4ge1xuICAvKipcbiAgICogSWRlbnRpdHkgb2YgdGhlIGl0ZW0gYmVpbmcgcmVnaXN0ZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5OiBGaXJlc3RvcmVNb2RlbElkZW50aXR5O1xuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgRGJ4RmlyZWJhc2VNb2RlbERpc3BsYXlJbmZvIGZvciB0aGUgaW5wdXQgZGF0YS5cbiAgICpcbiAgICogSWYgbm8gaWNvbiBpcyBwcm92aWRlZCwgaXQgdXNlcyB0aGUgZGVmYXVsdCBpY29uIGNvbmZpZ3VyZWQgaW4gdGhpcyBlbnRyeS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5SW5mb0ZhY3Rvcnk6IEZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dDxEYnhGaXJlYmFzZU1vZGVsRGlzcGxheUluZm8sIFQ+O1xufVxuXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZU1vZGVsRGlzcGxheUluZm8gPSBJY29uQW5kVGl0bGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VNb2RlbFR5cGVJbmZvPFQgPSB1bmtub3duPiBleHRlbmRzIERieE1vZGVsVHlwZUluZm8sIFBpY2s8RGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUVudHJ5PFQ+LCAnaWRlbnRpdHknIHwgJ2Rpc3BsYXlJbmZvRmFjdG9yeSc+IHt9XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlTW9kZWxUeXBlc01hcCA9IERieE1vZGVsVHlwZXNNYXA8RGJ4RmlyZWJhc2VNb2RlbFR5cGVJbmZvPjtcblxuLyoqXG4gKiBQcm92aWRlcyBtb2RlbCB0eXBlIGluZm9ybWF0aW9uIGFib3V0IG1vZGVscyByZWdpc3RlcmVkIHdpdGhpbiBGaXJlYmFzZS5cbiAqXG4gKiBBdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZXMgdGhlIERieE1vZGVsVHlwZXNTZXJ2aWNlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGJ4RmlyZWJhc2VNb2RlbENvbnRleHRTZXJ2aWNlOiBEYnhGaXJlYmFzZU1vZGVsQ29udGV4dFNlcnZpY2UsIHJlYWRvbmx5IGRieE1vZGVsVHlwZXNTZXJ2aWNlOiBEYnhNb2RlbFR5cGVzU2VydmljZTxEYnhGaXJlYmFzZU1vZGVsVHlwZUluZm8+LCBAT3B0aW9uYWwoKSBjb25maWc/OiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZykge1xuICAgICAgdGhpcy5yZWdpc3Rlcihjb25maWcuZW50cmllcyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGlzcGxheUluZm88VD4odHlwZUluZm86IERieEZpcmViYXNlTW9kZWxUeXBlSW5mbzxUPiwgZGF0YTogVCkge1xuICAgIGxldCBkaXNwbGF5SW5mbzogRGJ4RmlyZWJhc2VNb2RlbERpc3BsYXlJbmZvO1xuXG4gICAgaWYgKGRhdGEgIT0gbnVsbCkge1xuICAgICAgZGlzcGxheUluZm8gPSB0eXBlSW5mby5kaXNwbGF5SW5mb0ZhY3RvcnkoZGF0YSk7XG4gICAgICBkaXNwbGF5SW5mby5pY29uID0gZGlzcGxheUluZm8uaWNvbiB8fCB0eXBlSW5mby5pY29uOyAvLyBzZXQgZGVmYXVsdCBpY29uXG4gICAgfSBlbHNlIHtcbiAgICAgIGRpc3BsYXlJbmZvID0gdGhpcy5nZXREZWZhdWx0RGlzcGxheUluZm8odHlwZUluZm8pO1xuICAgIH1cblxuICAgIHJldHVybiBkaXNwbGF5SW5mbztcbiAgfVxuXG4gIGdldERlZmF1bHREaXNwbGF5SW5mbzxUID0gdW5rbm93bj4odHlwZUluZm86IERieEZpcmViYXNlTW9kZWxUeXBlSW5mbzxUPikge1xuICAgIC8vIFRPRE86IE1ha2UgY29uZmlndXJhYmxlXG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0eXBlSW5mby5sYWJlbCA/PyAnJyxcbiAgICAgIGljb246ICd3YXJuaW5nJ1xuICAgIH07XG4gIH1cblxuICAvLyBNQVJLOiBSZWdpc3RlclxuICByZWdpc3RlcihlbnRyaWVzOiBBcnJheU9yVmFsdWU8RGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUVudHJ5Pikge1xuICAgIGNvbnN0IHR5cGVDb25maWdzID0gYXNBcnJheShlbnRyaWVzKS5tYXAoKHgpID0+ICh7IC4uLngsIG1vZGVsVHlwZTogeC5pZGVudGl0eS5tb2RlbFR5cGUgfSkpO1xuICAgIHRoaXMuZGJ4TW9kZWxUeXBlc1NlcnZpY2UuYWRkVHlwZUNvbmZpZ3ModHlwZUNvbmZpZ3MpO1xuICB9XG5cbiAgLy8gTUFSSzogUmV0cmlldmFsXG4gIGN1cnJlbnRJbmZvRm9yVHlwZSh0eXBlOiBNb2RlbFR5cGVTdHJpbmcgfCBGaXJlc3RvcmVDb2xsZWN0aW9uVHlwZSk6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VNb2RlbFR5cGVJbmZvPj4ge1xuICAgIHJldHVybiB0aGlzLmRieE1vZGVsVHlwZXNTZXJ2aWNlLnR5cGVzTWFwJC5waXBlKG1hcCgoeCkgPT4geFt0eXBlXSkpO1xuICB9XG5cbiAgaW5mb0ZvclR5cGUodHlwZTogTW9kZWxUeXBlU3RyaW5nIHwgRmlyZXN0b3JlQ29sbGVjdGlvblR5cGUpOiBPYnNlcnZhYmxlPERieEZpcmViYXNlTW9kZWxUeXBlSW5mbz4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRJbmZvRm9yVHlwZSh0eXBlKS5waXBlKFxuICAgICAgbWFwKCh4KSA9PiB7XG4gICAgICAgIGlmICgheCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2U6IGNvbnRhaW5lZCBubyBpbmZvIGZvciB0eXBlIFwiJHt0eXBlfVwiLiBFbnN1cmUgdGhlIGNvcnJlY3QgdHlwZSB3YXMgZW50ZXJlZCwgYW5kIHRoYXQgdGhlIHR5cGUgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlLmApO1xuICAgICAgICAgIHRocm93IHg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geCBhcyBEYnhGaXJlYmFzZU1vZGVsVHlwZUluZm87XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBpbnN0YW5jZUZvcktleTxEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8YW55PiA9IGFueSwgUiBleHRlbmRzIEdyYW50ZWRSb2xlID0gR3JhbnRlZFJvbGU+KGtleSQ6IE9ic2VydmFibGVPclZhbHVlPEZpcmVzdG9yZU1vZGVsS2V5Pik6IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZTxELCBSPiB7XG4gICAgcmV0dXJuIG5ldyBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2U8RCwgUj4odGhpcy5kYnhGaXJlYmFzZU1vZGVsQ29udGV4dFNlcnZpY2UubW9kZWxJbmZvSW5zdGFuY2U8RCwgUj4oa2V5JCksIHRoaXMpO1xuICB9XG5cbiAgaW5zdGFuY2VQYWlyc0ZvcktleXMoa2V5czogQXJyYXlPclZhbHVlPE9ic2VydmFibGVPclZhbHVlPEZpcmVzdG9yZU1vZGVsS2V5Pj4pIHtcbiAgICByZXR1cm4gZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpckZvcktleXNGYWN0b3J5KHRoaXMpKGtleXMpO1xuICB9XG59XG5cbi8qKlxuICogSW5mb3JtYXRpb24gcGFpciBmb3IgYW4gaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpcjxEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8YW55PiA9IGFueSwgUiBleHRlbmRzIEdyYW50ZWRSb2xlID0gR3JhbnRlZFJvbGU+IHtcbiAgcmVhZG9ubHkga2V5OiBGaXJlc3RvcmVNb2RlbEtleTtcbiAgcmVhZG9ubHkgaW5zdGFuY2U6IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZTxELCBSPjtcbiAgcmVhZG9ubHkgZGlzcGxheUluZm86IERieEZpcmViYXNlTW9kZWxEaXNwbGF5SW5mbztcbiAgcmVhZG9ubHkgc2VndWVSZWY6IE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZj47XG59XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXJGb3JLZXlzRmFjdG9yeSA9IChrZXlzOiBBcnJheU9yVmFsdWU8T2JzZXJ2YWJsZU9yVmFsdWU8RmlyZXN0b3JlTW9kZWxLZXk+PikgPT4gT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyW10+O1xuXG5leHBvcnQgZnVuY3Rpb24gZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpckZvcktleXNGYWN0b3J5KHNlcnZpY2U6IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UpOiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyRm9yS2V5c0ZhY3Rvcnkge1xuICByZXR1cm4gKGtleXM6IEFycmF5T3JWYWx1ZTxPYnNlcnZhYmxlT3JWYWx1ZTxGaXJlc3RvcmVNb2RlbEtleT4+KSA9PiB7XG4gICAgY29uc3QgaW5zdGFuY2VzID0gYXNBcnJheShrZXlzKS5tYXAoKHgpID0+IHNlcnZpY2UuaW5zdGFuY2VGb3JLZXkoeCkuaW5zdGFuY2VQYWlyJCk7XG4gICAgcmV0dXJuIGluc3RhbmNlcy5sZW5ndGggPyBjb21iaW5lTGF0ZXN0KGluc3RhbmNlcykgOiBvZihbXSk7XG4gIH07XG59XG5cbi8qKlxuICogRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZSBpbnN0YW5jZVxuICovXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlPEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxhbnk+ID0gYW55LCBSIGV4dGVuZHMgR3JhbnRlZFJvbGUgPSBHcmFudGVkUm9sZT4ge1xuICByZWFkb25seSBrZXkkID0gdGhpcy5tb2RlbEluZm9JbnN0YW5jZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgua2V5JCkpO1xuICByZWFkb25seSBtb2RlbFR5cGUkID0gdGhpcy5tb2RlbEluZm9JbnN0YW5jZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgubW9kZWxUeXBlJCkpO1xuICByZWFkb25seSBzbmFwc2hvdERhdGEkID0gdGhpcy5tb2RlbEluZm9JbnN0YW5jZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguc25hcHNob3REYXRhJCkpO1xuXG4gIHJlYWRvbmx5IHR5cGVJbmZvJCA9IHRoaXMubW9kZWxUeXBlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4gdGhpcy5kYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlLmluZm9Gb3JUeXBlKHgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaWRlbnRpdHkkID0gdGhpcy50eXBlSW5mbyQucGlwZShcbiAgICBtYXAoKHgpID0+IHguaWRlbnRpdHkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICByZWFkb25seSBzZWd1ZVJlZiQ6IE9ic2VydmFibGU8TWF5YmU8U2VndWVSZWY+PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMua2V5JCwgdGhpcy50eXBlSW5mbyRdKS5waXBlKFxuICAgIG1hcCgoW2tleSwgaW5mb10pID0+IChpbmZvLnNyZWYgPyBpbmZvLnNyZWYoa2V5KSA6IHVuZGVmaW5lZCkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheUluZm8kOiBPYnNlcnZhYmxlPERieEZpcmViYXNlTW9kZWxEaXNwbGF5SW5mbz4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnR5cGVJbmZvJCwgdGhpcy5zbmFwc2hvdERhdGEkXSkucGlwZShcbiAgICBtYXAoKFt0eXBlSW5mbywgZGF0YV0pID0+IHRoaXMuZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZS5nZXREaXNwbGF5SW5mbyh0eXBlSW5mbywgZGF0YSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY2xpY2thYmxlU2VndWVSZWYkOiBPYnNlcnZhYmxlPE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZj4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5zZWd1ZVJlZiQsIHRoaXMuZGlzcGxheUluZm8kXSkucGlwZShcbiAgICBtYXAoKFtzZWd1ZVJlZiwgZGlzcGxheUluZm9dKSA9PiB7XG4gICAgICBsZXQgcmVmOiBNYXliZTxDbGlja2FibGVBbmNob3JMaW5rU2VndWVSZWY+ID0gdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoc2VndWVSZWYpIHtcbiAgICAgICAgcmVmID0ge1xuICAgICAgICAgIC4uLnNlZ3VlUmVmLFxuICAgICAgICAgIHRpdGxlOiBkaXNwbGF5SW5mby50aXRsZSxcbiAgICAgICAgICBpY29uOiBkaXNwbGF5SW5mby5pY29uXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWY7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBpbnN0YW5jZVBhaXIkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXI+ID0gY29tYmluZUxhdGVzdChbdGhpcy5jbGlja2FibGVTZWd1ZVJlZiQsIHRoaXMuZGlzcGxheUluZm8kLCB0aGlzLmtleSRdKS5waXBlKFxuICAgIG1hcCgoW3NlZ3VlUmVmLCBkaXNwbGF5SW5mbywga2V5XSkgPT4gKHsgc2VndWVSZWYsIGRpc3BsYXlJbmZvLCBrZXksIGluc3RhbmNlOiB0aGlzIH0pKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IG1vZGVsSW5mb0luc3RhbmNlJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZUluQ29udGV4dEZpcmViYXNlTW9kZWxJbmZvU2VydmljZUluc3RhbmNlPEQsIFI+PiwgcmVhZG9ubHkgZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZTogRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZSkge31cbn1cbiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvbW9kZWwvbW9kZWwudHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4RyxPQUFPLEVBQXNDLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUYsT0FBTyxFQUFnQixPQUFPLEVBQW9ELE1BQU0sZUFBZSxDQUFDO0FBSXhHLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBR3JGOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixrQ0FBa0M7Q0FFdkQ7QUF3QkQ7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyw0QkFBNEI7SUFDOUIsOEJBQThCLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDeEUsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLENBQUEsb0JBQThDLENBQUEsQ0FBQyxDQUFDO0lBRXZGLFlBQW9FLGFBQWtEO1FBQ3BILElBQUksYUFBYSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBSSxRQUFxQyxFQUFFLElBQU87UUFDOUQsSUFBSSxXQUF3QyxDQUFDO1FBRTdDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixXQUFXLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElB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O0tBQ2QsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlyZXN0b3JlQ29sbGVjdGlvblR5cGUsIEZpcmVzdG9yZURvY3VtZW50LCBGaXJlc3RvcmVEb2N1bWVudERhdGEsIEZpcmVzdG9yZU1vZGVsSWRlbnRpdHksIEZpcmVzdG9yZU1vZGVsS2V5IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgRGJ4TW9kZWxUeXBlSW5mbywgRGJ4TW9kZWxUeXBlc01hcCwgRGJ4TW9kZWxUeXBlc1NlcnZpY2UgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IEFycmF5T3JWYWx1ZSwgYXNBcnJheSwgRmFjdG9yeVdpdGhSZXF1aXJlZElucHV0LCBNYXliZSwgTW9kZWxUeXBlU3RyaW5nIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBDbGlja2FibGVBbmNob3JMaW5rU2VndWVSZWYsIEljb25BbmRUaXRsZSwgU2VndWVSZWYgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgR3JhbnRlZFJvbGUgfSBmcm9tICdAZGVyZWVrYi9tb2RlbCc7XG5pbXBvcnQgeyBPcHRpb25hbCwgSW5qZWN0YWJsZSwgaW5qZWN0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlTW9kZWxDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvbW9kZWwuY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IERieEZpcmViYXNlSW5Db250ZXh0RmlyZWJhc2VNb2RlbEluZm9TZXJ2aWNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlL21vZGVsLmNvbnRleHQnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcHJvdmlkZWQgaW4gdGhlIHJvb3QgbW9kdWxlIGZvciBjb25maWd1cmluZyBlbnRyaWVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUNvbmZpZyB7XG4gIGFic3RyYWN0IGVudHJpZXM6IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VFbnRyeVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VFbnRyeTxUID0gdW5rbm93bj4gZXh0ZW5kcyBPbWl0PERieE1vZGVsVHlwZUluZm8sICdjYW5TZWd1ZVRvVmlldycgfCAnbW9kZWxUeXBlJz4ge1xuICAvKipcbiAgICogSWRlbnRpdHkgb2YgdGhlIGl0ZW0gYmVpbmcgcmVnaXN0ZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5OiBGaXJlc3RvcmVNb2RlbElkZW50aXR5O1xuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgRGJ4RmlyZWJhc2VNb2RlbERpc3BsYXlJbmZvIGZvciB0aGUgaW5wdXQgZGF0YS5cbiAgICpcbiAgICogSWYgbm8gaWNvbiBpcyBwcm92aWRlZCwgaXQgdXNlcyB0aGUgZGVmYXVsdCBpY29uIGNvbmZpZ3VyZWQgaW4gdGhpcyBlbnRyeS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5SW5mb0ZhY3Rvcnk6IEZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dDxEYnhGaXJlYmFzZU1vZGVsRGlzcGxheUluZm8sIFQ+O1xufVxuXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZU1vZGVsRGlzcGxheUluZm8gPSBJY29uQW5kVGl0bGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VNb2RlbFR5cGVJbmZvPFQgPSB1bmtub3duPiBleHRlbmRzIERieE1vZGVsVHlwZUluZm8sIFBpY2s8RGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUVudHJ5PFQ+LCAnaWRlbnRpdHknIHwgJ2Rpc3BsYXlJbmZvRmFjdG9yeSc+IHt9XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlTW9kZWxUeXBlc01hcCA9IERieE1vZGVsVHlwZXNNYXA8RGJ4RmlyZWJhc2VNb2RlbFR5cGVJbmZvPjtcblxuLyoqXG4gKiBQcm92aWRlcyBtb2RlbCB0eXBlIGluZm9ybWF0aW9uIGFib3V0IG1vZGVscyByZWdpc3RlcmVkIHdpdGhpbiBGaXJlYmFzZS5cbiAqXG4gKiBBdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZXMgdGhlIERieE1vZGVsVHlwZXNTZXJ2aWNlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZGJ4RmlyZWJhc2VNb2RlbENvbnRleHRTZXJ2aWNlID0gaW5qZWN0KERieEZpcmViYXNlTW9kZWxDb250ZXh0U2VydmljZSk7XG4gIHJlYWRvbmx5IGRieE1vZGVsVHlwZXNTZXJ2aWNlID0gaW5qZWN0KERieE1vZGVsVHlwZXNTZXJ2aWNlPERieEZpcmViYXNlTW9kZWxUeXBlSW5mbz4pO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUNvbmZpZykgaW5pdGlhbENvbmZpZz86IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VDb25maWcpIHtcbiAgICBpZiAoaW5pdGlhbENvbmZpZykge1xuICAgICAgdGhpcy5yZWdpc3Rlcihpbml0aWFsQ29uZmlnLmVudHJpZXMpO1xuICAgIH1cbiAgfVxuXG4gIGdldERpc3BsYXlJbmZvPFQ+KHR5cGVJbmZvOiBEYnhGaXJlYmFzZU1vZGVsVHlwZUluZm88VD4sIGRhdGE6IFQpIHtcbiAgICBsZXQgZGlzcGxheUluZm86IERieEZpcmViYXNlTW9kZWxEaXNwbGF5SW5mbztcblxuICAgIGlmIChkYXRhICE9IG51bGwpIHtcbiAgICAgIGRpc3BsYXlJbmZvID0gdHlwZUluZm8uZGlzcGxheUluZm9GYWN0b3J5KGRhdGEpO1xuICAgICAgZGlzcGxheUluZm8uaWNvbiA9IGRpc3BsYXlJbmZvLmljb24gfHwgdHlwZUluZm8uaWNvbjsgLy8gc2V0IGRlZmF1bHQgaWNvblxuICAgIH0gZWxzZSB7XG4gICAgICBkaXNwbGF5SW5mbyA9IHRoaXMuZ2V0RGVmYXVsdERpc3BsYXlJbmZvKHR5cGVJbmZvKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGlzcGxheUluZm87XG4gIH1cblxuICBnZXREZWZhdWx0RGlzcGxheUluZm88VCA9IHVua25vd24+KHR5cGVJbmZvOiBEYnhGaXJlYmFzZU1vZGVsVHlwZUluZm88VD4pIHtcbiAgICAvLyBUT0RPOiBNYWtlIGNvbmZpZ3VyYWJsZVxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogdHlwZUluZm8ubGFiZWwgPz8gJycsXG4gICAgICBpY29uOiAnd2FybmluZydcbiAgICB9O1xuICB9XG5cbiAgLy8gTUFSSzogUmVnaXN0ZXJcbiAgcmVnaXN0ZXIoZW50cmllczogQXJyYXlPclZhbHVlPERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VFbnRyeT4pIHtcbiAgICBjb25zdCB0eXBlQ29uZmlncyA9IGFzQXJyYXkoZW50cmllcykubWFwKCh4KSA9PiAoeyAuLi54LCBtb2RlbFR5cGU6IHguaWRlbnRpdHkubW9kZWxUeXBlIH0pKTtcbiAgICB0aGlzLmRieE1vZGVsVHlwZXNTZXJ2aWNlLmFkZFR5cGVDb25maWdzKHR5cGVDb25maWdzKTtcbiAgfVxuXG4gIC8vIE1BUks6IFJldHJpZXZhbFxuICBjdXJyZW50SW5mb0ZvclR5cGUodHlwZTogTW9kZWxUeXBlU3RyaW5nIHwgRmlyZXN0b3JlQ29sbGVjdGlvblR5cGUpOiBPYnNlcnZhYmxlPE1heWJlPERieEZpcmViYXNlTW9kZWxUeXBlSW5mbz4+IHtcbiAgICByZXR1cm4gdGhpcy5kYnhNb2RlbFR5cGVzU2VydmljZS50eXBlc01hcCQucGlwZShtYXAoKHgpID0+IHhbdHlwZV0pKTtcbiAgfVxuXG4gIGluZm9Gb3JUeXBlKHR5cGU6IE1vZGVsVHlwZVN0cmluZyB8IEZpcmVzdG9yZUNvbGxlY3Rpb25UeXBlKTogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsVHlwZUluZm8+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50SW5mb0ZvclR5cGUodHlwZSkucGlwZShcbiAgICAgIG1hcCgoeCkgPT4ge1xuICAgICAgICBpZiAoIXgpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlOiBjb250YWluZWQgbm8gaW5mbyBmb3IgdHlwZSBcIiR7dHlwZX1cIi4gRW5zdXJlIHRoZSBjb3JyZWN0IHR5cGUgd2FzIGVudGVyZWQsIGFuZCB0aGF0IHRoZSB0eXBlIGlzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZS5gKTtcbiAgICAgICAgICB0aHJvdyB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHggYXMgRGJ4RmlyZWJhc2VNb2RlbFR5cGVJbmZvO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgaW5zdGFuY2VGb3JLZXk8RCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PGFueT4gPSBhbnksIFIgZXh0ZW5kcyBHcmFudGVkUm9sZSA9IEdyYW50ZWRSb2xlPihrZXkkOiBPYnNlcnZhYmxlT3JWYWx1ZTxGaXJlc3RvcmVNb2RlbEtleT4pOiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2U8RCwgUj4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2U8RCwgUj4odGhpcy5kYnhGaXJlYmFzZU1vZGVsQ29udGV4dFNlcnZpY2UubW9kZWxJbmZvSW5zdGFuY2U8RCwgUj4oa2V5JCksIHRoaXMpO1xuICB9XG5cbiAgaW5zdGFuY2VQYWlyc0ZvcktleXMoa2V5czogQXJyYXlPclZhbHVlPE9ic2VydmFibGVPclZhbHVlPEZpcmVzdG9yZU1vZGVsS2V5Pj4pIHtcbiAgICByZXR1cm4gZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpckZvcktleXNGYWN0b3J5KHRoaXMpKGtleXMpO1xuICB9XG59XG5cbi8qKlxuICogSW5mb3JtYXRpb24gcGFpciBmb3IgYW4gaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpcjxEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8YW55PiA9IGFueSwgUiBleHRlbmRzIEdyYW50ZWRSb2xlID0gR3JhbnRlZFJvbGU+IHtcbiAgcmVhZG9ubHkga2V5OiBGaXJlc3RvcmVNb2RlbEtleTtcbiAgcmVhZG9ubHkgaW5zdGFuY2U6IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZTxELCBSPjtcbiAgcmVhZG9ubHkgZGlzcGxheUluZm86IERieEZpcmViYXNlTW9kZWxEaXNwbGF5SW5mbztcbiAgcmVhZG9ubHkgc2VndWVSZWY6IE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZj47XG59XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXJGb3JLZXlzRmFjdG9yeSA9IChrZXlzOiBBcnJheU9yVmFsdWU8T2JzZXJ2YWJsZU9yVmFsdWU8RmlyZXN0b3JlTW9kZWxLZXk+PikgPT4gT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyW10+O1xuXG5leHBvcnQgZnVuY3Rpb24gZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlUGFpckZvcktleXNGYWN0b3J5KHNlcnZpY2U6IERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UpOiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2VQYWlyRm9yS2V5c0ZhY3Rvcnkge1xuICByZXR1cm4gKGtleXM6IEFycmF5T3JWYWx1ZTxPYnNlcnZhYmxlT3JWYWx1ZTxGaXJlc3RvcmVNb2RlbEtleT4+KSA9PiB7XG4gICAgY29uc3QgaW5zdGFuY2VzID0gYXNBcnJheShrZXlzKS5tYXAoKHgpID0+IHNlcnZpY2UuaW5zdGFuY2VGb3JLZXkoeCkuaW5zdGFuY2VQYWlyJCk7XG4gICAgcmV0dXJuIGluc3RhbmNlcy5sZW5ndGggPyBjb21iaW5lTGF0ZXN0KGluc3RhbmNlcykgOiBvZihbXSk7XG4gIH07XG59XG5cbi8qKlxuICogRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZSBpbnN0YW5jZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZTxEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8YW55PiA9IGFueSwgUiBleHRlbmRzIEdyYW50ZWRSb2xlID0gR3JhbnRlZFJvbGU+IHtcbiAgcmVhZG9ubHkgbW9kZWxJbmZvSW5zdGFuY2UkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlSW5Db250ZXh0RmlyZWJhc2VNb2RlbEluZm9TZXJ2aWNlSW5zdGFuY2U8RCwgUj4+O1xuICByZWFkb25seSBkYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlOiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlO1xuXG4gIHJlYWRvbmx5IGtleSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcmVhZG9ubHkgbW9kZWxUeXBlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICByZWFkb25seSBzbmFwc2hvdERhdGEkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZURvY3VtZW50RGF0YTxEPj47XG4gIHJlYWRvbmx5IHR5cGVJbmZvJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsVHlwZUluZm88dW5rbm93bj4+O1xuICByZWFkb25seSBpZGVudGl0eSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlTW9kZWxJZGVudGl0eT47XG4gIHJlYWRvbmx5IHNlZ3VlUmVmJDogT2JzZXJ2YWJsZTxNYXliZTxTZWd1ZVJlZj4+O1xuICByZWFkb25seSBkaXNwbGF5SW5mbyQ6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VNb2RlbERpc3BsYXlJbmZvPjtcbiAgcmVhZG9ubHkgY2xpY2thYmxlU2VndWVSZWYkOiBPYnNlcnZhYmxlPE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZj4+O1xuICByZWFkb25seSBpbnN0YW5jZVBhaXIkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXI+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZUluc3RhbmNlPEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxhbnk+ID0gYW55LCBSIGV4dGVuZHMgR3JhbnRlZFJvbGUgPSBHcmFudGVkUm9sZT4obW9kZWxJbmZvSW5zdGFuY2UkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlSW5Db250ZXh0RmlyZWJhc2VNb2RlbEluZm9TZXJ2aWNlSW5zdGFuY2U8RCwgUj4+LCBkYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlOiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlKSB7XG4gIGNvbnN0IGtleSQgPSBtb2RlbEluZm9JbnN0YW5jZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgua2V5JCkpO1xuICBjb25zdCBtb2RlbFR5cGUkID0gbW9kZWxJbmZvSW5zdGFuY2UkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4Lm1vZGVsVHlwZSQpKTtcbiAgY29uc3Qgc25hcHNob3REYXRhJCA9IG1vZGVsSW5mb0luc3RhbmNlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5zbmFwc2hvdERhdGEkKSk7XG5cbiAgY29uc3QgdHlwZUluZm8kID0gbW9kZWxUeXBlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoeCkgPT4gZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZS5pbmZvRm9yVHlwZSh4KSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0IGlkZW50aXR5JCA9IHR5cGVJbmZvJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5pZGVudGl0eSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIGNvbnN0IHNlZ3VlUmVmJDogT2JzZXJ2YWJsZTxNYXliZTxTZWd1ZVJlZj4+ID0gY29tYmluZUxhdGVzdChba2V5JCwgdHlwZUluZm8kXSkucGlwZShcbiAgICBtYXAoKFtrZXksIGluZm9dKSA9PiAoaW5mby5zcmVmID8gaW5mby5zcmVmKGtleSkgOiB1bmRlZmluZWQpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0IGRpc3BsYXlJbmZvJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZU1vZGVsRGlzcGxheUluZm8+ID0gY29tYmluZUxhdGVzdChbdHlwZUluZm8kLCBzbmFwc2hvdERhdGEkXSkucGlwZShcbiAgICBtYXAoKFt0eXBlSW5mbywgZGF0YV0pID0+IGRieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UuZ2V0RGlzcGxheUluZm8odHlwZUluZm8sIGRhdGEpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0IGNsaWNrYWJsZVNlZ3VlUmVmJDogT2JzZXJ2YWJsZTxNYXliZTxDbGlja2FibGVBbmNob3JMaW5rU2VndWVSZWY+PiA9IGNvbWJpbmVMYXRlc3QoW3NlZ3VlUmVmJCwgZGlzcGxheUluZm8kXSkucGlwZShcbiAgICBtYXAoKFtzZWd1ZVJlZiwgZGlzcGxheUluZm9dKSA9PiB7XG4gICAgICBsZXQgcmVmOiBNYXliZTxDbGlja2FibGVBbmNob3JMaW5rU2VndWVSZWY+ID0gdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoc2VndWVSZWYpIHtcbiAgICAgICAgcmVmID0ge1xuICAgICAgICAgIC4uLnNlZ3VlUmVmLFxuICAgICAgICAgIHRpdGxlOiBkaXNwbGF5SW5mby50aXRsZSxcbiAgICAgICAgICBpY29uOiBkaXNwbGF5SW5mby5pY29uXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZWY7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdCBpbnN0YW5jZVBhaXIkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2VJbnN0YW5jZVBhaXI+ID0gY29tYmluZUxhdGVzdChbY2xpY2thYmxlU2VndWVSZWYkLCBkaXNwbGF5SW5mbyQsIGtleSRdKS5waXBlKFxuICAgIG1hcCgoW3NlZ3VlUmVmLCBkaXNwbGF5SW5mbywga2V5XSkgPT4gKHsgc2VndWVSZWYsIGRpc3BsYXlJbmZvLCBrZXksIGluc3RhbmNlIH0pKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0IGluc3RhbmNlOiBEYnhGaXJlYmFzZU1vZGVsVHlwZXNTZXJ2aWNlSW5zdGFuY2U8RCwgUj4gPSB7XG4gICAgbW9kZWxJbmZvSW5zdGFuY2UkLFxuICAgIGRieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UsXG4gICAga2V5JCxcbiAgICBtb2RlbFR5cGUkLFxuICAgIHNuYXBzaG90RGF0YSQsXG4gICAgdHlwZUluZm8kLFxuICAgIGlkZW50aXR5JCxcbiAgICBzZWd1ZVJlZiQsXG4gICAgZGlzcGxheUluZm8kLFxuICAgIGNsaWNrYWJsZVNlZ3VlUmVmJCxcbiAgICBpbnN0YW5jZVBhaXIkXG4gIH07XG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuIl19
|
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
import { distinctUntilModelKeyChange } from '@dereekb/rxjs';
|
|
2
2
|
import { DbxModelObjectStateService } from '@dereekb/dbx-web';
|
|
3
|
-
import { Directive, Input, NgZone } from '@angular/core';
|
|
3
|
+
import { Directive, Input, NgZone, inject } from '@angular/core';
|
|
4
4
|
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
5
5
|
import { combineLatestWith, first, map, switchMap } from 'rxjs';
|
|
6
6
|
import { DbxFirebaseDocumentStoreDirective } from '../store/store.document.directive';
|
|
7
7
|
import { DbxFirebaseModelTypesService } from './model.types.service';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../store/store.document.directive";
|
|
10
|
-
import * as i2 from "@dereekb/dbx-web";
|
|
11
|
-
import * as i3 from "./model.types.service";
|
|
12
9
|
/**
|
|
13
10
|
* Used with a DbxFirebaseDocumentStoreDirective to emit model viewed events.
|
|
14
11
|
*/
|
|
15
12
|
export class DbxfirebaseModelViewedEventDirective extends AbstractSubscriptionDirective {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.ngZone = ngZone;
|
|
22
|
-
}
|
|
13
|
+
dbxFirebaseDocumentStoreDirective = inject(DbxFirebaseDocumentStoreDirective);
|
|
14
|
+
dbxModelObjectStateService = inject(DbxModelObjectStateService);
|
|
15
|
+
dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
|
|
16
|
+
ngZone = inject(NgZone);
|
|
17
|
+
context;
|
|
23
18
|
ngOnInit() {
|
|
24
19
|
this.sub = this.dbxFirebaseDocumentStoreDirective.data$
|
|
25
20
|
.pipe(
|
|
@@ -37,16 +32,16 @@ export class DbxfirebaseModelViewedEventDirective extends AbstractSubscriptionDi
|
|
|
37
32
|
this.ngZone.run(() => this.dbxModelObjectStateService.emitModelViewEvent({ modelKeyTypeNamePair, context: this.context || undefined }));
|
|
38
33
|
});
|
|
39
34
|
}
|
|
40
|
-
static
|
|
41
|
-
static
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxfirebaseModelViewedEventDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxfirebaseModelViewedEventDirective, selector: "[dbxFirebaseModelViewedEvent]", inputs: { context: ["dbxFirebaseModelViewedEvent", "context"] }, usesInheritance: true, ngImport: i0 });
|
|
42
37
|
}
|
|
43
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxfirebaseModelViewedEventDirective, decorators: [{
|
|
44
39
|
type: Directive,
|
|
45
40
|
args: [{
|
|
46
41
|
selector: '[dbxFirebaseModelViewedEvent]'
|
|
47
42
|
}]
|
|
48
|
-
}],
|
|
43
|
+
}], propDecorators: { context: [{
|
|
49
44
|
type: Input,
|
|
50
45
|
args: ['dbxFirebaseModelViewedEvent']
|
|
51
46
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHlwZXMudmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL21vZGVsL21vZGVsLnR5cGVzLnZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBR3JFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9DQUFxQyxTQUFRLDZCQUE2QjtJQUM1RSxpQ0FBaUMsR0FBRyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUM5RSwwQkFBMEIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNoRSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNwRSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBR2pDLE9BQU8sQ0FBZ0M7SUFFdkMsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEtBQUs7YUFDcEQsSUFBSTtRQUNILEVBQUU7UUFDRiwyQkFBMkIsRUFBRSxFQUM3QixpQkFBaUIsQ0FDZixJQUFJLENBQUMsaUNBQWlDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDeEQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUM1RSxLQUFLLEVBQUUsQ0FDUixFQUNELElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQzVDLEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFckYsTUFBTSxJQUFJLEdBQXlCO2dCQUNqQyxHQUFHO2dCQUNILElBQUksRUFBRSxRQUFRLENBQUMsU0FBUztnQkFDeEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxLQUFLO2FBQ3hCLENBQUM7WUFFRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUksQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQXBDVSxvQ0FBb0M7NEZBQXBDLG9DQUFvQzs7NEZBQXBDLG9DQUFvQztrQkFIaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQzs4QkFRQyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlzdGluY3RVbnRpbE1vZGVsS2V5Q2hhbmdlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhNb2RlbE9iamVjdFN0YXRlU2VydmljZSwgTW9kZWxWaWV3Q29udGV4dCB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgTmdab25lLCBPbkluaXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0V2l0aCwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUgfSBmcm9tICcuLi9zdG9yZS9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZSB9IGZyb20gJy4vbW9kZWwudHlwZXMuc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbEtleVR5cGVOYW1lUGFpciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFVzZWQgd2l0aCBhIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSB0byBlbWl0IG1vZGVsIHZpZXdlZCBldmVudHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhGaXJlYmFzZU1vZGVsVmlld2VkRXZlbnRdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhmaXJlYmFzZU1vZGVsVmlld2VkRXZlbnREaXJlY3RpdmUgZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSA9IGluamVjdChEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUpO1xuICByZWFkb25seSBkYnhNb2RlbE9iamVjdFN0YXRlU2VydmljZSA9IGluamVjdChEYnhNb2RlbE9iamVjdFN0YXRlU2VydmljZSk7XG4gIHJlYWRvbmx5IGRieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UgPSBpbmplY3QoRGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZSk7XG4gIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xuXG4gIEBJbnB1dCgnZGJ4RmlyZWJhc2VNb2RlbFZpZXdlZEV2ZW50JylcbiAgY29udGV4dD86IE1vZGVsVmlld0NvbnRleHQgfCB1bmRlZmluZWQ7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLmRieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZS5kYXRhJFxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vXG4gICAgICAgIGRpc3RpbmN0VW50aWxNb2RlbEtleUNoYW5nZSgpLFxuICAgICAgICBjb21iaW5lTGF0ZXN0V2l0aChcbiAgICAgICAgICB0aGlzLmRieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZS5tb2RlbElkZW50aXR5JC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCh4KSA9PiB0aGlzLmRieEZpcmViYXNlTW9kZWxUeXBlc1NlcnZpY2UuaW5mb0ZvclR5cGUoeC5tb2RlbFR5cGUpKSxcbiAgICAgICAgICAgIGZpcnN0KClcbiAgICAgICAgICApLFxuICAgICAgICAgIHRoaXMuZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlLmtleSRcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChbZGF0YSwgdHlwZUluZm8sIGtleV0pID0+IHtcbiAgICAgICAgICBjb25zdCBkaXNwbGF5SW5mbyA9IHRoaXMuZGJ4RmlyZWJhc2VNb2RlbFR5cGVzU2VydmljZS5nZXREaXNwbGF5SW5mbyh0eXBlSW5mbywgZGF0YSk7XG5cbiAgICAgICAgICBjb25zdCBwYWlyOiBNb2RlbEtleVR5cGVOYW1lUGFpciA9IHtcbiAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgIHR5cGU6IHR5cGVJbmZvLm1vZGVsVHlwZSxcbiAgICAgICAgICAgIG5hbWU6IGRpc3BsYXlJbmZvLnRpdGxlXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiBwYWlyO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgobW9kZWxLZXlUeXBlTmFtZVBhaXIpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuZGJ4TW9kZWxPYmplY3RTdGF0ZVNlcnZpY2UuZW1pdE1vZGVsVmlld0V2ZW50KHsgbW9kZWxLZXlUeXBlTmFtZVBhaXIsIGNvbnRleHQ6IHRoaXMuY29udGV4dCB8fCB1bmRlZmluZWQgfSkpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,9 +8,9 @@ import { DbxFirebaseDocumentStoreRouteKeyDirective } from './store.document.rout
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
const declarations = [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective];
|
|
10
10
|
export class DbxFirebaseModelStoreModule {
|
|
11
|
-
static
|
|
12
|
-
static
|
|
13
|
-
static
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule, declarations: [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective], exports: [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective] });
|
|
13
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule });
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule, decorators: [{
|
|
16
16
|
type: NgModule,
|
|
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
20
20
|
exports: declarations
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuc3RvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9tb2RlbC5zdG9yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFbEcsTUFBTSxZQUFZLEdBQUcsQ0FBQyx5Q0FBeUMsRUFBRSxrQ0FBa0MsRUFBRSxvQ0FBb0MsRUFBRSx1Q0FBdUMsRUFBRSx3Q0FBd0MsRUFBRSxrQ0FBa0MsQ0FBQyxDQUFDO0FBT2xRLE1BQU0sT0FBTywyQkFBMkI7d0dBQTNCLDJCQUEyQjt5R0FBM0IsMkJBQTJCLGlCQVBsQix5Q0FBeUMsRUFBRSxrQ0FBa0MsRUFBRSxvQ0FBb0MsRUFBRSx1Q0FBdUMsRUFBRSx3Q0FBd0MsRUFBRSxrQ0FBa0MsYUFBMU8seUNBQXlDLEVBQUUsa0NBQWtDLEVBQUUsb0NBQW9DLEVBQUUsdUNBQXVDLEVBQUUsd0NBQXdDLEVBQUUsa0NBQWtDO3lHQU9uUCwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBTHZDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWTtvQkFDWixPQUFPLEVBQUUsWUFBWTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5jb2xsZWN0aW9uLmNoYW5nZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uSGFzQ2hhbmdlRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5jb2xsZWN0aW9uLmNoYW5nZS5pZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcmUuY29sbGVjdGlvbi5saXN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURvY3VtZW50QXV0aElkRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5hdXRoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUlkRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5yb3V0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlS2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5yb3V0ZXIua2V5LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUtleURpcmVjdGl2ZSwgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTGlzdERpcmVjdGl2ZSwgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uQ2hhbmdlRGlyZWN0aXZlLCBEYnhGaXJlYmFzZUNvbGxlY3Rpb25IYXNDaGFuZ2VEaXJlY3RpdmUsIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlSWREaXJlY3RpdmUsIERieEZpcmViYXNlRG9jdW1lbnRBdXRoSWREaXJlY3RpdmVdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zLFxuICBleHBvcnRzOiBkZWNsYXJhdGlvbnNcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VNb2RlbFN0b3JlTW9kdWxlIHt9XG4iXX0=
|