@dereekb/dbx-web 9.19.4 → 9.20.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.
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 +42 -0
  8. package/esm2020/lib/extension/model/model.tracker.view.storage.mjs +65 -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 +305 -4
  20. package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
  21. package/fesm2020/dereekb-dbx-web.mjs +311 -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 +18 -0
  28. package/lib/extension/model/model.tracker.service.d.ts +20 -0
  29. package/lib/extension/model/model.tracker.view.storage.d.ts +23 -0
  30. package/lib/extension/model/model.types.d.ts +27 -0
  31. package/lib/extension/model/model.types.service.d.ts +32 -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 +8 -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 +1,2 @@
1
+ export * from './model';
1
2
  export * from './widget';
@@ -0,0 +1,8 @@
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';
@@ -0,0 +1,19 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { SimpleStorageAccessorFactory } from '@dereekb/dbx-core';
3
+ import { DbxModelViewTrackerStorage } from './model.tracker.view.storage';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "../../layout/list/list.layout.module";
7
+ import * as i3 from "@dereekb/dbx-core";
8
+ import * as i4 from "@ngrx/effects";
9
+ import * as i5 from "@ngrx/store";
10
+ export declare function appObjectViewTrackerStorageFactory(storageAccessorFactory: SimpleStorageAccessorFactory): DbxModelViewTrackerStorage;
11
+ /**
12
+ * Contains components related to displaying content related to models identified only by their model key.
13
+ */
14
+ export declare class DbxModelInfoModule {
15
+ static forRoot(): ModuleWithProviders<DbxModelInfoModule>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxModelInfoModule, never>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DbxModelInfoModule, never, [typeof i1.CommonModule, typeof i2.DbxListLayoutModule, typeof i3.DbxInjectionComponentModule, typeof i4.EffectsFeatureModule, typeof i5.StoreFeatureModule], never>;
18
+ static ɵinj: i0.ɵɵInjectorDeclaration<DbxModelInfoModule>;
19
+ }
@@ -0,0 +1,14 @@
1
+ import { Store } from '@ngrx/store';
2
+ import { DbxModelObjectViewedParams } from './state/actions/model.actions';
3
+ import { DbxModelFullState } from './state/state';
4
+ import * as i0 from "@angular/core";
5
+ export declare class DbxModelObjectStateService {
6
+ readonly store: Store<DbxModelFullState>;
7
+ constructor(store: Store<DbxModelFullState>);
8
+ /**
9
+ * Emit a model viewed event.
10
+ */
11
+ emitModelViewEvent({ modelKeyTypeNamePair }: DbxModelObjectViewedParams): void;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxModelObjectStateService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxModelObjectStateService>;
14
+ }
@@ -0,0 +1,18 @@
1
+ import { UnixDateTimeNumber, ModelKeyTypePair, Maybe, ModelKey } from '@dereekb/util';
2
+ export interface DbxModelViewTrackerEvent {
3
+ d?: UnixDateTimeNumber;
4
+ m: ModelKeyTypePair;
5
+ folder?: Maybe<string>;
6
+ }
7
+ export interface DbxModelViewTrackerEventSet {
8
+ /**
9
+ * The latest date/time number.
10
+ */
11
+ l: UnixDateTimeNumber;
12
+ /**
13
+ * List of events.
14
+ */
15
+ e: DbxModelViewTrackerEvent[];
16
+ }
17
+ export declare function allDbxModelViewTrackerEventSetModelKeys(eventSet: DbxModelViewTrackerEventSet): ModelKey[];
18
+ export declare function allDbxModelViewTrackerEventModelKeys(events: DbxModelViewTrackerEvent[]): ModelKey[];
@@ -0,0 +1,20 @@
1
+ import { Maybe, ModelKeyTypeNamePair } from '@dereekb/util';
2
+ import { Observable } from 'rxjs';
3
+ import { DbxModelViewTrackerEvent, DbxModelViewTrackerEventSet } from './model.tracker';
4
+ import { DbxModelViewTrackerStorage } from './model.tracker.view.storage';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Service used for tracking/logging different kinds of events on objects.
8
+ */
9
+ export declare class DbxModelTrackerService {
10
+ private readonly viewTrackerStorage;
11
+ private _defaultFolder;
12
+ constructor(viewTrackerStorage: DbxModelViewTrackerStorage);
13
+ get defaultFolder(): Maybe<string>;
14
+ set defaultFolder(folder: Maybe<string>);
15
+ trackViewedObject(modelKeyTypeNamePair: ModelKeyTypeNamePair, folder?: Maybe<string>): void;
16
+ getAllViewEvents(folder?: Maybe<string>): Observable<DbxModelViewTrackerEvent[]>;
17
+ getViewEventSet(folder?: Maybe<string>): Observable<DbxModelViewTrackerEventSet>;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxModelTrackerService, never>;
19
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxModelTrackerService>;
20
+ }
@@ -0,0 +1,23 @@
1
+ import { StorageAccessor } from '@dereekb/dbx-core';
2
+ import { Maybe } from '@dereekb/util';
3
+ import { Observable } from 'rxjs';
4
+ import { DbxModelViewTrackerEventSet, DbxModelViewTrackerEvent } from './model.tracker';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Used for managing DbxModelViewTrackerEvent storage.
8
+ */
9
+ export declare class DbxModelViewTrackerStorage {
10
+ readonly storageAccessor: StorageAccessor<DbxModelViewTrackerEventSet>;
11
+ static readonly OBJECT_VIEW_TRACKER_STORAGE_LIST_KEY = "dbxModelViewTrackerEvents";
12
+ static readonly MAX_EVENTS = 60;
13
+ constructor(storageAccessor: StorageAccessor<DbxModelViewTrackerEventSet>);
14
+ protected get storageKey(): string;
15
+ protected get maxEventsToKeep(): number;
16
+ addEvent(event: DbxModelViewTrackerEvent): Observable<void>;
17
+ getAllEvents(folder?: Maybe<string>): Observable<DbxModelViewTrackerEvent[]>;
18
+ getEventSet(folder?: Maybe<string>): Observable<DbxModelViewTrackerEventSet>;
19
+ private _getEventSetForStorageKey;
20
+ getStorageKeyForFolder(folder?: Maybe<string>): string;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxModelViewTrackerStorage, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxModelViewTrackerStorage>;
23
+ }
@@ -0,0 +1,27 @@
1
+ import { SegueRef } from '@dereekb/dbx-core';
2
+ import { FactoryWithRequiredInput, ModelKey, ModelTypeString } from '@dereekb/util';
3
+ export interface DbxModelTypeConfiguration {
4
+ /**
5
+ * Popup label that can be used for these types.
6
+ */
7
+ label?: string;
8
+ /**
9
+ * Name used in analytics events. If not provided, label is used by default.
10
+ */
11
+ analyticsName?: string;
12
+ /**
13
+ * Model type this configuration is for.
14
+ */
15
+ modelType: ModelTypeString;
16
+ /**
17
+ * Sref factory for viewing objects of this type.
18
+ */
19
+ sref?: FactoryWithRequiredInput<SegueRef, ModelKey>;
20
+ /**
21
+ * Icon used to represent this model.
22
+ */
23
+ icon?: string;
24
+ }
25
+ export interface DbxModelTypeConfigurationMap {
26
+ [key: string]: DbxModelTypeConfiguration;
27
+ }
@@ -0,0 +1,32 @@
1
+ import { Store } from '@ngrx/store';
2
+ import { Observable } from 'rxjs';
3
+ import { ArrayOrValue, ModelTypeString } from '@dereekb/util';
4
+ import { DbxModelFullState } from './state';
5
+ import { DbxModelTypeConfiguration, DbxModelTypeConfigurationMap } from './model.types';
6
+ import * as i0 from "@angular/core";
7
+ export interface DbxModelTypeInfo extends DbxModelTypeConfiguration {
8
+ /**
9
+ * Whether or not a response is expected for segues
10
+ * to a view for objects of this type.
11
+ */
12
+ canSegueToView: boolean;
13
+ }
14
+ export interface DbxModelTypesMap<I extends DbxModelTypeInfo> {
15
+ readonly [type: string]: I;
16
+ }
17
+ export interface DbxModelIconsMap {
18
+ readonly [type: string]: string;
19
+ }
20
+ export declare class DbxModelTypesService<I extends DbxModelTypeInfo = DbxModelTypeInfo> {
21
+ readonly store: Store<DbxModelFullState>;
22
+ private _configs;
23
+ static readonly DEFAULT_ICON = "help_outline";
24
+ constructor(store: Store<DbxModelFullState>);
25
+ addTypeConfigs(configs: ArrayOrValue<DbxModelTypeConfiguration>): void;
26
+ addTypeConfigsMap(configs: DbxModelTypeConfigurationMap): void;
27
+ readonly typesMap$: Observable<DbxModelTypesMap<I>>;
28
+ readonly iconMap$: Observable<DbxModelIconsMap>;
29
+ iconForType(type: ModelTypeString): Observable<string>;
30
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxModelTypesService<any>, never>;
31
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxModelTypesService<any>>;
32
+ }
@@ -0,0 +1 @@
1
+ export declare const dbxModelResetState: import("@ngrx/store").ActionCreator<"[App/Model] Reset State", () => import("@ngrx/store/src/models").TypedAction<"[App/Model] Reset State">>;
@@ -0,0 +1,3 @@
1
+ import * as DbxModelStateActions from './actions';
2
+ import * as DbxModelStateModelActions from './model.actions';
3
+ export { DbxModelStateActions, DbxModelStateModelActions };
@@ -0,0 +1,8 @@
1
+ import { ModelKeyTypeNamePair, ModelKeyTypePair } from '@dereekb/util';
2
+ export interface DbxModelObjectViewedParams {
3
+ modelKeyTypeNamePair: ModelKeyTypeNamePair;
4
+ }
5
+ export interface DbxModelGoToObjectViewParams {
6
+ modelKeyTypePair: ModelKeyTypePair;
7
+ }
8
+ export declare const emitObjectViewEvent: import("@ngrx/store").ActionCreator<"[App/Model/Type] Object Viewed", (props: DbxModelObjectViewedParams) => DbxModelObjectViewedParams & import("@ngrx/store/src/models").TypedAction<"[App/Model/Type] Object Viewed">>;
@@ -0,0 +1,16 @@
1
+ import { Actions } from '@ngrx/effects';
2
+ import { DbxModelTrackerService } from '../../model.tracker.service';
3
+ import { onDbxModel } from '..';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Used to pass Object Store events to the ObjectTracker.
7
+ */
8
+ export declare class DbxModelTrackerEffects {
9
+ private readonly actions$;
10
+ private readonly dbxModelTrackerService;
11
+ constructor(actions$: Actions, dbxModelTrackerService: DbxModelTrackerService);
12
+ readonly trackModelViewed$: import("rxjs").Observable<onDbxModel.DbxModelStateModelActions.DbxModelObjectViewedParams & import("@ngrx/store/src/models").TypedAction<"[App/Model/Type] Object Viewed">> & import("@ngrx/effects").CreateEffectMetadata;
13
+ readonly changeTrackerFolderToMatchAuth$: import("rxjs").Observable<string> & import("@ngrx/effects").CreateEffectMetadata;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxModelTrackerEffects, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<DbxModelTrackerEffects>;
16
+ }
@@ -0,0 +1,5 @@
1
+ export * from './state';
2
+ export * from './actions';
3
+ import * as onDbxModel from './actions';
4
+ import * as fromDbxModel from './reducers';
5
+ export { onDbxModel, fromDbxModel };
@@ -0,0 +1,15 @@
1
+ import { Action } from '@ngrx/store';
2
+ import * as fromObjectModuleConfig from './model.module.config';
3
+ import { DbxModelModuleStateConfiguration } from './model.module.config';
4
+ export declare const featureKey = "app.model";
5
+ export interface DbxModelState {
6
+ [fromObjectModuleConfig.stateFeatureKey]: DbxModelModuleStateConfiguration;
7
+ }
8
+ export interface State {
9
+ [featureKey]: DbxModelState;
10
+ }
11
+ export declare function reducers(state: DbxModelState | undefined, action: Action): {
12
+ "model.module.config": fromObjectModuleConfig.DbxModelModuleStateConfiguration;
13
+ };
14
+ export declare const selectDbxModelFeature: import("@ngrx/store").MemoizedSelector<State, DbxModelState, import("@ngrx/store").DefaultProjectorFn<DbxModelState>>;
15
+ export declare const selectDbxModelFeatureObjectModuleConfig: import("@ngrx/store").MemoizedSelector<State, fromObjectModuleConfig.DbxModelModuleStateConfiguration, import("@ngrx/store").DefaultProjectorFn<fromObjectModuleConfig.DbxModelModuleStateConfiguration>>;
@@ -0,0 +1,5 @@
1
+ export interface DbxModelModuleStateConfiguration {
2
+ }
3
+ export declare const stateFeatureKey = "model.module.config";
4
+ export declare const initialState: DbxModelModuleStateConfiguration;
5
+ export declare const reducer: import("@ngrx/store").ActionReducer<DbxModelModuleStateConfiguration, import("@ngrx/store").Action>;
@@ -0,0 +1,2 @@
1
+ import * as fromDbxModel from './reducers';
2
+ export declare type DbxModelFullState = fromDbxModel.State;
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web/mapbox",
3
- "version": "9.19.4",
3
+ "version": "9.20.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.1.0",
6
6
  "@angular/core": "^14.1.0",
7
- "@dereekb/dbx-core": "9.19.4",
8
- "@dereekb/dbx-web": "9.19.4",
7
+ "@dereekb/dbx-core": "9.20.0",
8
+ "@dereekb/dbx-web": "9.20.0",
9
9
  "ngx-mapbox-gl": "^9.1.0",
10
10
  "mapbox-gl": "^2.9.2",
11
11
  "@mapbox/geo-viewport": "git+https://git@github.com/dereekb/geo-viewport#165513972f87dca23a20c177f4d173edc51b5e2f"
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web",
3
- "version": "9.19.4",
3
+ "version": "9.20.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0",
7
7
  "linkify-string": "4.0.0-beta.5",
8
8
  "linkifyjs": "^4.0.0-beta.5",
9
9
  "@angular/material": "^14.2.0",
10
- "@dereekb/rxjs": "9.19.4",
11
- "@dereekb/dbx-core": "9.19.4",
10
+ "@dereekb/rxjs": "9.20.0",
11
+ "@dereekb/dbx-core": "9.20.0",
12
+ "change-case": "^4.1.2",
12
13
  "@angular/flex-layout": "^14.0.0-beta.41",
13
14
  "ng-overlay-container": "^14.0.0",
14
15
  "@angular/cdk": "^14.2.0",