@dereekb/dbx-firebase 12.6.11 → 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 +39 -13
- 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 +269 -48
- 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 +29 -7
- 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) {
|
|
3491
|
-
|
|
3510
|
+
this._commonComponentClass = initialConfig?.commonComponentClass;
|
|
3511
|
+
this._debugComponentClass = initialConfig?.debugComponentClass;
|
|
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,53 +3546,151 @@ 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
|
-
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
|
|
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 });
|
|
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: [{
|
|
3571
|
+
type: Optional
|
|
3572
|
+
}, {
|
|
3530
3573
|
type: Inject,
|
|
3531
3574
|
args: [DbxFirebaseModelEntitiesWidgetServiceConfig]
|
|
3532
3575
|
}] }] });
|
|
3533
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
|
+
|
|
3534
3627
|
class DbxFirebaseModelEntitiesEntityComponent {
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
* The input entity
|
|
3539
|
-
*/
|
|
3628
|
+
widgetInjectionConfigFactory = dbxFirebaseModelEntityWidgetInjectionConfigFactory();
|
|
3629
|
+
entitiesWidgetService = inject(DbxFirebaseModelEntitiesWidgetService);
|
|
3630
|
+
dbxFirebaseModelTypesService = inject(DbxFirebaseModelTypesService);
|
|
3540
3631
|
entity = input.required();
|
|
3541
|
-
modelIdentity = computed(() => this.entity().modelIdentity);
|
|
3542
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));
|
|
3543
3644
|
store$ = this.entity$.pipe(map((x) => x.store), filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
3544
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
|
+
}
|
|
3545
3679
|
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.
|
|
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 });
|
|
3547
3681
|
}
|
|
3548
3682
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesEntityComponent, decorators: [{
|
|
3549
3683
|
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 <
|
|
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" }]
|
|
3551
3685
|
}] });
|
|
3552
3686
|
|
|
3553
3687
|
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
3688
|
/**
|
|
3560
3689
|
* Whether the accordion should allow multiple expanded panels.
|
|
3561
3690
|
*/
|
|
3562
3691
|
multi = input(true);
|
|
3692
|
+
entities = input();
|
|
3693
|
+
entities$ = toObservable(this.entities).pipe(switchMapMaybe(), map((x) => x ?? beginLoading()), shareReplay(1));
|
|
3563
3694
|
entitiesWithKeysState$ = this.entities$.pipe(mapLoadingStateValueWithOperator(switchMap((entities) => {
|
|
3564
3695
|
const entitiesWithStore = (entities ?? []).filter((x) => Boolean(x.store));
|
|
3565
3696
|
const entitiesWithKeys = combineLatest(entitiesWithStore.map((x) => {
|
|
@@ -3576,7 +3707,7 @@ class DbxFirebaseModelEntitiesComponent {
|
|
|
3576
3707
|
this.context.destroy();
|
|
3577
3708
|
}
|
|
3578
3709
|
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: {
|
|
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: `
|
|
3580
3711
|
<dbx-loading [linear]="true" [context]="context">
|
|
3581
3712
|
<mat-accordion [multi]="multi()">
|
|
3582
3713
|
@for (entity of entitiesWithKeysSignal(); track entity.key) {
|
|
@@ -3620,6 +3751,8 @@ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective
|
|
|
3620
3751
|
entities$ = this.popover.data?.entities$;
|
|
3621
3752
|
static openPopover(popupService, { origin, header, icon, emptyText, entities$ }, popoverKey) {
|
|
3622
3753
|
return popupService.open({
|
|
3754
|
+
height: '600px',
|
|
3755
|
+
width: '800px',
|
|
3623
3756
|
key: popoverKey ?? DEFAULT_DBX_FIREBASE_MODEL_ENTITIES_COMPONENT_POPOVER_KEY,
|
|
3624
3757
|
origin,
|
|
3625
3758
|
componentClass: DbxFirebaseModelEntitiesPopoverComponent,
|
|
@@ -3639,30 +3772,24 @@ class DbxFirebaseModelEntitiesPopoverComponent extends AbstractPopoverDirective
|
|
|
3639
3772
|
header = this.config.header ?? 'Entities';
|
|
3640
3773
|
emptyText = this.config.emptyText ?? 'No entities found in current context.';
|
|
3641
3774
|
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: ["
|
|
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 });
|
|
3643
3776
|
}
|
|
3644
3777
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseModelEntitiesPopoverComponent, decorators: [{
|
|
3645
3778
|
type: Component,
|
|
3646
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" }]
|
|
3647
3780
|
}] });
|
|
3648
3781
|
|
|
3649
|
-
/**
|
|
3650
|
-
* Provides a source of entities.
|
|
3651
|
-
*/
|
|
3652
|
-
class DbxFirebaseModelEntitiesSource {
|
|
3653
|
-
}
|
|
3654
|
-
|
|
3655
3782
|
class DbxFirebaseModelEntitiesPopoverButtonComponent extends AbstractPopoverRefDirective {
|
|
3656
3783
|
_dbxPopoverService = inject(DbxPopoverService);
|
|
3657
3784
|
entitiesSource = inject(DbxFirebaseModelEntitiesSource);
|
|
3658
3785
|
buttonElement = viewChild.required('button', { read: ElementRef });
|
|
3659
3786
|
config = input();
|
|
3660
3787
|
_makePopoverRef(origin) {
|
|
3661
|
-
const config = this.config();
|
|
3662
|
-
const entities$ = this.entitiesSource.entities$;
|
|
3663
3788
|
if (!origin) {
|
|
3664
3789
|
throw new Error('Missing origin.');
|
|
3665
3790
|
}
|
|
3791
|
+
const config = this.config();
|
|
3792
|
+
const entities$ = this.entitiesSource.entities$;
|
|
3666
3793
|
return DbxFirebaseModelEntitiesPopoverComponent.openPopover(this._dbxPopoverService, {
|
|
3667
3794
|
origin,
|
|
3668
3795
|
...config,
|
|
@@ -3691,6 +3818,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3691
3818
|
}]
|
|
3692
3819
|
}] });
|
|
3693
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
|
+
|
|
3694
3839
|
class DbxFirebaseDocumentStoreContextStore extends ComponentStore {
|
|
3695
3840
|
constructor() {
|
|
3696
3841
|
super({
|
|
@@ -3803,6 +3948,79 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3803
3948
|
}]
|
|
3804
3949
|
}] });
|
|
3805
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
|
+
|
|
3806
4024
|
/**
|
|
3807
4025
|
* Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
|
|
3808
4026
|
*/
|
|
@@ -4412,7 +4630,7 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4412
4630
|
*/
|
|
4413
4631
|
hasRef$ = this.currentDocument$.pipe(map((x) => x?.documentRef != null), distinctUntilChanged(), shareReplay(1));
|
|
4414
4632
|
document$ = this.currentDocument$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
4415
|
-
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));
|
|
4416
4634
|
currentId$ = this.currentDocument$.pipe(map((x) => x?.id), shareReplay(1));
|
|
4417
4635
|
currentKey$ = this.currentDocument$.pipe(map((x) => x?.key), shareReplay(1));
|
|
4418
4636
|
id$ = this.document$.pipe(map((x) => x.id), shareReplay(1));
|
|
@@ -4424,9 +4642,7 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4424
4642
|
flatKey$ = this.key$.pipe(map((x) => flatFirestoreModelKey(x)), shareReplay(1));
|
|
4425
4643
|
twoWayFlatKey$ = this.key$.pipe(map((x) => twoWayFlatFirestoreModelKey(x)), shareReplay(1));
|
|
4426
4644
|
snapshot$ = combineLatest([this.document$, this.streamMode$]).pipe(switchMap(([x, mode]) => x.snapshotStream(mode)), shareReplay(1));
|
|
4427
|
-
snapshotLoadingState$ = this.currentDocument$.pipe(switchMap(() => loadingStateFromObs(this.snapshot$)), shareReplay(1));
|
|
4428
|
-
currentData$ = this.snapshot$.pipe(map((x) => documentDataWithIdAndKey(x)), shareReplay(1));
|
|
4429
|
-
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));
|
|
4430
4646
|
dataLoadingState$ = this.snapshotLoadingState$.pipe(map((x) => {
|
|
4431
4647
|
let result;
|
|
4432
4648
|
if (x.value) {
|
|
@@ -4446,6 +4662,8 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
4446
4662
|
}
|
|
4447
4663
|
return result;
|
|
4448
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));
|
|
4449
4667
|
isLoadingData$ = this.dataLoadingState$.pipe(map(isLoadingStateLoading), distinctUntilChanged(), shareReplay(1));
|
|
4450
4668
|
/**
|
|
4451
4669
|
* Returns false while hasRef$ is false, and then returns exists$.
|
|
@@ -7164,8 +7382,11 @@ function provideDbxFirebaseModelTypesService(config) {
|
|
|
7164
7382
|
* @returns EnvironmentProviders for the DbxFirebase configuration.
|
|
7165
7383
|
*/
|
|
7166
7384
|
function provideDbxFirebase(config) {
|
|
7167
|
-
const { app, emulator, storage, auth, functions, firestores, modelContextService, modelTypesService, development, notifications, provideAnalyticsUserEventsListener, provideStorageFileService } = config;
|
|
7168
|
-
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)];
|
|
7169
7390
|
asArray(firestores).forEach((firestore) => {
|
|
7170
7391
|
providers.push(provideDbxFirestoreCollection(firestore));
|
|
7171
7392
|
});
|
|
@@ -7188,5 +7409,5 @@ function provideDbxFirebase(config) {
|
|
|
7188
7409
|
* Generated bundle index. Do not edit.
|
|
7189
7410
|
*/
|
|
7190
7411
|
|
|
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 };
|
|
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 };
|
|
7192
7413
|
//# sourceMappingURL=dereekb-dbx-firebase.mjs.map
|