@dereekb/dbx-web 9.19.5 → 9.20.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 (41) hide show
  1. package/calendar/package.json +2 -2
  2. package/esm2020/lib/extension/index.mjs +2 -1
  3. package/esm2020/lib/extension/model/index.mjs +9 -0
  4. package/esm2020/lib/extension/model/model.module.mjs +66 -0
  5. package/esm2020/lib/extension/model/model.state.service.mjs +25 -0
  6. package/esm2020/lib/extension/model/model.tracker.mjs +7 -0
  7. package/esm2020/lib/extension/model/model.tracker.service.mjs +45 -0
  8. package/esm2020/lib/extension/model/model.tracker.view.storage.mjs +73 -0
  9. package/esm2020/lib/extension/model/model.types.mjs +2 -0
  10. package/esm2020/lib/extension/model/model.types.service.mjs +68 -0
  11. package/esm2020/lib/extension/model/state/actions/actions.mjs +3 -0
  12. package/esm2020/lib/extension/model/state/actions/index.mjs +4 -0
  13. package/esm2020/lib/extension/model/state/actions/model.actions.mjs +3 -0
  14. package/esm2020/lib/extension/model/state/effects/tracker.effects.mjs +30 -0
  15. package/esm2020/lib/extension/model/state/index.mjs +6 -0
  16. package/esm2020/lib/extension/model/state/reducers/index.mjs +13 -0
  17. package/esm2020/lib/extension/model/state/reducers/model.module.config.mjs +8 -0
  18. package/esm2020/lib/extension/model/state/state.mjs +2 -0
  19. package/fesm2015/dereekb-dbx-web.mjs +317 -4
  20. package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
  21. package/fesm2020/dereekb-dbx-web.mjs +323 -4
  22. package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
  23. package/lib/extension/index.d.ts +1 -0
  24. package/lib/extension/model/index.d.ts +8 -0
  25. package/lib/extension/model/model.module.d.ts +19 -0
  26. package/lib/extension/model/model.state.service.d.ts +14 -0
  27. package/lib/extension/model/model.tracker.d.ts +32 -0
  28. package/lib/extension/model/model.tracker.service.d.ts +20 -0
  29. package/lib/extension/model/model.tracker.view.storage.d.ts +27 -0
  30. package/lib/extension/model/model.types.d.ts +41 -0
  31. package/lib/extension/model/model.types.service.d.ts +31 -0
  32. package/lib/extension/model/state/actions/actions.d.ts +1 -0
  33. package/lib/extension/model/state/actions/index.d.ts +3 -0
  34. package/lib/extension/model/state/actions/model.actions.d.ts +9 -0
  35. package/lib/extension/model/state/effects/tracker.effects.d.ts +16 -0
  36. package/lib/extension/model/state/index.d.ts +5 -0
  37. package/lib/extension/model/state/reducers/index.d.ts +15 -0
  38. package/lib/extension/model/state/reducers/model.module.config.d.ts +5 -0
  39. package/lib/extension/model/state/state.d.ts +2 -0
  40. package/mapbox/package.json +3 -3
  41. package/package.json +4 -3
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web/calendar",
3
- "version": "9.19.5",
3
+ "version": "9.20.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0",
@@ -8,7 +8,7 @@
8
8
  "rxjs": "^7.5.0",
9
9
  "@angular/material": "^14.2.0",
10
10
  "angular-calendar": "^0.30.1",
11
- "@dereekb/dbx-web": "9.19.5"
11
+ "@dereekb/dbx-web": "9.20.1"
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0"
@@ -1,2 +1,3 @@
1
+ export * from './model';
1
2
  export * from './widget';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93aWRnZXQnO1xuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldCc7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export * from './state';
2
+ export * from './model.module';
3
+ export * from './model.state.service';
4
+ export * from './model.tracker.service';
5
+ export * from './model.tracker';
6
+ export * from './model.tracker.view.storage';
7
+ export * from './model.types.service';
8
+ export * from './model.types';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsLnN0YXRlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC50cmFja2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC50cmFja2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwudHJhY2tlci52aWV3LnN0b3JhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC50eXBlcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwudHlwZXMnO1xuIl19
@@ -0,0 +1,66 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { DbxInjectionComponentModule, SimpleStorageAccessorFactory } from '@dereekb/dbx-core';
4
+ import { EffectsModule } from '@ngrx/effects';
5
+ import { StoreModule } from '@ngrx/store';
6
+ import { DbxListLayoutModule } from '../../layout/list/list.layout.module';
7
+ import { DbxModelTrackerService } from './model.tracker.service';
8
+ import { DbxModelViewTrackerStorage } from './model.tracker.view.storage';
9
+ import { fromDbxModel } from './state';
10
+ import { DbxModelTrackerEffects } from './state/effects/tracker.effects';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@ngrx/effects";
13
+ import * as i2 from "@ngrx/store";
14
+ export function appObjectViewTrackerStorageFactory(storageAccessorFactory) {
15
+ const accessor = storageAccessorFactory.createStorageAccessor({
16
+ prefix: 'mtvs'
17
+ });
18
+ return new DbxModelViewTrackerStorage(accessor);
19
+ }
20
+ /**
21
+ * Contains components related to displaying content related to models identified only by their model key.
22
+ */
23
+ export class DbxModelInfoModule {
24
+ static forRoot() {
25
+ return {
26
+ ngModule: DbxModelInfoModule,
27
+ providers: [
28
+ DbxModelTrackerService,
29
+ {
30
+ provide: DbxModelViewTrackerStorage,
31
+ useFactory: appObjectViewTrackerStorageFactory,
32
+ deps: [SimpleStorageAccessorFactory]
33
+ }
34
+ ]
35
+ };
36
+ }
37
+ }
38
+ DbxModelInfoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelInfoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
39
+ DbxModelInfoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxModelInfoModule, imports: [
40
+ //
41
+ CommonModule,
42
+ DbxListLayoutModule,
43
+ DbxInjectionComponentModule, i1.EffectsFeatureModule, i2.StoreFeatureModule] });
44
+ DbxModelInfoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelInfoModule, imports: [
45
+ //
46
+ CommonModule,
47
+ DbxListLayoutModule,
48
+ DbxInjectionComponentModule,
49
+ EffectsModule.forFeature([DbxModelTrackerEffects]),
50
+ StoreModule.forFeature(fromDbxModel.featureKey, fromDbxModel.reducers)] });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelInfoModule, decorators: [{
52
+ type: NgModule,
53
+ args: [{
54
+ imports: [
55
+ //
56
+ CommonModule,
57
+ DbxListLayoutModule,
58
+ DbxInjectionComponentModule,
59
+ EffectsModule.forFeature([DbxModelTrackerEffects]),
60
+ StoreModule.forFeature(fromDbxModel.featureKey, fromDbxModel.reducers)
61
+ ],
62
+ declarations: [],
63
+ exports: []
64
+ }]
65
+ }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2V4dGVuc2lvbi9tb2RlbC9tb2RlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBRXpFLE1BQU0sVUFBVSxrQ0FBa0MsQ0FBQyxzQkFBb0Q7SUFDckcsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUMscUJBQXFCLENBQThCO1FBQ3pGLE1BQU0sRUFBRSxNQUFNO0tBQ2YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRDs7R0FFRztBQWFILE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1Qsc0JBQXNCO2dCQUN0QjtvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsa0NBQWtDO29CQUM5QyxJQUFJLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDckM7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnSEFiVSxrQkFBa0I7aUhBQWxCLGtCQUFrQjtRQVYzQixFQUFFO1FBQ0YsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQiwyQkFBMkI7aUhBT2xCLGtCQUFrQjtRQVYzQixFQUFFO1FBQ0YsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQiwyQkFBMkI7UUFDM0IsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbEQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUM7NEZBSzdELGtCQUFrQjtrQkFaOUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsRUFBRTt3QkFDRixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQzt3QkFDbEQsV0FBVyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUM7cUJBQ3ZFO29CQUNELFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0aW9uQ29tcG9uZW50TW9kdWxlLCBTaW1wbGVTdG9yYWdlQWNjZXNzb3JGYWN0b3J5IH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYnhMaXN0TGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vbGF5b3V0L2xpc3QvbGlzdC5sYXlvdXQubW9kdWxlJztcbmltcG9ydCB7IERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldCB9IGZyb20gJy4vbW9kZWwudHJhY2tlcic7XG5pbXBvcnQgeyBEYnhNb2RlbFRyYWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RlbC50cmFja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4TW9kZWxWaWV3VHJhY2tlclN0b3JhZ2UgfSBmcm9tICcuL21vZGVsLnRyYWNrZXIudmlldy5zdG9yYWdlJztcbmltcG9ydCB7IGZyb21EYnhNb2RlbCB9IGZyb20gJy4vc3RhdGUnO1xuaW1wb3J0IHsgRGJ4TW9kZWxUcmFja2VyRWZmZWN0cyB9IGZyb20gJy4vc3RhdGUvZWZmZWN0cy90cmFja2VyLmVmZmVjdHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwT2JqZWN0Vmlld1RyYWNrZXJTdG9yYWdlRmFjdG9yeShzdG9yYWdlQWNjZXNzb3JGYWN0b3J5OiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JGYWN0b3J5KTogRGJ4TW9kZWxWaWV3VHJhY2tlclN0b3JhZ2Uge1xuICBjb25zdCBhY2Nlc3NvciA9IHN0b3JhZ2VBY2Nlc3NvckZhY3RvcnkuY3JlYXRlU3RvcmFnZUFjY2Vzc29yPERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldD4oe1xuICAgIHByZWZpeDogJ210dnMnXG4gIH0pO1xuXG4gIHJldHVybiBuZXcgRGJ4TW9kZWxWaWV3VHJhY2tlclN0b3JhZ2UoYWNjZXNzb3IpO1xufVxuXG4vKipcbiAqIENvbnRhaW5zIGNvbXBvbmVudHMgcmVsYXRlZCB0byBkaXNwbGF5aW5nIGNvbnRlbnQgcmVsYXRlZCB0byBtb2RlbHMgaWRlbnRpZmllZCBvbmx5IGJ5IHRoZWlyIG1vZGVsIGtleS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC8vXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERieExpc3RMYXlvdXRNb2R1bGUsXG4gICAgRGJ4SW5qZWN0aW9uQ29tcG9uZW50TW9kdWxlLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbRGJ4TW9kZWxUcmFja2VyRWZmZWN0c10pLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoZnJvbURieE1vZGVsLmZlYXR1cmVLZXksIGZyb21EYnhNb2RlbC5yZWR1Y2VycylcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TW9kZWxJbmZvTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhNb2RlbEluZm9Nb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieE1vZGVsSW5mb01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBEYnhNb2RlbFRyYWNrZXJTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogRGJ4TW9kZWxWaWV3VHJhY2tlclN0b3JhZ2UsXG4gICAgICAgICAgdXNlRmFjdG9yeTogYXBwT2JqZWN0Vmlld1RyYWNrZXJTdG9yYWdlRmFjdG9yeSxcbiAgICAgICAgICBkZXBzOiBbU2ltcGxlU3RvcmFnZUFjY2Vzc29yRmFjdG9yeV1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Store } from '@ngrx/store';
3
+ import { onDbxModel } from './state';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@ngrx/store";
6
+ export class DbxModelObjectStateService {
7
+ constructor(store) {
8
+ this.store = store;
9
+ }
10
+ /**
11
+ * Emit a model viewed event.
12
+ */
13
+ emitModelViewEvent({ modelKeyTypeNamePair }) {
14
+ this.store.dispatch(onDbxModel.DbxModelStateModelActions.emitObjectViewEvent({ modelKeyTypeNamePair }));
15
+ }
16
+ }
17
+ DbxModelObjectStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelObjectStateService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ DbxModelObjectStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelObjectStateService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelObjectStateService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: i1.Store }]; } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vbW9kZWwvbW9kZWwuc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBT3JDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBcUIsS0FBK0I7UUFBL0IsVUFBSyxHQUFMLEtBQUssQ0FBMEI7SUFBRyxDQUFDO0lBRXhEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsRUFBRSxvQkFBb0IsRUFBOEI7UUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQzs7d0hBUlUsMEJBQTBCOzRIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBvbkRieE1vZGVsIH0gZnJvbSAnLi9zdGF0ZSc7XG5pbXBvcnQgeyBEYnhNb2RlbE9iamVjdFZpZXdlZFBhcmFtcyB9IGZyb20gJy4vc3RhdGUvYWN0aW9ucy9tb2RlbC5hY3Rpb25zJztcbmltcG9ydCB7IERieE1vZGVsRnVsbFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieE1vZGVsT2JqZWN0U3RhdGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgc3RvcmU6IFN0b3JlPERieE1vZGVsRnVsbFN0YXRlPikge31cblxuICAvKipcbiAgICogRW1pdCBhIG1vZGVsIHZpZXdlZCBldmVudC5cbiAgICovXG4gIGVtaXRNb2RlbFZpZXdFdmVudCh7IG1vZGVsS2V5VHlwZU5hbWVQYWlyIH06IERieE1vZGVsT2JqZWN0Vmlld2VkUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChvbkRieE1vZGVsLkRieE1vZGVsU3RhdGVNb2RlbEFjdGlvbnMuZW1pdE9iamVjdFZpZXdFdmVudCh7IG1vZGVsS2V5VHlwZU5hbWVQYWlyIH0pKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ export function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
2
+ return allDbxModelViewTrackerEventModelKeys(eventSet.e);
3
+ }
4
+ export function allDbxModelViewTrackerEventModelKeys(events) {
5
+ return events.map((y) => y.m.key);
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vbW9kZWwvbW9kZWwudHJhY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ0EsTUFBTSxVQUFVLHVDQUF1QyxDQUFDLFFBQXFDO0lBQzNGLE9BQU8sb0NBQW9DLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFFRCxNQUFNLFVBQVUsb0NBQW9DLENBQUMsTUFBa0M7SUFDckYsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbml4RGF0ZVRpbWVOdW1iZXIsIE1vZGVsS2V5VHlwZVBhaXIsIE1heWJlLCBNb2RlbEtleSwgTW9kZWxLZXlUeXBlTmFtZVBhaXIgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBDb250ZXh0IGluIHdoaWNoIGEgbW9kZWwgd2FzIHZpZXdlZC5cbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxWaWV3Q29udGV4dCA9IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnQge1xuICAvKipcbiAgICogRXZlbnQgdGltZVxuICAgKi9cbiAgZD86IFVuaXhEYXRlVGltZU51bWJlcjtcbiAgLyoqXG4gICAqIENvbnRleHRcbiAgICovXG4gIGM/OiBNb2RlbFZpZXdDb250ZXh0O1xuICAvKipcbiAgICogTW9kZWwgaW5mb1xuICAgKi9cbiAgbTogTW9kZWxLZXlUeXBlTmFtZVBhaXI7XG4gIGZvbGRlcj86IE1heWJlPHN0cmluZz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50U2V0IHtcbiAgLyoqXG4gICAqIFRoZSBsYXRlc3QgZGF0ZS90aW1lIG51bWJlci5cbiAgICovXG4gIGw6IFVuaXhEYXRlVGltZU51bWJlcjtcbiAgLyoqXG4gICAqIExpc3Qgb2YgZXZlbnRzLlxuICAgKi9cbiAgZTogRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50W107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbGxEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnRTZXRNb2RlbEtleXMoZXZlbnRTZXQ6IERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldCk6IE1vZGVsS2V5W10ge1xuICByZXR1cm4gYWxsRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50TW9kZWxLZXlzKGV2ZW50U2V0LmUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50TW9kZWxLZXlzKGV2ZW50czogRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50W10pOiBNb2RlbEtleVtdIHtcbiAgcmV0dXJuIGV2ZW50cy5tYXAoKHkpID0+IHkubS5rZXkpO1xufVxuIl19
@@ -0,0 +1,45 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { first } from 'rxjs';
3
+ import { DbxModelViewTrackerStorage } from './model.tracker.view.storage';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./model.tracker.view.storage";
6
+ /**
7
+ * Service used for tracking/logging different kinds of events on objects.
8
+ */
9
+ export class DbxModelTrackerService {
10
+ constructor(viewTrackerStorage) {
11
+ this.viewTrackerStorage = viewTrackerStorage;
12
+ }
13
+ get defaultFolder() {
14
+ return this._defaultFolder;
15
+ }
16
+ set defaultFolder(folder) {
17
+ this._defaultFolder = folder ?? undefined;
18
+ }
19
+ // MARK: View
20
+ trackViewedObject(modelKeyTypeNamePair, context, folder = this._defaultFolder) {
21
+ this.viewTrackerStorage
22
+ .addTrackerEvent({
23
+ m: modelKeyTypeNamePair,
24
+ c: context,
25
+ folder
26
+ })
27
+ .pipe(first())
28
+ .subscribe();
29
+ }
30
+ getAllViewEvents(folder = this._defaultFolder) {
31
+ return this.viewTrackerStorage.getAllEvents(folder);
32
+ }
33
+ getViewEventSet(folder = this._defaultFolder) {
34
+ return this.viewTrackerStorage.getEventSet(folder);
35
+ }
36
+ }
37
+ DbxModelTrackerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTrackerService, deps: [{ token: i1.DbxModelViewTrackerStorage }], target: i0.ɵɵFactoryTarget.Injectable });
38
+ DbxModelTrackerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTrackerService, providedIn: 'root' });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTrackerService, decorators: [{
40
+ type: Injectable,
41
+ args: [{
42
+ providedIn: 'root'
43
+ }]
44
+ }], ctorParameters: function () { return [{ type: i1.DbxModelViewTrackerStorage }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHJhY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2V4dGVuc2lvbi9tb2RlbC9tb2RlbC50cmFja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFFMUU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQXNCO0lBR2pDLFlBQTZCLGtCQUE4QztRQUE5Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTRCO0lBQUcsQ0FBQztJQUUvRSxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksYUFBYSxDQUFDLE1BQXFCO1FBQ3JDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsYUFBYTtJQUNiLGlCQUFpQixDQUFDLG9CQUEwQyxFQUFFLE9BQWdCLEVBQUUsU0FBd0IsSUFBSSxDQUFDLGNBQWM7UUFDekgsSUFBSSxDQUFDLGtCQUFrQjthQUNwQixlQUFlLENBQUM7WUFDZixDQUFDLEVBQUUsb0JBQW9CO1lBQ3ZCLENBQUMsRUFBRSxPQUFPO1lBQ1YsTUFBTTtTQUNQLENBQUM7YUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDYixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBd0IsSUFBSSxDQUFDLGNBQWM7UUFDMUQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxlQUFlLENBQUMsU0FBd0IsSUFBSSxDQUFDLGNBQWM7UUFDekQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELENBQUM7O29IQS9CVSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXliZSwgTW9kZWxLZXlUeXBlTmFtZVBhaXIgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IGZpcnN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnQsIERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldCB9IGZyb20gJy4vbW9kZWwudHJhY2tlcic7XG5pbXBvcnQgeyBEYnhNb2RlbFZpZXdUcmFja2VyU3RvcmFnZSB9IGZyb20gJy4vbW9kZWwudHJhY2tlci52aWV3LnN0b3JhZ2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgdXNlZCBmb3IgdHJhY2tpbmcvbG9nZ2luZyBkaWZmZXJlbnQga2luZHMgb2YgZXZlbnRzIG9uIG9iamVjdHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieE1vZGVsVHJhY2tlclNlcnZpY2Uge1xuICBwcml2YXRlIF9kZWZhdWx0Rm9sZGVyOiBNYXliZTxzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmlld1RyYWNrZXJTdG9yYWdlOiBEYnhNb2RlbFZpZXdUcmFja2VyU3RvcmFnZSkge31cblxuICBnZXQgZGVmYXVsdEZvbGRlcigpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdEZvbGRlcjtcbiAgfVxuXG4gIHNldCBkZWZhdWx0Rm9sZGVyKGZvbGRlcjogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRGb2xkZXIgPSBmb2xkZXIgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgLy8gTUFSSzogVmlld1xuICB0cmFja1ZpZXdlZE9iamVjdChtb2RlbEtleVR5cGVOYW1lUGFpcjogTW9kZWxLZXlUeXBlTmFtZVBhaXIsIGNvbnRleHQ/OiBzdHJpbmcsIGZvbGRlcjogTWF5YmU8c3RyaW5nPiA9IHRoaXMuX2RlZmF1bHRGb2xkZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdUcmFja2VyU3RvcmFnZVxuICAgICAgLmFkZFRyYWNrZXJFdmVudCh7XG4gICAgICAgIG06IG1vZGVsS2V5VHlwZU5hbWVQYWlyLFxuICAgICAgICBjOiBjb250ZXh0LFxuICAgICAgICBmb2xkZXJcbiAgICAgIH0pXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0QWxsVmlld0V2ZW50cyhmb2xkZXI6IE1heWJlPHN0cmluZz4gPSB0aGlzLl9kZWZhdWx0Rm9sZGVyKTogT2JzZXJ2YWJsZTxEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdUcmFja2VyU3RvcmFnZS5nZXRBbGxFdmVudHMoZm9sZGVyKTtcbiAgfVxuXG4gIGdldFZpZXdFdmVudFNldChmb2xkZXI6IE1heWJlPHN0cmluZz4gPSB0aGlzLl9kZWZhdWx0Rm9sZGVyKTogT2JzZXJ2YWJsZTxEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnRTZXQ+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3VHJhY2tlclN0b3JhZ2UuZ2V0RXZlbnRTZXQoZm9sZGVyKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,73 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { unixTimeNumberForNow } from '@dereekb/date';
3
+ import { StorageAccessor } from '@dereekb/dbx-core';
4
+ import { encodeModelKeyTypePair, ModelRelationUtility } from '@dereekb/util';
5
+ import { of } from 'rxjs';
6
+ import { map, mergeMap, catchError } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@dereekb/dbx-core";
9
+ /**
10
+ * Used for managing DbxModelViewTrackerEvent storage.
11
+ */
12
+ export class DbxModelViewTrackerStorage {
13
+ constructor(storageAccessor) {
14
+ this.storageAccessor = storageAccessor;
15
+ }
16
+ get storageKey() {
17
+ return DbxModelViewTrackerStorage.OBJECT_VIEW_TRACKER_STORAGE_LIST_KEY;
18
+ }
19
+ get maxEventsToKeep() {
20
+ return DbxModelViewTrackerStorage.MAX_EVENTS;
21
+ }
22
+ addTrackerEvent(event) {
23
+ const storageKey = this.getStorageKeyForFolder(event.folder);
24
+ return this._getEventSetForStorageKey(storageKey).pipe(mergeMap((set) => {
25
+ const nextEvent = {
26
+ d: event.d ?? unixTimeNumberForNow(),
27
+ c: event.c,
28
+ m: event.m
29
+ };
30
+ const e = ModelRelationUtility.removeDuplicates(set.e, (x) => encodeModelKeyTypePair(x.m), [encodeModelKeyTypePair(nextEvent.m)]);
31
+ e.push(nextEvent);
32
+ e.sort((a, b) => (b.d ?? 0) - (a.d ?? 0));
33
+ return this.storageAccessor.set(storageKey, {
34
+ l: Math.max(set.l ?? 0, nextEvent.d),
35
+ e: e.slice(0, this.maxEventsToKeep)
36
+ });
37
+ }));
38
+ }
39
+ getAllEvents(folder) {
40
+ return this.getEventSet(folder).pipe(map((x) => x.e));
41
+ }
42
+ getEventSet(folder) {
43
+ const storageKey = this.getStorageKeyForFolder(folder);
44
+ return this._getEventSetForStorageKey(storageKey);
45
+ }
46
+ _getEventSetForStorageKey(storageKey) {
47
+ return this.storageAccessor.get(storageKey).pipe(catchError((e) => {
48
+ return of(undefined);
49
+ }), map((result) => result ?? { e: [], l: 0 }));
50
+ }
51
+ getStorageKeyForFolder(folder) {
52
+ const storageKey = `${this.storageKey}_${folder ?? 'default'}`;
53
+ return storageKey;
54
+ }
55
+ // MARK: Compat
56
+ /**
57
+ * @deprecated use addTrackerEvent() instead.
58
+ */
59
+ addEvent(event) {
60
+ return this.addTrackerEvent(event);
61
+ }
62
+ }
63
+ DbxModelViewTrackerStorage.OBJECT_VIEW_TRACKER_STORAGE_LIST_KEY = 'dbxModelViewTrackerEvents';
64
+ DbxModelViewTrackerStorage.MAX_EVENTS = 60;
65
+ DbxModelViewTrackerStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelViewTrackerStorage, deps: [{ token: i1.StorageAccessor }], target: i0.ɵɵFactoryTarget.Injectable });
66
+ DbxModelViewTrackerStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelViewTrackerStorage, providedIn: 'root' });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelViewTrackerStorage, decorators: [{
68
+ type: Injectable,
69
+ args: [{
70
+ providedIn: 'root'
71
+ }]
72
+ }], ctorParameters: function () { return [{ type: i1.StorageAccessor }]; } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHJhY2tlci52aWV3LnN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL21vZGVsLnRyYWNrZXIudmlldy5zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQXdDLHNCQUFzQixFQUFFLG9CQUFvQixFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzFILE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUczRDs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFBcUIsZUFBNkQ7UUFBN0Qsb0JBQWUsR0FBZixlQUFlLENBQThDO0lBQUcsQ0FBQztJQUV0RixJQUFjLFVBQVU7UUFDdEIsT0FBTywwQkFBMEIsQ0FBQyxvQ0FBb0MsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQTBCLENBQUMsVUFBVSxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBK0I7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQ3BELFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsTUFBTSxTQUFTLEdBQTZCO2dCQUMxQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxvQkFBb0IsRUFBRTtnQkFDcEMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNWLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNYLENBQUM7WUFFRixNQUFNLENBQUMsR0FBRyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUxQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRTtnQkFDMUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQVcsQ0FBQztnQkFDOUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUM7YUFDcEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBc0I7UUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXLENBQUMsTUFBc0I7UUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxVQUFrQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDOUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBc0I7UUFDM0MsTUFBTSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU0sSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUMvRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsZUFBZTtJQUNmOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEtBQStCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDOztBQWhFZSwrREFBb0MsR0FBRywyQkFBMkIsQ0FBQztBQUNuRSxxQ0FBVSxHQUFHLEVBQUUsQ0FBQzt3SEFGckIsMEJBQTBCOzRIQUExQiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdW5peFRpbWVOdW1iZXJGb3JOb3cgfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcbmltcG9ydCB7IFN0b3JhZ2VBY2Nlc3NvciB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IFVuaXhEYXRlVGltZU51bWJlciwgTW9kZWxLZXlUeXBlUGFpciwgZW5jb2RlTW9kZWxLZXlUeXBlUGFpciwgTW9kZWxSZWxhdGlvblV0aWxpdHksIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldCwgRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50IH0gZnJvbSAnLi9tb2RlbC50cmFja2VyJztcblxuLyoqXG4gKiBVc2VkIGZvciBtYW5hZ2luZyBEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnQgc3RvcmFnZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4TW9kZWxWaWV3VHJhY2tlclN0b3JhZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgT0JKRUNUX1ZJRVdfVFJBQ0tFUl9TVE9SQUdFX0xJU1RfS0VZID0gJ2RieE1vZGVsVmlld1RyYWNrZXJFdmVudHMnO1xuICBzdGF0aWMgcmVhZG9ubHkgTUFYX0VWRU5UUyA9IDYwO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHN0b3JhZ2VBY2Nlc3NvcjogU3RvcmFnZUFjY2Vzc29yPERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldD4pIHt9XG5cbiAgcHJvdGVjdGVkIGdldCBzdG9yYWdlS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERieE1vZGVsVmlld1RyYWNrZXJTdG9yYWdlLk9CSkVDVF9WSUVXX1RSQUNLRVJfU1RPUkFHRV9MSVNUX0tFWTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbWF4RXZlbnRzVG9LZWVwKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIERieE1vZGVsVmlld1RyYWNrZXJTdG9yYWdlLk1BWF9FVkVOVFM7XG4gIH1cblxuICBhZGRUcmFja2VyRXZlbnQoZXZlbnQ6IERieE1vZGVsVmlld1RyYWNrZXJFdmVudCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB0aGlzLmdldFN0b3JhZ2VLZXlGb3JGb2xkZXIoZXZlbnQuZm9sZGVyKTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RXZlbnRTZXRGb3JTdG9yYWdlS2V5KHN0b3JhZ2VLZXkpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgoc2V0KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRFdmVudDogRGJ4TW9kZWxWaWV3VHJhY2tlckV2ZW50ID0ge1xuICAgICAgICAgIGQ6IGV2ZW50LmQgPz8gdW5peFRpbWVOdW1iZXJGb3JOb3coKSxcbiAgICAgICAgICBjOiBldmVudC5jLFxuICAgICAgICAgIG06IGV2ZW50Lm1cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBlID0gTW9kZWxSZWxhdGlvblV0aWxpdHkucmVtb3ZlRHVwbGljYXRlcyhzZXQuZSwgKHgpID0+IGVuY29kZU1vZGVsS2V5VHlwZVBhaXIoeC5tKSwgW2VuY29kZU1vZGVsS2V5VHlwZVBhaXIobmV4dEV2ZW50Lm0pXSk7XG4gICAgICAgIGUucHVzaChuZXh0RXZlbnQpO1xuICAgICAgICBlLnNvcnQoKGEsIGIpID0+IChiLmQgPz8gMCkgLSAoYS5kID8/IDApKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlQWNjZXNzb3Iuc2V0KHN0b3JhZ2VLZXksIHtcbiAgICAgICAgICBsOiBNYXRoLm1heChzZXQubCA/PyAwLCBuZXh0RXZlbnQuZCBhcyBudW1iZXIpLFxuICAgICAgICAgIGU6IGUuc2xpY2UoMCwgdGhpcy5tYXhFdmVudHNUb0tlZXApXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QWxsRXZlbnRzKGZvbGRlcj86IE1heWJlPHN0cmluZz4pOiBPYnNlcnZhYmxlPERieE1vZGVsVmlld1RyYWNrZXJFdmVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXZlbnRTZXQoZm9sZGVyKS5waXBlKG1hcCgoeCkgPT4geC5lKSk7XG4gIH1cblxuICBnZXRFdmVudFNldChmb2xkZXI/OiBNYXliZTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnRTZXQ+IHtcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gdGhpcy5nZXRTdG9yYWdlS2V5Rm9yRm9sZGVyKGZvbGRlcik7XG4gICAgcmV0dXJuIHRoaXMuX2dldEV2ZW50U2V0Rm9yU3RvcmFnZUtleShzdG9yYWdlS2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEV2ZW50U2V0Rm9yU3RvcmFnZUtleShzdG9yYWdlS2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPERieE1vZGVsVmlld1RyYWNrZXJFdmVudFNldD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2VBY2Nlc3Nvci5nZXQoc3RvcmFnZUtleSkucGlwZShcbiAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgocmVzdWx0KSA9PiByZXN1bHQgPz8geyBlOiBbXSwgbDogMCB9KVxuICAgICk7XG4gIH1cblxuICBnZXRTdG9yYWdlS2V5Rm9yRm9sZGVyKGZvbGRlcj86IE1heWJlPHN0cmluZz4pOiBzdHJpbmcge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSBgJHt0aGlzLnN0b3JhZ2VLZXl9XyR7Zm9sZGVyID8/ICdkZWZhdWx0J31gO1xuICAgIHJldHVybiBzdG9yYWdlS2V5O1xuICB9XG5cbiAgLy8gTUFSSzogQ29tcGF0XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYWRkVHJhY2tlckV2ZW50KCkgaW5zdGVhZC5cbiAgICovXG4gIGFkZEV2ZW50KGV2ZW50OiBEYnhNb2RlbFZpZXdUcmFja2VyRXZlbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRUcmFja2VyRXZlbnQoZXZlbnQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL21vZGVsLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VndWVSZWYgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNb2RlbEtleSwgTW9kZWxUeXBlU3RyaW5nIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBNb2RlbFZpZXdDb250ZXh0IH0gZnJvbSAnLi9tb2RlbC50cmFja2VyJztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBTZWd1ZVJlZiBiYXNlZCBvbiB0aGUgaW5wdXQgbW9kZWwncyBrZXkgYW5kIG9wdGlvbmFsIHZpZXcgY29udGV4dC5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4TW9kZWxUeXBlQ29uZmlndXJhdGlvblNyZWZGYWN0b3J5ID0gKGtleTogTW9kZWxLZXksIGNvbnRleHQ/OiBNb2RlbFZpZXdDb250ZXh0KSA9PiBTZWd1ZVJlZjtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBEYnhNb2RlbFR5cGVDb25maWd1cmF0aW9uU3JlZkZhY3RvcnkuXG4gKi9cbmV4cG9ydCB0eXBlIERieE1vZGVsVHlwZUNvbmZpZ3VyYXRpb25TcmVmRmFjdG9yeUJ1aWxkZXIgPSAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBEYnhNb2RlbFR5cGVDb25maWd1cmF0aW9uU3JlZkZhY3Rvcnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TW9kZWxUeXBlQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBQb3B1cCBsYWJlbCB0aGF0IGNhbiBiZSB1c2VkIGZvciB0aGVzZSB0eXBlcy5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKipcbiAgICogTmFtZSB1c2VkIGluIGFuYWx5dGljcyBldmVudHMuIElmIG5vdCBwcm92aWRlZCwgbGFiZWwgaXMgdXNlZCBieSBkZWZhdWx0LlxuICAgKi9cbiAgYW5hbHl0aWNzTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIE1vZGVsIHR5cGUgdGhpcyBjb25maWd1cmF0aW9uIGlzIGZvci5cbiAgICovXG4gIG1vZGVsVHlwZTogTW9kZWxUeXBlU3RyaW5nO1xuICAvKipcbiAgICogU3JlZiBmYWN0b3J5IGZvciB2aWV3aW5nIG9iamVjdHMgb2YgdGhpcyB0eXBlLlxuICAgKi9cbiAgc3JlZj86IERieE1vZGVsVHlwZUNvbmZpZ3VyYXRpb25TcmVmRmFjdG9yeTtcbiAgLyoqXG4gICAqIERieE1vZGVsVHlwZUNvbmZpZ3VyYXRpb25TcmVmRmFjdG9yeUJ1aWxkZXJcbiAgICovXG4gIHNyZWZCdWlsZGVyPzogRGJ4TW9kZWxUeXBlQ29uZmlndXJhdGlvblNyZWZGYWN0b3J5QnVpbGRlcjtcbiAgLyoqXG4gICAqIEljb24gdXNlZCB0byByZXByZXNlbnQgdGhpcyBtb2RlbC5cbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TW9kZWxUeXBlQ29uZmlndXJhdGlvbk1hcCB7XG4gIFtrZXk6IHN0cmluZ106IERieE1vZGVsVHlwZUNvbmZpZ3VyYXRpb247XG59XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { Injectable, Injector } from '@angular/core';
2
+ import { map, shareReplay } from 'rxjs/operators';
3
+ import { capitalCase } from 'change-case';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { useIterableOrValue } from '@dereekb/util';
6
+ import * as i0 from "@angular/core";
7
+ export class DbxModelTypesService {
8
+ constructor(injector) {
9
+ this.injector = injector;
10
+ this._configs = new BehaviorSubject({});
11
+ // MARK: Accessors
12
+ this.typesMap$ = this._configs.pipe(map((types) => {
13
+ const typesMap = {};
14
+ Object.keys(types).forEach((type) => {
15
+ const config = types[type];
16
+ const label = config.label || capitalCase(type);
17
+ const analyticsName = config.analyticsName || label;
18
+ const sref = config.srefBuilder ? config.srefBuilder(this.injector) : config.sref;
19
+ typesMap[type] = {
20
+ ...config,
21
+ sref,
22
+ label,
23
+ analyticsName,
24
+ icon: config.icon ?? DbxModelTypesService.DEFAULT_ICON,
25
+ canSegueToView: Boolean(sref)
26
+ };
27
+ });
28
+ return typesMap;
29
+ }), shareReplay(1));
30
+ this.iconMap$ = this.typesMap$.pipe(map((types) => {
31
+ const iconsMap = {};
32
+ Object.keys(types).forEach((type) => {
33
+ iconsMap[type] = types[type].icon;
34
+ });
35
+ return iconsMap;
36
+ }), shareReplay(1));
37
+ }
38
+ // MARK: Configuration
39
+ addTypeConfigs(configs) {
40
+ const types = {
41
+ ...this._configs.value
42
+ };
43
+ useIterableOrValue(configs, (config) => {
44
+ types[config.modelType] = config;
45
+ });
46
+ this._configs.next(types);
47
+ }
48
+ addTypeConfigsMap(configs) {
49
+ const newConfig = {
50
+ ...this._configs.value,
51
+ ...configs
52
+ };
53
+ this._configs.next(newConfig);
54
+ }
55
+ iconForType(type) {
56
+ return this.iconMap$.pipe(map((x) => x[type]));
57
+ }
58
+ }
59
+ DbxModelTypesService.DEFAULT_ICON = 'help_outline';
60
+ DbxModelTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTypesService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
61
+ DbxModelTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTypesService, providedIn: 'root' });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTypesService, decorators: [{
63
+ type: Injectable,
64
+ args: [{
65
+ providedIn: 'root'
66
+ }]
67
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwudHlwZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vbW9kZWwvbW9kZWwudHlwZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFjLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQTJDLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXNCNUYsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQixZQUFxQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSi9CLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBK0IsRUFBRSxDQUFDLENBQUM7UUE0QnpFLGtCQUFrQjtRQUNULGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixNQUFNLFFBQVEsR0FBa0MsRUFBRSxDQUFDO1lBRW5ELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFM0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO2dCQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFFbEYsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHO29CQUNmLEdBQUcsTUFBTTtvQkFDVCxJQUFJO29CQUNKLEtBQUs7b0JBQ0wsYUFBYTtvQkFDYixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxvQkFBb0IsQ0FBQyxZQUFZO29CQUN0RCxjQUFjLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQztpQkFDekIsQ0FBQztZQUNULENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxRQUErQixDQUFDO1FBQ3pDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sYUFBUSxHQUFpQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDbkUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixNQUFNLFFBQVEsR0FBK0IsRUFBRSxDQUFDO1lBRWhELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxRQUE0QixDQUFDO1FBQ3RDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBOUR3QyxDQUFDO0lBRTNDLHNCQUFzQjtJQUN0QixjQUFjLENBQUMsT0FBZ0Q7UUFDN0QsTUFBTSxLQUFLLEdBQUc7WUFDWixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztTQUN2QixDQUFDO1FBRUYsa0JBQWtCLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsT0FBcUM7UUFDckQsTUFBTSxTQUFTLEdBQWlDO1lBQzlDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQ3RCLEdBQUcsT0FBTztTQUNYLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBMENELFdBQVcsQ0FBQyxJQUFxQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDOztBQXBFZSxpQ0FBWSxHQUFHLGNBQWMsQ0FBQztrSEFIbkMsb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjYXBpdGFsQ2FzZSB9IGZyb20gJ2NoYW5nZS1jYXNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBCdWlsZGluZywgTW9kZWxUeXBlU3RyaW5nLCB1c2VJdGVyYWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieE1vZGVsVHlwZUNvbmZpZ3VyYXRpb24sIERieE1vZGVsVHlwZUNvbmZpZ3VyYXRpb25NYXAgfSBmcm9tICcuL21vZGVsLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhNb2RlbFR5cGVJbmZvIGV4dGVuZHMgT21pdDxEYnhNb2RlbFR5cGVDb25maWd1cmF0aW9uLCAnc3JlZkZhY3RvcnknPiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBhIHJlc3BvbnNlIGlzIGV4cGVjdGVkIGZvciBzZWd1ZXNcbiAgICogdG8gYSB2aWV3IGZvciBvYmplY3RzIG9mIHRoaXMgdHlwZS5cbiAgICovXG4gIGNhblNlZ3VlVG9WaWV3OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieE1vZGVsVHlwZXNNYXA8SSBleHRlbmRzIERieE1vZGVsVHlwZUluZm8+IHtcbiAgcmVhZG9ubHkgW3R5cGU6IHN0cmluZ106IEk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TW9kZWxJY29uc01hcCB7XG4gIHJlYWRvbmx5IFt0eXBlOiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieE1vZGVsVHlwZXNTZXJ2aWNlPEkgZXh0ZW5kcyBEYnhNb2RlbFR5cGVJbmZvID0gRGJ4TW9kZWxUeXBlSW5mbz4ge1xuICBwcml2YXRlIF9jb25maWdzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYnhNb2RlbFR5cGVDb25maWd1cmF0aW9uTWFwPih7fSk7XG5cbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfSUNPTiA9ICdoZWxwX291dGxpbmUnO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICAvLyBNQVJLOiBDb25maWd1cmF0aW9uXG4gIGFkZFR5cGVDb25maWdzKGNvbmZpZ3M6IEFycmF5T3JWYWx1ZTxEYnhNb2RlbFR5cGVDb25maWd1cmF0aW9uPikge1xuICAgIGNvbnN0IHR5cGVzID0ge1xuICAgICAgLi4udGhpcy5fY29uZmlncy52YWx1ZVxuICAgIH07XG5cbiAgICB1c2VJdGVyYWJsZU9yVmFsdWUoY29uZmlncywgKGNvbmZpZykgPT4ge1xuICAgICAgdHlwZXNbY29uZmlnLm1vZGVsVHlwZV0gPSBjb25maWc7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9jb25maWdzLm5leHQodHlwZXMpO1xuICB9XG5cbiAgYWRkVHlwZUNvbmZpZ3NNYXAoY29uZmlnczogRGJ4TW9kZWxUeXBlQ29uZmlndXJhdGlvbk1hcCkge1xuICAgIGNvbnN0IG5ld0NvbmZpZzogRGJ4TW9kZWxUeXBlQ29uZmlndXJhdGlvbk1hcCA9IHtcbiAgICAgIC4uLnRoaXMuX2NvbmZpZ3MudmFsdWUsXG4gICAgICAuLi5jb25maWdzXG4gICAgfTtcblxuICAgIHRoaXMuX2NvbmZpZ3MubmV4dChuZXdDb25maWcpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IHR5cGVzTWFwJCA9IHRoaXMuX2NvbmZpZ3MucGlwZShcbiAgICBtYXAoKHR5cGVzKSA9PiB7XG4gICAgICBjb25zdCB0eXBlc01hcDogQnVpbGRpbmc8RGJ4TW9kZWxUeXBlc01hcDxJPj4gPSB7fTtcblxuICAgICAgT2JqZWN0LmtleXModHlwZXMpLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdHlwZXNbdHlwZV07XG5cbiAgICAgICAgY29uc3QgbGFiZWwgPSBjb25maWcubGFiZWwgfHwgY2FwaXRhbENhc2UodHlwZSk7XG4gICAgICAgIGNvbnN0IGFuYWx5dGljc05hbWUgPSBjb25maWcuYW5hbHl0aWNzTmFtZSB8fCBsYWJlbDtcbiAgICAgICAgY29uc3Qgc3JlZiA9IGNvbmZpZy5zcmVmQnVpbGRlciA/IGNvbmZpZy5zcmVmQnVpbGRlcih0aGlzLmluamVjdG9yKSA6IGNvbmZpZy5zcmVmO1xuXG4gICAgICAgIHR5cGVzTWFwW3R5cGVdID0ge1xuICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICBzcmVmLFxuICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgIGFuYWx5dGljc05hbWUsXG4gICAgICAgICAgaWNvbjogY29uZmlnLmljb24gPz8gRGJ4TW9kZWxUeXBlc1NlcnZpY2UuREVGQVVMVF9JQ09OLFxuICAgICAgICAgIGNhblNlZ3VlVG9WaWV3OiBCb29sZWFuKHNyZWYpXG4gICAgICAgIH0gYXMgSTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdHlwZXNNYXAgYXMgRGJ4TW9kZWxUeXBlc01hcDxJPjtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGljb25NYXAkOiBPYnNlcnZhYmxlPERieE1vZGVsSWNvbnNNYXA+ID0gdGhpcy50eXBlc01hcCQucGlwZShcbiAgICBtYXAoKHR5cGVzKSA9PiB7XG4gICAgICBjb25zdCBpY29uc01hcDogQnVpbGRpbmc8RGJ4TW9kZWxJY29uc01hcD4gPSB7fTtcblxuICAgICAgT2JqZWN0LmtleXModHlwZXMpLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICAgICAgaWNvbnNNYXBbdHlwZV0gPSB0eXBlc1t0eXBlXS5pY29uO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBpY29uc01hcCBhcyBEYnhNb2RlbEljb25zTWFwO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgaWNvbkZvclR5cGUodHlwZTogTW9kZWxUeXBlU3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5pY29uTWFwJC5waXBlKG1hcCgoeCkgPT4geFt0eXBlXSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { createAction } from '@ngrx/store';
2
+ export const dbxModelResetState = createAction('[App/Model] Reset State');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vbW9kZWwvc3RhdGUvYWN0aW9ucy9hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHbEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBjb25zdCBkYnhNb2RlbFJlc2V0U3RhdGUgPSBjcmVhdGVBY3Rpb24oJ1tBcHAvTW9kZWxdIFJlc2V0IFN0YXRlJyk7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import * as DbxModelStateActions from './actions';
2
+ import * as DbxModelStateModelActions from './model.actions';
3
+ export { DbxModelStateActions, DbxModelStateModelActions };
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL3N0YXRlL2FjdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLG9CQUFvQixNQUFNLFdBQVcsQ0FBQztBQUNsRCxPQUFPLEtBQUsseUJBQXlCLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBEYnhNb2RlbFN0YXRlQWN0aW9ucyBmcm9tICcuL2FjdGlvbnMnO1xuaW1wb3J0ICogYXMgRGJ4TW9kZWxTdGF0ZU1vZGVsQWN0aW9ucyBmcm9tICcuL21vZGVsLmFjdGlvbnMnO1xuXG5leHBvcnQgeyBEYnhNb2RlbFN0YXRlQWN0aW9ucywgRGJ4TW9kZWxTdGF0ZU1vZGVsQWN0aW9ucyB9O1xuIl19
@@ -0,0 +1,3 @@
1
+ import { createAction, props } from '@ngrx/store';
2
+ export const emitObjectViewEvent = createAction('[App/Model/Type] Object Viewed', props());
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vbW9kZWwvc3RhdGUvYWN0aW9ucy9tb2RlbC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBV2xELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFlBQVksQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLEVBQThCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZGVsS2V5VHlwZU5hbWVQYWlyLCBNb2RlbEtleVR5cGVQYWlyIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieE1vZGVsT2JqZWN0Vmlld2VkUGFyYW1zIHtcbiAgbW9kZWxLZXlUeXBlTmFtZVBhaXI6IE1vZGVsS2V5VHlwZU5hbWVQYWlyO1xuICBjb250ZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieE1vZGVsR29Ub09iamVjdFZpZXdQYXJhbXMge1xuICBtb2RlbEtleVR5cGVQYWlyOiBNb2RlbEtleVR5cGVQYWlyO1xufVxuXG5leHBvcnQgY29uc3QgZW1pdE9iamVjdFZpZXdFdmVudCA9IGNyZWF0ZUFjdGlvbignW0FwcC9Nb2RlbC9UeXBlXSBPYmplY3QgVmlld2VkJywgcHJvcHM8RGJ4TW9kZWxPYmplY3RWaWV3ZWRQYXJhbXM+KCkpO1xuIl19
@@ -0,0 +1,30 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Actions, ofType, createEffect } from '@ngrx/effects';
3
+ import { distinctUntilChanged, filter, map, tap } from 'rxjs/operators';
4
+ import { onDbxAppAuth } from '@dereekb/dbx-core';
5
+ import { DbxModelTrackerService } from '../../model.tracker.service';
6
+ import { onDbxModel } from '..';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngrx/effects";
9
+ import * as i2 from "../../model.tracker.service";
10
+ /**
11
+ * Used to pass Object Store events to the ObjectTracker.
12
+ */
13
+ export class DbxModelTrackerEffects {
14
+ constructor(actions$, dbxModelTrackerService) {
15
+ this.actions$ = actions$;
16
+ this.dbxModelTrackerService = dbxModelTrackerService;
17
+ this.trackModelViewed$ = createEffect(() => this.actions$.pipe(ofType(onDbxModel.DbxModelStateModelActions.emitObjectViewEvent), distinctUntilChanged((a, b) => a?.modelKeyTypeNamePair.key === b?.modelKeyTypeNamePair.key && a?.type === b?.type && a?.context === b?.context), tap((x) => {
18
+ this.dbxModelTrackerService.trackViewedObject(x.modelKeyTypeNamePair, x.context);
19
+ })), { dispatch: false });
20
+ this.changeTrackerFolderToMatchAuth$ = createEffect(() => this.actions$.pipe(ofType(onDbxAppAuth.DbxAppAuthUserActions.setUserIdentifier), map((x) => x.id), filter((x) => Boolean(x)), distinctUntilChanged(), tap((accountId) => {
21
+ this.dbxModelTrackerService.defaultFolder = accountId;
22
+ })), { dispatch: false });
23
+ }
24
+ }
25
+ DbxModelTrackerEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTrackerEffects, deps: [{ token: i1.Actions }, { token: i2.DbxModelTrackerService }], target: i0.ɵɵFactoryTarget.Injectable });
26
+ DbxModelTrackerEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTrackerEffects });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxModelTrackerEffects, decorators: [{
28
+ type: Injectable
29
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.DbxModelTrackerService }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tlci5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2V4dGVuc2lvbi9tb2RlbC9zdGF0ZS9lZmZlY3RzL3RyYWNrZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQzs7OztBQUVoQzs7R0FFRztBQUVILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFBNkIsUUFBaUIsRUFBbUIsc0JBQThDO1FBQWxGLGFBQVEsR0FBUixRQUFRLENBQVM7UUFBbUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUV0RyxzQkFBaUIsR0FBRyxZQUFZLENBQ3ZDLEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLEVBQ2hFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsT0FBTyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsRUFDL0ksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDUixJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRixDQUFDLENBQUMsQ0FDSCxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFDO1FBRU8sb0NBQStCLEdBQUcsWUFBWSxDQUNyRCxHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxFQUM1RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDaEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDekIsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQ0gsRUFDSCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FDcEIsQ0FBQztJQTFCZ0gsQ0FBQzs7b0hBRHhHLHNCQUFzQjt3SEFBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBvZlR5cGUsIGNyZWF0ZUVmZmVjdCB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBvbkRieEFwcEF1dGggfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhNb2RlbFRyYWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kZWwudHJhY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IG9uRGJ4TW9kZWwgfSBmcm9tICcuLic7XG5cbi8qKlxuICogVXNlZCB0byBwYXNzIE9iamVjdCBTdG9yZSBldmVudHMgdG8gdGhlIE9iamVjdFRyYWNrZXIuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYnhNb2RlbFRyYWNrZXJFZmZlY3RzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhY3Rpb25zJDogQWN0aW9ucywgcHJpdmF0ZSByZWFkb25seSBkYnhNb2RlbFRyYWNrZXJTZXJ2aWNlOiBEYnhNb2RlbFRyYWNrZXJTZXJ2aWNlKSB7fVxuXG4gIHJlYWRvbmx5IHRyYWNrTW9kZWxWaWV3ZWQkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZShvbkRieE1vZGVsLkRieE1vZGVsU3RhdGVNb2RlbEFjdGlvbnMuZW1pdE9iamVjdFZpZXdFdmVudCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5tb2RlbEtleVR5cGVOYW1lUGFpci5rZXkgPT09IGI/Lm1vZGVsS2V5VHlwZU5hbWVQYWlyLmtleSAmJiBhPy50eXBlID09PSBiPy50eXBlICYmIGE/LmNvbnRleHQgPT09IGI/LmNvbnRleHQpLFxuICAgICAgICB0YXAoKHgpID0+IHtcbiAgICAgICAgICB0aGlzLmRieE1vZGVsVHJhY2tlclNlcnZpY2UudHJhY2tWaWV3ZWRPYmplY3QoeC5tb2RlbEtleVR5cGVOYW1lUGFpciwgeC5jb250ZXh0KTtcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIHJlYWRvbmx5IGNoYW5nZVRyYWNrZXJGb2xkZXJUb01hdGNoQXV0aCQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlKG9uRGJ4QXBwQXV0aC5EYnhBcHBBdXRoVXNlckFjdGlvbnMuc2V0VXNlcklkZW50aWZpZXIpLFxuICAgICAgICBtYXAoKHgpID0+IHguaWQpLFxuICAgICAgICBmaWx0ZXIoKHgpID0+IEJvb2xlYW4oeCkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKGFjY291bnRJZCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGJ4TW9kZWxUcmFja2VyU2VydmljZS5kZWZhdWx0Rm9sZGVyID0gYWNjb3VudElkO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './state';
2
+ export * from './actions';
3
+ import * as onDbxModel from './actions';
4
+ import * as fromDbxModel from './reducers';
5
+ export { onDbxModel, fromDbxModel };
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL3N0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBRTFCLE9BQU8sS0FBSyxVQUFVLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxZQUFZLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucyc7XG5cbmltcG9ydCAqIGFzIG9uRGJ4TW9kZWwgZnJvbSAnLi9hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21EYnhNb2RlbCBmcm9tICcuL3JlZHVjZXJzJztcblxuZXhwb3J0IHsgb25EYnhNb2RlbCwgZnJvbURieE1vZGVsIH07XG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { combineReducers, createFeatureSelector, createSelector } from '@ngrx/store';
2
+ import * as fromObjectModuleConfig from './model.module.config';
3
+ export const featureKey = 'app.model';
4
+ export function reducers(state, action) {
5
+ return combineReducers({
6
+ [fromObjectModuleConfig.stateFeatureKey]: fromObjectModuleConfig.reducer
7
+ })(state, action);
8
+ }
9
+ // MARK: Context
10
+ export const selectDbxModelFeature = createFeatureSelector(featureKey);
11
+ // MARK: Module Config
12
+ export const selectDbxModelFeatureObjectModuleConfig = createSelector(selectDbxModelFeature, (state) => state[fromObjectModuleConfig.stateFeatureKey]);
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL3N0YXRlL3JlZHVjZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdGLE9BQU8sS0FBSyxzQkFBc0IsTUFBTSx1QkFBdUIsQ0FBQztBQUdoRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDO0FBVXRDLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBZ0MsRUFBRSxNQUFjO0lBQ3ZFLE9BQU8sZUFBZSxDQUFDO1FBQ3JCLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEVBQUUsc0JBQXNCLENBQUMsT0FBTztLQUN6RSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3BCLENBQUM7QUFFRCxnQkFBZ0I7QUFDaEIsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcscUJBQXFCLENBQXVCLFVBQVUsQ0FBQyxDQUFDO0FBRTdGLHNCQUFzQjtBQUN0QixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgY29tYmluZVJlZHVjZXJzLCBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgKiBhcyBmcm9tT2JqZWN0TW9kdWxlQ29uZmlnIGZyb20gJy4vbW9kZWwubW9kdWxlLmNvbmZpZyc7XG5pbXBvcnQgeyBEYnhNb2RlbE1vZHVsZVN0YXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbW9kZWwubW9kdWxlLmNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBmZWF0dXJlS2V5ID0gJ2FwcC5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4TW9kZWxTdGF0ZSB7XG4gIFtmcm9tT2JqZWN0TW9kdWxlQ29uZmlnLnN0YXRlRmVhdHVyZUtleV06IERieE1vZGVsTW9kdWxlU3RhdGVDb25maWd1cmF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcbiAgW2ZlYXR1cmVLZXldOiBEYnhNb2RlbFN0YXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcnMoc3RhdGU6IERieE1vZGVsU3RhdGUgfCB1bmRlZmluZWQsIGFjdGlvbjogQWN0aW9uKSB7XG4gIHJldHVybiBjb21iaW5lUmVkdWNlcnMoe1xuICAgIFtmcm9tT2JqZWN0TW9kdWxlQ29uZmlnLnN0YXRlRmVhdHVyZUtleV06IGZyb21PYmplY3RNb2R1bGVDb25maWcucmVkdWNlclxuICB9KShzdGF0ZSwgYWN0aW9uKTtcbn1cblxuLy8gTUFSSzogQ29udGV4dFxuZXhwb3J0IGNvbnN0IHNlbGVjdERieE1vZGVsRmVhdHVyZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZSwgRGJ4TW9kZWxTdGF0ZT4oZmVhdHVyZUtleSk7XG5cbi8vIE1BUks6IE1vZHVsZSBDb25maWdcbmV4cG9ydCBjb25zdCBzZWxlY3REYnhNb2RlbEZlYXR1cmVPYmplY3RNb2R1bGVDb25maWcgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3REYnhNb2RlbEZlYXR1cmUsIChzdGF0ZTogRGJ4TW9kZWxTdGF0ZSkgPT4gc3RhdGVbZnJvbU9iamVjdE1vZHVsZUNvbmZpZy5zdGF0ZUZlYXR1cmVLZXldKTtcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { createReducer, on } from '@ngrx/store';
2
+ import { DbxModelStateActions } from '../actions';
3
+ export const stateFeatureKey = 'model.module.config';
4
+ export const initialState = {
5
+ types: {}
6
+ };
7
+ export const reducer = createReducer(initialState, on(DbxModelStateActions.dbxModelResetState, () => initialState));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwubW9kdWxlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9leHRlbnNpb24vbW9kZWwvc3RhdGUvcmVkdWNlcnMvbW9kZWwubW9kdWxlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJbEQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBcUM7SUFDNUQsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FDbEMsWUFBWSxFQUNaLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFycmF5T3JWYWx1ZSwgdXNlSXRlcmFibGVPclZhbHVlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgRGJ4TW9kZWxTdGF0ZUFjdGlvbnMgfSBmcm9tICcuLi9hY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhNb2RlbE1vZHVsZVN0YXRlQ29uZmlndXJhdGlvbiB7fVxuXG5leHBvcnQgY29uc3Qgc3RhdGVGZWF0dXJlS2V5ID0gJ21vZGVsLm1vZHVsZS5jb25maWcnO1xuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBEYnhNb2RlbE1vZHVsZVN0YXRlQ29uZmlndXJhdGlvbiA9IHtcbiAgdHlwZXM6IHt9XG59O1xuXG5leHBvcnQgY29uc3QgcmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxTdGF0ZSxcbiAgb24oRGJ4TW9kZWxTdGF0ZUFjdGlvbnMuZGJ4TW9kZWxSZXNldFN0YXRlLCAoKSA9PiBpbml0aWFsU3RhdGUpXG4pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvZXh0ZW5zaW9uL21vZGVsL3N0YXRlL3N0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcm9tRGJ4TW9kZWwgZnJvbSAnLi9yZWR1Y2Vycyc7XG5cbmV4cG9ydCB0eXBlIERieE1vZGVsRnVsbFN0YXRlID0gZnJvbURieE1vZGVsLlN0YXRlO1xuIl19