@genesislcap/foundation-ui 14.406.0-workspaces.2 → 14.406.0-workspaces.5

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 (44) hide show
  1. package/dist/custom-elements.json +1590 -630
  2. package/dist/dts/components/grid-register/grid-register.d.ts +19 -0
  3. package/dist/dts/components/grid-register/grid-register.d.ts.map +1 -0
  4. package/dist/dts/components/grid-register/grid-register.template.d.ts +4 -0
  5. package/dist/dts/components/grid-register/grid-register.template.d.ts.map +1 -0
  6. package/dist/dts/components/layout-wrapper/layout-wrapper.d.ts +10 -0
  7. package/dist/dts/components/layout-wrapper/layout-wrapper.d.ts.map +1 -0
  8. package/dist/dts/components/layout-wrapper/layout-wrapper.template.d.ts +4 -0
  9. package/dist/dts/components/layout-wrapper/layout-wrapper.template.d.ts.map +1 -0
  10. package/dist/dts/index.d.ts +2 -0
  11. package/dist/dts/index.d.ts.map +1 -1
  12. package/dist/dts/workspace/filter-registry.d.ts +34 -0
  13. package/dist/dts/workspace/filter-registry.d.ts.map +1 -0
  14. package/dist/dts/workspace/grid-registry.d.ts +47 -0
  15. package/dist/dts/workspace/grid-registry.d.ts.map +1 -0
  16. package/dist/dts/workspace/index.d.ts +4 -2
  17. package/dist/dts/workspace/index.d.ts.map +1 -1
  18. package/dist/dts/workspace/layout-registry.d.ts +27 -0
  19. package/dist/dts/workspace/layout-registry.d.ts.map +1 -0
  20. package/dist/dts/workspace/workspace-state.d.ts +45 -0
  21. package/dist/dts/workspace/workspace-state.d.ts.map +1 -0
  22. package/dist/dts/workspace/workspace-state.types.d.ts +0 -11
  23. package/dist/dts/workspace/workspace-state.types.d.ts.map +1 -1
  24. package/dist/dts/workspace/workspace.types.d.ts +1 -1
  25. package/dist/dts/workspace/workspace.types.d.ts.map +1 -1
  26. package/dist/dts/workspace-manager/workspace-manager.d.ts +5 -5
  27. package/dist/dts/workspace-manager/workspace-manager.d.ts.map +1 -1
  28. package/dist/esm/components/grid-register/grid-register.js +137 -0
  29. package/dist/esm/components/grid-register/grid-register.template.js +4 -0
  30. package/dist/esm/components/layout-wrapper/layout-wrapper.js +62 -0
  31. package/dist/esm/components/layout-wrapper/layout-wrapper.template.js +4 -0
  32. package/dist/esm/index.js +2 -0
  33. package/dist/esm/workspace/filter-registry.js +47 -0
  34. package/dist/esm/workspace/grid-registry.js +113 -0
  35. package/dist/esm/workspace/index.js +4 -2
  36. package/dist/esm/workspace/layout-registry.js +46 -0
  37. package/dist/esm/workspace/workspace-state.js +193 -0
  38. package/package.json +19 -19
  39. package/dist/dts/workspace/workspace-di.d.ts +0 -13
  40. package/dist/dts/workspace/workspace-di.d.ts.map +0 -1
  41. package/dist/dts/workspace/workspace-registry.types.d.ts +0 -34
  42. package/dist/dts/workspace/workspace-registry.types.d.ts.map +0 -1
  43. package/dist/esm/workspace/workspace-di.js +0 -9
  44. package/dist/esm/workspace/workspace-registry.types.js +0 -1
@@ -0,0 +1,19 @@
1
+ import { WorkspaceState, GridRegistry } from '../../workspace';
2
+ export declare class GridRegister extends HTMLElement {
3
+ gridKey: string;
4
+ gridRegistry: GridRegistry;
5
+ workspaceState: WorkspaceState;
6
+ private gridElement;
7
+ private gridApi;
8
+ private columnApi;
9
+ private workspaceSettingsApplied;
10
+ connectedCallback(): void;
11
+ disconnectedCallback(): void;
12
+ private findAndRegisterGrid;
13
+ private readonly handleGridReady;
14
+ private attachToGridApis;
15
+ private detachFromGridApis;
16
+ private loadWorkspaceSettings;
17
+ private loadWorkspaceColumnState;
18
+ }
19
+ //# sourceMappingURL=grid-register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-register.d.ts","sourceRoot":"","sources":["../../../../src/components/grid-register/grid-register.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/D,qBAIa,YAAa,SAAQ,WAAW;IACV,OAAO,EAAE,MAAM,CAAC;IAEnC,YAAY,EAAE,YAAY,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAE/C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,wBAAwB,CAAkB;IAElD,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAQ5B,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE9B;IAEF,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,kBAAkB;YAUZ,qBAAqB;YAqCrB,wBAAwB;CAGvC"}
@@ -0,0 +1,4 @@
1
+ import type { ViewTemplate } from '@microsoft/fast-element';
2
+ import type { GridRegister } from './grid-register';
3
+ export declare const GridRegisterTemplate: ViewTemplate<GridRegister>;
4
+ //# sourceMappingURL=grid-register.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-register.template.d.ts","sourceRoot":"","sources":["../../../../src/components/grid-register/grid-register.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,YAAY,CAE3D,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { LayoutRegistry } from '../../workspace';
2
+ export declare class LayoutWrapper extends HTMLElement {
3
+ layoutKey: string;
4
+ layoutRegistry: LayoutRegistry;
5
+ private layoutElement;
6
+ connectedCallback(): void;
7
+ disconnectedCallback(): void;
8
+ private findAndRegisterLayout;
9
+ }
10
+ //# sourceMappingURL=layout-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/components/layout-wrapper/layout-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,qBAIa,aAAc,SAAQ,WAAW;IACT,SAAS,EAAE,MAAM,CAAC;IAErC,cAAc,EAAE,cAAc,CAAC;IAE/C,OAAO,CAAC,aAAa,CAAoB;IAEzC,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAW5B,OAAO,CAAC,qBAAqB;CA+B9B"}
@@ -0,0 +1,4 @@
1
+ import type { ViewTemplate } from '@microsoft/fast-element';
2
+ import type { LayoutWrapper } from './layout-wrapper';
3
+ export declare const LayoutWrapperTemplate: ViewTemplate<LayoutWrapper>;
4
+ //# sourceMappingURL=layout-wrapper.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-wrapper.template.d.ts","sourceRoot":"","sources":["../../../../src/components/layout-wrapper/layout-wrapper.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,aAAa,CAE7D,CAAC"}
@@ -99,4 +99,6 @@ export * from './tree-view';
99
99
  export * from './url-input';
100
100
  export * from './utils/base-datasource';
101
101
  export { getPrefix as getDesignSystemPrefix } from './utils/dom';
102
+ export * from './workspace';
103
+ export * from './workspace-manager';
102
104
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { SavedFilterValue } from './workspace.types';
2
+ /**
3
+ * @public
4
+ */
5
+ export interface FilterRegistry {
6
+ registerFilter(filterKey: string, getFilterValue: () => SavedFilterValue | null, setFilterValue: (value: string) => void): void;
7
+ getAllFiltersValues(): SavedFilterValue[];
8
+ unregisterFilter(filterKey: string): void;
9
+ applyFiltersValues(savedFilters: SavedFilterValue[]): void;
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ export interface FilterRegistration {
15
+ filterKey: string;
16
+ getFilterValue: () => SavedFilterValue | null;
17
+ setFilterValue: (value: string) => void;
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ export declare class DefaultFilterRegistry implements FilterRegistry {
23
+ private filters;
24
+ registerFilter(filterKey: string, getFilterValue: () => SavedFilterValue | null, setFilterValue: (value: string) => void): void;
25
+ unregisterFilter(filterKey: string): void;
26
+ getAllFiltersValues(): SavedFilterValue[];
27
+ applyFiltersValues(filtersValues: SavedFilterValue[]): void;
28
+ }
29
+ /**
30
+ * DI token for filter registry.
31
+ * @public
32
+ */
33
+ export declare const FilterRegistry: import("@microsoft/fast-foundation").InterfaceSymbol<FilterRegistry>;
34
+ //# sourceMappingURL=filter-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-registry.d.ts","sourceRoot":"","sources":["../../../src/workspace/filter-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,gBAAgB,GAAG,IAAI,EAC7C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACtC,IAAI,CAAC;IACR,mBAAmB,IAAI,gBAAgB,EAAE,CAAC;IAC1C,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,kBAAkB,CAAC,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,OAAO,CAAC,OAAO,CAA8C;IAE7D,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,gBAAgB,GAAG,IAAI,EAC7C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACtC,IAAI;IAQP,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzC,mBAAmB,IAAI,gBAAgB,EAAE;IAYzC,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,EAAE,GAAG,IAAI;CAW5D;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,sEAE1B,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { ColumnApi, GridApi } from '@ag-grid-community/core';
2
+ import type { SavedGridSettings } from './workspace.types';
3
+ /**
4
+ * @public
5
+ */
6
+ export interface GridRegistry {
7
+ registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
8
+ getGrid(gridKey: string): unknown;
9
+ unregisterGrid(gridKey: string): void;
10
+ getAllGridsSettings(): SavedGridSettings[];
11
+ applyGridSettings(gridSetting: SavedGridSettings, options?: {
12
+ applyColumns?: boolean;
13
+ applyFilters?: boolean;
14
+ }): Promise<boolean>;
15
+ applyAllGridsSettings(gridsSettings: SavedGridSettings[]): Promise<void>;
16
+ }
17
+ /**
18
+ * @public
19
+ */
20
+ export interface GridRegistration {
21
+ gridKey: string;
22
+ gridApi: GridApi;
23
+ columnApi: ColumnApi;
24
+ }
25
+ /**
26
+ * @public
27
+ */
28
+ export declare class DefaultGridRegistry implements GridRegistry {
29
+ private grids;
30
+ private cachedSettings;
31
+ registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
32
+ getGrid(gridKey: string): unknown;
33
+ unregisterGrid(gridKey: string): void;
34
+ getAllGridsSettings(): SavedGridSettings[];
35
+ applyGridSettings(gridSetting: SavedGridSettings, options?: {
36
+ applyColumns?: boolean;
37
+ applyFilters?: boolean;
38
+ }): Promise<boolean>;
39
+ applyAllGridsSettings(gridSettings: SavedGridSettings[], maxRetries?: number, delayMs?: number): Promise<void>;
40
+ private getGridSettings;
41
+ }
42
+ /**
43
+ * DI token for grid registry.
44
+ * @public
45
+ */
46
+ export declare const GridRegistry: import("@microsoft/fast-foundation").InterfaceSymbol<GridRegistry>;
47
+ //# sourceMappingURL=grid-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-registry.d.ts","sourceRoot":"","sources":["../../../src/workspace/grid-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1E,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,mBAAmB,IAAI,iBAAiB,EAAE,CAAC;IAC3C,iBAAiB,CACf,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,KAAK,CAA4C;IACzD,OAAO,CAAC,cAAc,CAA6C;IAInE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAQzE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIjC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAWrC,mBAAmB,IAAI,iBAAiB,EAAE;IAWpC,iBAAiB,CACrB,WAAW,EAAE,iBAAiB,EAC9B,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3D,OAAO,CAAC,OAAO,CAAC;IAgCb,qBAAqB,CACzB,YAAY,EAAE,iBAAiB,EAAE,EACjC,UAAU,GAAE,MAAU,EACtB,OAAO,GAAE,MAAY,GACpB,OAAO,CAAC,IAAI,CAAC;IAwBhB,OAAO,CAAC,eAAe;CAkBxB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,oEAExB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export * from './workspace.types';
2
2
  export * from './workspace-state.types';
3
- export * from './workspace-registry.types';
4
- export * from './workspace-di';
3
+ export * from './workspace-state';
4
+ export * from './layout-registry';
5
+ export * from './grid-registry';
6
+ export * from './filter-registry';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workspace/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { SavedLayout } from './workspace.types';
2
+ /**
3
+ * @public
4
+ */
5
+ export interface LayoutRegistry {
6
+ registerLayout(layoutKey: string, layout: unknown): void;
7
+ unregisterLayout(layoutKey: string): void;
8
+ getLayoutsConfigs(): SavedLayout[];
9
+ applySavedLayouts(savedLayouts: SavedLayout[]): Promise<void>;
10
+ }
11
+ /**
12
+ * Default layout registry implementation.
13
+ * @public
14
+ */
15
+ export declare class DefaultLayoutRegistry implements LayoutRegistry {
16
+ private layouts;
17
+ registerLayout(layoutKey: string, layout: any): void;
18
+ unregisterLayout(layoutKey: string): void;
19
+ getLayoutsConfigs(): SavedLayout[];
20
+ applySavedLayouts(savedLayouts: SavedLayout[]): Promise<void>;
21
+ }
22
+ /**
23
+ * DI token for layout registry.
24
+ * @public
25
+ */
26
+ export declare const LayoutRegistry: import("@microsoft/fast-foundation").InterfaceSymbol<LayoutRegistry>;
27
+ //# sourceMappingURL=layout-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-registry.d.ts","sourceRoot":"","sources":["../../../src/workspace/layout-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACzD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,iBAAiB,IAAI,WAAW,EAAE,CAAC;IACnC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAC1D,OAAO,CAAC,OAAO,CAA+B;IAE9C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAOpD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzC,iBAAiB,IAAI,WAAW,EAAE;IAO5B,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAYpE;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,sEAE1B,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { type KVStorage as KVStorageType, type Auth as AuthType } from '@genesislcap/foundation-comms';
2
+ import type { SavedWorkspace } from './workspace-state.types';
3
+ import type { SavedFilterValue, SavedGridSettings, SavedLayout } from './workspace.types';
4
+ /**
5
+ * @public
6
+ */
7
+ export interface WorkspaceState {
8
+ saveWorkspace(workspaceName: string, layouts: SavedLayout[], grids: SavedGridSettings[], filters: SavedFilterValue[], description?: string): Promise<void>;
9
+ loadWorkspace(workspaceName: string): Promise<SavedWorkspace | null>;
10
+ getSavedWorkspaces(): Promise<SavedWorkspace[]>;
11
+ deleteWorkspace(workspaceName: string): Promise<void>;
12
+ getCurrentWorkspace(): SavedWorkspace | null;
13
+ setCurrentWorkspace(workspace: SavedWorkspace | null): void;
14
+ }
15
+ /**
16
+ * Default workspace persistence implementation backed by KVStorage.
17
+ *
18
+ * @public
19
+ */
20
+ export declare class DefaultWorkspaceState implements WorkspaceState {
21
+ kvStorage: KVStorageType;
22
+ auth: AuthType;
23
+ private readonly STORAGE_PREFIX;
24
+ private readonly WORKSPACES_LIST_KEY;
25
+ private currentWorkspace;
26
+ constructor(kvStorage: KVStorageType, auth: AuthType);
27
+ private getCurrentUsername;
28
+ private getWorkspaceStorageKey;
29
+ private getWorkspacesListKey;
30
+ saveWorkspace(workspaceName: string, layouts: SavedLayout[], grids: SavedGridSettings[], filters: SavedFilterValue[], description?: string): Promise<void>;
31
+ loadWorkspace(workspaceName: string): Promise<SavedWorkspace | null>;
32
+ private getWorkspace;
33
+ getCurrentWorkspace(): SavedWorkspace | null;
34
+ setCurrentWorkspace(workspace: SavedWorkspace | null): void;
35
+ getSavedWorkspaces(): Promise<SavedWorkspace[]>;
36
+ deleteWorkspace(workspaceName: string): Promise<void>;
37
+ private updateWorkspacesList;
38
+ private removeFromWorkspacesList;
39
+ }
40
+ /**
41
+ * DI token for workspace state.
42
+ * @public
43
+ */
44
+ export declare const WorkspaceState: import("@microsoft/fast-foundation").InterfaceSymbol<WorkspaceState>;
45
+ //# sourceMappingURL=workspace-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-state.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,IAAI,aAAa,EAC/B,KAAK,IAAI,IAAI,QAAQ,EACtB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa,CACX,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,iBAAiB,EAAE,EAC1B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrE,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAChD,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,mBAAmB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC7C,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7D;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,cAAc;IAOtC,SAAS,EAAE,aAAa;IAC7B,IAAI,EAAE,QAAQ;IAP7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IAEzD,OAAO,CAAC,gBAAgB,CAA+B;gBAGnC,SAAS,EAAE,aAAa,EAC7B,IAAI,EAAE,QAAQ;IAG7B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,oBAAoB;IAKtB,aAAa,CACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,iBAAiB,EAAE,EAC1B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAwBV,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAM5D,YAAY;IA6B1B,mBAAmB,IAAI,cAAc,GAAG,IAAI;IAI5C,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI;IAIrD,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAiC/C,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAM7C,oBAAoB;YAyBpB,wBAAwB;CA8BvC;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,sEAE1B,CAAC"}
@@ -23,15 +23,4 @@ export interface SharedWorkspace {
23
23
  modifiedOn?: string | number;
24
24
  data: string;
25
25
  }
26
- /**
27
- * @public
28
- */
29
- export interface IWorkspaceState {
30
- saveWorkspace(workspaceName: string, layouts: SavedLayout[], grids: SavedGridSettings[], filters: SavedFilterValue[], description?: string): Promise<void>;
31
- loadWorkspace(workspaceName: string): Promise<SavedWorkspace | null>;
32
- getSavedWorkspaces(): Promise<SavedWorkspace[]>;
33
- deleteWorkspace(workspaceName: string): Promise<void>;
34
- getCurrentWorkspace(): SavedWorkspace | null;
35
- setCurrentWorkspace(workspace: SavedWorkspace | null): void;
36
- }
37
26
  //# sourceMappingURL=workspace-state.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-state.types.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace-state.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,aAAa,CACX,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,iBAAiB,EAAE,EAC1B,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrE,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAChD,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,mBAAmB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC7C,mBAAmB,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;CAC7D"}
1
+ {"version":3,"file":"workspace-state.types.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace-state.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  export interface SavedGridSettings {
7
7
  gridKey: string;
8
- columnState: unknown[];
8
+ columnState: any[];
9
9
  savedAt: string;
10
10
  }
11
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.types.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB"}
1
+ {"version":3,"file":"workspace.types.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -1,7 +1,7 @@
1
1
  import { Auth, Connect } from '@genesislcap/foundation-comms';
2
2
  import { FoundationElement } from '@microsoft/fast-foundation';
3
3
  import { Modal } from '../modal';
4
- import { type SavedWorkspace, type SharedWorkspace, type ILayoutRegistry, type IGridRegistry, type IFilterRegistry, type IWorkspaceState } from '../workspace';
4
+ import { LayoutRegistry, GridRegistry, FilterRegistry, WorkspaceState, type SavedWorkspace, type SharedWorkspace } from '../workspace';
5
5
  export type LoadMode = 'MY' | 'SHARED';
6
6
  export declare class WorkspaceManager extends FoundationElement {
7
7
  workspaceName: string;
@@ -18,10 +18,10 @@ export declare class WorkspaceManager extends FoundationElement {
18
18
  workspaceToShare: string;
19
19
  dialogBoundary: HTMLElement;
20
20
  sharedWorkspaceDialogBoundary: HTMLElement;
21
- layoutRegistry: ILayoutRegistry;
22
- gridRegistry: IGridRegistry;
23
- filterRegistry: IFilterRegistry;
24
- workspaceState: IWorkspaceState;
21
+ layoutRegistry: LayoutRegistry;
22
+ gridRegistry: GridRegistry;
23
+ filterRegistry: FilterRegistry;
24
+ workspaceState: WorkspaceState;
25
25
  connect: Connect;
26
26
  auth: Auth;
27
27
  canShareWorkspace: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-manager.d.ts","sourceRoot":"","sources":["../../../src/workspace-manager/workspace-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-manager.d.ts","sourceRoot":"","sources":["../../../src/workspace-manager/workspace-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { attr, customElement } from '@microsoft/fast-element';
3
+ import { WorkspaceState, GridRegistry } from '../../workspace';
4
+ import { GridRegisterTemplate as template } from './grid-register.template';
5
+ const name = 'grid-register';
6
+ let GridRegister = class GridRegister extends HTMLElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.gridElement = null;
10
+ this.gridApi = null;
11
+ this.columnApi = null;
12
+ this.workspaceSettingsApplied = false;
13
+ this.handleGridReady = () => {
14
+ this.attachToGridApis();
15
+ };
16
+ }
17
+ connectedCallback() {
18
+ this.findAndRegisterGrid();
19
+ }
20
+ disconnectedCallback() {
21
+ if (this.gridKey) {
22
+ this.gridRegistry.unregisterGrid(this.gridKey);
23
+ }
24
+ this.detachFromGridApis();
25
+ }
26
+ findAndRegisterGrid() {
27
+ this.gridElement = this.querySelector('rapid-grid-pro');
28
+ if (this.gridElement) {
29
+ this.gridElement.addEventListener('gridReady', this.handleGridReady);
30
+ this.attachToGridApis();
31
+ }
32
+ else {
33
+ setTimeout(() => {
34
+ this.gridElement = this.querySelector('rapid-grid-pro');
35
+ if (this.gridElement) {
36
+ this.gridElement.addEventListener('gridReady', this.handleGridReady);
37
+ this.attachToGridApis();
38
+ }
39
+ else {
40
+ // eslint-disable-next-line no-console
41
+ console.warn(`grid-register: rapid-grid-pro element not found`);
42
+ }
43
+ }, 100);
44
+ }
45
+ }
46
+ attachToGridApis() {
47
+ var _a;
48
+ if (!this.gridElement) {
49
+ return;
50
+ }
51
+ const anyGrid = this.gridElement;
52
+ const gridApi = anyGrid.gridApi || null;
53
+ const columnApi = anyGrid.columnApi || null;
54
+ const persistKey = ((_a = anyGrid === null || anyGrid === void 0 ? void 0 : anyGrid.getAttribute) === null || _a === void 0 ? void 0 : _a.call(anyGrid, 'persist-column-state-key')) || this.gridKey;
55
+ if (!gridApi || this.gridApi === gridApi) {
56
+ return;
57
+ }
58
+ this.gridApi = gridApi;
59
+ this.columnApi = columnApi;
60
+ const effectiveGridKey = persistKey;
61
+ if (!effectiveGridKey) {
62
+ // eslint-disable-next-line no-console
63
+ console.warn('grid-register: missing persist-column-state-key; grid state will not be saved');
64
+ }
65
+ else {
66
+ this.gridRegistry.registerGrid(effectiveGridKey, gridApi, columnApi);
67
+ this.gridKey = effectiveGridKey;
68
+ }
69
+ if (!this.workspaceSettingsApplied && this.gridApi) {
70
+ this.loadWorkspaceColumnState().catch((error) => {
71
+ // eslint-disable-next-line no-console
72
+ console.warn(`Failed to apply column state for ${this.gridKey} on gridReady:`, error);
73
+ });
74
+ }
75
+ }
76
+ detachFromGridApis() {
77
+ if (this.gridElement && this.handleGridReady) {
78
+ this.gridElement.removeEventListener('gridReady', this.handleGridReady);
79
+ }
80
+ this.gridElement = null;
81
+ this.gridApi = null;
82
+ this.columnApi = null;
83
+ }
84
+ loadWorkspaceSettings(options) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ if (!this.gridKey || !this.columnApi || !this.gridApi) {
87
+ return;
88
+ }
89
+ try {
90
+ const currentWorkspace = this.workspaceState.getCurrentWorkspace();
91
+ if (currentWorkspace && currentWorkspace.grids) {
92
+ const gridSetting = currentWorkspace.grids.find((g) => g.gridKey === this.gridKey);
93
+ if (gridSetting) {
94
+ const currentColumnState = this.columnApi.getColumnState() || [];
95
+ const targetColumnState = gridSetting.columnState || [];
96
+ const columnsEqual = JSON.stringify(currentColumnState) === JSON.stringify(targetColumnState);
97
+ const applyColumns = !options || options.applyColumns !== false;
98
+ const columnsOk = !applyColumns || columnsEqual;
99
+ if (columnsOk) {
100
+ return;
101
+ }
102
+ const applied = yield this.gridRegistry.applyGridSettings(gridSetting, options);
103
+ if (!applied) {
104
+ // eslint-disable-next-line no-console
105
+ console.warn(`Failed to apply grid settings for ${this.gridKey}`);
106
+ }
107
+ }
108
+ }
109
+ }
110
+ catch (error) {
111
+ // eslint-disable-next-line no-console
112
+ console.warn(`Failed to load workspace settings for grid ${this.gridKey}:`, error);
113
+ }
114
+ });
115
+ }
116
+ loadWorkspaceColumnState() {
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ return this.loadWorkspaceSettings({ applyColumns: true });
119
+ });
120
+ }
121
+ };
122
+ __decorate([
123
+ attr({ attribute: 'grid-key' })
124
+ ], GridRegister.prototype, "gridKey", void 0);
125
+ __decorate([
126
+ GridRegistry
127
+ ], GridRegister.prototype, "gridRegistry", void 0);
128
+ __decorate([
129
+ WorkspaceState
130
+ ], GridRegister.prototype, "workspaceState", void 0);
131
+ GridRegister = __decorate([
132
+ customElement({
133
+ name,
134
+ template,
135
+ })
136
+ ], GridRegister);
137
+ export { GridRegister };
@@ -0,0 +1,4 @@
1
+ import { html } from '@microsoft/fast-element';
2
+ export const GridRegisterTemplate = html `
3
+ <slot></slot>
4
+ `;
@@ -0,0 +1,62 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, customElement } from '@microsoft/fast-element';
3
+ import { LayoutRegistry } from '../../workspace';
4
+ import { LayoutWrapperTemplate as template } from './layout-wrapper.template';
5
+ const name = 'layout-register';
6
+ let LayoutWrapper = class LayoutWrapper extends HTMLElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.layoutElement = null;
10
+ }
11
+ connectedCallback() {
12
+ this.findAndRegisterLayout();
13
+ }
14
+ disconnectedCallback() {
15
+ var _a, _b, _c, _d, _e;
16
+ const layoutKey = (_e = (_b = (_a = this.layoutElement) === null || _a === void 0 ? void 0 : _a.autoSaveKey) !== null && _b !== void 0 ? _b : (_d = (_c = this.layoutElement) === null || _c === void 0 ? void 0 : _c.getAttribute) === null || _d === void 0 ? void 0 : _d.call(_c, 'auto-save-key')) !== null && _e !== void 0 ? _e : this.layoutKey;
17
+ if (layoutKey) {
18
+ this.layoutRegistry.unregisterLayout(layoutKey);
19
+ }
20
+ }
21
+ findAndRegisterLayout() {
22
+ let layoutElement = this.querySelector('rapid-layout');
23
+ const registerLayout = (layout) => {
24
+ var _a, _b, _c;
25
+ if (!layout) {
26
+ // eslint-disable-next-line no-console
27
+ console.warn(`layout-register: rapid-layout element not found`);
28
+ return;
29
+ }
30
+ this.layoutElement = layout;
31
+ const layoutKeyFromLayout = (_c = (_a = layout.autoSaveKey) !== null && _a !== void 0 ? _a : (_b = layout.getAttribute) === null || _b === void 0 ? void 0 : _b.call(layout, 'auto-save-key')) !== null && _c !== void 0 ? _c : this.layoutKey;
32
+ if (!layoutKeyFromLayout) {
33
+ // eslint-disable-next-line no-console
34
+ console.warn('layout-register: missing layout key (auto-save-key/layout-key)');
35
+ return;
36
+ }
37
+ this.layoutRegistry.registerLayout(layoutKeyFromLayout, layout);
38
+ };
39
+ if (layoutElement) {
40
+ registerLayout(layoutElement);
41
+ }
42
+ else {
43
+ setTimeout(() => {
44
+ layoutElement = this.querySelector('rapid-layout');
45
+ registerLayout(layoutElement);
46
+ }, 100);
47
+ }
48
+ }
49
+ };
50
+ __decorate([
51
+ attr({ attribute: 'layout-key' })
52
+ ], LayoutWrapper.prototype, "layoutKey", void 0);
53
+ __decorate([
54
+ LayoutRegistry
55
+ ], LayoutWrapper.prototype, "layoutRegistry", void 0);
56
+ LayoutWrapper = __decorate([
57
+ customElement({
58
+ name,
59
+ template,
60
+ })
61
+ ], LayoutWrapper);
62
+ export { LayoutWrapper };
@@ -0,0 +1,4 @@
1
+ import { html } from '@microsoft/fast-element';
2
+ export const LayoutWrapperTemplate = html `
3
+ <slot></slot>
4
+ `;
package/dist/esm/index.js CHANGED
@@ -99,3 +99,5 @@ export * from './tree-view';
99
99
  export * from './url-input';
100
100
  export * from './utils/base-datasource';
101
101
  export { getPrefix as getDesignSystemPrefix } from './utils/dom';
102
+ export * from './workspace';
103
+ export * from './workspace-manager';
@@ -0,0 +1,47 @@
1
+ import { DI } from '@microsoft/fast-foundation';
2
+ /**
3
+ * @public
4
+ */
5
+ export class DefaultFilterRegistry {
6
+ constructor() {
7
+ this.filters = new Map();
8
+ }
9
+ registerFilter(filterKey, getFilterValue, setFilterValue) {
10
+ this.filters.set(filterKey, {
11
+ filterKey,
12
+ getFilterValue,
13
+ setFilterValue,
14
+ });
15
+ }
16
+ unregisterFilter(filterKey) {
17
+ this.filters.delete(filterKey);
18
+ }
19
+ getAllFiltersValues() {
20
+ return Array.from(this.filters)
21
+ .map(([key, registration]) => {
22
+ const result = registration.getFilterValue();
23
+ if (result === null || result === undefined) {
24
+ return { filterKey: key, value: '' };
25
+ }
26
+ return result;
27
+ })
28
+ .filter((f) => f !== null);
29
+ }
30
+ applyFiltersValues(filtersValues) {
31
+ filtersValues.forEach((f) => {
32
+ const filter = this.filters.get(f.filterKey);
33
+ if (filter) {
34
+ filter.setFilterValue(f.value);
35
+ }
36
+ else {
37
+ // eslint-disable-next-line no-console
38
+ console.warn(`layout for ${f.filterKey} not found`);
39
+ }
40
+ });
41
+ }
42
+ }
43
+ /**
44
+ * DI token for filter registry.
45
+ * @public
46
+ */
47
+ export const FilterRegistry = DI.createInterface((x) => x.singleton(DefaultFilterRegistry));