@dereekb/dbx-firebase 9.22.11 → 9.23.0
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/esm2020/lib/model/model.module.mjs +5 -4
- package/esm2020/lib/model/modules/model/index.mjs +6 -1
- package/esm2020/lib/model/modules/model/model.history.component.mjs +48 -0
- package/esm2020/lib/model/modules/model/model.history.module.mjs +23 -0
- package/esm2020/lib/model/modules/model/model.history.popover.button.component.mjs +45 -0
- package/esm2020/lib/model/modules/model/model.history.popover.component.mjs +50 -0
- package/esm2020/lib/model/modules/model/model.sourceselect.history.mjs +18 -0
- package/esm2020/lib/model/modules/model/model.tracker.service.mjs +35 -3
- package/esm2020/lib/model/modules/model/model.types.list.component.mjs +3 -7
- package/esm2020/lib/model/modules/model/model.types.service.mjs +3 -3
- package/esm2020/lib/model/modules/store/store.collection.list.directive.mjs +2 -3
- package/fesm2015/dereekb-dbx-firebase.mjs +201 -18
- package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-firebase.mjs +201 -18
- package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/model/model.module.d.ts +3 -2
- package/lib/model/modules/model/index.d.ts +5 -0
- package/lib/model/modules/model/model.history.component.d.ts +20 -0
- package/lib/model/modules/model/model.history.module.d.ts +12 -0
- package/lib/model/modules/model/model.history.popover.button.component.d.ts +16 -0
- package/lib/model/modules/model/model.history.popover.component.d.ts +50 -0
- package/lib/model/modules/model/model.sourceselect.history.d.ts +32 -0
- package/lib/model/modules/model/model.tracker.service.d.ts +31 -0
- package/package.json +5 -5
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./modules/store/model.store.module";
|
|
3
|
-
import * as i2 from "./modules/model/model.
|
|
3
|
+
import * as i2 from "./modules/model/model.history.module";
|
|
4
|
+
import * as i3 from "./modules/model/model.types.module";
|
|
4
5
|
export declare class DbxFirebaseModelModule {
|
|
5
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelModule, never, never, [typeof i1.DbxFirebaseModelStoreModule, typeof i2.DbxFirebaseModelTypesModule]>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelModule, never, never, [typeof i1.DbxFirebaseModelStoreModule, typeof i2.DbxFirebaseModelHistoryModule, typeof i3.DbxFirebaseModelTypesModule]>;
|
|
7
8
|
static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelModule>;
|
|
8
9
|
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export * from './model.history.component';
|
|
2
|
+
export * from './model.history.module';
|
|
3
|
+
export * from './model.history.popover.button.component';
|
|
4
|
+
export * from './model.history.popover.component';
|
|
5
|
+
export * from './model.sourceselect.history';
|
|
1
6
|
export * from './model.tracker.service';
|
|
2
7
|
export * from './model.types.service';
|
|
3
8
|
export * from './model.types.module';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OnDestroy } from '@angular/core';
|
|
2
|
+
import { AnchorForValueFunction } from '@dereekb/dbx-web';
|
|
3
|
+
import { Maybe } from '@dereekb/util';
|
|
4
|
+
import { DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTrackerService } from './model.tracker.service';
|
|
5
|
+
import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class DbxFirebaseModelHistoryComponent implements OnDestroy {
|
|
8
|
+
readonly dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
|
|
9
|
+
private _historyFilter;
|
|
10
|
+
anchorForItem?: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair>>;
|
|
11
|
+
get historyFilter(): Maybe<DbxFirebaseModelTrackerHistoryFilter>;
|
|
12
|
+
set historyFilter(historyFilter: Maybe<DbxFirebaseModelTrackerHistoryFilter>);
|
|
13
|
+
readonly historyFilter$: import("rxjs").Observable<Maybe<DbxFirebaseModelTrackerHistoryFilter>>;
|
|
14
|
+
readonly historyPairs$: import("rxjs").Observable<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>;
|
|
15
|
+
readonly state$: import("rxjs").Observable<import("@dereekb/rxjs").LoadingState<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>>;
|
|
16
|
+
constructor(dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService);
|
|
17
|
+
ngOnDestroy(): void;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryComponent, "dbx-firebase-model-history", never, { "anchorForItem": "anchorForItem"; "historyFilter": "historyFilter"; }, {}, never, ["[empty]"], false>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./model.history.component";
|
|
3
|
+
import * as i2 from "./model.history.popover.button.component";
|
|
4
|
+
import * as i3 from "./model.history.popover.component";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
import * as i5 from "@dereekb/dbx-web";
|
|
7
|
+
import * as i6 from "./model.types.module";
|
|
8
|
+
export declare class DbxFirebaseModelHistoryModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DbxFirebaseModelHistoryModule, [typeof i1.DbxFirebaseModelHistoryComponent, typeof i2.DbxFirebaseModelHistoryPopoverButtonComponent, typeof i3.DbxFirebaseModelHistoryPopoverComponent], [typeof i4.CommonModule, typeof i5.DbxButtonModule, typeof i5.DbxRouterListModule, typeof i5.DbxPopoverInteractionModule, typeof i5.DbxModelInfoModule, typeof i5.DbxListLayoutModule, typeof i6.DbxFirebaseModelTypesModule], [typeof i1.DbxFirebaseModelHistoryComponent, typeof i2.DbxFirebaseModelHistoryPopoverButtonComponent, typeof i3.DbxFirebaseModelHistoryPopoverComponent]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DbxFirebaseModelHistoryModule>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { AbstractPopoverRefDirective, DbxPopoverService } from '@dereekb/dbx-web';
|
|
3
|
+
import { NgPopoverRef } from 'ng-overlay-container';
|
|
4
|
+
import { DbxFirebaseModelHistoryPopoverParams } from './model.history.popover.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare type DbxFirebaseModelHistoryPopoverButtonConfig = DbxFirebaseModelHistoryPopoverParams;
|
|
7
|
+
export declare class DbxFirebaseModelHistoryPopoverButtonComponent extends AbstractPopoverRefDirective<unknown, unknown> {
|
|
8
|
+
private readonly popupService;
|
|
9
|
+
buttonElement: ElementRef;
|
|
10
|
+
config?: DbxFirebaseModelHistoryPopoverButtonConfig;
|
|
11
|
+
constructor(popupService: DbxPopoverService);
|
|
12
|
+
protected _makePopoverRef(origin?: ElementRef): NgPopoverRef<unknown, unknown>;
|
|
13
|
+
showHistoryPopover(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryPopoverButtonComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverButtonComponent, "dbx-firebase-model-history-popover-button", never, { "config": "config"; }, {}, never, never, false>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { NgPopoverRef } from 'ng-overlay-container';
|
|
3
|
+
import { AbstractPopoverDirective, AnchorForValueFunction, DbxPopoverComponent, DbxPopoverKey, DbxPopoverService } from '@dereekb/dbx-web';
|
|
4
|
+
import { Maybe } from '@dereekb/util';
|
|
5
|
+
import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
|
|
6
|
+
import { DbxFirebaseModelTrackerHistoryFilter } from './model.tracker.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export interface DbxFirebaseModelHistoryPopoverParams {
|
|
9
|
+
/**
|
|
10
|
+
* Custom icon
|
|
11
|
+
*
|
|
12
|
+
* Defaults to "history"
|
|
13
|
+
*/
|
|
14
|
+
icon?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Custom header text
|
|
17
|
+
*
|
|
18
|
+
* Defaults to "History"
|
|
19
|
+
*/
|
|
20
|
+
header?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Custom empty text when no items exist.
|
|
23
|
+
*/
|
|
24
|
+
emptyText?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Origin to add the popover to.
|
|
27
|
+
*/
|
|
28
|
+
origin: ElementRef;
|
|
29
|
+
/**
|
|
30
|
+
* Optional config to pass to the DbxFirebaseHistoryComponent
|
|
31
|
+
*/
|
|
32
|
+
historyFilter?: Maybe<DbxFirebaseModelTrackerHistoryFilter>;
|
|
33
|
+
/**
|
|
34
|
+
* Anchor
|
|
35
|
+
*/
|
|
36
|
+
anchorForItem?: Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair>>;
|
|
37
|
+
}
|
|
38
|
+
export declare const DEFAULT_FIREBASE_HISTORY_COMPONENT_POPOVER_KEY = "history";
|
|
39
|
+
export declare class DbxFirebaseModelHistoryPopoverComponent extends AbstractPopoverDirective<unknown, DbxFirebaseModelHistoryPopoverParams> {
|
|
40
|
+
static openPopover(popupService: DbxPopoverService, { origin, header, icon, emptyText, historyFilter, anchorForItem }: DbxFirebaseModelHistoryPopoverParams, popoverKey?: DbxPopoverKey): NgPopoverRef;
|
|
41
|
+
constructor(popover: DbxPopoverComponent<unknown, DbxFirebaseModelHistoryPopoverParams>);
|
|
42
|
+
get params(): DbxFirebaseModelHistoryPopoverParams;
|
|
43
|
+
get icon(): string;
|
|
44
|
+
get header(): string;
|
|
45
|
+
get emptyText(): string;
|
|
46
|
+
get historyFilter(): Maybe<DbxFirebaseModelTrackerHistoryFilter>;
|
|
47
|
+
get anchorForItem(): Maybe<AnchorForValueFunction<DbxFirebaseModelTypesServiceInstancePair<any, string>>>;
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseModelHistoryPopoverComponent, never>;
|
|
49
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DbxFirebaseModelHistoryPopoverComponent, "ng-component", never, {}, {}, never, never, false>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FirestoreDocument, FirestoreModelIdentity } from '@dereekb/firebase';
|
|
2
|
+
import { SourceSelectLoadSource } from '@dereekb/dbx-form';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { GrantedRole } from '@dereekb/model';
|
|
5
|
+
import { MapFunction } from '@dereekb/util';
|
|
6
|
+
import { DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
|
|
7
|
+
import { DbxFirebaseModelTrackerHistoryFilter, DbxFirebaseModelTrackerService } from './model.tracker.service';
|
|
8
|
+
export interface DbxFirebaseSourceSelectLoadSourceConfig<M, D extends FirestoreDocument<any> = any, R extends GrantedRole = GrantedRole> extends Pick<DbxFirebaseModelTrackerHistoryFilter, 'filterItem'> {
|
|
9
|
+
/**
|
|
10
|
+
* Source label. Defaults to "History".
|
|
11
|
+
*/
|
|
12
|
+
label?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Type of model to pull from the history.
|
|
15
|
+
*/
|
|
16
|
+
identity: FirestoreModelIdentity;
|
|
17
|
+
/**
|
|
18
|
+
* Maps a result instance to the target meta type
|
|
19
|
+
*/
|
|
20
|
+
mapToMeta: MapFunction<DbxFirebaseModelTypesServiceInstancePair<D, R>, Observable<M>>;
|
|
21
|
+
/**
|
|
22
|
+
* Tracker service to load history values from.
|
|
23
|
+
*/
|
|
24
|
+
dbxFirebaseModelTrackerService: DbxFirebaseModelTrackerService;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Configures a SourceSelectLoadSource using the DbxFirebaseModelTrackerService to load models of a specific identity.
|
|
28
|
+
*
|
|
29
|
+
* @param config
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
export declare function dbxFirebaseSourceSelectLoadSource<M>(config: DbxFirebaseSourceSelectLoadSourceConfig<M>): SourceSelectLoadSource<M>;
|
|
@@ -1,10 +1,41 @@
|
|
|
1
|
+
import { ArrayOrValue, Maybe } from '@dereekb/util';
|
|
2
|
+
import { FirestoreModelIdentity } from '@dereekb/firebase';
|
|
1
3
|
import { Observable } from 'rxjs';
|
|
2
4
|
import { DbxModelTrackerService } from '@dereekb/dbx-web';
|
|
3
5
|
import { DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceInstancePair } from './model.types.service';
|
|
6
|
+
import { ObservableDecisionFunction } from '@dereekb/rxjs';
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
export interface DbxFirebaseModelTrackerFilterItem {
|
|
9
|
+
instancePair: DbxFirebaseModelTypesServiceInstancePair;
|
|
10
|
+
identity: FirestoreModelIdentity;
|
|
11
|
+
}
|
|
12
|
+
export interface DbxFirebaseModelTrackerHistoryFilter {
|
|
13
|
+
/**
|
|
14
|
+
* Whether or not to exclude the values instead of include them.
|
|
15
|
+
*/
|
|
16
|
+
invertFilter?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Identity types to filter on.
|
|
19
|
+
*/
|
|
20
|
+
identity?: Maybe<ArrayOrValue<FirestoreModelIdentity>>;
|
|
21
|
+
/**
|
|
22
|
+
* Arbitrary filter function to filter individual items.
|
|
23
|
+
*/
|
|
24
|
+
filterItem?: ObservableDecisionFunction<DbxFirebaseModelTrackerFilterItem>;
|
|
25
|
+
}
|
|
5
26
|
export declare class DbxFirebaseModelTrackerService {
|
|
6
27
|
readonly dbxModelTrackerService: DbxModelTrackerService;
|
|
7
28
|
readonly dbxFirebaseModelTypesService: DbxFirebaseModelTypesService;
|
|
29
|
+
readonly historyKeys$: Observable<string[]>;
|
|
30
|
+
readonly historyPairs$: Observable<DbxFirebaseModelTypesServiceInstancePair<any, string>[]>;
|
|
31
|
+
readonly filterItemHistoryPairs$: Observable<DbxFirebaseModelTrackerFilterItem[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Filters from historyPairs$ using the input filter configuration, if it is provided.
|
|
34
|
+
*
|
|
35
|
+
* @param filter
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
filterHistoryPairs(filter?: Maybe<DbxFirebaseModelTrackerHistoryFilter>): Observable<DbxFirebaseModelTypesServiceInstancePair[]>;
|
|
8
39
|
loadHistoryKeys(): Observable<string[]>;
|
|
9
40
|
loadHistoryPairs(): Observable<DbxFirebaseModelTypesServiceInstancePair[]>;
|
|
10
41
|
constructor(dbxModelTrackerService: DbxModelTrackerService, dbxFirebaseModelTypesService: DbxFirebaseModelTypesService);
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-firebase",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.23.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^14.0.0",
|
|
6
6
|
"@angular/core": "^14.0.0",
|
|
7
|
-
"@dereekb/dbx-analytics": "9.
|
|
7
|
+
"@dereekb/dbx-analytics": "9.23.0",
|
|
8
8
|
"firebase": "^9.9.2",
|
|
9
9
|
"@angular/fire": "^7.4.1",
|
|
10
|
-
"@dereekb/firebase": "9.
|
|
10
|
+
"@dereekb/firebase": "9.23.0",
|
|
11
11
|
"@angular/material": "^14.2.0",
|
|
12
|
-
"@dereekb/dbx-web": "9.
|
|
13
|
-
"@dereekb/dbx-form": "9.
|
|
12
|
+
"@dereekb/dbx-web": "9.23.0",
|
|
13
|
+
"@dereekb/dbx-form": "9.23.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"tslib": "^2.3.0"
|