@dereekb/dbx-firebase 12.6.12 → 12.6.13
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 +7 -2
- package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +4 -7
- package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +58 -12
- package/esm2022/lib/model/modules/model/entities/model.entities.mjs +10 -1
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +3 -3
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +4 -2
- package/esm2022/lib/model/modules/model/entities/model.entities.providers.mjs +20 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.mjs +18 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.mjs +27 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.mjs +51 -0
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +34 -10
- package/esm2022/lib/model/modules/model/index.mjs +2 -1
- package/esm2022/lib/model/modules/model/model.key.component.mjs +47 -0
- package/esm2022/lib/model/modules/model/model.types.service.mjs +5 -3
- package/esm2022/lib/model/modules/store/store.document.mjs +6 -6
- package/esm2022/lib/providers.mjs +7 -3
- package/fesm2022/dereekb-dbx-firebase.mjs +265 -46
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/model/modules/model/entities/index.d.ts +6 -1
- package/lib/model/modules/model/entities/model.entities.component.d.ts +3 -6
- package/lib/model/modules/model/entities/model.entities.d.ts +7 -0
- package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +30 -12
- package/lib/model/modules/model/entities/model.entities.providers.d.ts +22 -0
- package/lib/model/modules/model/entities/model.entities.widget.d.ts +30 -0
- package/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.d.ts +12 -0
- package/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.d.ts +14 -0
- package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +27 -5
- package/lib/model/modules/model/index.d.ts +1 -0
- package/lib/model/modules/model/model.key.component.d.ts +24 -0
- package/lib/model/modules/model/model.types.service.d.ts +4 -3
- package/lib/model/modules/store/store.document.d.ts +1 -1
- package/lib/providers.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
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, switchMapMaybe, beginLoading, mapLoadingStateValueWithOperator, valueFromFinishedLoadingState,
|
|
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, loadingStateContext, switchMapMaybe, beginLoading, mapLoadingStateValueWithOperator, valueFromFinishedLoadingState, skipInitialMaybe, distinctUntilModelKeyChange, successResult, tapLog, errorResult, isLoadingStateLoading, cleanup, mapLoadingState, throwErrorFromLoadingStateError, maybeValueFromObservableOrValue, distinctUntilHasDifferentValues, MultiSubscriptionObject, startWithBeginLoading, skipAllInitialMaybe } from '@dereekb/rxjs';
|
|
5
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';
|
|
@@ -12,14 +12,14 @@ 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, DbxLoadingComponent, DbxModelObjectStateService, DbxListViewWrapper, AbstractDbxWidgetComponent, DbxPopoverInteractionModule, DbxListModifierModule, DbxWebFilePreviewService, DbxActionSnackbarErrorDirective, DbxActionDialogDirective, DbxFileUploadComponent, DbxActionLoadingContextDirective, DbxFileUploadActionSyncDirective } 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, DbxLoadingComponent, DbxDetailBlockComponent, DbxClickToCopyTextComponent, DbxContentPitDirective, 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
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
17
|
+
import { MatIconModule, MatIcon } from '@angular/material/icon';
|
|
18
18
|
import * as i1$2 from '@dereekb/dbx-form';
|
|
19
19
|
import { AbstractSyncFormlyFormDirective, emailField, dbxFormlyFormComponentProviders, DbxFormlyFormComponentImportsModule, DBX_FORMLY_FORM_COMPONENT_TEMPLATE, AbstractConfigAsyncFormlyFormDirective, usernamePasswordLoginFields, DbxActionFormDirective, DbxFormSourceDirective, pickableItemChipField, filterPickableItemFieldValuesByLabel } from '@dereekb/dbx-form';
|
|
20
20
|
import * as i1$4 from '@dereekb/firebase';
|
|
21
|
-
import { firebaseAuthErrorToReadableError, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, NotificationFirestoreCollections, StorageFileFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelKeyCollectionTypePair, buildFirebaseCollectionTypeModelTypeMap, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject,
|
|
22
|
-
import { NgTemplateOutlet, DatePipe } from '@angular/common';
|
|
21
|
+
import { firebaseAuthErrorToReadableError, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, NotificationFirestoreCollections, StorageFileFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelKeyCollectionTypePair, buildFirebaseCollectionTypeModelTypeMap, flatFirestoreModelKey, twoWayFlatFirestoreModelKey, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, isClientFirebaseError, FIRESTORE_PERMISSION_DENIED_ERROR_CODE, inferKeyFromTwoWayFlatFirestoreModelKey, firestoreModelKeyParentKey, AppNotificationTemplateTypeInfoRecordService, NotificationFunctions, unreadNotificationItems, firestoreModelId, StorageFileFunctions, firestoreModelKey, storageFileIdentity, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
|
|
22
|
+
import { NgTemplateOutlet, AsyncPipe, JsonPipe, DatePipe } from '@angular/common';
|
|
23
23
|
import * as i1$3 from '@angular/material/button';
|
|
24
24
|
import { MatButtonModule } from '@angular/material/button';
|
|
25
25
|
import { toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
@@ -30,7 +30,7 @@ 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 { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle,
|
|
33
|
+
import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelContent, MatExpansionPanelDescription, MatAccordion } from '@angular/material/expansion';
|
|
34
34
|
import { ComponentStore } from '@ngrx/component-store';
|
|
35
35
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
36
36
|
import { MatDialog } from '@angular/material/dialog';
|
|
@@ -3196,7 +3196,8 @@ function dbxFirebaseModelTypesServiceInstance(modelInfoInstance$, dbxFirebaseMod
|
|
|
3196
3196
|
const key$ = modelInfoInstance$.pipe(switchMap((x) => x.key$));
|
|
3197
3197
|
const modelType$ = modelInfoInstance$.pipe(switchMap((x) => x.modelType$));
|
|
3198
3198
|
const snapshotData$ = modelInfoInstance$.pipe(switchMap((x) => x.snapshotData$));
|
|
3199
|
-
const
|
|
3199
|
+
const safeTypeInfo$ = modelType$.pipe(switchMap((x) => dbxFirebaseModelTypesService.currentInfoForType(x)), distinctUntilChanged(), shareReplay(1));
|
|
3200
|
+
const typeInfo$ = safeTypeInfo$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
3200
3201
|
const identity$ = typeInfo$.pipe(map((x) => x.identity), distinctUntilChanged());
|
|
3201
3202
|
const segueRef$ = combineLatest([key$, typeInfo$]).pipe(map(([key, info]) => (info.sref ? info.sref(key) : undefined)), shareReplay(1));
|
|
3202
3203
|
const displayInfo$ = combineLatest([typeInfo$, snapshotData$]).pipe(map(([typeInfo, data]) => dbxFirebaseModelTypesService.getDisplayInfo(typeInfo, data)), shareReplay(1));
|
|
@@ -3219,6 +3220,7 @@ function dbxFirebaseModelTypesServiceInstance(modelInfoInstance$, dbxFirebaseMod
|
|
|
3219
3220
|
key$,
|
|
3220
3221
|
modelType$,
|
|
3221
3222
|
snapshotData$,
|
|
3223
|
+
safeTypeInfo$,
|
|
3222
3224
|
typeInfo$,
|
|
3223
3225
|
identity$,
|
|
3224
3226
|
segueRef$,
|
|
@@ -3477,6 +3479,21 @@ function dbxFirebaseSourceSelectLoadSource(config) {
|
|
|
3477
3479
|
};
|
|
3478
3480
|
}
|
|
3479
3481
|
|
|
3482
|
+
/**
|
|
3483
|
+
* Provides a source of entities.
|
|
3484
|
+
*/
|
|
3485
|
+
class DbxFirebaseModelEntitiesSource {
|
|
3486
|
+
}
|
|
3487
|
+
/**
|
|
3488
|
+
* Returns true if the input entity has a defined store.
|
|
3489
|
+
*
|
|
3490
|
+
* @param entity
|
|
3491
|
+
* @returns
|
|
3492
|
+
*/
|
|
3493
|
+
function isDbxFirebaseModelEntityWithStore(entity) {
|
|
3494
|
+
return entity.modelIdentity != null && entity.store != null;
|
|
3495
|
+
}
|
|
3496
|
+
|
|
3480
3497
|
/**
|
|
3481
3498
|
* Configuration provided in the root module for configuring entries.
|
|
3482
3499
|
*/
|
|
@@ -3486,19 +3503,35 @@ class DbxFirebaseModelEntitiesWidgetServiceConfig {
|
|
|
3486
3503
|
* Service used to register widgets used for model entities.
|
|
3487
3504
|
*/
|
|
3488
3505
|
class DbxFirebaseModelEntitiesWidgetService {
|
|
3506
|
+
_commonComponentClass;
|
|
3507
|
+
_debugComponentClass;
|
|
3489
3508
|
_entries = new Map();
|
|
3490
3509
|
constructor(initialConfig) {
|
|
3510
|
+
this._commonComponentClass = initialConfig?.commonComponentClass;
|
|
3511
|
+
this._debugComponentClass = initialConfig?.debugComponentClass;
|
|
3491
3512
|
if (initialConfig?.entries) {
|
|
3492
3513
|
this.register(initialConfig.entries);
|
|
3493
3514
|
}
|
|
3494
3515
|
}
|
|
3516
|
+
getCommonComponentClass() {
|
|
3517
|
+
return this._commonComponentClass;
|
|
3518
|
+
}
|
|
3519
|
+
setCommonComponentClass(componentClass) {
|
|
3520
|
+
this._commonComponentClass = componentClass;
|
|
3521
|
+
}
|
|
3522
|
+
getDebugComponentClass() {
|
|
3523
|
+
return this._debugComponentClass;
|
|
3524
|
+
}
|
|
3525
|
+
setDebugComponentClass(componentClass) {
|
|
3526
|
+
this._debugComponentClass = componentClass;
|
|
3527
|
+
}
|
|
3495
3528
|
/**
|
|
3496
3529
|
* Used to register one or more entries.
|
|
3497
3530
|
*
|
|
3498
3531
|
* If an entry with the same identity is already registered, this will override it by default.
|
|
3499
3532
|
*
|
|
3500
|
-
* @param entries
|
|
3501
|
-
* @param override
|
|
3533
|
+
* @param entries The entries to register
|
|
3534
|
+
* @param override Whether to override existing entries (default: true)
|
|
3502
3535
|
*/
|
|
3503
3536
|
register(entries, override = true) {
|
|
3504
3537
|
const entriesArray = asArray(entries);
|
|
@@ -3513,19 +3546,27 @@ class DbxFirebaseModelEntitiesWidgetService {
|
|
|
3513
3546
|
return Array.from(this._entries.keys());
|
|
3514
3547
|
}
|
|
3515
3548
|
getWidgetEntry(identity) {
|
|
3516
|
-
|
|
3549
|
+
const entry = this._entries.get(identity);
|
|
3550
|
+
return entry
|
|
3551
|
+
? {
|
|
3552
|
+
...entry,
|
|
3553
|
+
commonComponentClass: entry.commonComponentClass ?? this._commonComponentClass,
|
|
3554
|
+
debugComponentClass: entry.debugComponentClass ?? this._debugComponentClass
|
|
3555
|
+
}
|
|
3556
|
+
: {
|
|
3557
|
+
identity,
|
|
3558
|
+
commonComponentClass: this._commonComponentClass,
|
|
3559
|
+
debugComponentClass: this._debugComponentClass
|
|
3560
|
+
};
|
|
3517
3561
|
}
|
|
3518
3562
|
getWidgetEntries(identities) {
|
|
3519
|
-
return filterMaybeArrayValues(mapIterable(identities ?? [], (x) => this.
|
|
3563
|
+
return filterMaybeArrayValues(mapIterable(identities ?? [], (x) => this.getWidgetEntry(x)));
|
|
3520
3564
|
}
|
|
3521
3565
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, deps: [{ token: DbxFirebaseModelEntitiesWidgetServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3522
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService
|
|
3566
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService });
|
|
3523
3567
|
}
|
|
3524
3568
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesWidgetService, decorators: [{
|
|
3525
|
-
type: Injectable
|
|
3526
|
-
args: [{
|
|
3527
|
-
providedIn: 'root'
|
|
3528
|
-
}]
|
|
3569
|
+
type: Injectable
|
|
3529
3570
|
}], ctorParameters: () => [{ type: DbxFirebaseModelEntitiesWidgetServiceConfig, decorators: [{
|
|
3530
3571
|
type: Optional
|
|
3531
3572
|
}, {
|
|
@@ -3533,35 +3574,123 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3533
3574
|
args: [DbxFirebaseModelEntitiesWidgetServiceConfig]
|
|
3534
3575
|
}] }] });
|
|
3535
3576
|
|
|
3577
|
+
/**
|
|
3578
|
+
* Injection token for providing DbxFirebaseModelEntityWithStore context to dynamically loaded widgets.
|
|
3579
|
+
*/
|
|
3580
|
+
const DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN = new InjectionToken('DbxFirebaseModelEntityWithStore');
|
|
3581
|
+
/**
|
|
3582
|
+
* Creates a DbxFirebaseModelEntitiesWidgetInjectionConfigFactory.
|
|
3583
|
+
*
|
|
3584
|
+
* @param injector Optional injector to use for the components.
|
|
3585
|
+
* @returns
|
|
3586
|
+
*/
|
|
3587
|
+
function dbxFirebaseModelEntityWidgetInjectionConfigFactory(injector) {
|
|
3588
|
+
return (entry, entity) => {
|
|
3589
|
+
const providers = [
|
|
3590
|
+
{
|
|
3591
|
+
provide: DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN,
|
|
3592
|
+
useValue: entity
|
|
3593
|
+
}
|
|
3594
|
+
];
|
|
3595
|
+
let entityComponentConfig = undefined;
|
|
3596
|
+
let commonComponentConfig = undefined;
|
|
3597
|
+
let debugComponentConfig = undefined;
|
|
3598
|
+
if (entry.entityComponentClass) {
|
|
3599
|
+
entityComponentConfig = {
|
|
3600
|
+
componentClass: entry.entityComponentClass,
|
|
3601
|
+
injector,
|
|
3602
|
+
providers
|
|
3603
|
+
};
|
|
3604
|
+
}
|
|
3605
|
+
if (entry.commonComponentClass) {
|
|
3606
|
+
commonComponentConfig = {
|
|
3607
|
+
componentClass: entry.commonComponentClass,
|
|
3608
|
+
providers
|
|
3609
|
+
};
|
|
3610
|
+
}
|
|
3611
|
+
if (entry.debugComponentClass) {
|
|
3612
|
+
debugComponentConfig = {
|
|
3613
|
+
componentClass: entry.debugComponentClass,
|
|
3614
|
+
providers
|
|
3615
|
+
};
|
|
3616
|
+
}
|
|
3617
|
+
return {
|
|
3618
|
+
entry,
|
|
3619
|
+
entity,
|
|
3620
|
+
entityComponentConfig,
|
|
3621
|
+
commonComponentConfig,
|
|
3622
|
+
debugComponentConfig
|
|
3623
|
+
};
|
|
3624
|
+
};
|
|
3625
|
+
}
|
|
3626
|
+
|
|
3536
3627
|
class DbxFirebaseModelEntitiesEntityComponent {
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
* The input entity
|
|
3541
|
-
*/
|
|
3628
|
+
widgetInjectionConfigFactory = dbxFirebaseModelEntityWidgetInjectionConfigFactory();
|
|
3629
|
+
entitiesWidgetService = inject(DbxFirebaseModelEntitiesWidgetService);
|
|
3630
|
+
dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
|
|
3542
3631
|
entity = input.required();
|
|
3543
|
-
modelIdentity = computed(() => this.entity().modelIdentity);
|
|
3544
3632
|
entity$ = toObservable(this.entity);
|
|
3633
|
+
currentEntityWithStore$ = this.entity$.pipe(map((x) => {
|
|
3634
|
+
let result;
|
|
3635
|
+
if (isDbxFirebaseModelEntityWithStore(x)) {
|
|
3636
|
+
result = x;
|
|
3637
|
+
}
|
|
3638
|
+
else {
|
|
3639
|
+
result = null;
|
|
3640
|
+
}
|
|
3641
|
+
return result;
|
|
3642
|
+
}), distinctUntilChanged(), shareReplay(1));
|
|
3643
|
+
modelIdentity$ = this.entity$.pipe(map((x) => x.modelIdentity), distinctUntilChanged(), shareReplay(1));
|
|
3545
3644
|
store$ = this.entity$.pipe(map((x) => x.store), filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
3546
3645
|
loadingState$ = this.store$.pipe(switchMap((x) => x.dataLoadingState$));
|
|
3646
|
+
currentData$ = this.store$.pipe(switchMap((x) => x.currentData$), shareReplay(1));
|
|
3647
|
+
currentWidgetEntry$ = this.modelIdentity$.pipe(map((modelIdentity) => this.entitiesWidgetService.getWidgetEntry(modelIdentity)), distinctUntilChanged(), shareReplay(1));
|
|
3648
|
+
currentTypeInfo$ = this.modelIdentity$.pipe(switchMap((modelIdentity) => this.dbxFirebaseModelTypesService.currentInfoForType(modelIdentity.modelType)), shareReplay(1));
|
|
3649
|
+
hasTypeInfo$ = this.currentTypeInfo$.pipe(map((x) => !!x), distinctUntilChanged(), shareReplay(1));
|
|
3650
|
+
displayInfo$ = combineLatest([this.modelIdentity$, this.currentTypeInfo$, this.currentData$]).pipe(map(([modelIdentity, typeInfo, currentData]) => {
|
|
3651
|
+
let result;
|
|
3652
|
+
if (typeInfo) {
|
|
3653
|
+
if (currentData) {
|
|
3654
|
+
result = typeInfo.displayInfoFactory(currentData);
|
|
3655
|
+
if (!result.title) {
|
|
3656
|
+
result = { ...result, title: `No Name - <${modelIdentity.modelType}>` };
|
|
3657
|
+
}
|
|
3658
|
+
}
|
|
3659
|
+
else {
|
|
3660
|
+
result = { icon: typeInfo.icon, title: `No Data - <${modelIdentity.modelType}>` };
|
|
3661
|
+
}
|
|
3662
|
+
}
|
|
3663
|
+
else {
|
|
3664
|
+
result = { icon: 'warning', title: `No Type Info - <${modelIdentity.modelType}>` };
|
|
3665
|
+
}
|
|
3666
|
+
return result;
|
|
3667
|
+
}), shareReplay(1));
|
|
3668
|
+
widgetInjectionConfig$ = combineLatest([this.currentWidgetEntry$, this.currentEntityWithStore$]).pipe(map(([entry, entity]) => (entity ? this.widgetInjectionConfigFactory(entry, entity) : null)), shareReplay(1));
|
|
3669
|
+
hasTypeInfoSignal = toSignal(this.hasTypeInfo$);
|
|
3670
|
+
displayInfoSignal = toSignal(this.displayInfo$);
|
|
3671
|
+
widgetInjectionConfigSignal = toSignal(this.widgetInjectionConfig$);
|
|
3672
|
+
entityWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.entityComponentConfig);
|
|
3673
|
+
commonWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.commonComponentConfig);
|
|
3674
|
+
debugWidgetConfigSignal = computed(() => this.widgetInjectionConfigSignal()?.debugComponentConfig);
|
|
3675
|
+
loadingContext = loadingStateContext({ obs: this.loadingState$ });
|
|
3676
|
+
ngOnDestroy() {
|
|
3677
|
+
this.loadingContext.destroy();
|
|
3678
|
+
}
|
|
3547
3679
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3548
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
3680
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.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 @if (displayInfoSignal(); as displayInfo) {\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { 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: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3549
3681
|
}
|
|
3550
3682
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
|
|
3551
3683
|
type: Component,
|
|
3552
|
-
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 <
|
|
3684
|
+
args: [{ selector: 'dbx-firebase-model-entities-entity', imports: [DbxInjectionComponent, DbxLoadingComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatIcon, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (displayInfoSignal(); as displayInfo) {\n @if (displayInfo.icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ displayInfo.icon }}</mat-icon>\n }\n <span>{{ displayInfo.title }}</span>\n }\n </mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-firebase-model-entities-entity-panel-content\">\n <dbx-loading [context]=\"loadingContext\">\n @if (entityWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-entity-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (commonWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-common-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n @if (debugWidgetConfigSignal(); as config) {\n <div class=\"dbx-pb3 dbx-firebase-model-entities-debug-content\">\n <dbx-injection [config]=\"config\"></dbx-injection>\n </div>\n }\n </dbx-loading>\n </div>\n </ng-template>\n</mat-expansion-panel>\n" }]
|
|
3553
3685
|
}] });
|
|
3554
3686
|
|
|
3555
3687
|
class DbxFirebaseModelEntitiesComponent {
|
|
3556
|
-
/**
|
|
3557
|
-
* All input entities.
|
|
3558
|
-
*/
|
|
3559
|
-
entities = input();
|
|
3560
|
-
entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
|
|
3561
3688
|
/**
|
|
3562
3689
|
* Whether the accordion should allow multiple expanded panels.
|
|
3563
3690
|
*/
|
|
3564
3691
|
multi = input(true);
|
|
3692
|
+
entities = input();
|
|
3693
|
+
entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
|
|
3565
3694
|
entitiesWithKeysState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
|
|
3566
3695
|
const entitiesWithStore = (entities ?? []).filter((x) => Boolean(x.store));
|
|
3567
3696
|
const entitiesWithKeys = combineLatest(entitiesWithStore.map((x) => {
|
|
@@ -3578,7 +3707,7 @@ class DbxFirebaseModelEntitiesComponent {
|
|
|
3578
3707
|
this.context.destroy();
|
|
3579
3708
|
}
|
|
3580
3709
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3581
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: {
|
|
3710
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesComponent, isStandalone: true, selector: "dbx-firebase-model-entities", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, entities: { classPropertyName: "entities", publicName: "entities", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
3582
3711
|
<dbx-loading [linear]="true" [context]="context">
|
|
3583
3712
|
<mat-accordion [multi]="multi()">
|
|
3584
3713
|
@for (entity of entitiesWithKeysSignal(); track entity.key) {
|
|
@@ -3622,6 +3751,8 @@ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective
|
|
|
3622
3751
|
entities$ = this.popover.data?.entities$;
|
|
3623
3752
|
static openPopover(popupService, { origin, header, icon, emptyText, entities$ }, popoverKey) {
|
|
3624
3753
|
return popupService.open({
|
|
3754
|
+
height: '600px',
|
|
3755
|
+
width: '800px',
|
|
3625
3756
|
key: popoverKey ?? DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY,
|
|
3626
3757
|
origin,
|
|
3627
3758
|
componentClass: DbxFirebaseModelEntitiesPopoverComponent,
|
|
@@ -3641,30 +3772,24 @@ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective
|
|
|
3641
3772
|
header = this.config.header ?? 'Entities';
|
|
3642
3773
|
emptyText = this.config.emptyText ?? 'No entities found in current context.';
|
|
3643
3774
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3644
|
-
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: ["
|
|
3775
|
+
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: ["multi", "entities"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3645
3776
|
}
|
|
3646
3777
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
|
|
3647
3778
|
type: Component,
|
|
3648
3779
|
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" }]
|
|
3649
3780
|
}] });
|
|
3650
3781
|
|
|
3651
|
-
/**
|
|
3652
|
-
* Provides a source of entities.
|
|
3653
|
-
*/
|
|
3654
|
-
class DbxFirebaseModelEntitiesSource {
|
|
3655
|
-
}
|
|
3656
|
-
|
|
3657
3782
|
class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefDirective {
|
|
3658
3783
|
_dbxPopoverService = inject(DbxPopoverService);
|
|
3659
3784
|
entitiesSource = inject(DbxFirebaseModelEntitiesSource);
|
|
3660
3785
|
buttonElement = viewChild.required('button', { read: ElementRef });
|
|
3661
3786
|
config = input();
|
|
3662
3787
|
_makePopoverRef(origin) {
|
|
3663
|
-
const config = this.config();
|
|
3664
|
-
const entities$ = this.entitiesSource.entities$;
|
|
3665
3788
|
if (!origin) {
|
|
3666
3789
|
throw new Error('Missing origin.');
|
|
3667
3790
|
}
|
|
3791
|
+
const config = this.config();
|
|
3792
|
+
const entities$ = this.entitiesSource.entities$;
|
|
3668
3793
|
return DbxFirebaseModelEntitiesPopoverComponent.openPopover(this._dbxPopoverService, {
|
|
3669
3794
|
origin,
|
|
3670
3795
|
...config,
|
|
@@ -3693,6 +3818,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3693
3818
|
}]
|
|
3694
3819
|
}] });
|
|
3695
3820
|
|
|
3821
|
+
/**
|
|
3822
|
+
* Creates EnvironmentProviders for DbxFirebaseModelEntitiesWidgetService.
|
|
3823
|
+
*
|
|
3824
|
+
* @param config Configuration
|
|
3825
|
+
* @returns EnvironmentProviders
|
|
3826
|
+
*/
|
|
3827
|
+
function provideDbxFirebaseModelEntitiesWidgetService(config) {
|
|
3828
|
+
const { dbxFirebaseModelEntitiesWidgetServiceConfigFactory } = config;
|
|
3829
|
+
const providers = [
|
|
3830
|
+
{
|
|
3831
|
+
provide: DbxFirebaseModelEntitiesWidgetServiceConfig,
|
|
3832
|
+
useFactory: dbxFirebaseModelEntitiesWidgetServiceConfigFactory
|
|
3833
|
+
},
|
|
3834
|
+
DbxFirebaseModelEntitiesWidgetService
|
|
3835
|
+
];
|
|
3836
|
+
return makeEnvironmentProviders(providers);
|
|
3837
|
+
}
|
|
3838
|
+
|
|
3696
3839
|
class DbxFirebaseDocumentStoreContextStore extends ComponentStore {
|
|
3697
3840
|
constructor() {
|
|
3698
3841
|
super({
|
|
@@ -3805,6 +3948,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3805
3948
|
}]
|
|
3806
3949
|
}] });
|
|
3807
3950
|
|
|
3951
|
+
/**
|
|
3952
|
+
* An abstract DbxFirebase widget component that injects the entity data and provides some common accessors.
|
|
3953
|
+
*/
|
|
3954
|
+
class AbstractDbxFirebaseModelEntitiesWidgetDirective {
|
|
3955
|
+
entityData = inject(DBX_FIREBASE_MODEL_ENTITY_WITH_STORE_TOKEN);
|
|
3956
|
+
store = this.entityData.store;
|
|
3957
|
+
data$ = this.store.data$;
|
|
3958
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseModelEntitiesWidgetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3959
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractDbxFirebaseModelEntitiesWidgetDirective, ngImport: i0 });
|
|
3960
|
+
}
|
|
3961
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseModelEntitiesWidgetDirective, decorators: [{
|
|
3962
|
+
type: Directive,
|
|
3963
|
+
args: [{}]
|
|
3964
|
+
}] });
|
|
3965
|
+
|
|
3966
|
+
/**
|
|
3967
|
+
* An interactive display for a FirestoreModelKey.
|
|
3968
|
+
*/
|
|
3969
|
+
class DbxFirebaseModelKeyComponent {
|
|
3970
|
+
dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
|
|
3971
|
+
modelKey = input();
|
|
3972
|
+
oneWayFlatModelKey = computed(() => {
|
|
3973
|
+
const modelKey = this.modelKey();
|
|
3974
|
+
return modelKey ? flatFirestoreModelKey(modelKey) : undefined;
|
|
3975
|
+
});
|
|
3976
|
+
twoWayFlatModelKey = computed(() => {
|
|
3977
|
+
const modelKey = this.modelKey();
|
|
3978
|
+
return modelKey ? twoWayFlatFirestoreModelKey(modelKey) : undefined;
|
|
3979
|
+
});
|
|
3980
|
+
// Convert signal to observable for types service
|
|
3981
|
+
modelKey$ = toObservable(this.modelKey);
|
|
3982
|
+
modelTypeInstance$ = this.modelKey$.pipe(switchMap((key) => {
|
|
3983
|
+
let result = undefined;
|
|
3984
|
+
if (key) {
|
|
3985
|
+
result = this.dbxFirebaseModelTypesService.instanceForKey(key);
|
|
3986
|
+
}
|
|
3987
|
+
return of(result);
|
|
3988
|
+
}));
|
|
3989
|
+
modelIdentity$ = this.modelTypeInstance$.pipe(switchMap((x) => x?.identity$ ?? of(undefined)));
|
|
3990
|
+
typeInfo$ = this.modelTypeInstance$.pipe(switchMap((x) => x?.safeTypeInfo$ ?? of(undefined)));
|
|
3991
|
+
modelTypeInstanceSignal = toSignal(this.modelTypeInstance$);
|
|
3992
|
+
modelIdentitySignal = toSignal(this.modelIdentity$);
|
|
3993
|
+
typeInfoSignal = toSignal(this.typeInfo$);
|
|
3994
|
+
typeCanSegueToView = computed(() => this.typeInfoSignal()?.canSegueToView ?? false);
|
|
3995
|
+
sref$ = this.modelTypeInstance$.pipe(switchMap((x) => x?.segueRef$ ?? of(undefined)));
|
|
3996
|
+
srefSignal = toSignal(this.sref$);
|
|
3997
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelKeyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3998
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelKeyComponent, isStandalone: true, selector: "dbx-firebase-model-key", inputs: { modelKey: { classPropertyName: "modelKey", publicName: "modelKey", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"dbx-firebase-model-key\">\n @if (modelKey(); as key) {\n <!-- Key Data -->\n <dbx-detail-block icon=\"key\" header=\"Model Key\">\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ key }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"oneWayFlatModelKey()\">(Flat) {{ oneWayFlatModelKey() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"twoWayFlatModelKey()\">(Encoded Flat) {{ twoWayFlatModelKey() }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n\n <!-- Type Info -->\n @if (typeInfoSignal(); as typeInfo) {\n <!-- Model Meta Data -->\n <div>\n <dbx-detail-block [icon]=\"typeInfo.icon\" header=\"Model Type\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.modelType }}</dbx-click-to-copy-text>\n @if (typeInfo.icon) {\n <dbx-click-to-copy-text [copyText]=\"typeInfo.icon\" class=\"dbx-block\">\n Icon:\n <span class=\"dbx-u\">{{ typeInfo.icon }}</span>\n </dbx-click-to-copy-text>\n } @else {\n <span class=\"dbx-notice\">No Icon For Type</span>\n }\n </dbx-detail-block>\n <dbx-detail-block icon=\"dataset\" header=\"Collection Name\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.identity.collectionName }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n </div>\n\n <!-- Segue Info -->\n @if (typeCanSegueToView()) {\n <dbx-detail-block icon=\"arrow_forward\" header=\"Segue To View\">\n <div class=\"dbx-hint dbx-small\">This model has a unique view within the app.</div>\n <dbx-anchor [anchor]=\"srefSignal()\"><dbx-button>Go To View</dbx-button></dbx-anchor>\n </dbx-detail-block>\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Segue View\">\n <span>This type provides no information for segue directly.</span>\n </dbx-detail-block>\n }\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Type Info\">\n <span>There is no type info registered for this model type.</span>\n </dbx-detail-block>\n }\n } @else {\n <div class=\"dbx-firebase-model-key-empty\">No model key provided</div>\n }\n</div>\n", dependencies: [{ kind: "component", type: DbxDetailBlockComponent, selector: "dbx-detail-block", inputs: ["icon", "header", "alignHeader", "bigHeader"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab", "mode"] }, { kind: "component", type: DbxClickToCopyTextComponent, selector: "dbx-click-to-copy-text", inputs: ["copyText", "highlighted", "clipboardSnackbarMessagesConfig", "clipboardSnackbarMessagesEnabled", "clickToCopyIcon", "clickIconToCopyOnly"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }] });
|
|
3999
|
+
}
|
|
4000
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelKeyComponent, decorators: [{
|
|
4001
|
+
type: Component,
|
|
4002
|
+
args: [{ selector: 'dbx-firebase-model-key', standalone: true, imports: [MatIcon, DbxDetailBlockComponent, DbxButtonComponent, DbxClickToCopyTextComponent, DbxAnchorComponent], template: "<div class=\"dbx-firebase-model-key\">\n @if (modelKey(); as key) {\n <!-- Key Data -->\n <dbx-detail-block icon=\"key\" header=\"Model Key\">\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\">{{ key }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"oneWayFlatModelKey()\">(Flat) {{ oneWayFlatModelKey() }}</dbx-click-to-copy-text>\n <dbx-click-to-copy-text [highlighted]=\"true\" class=\"dbx-block\" [copyText]=\"twoWayFlatModelKey()\">(Encoded Flat) {{ twoWayFlatModelKey() }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n\n <!-- Type Info -->\n @if (typeInfoSignal(); as typeInfo) {\n <!-- Model Meta Data -->\n <div>\n <dbx-detail-block [icon]=\"typeInfo.icon\" header=\"Model Type\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.modelType }}</dbx-click-to-copy-text>\n @if (typeInfo.icon) {\n <dbx-click-to-copy-text [copyText]=\"typeInfo.icon\" class=\"dbx-block\">\n Icon:\n <span class=\"dbx-u\">{{ typeInfo.icon }}</span>\n </dbx-click-to-copy-text>\n } @else {\n <span class=\"dbx-notice\">No Icon For Type</span>\n }\n </dbx-detail-block>\n <dbx-detail-block icon=\"dataset\" header=\"Collection Name\">\n <dbx-click-to-copy-text class=\"dbx-block\">{{ typeInfo.identity.collectionName }}</dbx-click-to-copy-text>\n </dbx-detail-block>\n </div>\n\n <!-- Segue Info -->\n @if (typeCanSegueToView()) {\n <dbx-detail-block icon=\"arrow_forward\" header=\"Segue To View\">\n <div class=\"dbx-hint dbx-small\">This model has a unique view within the app.</div>\n <dbx-anchor [anchor]=\"srefSignal()\"><dbx-button>Go To View</dbx-button></dbx-anchor>\n </dbx-detail-block>\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Segue View\">\n <span>This type provides no information for segue directly.</span>\n </dbx-detail-block>\n }\n } @else {\n <dbx-detail-block class=\"dbx-warn\" icon=\"warning\" header=\"No Type Info\">\n <span>There is no type info registered for this model type.</span>\n </dbx-detail-block>\n }\n } @else {\n <div class=\"dbx-firebase-model-key-empty\">No model key provided</div>\n }\n</div>\n" }]
|
|
4003
|
+
}] });
|
|
4004
|
+
|
|
4005
|
+
/**
|
|
4006
|
+
* A debug widget component that displays entity data and metadata.
|
|
4007
|
+
*/
|
|
4008
|
+
class DbxFirebaseModelEntitiesDebugWidgetComponent extends AbstractDbxFirebaseModelEntitiesWidgetDirective {
|
|
4009
|
+
// Convert store observables to signals for template usage
|
|
4010
|
+
currentKey = toSignal(this.store.currentKey$);
|
|
4011
|
+
currentData = toSignal(this.data$);
|
|
4012
|
+
context = loadingStateContext(this.store.dataLoadingState$);
|
|
4013
|
+
ngOnDestroy() {
|
|
4014
|
+
this.context.destroy();
|
|
4015
|
+
}
|
|
4016
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4017
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFirebaseModelEntitiesDebugWidgetComponent, isStandalone: true, selector: "dbx-firebase-model-entities-debug-widget", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-content-pit [rounded]=\"true\">\n <div class=\"dbx-json\">\n <dbx-click-to-copy-text>{{ data | json }}</dbx-click-to-copy-text>\n </div>\n </dbx-content-pit>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: DbxFirebaseModelKeyComponent, selector: "dbx-firebase-model-key", inputs: ["modelKey"] }, { kind: "component", type: DbxClickToCopyTextComponent, selector: "dbx-click-to-copy-text", inputs: ["copyText", "highlighted", "clipboardSnackbarMessagesConfig", "clipboardSnackbarMessagesEnabled", "clickToCopyIcon", "clickIconToCopyOnly"] }, { kind: "directive", type: DbxContentPitDirective, selector: "dbx-content-pit, [dbxContentPit]", inputs: ["scrollable", "rounded"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "pipe", type: JsonPipe, name: "json" }] });
|
|
4018
|
+
}
|
|
4019
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesDebugWidgetComponent, decorators: [{
|
|
4020
|
+
type: Component,
|
|
4021
|
+
args: [{ selector: 'dbx-firebase-model-entities-debug-widget', standalone: true, imports: [DbxFirebaseModelKeyComponent, DbxClickToCopyTextComponent, DbxContentPitDirective, DbxLoadingComponent, JsonPipe], template: "<div class=\"dbx-firebase-model-entities-debug-widget\">\n <!-- Model Key Section -->\n <div class=\"dbx-debug-section\">\n <h4>Model Key Information</h4>\n @if (currentKey(); as key) {\n <dbx-firebase-model-key [modelKey]=\"key\"></dbx-firebase-model-key>\n }\n </div>\n\n <!-- Document Data Section -->\n <div class=\"dbx-debug-section\">\n <h4>Document Data</h4>\n <dbx-loading [context]=\"context\">\n @if (currentData(); as data) {\n <dbx-content-pit [rounded]=\"true\">\n <div class=\"dbx-json\">\n <dbx-click-to-copy-text>{{ data | json }}</dbx-click-to-copy-text>\n </div>\n </dbx-content-pit>\n } @else {\n <p class=\"dbx-empty\">No data available</p>\n }\n </dbx-loading>\n </div>\n</div>\n" }]
|
|
4022
|
+
}] });
|
|
4023
|
+
|
|
3808
4024
|
/**
|
|
3809
4025
|
* Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
|
|
3810
4026
|
*/
|
|
@@ -4414,7 +4630,7 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4414
4630
|
*/
|
|
4415
4631
|
hasRef$ = this.currentDocument$.pipe(map((x) => x?.documentRef != null), distinctUntilChanged(), shareReplay(1));
|
|
4416
4632
|
document$ = this.currentDocument$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
4417
|
-
documentLoadingState$ = this.currentDocument$.pipe(map((x) => (x ? successResult(x) : beginLoading())), shareReplay(1));
|
|
4633
|
+
documentLoadingState$ = this.currentDocument$.pipe(map((x) => (x ? successResult(x) : beginLoading())), tapLog('documentLoadingState$'), shareReplay(1));
|
|
4418
4634
|
currentId$ = this.currentDocument$.pipe(map((x) => x?.id), shareReplay(1));
|
|
4419
4635
|
currentKey$ = this.currentDocument$.pipe(map((x) => x?.key), shareReplay(1));
|
|
4420
4636
|
id$ = this.document$.pipe(map((x) => x.id), shareReplay(1));
|
|
@@ -4426,9 +4642,7 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4426
4642
|
flatKey$ = this.key$.pipe(map((x) => flatFirestoreModelKey(x)), shareReplay(1));
|
|
4427
4643
|
twoWayFlatKey$ = this.key$.pipe(map((x) => twoWayFlatFirestoreModelKey(x)), shareReplay(1));
|
|
4428
4644
|
snapshot$ = combineLatest([this.document$, this.streamMode$]).pipe(switchMap(([x, mode]) => x.snapshotStream(mode)), shareReplay(1));
|
|
4429
|
-
snapshotLoadingState$ = this.currentDocument$.pipe(switchMap(() => loadingStateFromObs(this.snapshot$)), shareReplay(1));
|
|
4430
|
-
currentData$ = this.snapshot$.pipe(map((x) => documentDataWithIdAndKey(x)), shareReplay(1));
|
|
4431
|
-
data$ = this.currentDocument$.pipe(switchMap(() => this.currentData$.pipe(filterMaybe())), shareReplay(1));
|
|
4645
|
+
snapshotLoadingState$ = this.currentDocument$.pipe(switchMap(() => loadingStateFromObs(this.snapshot$).pipe(catchError((error) => of(errorResult(error))))), shareReplay(1));
|
|
4432
4646
|
dataLoadingState$ = this.snapshotLoadingState$.pipe(map((x) => {
|
|
4433
4647
|
let result;
|
|
4434
4648
|
if (x.value) {
|
|
@@ -4448,6 +4662,8 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4448
4662
|
}
|
|
4449
4663
|
return result;
|
|
4450
4664
|
}), shareReplay(1));
|
|
4665
|
+
currentData$ = this.dataLoadingState$.pipe(map((x) => x.value), shareReplay(1));
|
|
4666
|
+
data$ = this.currentDocument$.pipe(switchMap(() => this.currentData$.pipe(filterMaybe())), shareReplay(1));
|
|
4451
4667
|
isLoadingData$ = this.dataLoadingState$.pipe(map(isLoadingStateLoading), distinctUntilChanged(), shareReplay(1));
|
|
4452
4668
|
/**
|
|
4453
4669
|
* Returns false while hasRef$ is false, and then returns exists$.
|
|
@@ -7166,8 +7382,11 @@ function provideDbxFirebaseModelTypesService(config) {
|
|
|
7166
7382
|
* @returns EnvironmentProviders for the DbxFirebase configuration.
|
|
7167
7383
|
*/
|
|
7168
7384
|
function provideDbxFirebase(config) {
|
|
7169
|
-
const { app, emulator, storage, auth, functions, firestores, modelContextService, modelTypesService, development, notifications, provideAnalyticsUserEventsListener, provideStorageFileService } = config;
|
|
7170
|
-
const
|
|
7385
|
+
const { app, emulator, storage, auth, functions, firestores, modelContextService, modelTypesService, development, notifications, provideAnalyticsUserEventsListener, provideStorageFileService, modelEntitiesWidgetService: inputModelEntitiesWidgetService } = config;
|
|
7386
|
+
const modelEntitiesWidgetServiceConfig = inputModelEntitiesWidgetService ?? {
|
|
7387
|
+
dbxFirebaseModelEntitiesWidgetServiceConfigFactory: () => ({ entries: [] })
|
|
7388
|
+
};
|
|
7389
|
+
const providers = [provideDbxFirebaseApp(app), provideDbxFirebaseEmulator(emulator), providedDbxFirebaseStorage(storage), provideDbxFirebaseAuth(auth), provideDbxFirebaseFunctions(functions), provideDbxFirebaseModelContextService(modelContextService), provideDbxFirebaseModelTypesService(modelTypesService), provideDbxFirebaseModelEntitiesWidgetService(modelEntitiesWidgetServiceConfig)];
|
|
7171
7390
|
asArray(firestores).forEach((firestore) => {
|
|
7172
7391
|
providers.push(provideDbxFirestoreCollection(firestore));
|
|
7173
7392
|
});
|
|
@@ -7190,5 +7409,5 @@ function provideDbxFirebase(config) {
|
|
|
7190
7409
|
* Generated bundle index. Do not edit.
|
|
7191
7410
|
*/
|
|
7192
7411
|
|
|
7193
|
-
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 };
|
|
7412
|
+
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseModelEntitiesWidgetDirective, 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_MODEL_ENTITY_WITH_STORE_TOKEN, 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, DbxFirebaseModelEntitiesDebugWidgetComponent, DbxFirebaseModelEntitiesPopoverButtonComponent, DbxFirebaseModelEntitiesPopoverComponent, DbxFirebaseModelEntitiesSource, DbxFirebaseModelEntitiesWidgetService, DbxFirebaseModelEntitiesWidgetServiceConfig, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryModule, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelKeyComponent, 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, dbxFirebaseModelEntityWidgetInjectionConfigFactory, 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, isDbxFirebaseModelEntityWithStore, linkDocumentStoreToParentContextStores, modelDoesNotExistError, provideDbxFirebase, provideDbxFirebaseAnalyticsUserEventsListenerService, provideDbxFirebaseApp, provideDbxFirebaseAuth, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDevelopment, provideDbxFirebaseDocumentStoreContextStore, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideDbxFirebaseEmulator, provideDbxFirebaseFunctions, provideDbxFirebaseLogin, provideDbxFirebaseModelContextService, provideDbxFirebaseModelEntitiesWidgetService, provideDbxFirebaseNotifications, provideDbxFirebaseStorageFileService, provideDbxFirestoreCollection, provideNotificationFirestoreCollections, provideStorageFileFirestoreCollections, provideSystemStateFirestoreCollections, providedDbxFirebaseStorage, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction, storageFileUploadFiles, storageFileUploadHandler };
|
|
7194
7413
|
//# sourceMappingURL=dereekb-dbx-firebase.mjs.map
|