@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.
Files changed (139) hide show
  1. package/esm2022/lib/analytics/analytics.user.source.mjs +1 -1
  2. package/esm2022/lib/auth/auth.mjs +1 -1
  3. package/esm2022/lib/auth/login/login.component.mjs +1 -1
  4. package/esm2022/lib/auth/login/login.email.content.component.mjs +1 -1
  5. package/esm2022/lib/auth/login/login.email.form.component.mjs +1 -1
  6. package/esm2022/lib/auth/login/login.service.mjs +4 -4
  7. package/esm2022/lib/auth/login/register.component.mjs +1 -1
  8. package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +3 -3
  9. package/esm2022/lib/auth/service/firebase.auth.service.mjs +1 -1
  10. package/esm2022/lib/development/development.popup.content.component.mjs +1 -1
  11. package/esm2022/lib/development/development.popup.content.form.component.mjs +1 -1
  12. package/esm2022/lib/development/development.widget.mjs +1 -1
  13. package/esm2022/lib/development/development.widget.service.mjs +1 -1
  14. package/esm2022/lib/firebase/firebase.emulator.module.mjs +1 -1
  15. package/esm2022/lib/firebase/firebase.emulator.service.mjs +1 -1
  16. package/esm2022/lib/firestore/firebase.firestore.module.mjs +16 -3
  17. package/esm2022/lib/index.mjs +2 -1
  18. package/esm2022/lib/model/loader/document.loader.instance.mjs +1 -1
  19. package/esm2022/lib/model/modules/model/model.history.component.mjs +1 -1
  20. package/esm2022/lib/model/modules/model/model.history.popover.component.mjs +3 -3
  21. package/esm2022/lib/model/modules/model/model.tracker.service.mjs +4 -4
  22. package/esm2022/lib/model/modules/model/model.types.list.component.mjs +1 -1
  23. package/esm2022/lib/model/modules/model/model.types.service.mjs +7 -4
  24. package/esm2022/lib/model/modules/store/index.mjs +4 -1
  25. package/esm2022/lib/model/modules/store/model.store.module.mjs +5 -3
  26. package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +1 -1
  27. package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +1 -1
  28. package/esm2022/lib/model/modules/store/store.document.directive.mjs +20 -5
  29. package/esm2022/lib/model/modules/store/store.document.mjs +17 -4
  30. package/esm2022/lib/model/modules/store/store.document.router.directive.mjs +15 -28
  31. package/esm2022/lib/model/modules/store/store.document.router.key.directive.mjs +15 -23
  32. package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +24 -0
  33. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +21 -0
  34. package/esm2022/lib/model/modules/store/store.document.twoway.key.source.mjs +16 -0
  35. package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +1 -1
  36. package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +1 -1
  37. package/esm2022/lib/model/modules/store/store.subcollection.mjs +1 -1
  38. package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +1 -1
  39. package/esm2022/lib/model/service/model.context.mjs +1 -1
  40. package/esm2022/lib/modules/index.mjs +2 -0
  41. package/esm2022/lib/modules/notification/component/index.mjs +5 -0
  42. package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +21 -0
  43. package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +81 -0
  44. package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +44 -0
  45. package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +25 -0
  46. package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +14 -0
  47. package/esm2022/lib/modules/notification/container/index.mjs +3 -0
  48. package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +52 -0
  49. package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +47 -0
  50. package/esm2022/lib/modules/notification/index.mjs +5 -0
  51. package/esm2022/lib/modules/notification/notification.module.mjs +102 -0
  52. package/esm2022/lib/modules/notification/service/index.mjs +4 -0
  53. package/esm2022/lib/modules/notification/service/notification.template.service.mjs +28 -0
  54. package/esm2022/lib/modules/notification/service/notificationitem.widget.mjs +11 -0
  55. package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +58 -0
  56. package/esm2022/lib/modules/notification/store/index.mjs +10 -0
  57. package/esm2022/lib/modules/notification/store/notification.item.store.mjs +30 -0
  58. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +20 -0
  59. package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +16 -0
  60. package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +20 -0
  61. package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +22 -0
  62. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +20 -0
  63. package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +16 -0
  64. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +20 -0
  65. package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +34 -0
  66. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +20 -0
  67. package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +16 -0
  68. package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +20 -0
  69. package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +18 -0
  70. package/esm2022/lib/pipe/key.pipe.mjs +1 -1
  71. package/fesm2022/dereekb-dbx-firebase.mjs +839 -135
  72. package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
  73. package/lib/analytics/analytics.user.source.d.ts +1 -1
  74. package/lib/auth/auth.d.ts +1 -1
  75. package/lib/auth/login/login.component.d.ts +1 -1
  76. package/lib/auth/login/login.email.content.component.d.ts +1 -1
  77. package/lib/auth/login/login.email.form.component.d.ts +1 -1
  78. package/lib/auth/login/register.component.d.ts +1 -1
  79. package/lib/auth/service/firebase.auth.service.d.ts +1 -1
  80. package/lib/development/development.popup.content.component.d.ts +2 -2
  81. package/lib/development/development.popup.content.form.component.d.ts +1 -1
  82. package/lib/development/development.widget.d.ts +2 -2
  83. package/lib/development/development.widget.service.d.ts +1 -1
  84. package/lib/firebase/firebase.emulator.service.d.ts +1 -1
  85. package/lib/firestore/firebase.firestore.module.d.ts +11 -4
  86. package/lib/index.d.ts +1 -0
  87. package/lib/model/loader/document.loader.instance.d.ts +1 -1
  88. package/lib/model/modules/model/model.history.component.d.ts +2 -2
  89. package/lib/model/modules/model/model.history.popover.component.d.ts +2 -2
  90. package/lib/model/modules/model/model.types.list.component.d.ts +2 -2
  91. package/lib/model/modules/model/model.types.service.d.ts +2 -1
  92. package/lib/model/modules/store/index.d.ts +3 -0
  93. package/lib/model/modules/store/model.store.module.d.ts +3 -1
  94. package/lib/model/modules/store/store.collection.change.directive.d.ts +1 -1
  95. package/lib/model/modules/store/store.collection.change.if.directive.d.ts +1 -1
  96. package/lib/model/modules/store/store.document.directive.d.ts +23 -16
  97. package/lib/model/modules/store/store.document.router.directive.d.ts +7 -15
  98. package/lib/model/modules/store/store.document.router.key.directive.d.ts +8 -14
  99. package/lib/model/modules/store/store.document.twoway.key.directive.d.ts +15 -0
  100. package/lib/model/modules/store/store.document.twoway.key.source.d.ts +10 -0
  101. package/lib/model/modules/store/store.document.twoway.key.source.directive.d.ts +13 -0
  102. package/lib/model/modules/store/store.subcollection.d.ts +1 -1
  103. package/lib/model/modules/store/store.subcollection.directive.d.ts +1 -1
  104. package/lib/model/modules/store/store.subcollection.document.d.ts +1 -1
  105. package/lib/model/modules/store/store.subcollection.rxjs.d.ts +1 -1
  106. package/lib/model/service/model.context.d.ts +3 -3
  107. package/lib/modules/index.d.ts +1 -0
  108. package/lib/modules/notification/component/index.d.ts +4 -0
  109. package/lib/modules/notification/component/notificationitem.content.component.d.ts +9 -0
  110. package/lib/modules/notification/component/notificationitem.content.scss +5 -0
  111. package/lib/modules/notification/component/notificationitem.list.component.d.ts +24 -0
  112. package/lib/modules/notification/component/notificationitem.view.component.d.ts +15 -0
  113. package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +9 -0
  114. package/lib/modules/notification/component/notificationitem.view.directive.d.ts +8 -0
  115. package/lib/modules/notification/container/index.d.ts +2 -0
  116. package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +17 -0
  117. package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +50 -0
  118. package/lib/modules/notification/index.d.ts +4 -0
  119. package/lib/modules/notification/notification.module.d.ts +30 -0
  120. package/lib/modules/notification/service/index.d.ts +3 -0
  121. package/lib/modules/notification/service/notification.template.service.d.ts +11 -0
  122. package/lib/modules/notification/service/notificationitem.widget.d.ts +26 -0
  123. package/lib/modules/notification/service/notificationitem.widget.service.d.ts +22 -0
  124. package/lib/modules/notification/store/index.d.ts +9 -0
  125. package/lib/modules/notification/store/notification.item.store.d.ts +28 -0
  126. package/lib/modules/notification/store/notificationbox.collection.store.d.ts +8 -0
  127. package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +9 -0
  128. package/lib/modules/notification/store/notificationbox.document.store.d.ts +13 -0
  129. package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +9 -0
  130. package/lib/modules/notification/store/notificationsummary.collection.store.d.ts +8 -0
  131. package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +9 -0
  132. package/lib/modules/notification/store/notificationsummary.document.store.d.ts +21 -0
  133. package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +9 -0
  134. package/lib/modules/notification/store/notificationuser.collection.store.d.ts +8 -0
  135. package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +9 -0
  136. package/lib/modules/notification/store/notificationuser.document.store.d.ts +11 -0
  137. package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +9 -0
  138. package/lib/pipe/key.pipe.d.ts +1 -1
  139. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { DbxAnalyticsUser, DbxAnalyticsUserProperties, DbxAnalyticsUserSource } from '@dereekb/dbx-analytics';
2
- import { FactoryWithRequiredInput, Maybe } from '@dereekb/util';
2
+ import { FactoryWithRequiredInput, type Maybe } from '@dereekb/util';
3
3
  import { Observable } from 'rxjs';
4
4
  import { AuthUserInfo } from '../auth/auth';
5
5
  import { DbxFirebaseAuthService } from '../auth/service/firebase.auth.service';
@@ -1,5 +1,5 @@
1
1
  import { FirebaseAuthToken } from '@dereekb/firebase';
2
- import { ISO8601DateString, Maybe } from '@dereekb/util';
2
+ import { ISO8601DateString, type Maybe } from '@dereekb/util';
3
3
  import { User, UserInfo } from 'firebase/auth';
4
4
  export type AuthUserInfo = Omit<UserInfo, 'providerId'> & {
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { DbxFirebaseLoginMode, FirebaseLoginMethodCategory, FirebaseLoginMethodType } from './login';
2
- import { ArrayOrValue, Maybe } from '@dereekb/util';
2
+ import { ArrayOrValue, type Maybe } from '@dereekb/util';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Pre-configured login component that displays all configured login types.
@@ -6,7 +6,7 @@ import { EventEmitter, OnDestroy } from '@angular/core';
6
6
  import { DbxFirebaseLoginContext } from './login.context';
7
7
  import { DbxFirebaseEmailFormValue, DbxFirebaseEmailFormConfig } from './login.email.form.component';
8
8
  import { DbxFirebaseLoginMode } from './login';
9
- import { Maybe } from '@dereekb/util';
9
+ import { type Maybe } from '@dereekb/util';
10
10
  import * as i0 from "@angular/core";
11
11
  export interface DbxFirebaseLoginEmailContentComponentConfig extends DbxFirebaseEmailFormConfig {
12
12
  loginMode: DbxFirebaseLoginMode;
@@ -1,6 +1,6 @@
1
1
  import { OnDestroy } from '@angular/core';
2
2
  import { TextPasswordFieldConfig, AbstractAsyncFormlyFormDirective, DefaultUsernameLoginFieldsValue } from '@dereekb/dbx-form';
3
- import { Maybe } from '@dereekb/util';
3
+ import { type Maybe } from '@dereekb/util';
4
4
  import { FormlyFieldConfig } from '@ngx-formly/core';
5
5
  import { Observable } from 'rxjs';
6
6
  import { DbxFirebaseLoginMode } from './login';
@@ -1,5 +1,5 @@
1
1
  import { FirebaseLoginMethodCategory, FirebaseLoginMethodType } from './login';
2
- import { ArrayOrValue, Maybe } from '@dereekb/util';
2
+ import { ArrayOrValue, type Maybe } from '@dereekb/util';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
5
5
  * Pre-configured register component that displays all configured login types and their registration components.
@@ -1,7 +1,7 @@
1
1
  import { AuthUserState, DbxAuthService, AuthUserIdentifier, NoAuthUserIdentifier } from '@dereekb/dbx-core';
2
2
  import { Auth, User, IdTokenResult, ParsedToken, AuthProvider, PopupRedirectResolver, UserCredential } from '@angular/fire/auth';
3
3
  import { Observable } from 'rxjs';
4
- import { AuthClaims, AuthClaimsObject, AuthRoleClaimsService, AuthRoleSet, Maybe } from '@dereekb/util';
4
+ import { AuthClaims, AuthClaimsObject, AuthRoleClaimsService, AuthRoleSet, type Maybe } from '@dereekb/util';
5
5
  import { AuthUserInfo } from '../auth';
6
6
  import { FirebaseAuthContextInfo } from '@dereekb/firebase';
7
7
  import * as i0 from "@angular/core";
@@ -2,7 +2,7 @@ import { ClickableAnchor, DbxAuthService } from '@dereekb/dbx-core';
2
2
  import { OnDestroy, OnInit } from '@angular/core';
3
3
  import { DbxWidgetDataPair, TwoColumnsContextStore } from '@dereekb/dbx-web';
4
4
  import { WorkUsingContext, IsModifiedFunction } from '@dereekb/rxjs';
5
- import { Maybe } from '@dereekb/util';
5
+ import { type Maybe } from '@dereekb/util';
6
6
  import { Observable } from 'rxjs';
7
7
  import { DbxFirebaseDevelopmentWidgetService } from './development.widget.service';
8
8
  import { DbxFirebaseDevelopmentSchedulerService } from './development.scheduler.service';
@@ -19,7 +19,7 @@ export declare class DbxFirebaseDevelopmentPopupContentComponent implements OnIn
19
19
  readonly showEmulatorButton: boolean;
20
20
  readonly emulatorUIAnchor: ClickableAnchor;
21
21
  readonly entries: import("@dereekb/dbx-firebase").DbxFirebaseDevelopmentWidgetEntry[];
22
- private _activeEntrySelector;
22
+ private readonly _activeEntrySelector;
23
23
  readonly isLoggedIn$: Observable<boolean>;
24
24
  readonly entries$: Observable<import("@dereekb/dbx-firebase").DbxFirebaseDevelopmentWidgetEntry[]>;
25
25
  readonly formConfig$: Observable<{
@@ -1,5 +1,5 @@
1
1
  import { AbstractConfigAsyncFormlyFormDirective } from '@dereekb/dbx-form';
2
- import { Maybe } from '@dereekb/util';
2
+ import { type Maybe } from '@dereekb/util';
3
3
  import { FormlyFieldConfig } from '@ngx-formly/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import { DbxFirebaseDevelopmentWidgetEntry } from './development.widget';
@@ -1,6 +1,6 @@
1
1
  import { DbxWidgetEntry } from '@dereekb/dbx-web';
2
- export interface DbxFirebaseDevelopmentWidgetEntry {
3
- readonly label: string;
2
+ import { LabelRef } from '@dereekb/util';
3
+ export interface DbxFirebaseDevelopmentWidgetEntry extends Readonly<LabelRef> {
4
4
  /**
5
5
  * Widget entry for this provider.
6
6
  */
@@ -13,7 +13,7 @@ export declare const DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN: Inject
13
13
  */
14
14
  export declare class DbxFirebaseDevelopmentWidgetService {
15
15
  readonly dbxWidgetService: DbxWidgetService;
16
- private _entries;
16
+ private readonly _entries;
17
17
  constructor(defaultEntries: DbxFirebaseDevelopmentWidgetEntry[]);
18
18
  /**
19
19
  * Used to register a provider. If a provider is already registered, this will override it by default.
@@ -1,5 +1,5 @@
1
1
  import { ClickableUrl } from '@dereekb/dbx-core';
2
- import { Maybe } from '@dereekb/util';
2
+ import { type Maybe } from '@dereekb/util';
3
3
  import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class DbxFirebaseEmulatorService {
@@ -1,17 +1,24 @@
1
1
  import { ModuleWithProviders } from '@angular/core';
2
- import { FirestoreContext, SystemStateFirestoreCollections } from '@dereekb/firebase';
2
+ import { FirestoreContext, NotificationFirestoreCollections, SystemStateFirestoreCollections } from '@dereekb/firebase';
3
3
  import { ClassLikeType } from '@dereekb/util';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare function provideSystemStateFirestoreCollections(appCollection: SystemStateFirestoreCollections): SystemStateFirestoreCollections;
6
+ export declare function provideNotificationFirestoreCollections(appCollection: NotificationFirestoreCollections): NotificationFirestoreCollections;
6
7
  export interface DbxFirebaseFirestoreCollectionModuleConfig<T> {
7
- appCollectionClass: ClassLikeType<T>;
8
- collectionFactory: (context: FirestoreContext) => T;
8
+ readonly appCollectionClass: ClassLikeType<T>;
9
+ readonly collectionFactory: (context: FirestoreContext) => T;
9
10
  /**
10
11
  * Whether or not to provide the SystemStateFirestoreCollections.
11
12
  *
12
13
  * True by default.
13
14
  */
14
- provideSystemStateFirestoreCollections?: boolean;
15
+ readonly provideSystemStateFirestoreCollections?: boolean;
16
+ /**
17
+ * Whether or not to provide the NotificationFirestoreCollections.
18
+ *
19
+ * False by default.
20
+ */
21
+ readonly provideNotificationFirestoreCollections?: boolean;
15
22
  }
16
23
  /**
17
24
  * Used to initialize the FirestoreCollection for a DbxFirebase app.
package/lib/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './firebase';
5
5
  export * from './firestore';
6
6
  export * from './function';
7
7
  export * from './model';
8
+ export * from './modules';
8
9
  export * from './pipe';
9
10
  export * from './router';
10
11
  export * from './storage';
@@ -1,7 +1,7 @@
1
1
  import { ObservableOrValue, PageListLoadingState, SubscriptionObject } from '@dereekb/rxjs';
2
2
  import { BehaviorSubject, Subject, Observable } from 'rxjs';
3
3
  import { DocumentDataWithIdAndKey, DocumentReference, DocumentSnapshot, FirestoreDocument, FirestoreDocumentAccessor, FirestoreModelKey, LimitedFirestoreDocumentAccessor } from '@dereekb/firebase';
4
- import { ArrayOrValue, Destroyable, Maybe } from '@dereekb/util';
4
+ import { ArrayOrValue, Destroyable, type Maybe } from '@dereekb/util';
5
5
  import { DbxFirebaseDocumentLoader, DbxLimitedFirebaseDocumentLoader } from './document.loader';
6
6
  export interface DbxFirebaseDocumentLoaderInstanceInitConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, A extends LimitedFirestoreDocumentAccessor<T, D> = LimitedFirestoreDocumentAccessor<T, D>> {
7
7
  readonly accessor: A;
@@ -1,12 +1,12 @@
1
1
  import { OnDestroy } from '@angular/core';
2
2
  import { AnchorForValueFunction } from '@dereekb/dbx-web';
3
- import { Maybe } from '@dereekb/util';
3
+ import { type Maybe } from '@dereekb/util';
4
4
  import { DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTrackerService } from './model.tracker.service';
5
5
  import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class DbxFirebaseModelHistoryComponent implements OnDestroy {
8
8
  readonly dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
9
- private _historyFilter;
9
+ private readonly _historyFilter;
10
10
  anchorForItem?: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair>>;
11
11
  get historyFilter(): Maybe<DbxFirebaseModelTrackerHistoryFilter>;
12
12
  set historyFilter(historyFilter: Maybe<DbxFirebaseModelTrackerHistoryFilter>);
@@ -1,7 +1,7 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import { NgPopoverRef } from 'ng-overlay-container';
3
3
  import { AbstractPopoverDirective, AnchorForValueFunction, DbxPopoverKey, DbxPopoverService } from '@dereekb/dbx-web';
4
- import { Maybe } from '@dereekb/util';
4
+ import { type Maybe } from '@dereekb/util';
5
5
  import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
6
6
  import { DbxFirebaseModelTrackerHistoryFilter } from './model.tracker.service';
7
7
  import * as i0 from "@angular/core";
@@ -35,7 +35,7 @@ export interface DbxFirebaseModelHistoryPopoverParams {
35
35
  */
36
36
  anchorForItem?: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair>>;
37
37
  }
38
- export declare const DEFAULT_FIREBASE_HISTORY_COMPONENT_POPOVER_KEY = "history";
38
+ export declare const DEFAULT_DBX_FIREBASE_MODEL_HISTORY_COMPONENT_POPOVER_KEY = "history";
39
39
  export declare class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseModelHistoryPopoverParams> {
40
40
  static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, historyFilter, anchorForItem }: DbxFirebaseModelHistoryPopoverParams, popoverKey?: DbxPopoverKey): NgPopoverRef;
41
41
  get params(): DbxFirebaseModelHistoryPopoverParams;
@@ -1,7 +1,7 @@
1
1
  import { AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListViewItemComponent, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewConfig, DbxValueAsListItem } from '@dereekb/dbx-web';
2
2
  import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
3
3
  import * as i0 from "@angular/core";
4
- export type DbxFirestoreModelTypeInstanceItem = DbxValueAsListItem<DbxFirebaseModelTypesServiceInstancePair>;
4
+ export type DbxFirebaseModelTypeInstanceItem = DbxValueAsListItem<DbxFirebaseModelTypesServiceInstancePair>;
5
5
  /**
6
6
  * Renders an item as configured from the DbxFirebaseModelTypesServiceInstancePair.
7
7
  */
@@ -11,7 +11,7 @@ export declare class DbxFirebaseModelTypeInstanceComponent extends AbstractDbxSe
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceComponent, "dbx-firebase-model-type-instance-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]"], false, never>;
12
12
  }
13
13
  export declare class DbxFirebaseModelTypeInstanceViewComponent extends AbstractDbxSelectionListViewDirective<DbxFirebaseModelTypesServiceInstancePair> {
14
- readonly config: DbxSelectionValueListViewConfig<DbxFirestoreModelTypeInstanceItem>;
14
+ readonly config: DbxSelectionValueListViewConfig<DbxFirebaseModelTypeInstanceItem>;
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelTypeInstanceViewComponent, never>;
16
16
  static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelTypeInstanceViewComponent, "dbx-firebase-model-type-instance-list-view", never, {}, {}, never, never, false, never>;
17
17
  }
@@ -74,12 +74,13 @@ export interface DbxFirebaseModelTypesServiceInstance<D extends FirestoreDocumen
74
74
  readonly dbxFirebaseModelTypesService: DbxFirebaseModelTypesService;
75
75
  readonly key$: Observable<string>;
76
76
  readonly modelType$: Observable<string>;
77
- readonly snapshotData$: Observable<FirestoreDocumentData<D>>;
77
+ readonly snapshotData$: Observable<Maybe<FirestoreDocumentData<D>>>;
78
78
  readonly typeInfo$: Observable<DbxFirebaseModelTypeInfo<unknown>>;
79
79
  readonly identity$: Observable<FirestoreModelIdentity>;
80
80
  readonly segueRef$: Observable<Maybe<SegueRef>>;
81
81
  readonly displayInfo$: Observable<DbxFirebaseModelDisplayInfo>;
82
82
  readonly clickableSegueRef$: Observable<Maybe<ClickableAnchorLinkSegueRef>>;
83
+ readonly safeInstancePair$: Observable<Maybe<DbxFirebaseModelTypesServiceInstancePair>>;
83
84
  readonly instancePair$: Observable<DbxFirebaseModelTypesServiceInstancePair>;
84
85
  }
85
86
  export declare function dbxFirebaseModelTypesServiceInstance<D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole>(modelInfoInstance$: Observable<DbxFirebaseInContextFirebaseModelInfoServiceInstance<D, R>>, dbxFirebaseModelTypesService: DbxFirebaseModelTypesService): DbxFirebaseModelTypesServiceInstance<D, R>;
@@ -10,6 +10,9 @@ export * from './store.document.auth.directive';
10
10
  export * from './store.document.directive';
11
11
  export * from './store.document.router.directive';
12
12
  export * from './store.document.router.key.directive';
13
+ export * from './store.document.twoway.key.directive';
14
+ export * from './store.document.twoway.key.source.directive';
15
+ export * from './store.document.twoway.key.source';
13
16
  export * from './store.subcollection';
14
17
  export * from './store.subcollection.document';
15
18
  export * from './store.subcollection.directive';
@@ -5,8 +5,10 @@ import * as i3 from "./store.collection.change.directive";
5
5
  import * as i4 from "./store.collection.change.if.directive";
6
6
  import * as i5 from "./store.document.router.directive";
7
7
  import * as i6 from "./store.document.auth.directive";
8
+ import * as i7 from "./store.document.twoway.key.source.directive";
9
+ import * as i8 from "./store.document.twoway.key.directive";
8
10
  export declare class DbxFirebaseModelStoreModule {
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelStoreModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelStoreModule, [typeof i1.DbxFirebaseDocumentStoreRouteKeyDirective, typeof i2.DbxFirebaseCollectionListDirective, typeof i3.DbxFirebaseCollectionChangeDirective, typeof i4.DbxFirebaseCollectionHasChangeDirective, typeof i5.DbxFirebaseDocumentStoreRouteIdDirective, typeof i6.DbxFirebaseDocumentAuthIdDirective], never, [typeof i1.DbxFirebaseDocumentStoreRouteKeyDirective, typeof i2.DbxFirebaseCollectionListDirective, typeof i3.DbxFirebaseCollectionChangeDirective, typeof i4.DbxFirebaseCollectionHasChangeDirective, typeof i5.DbxFirebaseDocumentStoreRouteIdDirective, typeof i6.DbxFirebaseDocumentAuthIdDirective]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelStoreModule, [typeof i1.DbxFirebaseDocumentStoreRouteKeyDirective, typeof i2.DbxFirebaseCollectionListDirective, typeof i3.DbxFirebaseCollectionChangeDirective, typeof i4.DbxFirebaseCollectionHasChangeDirective, typeof i5.DbxFirebaseDocumentStoreRouteIdDirective, typeof i6.DbxFirebaseDocumentAuthIdDirective, typeof i7.DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof i8.DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective], never, [typeof i1.DbxFirebaseDocumentStoreRouteKeyDirective, typeof i2.DbxFirebaseCollectionListDirective, typeof i3.DbxFirebaseCollectionChangeDirective, typeof i4.DbxFirebaseCollectionHasChangeDirective, typeof i5.DbxFirebaseDocumentStoreRouteIdDirective, typeof i6.DbxFirebaseDocumentAuthIdDirective, typeof i7.DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, typeof i8.DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective]>;
11
13
  static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelStoreModule>;
12
14
  }
@@ -1,6 +1,6 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { FirestoreDocument } from '@dereekb/firebase';
3
- import { Maybe } from '@dereekb/util';
3
+ import { type Maybe } from '@dereekb/util';
4
4
  import { DbxFirebaseCollectionStore } from './store.collection';
5
5
  import { DbxFirebaseCollectionStoreDirective } from './store.collection.directive';
6
6
  import { DbxFirebaseCollectionChangeWatcher, DbxFirebaseCollectionChangeWatcherEvent, DbxFirebaseCollectionChangeWatcherTriggerMode } from '../../loader/collection.change.watcher';
@@ -3,7 +3,7 @@ import { AbstractIfDirective } from '@dereekb/dbx-core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { DbxFirebaseCollectionChangeDirective } from './store.collection.change.directive';
5
5
  import { IterationQueryDocChangeWatcherChangeType } from '@dereekb/firebase';
6
- import { Maybe } from '@dereekb/util';
6
+ import { type Maybe } from '@dereekb/util';
7
7
  import * as i0 from "@angular/core";
8
8
  export type DbxFirebaseCollectionHasChangeDirectiveMode = 'all' | IterationQueryDocChangeWatcherChangeType;
9
9
  /**
@@ -1,25 +1,29 @@
1
1
  import { OnDestroy, Provider, Type } from '@angular/core';
2
- import { DocumentReference, FirestoreAccessorStreamMode, FirestoreDocument, FirestoreModelKey, FirestoreModelId } from '@dereekb/firebase';
3
- import { Maybe } from '@dereekb/util';
2
+ import { DocumentReference, FirestoreAccessorStreamMode, FirestoreDocument, FirestoreModelKey, FirestoreModelId, TwoWayFlatFirestoreModelKey } from '@dereekb/firebase';
3
+ import { ModelKey, type Maybe } from '@dereekb/util';
4
4
  import { DbxFirebaseDocumentStore } from './store.document';
5
+ import { Observable, Subscription } from 'rxjs';
6
+ import { DbxRouteModelIdDirectiveDelegate, DbxRouteModelKeyDirectiveDelegate } from '@dereekb/dbx-core';
7
+ import { DbxFirebaseDocumentStoreTwoWayKeyProvider } from './store.document.twoway.key.source';
5
8
  import * as i0 from "@angular/core";
6
9
  /**
7
10
  * Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
8
11
  */
9
- export declare abstract class DbxFirebaseDocumentStoreDirective<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>, S extends DbxFirebaseDocumentStore<T, D> = DbxFirebaseDocumentStore<T, D>> implements OnDestroy {
12
+ export declare abstract class DbxFirebaseDocumentStoreDirective<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>, S extends DbxFirebaseDocumentStore<T, D> = DbxFirebaseDocumentStore<T, D>> implements DbxFirebaseDocumentStoreTwoWayKeyProvider, DbxRouteModelIdDirectiveDelegate, DbxRouteModelKeyDirectiveDelegate, OnDestroy {
10
13
  private readonly _store;
11
- readonly store$: import("rxjs").Observable<S>;
12
- readonly exists$: import("rxjs").Observable<boolean>;
13
- readonly document$: import("rxjs").Observable<D>;
14
- readonly documentLoadingState$: import("rxjs").Observable<import("@dereekb/rxjs").LoadingState<D>>;
15
- readonly id$: import("rxjs").Observable<string>;
16
- readonly key$: import("rxjs").Observable<string>;
17
- readonly ref$: import("rxjs").Observable<DocumentReference<T>>;
18
- readonly snapshot$: import("rxjs").Observable<import("@dereekb/firebase").DocumentSnapshot<T>>;
19
- readonly snapshotLoadingState$: import("rxjs").Observable<import("@dereekb/rxjs").LoadingState<import("@dereekb/firebase").DocumentSnapshot<T>>>;
20
- readonly modelIdentity$: import("rxjs").Observable<import("@dereekb/firebase").FirestoreModelIdentity>;
21
- readonly data$: import("rxjs").Observable<import("@dereekb/firebase").DocumentDataWithIdAndKey<T>>;
22
- readonly loadingState$: import("rxjs").Observable<import("@dereekb/rxjs").LoadingState<import("@dereekb/firebase").DocumentDataWithIdAndKey<T>>>;
14
+ readonly store$: Observable<S>;
15
+ readonly exists$: Observable<boolean>;
16
+ readonly document$: Observable<D>;
17
+ readonly documentLoadingState$: Observable<import("@dereekb/rxjs").LoadingState<D>>;
18
+ readonly id$: Observable<string>;
19
+ readonly key$: Observable<string>;
20
+ readonly twoWayFlatKey$: Observable<string>;
21
+ readonly ref$: Observable<DocumentReference<T>>;
22
+ readonly snapshot$: Observable<import("@dereekb/firebase").DocumentSnapshot<T>>;
23
+ readonly snapshotLoadingState$: Observable<import("@dereekb/rxjs").LoadingState<import("@dereekb/firebase").DocumentSnapshot<T>>>;
24
+ readonly modelIdentity$: Observable<import("@dereekb/firebase").FirestoreModelIdentity>;
25
+ readonly data$: Observable<import("@dereekb/firebase").DocumentDataWithIdAndKey<T>>;
26
+ readonly loadingState$: Observable<import("@dereekb/rxjs").LoadingState<import("@dereekb/firebase").DocumentDataWithIdAndKey<T>>>;
23
27
  constructor(store: S);
24
28
  ngOnDestroy(): void;
25
29
  get store(): S;
@@ -27,12 +31,15 @@ export declare abstract class DbxFirebaseDocumentStoreDirective<T = unknown, D e
27
31
  * Replaces the internal store.
28
32
  */
29
33
  replaceStore(store: S): void;
34
+ useRouteModelIdParamsObservable(idFromParams: Observable<Maybe<ModelKey>>): Subscription;
35
+ useRouteModelKeyParamsObservable(keyFromParams: Observable<Maybe<ModelKey>>): Subscription;
30
36
  set documentId(documentId: Maybe<FirestoreModelId>);
31
37
  set key(key: Maybe<FirestoreModelKey>);
38
+ set flatKey(flatKey: Maybe<TwoWayFlatFirestoreModelKey>);
32
39
  set ref(ref: Maybe<DocumentReference<T>>);
33
40
  set streamMode(streamMode: FirestoreAccessorStreamMode);
34
41
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreDirective<any, any, any>, never>;
35
- static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreDirective<any, any, any>, never, never, { "documentId": { "alias": "documentId"; "required": false; }; "key": { "alias": "key"; "required": false; }; "ref": { "alias": "ref"; "required": false; }; "streamMode": { "alias": "streamMode"; "required": false; }; }, {}, never, never, false, never>;
42
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreDirective<any, any, any>, never, never, { "documentId": { "alias": "documentId"; "required": false; }; "key": { "alias": "key"; "required": false; }; "flatKey": { "alias": "flatKey"; "required": false; }; "ref": { "alias": "ref"; "required": false; }; "streamMode": { "alias": "streamMode"; "required": false; }; }, {}, never, never, false, never>;
36
43
  }
37
44
  /**
38
45
  * Configures providers for a DbxFirebaseDocumentStoreDirective.
@@ -1,23 +1,15 @@
1
- import { Observable } from 'rxjs';
2
- import { OnDestroy, OnInit } from '@angular/core';
3
- import { DbxRouterService, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
4
- import { DbxFirebaseDocumentStoreDirective } from './store.document.directive';
1
+ import { DbxRouteModelIdDirective } from '@dereekb/dbx-core';
5
2
  import { Maybe, ModelKey } from '@dereekb/util';
6
3
  import { MaybeObservableOrValueGetter, SwitchMapToDefaultFilterFunction } from '@dereekb/rxjs';
7
4
  import * as i0 from "@angular/core";
8
5
  /**
9
6
  * Used for synchronizing the document store id to the param of the route.
7
+ *
8
+ * @deprecated use DbxRouteModelIdDirective instead.
10
9
  */
11
- export declare class DbxFirebaseDocumentStoreRouteIdDirective<T = unknown> extends AbstractSubscriptionDirective implements OnInit, OnDestroy {
12
- readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<T, import("dist/packages/firebase/src").FirestoreDocument<T, import("dist/packages/firebase/src").FirestoreModelIdentity>, import("@dereekb/dbx-firebase").DbxFirebaseDocumentStore<T, import("dist/packages/firebase/src").FirestoreDocument<T, import("dist/packages/firebase/src").FirestoreModelIdentity>>>;
13
- readonly dbxRouterService: DbxRouterService;
14
- private readonly _redirectInstance;
15
- readonly idFromParams$: Observable<Maybe<ModelKey>>;
16
- readonly id$: Observable<Maybe<ModelKey>>;
17
- ngOnInit(): void;
18
- ngOnDestroy(): void;
19
- get idParam(): string;
20
- set idParam(idParam: string);
10
+ export declare class DbxFirebaseDocumentStoreRouteIdDirective<T = unknown> extends DbxRouteModelIdDirective {
11
+ get dbxFirebaseDocumentStoreRouteId(): string;
12
+ set dbxFirebaseDocumentStoreRouteId(idParam: string);
21
13
  set dbxFirebaseDocumentStoreRouteIdDefault(defaultValue: MaybeObservableOrValueGetter<ModelKey>);
22
14
  /**
23
15
  * Whether or not to enable the redirection. Is enabled by default.
@@ -25,5 +17,5 @@ export declare class DbxFirebaseDocumentStoreRouteIdDirective<T = unknown> exten
25
17
  set dbxFirebaseDocumentStoreRouteIdDefaultRedirect(redirect: Maybe<boolean> | '');
26
18
  set dbxFirebaseDocumentStoreRouteIdDefaultDecision(decider: string | SwitchMapToDefaultFilterFunction<ModelKey>);
27
19
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreRouteIdDirective<any>, never>;
28
- static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreRouteIdDirective<any>, "[dbxFirebaseDocumentStoreRouteId]", never, { "idParam": { "alias": "dbxFirebaseDocumentStoreRouteId"; "required": false; }; "dbxFirebaseDocumentStoreRouteIdDefault": { "alias": "dbxFirebaseDocumentStoreRouteIdDefault"; "required": false; }; "dbxFirebaseDocumentStoreRouteIdDefaultRedirect": { "alias": "dbxFirebaseDocumentStoreRouteIdDefaultRedirect"; "required": false; }; "dbxFirebaseDocumentStoreRouteIdDefaultDecision": { "alias": "dbxFirebaseDocumentStoreRouteIdDefaultDecision"; "required": false; }; }, {}, never, never, false, never>;
20
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreRouteIdDirective<any>, "[dbxFirebaseDocumentStoreRouteId]", never, { "dbxFirebaseDocumentStoreRouteId": { "alias": "dbxFirebaseDocumentStoreRouteId"; "required": false; }; "dbxFirebaseDocumentStoreRouteIdDefault": { "alias": "dbxFirebaseDocumentStoreRouteIdDefault"; "required": false; }; "dbxFirebaseDocumentStoreRouteIdDefaultRedirect": { "alias": "dbxFirebaseDocumentStoreRouteIdDefaultRedirect"; "required": false; }; "dbxFirebaseDocumentStoreRouteIdDefaultDecision": { "alias": "dbxFirebaseDocumentStoreRouteIdDefaultDecision"; "required": false; }; }, {}, never, never, false, never>;
29
21
  }
@@ -1,24 +1,18 @@
1
- import { Observable } from 'rxjs';
2
- import { OnDestroy, OnInit } from '@angular/core';
3
- import { DbxRouterService, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
1
+ import { DbxRouteModelKeyDirective } from '@dereekb/dbx-core';
4
2
  import { DbxFirebaseDocumentStoreDirective } from './store.document.directive';
5
3
  import { Maybe, ModelKey } from '@dereekb/util';
6
4
  import { MaybeObservableOrValueGetter, SwitchMapToDefaultFilterFunction } from '@dereekb/rxjs';
7
- import { TwoWayFlatFirestoreModelKey } from '@dereekb/firebase';
8
5
  import * as i0 from "@angular/core";
9
6
  /**
10
7
  * Used for synchronizing the document store key to the param of the route. The param is interpreted as a TwoWayFlatFirestoreModelKey.
8
+ *
9
+ * @deprecated use DbxRouteModelKeyDirective instead.
11
10
  */
12
- export declare class DbxFirebaseDocumentStoreRouteKeyDirective<T = unknown> extends AbstractSubscriptionDirective implements OnInit, OnDestroy {
13
- readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<T, import("@dereekb/firebase").FirestoreDocument<T, import("@dereekb/firebase").FirestoreModelIdentity>, import("@dereekb/dbx-firebase").DbxFirebaseDocumentStore<T, import("@dereekb/firebase").FirestoreDocument<T, import("@dereekb/firebase").FirestoreModelIdentity>>>;
14
- readonly dbxRouterService: DbxRouterService;
15
- private readonly _redirectInstance;
16
- readonly keyFromParams$: Observable<Maybe<ModelKey>>;
17
- readonly key$: Observable<Maybe<TwoWayFlatFirestoreModelKey>>;
11
+ export declare class DbxFirebaseDocumentStoreRouteKeyDirective<T = unknown> extends DbxRouteModelKeyDirective {
12
+ readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<T, import("dist/packages/firebase/src").FirestoreDocument<T, import("dist/packages/firebase/src").FirestoreModelIdentity>, import("@dereekb/dbx-firebase").DbxFirebaseDocumentStore<T, import("dist/packages/firebase/src").FirestoreDocument<T, import("dist/packages/firebase/src").FirestoreModelIdentity>>>;
18
13
  ngOnInit(): void;
19
- ngOnDestroy(): void;
20
- get keyParam(): string;
21
- set keyParam(idParam: string);
14
+ get dbxFirebaseDocumentStoreRouteKey(): string;
15
+ set dbxFirebaseDocumentStoreRouteKey(keyParam: string);
22
16
  set dbxFirebaseDocumentStoreRouteKeyDefault(defaultValue: MaybeObservableOrValueGetter<ModelKey>);
23
17
  /**
24
18
  * Whether or not to enable the redirection. Is enabled by default.
@@ -26,5 +20,5 @@ export declare class DbxFirebaseDocumentStoreRouteKeyDirective<T = unknown> exte
26
20
  set dbxFirebaseDocumentStoreRouteKeyDefaultRedirect(redirect: Maybe<boolean> | '');
27
21
  set dbxFirebaseDocumentStoreRouteKeyDefaultDecision(decider: string | SwitchMapToDefaultFilterFunction<ModelKey>);
28
22
  static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreRouteKeyDirective<any>, never>;
29
- static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreRouteKeyDirective<any>, "[dbxFirebaseDocumentStoreRouteKey]", never, { "keyParam": { "alias": "dbxFirebaseDocumentStoreRouteKey"; "required": false; }; "dbxFirebaseDocumentStoreRouteKeyDefault": { "alias": "dbxFirebaseDocumentStoreRouteKeyDefault"; "required": false; }; "dbxFirebaseDocumentStoreRouteKeyDefaultRedirect": { "alias": "dbxFirebaseDocumentStoreRouteKeyDefaultRedirect"; "required": false; }; "dbxFirebaseDocumentStoreRouteKeyDefaultDecision": { "alias": "dbxFirebaseDocumentStoreRouteKeyDefaultDecision"; "required": false; }; }, {}, never, never, false, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreRouteKeyDirective<any>, "[dbxFirebaseDocumentStoreRouteKey]", never, { "dbxFirebaseDocumentStoreRouteKey": { "alias": "dbxFirebaseDocumentStoreRouteKey"; "required": false; }; "dbxFirebaseDocumentStoreRouteKeyDefault": { "alias": "dbxFirebaseDocumentStoreRouteKeyDefault"; "required": false; }; "dbxFirebaseDocumentStoreRouteKeyDefaultRedirect": { "alias": "dbxFirebaseDocumentStoreRouteKeyDefaultRedirect"; "required": false; }; "dbxFirebaseDocumentStoreRouteKeyDefaultDecision": { "alias": "dbxFirebaseDocumentStoreRouteKeyDefaultDecision"; "required": false; }; }, {}, never, never, false, never>;
30
24
  }
@@ -0,0 +1,15 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { DbxFirebaseDocumentStoreDirective } from './store.document.directive';
3
+ import { DbxFirebaseDocumentStoreTwoWayKeyProvider } from './store.document.twoway.key.source';
4
+ import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Used for providing an id from the twoWayFlatKey$ from a DbxFirebaseDocumentStoreTwoWayKeyProvider.
8
+ */
9
+ export declare class DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective extends AbstractSubscriptionDirective implements OnInit {
10
+ readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<unknown, import("dist/packages/firebase/src").FirestoreDocument<unknown, import("dist/packages/firebase/src").FirestoreModelIdentity>, import("@dereekb/dbx-firebase").DbxFirebaseDocumentStore<unknown, import("dist/packages/firebase/src").FirestoreDocument<unknown, import("dist/packages/firebase/src").FirestoreModelIdentity>>>;
11
+ readonly dbxFirebaseDocumentStoreTwoWayKeyProvider: DbxFirebaseDocumentStoreTwoWayKeyProvider;
12
+ ngOnInit(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreIdFromTwoWayModelKeyDirective, "[dbxFirebaseDocumentStoreIdFromTwoWayModelKey]", never, {}, {}, never, never, false, never>;
15
+ }
@@ -0,0 +1,10 @@
1
+ import { Type, Provider } from '@angular/core';
2
+ import { TwoWayFlatFirestoreModelKey } from '@dereekb/firebase';
3
+ import { Observable } from 'rxjs';
4
+ export declare abstract class DbxFirebaseDocumentStoreTwoWayKeyProvider {
5
+ abstract readonly twoWayFlatKey$: Observable<TwoWayFlatFirestoreModelKey>;
6
+ }
7
+ /**
8
+ * Configures Providers for a DbxFirebaseDocumentStoreTwoWayKeyProvider.
9
+ */
10
+ export declare function provideDbxFirebaseDocumentStoreTwoWayKeyProvider<S extends DbxFirebaseDocumentStoreTwoWayKeyProvider>(sourceType: Type<S>): Provider[];
@@ -0,0 +1,13 @@
1
+ import { Observable } from 'rxjs';
2
+ import { DbxFirebaseDocumentStoreDirective } from './store.document.directive';
3
+ import { DbxFirebaseDocumentStoreTwoWayKeyProvider } from './store.document.twoway.key.source';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Directive that implements DbxFirebaseDocumentStoreTwoWayKeyProvider and passes the twoWayFlatKey from a host DbxFirebaseDocumentStoreDirective.
7
+ */
8
+ export declare class DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective implements DbxFirebaseDocumentStoreTwoWayKeyProvider {
9
+ readonly dbxFirebaseDocumentStoreDirective: DbxFirebaseDocumentStoreDirective<unknown, import("dist/packages/firebase/src").FirestoreDocument<unknown, import("dist/packages/firebase/src").FirestoreModelIdentity>, import("@dereekb/dbx-firebase").DbxFirebaseDocumentStore<unknown, import("dist/packages/firebase/src").FirestoreDocument<unknown, import("dist/packages/firebase/src").FirestoreModelIdentity>>>;
10
+ readonly twoWayFlatKey$: Observable<string>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DbxFirebaseDocumentStoreTwoWayModelKeySourceDirective, "[dbxFirebaseDocumentStoreTwoWayModelKeySource]", never, {}, {}, never, never, false, never>;
13
+ }
@@ -1,4 +1,4 @@
1
- import { Maybe } from '@dereekb/util';
1
+ import { type Maybe } from '@dereekb/util';
2
2
  import { ObservableOrValue } from '@dereekb/rxjs';
3
3
  import { Observable, Subscription } from 'rxjs';
4
4
  import { FirestoreCollectionGroup, FirestoreCollectionWithParentFactory, FirestoreDocument } from '@dereekb/firebase';
@@ -1,6 +1,6 @@
1
1
  import { Provider, Type } from '@angular/core';
2
2
  import { FirestoreDocument } from '@dereekb/firebase';
3
- import { Maybe } from '@dereekb/util';
3
+ import { type Maybe } from '@dereekb/util';
4
4
  import { DbxFirebaseCollectionStoreDirective } from './store.collection.directive';
5
5
  import { DbxFirebaseCollectionWithParentStore, DbxFirebaseComponentStoreWithParentSourceMode } from './store.subcollection';
6
6
  import * as i0 from "@angular/core";
@@ -1,6 +1,6 @@
1
1
  import { Observable, Subscription } from 'rxjs';
2
2
  import { FirestoreDocument, FirestoreCollectionWithParentFactory, FirestoreCollection, DocumentReference, FirestoreModelKey } from '@dereekb/firebase';
3
- import { Maybe } from '@dereekb/util';
3
+ import { type Maybe } from '@dereekb/util';
4
4
  import { AbstractDbxFirebaseDocumentStore, DbxFirebaseDocumentStore, DbxFirebaseDocumentStoreContextState } from './store.document';
5
5
  import { DbxFirebaseComponentStoreWithParentSetParentStoreEffectFunction, DbxFirebaseComponentStoreWithParent, DbxFirebaseComponentStoreWithParentContextState, DbxFirebaseComponentStoreWithParentSetParentEffectFunction } from './store.subcollection.rxjs';
6
6
  import * as i0 from "@angular/core";
@@ -1,7 +1,7 @@
1
1
  import { LockSetComponentStore } from '@dereekb/dbx-core';
2
2
  import { FirestoreCollectionLike, FirestoreCollectionWithParentFactory, FirestoreDocument } from '@dereekb/firebase';
3
3
  import { ObservableOrValue } from '@dereekb/rxjs';
4
- import { Maybe } from '@dereekb/util';
4
+ import { type Maybe } from '@dereekb/util';
5
5
  import { ComponentStore } from '@ngrx/component-store';
6
6
  import { Observable, Subscription } from 'rxjs';
7
7
  import { DbxFirebaseDocumentStore } from './store.document';
@@ -1,6 +1,6 @@
1
1
  import { FirestoreDocument, FirestoreDocumentData, DocumentSnapshot, FirestoreAccessorStreamMode, SnapshotOptions, FirestoreModelKey, FirestoreModelType } from '@dereekb/firebase';
2
2
  import { GrantedRole, GrantedRoleMap, GrantedRoleMapReader, GrantedRoleTruthMap, GrantedRoleTruthMapObject } from '@dereekb/model';
3
- import { SetIncludesMode, IterableOrValue } from '@dereekb/util';
3
+ import { SetIncludesMode, IterableOrValue, Maybe } from '@dereekb/util';
4
4
  import { Observable } from 'rxjs';
5
5
  /**
6
6
  * Service instance that exposes roles for a specific model.
@@ -25,9 +25,9 @@ export interface DbxFirebaseInContextFirebaseModelInfoServiceInstance<D extends
25
25
  readonly modelType$: Observable<FirestoreModelType>;
26
26
  readonly model$: Observable<D>;
27
27
  /**
28
- * Reads the data from the model once and returns the current state without streaming.
28
+ * Reads the data from the model once and returns the current state without streaming, if it exists or can be retrieved.
29
29
  */
30
- readonly snapshotData$: Observable<FirestoreDocumentData<D>>;
30
+ readonly snapshotData$: Observable<Maybe<FirestoreDocumentData<D>>>;
31
31
  snapshotStream(mode: FirestoreAccessorStreamMode): Observable<DocumentSnapshot<FirestoreDocumentData<D>>>;
32
32
  snapshotDataStream(mode: FirestoreAccessorStreamMode, options?: SnapshotOptions): Observable<FirestoreDocumentData<D>>;
33
33
  }
@@ -0,0 +1 @@
1
+ export * from './notification';
@@ -0,0 +1,4 @@
1
+ export * from './notificationitem.list.component';
2
+ export * from './notificationitem.view.component';
3
+ export * from './notificationitem.view.default.component';
4
+ export * from './notificationitem.view.directive';
@@ -0,0 +1,9 @@
1
+ import { Maybe } from '@dereekb/util';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DbxFirebaseNotificationItemContentComponent {
4
+ subject?: Maybe<string>;
5
+ message?: Maybe<string>;
6
+ date?: Maybe<Date>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemContentComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemContentComponent, "dbx-firebase-notificationitem-content", never, { "subject": { "alias": "subject"; "required": false; }; "message": { "alias": "message"; "required": false; }; "date": { "alias": "date"; "required": false; }; }, {}, never, ["[header]", "[premessage]", "*"], false, never>;
9
+ }
@@ -0,0 +1,5 @@
1
+ .dbx-firebase-notificationitem-content {
2
+ .notificationitem-subject {
3
+ font-size: 1.25em;
4
+ }
5
+ }
@@ -0,0 +1,24 @@
1
+ import { AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListViewItemComponent, AbstractDbxSelectionListViewDirective, DbxSelectionValueListViewConfig, DbxValueAsListItem } from '@dereekb/dbx-web';
2
+ import { NotificationItem } from '@dereekb/firebase';
3
+ import { DbxFirebaseNotificationTemplateService } from '../service/notification.template.service';
4
+ import * as i0 from "@angular/core";
5
+ export type NotificationItemWithSelection = DbxValueAsListItem<NotificationItem>;
6
+ export declare class DbxFirebaseNotificationItemListComponent extends AbstractDbxSelectionListWrapperDirective<NotificationItem> {
7
+ constructor();
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListComponent, "dbx-firebase-notificationitem-list", never, {}, {}, never, ["[top]", "[bottom]", "[empty]", "[emptyLoading]"], false, never>;
10
+ }
11
+ export declare class DbxFirebaseNotificationItemListViewComponent extends AbstractDbxSelectionListViewDirective<NotificationItem> {
12
+ readonly config: DbxSelectionValueListViewConfig<NotificationItemWithSelection>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewComponent, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewComponent, "dbx-firebase-notificationitem-list-view", never, {}, {}, never, never, false, never>;
15
+ }
16
+ export declare class DbxFirebaseNotificationItemListViewItemComponent extends AbstractDbxValueListViewItemComponent<NotificationItem> {
17
+ readonly dbxFirebaseNotificationTemplateService: DbxFirebaseNotificationTemplateService;
18
+ readonly pairGetter: import("@dereekb/util").CachedFactoryWithInput<import("@dereekb/firebase").NotificationItemSubjectMessagePair<{}>, unknown>;
19
+ get subject(): string;
20
+ get message(): string;
21
+ get date(): Date;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseNotificationItemListViewItemComponent, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseNotificationItemListViewItemComponent, "ng-component", never, {}, {}, never, never, false, never>;
24
+ }