@dereekb/dbx-firebase 11.0.21 → 11.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/analytics/analytics.user.source.mjs +1 -1
- package/esm2022/lib/auth/auth.mjs +1 -1
- package/esm2022/lib/auth/login/login.component.mjs +1 -1
- package/esm2022/lib/auth/login/login.email.content.component.mjs +1 -1
- package/esm2022/lib/auth/login/login.email.form.component.mjs +1 -1
- package/esm2022/lib/auth/login/login.service.mjs +4 -4
- package/esm2022/lib/auth/login/register.component.mjs +1 -1
- package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +3 -3
- package/esm2022/lib/auth/service/firebase.auth.service.mjs +1 -1
- package/esm2022/lib/development/development.popup.content.component.mjs +1 -1
- package/esm2022/lib/development/development.popup.content.form.component.mjs +1 -1
- package/esm2022/lib/development/development.widget.mjs +1 -1
- package/esm2022/lib/development/development.widget.service.mjs +1 -1
- package/esm2022/lib/firebase/firebase.emulator.module.mjs +1 -1
- package/esm2022/lib/firebase/firebase.emulator.service.mjs +1 -1
- package/esm2022/lib/firestore/firebase.firestore.module.mjs +16 -3
- package/esm2022/lib/index.mjs +2 -1
- package/esm2022/lib/model/loader/document.loader.instance.mjs +1 -1
- package/esm2022/lib/model/modules/model/model.history.component.mjs +1 -1
- package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +3 -3
- package/esm2022/lib/model/modules/model/model.tracker.service.mjs +4 -4
- package/esm2022/lib/model/modules/model/model.types.list.component.mjs +1 -1
- package/esm2022/lib/model/modules/model/model.types.service.mjs +7 -4
- package/esm2022/lib/model/modules/store/index.mjs +4 -1
- package/esm2022/lib/model/modules/store/model.store.module.mjs +5 -3
- package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.document.directive.mjs +20 -5
- package/esm2022/lib/model/modules/store/store.document.mjs +17 -4
- package/esm2022/lib/model/modules/store/store.document.router.directive.mjs +15 -28
- package/esm2022/lib/model/modules/store/store.document.router.key.directive.mjs +15 -23
- package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +24 -0
- package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +21 -0
- package/esm2022/lib/model/modules/store/store.document.twoway.key.source.mjs +16 -0
- package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.subcollection.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +1 -1
- package/esm2022/lib/model/service/model.context.mjs +1 -1
- package/esm2022/lib/modules/index.mjs +2 -0
- package/esm2022/lib/modules/notification/component/index.mjs +5 -0
- package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +21 -0
- package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +81 -0
- package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +44 -0
- package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +25 -0
- package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +14 -0
- package/esm2022/lib/modules/notification/container/index.mjs +3 -0
- package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +52 -0
- package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +47 -0
- package/esm2022/lib/modules/notification/index.mjs +5 -0
- package/esm2022/lib/modules/notification/notification.module.mjs +102 -0
- package/esm2022/lib/modules/notification/service/index.mjs +4 -0
- package/esm2022/lib/modules/notification/service/notification.template.service.mjs +28 -0
- package/esm2022/lib/modules/notification/service/notificationitem.widget.mjs +11 -0
- package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +58 -0
- package/esm2022/lib/modules/notification/store/index.mjs +10 -0
- package/esm2022/lib/modules/notification/store/notification.item.store.mjs +30 -0
- package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +20 -0
- package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +16 -0
- package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +20 -0
- package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +22 -0
- package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +20 -0
- package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +16 -0
- package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +20 -0
- package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +34 -0
- package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +20 -0
- package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +16 -0
- package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +20 -0
- package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +18 -0
- package/esm2022/lib/pipe/key.pipe.mjs +1 -1
- package/fesm2022/dereekb-dbx-firebase.mjs +839 -135
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/analytics/analytics.user.source.d.ts +1 -1
- package/lib/auth/auth.d.ts +1 -1
- package/lib/auth/login/login.component.d.ts +1 -1
- package/lib/auth/login/login.email.content.component.d.ts +1 -1
- package/lib/auth/login/login.email.form.component.d.ts +1 -1
- package/lib/auth/login/register.component.d.ts +1 -1
- package/lib/auth/service/firebase.auth.service.d.ts +1 -1
- package/lib/development/development.popup.content.component.d.ts +2 -2
- package/lib/development/development.popup.content.form.component.d.ts +1 -1
- package/lib/development/development.widget.d.ts +2 -2
- package/lib/development/development.widget.service.d.ts +1 -1
- package/lib/firebase/firebase.emulator.service.d.ts +1 -1
- package/lib/firestore/firebase.firestore.module.d.ts +11 -4
- package/lib/index.d.ts +1 -0
- package/lib/model/loader/document.loader.instance.d.ts +1 -1
- package/lib/model/modules/model/model.history.component.d.ts +2 -2
- package/lib/model/modules/model/model.history.popover.component.d.ts +2 -2
- package/lib/model/modules/model/model.types.list.component.d.ts +2 -2
- package/lib/model/modules/model/model.types.service.d.ts +2 -1
- package/lib/model/modules/store/index.d.ts +3 -0
- package/lib/model/modules/store/model.store.module.d.ts +3 -1
- package/lib/model/modules/store/store.collection.change.directive.d.ts +1 -1
- package/lib/model/modules/store/store.collection.change.if.directive.d.ts +1 -1
- package/lib/model/modules/store/store.document.directive.d.ts +23 -16
- package/lib/model/modules/store/store.document.router.directive.d.ts +7 -15
- package/lib/model/modules/store/store.document.router.key.directive.d.ts +8 -14
- package/lib/model/modules/store/store.document.twoway.key.directive.d.ts +15 -0
- package/lib/model/modules/store/store.document.twoway.key.source.d.ts +10 -0
- package/lib/model/modules/store/store.document.twoway.key.source.directive.d.ts +13 -0
- package/lib/model/modules/store/store.subcollection.d.ts +1 -1
- package/lib/model/modules/store/store.subcollection.directive.d.ts +1 -1
- package/lib/model/modules/store/store.subcollection.document.d.ts +1 -1
- package/lib/model/modules/store/store.subcollection.rxjs.d.ts +1 -1
- package/lib/model/service/model.context.d.ts +3 -3
- package/lib/modules/index.d.ts +1 -0
- package/lib/modules/notification/component/index.d.ts +4 -0
- package/lib/modules/notification/component/notificationitem.content.component.d.ts +9 -0
- package/lib/modules/notification/component/notificationitem.content.scss +5 -0
- package/lib/modules/notification/component/notificationitem.list.component.d.ts +24 -0
- package/lib/modules/notification/component/notificationitem.view.component.d.ts +15 -0
- package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +9 -0
- package/lib/modules/notification/component/notificationitem.view.directive.d.ts +8 -0
- package/lib/modules/notification/container/index.d.ts +2 -0
- package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +17 -0
- package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +50 -0
- package/lib/modules/notification/index.d.ts +4 -0
- package/lib/modules/notification/notification.module.d.ts +30 -0
- package/lib/modules/notification/service/index.d.ts +3 -0
- package/lib/modules/notification/service/notification.template.service.d.ts +11 -0
- package/lib/modules/notification/service/notificationitem.widget.d.ts +26 -0
- package/lib/modules/notification/service/notificationitem.widget.service.d.ts +22 -0
- package/lib/modules/notification/store/index.d.ts +9 -0
- package/lib/modules/notification/store/notification.item.store.d.ts +28 -0
- package/lib/modules/notification/store/notificationbox.collection.store.d.ts +8 -0
- package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +9 -0
- package/lib/modules/notification/store/notificationbox.document.store.d.ts +13 -0
- package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +9 -0
- package/lib/modules/notification/store/notificationsummary.collection.store.d.ts +8 -0
- package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +9 -0
- package/lib/modules/notification/store/notificationsummary.document.store.d.ts +21 -0
- package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +9 -0
- package/lib/modules/notification/store/notificationuser.collection.store.d.ts +8 -0
- package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +9 -0
- package/lib/modules/notification/store/notificationuser.document.store.d.ts +11 -0
- package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +9 -0
- package/lib/pipe/key.pipe.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable, InjectionToken, Component, Optional, Inject, Input, Directive, EventEmitter, Output, NgModule, Injector, ViewChild, HostListener, ElementRef, ChangeDetectionStrategy, forwardRef, NgZone, Pipe } from '@angular/core';
|
|
3
3
|
import { DbxAnalyticsService } from '@dereekb/dbx-analytics';
|
|
4
|
-
import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, cleanupDestroyable, pageItemAccumulatorCurrentPage, accumulatorFlattenPageListLoadingState, useFirst, itemAccumulatorNextPageUntilResultsCount, iteratorNextPageUntilPage, iteratorNextPageUntilMaxPageLoadLimit, pageLoadingStateFromObs, useAsObservable, mapEachAsync, invertObservableDecision, filterItemsWithObservableDecision, distinctUntilModelKeyChange, successResult, beginLoading, errorResult, isLoadingStateLoading, cleanup, mapLoadingState } from '@dereekb/rxjs';
|
|
4
|
+
import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, cleanupDestroyable, pageItemAccumulatorCurrentPage, accumulatorFlattenPageListLoadingState, useFirst, itemAccumulatorNextPageUntilResultsCount, iteratorNextPageUntilPage, iteratorNextPageUntilMaxPageLoadLimit, pageLoadingStateFromObs, useAsObservable, filterMaybeArray, mapEachAsync, invertObservableDecision, filterItemsWithObservableDecision, distinctUntilModelKeyChange, successResult, beginLoading, errorResult, isLoadingStateLoading, cleanup, mapLoadingState, mapLoadingStateValueWithOperator } 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, combineLatestWith } from 'rxjs';
|
|
6
6
|
import * as i3 from '@dereekb/dbx-core';
|
|
7
|
-
import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective,
|
|
7
|
+
import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, provideDbxRouteModelIdDirectiveDelegate, provideDbxRouteModelKeyDirectiveDelegate, AbstractSubscriptionDirective, AbstractIfDirective, DbxRouteModelIdDirective, DbxRouteModelKeyDirective, LockSetComponentStore, newWithInjector, DbxValuePipeModule, dbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance } from '@dereekb/dbx-core';
|
|
8
8
|
import * as i3$1 from '@angular/fire/auth';
|
|
9
9
|
import { Auth, authState, idToken, GoogleAuthProvider, FacebookAuthProvider, TwitterAuthProvider, GithubAuthProvider, signInWithPopup, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, reauthenticateWithPopup, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
|
|
10
|
-
import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet,
|
|
11
|
-
import { safeFormatToISO8601DateString, msToSeconds } from '@dereekb/date';
|
|
10
|
+
import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet, filterMaybeArrayValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, runAsyncTasksForValues, forEachKeyValue, countAllInNestedArray, invertDecision, readableError, isMaybeSo, firstValue } from '@dereekb/util';
|
|
11
|
+
import { safeFormatToISO8601DateString, msToSeconds, isSameDate } from '@dereekb/date';
|
|
12
12
|
import { sendPasswordResetEmail } from 'firebase/auth';
|
|
13
13
|
import { getToken, initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
|
|
14
14
|
import * as i2$2 from '@angular/fire/app-check';
|
|
@@ -20,9 +20,9 @@ import { MatIconModule } from '@angular/material/icon';
|
|
|
20
20
|
import * as i1$1 from '@angular/common';
|
|
21
21
|
import { CommonModule } from '@angular/common';
|
|
22
22
|
import * as i1 from '@dereekb/dbx-web';
|
|
23
|
-
import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxWidgetService, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, AbstractDbxValueListViewItemComponent, TwoColumnsContextStore, AbstractPopupDirective, DbxPopupService, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, DbxPopupInteractionModule, DbxListLayoutModule, DbxModelTypesService, DbxModelTrackerService, allDbxModelViewTrackerEventModelKeys, AbstractPopoverDirective, AbstractPopoverRefDirective, DbxPopoverService, DbxModelObjectStateService, DbxModelInfoModule, DbxRouterListModule, DbxPopoverInteractionModule, DbxListViewWrapper } from '@dereekb/dbx-web';
|
|
23
|
+
import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, DbxWidgetService, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, AbstractDbxValueListViewItemComponent, TwoColumnsContextStore, AbstractPopupDirective, DbxPopupService, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, DbxPopupInteractionModule, DbxListLayoutModule, DbxModelTypesService, DbxModelTrackerService, allDbxModelViewTrackerEventModelKeys, AbstractPopoverDirective, AbstractPopoverRefDirective, DbxPopoverService, DbxModelObjectStateService, DbxModelInfoModule, DbxRouterListModule, DbxPopoverInteractionModule, DbxListViewWrapper, AbstractDbxWidgetComponent, DbxSectionLayoutModule } from '@dereekb/dbx-web';
|
|
24
24
|
import * as i1$3 from '@dereekb/firebase';
|
|
25
|
-
import { firebaseAuthErrorToReadableError, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelKeyCollectionTypePair, buildFirebaseCollectionTypeModelTypeMap, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, flatFirestoreModelKey, twoWayFlatFirestoreModelKey, documentDataWithIdAndKey, inferKeyFromTwoWayFlatFirestoreModelKey, firestoreModelKeyParentKey, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
|
|
25
|
+
import { firebaseAuthErrorToReadableError, FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, NotificationFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, firestoreModelKeyCollectionTypePair, buildFirebaseCollectionTypeModelTypeMap, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, flatFirestoreModelKey, twoWayFlatFirestoreModelKey, documentDataWithIdAndKey, isClientFirebaseError, FIRESTORE_PERMISSION_DENIED_ERROR_CODE, inferKeyFromTwoWayFlatFirestoreModelKey, firestoreModelKeyParentKey, AppNotificationTemplateTypeInfoRecordService, NotificationFunctions, unreadNotificationItems, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
|
|
26
26
|
import * as i4 from '@dereekb/dbx-form';
|
|
27
27
|
import { AbstractAsyncFormlyFormDirective, usernamePasswordLoginFields, provideFormlyContext, AbstractSyncFormlyFormDirective, emailField, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, AbstractConfigAsyncFormlyFormDirective, pickableItemChipField, filterPickableItemFieldValuesByLabel } from '@dereekb/dbx-form';
|
|
28
28
|
import { initializeApp } from 'firebase/app';
|
|
@@ -37,6 +37,7 @@ import { provideFirestore, persistentMultipleTabManager, persistentSingleTabMana
|
|
|
37
37
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
38
38
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
39
39
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
40
|
+
import { ComponentStore } from '@ngrx/component-store';
|
|
40
41
|
|
|
41
42
|
function authUserInfoFromAuthUser(user) {
|
|
42
43
|
return {
|
|
@@ -572,13 +573,13 @@ class DbxFirebaseAuthLoginService {
|
|
|
572
573
|
return this._providers.get(type);
|
|
573
574
|
}
|
|
574
575
|
getLoginProviders(types) {
|
|
575
|
-
return
|
|
576
|
+
return filterMaybeArrayValues(mapIterable(types ?? [], (x) => this._providers.get(x)));
|
|
576
577
|
}
|
|
577
578
|
getRegisterProvider(type) {
|
|
578
579
|
return this._providers.get(type);
|
|
579
580
|
}
|
|
580
581
|
getRegisterProviders(types) {
|
|
581
|
-
return
|
|
582
|
+
return filterMaybeArrayValues(mapIterable(types ?? [], (x) => this._providers.get(x))).filter((x) => x.registrationComponentClass !== false);
|
|
582
583
|
}
|
|
583
584
|
getProviderAssets(type) {
|
|
584
585
|
return this._assets.get(type);
|
|
@@ -1479,7 +1480,7 @@ function authRolesObsWithClaimsService(config) {
|
|
|
1479
1480
|
};
|
|
1480
1481
|
}
|
|
1481
1482
|
function defaultDbxFirebaseAuthServiceDelegateWithClaimsService(config) {
|
|
1482
|
-
if (
|
|
1483
|
+
if (filterMaybeArrayValues([config.stateForLoggedInUser, config.stateForLoggedInUserToken, config.authUserStateObs]).length > 1) {
|
|
1483
1484
|
throw new Error('Cannot specify a combination of "stateForLoggedInUserToken", "stateForLoggedInUser" and "authUserStateObs". Must specify one at max.');
|
|
1484
1485
|
}
|
|
1485
1486
|
const authUserStateObs = config.authUserStateObs ?? authUserStateFromFirebaseAuthServiceFunction(config.stateForLoggedInUserToken ? stateFromTokenForLoggedInUserFunction(config.stateForLoggedInUserToken) : config.stateForLoggedInUser);
|
|
@@ -2430,7 +2431,13 @@ const DBX_FIRESTORE_CONTEXT_TOKEN = new InjectionToken('DBX_FIRESTORE_CONTEXT_TO
|
|
|
2430
2431
|
|
|
2431
2432
|
function provideSystemStateFirestoreCollections(appCollection) {
|
|
2432
2433
|
if (!appCollection.systemStateCollection) {
|
|
2433
|
-
throw new Error(`SystemStateFirestoreCollections could not be provided using the app's app collection. Set provideSystemStateFirestoreCollections to false in DbxFirebaseFirestoreCollectionModuleConfig to prevent auto-initialization, or update your
|
|
2434
|
+
throw new Error(`SystemStateFirestoreCollections could not be provided using the app's app collection. Set provideSystemStateFirestoreCollections to false in DbxFirebaseFirestoreCollectionModuleConfig to prevent auto-initialization, or update your app's collection class to implement SystemStateFirestoreCollections.`);
|
|
2435
|
+
}
|
|
2436
|
+
return appCollection;
|
|
2437
|
+
}
|
|
2438
|
+
function provideNotificationFirestoreCollections(appCollection) {
|
|
2439
|
+
if (!appCollection.notificationSummaryCollection) {
|
|
2440
|
+
throw new Error(`NotificationFirestoreCollections could not be provided using the app's app collection. Set provideNotificationFirestoreCollections to false in DbxFirebaseFirestoreCollectionModuleConfig to prevent auto-initialization, or update your app's collection class to implement NotificationFirestoreCollections.`);
|
|
2434
2441
|
}
|
|
2435
2442
|
return appCollection;
|
|
2436
2443
|
}
|
|
@@ -2461,6 +2468,13 @@ class DbxFirebaseFirestoreCollectionModule {
|
|
|
2461
2468
|
deps: [config.appCollectionClass]
|
|
2462
2469
|
});
|
|
2463
2470
|
}
|
|
2471
|
+
if (config.provideNotificationFirestoreCollections) {
|
|
2472
|
+
providers.push({
|
|
2473
|
+
provide: NotificationFirestoreCollections,
|
|
2474
|
+
useFactory: provideNotificationFirestoreCollections,
|
|
2475
|
+
deps: [config.appCollectionClass]
|
|
2476
|
+
});
|
|
2477
|
+
}
|
|
2464
2478
|
return {
|
|
2465
2479
|
ngModule: DbxFirebaseFirestoreCollectionModule,
|
|
2466
2480
|
providers
|
|
@@ -3036,8 +3050,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3036
3050
|
}] }]; } });
|
|
3037
3051
|
function dbxFirebaseModelTypesServiceInstancePairForKeysFactory(service) {
|
|
3038
3052
|
return (keys) => {
|
|
3039
|
-
const instances = asArray(keys).map((x) => service.instanceForKey(x).
|
|
3040
|
-
return instances.length ? combineLatest(instances) : of([]);
|
|
3053
|
+
const instances = asArray(keys).map((x) => service.instanceForKey(x).safeInstancePair$);
|
|
3054
|
+
return instances.length ? combineLatest(instances).pipe(filterMaybeArray(), shareReplay(1)) : of([]);
|
|
3041
3055
|
};
|
|
3042
3056
|
}
|
|
3043
3057
|
function dbxFirebaseModelTypesServiceInstance(modelInfoInstance$, dbxFirebaseModelTypesService) {
|
|
@@ -3060,6 +3074,7 @@ function dbxFirebaseModelTypesServiceInstance(modelInfoInstance$, dbxFirebaseMod
|
|
|
3060
3074
|
return ref;
|
|
3061
3075
|
}), shareReplay(1));
|
|
3062
3076
|
const instancePair$ = combineLatest([clickableSegueRef$, displayInfo$, key$]).pipe(map(([segueRef, displayInfo, key]) => ({ segueRef, displayInfo, key, instance })), shareReplay(1));
|
|
3077
|
+
const safeInstancePair$ = instancePair$.pipe(catchError(() => of(undefined)));
|
|
3063
3078
|
const instance = {
|
|
3064
3079
|
modelInfoInstance$,
|
|
3065
3080
|
dbxFirebaseModelTypesService,
|
|
@@ -3071,6 +3086,7 @@ function dbxFirebaseModelTypesServiceInstance(modelInfoInstance$, dbxFirebaseMod
|
|
|
3071
3086
|
segueRef$,
|
|
3072
3087
|
displayInfo$,
|
|
3073
3088
|
clickableSegueRef$,
|
|
3089
|
+
safeInstancePair$,
|
|
3074
3090
|
instancePair$
|
|
3075
3091
|
};
|
|
3076
3092
|
return instance;
|
|
@@ -3082,7 +3098,7 @@ class DbxFirebaseModelTrackerService {
|
|
|
3082
3098
|
historyKeys$ = this.dbxModelTrackerService.newEvent$.pipe(startWith(null), switchMap(() => this.loadHistoryKeys()), shareReplay(1));
|
|
3083
3099
|
historyPairs$ = this.dbxModelTrackerService.newEvent$.pipe(startWith(null), switchMap(() => this.loadHistoryPairs()), // TODO: Improve efficiency of this to only load/remove items for new keys
|
|
3084
3100
|
shareReplay(1));
|
|
3085
|
-
filterItemHistoryPairs$ = this.historyPairs$.pipe(mapEachAsync((instancePair) => instancePair.instance.identity$.pipe(map((identity) => ({ instancePair, identity }))), { onlyFirst: true }), shareReplay(1));
|
|
3101
|
+
filterItemHistoryPairs$ = this.historyPairs$.pipe(mapEachAsync((instancePair) => instancePair.instance.identity$.pipe(map((identity) => ({ instancePair, identity })), catchError(() => of(undefined))), { onlyFirst: true }), filterMaybeArray(), shareReplay(1));
|
|
3086
3102
|
/**
|
|
3087
3103
|
* Filters from historyPairs$ using the input filter configuration, if it is provided.
|
|
3088
3104
|
*
|
|
@@ -3221,11 +3237,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3221
3237
|
type: Input
|
|
3222
3238
|
}] } });
|
|
3223
3239
|
|
|
3224
|
-
const
|
|
3240
|
+
const DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY = 'history';
|
|
3225
3241
|
class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective {
|
|
3226
3242
|
static openPopover(popupService, { origin, header, icon, emptyText, historyFilter, anchorForItem }, popoverKey) {
|
|
3227
3243
|
return popupService.open({
|
|
3228
|
-
key: popoverKey ??
|
|
3244
|
+
key: popoverKey ?? DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY,
|
|
3229
3245
|
origin,
|
|
3230
3246
|
componentClass: DbxFirebaseModelHistoryPopoverComponent,
|
|
3231
3247
|
data: {
|
|
@@ -3313,6 +3329,7 @@ class DbxFirebaseDocumentStoreDirective {
|
|
|
3313
3329
|
documentLoadingState$ = this.store$.pipe(switchMap((x) => x.documentLoadingState$));
|
|
3314
3330
|
id$ = this.store$.pipe(switchMap((x) => x.id$));
|
|
3315
3331
|
key$ = this.store$.pipe(switchMap((x) => x.key$));
|
|
3332
|
+
twoWayFlatKey$ = this.store$.pipe(switchMap((x) => x.twoWayFlatKey$));
|
|
3316
3333
|
ref$ = this.store$.pipe(switchMap((x) => x.ref$));
|
|
3317
3334
|
snapshot$ = this.store$.pipe(switchMap((x) => x.snapshot$));
|
|
3318
3335
|
snapshotLoadingState$ = this.store$.pipe(switchMap((x) => x.snapshotLoadingState$));
|
|
@@ -3334,6 +3351,12 @@ class DbxFirebaseDocumentStoreDirective {
|
|
|
3334
3351
|
replaceStore(store) {
|
|
3335
3352
|
this._store.next(store);
|
|
3336
3353
|
}
|
|
3354
|
+
useRouteModelIdParamsObservable(idFromParams) {
|
|
3355
|
+
return this.store$.pipe(first()).subscribe((x) => x.setId(idFromParams));
|
|
3356
|
+
}
|
|
3357
|
+
useRouteModelKeyParamsObservable(keyFromParams) {
|
|
3358
|
+
return this.store$.pipe(first()).subscribe((x) => x.setKey(keyFromParams));
|
|
3359
|
+
}
|
|
3337
3360
|
// MARK: Inputs
|
|
3338
3361
|
set documentId(documentId) {
|
|
3339
3362
|
useFirst(this.store$, (x) => x.setId(documentId));
|
|
@@ -3341,6 +3364,9 @@ class DbxFirebaseDocumentStoreDirective {
|
|
|
3341
3364
|
set key(key) {
|
|
3342
3365
|
useFirst(this.store$, (x) => x.setKey(key));
|
|
3343
3366
|
}
|
|
3367
|
+
set flatKey(flatKey) {
|
|
3368
|
+
useFirst(this.store$, (x) => x.setFlatKey(flatKey));
|
|
3369
|
+
}
|
|
3344
3370
|
set ref(ref) {
|
|
3345
3371
|
useFirst(this.store$, (x) => x.setRef(ref));
|
|
3346
3372
|
}
|
|
@@ -3348,7 +3374,7 @@ class DbxFirebaseDocumentStoreDirective {
|
|
|
3348
3374
|
useFirst(this.store$, (x) => x.setStreamMode(streamMode));
|
|
3349
3375
|
}
|
|
3350
3376
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
3351
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreDirective, inputs: { documentId: "documentId", key: "key", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
|
|
3377
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreDirective, inputs: { documentId: "documentId", key: "key", flatKey: "flatKey", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
|
|
3352
3378
|
}
|
|
3353
3379
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, decorators: [{
|
|
3354
3380
|
type: Directive
|
|
@@ -3356,6 +3382,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3356
3382
|
type: Input
|
|
3357
3383
|
}], key: [{
|
|
3358
3384
|
type: Input
|
|
3385
|
+
}], flatKey: [{
|
|
3386
|
+
type: Input
|
|
3359
3387
|
}], ref: [{
|
|
3360
3388
|
type: Input
|
|
3361
3389
|
}], streamMode: [{
|
|
@@ -3366,9 +3394,11 @@ function provideDbxFirebaseDocumentStoreDirective(sourceType, storeType) {
|
|
|
3366
3394
|
{
|
|
3367
3395
|
provide: DbxFirebaseDocumentStoreDirective,
|
|
3368
3396
|
useExisting: forwardRef(() => sourceType)
|
|
3369
|
-
}
|
|
3397
|
+
},
|
|
3398
|
+
...provideDbxRouteModelIdDirectiveDelegate(sourceType),
|
|
3399
|
+
...provideDbxRouteModelKeyDirectiveDelegate(sourceType)
|
|
3370
3400
|
];
|
|
3371
|
-
if (storeType) {
|
|
3401
|
+
if (storeType != null) {
|
|
3372
3402
|
providers.push(storeType);
|
|
3373
3403
|
}
|
|
3374
3404
|
return providers;
|
|
@@ -3413,7 +3443,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3413
3443
|
args: ['dbxFirebaseModelViewedEvent']
|
|
3414
3444
|
}] } });
|
|
3415
3445
|
|
|
3416
|
-
const declarations$
|
|
3446
|
+
const declarations$4 = [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent];
|
|
3417
3447
|
class DbxFirebaseModelTypesModule {
|
|
3418
3448
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3419
3449
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, declarations: [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent], imports: [CommonModule, DbxModelInfoModule, DbxListLayoutModule], exports: [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent] });
|
|
@@ -3423,12 +3453,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3423
3453
|
type: NgModule,
|
|
3424
3454
|
args: [{
|
|
3425
3455
|
imports: [CommonModule, DbxModelInfoModule, DbxListLayoutModule],
|
|
3426
|
-
declarations: declarations$
|
|
3427
|
-
exports: declarations$
|
|
3456
|
+
declarations: declarations$4,
|
|
3457
|
+
exports: declarations$4
|
|
3428
3458
|
}]
|
|
3429
3459
|
}] });
|
|
3430
3460
|
|
|
3431
|
-
const declarations$
|
|
3461
|
+
const declarations$3 = [DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent];
|
|
3432
3462
|
class DbxFirebaseModelHistoryModule {
|
|
3433
3463
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3434
3464
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelHistoryModule, declarations: [DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent], imports: [CommonModule, DbxButtonModule, DbxRouterListModule, DbxPopoverInteractionModule, DbxModelInfoModule, DbxListLayoutModule, DbxFirebaseModelTypesModule], exports: [DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent] });
|
|
@@ -3438,8 +3468,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3438
3468
|
type: NgModule,
|
|
3439
3469
|
args: [{
|
|
3440
3470
|
imports: [CommonModule, DbxButtonModule, DbxRouterListModule, DbxPopoverInteractionModule, DbxModelInfoModule, DbxListLayoutModule, DbxFirebaseModelTypesModule],
|
|
3441
|
-
declarations: declarations$
|
|
3442
|
-
exports: declarations$
|
|
3471
|
+
declarations: declarations$3,
|
|
3472
|
+
exports: declarations$3
|
|
3443
3473
|
}]
|
|
3444
3474
|
}] });
|
|
3445
3475
|
|
|
@@ -3661,113 +3691,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3661
3691
|
}]
|
|
3662
3692
|
}] });
|
|
3663
3693
|
|
|
3664
|
-
const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY = 'id';
|
|
3665
|
-
const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY = 'key';
|
|
3666
|
-
const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE = '0';
|
|
3667
|
-
function dbxFirebaseKeyRouteParamRedirect(dbxRouterService, defaultParamKey = DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY) {
|
|
3668
|
-
return dbxFirebaseIdRouteParamRedirect(dbxRouterService, defaultParamKey);
|
|
3669
|
-
}
|
|
3670
|
-
function dbxFirebaseIdRouteParamRedirect(dbxRouterService, defaultParamKey = DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY) {
|
|
3671
|
-
const _paramReader = dbxRouteParamReaderInstance(dbxRouterService, defaultParamKey);
|
|
3672
|
-
const _paramRedirect = new DbxRouteParamDefaultRedirectInstance(_paramReader);
|
|
3673
|
-
const _useDefaultParamDecider = new BehaviorSubject(DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE);
|
|
3674
|
-
const _useDefaultParam$ = _useDefaultParamDecider.pipe(map((x) => {
|
|
3675
|
-
let result;
|
|
3676
|
-
if (typeof x === 'string') {
|
|
3677
|
-
result = (value) => of(value === x);
|
|
3678
|
-
}
|
|
3679
|
-
else {
|
|
3680
|
-
result = x;
|
|
3681
|
-
}
|
|
3682
|
-
return result;
|
|
3683
|
-
}), shareReplay(1));
|
|
3684
|
-
const setParamKey = (paramKey) => {
|
|
3685
|
-
_paramReader.setParamKey(paramKey || defaultParamKey);
|
|
3686
|
-
};
|
|
3687
|
-
const paramValue$ = _paramReader.paramValue$;
|
|
3688
|
-
const value$ = _paramReader.value$;
|
|
3689
|
-
const result = {
|
|
3690
|
-
paramValue$,
|
|
3691
|
-
defaultValue$: _paramReader.defaultValue$,
|
|
3692
|
-
value$,
|
|
3693
|
-
idFromParams$: paramValue$,
|
|
3694
|
-
id$: value$,
|
|
3695
|
-
init() {
|
|
3696
|
-
_paramRedirect.setUseDefaultFilter((value) => {
|
|
3697
|
-
return _useDefaultParam$.pipe(switchMap((x) => x(value)));
|
|
3698
|
-
});
|
|
3699
|
-
_paramRedirect.init();
|
|
3700
|
-
},
|
|
3701
|
-
destroy() {
|
|
3702
|
-
_paramReader.destroy();
|
|
3703
|
-
_paramRedirect.destroy();
|
|
3704
|
-
_useDefaultParamDecider.complete();
|
|
3705
|
-
},
|
|
3706
|
-
getParamKey() {
|
|
3707
|
-
return _paramReader.getParamKey();
|
|
3708
|
-
},
|
|
3709
|
-
setParamKey,
|
|
3710
|
-
setDefaultValue(defaultValue) {
|
|
3711
|
-
_paramReader.setDefaultValue(defaultValue);
|
|
3712
|
-
},
|
|
3713
|
-
setRedirectEnabled(redirect) {
|
|
3714
|
-
_paramRedirect.enabled = redirect !== false;
|
|
3715
|
-
},
|
|
3716
|
-
setDecider(decider) {
|
|
3717
|
-
_useDefaultParamDecider.next(decider);
|
|
3718
|
-
},
|
|
3719
|
-
setParamValue(value) {
|
|
3720
|
-
_paramReader.setParamValue(value);
|
|
3721
|
-
}
|
|
3722
|
-
};
|
|
3723
|
-
return result;
|
|
3724
|
-
}
|
|
3725
|
-
|
|
3726
3694
|
/**
|
|
3727
3695
|
* Used for synchronizing the document store id to the param of the route.
|
|
3696
|
+
*
|
|
3697
|
+
* @deprecated use DbxRouteModelIdDirective instead.
|
|
3728
3698
|
*/
|
|
3729
|
-
class DbxFirebaseDocumentStoreRouteIdDirective extends
|
|
3730
|
-
dbxFirebaseDocumentStoreDirective = inject((DbxFirebaseDocumentStoreDirective), { host: true });
|
|
3731
|
-
dbxRouterService = inject(DbxRouterService);
|
|
3732
|
-
_redirectInstance = dbxFirebaseIdRouteParamRedirect(this.dbxRouterService);
|
|
3733
|
-
idFromParams$ = this._redirectInstance.paramValue$;
|
|
3734
|
-
id$ = this._redirectInstance.value$;
|
|
3735
|
-
ngOnInit() {
|
|
3736
|
-
this.sub = this.dbxFirebaseDocumentStoreDirective.store.setId(this.idFromParams$); // use from the params, as the params should get updated eventually to the id$ value
|
|
3737
|
-
this._redirectInstance.init();
|
|
3738
|
-
}
|
|
3739
|
-
ngOnDestroy() {
|
|
3740
|
-
super.ngOnDestroy();
|
|
3741
|
-
this._redirectInstance.destroy();
|
|
3742
|
-
}
|
|
3699
|
+
class DbxFirebaseDocumentStoreRouteIdDirective extends DbxRouteModelIdDirective {
|
|
3743
3700
|
// MARK: Input
|
|
3744
|
-
get
|
|
3745
|
-
return this.
|
|
3701
|
+
get dbxFirebaseDocumentStoreRouteId() {
|
|
3702
|
+
return this.idParam;
|
|
3746
3703
|
}
|
|
3747
|
-
set
|
|
3748
|
-
this.
|
|
3704
|
+
set dbxFirebaseDocumentStoreRouteId(idParam) {
|
|
3705
|
+
this.idParam = idParam;
|
|
3749
3706
|
}
|
|
3750
3707
|
set dbxFirebaseDocumentStoreRouteIdDefault(defaultValue) {
|
|
3751
|
-
this.
|
|
3708
|
+
this.dbxRouteModelIdDefault = defaultValue;
|
|
3752
3709
|
}
|
|
3753
3710
|
/**
|
|
3754
3711
|
* Whether or not to enable the redirection. Is enabled by default.
|
|
3755
3712
|
*/
|
|
3756
3713
|
set dbxFirebaseDocumentStoreRouteIdDefaultRedirect(redirect) {
|
|
3757
|
-
this.
|
|
3714
|
+
this.dbxRouteModelIdDefaultRedirect = redirect;
|
|
3758
3715
|
}
|
|
3759
3716
|
set dbxFirebaseDocumentStoreRouteIdDefaultDecision(decider) {
|
|
3760
|
-
this.
|
|
3717
|
+
this.dbxRouteModelIdDefaultDecision = decider;
|
|
3761
3718
|
}
|
|
3762
3719
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3763
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: {
|
|
3720
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { dbxFirebaseDocumentStoreRouteId: "dbxFirebaseDocumentStoreRouteId", dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
|
|
3764
3721
|
}
|
|
3765
3722
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
|
|
3766
3723
|
type: Directive,
|
|
3767
3724
|
args: [{
|
|
3768
3725
|
selector: '[dbxFirebaseDocumentStoreRouteId]'
|
|
3769
3726
|
}]
|
|
3770
|
-
}], propDecorators: {
|
|
3727
|
+
}], propDecorators: { dbxFirebaseDocumentStoreRouteId: [{
|
|
3771
3728
|
type: Input,
|
|
3772
3729
|
args: ['dbxFirebaseDocumentStoreRouteId']
|
|
3773
3730
|
}], dbxFirebaseDocumentStoreRouteIdDefault: [{
|
|
@@ -3780,49 +3737,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3780
3737
|
|
|
3781
3738
|
/**
|
|
3782
3739
|
* Used for synchronizing the document store key to the param of the route. The param is interpreted as a TwoWayFlatFirestoreModelKey.
|
|
3740
|
+
*
|
|
3741
|
+
* @deprecated use DbxRouteModelKeyDirective instead.
|
|
3783
3742
|
*/
|
|
3784
|
-
class DbxFirebaseDocumentStoreRouteKeyDirective extends
|
|
3743
|
+
class DbxFirebaseDocumentStoreRouteKeyDirective extends DbxRouteModelKeyDirective {
|
|
3785
3744
|
dbxFirebaseDocumentStoreDirective = inject((DbxFirebaseDocumentStoreDirective), { host: true });
|
|
3786
|
-
dbxRouterService = inject(DbxRouterService);
|
|
3787
|
-
_redirectInstance = dbxFirebaseKeyRouteParamRedirect(this.dbxRouterService);
|
|
3788
|
-
keyFromParams$ = this._redirectInstance.paramValue$;
|
|
3789
|
-
key$ = this._redirectInstance.value$;
|
|
3790
3745
|
ngOnInit() {
|
|
3791
|
-
|
|
3792
|
-
this._redirectInstance.init();
|
|
3793
|
-
}
|
|
3794
|
-
ngOnDestroy() {
|
|
3795
|
-
super.ngOnDestroy();
|
|
3796
|
-
this._redirectInstance.destroy();
|
|
3746
|
+
super.ngOnInit();
|
|
3797
3747
|
}
|
|
3798
3748
|
// MARK: Input
|
|
3799
|
-
get
|
|
3800
|
-
return this.
|
|
3749
|
+
get dbxFirebaseDocumentStoreRouteKey() {
|
|
3750
|
+
return this.keyParam;
|
|
3801
3751
|
}
|
|
3802
|
-
set keyParam
|
|
3803
|
-
this.
|
|
3752
|
+
set dbxFirebaseDocumentStoreRouteKey(keyParam) {
|
|
3753
|
+
this.keyParam = keyParam;
|
|
3804
3754
|
}
|
|
3805
3755
|
set dbxFirebaseDocumentStoreRouteKeyDefault(defaultValue) {
|
|
3806
|
-
this.
|
|
3756
|
+
this.dbxRouteModelKeyDefault = defaultValue;
|
|
3807
3757
|
}
|
|
3808
3758
|
/**
|
|
3809
3759
|
* Whether or not to enable the redirection. Is enabled by default.
|
|
3810
3760
|
*/
|
|
3811
3761
|
set dbxFirebaseDocumentStoreRouteKeyDefaultRedirect(redirect) {
|
|
3812
|
-
this.
|
|
3762
|
+
this.dbxRouteModelKeyDefaultRedirect = redirect;
|
|
3813
3763
|
}
|
|
3814
3764
|
set dbxFirebaseDocumentStoreRouteKeyDefaultDecision(decider) {
|
|
3815
|
-
this.
|
|
3765
|
+
this.dbxRouteModelKeyDefaultDecision = decider;
|
|
3816
3766
|
}
|
|
3817
3767
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteKeyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3818
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreRouteKeyDirective, selector: "[dbxFirebaseDocumentStoreRouteKey]", inputs: {
|
|
3768
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreRouteKeyDirective, selector: "[dbxFirebaseDocumentStoreRouteKey]", inputs: { dbxFirebaseDocumentStoreRouteKey: "dbxFirebaseDocumentStoreRouteKey", dbxFirebaseDocumentStoreRouteKeyDefault: "dbxFirebaseDocumentStoreRouteKeyDefault", dbxFirebaseDocumentStoreRouteKeyDefaultRedirect: "dbxFirebaseDocumentStoreRouteKeyDefaultRedirect", dbxFirebaseDocumentStoreRouteKeyDefaultDecision: "dbxFirebaseDocumentStoreRouteKeyDefaultDecision" }, usesInheritance: true, ngImport: i0 });
|
|
3819
3769
|
}
|
|
3820
3770
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreRouteKeyDirective, decorators: [{
|
|
3821
3771
|
type: Directive,
|
|
3822
3772
|
args: [{
|
|
3823
3773
|
selector: '[dbxFirebaseDocumentStoreRouteKey]'
|
|
3824
3774
|
}]
|
|
3825
|
-
}], propDecorators: {
|
|
3775
|
+
}], propDecorators: { dbxFirebaseDocumentStoreRouteKey: [{
|
|
3826
3776
|
type: Input,
|
|
3827
3777
|
args: ['dbxFirebaseDocumentStoreRouteKey']
|
|
3828
3778
|
}], dbxFirebaseDocumentStoreRouteKeyDefault: [{
|
|
@@ -3833,18 +3783,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3833
3783
|
type: Input
|
|
3834
3784
|
}] } });
|
|
3835
3785
|
|
|
3836
|
-
|
|
3786
|
+
class DbxFirebaseDocumentStoreTwoWayKeyProvider {
|
|
3787
|
+
}
|
|
3788
|
+
/**
|
|
3789
|
+
* Configures Providers for a DbxFirebaseDocumentStoreTwoWayKeyProvider.
|
|
3790
|
+
*/
|
|
3791
|
+
function provideDbxFirebaseDocumentStoreTwoWayKeyProvider(sourceType) {
|
|
3792
|
+
const providers = [
|
|
3793
|
+
{
|
|
3794
|
+
provide: DbxFirebaseDocumentStoreTwoWayKeyProvider,
|
|
3795
|
+
useExisting: forwardRef(() => sourceType)
|
|
3796
|
+
}
|
|
3797
|
+
];
|
|
3798
|
+
return providers;
|
|
3799
|
+
}
|
|
3800
|
+
|
|
3801
|
+
/**
|
|
3802
|
+
* Directive that implements DbxFirebaseDocumentStoreTwoWayKeyProvider and passes the twoWayFlatKey from a host DbxFirebaseDocumentStoreDirective.
|
|
3803
|
+
*/
|
|
3804
|
+
class DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective {
|
|
3805
|
+
dbxFirebaseDocumentStoreDirective = inject(DbxFirebaseDocumentStoreDirective, { host: true });
|
|
3806
|
+
twoWayFlatKey$ = this.dbxFirebaseDocumentStoreDirective.twoWayFlatKey$;
|
|
3807
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3808
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, selector: "[dbxFirebaseDocumentStoreTwoWayModelKeySource]", providers: provideDbxFirebaseDocumentStoreTwoWayKeyProvider(DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective), ngImport: i0 });
|
|
3809
|
+
}
|
|
3810
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, decorators: [{
|
|
3811
|
+
type: Directive,
|
|
3812
|
+
args: [{
|
|
3813
|
+
selector: '[dbxFirebaseDocumentStoreTwoWayModelKeySource]',
|
|
3814
|
+
providers: provideDbxFirebaseDocumentStoreTwoWayKeyProvider(DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective)
|
|
3815
|
+
}]
|
|
3816
|
+
}] });
|
|
3817
|
+
|
|
3818
|
+
/**
|
|
3819
|
+
* Used for providing an id from the twoWayFlatKey$ from a DbxFirebaseDocumentStoreTwoWayKeyProvider.
|
|
3820
|
+
*/
|
|
3821
|
+
class DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective extends AbstractSubscriptionDirective {
|
|
3822
|
+
dbxFirebaseDocumentStoreDirective = inject(DbxFirebaseDocumentStoreDirective, { host: true });
|
|
3823
|
+
dbxFirebaseDocumentStoreTwoWayKeyProvider = inject(DbxFirebaseDocumentStoreTwoWayKeyProvider, { skipSelf: true, host: false });
|
|
3824
|
+
ngOnInit() {
|
|
3825
|
+
this.sub = this.dbxFirebaseDocumentStoreDirective.store.setId(this.dbxFirebaseDocumentStoreTwoWayKeyProvider.twoWayFlatKey$);
|
|
3826
|
+
}
|
|
3827
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3828
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, selector: "[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]", usesInheritance: true, ngImport: i0 });
|
|
3829
|
+
}
|
|
3830
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, decorators: [{
|
|
3831
|
+
type: Directive,
|
|
3832
|
+
args: [{
|
|
3833
|
+
selector: '[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]'
|
|
3834
|
+
}]
|
|
3835
|
+
}] });
|
|
3836
|
+
|
|
3837
|
+
const declarations$2 = [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective];
|
|
3837
3838
|
class DbxFirebaseModelStoreModule {
|
|
3838
3839
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3839
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule, declarations: [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective], exports: [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective] });
|
|
3840
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule, declarations: [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective], exports: [DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective] });
|
|
3840
3841
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule });
|
|
3841
3842
|
}
|
|
3842
3843
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelStoreModule, decorators: [{
|
|
3843
3844
|
type: NgModule,
|
|
3844
3845
|
args: [{
|
|
3845
3846
|
imports: [],
|
|
3846
|
-
declarations: declarations$
|
|
3847
|
-
exports: declarations$
|
|
3847
|
+
declarations: declarations$2,
|
|
3848
|
+
exports: declarations$2
|
|
3848
3849
|
}]
|
|
3849
3850
|
}] });
|
|
3850
3851
|
|
|
@@ -3985,7 +3986,20 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
|
|
|
3985
3986
|
return of(false);
|
|
3986
3987
|
}
|
|
3987
3988
|
}), shareReplay(1));
|
|
3988
|
-
exists$ = this.currentData$.pipe(map((x) => isMaybeSo(x)),
|
|
3989
|
+
exists$ = this.currentData$.pipe(map((x) => isMaybeSo(x)), catchError((e) => {
|
|
3990
|
+
let result;
|
|
3991
|
+
if (isClientFirebaseError(e)) {
|
|
3992
|
+
switch (e.code) {
|
|
3993
|
+
case FIRESTORE_PERMISSION_DENIED_ERROR_CODE:
|
|
3994
|
+
result = false;
|
|
3995
|
+
break;
|
|
3996
|
+
}
|
|
3997
|
+
}
|
|
3998
|
+
if (result == null) {
|
|
3999
|
+
throw e;
|
|
4000
|
+
}
|
|
4001
|
+
return of(result);
|
|
4002
|
+
}), shareReplay(1));
|
|
3989
4003
|
doesNotExist$ = this.exists$.pipe(map((x) => !x), shareReplay(1));
|
|
3990
4004
|
modelIdentity$ = this.document$.pipe(map((x) => x.modelIdentity), shareReplay(1));
|
|
3991
4005
|
// MARK: State Changes
|
|
@@ -4446,6 +4460,634 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4446
4460
|
}]
|
|
4447
4461
|
}] });
|
|
4448
4462
|
|
|
4463
|
+
/**
|
|
4464
|
+
* Client-side service used for retrieving notification templates.
|
|
4465
|
+
*/
|
|
4466
|
+
class DbxFirebaseNotificationTemplateService {
|
|
4467
|
+
appNotificationTemplateTypeInfoRecordService = inject(AppNotificationTemplateTypeInfoRecordService);
|
|
4468
|
+
notificationItemSubjectMessagePairForNotificationSummaryItem(item) {
|
|
4469
|
+
const templateType = item.t;
|
|
4470
|
+
const templateDetails = this.appNotificationTemplateTypeInfoRecordService.appNotificationTemplateTypeInfoRecord[templateType];
|
|
4471
|
+
const subject = item.s ?? templateDetails.name;
|
|
4472
|
+
const message = item.g ?? '';
|
|
4473
|
+
const date = item.cat;
|
|
4474
|
+
return {
|
|
4475
|
+
item,
|
|
4476
|
+
subject,
|
|
4477
|
+
message,
|
|
4478
|
+
date
|
|
4479
|
+
};
|
|
4480
|
+
}
|
|
4481
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationTemplateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4482
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationTemplateService });
|
|
4483
|
+
}
|
|
4484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationTemplateService, decorators: [{
|
|
4485
|
+
type: Injectable
|
|
4486
|
+
}] });
|
|
4487
|
+
|
|
4488
|
+
class DbxFirebaseNotificationItemListComponent extends AbstractDbxSelectionListWrapperDirective {
|
|
4489
|
+
constructor() {
|
|
4490
|
+
super({
|
|
4491
|
+
componentClass: DbxFirebaseNotificationItemListViewComponent,
|
|
4492
|
+
defaultSelectionMode: 'view'
|
|
4493
|
+
});
|
|
4494
|
+
}
|
|
4495
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4496
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemListComponent, selector: "dbx-firebase-notificationitem-list", providers: provideDbxListViewWrapper(DbxFirebaseNotificationItemListComponent), usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\" [selectionMode]=\"selectionMode\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n</dbx-list>\n", isInline: true, dependencies: [{ kind: "component", type: i1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled", "selectionMode"], outputs: ["contentScrolled"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
|
|
4497
|
+
}
|
|
4498
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemListComponent, decorators: [{
|
|
4499
|
+
type: Component,
|
|
4500
|
+
args: [{
|
|
4501
|
+
selector: 'dbx-firebase-notificationitem-list',
|
|
4502
|
+
template: DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE,
|
|
4503
|
+
providers: provideDbxListViewWrapper(DbxFirebaseNotificationItemListComponent)
|
|
4504
|
+
}]
|
|
4505
|
+
}], ctorParameters: function () { return []; } });
|
|
4506
|
+
class DbxFirebaseNotificationItemListViewComponent extends AbstractDbxSelectionListViewDirective {
|
|
4507
|
+
config = {
|
|
4508
|
+
componentClass: DbxFirebaseNotificationItemListViewItemComponent,
|
|
4509
|
+
mapValuesToItemValues: (x) => of(x.map((y) => ({ ...y, icon: y.icon, itemValue: y })))
|
|
4510
|
+
};
|
|
4511
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4512
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemListViewComponent, selector: "dbx-firebase-notificationitem-list-view", providers: provideDbxListView(DbxFirebaseNotificationItemListViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "component", type: i1.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }] });
|
|
4513
|
+
}
|
|
4514
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemListViewComponent, decorators: [{
|
|
4515
|
+
type: Component,
|
|
4516
|
+
args: [{
|
|
4517
|
+
selector: 'dbx-firebase-notificationitem-list-view',
|
|
4518
|
+
template: DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE,
|
|
4519
|
+
providers: provideDbxListView(DbxFirebaseNotificationItemListViewComponent)
|
|
4520
|
+
}]
|
|
4521
|
+
}] });
|
|
4522
|
+
class DbxFirebaseNotificationItemListViewItemComponent extends AbstractDbxValueListViewItemComponent {
|
|
4523
|
+
dbxFirebaseNotificationTemplateService = inject(DbxFirebaseNotificationTemplateService);
|
|
4524
|
+
pairGetter = cachedGetter(() => this.dbxFirebaseNotificationTemplateService.notificationItemSubjectMessagePairForNotificationSummaryItem(this.itemValue));
|
|
4525
|
+
get subject() {
|
|
4526
|
+
return this.pairGetter().subject;
|
|
4527
|
+
}
|
|
4528
|
+
get message() {
|
|
4529
|
+
return this.pairGetter().message;
|
|
4530
|
+
}
|
|
4531
|
+
get date() {
|
|
4532
|
+
return this.pairGetter().date;
|
|
4533
|
+
}
|
|
4534
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4535
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemListViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
4536
|
+
<div class="dbx-list-item-padded dbx-list-two-line-item dbx-firebase-notificationitem-list-view-item">
|
|
4537
|
+
<div class="item-left">
|
|
4538
|
+
<span class="notificationitem-subject">{{ subject }}</span>
|
|
4539
|
+
<span class="notificationitem-message item-details">{{ message | cutText: 90 }}</span>
|
|
4540
|
+
<span class="notificationitem-date item-details-footnote">{{ date | date: 'medium' }}</span>
|
|
4541
|
+
</div>
|
|
4542
|
+
</div>
|
|
4543
|
+
`, isInline: true, dependencies: [{ kind: "pipe", type: i1$1.DatePipe, name: "date" }, { kind: "pipe", type: i3.CutTextPipe, name: "cutText" }] });
|
|
4544
|
+
}
|
|
4545
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemListViewItemComponent, decorators: [{
|
|
4546
|
+
type: Component,
|
|
4547
|
+
args: [{
|
|
4548
|
+
template: `
|
|
4549
|
+
<div class="dbx-list-item-padded dbx-list-two-line-item dbx-firebase-notificationitem-list-view-item">
|
|
4550
|
+
<div class="item-left">
|
|
4551
|
+
<span class="notificationitem-subject">{{ subject }}</span>
|
|
4552
|
+
<span class="notificationitem-message item-details">{{ message | cutText: 90 }}</span>
|
|
4553
|
+
<span class="notificationitem-date item-details-footnote">{{ date | date: 'medium' }}</span>
|
|
4554
|
+
</div>
|
|
4555
|
+
</div>
|
|
4556
|
+
`
|
|
4557
|
+
}]
|
|
4558
|
+
}] });
|
|
4559
|
+
|
|
4560
|
+
/**
|
|
4561
|
+
* Prefix used by all widgets.
|
|
4562
|
+
*
|
|
4563
|
+
* Does not include the "-" between the prefix and the template type returned by dbxWidgetTypeForNotificationTemplateType().
|
|
4564
|
+
*/
|
|
4565
|
+
const FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX = 'dbxFirebaseNotificationItem';
|
|
4566
|
+
const DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE = `${FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX}Default`;
|
|
4567
|
+
function dbxWidgetTypeForNotificationTemplateType(notificationTemplateType) {
|
|
4568
|
+
return `${FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX}-${notificationTemplateType}`;
|
|
4569
|
+
}
|
|
4570
|
+
|
|
4571
|
+
/**
|
|
4572
|
+
* Service used for registering widgets used for notification items.
|
|
4573
|
+
*/
|
|
4574
|
+
class DbxFirebaseNotificationItemWidgetService {
|
|
4575
|
+
dbxWidgetService = inject(DbxWidgetService);
|
|
4576
|
+
dbxFirebaseNotificationTemplateService = inject(DbxFirebaseNotificationTemplateService);
|
|
4577
|
+
_entries = new Map();
|
|
4578
|
+
/**
|
|
4579
|
+
* Used to register a item widget. If widget for the given type is already registered, this will override it by default.
|
|
4580
|
+
*
|
|
4581
|
+
* @param provider
|
|
4582
|
+
* @param override
|
|
4583
|
+
*/
|
|
4584
|
+
register(provider, override = true) {
|
|
4585
|
+
const { componentClass, notificationTemplateType } = provider;
|
|
4586
|
+
const widgetType = dbxWidgetTypeForNotificationTemplateType(notificationTemplateType);
|
|
4587
|
+
if (override || !this._entries.has(notificationTemplateType)) {
|
|
4588
|
+
const notificationTemplateTypeInfo = this.dbxFirebaseNotificationTemplateService.appNotificationTemplateTypeInfoRecordService.appNotificationTemplateTypeInfoRecord[notificationTemplateType];
|
|
4589
|
+
if (!notificationTemplateTypeInfo) {
|
|
4590
|
+
console.warn(`DbxFirebaseNotificationItemWidgetService.register(): No known template type info was found for notification type: ${notificationTemplateType}. The entry is not being registered.`);
|
|
4591
|
+
}
|
|
4592
|
+
else {
|
|
4593
|
+
const entry = {
|
|
4594
|
+
notificationTemplateType,
|
|
4595
|
+
notificationTemplateTypeInfo,
|
|
4596
|
+
widget: {
|
|
4597
|
+
type: widgetType,
|
|
4598
|
+
componentClass
|
|
4599
|
+
}
|
|
4600
|
+
};
|
|
4601
|
+
this._entries.set(notificationTemplateType, entry);
|
|
4602
|
+
this.dbxWidgetService.register(entry.widget, override);
|
|
4603
|
+
return true;
|
|
4604
|
+
}
|
|
4605
|
+
}
|
|
4606
|
+
return false;
|
|
4607
|
+
}
|
|
4608
|
+
registerDefaultWidget(entry, override = true) {
|
|
4609
|
+
return this.dbxWidgetService.register({
|
|
4610
|
+
...entry,
|
|
4611
|
+
type: DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE
|
|
4612
|
+
}, override);
|
|
4613
|
+
}
|
|
4614
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4615
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService, providedIn: 'root' });
|
|
4616
|
+
}
|
|
4617
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemWidgetService, decorators: [{
|
|
4618
|
+
type: Injectable,
|
|
4619
|
+
args: [{
|
|
4620
|
+
providedIn: 'root'
|
|
4621
|
+
}]
|
|
4622
|
+
}] });
|
|
4623
|
+
|
|
4624
|
+
class DbxFirebaseNotificationItemViewComponent {
|
|
4625
|
+
_item = new BehaviorSubject(undefined);
|
|
4626
|
+
config$ = this._item.pipe(filterMaybe(), map((data) => {
|
|
4627
|
+
const type = dbxWidgetTypeForNotificationTemplateType(data.t);
|
|
4628
|
+
const widgetConfig = {
|
|
4629
|
+
type,
|
|
4630
|
+
data,
|
|
4631
|
+
defaultType: DEFAULT_FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE
|
|
4632
|
+
};
|
|
4633
|
+
return widgetConfig;
|
|
4634
|
+
}), shareReplay(1));
|
|
4635
|
+
ngOnDestroy() {
|
|
4636
|
+
this._item.complete();
|
|
4637
|
+
}
|
|
4638
|
+
get item() {
|
|
4639
|
+
return this._item.getValue();
|
|
4640
|
+
}
|
|
4641
|
+
set item(value) {
|
|
4642
|
+
this._item.next(value);
|
|
4643
|
+
}
|
|
4644
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4645
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemViewComponent, selector: "dbx-firebase-notificationitem-view", inputs: { item: "item" }, ngImport: i0, template: `
|
|
4646
|
+
<dbx-widget-view [config]="config$ | async"></dbx-widget-view>
|
|
4647
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.DbxWidgetViewComponent, selector: "dbx-widget-view", inputs: ["config"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
|
|
4648
|
+
}
|
|
4649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemViewComponent, decorators: [{
|
|
4650
|
+
type: Component,
|
|
4651
|
+
args: [{
|
|
4652
|
+
selector: 'dbx-firebase-notificationitem-view',
|
|
4653
|
+
template: `
|
|
4654
|
+
<dbx-widget-view [config]="config$ | async"></dbx-widget-view>
|
|
4655
|
+
`
|
|
4656
|
+
}]
|
|
4657
|
+
}], propDecorators: { item: [{
|
|
4658
|
+
type: Input
|
|
4659
|
+
}] } });
|
|
4660
|
+
|
|
4661
|
+
class AbstractDbxFirebaseNotificationItemWidgetComponent extends AbstractDbxWidgetComponent {
|
|
4662
|
+
get notificationItem() {
|
|
4663
|
+
return this.data;
|
|
4664
|
+
}
|
|
4665
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseNotificationItemWidgetComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
4666
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractDbxFirebaseNotificationItemWidgetComponent, usesInheritance: true, ngImport: i0 });
|
|
4667
|
+
}
|
|
4668
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractDbxFirebaseNotificationItemWidgetComponent, decorators: [{
|
|
4669
|
+
type: Directive
|
|
4670
|
+
}] });
|
|
4671
|
+
|
|
4672
|
+
class DbxFirebaseNotificationItemContentComponent {
|
|
4673
|
+
subject;
|
|
4674
|
+
message;
|
|
4675
|
+
date;
|
|
4676
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4677
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemContentComponent, selector: "dbx-firebase-notificationitem-content", inputs: { subject: "subject", message: "message", date: "date" }, ngImport: i0, template: "<div class=\"dbx-firebase-notificationitem-content\">\n <div class=\"notificationitem-header dbx-pb2\">\n <div *ngIf=\"subject\" class=\"notificationitem-subject dbx-pb1\">{{ subject }}</div>\n <ng-content select=\"[header]\"></ng-content>\n <div *ngIf=\"date\" class=\"notificationitem-date dbx-label dbx-small\">{{ date | date: 'medium' }}</div>\n </div>\n <ng-content select=\"[premessage]\"></ng-content>\n <div class=\"notificationitem-message\">{{ message }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".dbx-firebase-notificationitem-content .notificationitem-subject{font-size:1.25em}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }] });
|
|
4678
|
+
}
|
|
4679
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemContentComponent, decorators: [{
|
|
4680
|
+
type: Component,
|
|
4681
|
+
args: [{ selector: 'dbx-firebase-notificationitem-content', template: "<div class=\"dbx-firebase-notificationitem-content\">\n <div class=\"notificationitem-header dbx-pb2\">\n <div *ngIf=\"subject\" class=\"notificationitem-subject dbx-pb1\">{{ subject }}</div>\n <ng-content select=\"[header]\"></ng-content>\n <div *ngIf=\"date\" class=\"notificationitem-date dbx-label dbx-small\">{{ date | date: 'medium' }}</div>\n </div>\n <ng-content select=\"[premessage]\"></ng-content>\n <div class=\"notificationitem-message\">{{ message }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".dbx-firebase-notificationitem-content .notificationitem-subject{font-size:1.25em}\n"] }]
|
|
4682
|
+
}], propDecorators: { subject: [{
|
|
4683
|
+
type: Input
|
|
4684
|
+
}], message: [{
|
|
4685
|
+
type: Input
|
|
4686
|
+
}], date: [{
|
|
4687
|
+
type: Input
|
|
4688
|
+
}] } });
|
|
4689
|
+
|
|
4690
|
+
class DbxFirebaseNotificationItemDefaultViewComponent extends AbstractDbxFirebaseNotificationItemWidgetComponent {
|
|
4691
|
+
get subject() {
|
|
4692
|
+
return this.notificationItem.s;
|
|
4693
|
+
}
|
|
4694
|
+
get message() {
|
|
4695
|
+
return this.notificationItem.g;
|
|
4696
|
+
}
|
|
4697
|
+
get date() {
|
|
4698
|
+
return this.notificationItem.cat;
|
|
4699
|
+
}
|
|
4700
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemDefaultViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4701
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemDefaultViewComponent, selector: "dbx-firebase-notificationitem-view-default", usesInheritance: true, ngImport: i0, template: '<dbx-firebase-notificationitem-content [subject]="subject" [message]="message" [date]="date"></dbx-firebase-notificationitem-content>', isInline: true, dependencies: [{ kind: "component", type: DbxFirebaseNotificationItemContentComponent, selector: "dbx-firebase-notificationitem-content", inputs: ["subject", "message", "date"] }] });
|
|
4702
|
+
}
|
|
4703
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemDefaultViewComponent, decorators: [{
|
|
4704
|
+
type: Component,
|
|
4705
|
+
args: [{
|
|
4706
|
+
selector: 'dbx-firebase-notificationitem-view-default',
|
|
4707
|
+
template: '<dbx-firebase-notificationitem-content [subject]="subject" [message]="message" [date]="date"></dbx-firebase-notificationitem-content>'
|
|
4708
|
+
}]
|
|
4709
|
+
}] });
|
|
4710
|
+
|
|
4711
|
+
class NotificationSummaryCollectionStore extends AbstractDbxFirebaseCollectionStore {
|
|
4712
|
+
constructor(collections) {
|
|
4713
|
+
super({ firestoreCollection: collections.notificationSummaryCollection });
|
|
4714
|
+
}
|
|
4715
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationSummaryCollectionStore, deps: [{ token: i1$3.NotificationFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4716
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationSummaryCollectionStore });
|
|
4717
|
+
}
|
|
4718
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationSummaryCollectionStore, decorators: [{
|
|
4719
|
+
type: Injectable
|
|
4720
|
+
}], ctorParameters: function () { return [{ type: i1$3.NotificationFirestoreCollections }]; } });
|
|
4721
|
+
|
|
4722
|
+
class DbxFirebaseNotificationSummaryCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective {
|
|
4723
|
+
constructor(store) {
|
|
4724
|
+
super(store);
|
|
4725
|
+
}
|
|
4726
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationSummaryCollectionStoreDirective, deps: [{ token: NotificationSummaryCollectionStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4727
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationSummaryCollectionStoreDirective, selector: "[dbxFirebaseNotificationSummaryCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationSummaryCollectionStoreDirective, NotificationSummaryCollectionStore), usesInheritance: true, ngImport: i0 });
|
|
4728
|
+
}
|
|
4729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationSummaryCollectionStoreDirective, decorators: [{
|
|
4730
|
+
type: Directive,
|
|
4731
|
+
args: [{
|
|
4732
|
+
selector: '[dbxFirebaseNotificationSummaryCollection]',
|
|
4733
|
+
providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationSummaryCollectionStoreDirective, NotificationSummaryCollectionStore)
|
|
4734
|
+
}]
|
|
4735
|
+
}], ctorParameters: function () { return [{ type: NotificationSummaryCollectionStore }]; } });
|
|
4736
|
+
|
|
4737
|
+
class NotificationSummaryDocumentStore extends AbstractDbxFirebaseDocumentStore {
|
|
4738
|
+
notificationFunctions = inject(NotificationFunctions);
|
|
4739
|
+
constructor() {
|
|
4740
|
+
super({ firestoreCollection: inject(NotificationFirestoreCollections).notificationSummaryCollection });
|
|
4741
|
+
}
|
|
4742
|
+
notificationItemsLoadingState$ = this.dataLoadingState$.pipe(mapLoadingStateValueWithOperator(map((x) => [...x.n].reverse())), // n is sorted in ascending order
|
|
4743
|
+
shareReplay(1));
|
|
4744
|
+
createdAt$ = this.data$.pipe(map((x) => x.cat), distinctUntilChanged(isSameDate), shareReplay(1));
|
|
4745
|
+
lastReadAt$ = this.data$.pipe(map((x) => x.rat), distinctUntilChanged(isSameDate), shareReplay(1));
|
|
4746
|
+
lastUpdateAt$ = this.data$.pipe(map((x) => x.lat), distinctUntilChanged(isSameDate), shareReplay(1));
|
|
4747
|
+
notificationItems$ = this.data$.pipe(map((x) => [...x.n].reverse()), // n is sorted in ascending order
|
|
4748
|
+
shareReplay(1));
|
|
4749
|
+
needsSync$ = this.data$.pipe(map((x) => x.s), distinctUntilChanged(), shareReplay(1));
|
|
4750
|
+
notificationItemsLoadingState() {
|
|
4751
|
+
return this.notificationItemsLoadingState$;
|
|
4752
|
+
}
|
|
4753
|
+
unreadNotificationItems(checkLastReadIfCreatedBeforeObs) {
|
|
4754
|
+
return combineLatest([asObservable(checkLastReadIfCreatedBeforeObs), this.notificationItems$]).pipe(map(([c, items]) => unreadNotificationItems(items, c)));
|
|
4755
|
+
}
|
|
4756
|
+
updateNotificationSummary = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationSummary.updateNotificationSummary.update);
|
|
4757
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationSummaryDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4758
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationSummaryDocumentStore });
|
|
4759
|
+
}
|
|
4760
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationSummaryDocumentStore, decorators: [{
|
|
4761
|
+
type: Injectable
|
|
4762
|
+
}], ctorParameters: function () { return []; } });
|
|
4763
|
+
|
|
4764
|
+
class DbxFirebaseNotificationSummaryDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective {
|
|
4765
|
+
constructor(store) {
|
|
4766
|
+
super(store);
|
|
4767
|
+
}
|
|
4768
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationSummaryDocumentStoreDirective, deps: [{ token: NotificationSummaryDocumentStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4769
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationSummaryDocumentStoreDirective, selector: "[dbxFirebaseNotificationSummaryDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationSummaryDocumentStoreDirective, NotificationSummaryDocumentStore), usesInheritance: true, ngImport: i0 });
|
|
4770
|
+
}
|
|
4771
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationSummaryDocumentStoreDirective, decorators: [{
|
|
4772
|
+
type: Directive,
|
|
4773
|
+
args: [{
|
|
4774
|
+
selector: '[dbxFirebaseNotificationSummaryDocument]',
|
|
4775
|
+
providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationSummaryDocumentStoreDirective, NotificationSummaryDocumentStore)
|
|
4776
|
+
}]
|
|
4777
|
+
}], ctorParameters: function () { return [{ type: NotificationSummaryDocumentStore }]; } });
|
|
4778
|
+
|
|
4779
|
+
/**
|
|
4780
|
+
* Store used for selecting a specific NotificationItem from a list of notification items.
|
|
4781
|
+
*/
|
|
4782
|
+
class DbxFirebaseNotificationItemStore extends ComponentStore {
|
|
4783
|
+
constructor() {
|
|
4784
|
+
super({
|
|
4785
|
+
items: [],
|
|
4786
|
+
selectedId: undefined
|
|
4787
|
+
});
|
|
4788
|
+
}
|
|
4789
|
+
// MARK: Accessors
|
|
4790
|
+
items$ = this.select((state) => state.items);
|
|
4791
|
+
selectedId$ = this.select((state) => state.selectedId).pipe(distinctUntilChanged(), shareReplay(1));
|
|
4792
|
+
selectedItem$ = combineLatest([this.items$, this.selectedId$]).pipe(map(([items, selectedId]) => {
|
|
4793
|
+
return items.find((item) => item.id === selectedId);
|
|
4794
|
+
}), distinctUntilChanged(), shareReplay(1));
|
|
4795
|
+
// MARK: State Changes
|
|
4796
|
+
setItems = this.updater((state, items) => ({ ...state, items }));
|
|
4797
|
+
setSelectedId = this.updater((state, selectedId) => ({ ...state, selectedId }));
|
|
4798
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4799
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemStore });
|
|
4800
|
+
}
|
|
4801
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemStore, decorators: [{
|
|
4802
|
+
type: Injectable
|
|
4803
|
+
}], ctorParameters: function () { return []; } });
|
|
4804
|
+
|
|
4805
|
+
class NotificationUserCollectionStore extends AbstractDbxFirebaseCollectionStore {
|
|
4806
|
+
constructor(collections) {
|
|
4807
|
+
super({ firestoreCollection: collections.notificationUserCollection });
|
|
4808
|
+
}
|
|
4809
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationUserCollectionStore, deps: [{ token: i1$3.NotificationFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4810
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationUserCollectionStore });
|
|
4811
|
+
}
|
|
4812
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationUserCollectionStore, decorators: [{
|
|
4813
|
+
type: Injectable
|
|
4814
|
+
}], ctorParameters: function () { return [{ type: i1$3.NotificationFirestoreCollections }]; } });
|
|
4815
|
+
|
|
4816
|
+
class DbxFirebaseNotificationUserCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective {
|
|
4817
|
+
constructor(store) {
|
|
4818
|
+
super(store);
|
|
4819
|
+
}
|
|
4820
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationUserCollectionStoreDirective, deps: [{ token: NotificationUserCollectionStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4821
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationUserCollectionStoreDirective, selector: "[dbxFirebaseNotificationUserCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationUserCollectionStoreDirective, NotificationUserCollectionStore), usesInheritance: true, ngImport: i0 });
|
|
4822
|
+
}
|
|
4823
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationUserCollectionStoreDirective, decorators: [{
|
|
4824
|
+
type: Directive,
|
|
4825
|
+
args: [{
|
|
4826
|
+
selector: '[dbxFirebaseNotificationUserCollection]',
|
|
4827
|
+
providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationUserCollectionStoreDirective, NotificationUserCollectionStore)
|
|
4828
|
+
}]
|
|
4829
|
+
}], ctorParameters: function () { return [{ type: NotificationUserCollectionStore }]; } });
|
|
4830
|
+
|
|
4831
|
+
class NotificationUserDocumentStore extends AbstractDbxFirebaseDocumentStore {
|
|
4832
|
+
notificationFunctions = inject(NotificationFunctions);
|
|
4833
|
+
constructor() {
|
|
4834
|
+
super({ firestoreCollection: inject(NotificationFirestoreCollections).notificationUserCollection });
|
|
4835
|
+
}
|
|
4836
|
+
updateNotificationUser = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationUser.updateNotificationUser.update);
|
|
4837
|
+
resyncNotificationUser = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationUser.updateNotificationUser.resync);
|
|
4838
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationUserDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4839
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationUserDocumentStore });
|
|
4840
|
+
}
|
|
4841
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationUserDocumentStore, decorators: [{
|
|
4842
|
+
type: Injectable
|
|
4843
|
+
}], ctorParameters: function () { return []; } });
|
|
4844
|
+
|
|
4845
|
+
class DbxFirebaseNotificationUserDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective {
|
|
4846
|
+
constructor(store) {
|
|
4847
|
+
super(store);
|
|
4848
|
+
}
|
|
4849
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationUserDocumentStoreDirective, deps: [{ token: NotificationUserDocumentStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4850
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationUserDocumentStoreDirective, selector: "[dbxFirebaseNotificationUserDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationUserDocumentStoreDirective, NotificationUserDocumentStore), usesInheritance: true, ngImport: i0 });
|
|
4851
|
+
}
|
|
4852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationUserDocumentStoreDirective, decorators: [{
|
|
4853
|
+
type: Directive,
|
|
4854
|
+
args: [{
|
|
4855
|
+
selector: '[dbxFirebaseNotificationUserDocument]',
|
|
4856
|
+
providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationUserDocumentStoreDirective, NotificationUserDocumentStore)
|
|
4857
|
+
}]
|
|
4858
|
+
}], ctorParameters: function () { return [{ type: NotificationUserDocumentStore }]; } });
|
|
4859
|
+
|
|
4860
|
+
class NotificationBoxDocumentStore extends AbstractDbxFirebaseDocumentStore {
|
|
4861
|
+
notificationFunctions = inject(NotificationFunctions);
|
|
4862
|
+
constructor() {
|
|
4863
|
+
super({ firestoreCollection: inject(NotificationFirestoreCollections).notificationBoxCollection });
|
|
4864
|
+
}
|
|
4865
|
+
createdAt$ = this.data$.pipe(map((x) => x.cat), distinctUntilChanged(isSameDate), shareReplay(1));
|
|
4866
|
+
recipients$ = this.data$.pipe(map((x) => x.r), shareReplay(1));
|
|
4867
|
+
updateNotificationBox = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationBox.updateNotificationBox.update);
|
|
4868
|
+
updateNotificationBoxRecipient = firebaseDocumentStoreUpdateFunction(this, this.notificationFunctions.notificationBox.updateNotificationBox.recipient);
|
|
4869
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationBoxDocumentStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4870
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationBoxDocumentStore });
|
|
4871
|
+
}
|
|
4872
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationBoxDocumentStore, decorators: [{
|
|
4873
|
+
type: Injectable
|
|
4874
|
+
}], ctorParameters: function () { return []; } });
|
|
4875
|
+
|
|
4876
|
+
class DbxFirebaseNotificationBoxDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective {
|
|
4877
|
+
constructor(store) {
|
|
4878
|
+
super(store);
|
|
4879
|
+
}
|
|
4880
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationBoxDocumentStoreDirective, deps: [{ token: NotificationBoxDocumentStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4881
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationBoxDocumentStoreDirective, selector: "[dbxFirebaseNotificationBoxDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationBoxDocumentStoreDirective, NotificationBoxDocumentStore), usesInheritance: true, ngImport: i0 });
|
|
4882
|
+
}
|
|
4883
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationBoxDocumentStoreDirective, decorators: [{
|
|
4884
|
+
type: Directive,
|
|
4885
|
+
args: [{
|
|
4886
|
+
selector: '[dbxFirebaseNotificationBoxDocument]',
|
|
4887
|
+
providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseNotificationBoxDocumentStoreDirective, NotificationBoxDocumentStore)
|
|
4888
|
+
}]
|
|
4889
|
+
}], ctorParameters: function () { return [{ type: NotificationBoxDocumentStore }]; } });
|
|
4890
|
+
|
|
4891
|
+
class NotificationBoxCollectionStore extends AbstractDbxFirebaseCollectionStore {
|
|
4892
|
+
constructor(collections) {
|
|
4893
|
+
super({ firestoreCollection: collections.notificationBoxCollection });
|
|
4894
|
+
}
|
|
4895
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationBoxCollectionStore, deps: [{ token: i1$3.NotificationFirestoreCollections }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4896
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationBoxCollectionStore });
|
|
4897
|
+
}
|
|
4898
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationBoxCollectionStore, decorators: [{
|
|
4899
|
+
type: Injectable
|
|
4900
|
+
}], ctorParameters: function () { return [{ type: i1$3.NotificationFirestoreCollections }]; } });
|
|
4901
|
+
|
|
4902
|
+
class DbxFirebaseNotificationBoxCollectionStoreDirective extends DbxFirebaseCollectionStoreDirective {
|
|
4903
|
+
constructor(store) {
|
|
4904
|
+
super(store);
|
|
4905
|
+
}
|
|
4906
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationBoxCollectionStoreDirective, deps: [{ token: NotificationBoxCollectionStore }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4907
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationBoxCollectionStoreDirective, selector: "[dbxFirebaseNotificationBoxCollection]", providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationBoxCollectionStoreDirective, NotificationBoxCollectionStore), usesInheritance: true, ngImport: i0 });
|
|
4908
|
+
}
|
|
4909
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationBoxCollectionStoreDirective, decorators: [{
|
|
4910
|
+
type: Directive,
|
|
4911
|
+
args: [{
|
|
4912
|
+
selector: '[dbxFirebaseNotificationBoxCollection]',
|
|
4913
|
+
providers: provideDbxFirebaseCollectionStoreDirective(DbxFirebaseNotificationBoxCollectionStoreDirective, NotificationBoxCollectionStore)
|
|
4914
|
+
}]
|
|
4915
|
+
}], ctorParameters: function () { return [{ type: NotificationBoxCollectionStore }]; } });
|
|
4916
|
+
|
|
4917
|
+
const DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY = 'notification-item-store-notifications';
|
|
4918
|
+
class DbxFirebaseNotificationItemStorePopoverComponent extends AbstractPopoverDirective {
|
|
4919
|
+
static openPopover(popupService, { origin, header, icon, emptyText, makeNotificationItemAnchor, notificationItemsLoadingState$ }, popoverKey) {
|
|
4920
|
+
return popupService.open({
|
|
4921
|
+
key: popoverKey ?? DEFAULT_DBX_FIREBASE_NOTIFICATION_ITEM_STORE_POPOVER_KEY,
|
|
4922
|
+
origin,
|
|
4923
|
+
componentClass: DbxFirebaseNotificationItemStorePopoverComponent,
|
|
4924
|
+
data: {
|
|
4925
|
+
header,
|
|
4926
|
+
icon,
|
|
4927
|
+
emptyText,
|
|
4928
|
+
notificationItemsLoadingState$,
|
|
4929
|
+
makeNotificationItemAnchor
|
|
4930
|
+
}
|
|
4931
|
+
});
|
|
4932
|
+
}
|
|
4933
|
+
get params() {
|
|
4934
|
+
return this.popover.data;
|
|
4935
|
+
}
|
|
4936
|
+
get icon() {
|
|
4937
|
+
return this.params.icon ?? 'notifications';
|
|
4938
|
+
}
|
|
4939
|
+
get header() {
|
|
4940
|
+
return this.params.header ?? 'Notifications';
|
|
4941
|
+
}
|
|
4942
|
+
get emptyText() {
|
|
4943
|
+
return this.params.header ?? 'There are no notifications.';
|
|
4944
|
+
}
|
|
4945
|
+
get notificationItemsLoadingState$() {
|
|
4946
|
+
return this.params.notificationItemsLoadingState$;
|
|
4947
|
+
}
|
|
4948
|
+
get makeNotificationItemAnchor() {
|
|
4949
|
+
return this.params.makeNotificationItemAnchor;
|
|
4950
|
+
}
|
|
4951
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4952
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemStorePopoverComponent, 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-notificationitem-list [state$]=\"notificationItemsLoadingState$\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeNotificationItemAnchor\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-notificationitem-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "directive", type: i1.DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }, { kind: "component", type: i1.DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: i1.DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "component", type: i1.DbxPopoverScrollContentComponent, selector: "dbx-popover-scroll-content" }, { kind: "component", type: i1.DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }, { kind: "directive", type: i1.DbxValueListItemModifierDirective, selector: "[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "component", type: DbxFirebaseNotificationItemListComponent, selector: "dbx-firebase-notificationitem-list" }] });
|
|
4953
|
+
}
|
|
4954
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverComponent, decorators: [{
|
|
4955
|
+
type: Component,
|
|
4956
|
+
args: [{ 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-notificationitem-list [state$]=\"notificationItemsLoadingState$\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeNotificationItemAnchor\">\n <dbx-list-empty-content empty>\n <p>{{ emptyText }}</p>\n </dbx-list-empty-content>\n </dbx-firebase-notificationitem-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
|
|
4957
|
+
}] });
|
|
4958
|
+
|
|
4959
|
+
class DbxFirebaseNotificationItemStorePopoverButtonComponent extends AbstractPopoverRefDirective {
|
|
4960
|
+
_dbxPopoverService = inject(DbxPopoverService);
|
|
4961
|
+
_dbxFirebaseNotificationItemStore = inject(DbxFirebaseNotificationItemStore, { optional: true });
|
|
4962
|
+
buttonElement;
|
|
4963
|
+
config;
|
|
4964
|
+
_makePopoverRef(origin) {
|
|
4965
|
+
const config = this.config;
|
|
4966
|
+
const notificationItemsLoadingState$ = config?.notificationItemsLoadingState$ ?? (this._dbxFirebaseNotificationItemStore != null ? loadingStateFromObs(this._dbxFirebaseNotificationItemStore.items$) : undefined);
|
|
4967
|
+
if (!origin) {
|
|
4968
|
+
throw new Error('Missing origin.');
|
|
4969
|
+
}
|
|
4970
|
+
else if (!notificationItemsLoadingState$) {
|
|
4971
|
+
throw new Error('Missing notificationItemsLoadingState$.');
|
|
4972
|
+
}
|
|
4973
|
+
return DbxFirebaseNotificationItemStorePopoverComponent.openPopover(this._dbxPopoverService, {
|
|
4974
|
+
origin,
|
|
4975
|
+
notificationItemsLoadingState$,
|
|
4976
|
+
...config
|
|
4977
|
+
});
|
|
4978
|
+
}
|
|
4979
|
+
showNotificationsPopover() {
|
|
4980
|
+
const origin = this.buttonElement.nativeElement;
|
|
4981
|
+
this.showPopover(origin);
|
|
4982
|
+
}
|
|
4983
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4984
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseNotificationItemStorePopoverButtonComponent, selector: "dbx-firebase-notification-item-store-popover-button", inputs: { config: "config" }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: `
|
|
4985
|
+
<dbx-icon-button #button (buttonClick)="showNotificationsPopover()" icon="notifications"></dbx-icon-button>
|
|
4986
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
4987
|
+
}
|
|
4988
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationItemStorePopoverButtonComponent, decorators: [{
|
|
4989
|
+
type: Component,
|
|
4990
|
+
args: [{
|
|
4991
|
+
selector: 'dbx-firebase-notification-item-store-popover-button',
|
|
4992
|
+
template: `
|
|
4993
|
+
<dbx-icon-button #button (buttonClick)="showNotificationsPopover()" icon="notifications"></dbx-icon-button>
|
|
4994
|
+
`,
|
|
4995
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
4996
|
+
}]
|
|
4997
|
+
}], propDecorators: { buttonElement: [{
|
|
4998
|
+
type: ViewChild,
|
|
4999
|
+
args: ['button', { read: ElementRef, static: false }]
|
|
5000
|
+
}], config: [{
|
|
5001
|
+
type: Input
|
|
5002
|
+
}] } });
|
|
5003
|
+
|
|
5004
|
+
const declarations$1 = [
|
|
5005
|
+
// components
|
|
5006
|
+
DbxFirebaseNotificationItemListComponent,
|
|
5007
|
+
DbxFirebaseNotificationItemListViewComponent,
|
|
5008
|
+
DbxFirebaseNotificationItemListViewItemComponent,
|
|
5009
|
+
DbxFirebaseNotificationItemContentComponent,
|
|
5010
|
+
DbxFirebaseNotificationItemViewComponent,
|
|
5011
|
+
DbxFirebaseNotificationItemDefaultViewComponent,
|
|
5012
|
+
// container
|
|
5013
|
+
DbxFirebaseNotificationItemStorePopoverButtonComponent,
|
|
5014
|
+
DbxFirebaseNotificationItemStorePopoverComponent,
|
|
5015
|
+
// stores
|
|
5016
|
+
DbxFirebaseNotificationBoxCollectionStoreDirective,
|
|
5017
|
+
DbxFirebaseNotificationBoxDocumentStoreDirective,
|
|
5018
|
+
DbxFirebaseNotificationSummaryCollectionStoreDirective,
|
|
5019
|
+
DbxFirebaseNotificationSummaryDocumentStoreDirective,
|
|
5020
|
+
DbxFirebaseNotificationUserCollectionStoreDirective,
|
|
5021
|
+
DbxFirebaseNotificationUserDocumentStoreDirective
|
|
5022
|
+
];
|
|
5023
|
+
/**
|
|
5024
|
+
* Used to initialize the DbxFirebaseNotificationModule.
|
|
5025
|
+
*/
|
|
5026
|
+
class DbxFirebaseNotificationModule {
|
|
5027
|
+
static forRoot(config) {
|
|
5028
|
+
const { appNotificationTemplateTypeInfoRecordService } = config;
|
|
5029
|
+
const providers = [
|
|
5030
|
+
{
|
|
5031
|
+
provide: AppNotificationTemplateTypeInfoRecordService,
|
|
5032
|
+
useValue: appNotificationTemplateTypeInfoRecordService
|
|
5033
|
+
},
|
|
5034
|
+
{
|
|
5035
|
+
provide: DbxFirebaseNotificationTemplateService,
|
|
5036
|
+
useClass: DbxFirebaseNotificationTemplateService
|
|
5037
|
+
}
|
|
5038
|
+
];
|
|
5039
|
+
return {
|
|
5040
|
+
ngModule: DbxFirebaseNotificationModule,
|
|
5041
|
+
providers
|
|
5042
|
+
};
|
|
5043
|
+
}
|
|
5044
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5045
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationModule, declarations: [
|
|
5046
|
+
// components
|
|
5047
|
+
DbxFirebaseNotificationItemListComponent,
|
|
5048
|
+
DbxFirebaseNotificationItemListViewComponent,
|
|
5049
|
+
DbxFirebaseNotificationItemListViewItemComponent,
|
|
5050
|
+
DbxFirebaseNotificationItemContentComponent,
|
|
5051
|
+
DbxFirebaseNotificationItemViewComponent,
|
|
5052
|
+
DbxFirebaseNotificationItemDefaultViewComponent,
|
|
5053
|
+
// container
|
|
5054
|
+
DbxFirebaseNotificationItemStorePopoverButtonComponent,
|
|
5055
|
+
DbxFirebaseNotificationItemStorePopoverComponent,
|
|
5056
|
+
// stores
|
|
5057
|
+
DbxFirebaseNotificationBoxCollectionStoreDirective,
|
|
5058
|
+
DbxFirebaseNotificationBoxDocumentStoreDirective,
|
|
5059
|
+
DbxFirebaseNotificationSummaryCollectionStoreDirective,
|
|
5060
|
+
DbxFirebaseNotificationSummaryDocumentStoreDirective,
|
|
5061
|
+
DbxFirebaseNotificationUserCollectionStoreDirective,
|
|
5062
|
+
DbxFirebaseNotificationUserDocumentStoreDirective], imports: [CommonModule, DbxButtonModule, DbxRouterListModule, DbxPopoverInteractionModule, DbxSectionLayoutModule, DbxListLayoutModule, DbxWidgetModule, DbxValuePipeModule], exports: [
|
|
5063
|
+
// components
|
|
5064
|
+
DbxFirebaseNotificationItemListComponent,
|
|
5065
|
+
DbxFirebaseNotificationItemListViewComponent,
|
|
5066
|
+
DbxFirebaseNotificationItemListViewItemComponent,
|
|
5067
|
+
DbxFirebaseNotificationItemContentComponent,
|
|
5068
|
+
DbxFirebaseNotificationItemViewComponent,
|
|
5069
|
+
DbxFirebaseNotificationItemDefaultViewComponent,
|
|
5070
|
+
// container
|
|
5071
|
+
DbxFirebaseNotificationItemStorePopoverButtonComponent,
|
|
5072
|
+
DbxFirebaseNotificationItemStorePopoverComponent,
|
|
5073
|
+
// stores
|
|
5074
|
+
DbxFirebaseNotificationBoxCollectionStoreDirective,
|
|
5075
|
+
DbxFirebaseNotificationBoxDocumentStoreDirective,
|
|
5076
|
+
DbxFirebaseNotificationSummaryCollectionStoreDirective,
|
|
5077
|
+
DbxFirebaseNotificationSummaryDocumentStoreDirective,
|
|
5078
|
+
DbxFirebaseNotificationUserCollectionStoreDirective,
|
|
5079
|
+
DbxFirebaseNotificationUserDocumentStoreDirective] });
|
|
5080
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationModule, imports: [CommonModule, DbxButtonModule, DbxRouterListModule, DbxPopoverInteractionModule, DbxSectionLayoutModule, DbxListLayoutModule, DbxWidgetModule, DbxValuePipeModule] });
|
|
5081
|
+
}
|
|
5082
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseNotificationModule, decorators: [{
|
|
5083
|
+
type: NgModule,
|
|
5084
|
+
args: [{
|
|
5085
|
+
imports: [CommonModule, DbxButtonModule, DbxRouterListModule, DbxPopoverInteractionModule, DbxSectionLayoutModule, DbxListLayoutModule, DbxWidgetModule, DbxValuePipeModule],
|
|
5086
|
+
declarations: declarations$1,
|
|
5087
|
+
exports: declarations$1
|
|
5088
|
+
}]
|
|
5089
|
+
}] });
|
|
5090
|
+
|
|
4449
5091
|
class FlatFirestoreModelKeyPipe {
|
|
4450
5092
|
transform(input) {
|
|
4451
5093
|
if (input != null) {
|
|
@@ -4493,6 +5135,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4493
5135
|
}]
|
|
4494
5136
|
}] });
|
|
4495
5137
|
|
|
5138
|
+
const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY = 'id';
|
|
5139
|
+
const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY = 'key';
|
|
5140
|
+
const DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE = '0';
|
|
5141
|
+
function dbxFirebaseKeyRouteParamRedirect(dbxRouterService, defaultParamKey = DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY) {
|
|
5142
|
+
return dbxFirebaseIdRouteParamRedirect(dbxRouterService, defaultParamKey);
|
|
5143
|
+
}
|
|
5144
|
+
function dbxFirebaseIdRouteParamRedirect(dbxRouterService, defaultParamKey = DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY) {
|
|
5145
|
+
const _paramReader = dbxRouteParamReaderInstance(dbxRouterService, defaultParamKey);
|
|
5146
|
+
const _paramRedirect = new DbxRouteParamDefaultRedirectInstance(_paramReader);
|
|
5147
|
+
const _useDefaultParamDecider = new BehaviorSubject(DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE);
|
|
5148
|
+
const _useDefaultParam$ = _useDefaultParamDecider.pipe(map((x) => {
|
|
5149
|
+
let result;
|
|
5150
|
+
if (typeof x === 'string') {
|
|
5151
|
+
result = (value) => of(value === x);
|
|
5152
|
+
}
|
|
5153
|
+
else {
|
|
5154
|
+
result = x;
|
|
5155
|
+
}
|
|
5156
|
+
return result;
|
|
5157
|
+
}), shareReplay(1));
|
|
5158
|
+
const setParamKey = (paramKey) => {
|
|
5159
|
+
_paramReader.setParamKey(paramKey || defaultParamKey);
|
|
5160
|
+
};
|
|
5161
|
+
const paramValue$ = _paramReader.paramValue$;
|
|
5162
|
+
const value$ = _paramReader.value$;
|
|
5163
|
+
const result = {
|
|
5164
|
+
paramValue$,
|
|
5165
|
+
defaultValue$: _paramReader.defaultValue$,
|
|
5166
|
+
value$,
|
|
5167
|
+
idFromParams$: paramValue$,
|
|
5168
|
+
id$: value$,
|
|
5169
|
+
init() {
|
|
5170
|
+
_paramRedirect.setUseDefaultFilter((value) => {
|
|
5171
|
+
return _useDefaultParam$.pipe(switchMap((x) => x(value)));
|
|
5172
|
+
});
|
|
5173
|
+
_paramRedirect.init();
|
|
5174
|
+
},
|
|
5175
|
+
destroy() {
|
|
5176
|
+
_paramReader.destroy();
|
|
5177
|
+
_paramRedirect.destroy();
|
|
5178
|
+
_useDefaultParamDecider.complete();
|
|
5179
|
+
},
|
|
5180
|
+
getParamKey() {
|
|
5181
|
+
return _paramReader.getParamKey();
|
|
5182
|
+
},
|
|
5183
|
+
setParamKey,
|
|
5184
|
+
setDefaultValue(defaultValue) {
|
|
5185
|
+
_paramReader.setDefaultValue(defaultValue);
|
|
5186
|
+
},
|
|
5187
|
+
setRedirectEnabled(redirect) {
|
|
5188
|
+
_paramRedirect.enabled = redirect !== false;
|
|
5189
|
+
},
|
|
5190
|
+
setDecider(decider) {
|
|
5191
|
+
_useDefaultParamDecider.next(decider);
|
|
5192
|
+
},
|
|
5193
|
+
setParamValue(value) {
|
|
5194
|
+
_paramReader.setParamValue(value);
|
|
5195
|
+
}
|
|
5196
|
+
};
|
|
5197
|
+
return result;
|
|
5198
|
+
}
|
|
5199
|
+
|
|
4496
5200
|
/**
|
|
4497
5201
|
* Token to access the FirebaseStorageContextConfig value.
|
|
4498
5202
|
*/
|
|
@@ -4580,5 +5284,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4580
5284
|
* Generated bundle index. Do not edit.
|
|
4581
5285
|
*/
|
|
4582
5286
|
|
|
4583
|
-
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, 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_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_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_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,
|
|
5287
|
+
export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractDbxFirebaseNotificationItemWidgetComponent, AbstractRootSingleItemDbxFirebaseDocument, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, 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_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY, DEFAULT_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, DbxFirebaseAnalyticsUserEventsListener, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentModuleRootConfig, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseEmulatorService, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelHistoryComponent, DbxFirebaseModelHistoryModule, DbxFirebaseModelHistoryPopoverButtonComponent, DbxFirebaseModelHistoryPopoverComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent, DbxFirebaseModelTypesModule, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModule, DbxFirebaseNotificationItemDefaultViewComponent, DbxFirebaseNotificationItemListComponent, DbxFirebaseNotificationItemListViewComponent, DbxFirebaseNotificationItemListViewItemComponent, DbxFirebaseNotificationItemStore, DbxFirebaseNotificationItemViewComponent, DbxFirebaseNotificationItemWidgetService, DbxFirebaseNotificationModule, DbxFirebaseNotificationSummaryCollectionStoreDirective, DbxFirebaseNotificationSummaryDocumentStoreDirective, DbxFirebaseNotificationTemplateService, DbxFirebaseNotificationUserCollectionStoreDirective, DbxFirebaseNotificationUserDocumentStoreDirective, DbxFirebaseParsedEmulatorsConfig, DbxFirebasePipeModule, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, DbxfirebaseModelViewedEventDirective, FIREBASE_NOTIFICATION_ITEM_WIDGET_TYPE_PREFIX, FlatFirestoreModelKeyPipe, NotificationSummaryCollectionStore, NotificationSummaryDocumentStore, NotificationUserCollectionStore, NotificationUserDocumentStore, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, SystemStateCollectionStore, SystemStateDocumentStore, TwoWayFlatFirestoreModelKeyPipe, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseAuthContextInfo, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstance, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelTypesServiceInstance, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseSourceSelectLoadSource, dbxFirebaseStorageModuleContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, dbxWidgetTypeForNotificationTemplateType, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreTwoWayKeyProvider, provideNotificationFirestoreCollections, provideSystemStateFirestoreCollections, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction };
|
|
4584
5288
|
//# sourceMappingURL=dereekb-dbx-firebase.mjs.map
|