@genesislcap/foundation-ui 14.406.0-workspaces.3 → 14.406.0-workspaces.6

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 (47) hide show
  1. package/dist/custom-elements.json +1811 -821
  2. package/dist/dts/workspace/filter-registry.d.ts +34 -0
  3. package/dist/dts/workspace/filter-registry.d.ts.map +1 -0
  4. package/dist/dts/workspace/grid-register/grid-register.d.ts +19 -0
  5. package/dist/dts/workspace/grid-register/grid-register.d.ts.map +1 -0
  6. package/dist/dts/workspace/grid-register/grid-register.template.d.ts +4 -0
  7. package/dist/dts/workspace/grid-register/grid-register.template.d.ts.map +1 -0
  8. package/dist/dts/workspace/grid-register/index.d.ts +2 -0
  9. package/dist/dts/workspace/grid-register/index.d.ts.map +1 -0
  10. package/dist/dts/workspace/grid-registry.d.ts +47 -0
  11. package/dist/dts/workspace/grid-registry.d.ts.map +1 -0
  12. package/dist/dts/workspace/index.d.ts +6 -2
  13. package/dist/dts/workspace/index.d.ts.map +1 -1
  14. package/dist/dts/workspace/layout-registry.d.ts +27 -0
  15. package/dist/dts/workspace/layout-registry.d.ts.map +1 -0
  16. package/dist/dts/workspace/layout-wrapper/index.d.ts +2 -0
  17. package/dist/dts/workspace/layout-wrapper/index.d.ts.map +1 -0
  18. package/dist/dts/workspace/layout-wrapper/layout-wrapper.d.ts +10 -0
  19. package/dist/dts/workspace/layout-wrapper/layout-wrapper.d.ts.map +1 -0
  20. package/dist/dts/workspace/layout-wrapper/layout-wrapper.template.d.ts +4 -0
  21. package/dist/dts/workspace/layout-wrapper/layout-wrapper.template.d.ts.map +1 -0
  22. package/dist/dts/workspace/workspace-state.d.ts +45 -0
  23. package/dist/dts/workspace/workspace-state.d.ts.map +1 -0
  24. package/dist/dts/workspace/workspace-state.types.d.ts +0 -11
  25. package/dist/dts/workspace/workspace-state.types.d.ts.map +1 -1
  26. package/dist/dts/workspace/workspace.types.d.ts +1 -1
  27. package/dist/dts/workspace/workspace.types.d.ts.map +1 -1
  28. package/dist/dts/workspace-manager/workspace-manager.d.ts +5 -5
  29. package/dist/dts/workspace-manager/workspace-manager.d.ts.map +1 -1
  30. package/dist/esm/workspace/filter-registry.js +47 -0
  31. package/dist/esm/workspace/grid-register/grid-register.js +132 -0
  32. package/dist/esm/workspace/grid-register/grid-register.template.js +4 -0
  33. package/dist/esm/workspace/grid-register/index.js +1 -0
  34. package/dist/esm/workspace/grid-registry.js +113 -0
  35. package/dist/esm/workspace/index.js +6 -2
  36. package/dist/esm/workspace/layout-registry.js +46 -0
  37. package/dist/esm/workspace/layout-wrapper/index.js +1 -0
  38. package/dist/esm/workspace/layout-wrapper/layout-wrapper.js +60 -0
  39. package/dist/esm/workspace/layout-wrapper/layout-wrapper.template.js +4 -0
  40. package/dist/esm/workspace/workspace-state.js +193 -0
  41. package/package.json +19 -19
  42. package/dist/dts/workspace/workspace-di.d.ts +0 -13
  43. package/dist/dts/workspace/workspace-di.d.ts.map +0 -1
  44. package/dist/dts/workspace/workspace-registry.types.d.ts +0 -34
  45. package/dist/dts/workspace/workspace-registry.types.d.ts.map +0 -1
  46. package/dist/esm/workspace/workspace-di.js +0 -9
  47. package/dist/esm/workspace/workspace-registry.types.js +0 -1
@@ -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,19 @@
1
+ import { GridRegistry, WorkspaceState } from '..';
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/workspace/grid-register/grid-register.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAKlD,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;IAoB3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE9B;IAEF,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,kBAAkB;YAUZ,qBAAqB;YAmCrB,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/workspace/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,2 @@
1
+ export * from './grid-register';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/workspace/grid-register/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,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,9 @@
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';
7
+ export * from './grid-register';
8
+ export * from './layout-wrapper';
5
9
  //# 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;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,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,2 @@
1
+ export * from './layout-wrapper';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/workspace/layout-wrapper/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { LayoutRegistry } from '..';
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/workspace/layout-wrapper/layout-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAKpC,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;CA6B9B"}
@@ -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/workspace/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"}
@@ -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,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));
@@ -0,0 +1,132 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { attr, customElement } from '@microsoft/fast-element';
3
+ import { GridRegistry, WorkspaceState } from '..';
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
+ console.warn(`grid-register: rapid-grid-pro element not found`);
41
+ }
42
+ }, 100);
43
+ }
44
+ }
45
+ attachToGridApis() {
46
+ var _a;
47
+ if (!this.gridElement) {
48
+ return;
49
+ }
50
+ const anyGrid = this.gridElement;
51
+ const gridApi = anyGrid.gridApi || null;
52
+ const columnApi = anyGrid.columnApi || null;
53
+ 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;
54
+ if (!gridApi || this.gridApi === gridApi) {
55
+ return;
56
+ }
57
+ this.gridApi = gridApi;
58
+ this.columnApi = columnApi;
59
+ const effectiveGridKey = persistKey;
60
+ if (!effectiveGridKey) {
61
+ console.warn('grid-register: missing persist-column-state-key; grid state will not be saved');
62
+ }
63
+ else {
64
+ this.gridRegistry.registerGrid(effectiveGridKey, gridApi, columnApi);
65
+ this.gridKey = effectiveGridKey;
66
+ }
67
+ if (!this.workspaceSettingsApplied && this.gridApi) {
68
+ this.loadWorkspaceColumnState().catch((error) => {
69
+ console.warn(`Failed to apply column state for ${this.gridKey} on gridReady:`, error);
70
+ });
71
+ }
72
+ }
73
+ detachFromGridApis() {
74
+ if (this.gridElement && this.handleGridReady) {
75
+ this.gridElement.removeEventListener('gridReady', this.handleGridReady);
76
+ }
77
+ this.gridElement = null;
78
+ this.gridApi = null;
79
+ this.columnApi = null;
80
+ }
81
+ loadWorkspaceSettings(options) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ if (!this.gridKey || !this.columnApi || !this.gridApi) {
84
+ return;
85
+ }
86
+ try {
87
+ const currentWorkspace = this.workspaceState.getCurrentWorkspace();
88
+ if (currentWorkspace && currentWorkspace.grids) {
89
+ const gridSetting = currentWorkspace.grids.find((g) => g.gridKey === this.gridKey);
90
+ if (gridSetting) {
91
+ const currentColumnState = this.columnApi.getColumnState() || [];
92
+ const targetColumnState = gridSetting.columnState || [];
93
+ const columnsEqual = JSON.stringify(currentColumnState) === JSON.stringify(targetColumnState);
94
+ const applyColumns = !options || options.applyColumns !== false;
95
+ const columnsOk = !applyColumns || columnsEqual;
96
+ if (columnsOk) {
97
+ return;
98
+ }
99
+ const applied = yield this.gridRegistry.applyGridSettings(gridSetting, options);
100
+ if (!applied) {
101
+ console.warn(`Failed to apply grid settings for ${this.gridKey}`);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ catch (error) {
107
+ console.warn(`Failed to load workspace settings for grid ${this.gridKey}:`, error);
108
+ }
109
+ });
110
+ }
111
+ loadWorkspaceColumnState() {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ return this.loadWorkspaceSettings({ applyColumns: true });
114
+ });
115
+ }
116
+ };
117
+ __decorate([
118
+ attr({ attribute: 'grid-key' })
119
+ ], GridRegister.prototype, "gridKey", void 0);
120
+ __decorate([
121
+ GridRegistry
122
+ ], GridRegister.prototype, "gridRegistry", void 0);
123
+ __decorate([
124
+ WorkspaceState
125
+ ], GridRegister.prototype, "workspaceState", void 0);
126
+ GridRegister = __decorate([
127
+ customElement({
128
+ name,
129
+ template,
130
+ })
131
+ ], GridRegister);
132
+ 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 @@
1
+ export * from './grid-register';