@dereekb/dbx-firebase 12.6.10 → 12.6.11
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/model/modules/model/entities/index.mjs +6 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +73 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +28 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.mjs +6 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +44 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +35 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.source.directive.mjs +38 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +57 -0
- package/esm2022/lib/model/modules/model/index.mjs +2 -1
- package/esm2022/lib/model/modules/model/model.types.service.mjs +1 -1
- package/esm2022/lib/model/modules/store/index.mjs +5 -1
- package/esm2022/lib/model/modules/store/store.document.context.store.directive.mjs +19 -0
- package/esm2022/lib/model/modules/store/store.document.context.store.link.mjs +45 -0
- package/esm2022/lib/model/modules/store/store.document.context.store.mjs +86 -0
- package/esm2022/lib/model/modules/store/store.document.crud.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.document.directive.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.document.mjs +16 -4
- package/esm2022/lib/model/modules/store/store.mjs +2 -0
- package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +1 -1
- package/fesm2022/dereekb-dbx-firebase.mjs +407 -10
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/model/modules/model/entities/index.d.ts +5 -0
- package/lib/model/modules/model/entities/model.entities.component.d.ts +25 -0
- package/lib/model/modules/model/entities/model.entities.d.ts +49 -0
- package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +18 -0
- package/lib/model/modules/model/entities/model.entities.popover.button.component.d.ts +18 -0
- package/lib/model/modules/model/entities/model.entities.popover.component.d.ts +45 -0
- package/lib/model/modules/model/entities/model.entities.source.directive.d.ts +8 -0
- package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +44 -0
- package/lib/model/modules/model/index.d.ts +1 -0
- package/lib/model/modules/store/index.d.ts +4 -0
- package/lib/model/modules/store/store.d.ts +79 -0
- package/lib/model/modules/store/store.document.context.store.d.ts +59 -0
- package/lib/model/modules/store/store.document.context.store.directive.d.ts +8 -0
- package/lib/model/modules/store/store.document.context.store.link.d.ts +17 -0
- package/lib/model/modules/store/store.document.crud.d.ts +1 -1
- package/lib/model/modules/store/store.document.d.ts +16 -76
- package/lib/model/modules/store/store.document.directive.d.ts +1 -1
- package/lib/model/modules/store/store.subcollection.document.d.ts +2 -1
- package/lib/model/modules/store/store.subcollection.rxjs.d.ts +1 -1
- package/lib/modules/storagefile/storagefile.upload.module.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Injectable, APP_INITIALIZER, makeEnvironmentProviders, InjectionToken, Component, Optional, Inject, model, computed, ChangeDetectionStrategy, signal, Directive, input, EventEmitter, output, NgModule, Injector, viewChild, HostListener, ElementRef, forwardRef, effect, Pipe } from '@angular/core';
|
|
2
|
+
import { inject, Injectable, APP_INITIALIZER, makeEnvironmentProviders, InjectionToken, Component, Optional, Inject, model, computed, ChangeDetectionStrategy, signal, Directive, input, EventEmitter, output, NgModule, Injector, viewChild, HostListener, ElementRef, forwardRef, effect, DestroyRef, Pipe } from '@angular/core';
|
|
3
3
|
import { DbxAnalyticsService } from '@dereekb/dbx-analytics';
|
|
4
|
-
import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, distinctUntilKeysChange, cleanupDestroyable, iterationHasNextAndCanLoadMore, pageItemAccumulatorCurrentPage, accumulatorFlattenPageListLoadingState, useFirst, itemAccumulatorNextPageUntilResultsCount, iteratorNextPageUntilPage, iteratorNextPageUntilMaxPageLoadLimit, pageLoadingStateFromObs, useAsObservable, filterMaybeArray, mapEachAsync, invertObservableDecision, filterItemsWithObservableDecision, skipInitialMaybe, distinctUntilModelKeyChange, successResult,
|
|
5
|
-
import { switchMap, of, shareReplay, map, distinctUntilChanged, EMPTY, catchError, firstValueFrom, BehaviorSubject, combineLatest, first, from, tap, interval, exhaustMap, filter, take, startWith, Subject, throttleTime, NEVER, combineLatestWith, mergeMap, Observable } from 'rxjs';
|
|
4
|
+
import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, distinctUntilKeysChange, cleanupDestroyable, iterationHasNextAndCanLoadMore, pageItemAccumulatorCurrentPage, accumulatorFlattenPageListLoadingState, useFirst, itemAccumulatorNextPageUntilResultsCount, iteratorNextPageUntilPage, iteratorNextPageUntilMaxPageLoadLimit, pageLoadingStateFromObs, useAsObservable, filterMaybeArray, mapEachAsync, invertObservableDecision, filterItemsWithObservableDecision, switchMapMaybe, beginLoading, mapLoadingStateValueWithOperator, valueFromFinishedLoadingState, loadingStateContext, skipInitialMaybe, distinctUntilModelKeyChange, successResult, errorResult, isLoadingStateLoading, cleanup, mapLoadingState, throwErrorFromLoadingStateError, maybeValueFromObservableOrValue, distinctUntilHasDifferentValues, MultiSubscriptionObject, startWithBeginLoading, skipAllInitialMaybe } from '@dereekb/rxjs';
|
|
5
|
+
import { switchMap, of, shareReplay, map, distinctUntilChanged, EMPTY, catchError, firstValueFrom, BehaviorSubject, combineLatest, first, from, tap, interval, exhaustMap, filter, take, startWith, Subject, throttleTime, NEVER, defaultIfEmpty, combineLatestWith, mergeMap, Observable } from 'rxjs';
|
|
6
6
|
import * as i2 from '@dereekb/dbx-core';
|
|
7
7
|
import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, DbxInjectionComponent, AbstractForwardDbxInjectionContextDirective, DbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxAuthService, DbxActionButtonDirective, DbxActionDirective, DbxActionEnforceModifiedDirective, DbxActionHandlerDirective, DbxActionAutoTriggerDirective, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, AbstractSubscriptionDirective, AbstractIfDirective, LockSetComponentStore, newWithInjector, CutTextPipe, DbxActionContextStoreSourceInstance, DbxActionHandlerInstance, SimpleStorageAccessorFactory, dbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance } from '@dereekb/dbx-core';
|
|
8
8
|
import { Auth, authState, idToken, GoogleAuthProvider, FacebookAuthProvider, TwitterAuthProvider, GithubAuthProvider, signInWithPopup, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, reauthenticateWithPopup, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
|
|
9
|
-
import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet, filterMaybeArrayValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, runAsyncTasksForValues, pushArrayItemsIntoArray, forEachKeyValue, countAllInNestedArray, invertDecision, readableError, isMaybeSo, firstValue, splitJoinRemainder, MS_IN_HOUR, SECONDS_IN_MINUTE, MS_IN_DAY, unixDateTimeSecondsNumberForNow, MS_IN_MINUTE, addMilliseconds, unixDateTimeSecondsNumberFromDate, dateFromDateOrTimeSecondsNumber, MS_IN_SECOND, isPast
|
|
9
|
+
import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet, filterMaybeArrayValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, runAsyncTasksForValues, pushArrayItemsIntoArray, forEachKeyValue, countAllInNestedArray, invertDecision, separateValues, sortByNumberFunction, readableError, isMaybeSo, firstValue, splitJoinRemainder, MS_IN_HOUR, SECONDS_IN_MINUTE, MS_IN_DAY, unixDateTimeSecondsNumberForNow, MS_IN_MINUTE, addMilliseconds, unixDateTimeSecondsNumberFromDate, dateFromDateOrTimeSecondsNumber, MS_IN_SECOND, isPast } from '@dereekb/util';
|
|
10
10
|
import { safeFormatToISO8601DateString, msToSeconds, isSameDate } from '@dereekb/date';
|
|
11
11
|
import { sendPasswordResetEmail } from 'firebase/auth';
|
|
12
12
|
import { getToken, initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
|
|
13
13
|
import { AppCheck, provideAppCheck } from '@angular/fire/app-check';
|
|
14
14
|
import * as i1$1 from '@dereekb/dbx-web';
|
|
15
|
-
import { DbxLinkComponent, DbxActionModule, DbxButtonModule, DbxErrorComponent, DbxActionErrorDirective, DbxButtonComponent, DbxButtonSpacerDirective, DbxRouterAnchorModule, DbxWidgetService, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DbxListWrapperComponentImportsModule, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DbxSelectionValueListViewComponentImportsModule, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxValueListViewItemComponent, TwoColumnsContextStore, DbxAnchorComponent, DbxTwoColumnFullLeftDirective, DbxWidgetViewComponent, DbxTwoColumnComponent, DbxTwoBlockComponent, DbxTwoColumnRightComponent, AbstractPopupDirective, DbxPopupService, DbxPopupContentComponent, DbxPopupControlsComponent, DbxModelTypesService, DbxModelTrackerService, allDbxModelViewTrackerEventModelKeys, DbxListItemAnchorModifierDirective, DbxValueListItemModifierDirective, AbstractPopoverDirective, DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxListEmptyContentComponent, AbstractPopoverRefDirective, DbxPopoverService, DbxIconButtonComponent, DbxModelObjectStateService, DbxListViewWrapper, AbstractDbxWidgetComponent, DbxPopoverInteractionModule, DbxListModifierModule, DbxWebFilePreviewService, DbxActionSnackbarErrorDirective, DbxActionDialogDirective, DbxFileUploadComponent,
|
|
15
|
+
import { DbxLinkComponent, DbxActionModule, DbxButtonModule, DbxErrorComponent, DbxActionErrorDirective, DbxButtonComponent, DbxButtonSpacerDirective, DbxRouterAnchorModule, DbxWidgetService, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DbxListWrapperComponentImportsModule, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DbxSelectionValueListViewComponentImportsModule, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxValueListViewItemComponent, TwoColumnsContextStore, DbxAnchorComponent, DbxTwoColumnFullLeftDirective, DbxWidgetViewComponent, DbxTwoColumnComponent, DbxTwoBlockComponent, DbxTwoColumnRightComponent, AbstractPopupDirective, DbxPopupService, DbxPopupContentComponent, DbxPopupControlsComponent, DbxModelTypesService, DbxModelTrackerService, allDbxModelViewTrackerEventModelKeys, DbxListItemAnchorModifierDirective, DbxValueListItemModifierDirective, AbstractPopoverDirective, DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxListEmptyContentComponent, AbstractPopoverRefDirective, DbxPopoverService, DbxIconButtonComponent, DbxLoadingComponent, DbxModelObjectStateService, DbxListViewWrapper, AbstractDbxWidgetComponent, DbxPopoverInteractionModule, DbxListModifierModule, DbxWebFilePreviewService, DbxActionSnackbarErrorDirective, DbxActionDialogDirective, DbxFileUploadComponent, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } from '@dereekb/dbx-web';
|
|
16
16
|
import * as i1 from '@angular/material/icon';
|
|
17
17
|
import { MatIconModule } from '@angular/material/icon';
|
|
18
18
|
import * as i1$2 from '@dereekb/dbx-form';
|
|
@@ -30,8 +30,9 @@ import { provideStorage, getStorage, connectStorageEmulator, Storage } from '@an
|
|
|
30
30
|
import { provideFunctions, getFunctions, connectFunctionsEmulator, Functions } from '@angular/fire/functions';
|
|
31
31
|
import { provideFirestore, persistentMultipleTabManager, persistentSingleTabManager, persistentLocalCache, initializeFirestore, connectFirestoreEmulator, Firestore } from '@angular/fire/firestore';
|
|
32
32
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
33
|
-
import {
|
|
33
|
+
import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatAccordion } from '@angular/material/expansion';
|
|
34
34
|
import { ComponentStore } from '@ngrx/component-store';
|
|
35
|
+
import { __decorate, __param, __metadata } from 'tslib';
|
|
35
36
|
import { MatDialog } from '@angular/material/dialog';
|
|
36
37
|
import { BaseError } from 'make-error';
|
|
37
38
|
|
|
@@ -3476,6 +3477,332 @@ function dbxFirebaseSourceSelectLoadSource(config) {
|
|
|
3476
3477
|
};
|
|
3477
3478
|
}
|
|
3478
3479
|
|
|
3480
|
+
/**
|
|
3481
|
+
* Configuration provided in the root module for configuring entries.
|
|
3482
|
+
*/
|
|
3483
|
+
class DbxFirebaseModelEntitiesWidgetServiceConfig {
|
|
3484
|
+
}
|
|
3485
|
+
/**
|
|
3486
|
+
* Service used to register widgets used for model entities.
|
|
3487
|
+
*/
|
|
3488
|
+
class DbxFirebaseModelEntitiesWidgetService {
|
|
3489
|
+
_entries = new Map();
|
|
3490
|
+
constructor(initialConfig) {
|
|
3491
|
+
if (initialConfig.entries) {
|
|
3492
|
+
this.register(initialConfig.entries);
|
|
3493
|
+
}
|
|
3494
|
+
}
|
|
3495
|
+
/**
|
|
3496
|
+
* Used to register one or more entries.
|
|
3497
|
+
*
|
|
3498
|
+
* If an entry with the same identity is already registered, this will override it by default.
|
|
3499
|
+
*
|
|
3500
|
+
* @param entries
|
|
3501
|
+
* @param override
|
|
3502
|
+
*/
|
|
3503
|
+
register(entries, override = true) {
|
|
3504
|
+
const entriesArray = asArray(entries);
|
|
3505
|
+
entriesArray.forEach((entry) => {
|
|
3506
|
+
if (override || !this._entries.has(entry.identity)) {
|
|
3507
|
+
this._entries.set(entry.identity, entry);
|
|
3508
|
+
}
|
|
3509
|
+
});
|
|
3510
|
+
}
|
|
3511
|
+
// MARK: Get
|
|
3512
|
+
getAllRegisteredWidgetIdentities() {
|
|
3513
|
+
return Array.from(this._entries.keys());
|
|
3514
|
+
}
|
|
3515
|
+
getWidgetEntry(identity) {
|
|
3516
|
+
return this._entries.get(identity);
|
|
3517
|
+
}
|
|
3518
|
+
getWidgetEntries(identities) {
|
|
3519
|
+
return filterMaybeArrayValues(mapIterable(identities ?? [], (x) => this._entries.get(x)));
|
|
3520
|
+
}
|
|
3521
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, deps: [{ token: DbxFirebaseModelEntitiesWidgetServiceConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3522
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, providedIn: 'root' });
|
|
3523
|
+
}
|
|
3524
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, decorators: [{
|
|
3525
|
+
type: Injectable,
|
|
3526
|
+
args: [{
|
|
3527
|
+
providedIn: 'root'
|
|
3528
|
+
}]
|
|
3529
|
+
}], ctorParameters: () => [{ type: DbxFirebaseModelEntitiesWidgetServiceConfig, decorators: [{
|
|
3530
|
+
type: Inject,
|
|
3531
|
+
args: [DbxFirebaseModelEntitiesWidgetServiceConfig]
|
|
3532
|
+
}] }] });
|
|
3533
|
+
|
|
3534
|
+
class DbxFirebaseModelEntitiesEntityComponent {
|
|
3535
|
+
widgetService = inject(DbxFirebaseModelEntitiesWidgetService);
|
|
3536
|
+
modelTypesService = inject(DbxFirebaseModelTypesService);
|
|
3537
|
+
/**
|
|
3538
|
+
* The input entity
|
|
3539
|
+
*/
|
|
3540
|
+
entity = input.required();
|
|
3541
|
+
modelIdentity = computed(() => this.entity().modelIdentity);
|
|
3542
|
+
entity$ = toObservable(this.entity);
|
|
3543
|
+
store$ = this.entity$.pipe(map((x) => x.store), filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
3544
|
+
loadingState$ = this.store$.pipe(switchMap((x) => x.dataLoadingState$));
|
|
3545
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3546
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxFirebaseModelEntitiesEntityComponent, isStandalone: true, selector: "dbx-firebase-model-entities-entity", inputs: { entity: { classPropertyName: "entity", publicName: "entity", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"bold dbx-button-spacer\">Name</span>\n <!-- TODO: use the display info to show the name -->\n </mat-panel-title>\n <mat-panel-description>\n <!-- TODO: ... -->\n </mat-panel-description>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <!-- TODO: Content -->\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "directive", type: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3547
|
+
}
|
|
3548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
|
|
3549
|
+
type: Component,
|
|
3550
|
+
args: [{ selector: 'dbx-firebase-model-entities-entity', imports: [DbxInjectionComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n <span class=\"bold dbx-button-spacer\">Name</span>\n <!-- TODO: use the display info to show the name -->\n </mat-panel-title>\n <mat-panel-description>\n <!-- TODO: ... -->\n </mat-panel-description>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <!-- TODO: Content -->\n </ng-template>\n</mat-expansion-panel>\n" }]
|
|
3551
|
+
}] });
|
|
3552
|
+
|
|
3553
|
+
class DbxFirebaseModelEntitiesComponent {
|
|
3554
|
+
/**
|
|
3555
|
+
* All input entities.
|
|
3556
|
+
*/
|
|
3557
|
+
entities = input();
|
|
3558
|
+
entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
|
|
3559
|
+
/**
|
|
3560
|
+
* Whether the accordion should allow multiple expanded panels.
|
|
3561
|
+
*/
|
|
3562
|
+
multi = input(true);
|
|
3563
|
+
entitiesWithKeysState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
|
|
3564
|
+
const entitiesWithStore = (entities ?? []).filter((x) => Boolean(x.store));
|
|
3565
|
+
const entitiesWithKeys = combineLatest(entitiesWithStore.map((x) => {
|
|
3566
|
+
const obs = x.store.currentKey$.pipe(map((key) => (key ? { key, ...x } : null)));
|
|
3567
|
+
return obs;
|
|
3568
|
+
}));
|
|
3569
|
+
return entitiesWithKeys.pipe(filterMaybeArray(), defaultIfEmpty([]));
|
|
3570
|
+
})), shareReplay(1));
|
|
3571
|
+
entitiesWithKeys$ = this.entitiesWithKeysState$.pipe(valueFromFinishedLoadingState(), shareReplay(1));
|
|
3572
|
+
entitiesWithKeysSignal = toSignal(this.entitiesWithKeys$, { initialValue: [] });
|
|
3573
|
+
hasNoEntitiesSignal = computed(() => !this.entitiesWithKeysSignal()?.length);
|
|
3574
|
+
context = loadingStateContext({ obs: this.entitiesWithKeysState$ });
|
|
3575
|
+
ngOnDestroy() {
|
|
3576
|
+
this.context.destroy();
|
|
3577
|
+
}
|
|
3578
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3579
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null }, multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
3580
|
+
<dbx-loading [linear]="true" [context]="context">
|
|
3581
|
+
<mat-accordion [multi]="multi()">
|
|
3582
|
+
@for (entity of entitiesWithKeysSignal(); track entity.key) {
|
|
3583
|
+
<dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
|
|
3584
|
+
}
|
|
3585
|
+
</mat-accordion>
|
|
3586
|
+
@if (hasNoEntitiesSignal()) {
|
|
3587
|
+
<dbx-list-empty-content>
|
|
3588
|
+
<ng-content select="[empty]"></ng-content>
|
|
3589
|
+
</dbx-list-empty-content>
|
|
3590
|
+
}
|
|
3591
|
+
</dbx-loading>
|
|
3592
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: DbxFirebaseModelEntitiesEntityComponent, selector: "dbx-firebase-model-entities-entity", inputs: ["entity"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3593
|
+
}
|
|
3594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, decorators: [{
|
|
3595
|
+
type: Component,
|
|
3596
|
+
args: [{
|
|
3597
|
+
selector: 'dbx-firebase-model-entities',
|
|
3598
|
+
template: `
|
|
3599
|
+
<dbx-loading [linear]="true" [context]="context">
|
|
3600
|
+
<mat-accordion [multi]="multi()">
|
|
3601
|
+
@for (entity of entitiesWithKeysSignal(); track entity.key) {
|
|
3602
|
+
<dbx-firebase-model-entities-entity [entity]="entity"></dbx-firebase-model-entities-entity>
|
|
3603
|
+
}
|
|
3604
|
+
</mat-accordion>
|
|
3605
|
+
@if (hasNoEntitiesSignal()) {
|
|
3606
|
+
<dbx-list-empty-content>
|
|
3607
|
+
<ng-content select="[empty]"></ng-content>
|
|
3608
|
+
</dbx-list-empty-content>
|
|
3609
|
+
}
|
|
3610
|
+
</dbx-loading>
|
|
3611
|
+
`,
|
|
3612
|
+
imports: [MatAccordion, DbxLoadingComponent, DbxFirebaseModelEntitiesEntityComponent, DbxListEmptyContentComponent],
|
|
3613
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3614
|
+
standalone: true
|
|
3615
|
+
}]
|
|
3616
|
+
}] });
|
|
3617
|
+
|
|
3618
|
+
const DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY = 'entities';
|
|
3619
|
+
class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective {
|
|
3620
|
+
entities$ = this.popover.data?.entities$;
|
|
3621
|
+
static openPopover(popupService, { origin, header, icon, emptyText, entities$ }, popoverKey) {
|
|
3622
|
+
return popupService.open({
|
|
3623
|
+
key: popoverKey ?? DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY,
|
|
3624
|
+
origin,
|
|
3625
|
+
componentClass: DbxFirebaseModelEntitiesPopoverComponent,
|
|
3626
|
+
data: {
|
|
3627
|
+
header,
|
|
3628
|
+
icon,
|
|
3629
|
+
emptyText,
|
|
3630
|
+
entities$
|
|
3631
|
+
},
|
|
3632
|
+
isResizable: true
|
|
3633
|
+
});
|
|
3634
|
+
}
|
|
3635
|
+
get config() {
|
|
3636
|
+
return this.popover.data;
|
|
3637
|
+
}
|
|
3638
|
+
icon = this.config.icon ?? 'data_object';
|
|
3639
|
+
header = this.config.header ?? 'Entities';
|
|
3640
|
+
emptyText = this.config.emptyText ?? 'No entities found in current context.';
|
|
3641
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3642
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxFirebaseModelEntitiesComponent, selector: "dbx-firebase-model-entities", inputs: ["entities", "multi"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3643
|
+
}
|
|
3644
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
|
|
3645
|
+
type: Component,
|
|
3646
|
+
args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxFirebaseModelEntitiesComponent, DbxListEmptyContentComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\"></dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-firebase-model-entities [entities]=\"entities$\">\n <p empty>{{ emptyText }}</p>\n </dbx-firebase-model-entities>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
|
|
3647
|
+
}] });
|
|
3648
|
+
|
|
3649
|
+
/**
|
|
3650
|
+
* Provides a source of entities.
|
|
3651
|
+
*/
|
|
3652
|
+
class DbxFirebaseModelEntitiesSource {
|
|
3653
|
+
}
|
|
3654
|
+
|
|
3655
|
+
class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefDirective {
|
|
3656
|
+
_dbxPopoverService = inject(DbxPopoverService);
|
|
3657
|
+
entitiesSource = inject(DbxFirebaseModelEntitiesSource);
|
|
3658
|
+
buttonElement = viewChild.required('button', { read: ElementRef });
|
|
3659
|
+
config = input();
|
|
3660
|
+
_makePopoverRef(origin) {
|
|
3661
|
+
const config = this.config();
|
|
3662
|
+
const entities$ = this.entitiesSource.entities$;
|
|
3663
|
+
if (!origin) {
|
|
3664
|
+
throw new Error('Missing origin.');
|
|
3665
|
+
}
|
|
3666
|
+
return DbxFirebaseModelEntitiesPopoverComponent.openPopover(this._dbxPopoverService, {
|
|
3667
|
+
origin,
|
|
3668
|
+
...config,
|
|
3669
|
+
entities$
|
|
3670
|
+
});
|
|
3671
|
+
}
|
|
3672
|
+
showEntitiesPopover() {
|
|
3673
|
+
const origin = this.buttonElement();
|
|
3674
|
+
this.showPopover(origin);
|
|
3675
|
+
}
|
|
3676
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3677
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxFirebaseModelEntitiesPopoverButtonComponent, isStandalone: true, selector: "dbx-firebase-model-entities-popover-button", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
3678
|
+
<dbx-icon-button #button (buttonClick)="showEntitiesPopover()" icon="data_object"></dbx-icon-button>
|
|
3679
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3680
|
+
}
|
|
3681
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverButtonComponent, decorators: [{
|
|
3682
|
+
type: Component,
|
|
3683
|
+
args: [{
|
|
3684
|
+
selector: 'dbx-firebase-model-entities-popover-button',
|
|
3685
|
+
template: `
|
|
3686
|
+
<dbx-icon-button #button (buttonClick)="showEntitiesPopover()" icon="data_object"></dbx-icon-button>
|
|
3687
|
+
`,
|
|
3688
|
+
standalone: true,
|
|
3689
|
+
imports: [DbxIconButtonComponent],
|
|
3690
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
3691
|
+
}]
|
|
3692
|
+
}] });
|
|
3693
|
+
|
|
3694
|
+
class DbxFirebaseDocumentStoreContextStore extends ComponentStore {
|
|
3695
|
+
constructor() {
|
|
3696
|
+
super({
|
|
3697
|
+
nextEntryNumber: 0,
|
|
3698
|
+
currentEntryCount: 0,
|
|
3699
|
+
stores: new Map(),
|
|
3700
|
+
lastStoresChangeAt: new Date()
|
|
3701
|
+
});
|
|
3702
|
+
}
|
|
3703
|
+
// MARK: Accessors
|
|
3704
|
+
stores$ = this.select((state) => [state.stores, state.currentEntryCount, state.nextEntryNumber], {
|
|
3705
|
+
debounce: true, // NOTE: The addStore/removeStore functions use the same map, so we overload the equal function to properly trigger changes to the map.
|
|
3706
|
+
equal: (a, b) => a[1] === b[1] && a[2] === b[2] // only considered different if the nextEntryNumber changes
|
|
3707
|
+
}).pipe(map((x) => x[0]), shareReplay(1));
|
|
3708
|
+
lastStoresChangeAt$ = this.select((state) => state.lastStoresChangeAt).pipe(distinctUntilChanged(isSameDate), shareReplay(1));
|
|
3709
|
+
entriesGroupedByIdentity$ = this.stores$.pipe(switchMap((stores) => {
|
|
3710
|
+
let entriesObs;
|
|
3711
|
+
const allEntries = Array.from(stores.values());
|
|
3712
|
+
const { included: hasIdentity, excluded: noIdentity } = separateValues(allEntries, (x) => x.modelIdentity != null);
|
|
3713
|
+
if (noIdentity.length > 0) {
|
|
3714
|
+
entriesObs = combineLatest(noIdentity.map((entryWithoutCachedIdentity) => entryWithoutCachedIdentity.store.modelIdentity$.pipe(first(), map((z) => {
|
|
3715
|
+
// set the model identity on the entry
|
|
3716
|
+
entryWithoutCachedIdentity.modelIdentity = z;
|
|
3717
|
+
// return the entry
|
|
3718
|
+
return entryWithoutCachedIdentity;
|
|
3719
|
+
})))).pipe(map(() => {
|
|
3720
|
+
return allEntries; // all the entries should have an identity now
|
|
3721
|
+
}));
|
|
3722
|
+
}
|
|
3723
|
+
else {
|
|
3724
|
+
entriesObs = of(hasIdentity);
|
|
3725
|
+
}
|
|
3726
|
+
return entriesObs;
|
|
3727
|
+
}), map((x) => {
|
|
3728
|
+
// sort in ascending order by entry number
|
|
3729
|
+
x.sort(sortByNumberFunction((x) => x.entryNumber));
|
|
3730
|
+
return x;
|
|
3731
|
+
}), shareReplay(1));
|
|
3732
|
+
// MARK: State Changes
|
|
3733
|
+
addStore = this.updater(addStore);
|
|
3734
|
+
removeStore = this.updater(removeStore);
|
|
3735
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3736
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore });
|
|
3737
|
+
}
|
|
3738
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, decorators: [{
|
|
3739
|
+
type: Injectable
|
|
3740
|
+
}], ctorParameters: () => [] });
|
|
3741
|
+
function addStore(state, store) {
|
|
3742
|
+
const { stores, nextEntryNumber } = state;
|
|
3743
|
+
let nextState;
|
|
3744
|
+
if (stores.has(store)) {
|
|
3745
|
+
nextState = state;
|
|
3746
|
+
}
|
|
3747
|
+
else {
|
|
3748
|
+
// add the entry
|
|
3749
|
+
const entry = {
|
|
3750
|
+
store,
|
|
3751
|
+
entryNumber: nextEntryNumber
|
|
3752
|
+
};
|
|
3753
|
+
stores.set(store, entry);
|
|
3754
|
+
// update the last changed date
|
|
3755
|
+
nextState = { ...state, currentEntryCount: state.currentEntryCount + 1, lastStoresChangeAt: new Date(), nextEntryNumber: nextEntryNumber + 1 };
|
|
3756
|
+
}
|
|
3757
|
+
return nextState;
|
|
3758
|
+
}
|
|
3759
|
+
function removeStore(state, store) {
|
|
3760
|
+
const { stores } = state;
|
|
3761
|
+
let nextState;
|
|
3762
|
+
if (!stores.has(store)) {
|
|
3763
|
+
nextState = state;
|
|
3764
|
+
}
|
|
3765
|
+
else {
|
|
3766
|
+
// remove the entry
|
|
3767
|
+
stores.delete(store);
|
|
3768
|
+
// update the last changed date
|
|
3769
|
+
nextState = { ...state, currentEntryCount: state.currentEntryCount - 1, lastStoresChangeAt: new Date() };
|
|
3770
|
+
}
|
|
3771
|
+
return nextState;
|
|
3772
|
+
}
|
|
3773
|
+
|
|
3774
|
+
const dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory = (storeContextStore) => {
|
|
3775
|
+
const entities$ = storeContextStore.entriesGroupedByIdentity$.pipe(map((entries) => entries.map((entry) => ({ store: entry.store, modelIdentity: entry.modelIdentity }))));
|
|
3776
|
+
const source = {
|
|
3777
|
+
entities$: loadingStateFromObs(entities$)
|
|
3778
|
+
};
|
|
3779
|
+
return source;
|
|
3780
|
+
};
|
|
3781
|
+
class DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective {
|
|
3782
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3783
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextModelEntitiesSource]", providers: [
|
|
3784
|
+
{
|
|
3785
|
+
provide: DbxFirebaseModelEntitiesSource,
|
|
3786
|
+
useFactory: dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory,
|
|
3787
|
+
deps: [DbxFirebaseDocumentStoreContextStore]
|
|
3788
|
+
}
|
|
3789
|
+
], ngImport: i0 });
|
|
3790
|
+
}
|
|
3791
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, decorators: [{
|
|
3792
|
+
type: Directive,
|
|
3793
|
+
args: [{
|
|
3794
|
+
selector: '[dbxFirebaseDocumentStoreContextModelEntitiesSource]',
|
|
3795
|
+
providers: [
|
|
3796
|
+
{
|
|
3797
|
+
provide: DbxFirebaseModelEntitiesSource,
|
|
3798
|
+
useFactory: dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory,
|
|
3799
|
+
deps: [DbxFirebaseDocumentStoreContextStore]
|
|
3800
|
+
}
|
|
3801
|
+
],
|
|
3802
|
+
standalone: true
|
|
3803
|
+
}]
|
|
3804
|
+
}] });
|
|
3805
|
+
|
|
3479
3806
|
/**
|
|
3480
3807
|
* Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
|
|
3481
3808
|
*/
|
|
@@ -4003,7 +4330,54 @@ function modelDoesNotExistError() {
|
|
|
4003
4330
|
return readableError(DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, 'The document does not exist.');
|
|
4004
4331
|
}
|
|
4005
4332
|
|
|
4333
|
+
/**
|
|
4334
|
+
* Injection token for DbxFirebaseDocumentStoreContextStore.
|
|
4335
|
+
*/
|
|
4336
|
+
const DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN = new InjectionToken('DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN');
|
|
4337
|
+
/**
|
|
4338
|
+
* Provides the DbxFirebaseDocumentStoreContextStore.
|
|
4339
|
+
*/
|
|
4340
|
+
function provideDbxFirebaseDocumentStoreContextStore() {
|
|
4341
|
+
return [
|
|
4342
|
+
{
|
|
4343
|
+
// Create/Provide a "nearest" DbxFirebaseDocumentStoreContextStore.
|
|
4344
|
+
provide: DbxFirebaseDocumentStoreContextStore
|
|
4345
|
+
},
|
|
4346
|
+
{
|
|
4347
|
+
// Also make that context store available to the DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN.
|
|
4348
|
+
provide: DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN,
|
|
4349
|
+
useExisting: DbxFirebaseDocumentStoreContextStore,
|
|
4350
|
+
multi: true
|
|
4351
|
+
}
|
|
4352
|
+
];
|
|
4353
|
+
}
|
|
4354
|
+
/**
|
|
4355
|
+
* Links a DbxFirebaseDocumentStore to parent DbxFirebaseDocumentStoreContextStore instances.
|
|
4356
|
+
*
|
|
4357
|
+
* This should be called in an injectable context.
|
|
4358
|
+
*/
|
|
4359
|
+
function linkDocumentStoreToParentContextStores(store) {
|
|
4360
|
+
const contextStores = inject(DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, { optional: true });
|
|
4361
|
+
const destroyRef = inject(DestroyRef);
|
|
4362
|
+
if (contextStores) {
|
|
4363
|
+
// add the store to each available context store
|
|
4364
|
+
contextStores.forEach((contextStore) => {
|
|
4365
|
+
contextStore.addStore(store);
|
|
4366
|
+
});
|
|
4367
|
+
// remove the store from each available context store when the context is destroyed
|
|
4368
|
+
destroyRef.onDestroy(() => {
|
|
4369
|
+
contextStores.forEach((contextStore) => {
|
|
4370
|
+
contextStore.removeStore(store);
|
|
4371
|
+
});
|
|
4372
|
+
});
|
|
4373
|
+
}
|
|
4374
|
+
}
|
|
4375
|
+
|
|
4006
4376
|
class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
4377
|
+
constructor(initialState) {
|
|
4378
|
+
super(initialState);
|
|
4379
|
+
linkDocumentStoreToParentContextStores(this);
|
|
4380
|
+
}
|
|
4007
4381
|
// MARK: Effects
|
|
4008
4382
|
// MARK: Accessors
|
|
4009
4383
|
currentFirestoreCollectionLike$ = this.state$.pipe(map((x) => x.firestoreCollection ?? x.firestoreCollectionLike), distinctUntilChanged(), shareReplay(1));
|
|
@@ -4039,6 +4413,8 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4039
4413
|
hasRef$ = this.currentDocument$.pipe(map((x) => x?.documentRef != null), distinctUntilChanged(), shareReplay(1));
|
|
4040
4414
|
document$ = this.currentDocument$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
4041
4415
|
documentLoadingState$ = this.currentDocument$.pipe(map((x) => (x ? successResult(x) : beginLoading())), shareReplay(1));
|
|
4416
|
+
currentId$ = this.currentDocument$.pipe(map((x) => x?.id), shareReplay(1));
|
|
4417
|
+
currentKey$ = this.currentDocument$.pipe(map((x) => x?.key), shareReplay(1));
|
|
4042
4418
|
id$ = this.document$.pipe(map((x) => x.id), shareReplay(1));
|
|
4043
4419
|
key$ = this.document$.pipe(map((x) => x.key), shareReplay(1));
|
|
4044
4420
|
keyModelIds$ = this.key$.pipe(map(firestoreModelIdsFromKey), shareReplay(1));
|
|
@@ -4097,7 +4473,7 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4097
4473
|
return of(result);
|
|
4098
4474
|
}), shareReplay(1));
|
|
4099
4475
|
doesNotExist$ = this.exists$.pipe(map((x) => !x), shareReplay(1));
|
|
4100
|
-
modelIdentity$ = this.
|
|
4476
|
+
modelIdentity$ = this.firestoreCollectionLike$.pipe(map((x) => x.modelIdentity), shareReplay(1));
|
|
4101
4477
|
// MARK: State Changes
|
|
4102
4478
|
setId = this.updater((state, id) => (id ? { ...state, id, key: undefined, ref: undefined } : { ...state, id }));
|
|
4103
4479
|
setKey = this.updater((state, key) => (key ? { ...state, key, id: undefined, ref: undefined } : { ...state, key }));
|
|
@@ -4107,12 +4483,17 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4107
4483
|
clearRefs = this.updater((state) => ({ ...state, id: undefined, key: undefined, ref: undefined }));
|
|
4108
4484
|
setFirestoreCollection = this.updater((state, firestoreCollection) => ({ ...state, firestoreCollection }));
|
|
4109
4485
|
setFirestoreCollectionLike = this.updater((state, firestoreCollectionLike) => ({ ...state, firestoreCollectionLike }));
|
|
4110
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
4486
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: [{ token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4111
4487
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore });
|
|
4112
4488
|
}
|
|
4113
4489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, decorators: [{
|
|
4114
4490
|
type: Injectable
|
|
4115
|
-
}]
|
|
4491
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
4492
|
+
type: Inject,
|
|
4493
|
+
args: [null]
|
|
4494
|
+
}, {
|
|
4495
|
+
type: Optional
|
|
4496
|
+
}] }] });
|
|
4116
4497
|
function injectSingleItemIdIntoState(state) {
|
|
4117
4498
|
const id = state?.firestoreCollection?.singleItemIdentifier;
|
|
4118
4499
|
if (state && id != null) {
|
|
@@ -4475,6 +4856,22 @@ function provideDbxFirebaseCollectionWithParentStoreDirective(sourceType, storeT
|
|
|
4475
4856
|
return providers;
|
|
4476
4857
|
}
|
|
4477
4858
|
|
|
4859
|
+
/**
|
|
4860
|
+
* Directive that provides a DbxFirebaseDocumentStoreContextStore.
|
|
4861
|
+
*/
|
|
4862
|
+
class DbxFirebaseDocumentStoreContextStoreDirective {
|
|
4863
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4864
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreContextStoreDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextStore]", providers: provideDbxFirebaseDocumentStoreContextStore(), ngImport: i0 });
|
|
4865
|
+
}
|
|
4866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, decorators: [{
|
|
4867
|
+
type: Directive,
|
|
4868
|
+
args: [{
|
|
4869
|
+
selector: '[dbxFirebaseDocumentStoreContextStore]',
|
|
4870
|
+
providers: provideDbxFirebaseDocumentStoreContextStore(),
|
|
4871
|
+
standalone: true
|
|
4872
|
+
}]
|
|
4873
|
+
}] });
|
|
4874
|
+
|
|
4478
4875
|
class SystemStateCollectionStore extends AbstractDbxFirebaseCollectionStore {
|
|
4479
4876
|
constructor(collections) {
|
|
4480
4877
|
super({ firestoreCollection: collections.systemStateCollection });
|
|
@@ -6791,5 +7188,5 @@ function provideDbxFirebase(config) {
|
|
|
6791
7188
|
* Generated bundle index. Do not edit.
|
|
6792
7189
|
*/
|
|
6793
7190
|
|
|
6794
|
-
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION, DBX_FIREBASE_APP_OPTIONS_TOKEN, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_LOGIN_COMPONENTS, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY, 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_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserEventsListenerService, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseEmulatorService, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryModule, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesModule, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationModule, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebasePipeModule, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FlatFirestoreModelKeyPipe, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, importsAndExports$1 as importsAndExports, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
|
|
7191
|
+
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_COMPONENT_CONFIGURATION, DBX_FIREBASE_APP_OPTIONS_TOKEN, DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_LOGIN_COMPONENTS, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_STORAGEFILE_DOWNLOAD_STORAGE_ACCESSOR_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY, 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_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserEventsListenerService, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreContextModelEntitiesSourceDirective, DbxFirebaseDocumentStoreContextStore, DbxFirebaseDocumentStoreContextStoreDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseEmulatorService, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelEntitiesComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryModule, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceListComponent, DbxFirebaseModelTypeInstanceListViewComponent, DbxFirebaseModelTypeInstanceListViewItemComponent, DbxFirebaseModelTypesModule, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelViewedEventDirective, DbxFirebaseModule, DbxFirebaseNotificationBoxCollectionStoreDirective, DbxFirebaseNotificationBoxDocumentStoreDirective, DbxFirebaseNotificationCollectionStoreDirective, DbxFirebaseNotificationDocumentStoreDirective, DbxFirebaseNotificationItemContentComponent, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemStorePopoverButtonComponent, DbxFirebaseNotificationItemStorePopoverComponent, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationModule, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebasePipeModule, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageFileCollectionStoreDirective, DbxFirebaseStorageFileDocumentStoreDirective, DbxFirebaseStorageFileDownloadButtonComponent, DbxFirebaseStorageFileDownloadService, DbxFirebaseStorageFileDownloadStorage, DbxFirebaseStorageFileUploadActionHandlerDirective, DbxFirebaseStorageFileUploadInitializeDocumentDirective, DbxFirebaseStorageFileUploadModule, DbxFirebaseStorageFileUploadStore, DbxFirebaseStorageFileUploadStoreDirective, DbxFirebaseStorageFileUploadSyncDirective, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FlatFirestoreModelKeyPipe, NotificationBoxCollectionStore, NotificationBoxDocumentStore, NotificationCollectionStore, NotificationDocumentStore, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, StorageFileCollectionStore, StorageFileDocumentStore, StorageFileUploadFilesError, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseDocumentStoreContextModelEntitiesSourceFactory, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageFileDownloadServiceCustomSourceFromObs, dbxFirebaseStorageProvidersContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultDbxFirebaseStorageFileDownloadStorageAccessorFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseCollectionStoreCreateFunction, firebaseCollectionStoreCrudFunction, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, importsAndExports$1 as importsAndExports, linkDocumentStoreToParentContextStores, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
|
|
6795
7192
|
//# sourceMappingURL=dereekb-dbx-firebase.mjs.map
|