@genesislcap/foundation-workspace 14.406.0-workspaces.7 → 14.406.0-workspaces.8

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 (29) hide show
  1. package/dist/dts/workspace/grid-register/grid-register.d.ts.map +1 -1
  2. package/dist/dts/workspace/grid-registry.d.ts +10 -2
  3. package/dist/dts/workspace/grid-registry.d.ts.map +1 -1
  4. package/dist/dts/workspace/layout-registry.d.ts +2 -1
  5. package/dist/dts/workspace/layout-registry.d.ts.map +1 -1
  6. package/dist/dts/workspace/layout-wrapper/layout-wrapper.d.ts.map +1 -1
  7. package/dist/dts/workspace/workspace.types.d.ts +2 -1
  8. package/dist/dts/workspace/workspace.types.d.ts.map +1 -1
  9. package/dist/dts/workspace-manager/workspace-manager.d.ts +1 -0
  10. package/dist/dts/workspace-manager/workspace-manager.d.ts.map +1 -1
  11. package/dist/dts/workspace-manager/workspace-manager.template.d.ts.map +1 -1
  12. package/dist/esm/workspace/layout-registry.js +4 -1
  13. package/dist/esm/workspace-manager/workspace-manager.js +36 -3
  14. package/dist/esm/workspace-manager/workspace-manager.template.js +6 -4
  15. package/dist/foundation-workspace.api.json +10 -4
  16. package/dist/foundation-workspace.d.ts +16 -4
  17. package/docs/api/foundation-workspace.gridregistry.getgrid.md +2 -2
  18. package/docs/api/foundation-workspace.savedlayout.layout.md +1 -1
  19. package/docs/api/foundation-workspace.savedlayout.md +1 -1
  20. package/docs/api-report.md.api.md +16 -4
  21. package/package.json +16 -14
  22. package/src/workspace/grid-register/grid-register.ts +5 -4
  23. package/src/workspace/grid-registry.ts +12 -3
  24. package/src/workspace/layout-registry.ts +10 -5
  25. package/src/workspace/layout-wrapper/layout-wrapper.ts +7 -6
  26. package/src/workspace/workspace.types.ts +3 -1
  27. package/src/workspace-manager/workspace-manager.template.ts +9 -4
  28. package/src/workspace-manager/workspace-manager.ts +36 -3
  29. package/temp/api-report.md.api.md +16 -4
@@ -1 +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;;;GAGG;AACH,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"}
1
+ {"version":3,"file":"grid-register.d.ts","sourceRoot":"","sources":["../../../../src/workspace/grid-register/grid-register.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAKlD;;;GAGG;AACH,qBAIa,YAAa,SAAQ,WAAW;IACV,OAAO,EAAE,MAAM,CAAC;IAEnC,YAAY,EAAE,YAAY,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAE/C,OAAO,CAAC,WAAW,CAAwB;IAC3C,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"}
@@ -1,11 +1,19 @@
1
1
  import type { ColumnApi, GridApi } from '@ag-grid-community/core';
2
2
  import type { SavedGridSettings } from './workspace.types';
3
+ /**
4
+ * @alpha
5
+ */
6
+ export interface GridRegistration {
7
+ gridKey: string;
8
+ gridApi: GridApi;
9
+ columnApi: ColumnApi;
10
+ }
3
11
  /**
4
12
  * @alpha
5
13
  */
6
14
  export interface GridRegistry {
7
15
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
8
- getGrid(gridKey: string): unknown;
16
+ getGrid(gridKey: string): GridRegistration | null;
9
17
  unregisterGrid(gridKey: string): void;
10
18
  getAllGridsSettings(): SavedGridSettings[];
11
19
  applyGridSettings(gridSetting: SavedGridSettings, options?: {
@@ -29,7 +37,7 @@ export declare class DefaultGridRegistry implements GridRegistry {
29
37
  private grids;
30
38
  private cachedSettings;
31
39
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
32
- getGrid(gridKey: string): unknown;
40
+ getGrid(gridKey: string): GridRegistration | null;
33
41
  unregisterGrid(gridKey: string): void;
34
42
  getAllGridsSettings(): SavedGridSettings[];
35
43
  applyGridSettings(gridSetting: SavedGridSettings, options?: {
@@ -1 +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;IA+Bb,qBAAqB,CACzB,aAAa,EAAE,iBAAiB,EAAE,EAClC,UAAU,GAAE,MAAU,EACtB,OAAO,GAAE,MAAY,GACpB,OAAO,CAAC,IAAI,CAAC;IAuBhB,OAAO,CAAC,eAAe;CAgBxB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,oEAExB,CAAC"}
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,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;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,gBAAgB,GAAG,IAAI,CAAC;IAClD,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,gBAAgB,GAAG,IAAI;IAIjD,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;IA+Bb,qBAAqB,CACzB,aAAa,EAAE,iBAAiB,EAAE,EAClC,UAAU,GAAE,MAAU,EACtB,OAAO,GAAE,MAAY,GACpB,OAAO,CAAC,IAAI,CAAC;IAuBhB,OAAO,CAAC,eAAe;CAgBxB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,oEAExB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { FoundationLayout } from '@genesislcap/foundation-layout';
1
2
  import type { SavedLayout } from './workspace.types';
2
3
  /**
3
4
  * @alpha
@@ -14,7 +15,7 @@ export interface LayoutRegistry {
14
15
  */
15
16
  export declare class DefaultLayoutRegistry implements LayoutRegistry {
16
17
  private layouts;
17
- registerLayout(layoutKey: string, layout: any): void;
18
+ registerLayout(layoutKey: string, layout: FoundationLayout): void;
18
19
  unregisterLayout(layoutKey: string): void;
19
20
  getLayoutsConfigs(): SavedLayout[];
20
21
  applySavedLayouts(savedLayouts: SavedLayout[]): Promise<void>;
@@ -1 +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;CAWpE;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,sEAE1B,CAAC"}
1
+ {"version":3,"file":"layout-registry.d.ts","sourceRoot":"","sources":["../../../src/workspace/layout-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD;;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,CAA4C;IAE3D,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAOjE,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzC,iBAAiB,IAAI,WAAW,EAAE;IAO5B,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAapE;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,sEAE1B,CAAC"}
@@ -1 +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;;;GAGG;AACH,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"}
1
+ {"version":3,"file":"layout-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/workspace/layout-wrapper/layout-wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAKpC;;;GAGG;AACH,qBAIa,aAAc,SAAQ,WAAW;IACT,SAAS,EAAE,MAAM,CAAC;IAErC,cAAc,EAAE,cAAc,CAAC;IAE/C,OAAO,CAAC,aAAa,CAAiC;IAEtD,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAW5B,OAAO,CAAC,qBAAqB;CA6B9B"}
@@ -1,3 +1,4 @@
1
+ import type { SerialisedLayout } from '@genesislcap/foundation-layout';
1
2
  /**
2
3
  * Workspace persistence types.
3
4
  * Layout and column state use generic shapes so consumers can use foundation-layout and ag-grid types.
@@ -20,6 +21,6 @@ export interface SavedFilterValue {
20
21
  */
21
22
  export interface SavedLayout {
22
23
  layoutKey: string;
23
- layout: unknown;
24
+ layout: SerialisedLayout;
24
25
  }
25
26
  //# sourceMappingURL=workspace.types.d.ts.map
@@ -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,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
+ {"version":3,"file":"workspace.types.d.ts","sourceRoot":"","sources":["../../../src/workspace/workspace.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE;;;;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,gBAAgB,CAAC;CAC1B"}
@@ -33,6 +33,7 @@ export declare class WorkspaceManager extends FoundationElement {
33
33
  connect: Connect;
34
34
  auth: Auth;
35
35
  canShareWorkspace: boolean;
36
+ private readonly sharedWorkspacesEnabled;
36
37
  private sanitizeDescription;
37
38
  updateWorkspaceDescription(raw: string): void;
38
39
  private setDescriptionFromSelectedWorkspace;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-manager.template.d.ts","sourceRoot":"","sources":["../../../src/workspace-manager/workspace-manager.template.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,eAAO,MAAM,wBAAwB,uEAwVpC,CAAC"}
1
+ {"version":3,"file":"workspace-manager.template.d.ts","sourceRoot":"","sources":["../../../src/workspace-manager/workspace-manager.template.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,eAAO,MAAM,wBAAwB,uEA6VpC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { DI } from '@microsoft/fast-foundation';
3
+ const LAYOUT_DELAY = 300;
3
4
  /**
4
5
  * Default layout registry implementation.
5
6
  * @alpha
@@ -34,7 +35,9 @@ export class DefaultLayoutRegistry {
34
35
  console.warn(`layout for ${s.layoutKey} not found`);
35
36
  }
36
37
  });
37
- // await new Promise((resolve) => setTimeout(resolve, 300));
38
+ yield new Promise((resolve) => {
39
+ setTimeout(resolve, LAYOUT_DELAY);
40
+ });
38
41
  });
39
42
  }
40
43
  }
@@ -23,6 +23,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
23
23
  this.saveMode = 'create';
24
24
  this.selectedWorkspaceToOverwrite = '';
25
25
  this.workspaceToShare = '';
26
+ // Shared workspace functionality is currently disabled.
27
+ // Guard all codepaths that would call `connect.request(...)` / `commitEvent(...)`.
28
+ this.sharedWorkspacesEnabled = false;
26
29
  }
27
30
  sanitizeDescription(input) {
28
31
  const cleaned = (input !== null && input !== void 0 ? input : '')
@@ -53,8 +56,14 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
53
56
  return __awaiter(this, void 0, void 0, function* () {
54
57
  _super.connectedCallback.call(this);
55
58
  yield this.refreshSavedWorkspaces();
56
- yield this.refreshSharedWorkspaces();
57
- this.canShareWorkspace = this.auth.currentUser.hasPermission('SHARE_WORKSPACE');
59
+ if (this.sharedWorkspacesEnabled) {
60
+ yield this.refreshSharedWorkspaces();
61
+ this.canShareWorkspace = this.auth.currentUser.hasPermission('SHARE_WORKSPACE');
62
+ }
63
+ else {
64
+ this.sharedWorkspaces = [];
65
+ this.canShareWorkspace = false;
66
+ }
58
67
  });
59
68
  }
60
69
  refreshSavedWorkspaces() {
@@ -74,6 +83,10 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
74
83
  }
75
84
  refreshSharedWorkspaces() {
76
85
  return __awaiter(this, void 0, void 0, function* () {
86
+ if (!this.sharedWorkspacesEnabled) {
87
+ this.sharedWorkspaces = [];
88
+ return;
89
+ }
77
90
  try {
78
91
  const response = yield this.connect.request('REQ_SHARED_WORKSPACES');
79
92
  const rows = (response === null || response === void 0 ? void 0 : response.REPLY) || [];
@@ -161,6 +174,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
161
174
  }
162
175
  requestSharedWorkspace(SHARED_WORKSPACE_ID) {
163
176
  return __awaiter(this, void 0, void 0, function* () {
177
+ if (!this.sharedWorkspacesEnabled) {
178
+ return [];
179
+ }
164
180
  try {
165
181
  const response = yield this.connect.request('REQ_LOAD_SHARED_WORKSPACE', {
166
182
  REQUEST: { SHARED_WORKSPACE_ID },
@@ -174,6 +190,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
174
190
  }
175
191
  loadSharedWorkspace(shared) {
176
192
  return __awaiter(this, void 0, void 0, function* () {
193
+ if (!this.sharedWorkspacesEnabled) {
194
+ return;
195
+ }
177
196
  try {
178
197
  this.applyingWorkspace = true;
179
198
  const sharedData = yield this.requestSharedWorkspace(shared.id);
@@ -224,6 +243,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
224
243
  modifySharedWorkspace(sharedWorkspace) {
225
244
  return __awaiter(this, void 0, void 0, function* () {
226
245
  var _a, _b;
246
+ if (!this.sharedWorkspacesEnabled) {
247
+ return;
248
+ }
227
249
  try {
228
250
  const layouts = this.layoutRegistry.getLayoutsConfigs();
229
251
  const grids = this.gridRegistry.getAllGridsSettings();
@@ -260,6 +282,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
260
282
  }
261
283
  deleteSharedWorkspace(sharedWorkspace) {
262
284
  return __awaiter(this, void 0, void 0, function* () {
285
+ if (!this.sharedWorkspacesEnabled) {
286
+ return;
287
+ }
263
288
  try {
264
289
  const response = yield this.connect.commitEvent('EVENT_SHARED_WORKSPACE_DELETE', {
265
290
  VALIDATE: false,
@@ -277,6 +302,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
277
302
  });
278
303
  }
279
304
  confirmDeleteSharedWorkspace(sharedWorkspace) {
305
+ if (!this.sharedWorkspacesEnabled) {
306
+ return;
307
+ }
280
308
  if (!(sharedWorkspace === null || sharedWorkspace === void 0 ? void 0 : sharedWorkspace.name))
281
309
  return;
282
310
  this.showDeleteConfirmation('Delete shared workspace', `Are you sure you want to delete the shared workspace "${sharedWorkspace.name}"? This action cannot be undone.`, () => this.deleteSharedWorkspace(sharedWorkspace), this.sharedWorkspaceDialogBoundary);
@@ -284,6 +312,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
284
312
  shareExistingWorkspace(workspaceName) {
285
313
  return __awaiter(this, void 0, void 0, function* () {
286
314
  var _a;
315
+ if (!this.sharedWorkspacesEnabled) {
316
+ return;
317
+ }
287
318
  const name = workspaceName === null || workspaceName === void 0 ? void 0 : workspaceName.trim();
288
319
  if (!name)
289
320
  return;
@@ -351,7 +382,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
351
382
  }
352
383
  }
353
384
  openLoadDialog() {
354
- this.refreshSharedWorkspaces();
385
+ if (this.sharedWorkspacesEnabled) {
386
+ this.refreshSharedWorkspaces();
387
+ }
355
388
  this.loadModal.show();
356
389
  }
357
390
  closeSaveDialog() {
@@ -19,7 +19,7 @@ export const WorkspaceManagerTemplate = html `
19
19
  <rapid-segmented-control value="${sync((x) => x.saveMode)}">
20
20
  <rapid-segmented-item value="create">Create</rapid-segmented-item>
21
21
  <rapid-segmented-item value="overwrite">Overwrite</rapid-segmented-item>
22
- ${when((x) => x.canShareWorkspace, html `
22
+ ${when(() => false, html `
23
23
  <rapid-segmented-item value="shared">Share</rapid-segmented-item>
24
24
  `)}
25
25
  </rapid-segmented-control>
@@ -87,7 +87,7 @@ export const WorkspaceManagerTemplate = html `
87
87
  This will permanently replace the selected workspace. This action cannot be undone.
88
88
  </div>
89
89
  `)}
90
- ${when((x) => x.saveMode === 'shared', html `
90
+ ${when(() => false, html `
91
91
  <h3>Share existing workspace:</h3>
92
92
  ${whenElse((x) => x.savedWorkspaces.length === 0, html `
93
93
  <div class="empty-state">No saved workspaces to share</div>
@@ -182,7 +182,9 @@ export const WorkspaceManagerTemplate = html `
182
182
  ${when((x) => !x.applyingWorkspace, html `
183
183
  <rapid-segmented-control value="${sync((x) => x.loadMode)}">
184
184
  <rapid-segmented-item value="MY">My Workspaces</rapid-segmented-item>
185
- <rapid-segmented-item value="SHARED">Shared Workspaces</rapid-segmented-item>
185
+ ${when(() => false, html `
186
+ <rapid-segmented-item value="SHARED">Shared Workspaces</rapid-segmented-item>
187
+ `)}
186
188
  </rapid-segmented-control>
187
189
  ${when((x) => x.loadMode === 'MY', html `
188
190
  <div class="workspace-list">
@@ -218,7 +220,7 @@ export const WorkspaceManagerTemplate = html `
218
220
  `)}
219
221
  </div>
220
222
  `)}
221
- ${when((x) => x.loadMode === 'SHARED', html `
223
+ ${when(() => false, html `
222
224
  <div class="workspace-section">
223
225
  <div class="workspace-list">
224
226
  ${repeat((x) => x.sharedWorkspaces, html `
@@ -1206,9 +1206,14 @@
1206
1206
  "kind": "Content",
1207
1207
  "text": "): "
1208
1208
  },
1209
+ {
1210
+ "kind": "Reference",
1211
+ "text": "GridRegistration",
1212
+ "canonicalReference": "@genesislcap/foundation-workspace!GridRegistration:interface"
1213
+ },
1209
1214
  {
1210
1215
  "kind": "Content",
1211
- "text": "unknown"
1216
+ "text": " | null"
1212
1217
  },
1213
1218
  {
1214
1219
  "kind": "Content",
@@ -1218,7 +1223,7 @@
1218
1223
  "isOptional": false,
1219
1224
  "returnTypeTokenRange": {
1220
1225
  "startIndex": 3,
1221
- "endIndex": 4
1226
+ "endIndex": 5
1222
1227
  },
1223
1228
  "releaseTag": "Alpha",
1224
1229
  "overloadIndex": 1,
@@ -1968,8 +1973,9 @@
1968
1973
  "text": "layout: "
1969
1974
  },
1970
1975
  {
1971
- "kind": "Content",
1972
- "text": "unknown"
1976
+ "kind": "Reference",
1977
+ "text": "SerialisedLayout",
1978
+ "canonicalReference": "@genesislcap/foundation-layout!SerialisedLayout:type"
1973
1979
  },
1974
1980
  {
1975
1981
  "kind": "Content",
@@ -3,10 +3,12 @@ import type { ColumnApi } from '@ag-grid-community/core';
3
3
  import { Connect } from '@genesislcap/foundation-comms';
4
4
  import type { Container } from '@microsoft/fast-foundation';
5
5
  import { FoundationElement } from '@microsoft/fast-foundation';
6
+ import type { FoundationLayout } from '@genesislcap/foundation-layout';
6
7
  import type { GridApi } from '@ag-grid-community/core';
7
8
  import { InterfaceSymbol } from '@microsoft/fast-foundation';
8
9
  import { KVStorage } from '@genesislcap/foundation-comms';
9
10
  import { Modal } from '@genesislcap/foundation-ui';
11
+ import type { SerialisedLayout } from '@genesislcap/foundation-layout';
10
12
 
11
13
  /**
12
14
  * @alpha
@@ -26,7 +28,7 @@ export declare class DefaultGridRegistry implements GridRegistry {
26
28
  private grids;
27
29
  private cachedSettings;
28
30
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
29
- getGrid(gridKey: string): unknown;
31
+ getGrid(gridKey: string): GridRegistration | null;
30
32
  unregisterGrid(gridKey: string): void;
31
33
  getAllGridsSettings(): SavedGridSettings[];
32
34
  applyGridSettings(gridSetting: SavedGridSettings, options?: {
@@ -43,7 +45,7 @@ export declare class DefaultGridRegistry implements GridRegistry {
43
45
  */
44
46
  export declare class DefaultLayoutRegistry implements LayoutRegistry {
45
47
  private layouts;
46
- registerLayout(layoutKey: string, layout: any): void;
48
+ registerLayout(layoutKey: string, layout: FoundationLayout): void;
47
49
  unregisterLayout(layoutKey: string): void;
48
50
  getLayoutsConfigs(): SavedLayout[];
49
51
  applySavedLayouts(savedLayouts: SavedLayout[]): Promise<void>;
@@ -131,12 +133,21 @@ export declare interface GridRegistration {
131
133
  columnApi: ColumnApi;
132
134
  }
133
135
 
136
+ /**
137
+ * @alpha
138
+ */
139
+ export declare interface GridRegistration {
140
+ gridKey: string;
141
+ gridApi: GridApi;
142
+ columnApi: ColumnApi;
143
+ }
144
+
134
145
  /**
135
146
  * @alpha
136
147
  */
137
148
  export declare interface GridRegistry {
138
149
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
139
- getGrid(gridKey: string): unknown;
150
+ getGrid(gridKey: string): GridRegistration | null;
140
151
  unregisterGrid(gridKey: string): void;
141
152
  getAllGridsSettings(): SavedGridSettings[];
142
153
  applyGridSettings(gridSetting: SavedGridSettings, options?: {
@@ -211,7 +222,7 @@ export declare interface SavedGridSettings {
211
222
  */
212
223
  export declare interface SavedLayout {
213
224
  layoutKey: string;
214
- layout: unknown;
225
+ layout: SerialisedLayout;
215
226
  }
216
227
 
217
228
  /**
@@ -287,6 +298,7 @@ export declare class WorkspaceManager extends FoundationElement {
287
298
  connect: Connect;
288
299
  auth: Auth;
289
300
  canShareWorkspace: boolean;
301
+ private readonly sharedWorkspacesEnabled;
290
302
  private sanitizeDescription;
291
303
  updateWorkspaceDescription(raw: string): void;
292
304
  private setDescriptionFromSelectedWorkspace;
@@ -10,7 +10,7 @@
10
10
  **Signature:**
11
11
 
12
12
  ```typescript
13
- getGrid(gridKey: string): unknown;
13
+ getGrid(gridKey: string): GridRegistration | null;
14
14
  ```
15
15
 
16
16
  ## Parameters
@@ -49,5 +49,5 @@ string
49
49
 
50
50
  **Returns:**
51
51
 
52
- unknown
52
+ [GridRegistration](./foundation-workspace.gridregistration.md) \| null
53
53
 
@@ -10,5 +10,5 @@
10
10
  **Signature:**
11
11
 
12
12
  ```typescript
13
- layout: unknown;
13
+ layout: SerialisedLayout;
14
14
  ```
@@ -47,7 +47,7 @@ Description
47
47
 
48
48
  </td><td>
49
49
 
50
- unknown
50
+ SerialisedLayout
51
51
 
52
52
 
53
53
  </td><td>
@@ -9,10 +9,12 @@ import type { ColumnApi } from '@ag-grid-community/core';
9
9
  import { Connect } from '@genesislcap/foundation-comms';
10
10
  import type { Container } from '@microsoft/fast-foundation';
11
11
  import { FoundationElement } from '@microsoft/fast-foundation';
12
+ import type { FoundationLayout } from '@genesislcap/foundation-layout';
12
13
  import type { GridApi } from '@ag-grid-community/core';
13
14
  import { InterfaceSymbol } from '@microsoft/fast-foundation';
14
15
  import { KVStorage } from '@genesislcap/foundation-comms';
15
16
  import { Modal } from '@genesislcap/foundation-ui';
17
+ import type { SerialisedLayout } from '@genesislcap/foundation-layout';
16
18
 
17
19
  // @alpha (undocumented)
18
20
  export class DefaultFilterRegistry implements FilterRegistry {
@@ -38,7 +40,7 @@ export class DefaultGridRegistry implements GridRegistry {
38
40
  // (undocumented)
39
41
  getAllGridsSettings(): SavedGridSettings[];
40
42
  // (undocumented)
41
- getGrid(gridKey: string): unknown;
43
+ getGrid(gridKey: string): GridRegistration | null;
42
44
  // (undocumented)
43
45
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
44
46
  // (undocumented)
@@ -52,7 +54,7 @@ export class DefaultLayoutRegistry implements LayoutRegistry {
52
54
  // (undocumented)
53
55
  getLayoutsConfigs(): SavedLayout[];
54
56
  // (undocumented)
55
- registerLayout(layoutKey: string, layout: any): void;
57
+ registerLayout(layoutKey: string, layout: FoundationLayout): void;
56
58
  // (undocumented)
57
59
  unregisterLayout(layoutKey: string): void;
58
60
  }
@@ -127,6 +129,16 @@ export interface GridRegistration {
127
129
  gridKey: string;
128
130
  }
129
131
 
132
+ // @alpha (undocumented)
133
+ export interface GridRegistration {
134
+ // (undocumented)
135
+ columnApi: ColumnApi;
136
+ // (undocumented)
137
+ gridApi: GridApi;
138
+ // (undocumented)
139
+ gridKey: string;
140
+ }
141
+
130
142
  // @alpha (undocumented)
131
143
  export interface GridRegistry {
132
144
  // (undocumented)
@@ -139,7 +151,7 @@ export interface GridRegistry {
139
151
  // (undocumented)
140
152
  getAllGridsSettings(): SavedGridSettings[];
141
153
  // (undocumented)
142
- getGrid(gridKey: string): unknown;
154
+ getGrid(gridKey: string): GridRegistration | null;
143
155
  // (undocumented)
144
156
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
145
157
  // (undocumented)
@@ -200,7 +212,7 @@ export interface SavedGridSettings {
200
212
  // @alpha (undocumented)
201
213
  export interface SavedLayout {
202
214
  // (undocumented)
203
- layout: unknown;
215
+ layout: SerialisedLayout;
204
216
  // (undocumented)
205
217
  layoutKey: string;
206
218
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-workspace",
3
3
  "description": "Genesis Foundation Workspace Components and State",
4
- "version": "14.406.0-workspaces.7",
4
+ "version": "14.406.0-workspaces.8",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -37,21 +37,23 @@
37
37
  }
38
38
  },
39
39
  "devDependencies": {
40
- "@genesislcap/foundation-testing": "14.406.0-workspaces.7",
41
- "@genesislcap/genx": "14.406.0-workspaces.7",
42
- "@genesislcap/rollup-builder": "14.406.0-workspaces.7",
43
- "@genesislcap/ts-builder": "14.406.0-workspaces.7",
44
- "@genesislcap/uvu-playwright-builder": "14.406.0-workspaces.7",
45
- "@genesislcap/vite-builder": "14.406.0-workspaces.7",
46
- "@genesislcap/webpack-builder": "14.406.0-workspaces.7"
40
+ "@genesislcap/foundation-testing": "14.406.0-workspaces.8",
41
+ "@genesislcap/genx": "14.406.0-workspaces.8",
42
+ "@genesislcap/rollup-builder": "14.406.0-workspaces.8",
43
+ "@genesislcap/ts-builder": "14.406.0-workspaces.8",
44
+ "@genesislcap/uvu-playwright-builder": "14.406.0-workspaces.8",
45
+ "@genesislcap/vite-builder": "14.406.0-workspaces.8",
46
+ "@genesislcap/webpack-builder": "14.406.0-workspaces.8"
47
47
  },
48
48
  "dependencies": {
49
49
  "@ag-grid-community/core": "29.2.0",
50
- "@genesislcap/foundation-comms": "14.406.0-workspaces.7",
51
- "@genesislcap/foundation-notifications": "14.406.0-workspaces.7",
52
- "@genesislcap/foundation-ui": "14.406.0-workspaces.7",
53
- "@genesislcap/foundation-utils": "14.406.0-workspaces.7",
54
- "@genesislcap/web-core": "14.406.0-workspaces.7",
50
+ "@genesislcap/foundation-comms": "14.406.0-workspaces.8",
51
+ "@genesislcap/foundation-layout": "14.406.0-workspaces.8",
52
+ "@genesislcap/foundation-notifications": "14.406.0-workspaces.8",
53
+ "@genesislcap/foundation-ui": "14.406.0-workspaces.8",
54
+ "@genesislcap/foundation-utils": "14.406.0-workspaces.8",
55
+ "@genesislcap/grid-pro": "14.406.0-workspaces.8",
56
+ "@genesislcap/web-core": "14.406.0-workspaces.8",
55
57
  "@microsoft/fast-components": "2.30.6",
56
58
  "@microsoft/fast-element": "1.14.0",
57
59
  "@microsoft/fast-foundation": "2.50.0"
@@ -65,5 +67,5 @@
65
67
  "access": "public"
66
68
  },
67
69
  "customElements": "dist/custom-elements.json",
68
- "gitHead": "9421667d629b2124861eca27fc69ad52a5b46460"
70
+ "gitHead": "9c4f7249d2cfd373b15debe85075ed4d4519e360"
69
71
  }
@@ -1,4 +1,5 @@
1
1
  import type { ColumnApi, GridApi } from '@ag-grid-community/core';
2
+ import type { GridPro } from '@genesislcap/grid-pro';
2
3
  import { attr, customElement } from '@microsoft/fast-element';
3
4
  import { GridRegistry, WorkspaceState } from '..';
4
5
  import { GridRegisterTemplate as template } from './grid-register.template';
@@ -19,7 +20,7 @@ export class GridRegister extends HTMLElement {
19
20
  @GridRegistry gridRegistry: GridRegistry;
20
21
  @WorkspaceState workspaceState: WorkspaceState;
21
22
 
22
- private gridElement: HTMLElement | null = null;
23
+ private gridElement: GridPro | null = null;
23
24
  private gridApi: GridApi | null = null;
24
25
  private columnApi: ColumnApi | null = null;
25
26
  private workspaceSettingsApplied: boolean = false;
@@ -37,14 +38,14 @@ export class GridRegister extends HTMLElement {
37
38
  }
38
39
 
39
40
  private findAndRegisterGrid(): void {
40
- this.gridElement = this.querySelector('rapid-grid-pro') as HTMLElement;
41
+ this.gridElement = this.querySelector('rapid-grid-pro') as GridPro;
41
42
 
42
43
  if (this.gridElement) {
43
44
  this.gridElement.addEventListener('gridReady', this.handleGridReady as EventListener);
44
45
  this.attachToGridApis();
45
46
  } else {
46
47
  setTimeout(() => {
47
- this.gridElement = this.querySelector('rapid-grid-pro') as HTMLElement;
48
+ this.gridElement = this.querySelector('rapid-grid-pro') as GridPro;
48
49
 
49
50
  if (this.gridElement) {
50
51
  this.gridElement.addEventListener('gridReady', this.handleGridReady as EventListener);
@@ -65,7 +66,7 @@ export class GridRegister extends HTMLElement {
65
66
  return;
66
67
  }
67
68
 
68
- const anyGrid: any = this.gridElement;
69
+ const anyGrid: GridPro = this.gridElement;
69
70
  const gridApi = anyGrid.gridApi || null;
70
71
  const columnApi = anyGrid.columnApi || null;
71
72
  const persistKey = anyGrid?.getAttribute?.('persist-column-state-key') || this.gridKey;
@@ -2,12 +2,21 @@ import type { ColumnApi, GridApi } from '@ag-grid-community/core';
2
2
  import { DI } from '@microsoft/fast-foundation';
3
3
  import type { SavedGridSettings } from './workspace.types';
4
4
 
5
+ /**
6
+ * @alpha
7
+ */
8
+ export interface GridRegistration {
9
+ gridKey: string;
10
+ gridApi: GridApi;
11
+ columnApi: ColumnApi;
12
+ }
13
+
5
14
  /**
6
15
  * @alpha
7
16
  */
8
17
  export interface GridRegistry {
9
18
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
10
- getGrid(gridKey: string): unknown;
19
+ getGrid(gridKey: string): GridRegistration | null;
11
20
  unregisterGrid(gridKey: string): void;
12
21
  getAllGridsSettings(): SavedGridSettings[];
13
22
  applyGridSettings(
@@ -43,7 +52,7 @@ export class DefaultGridRegistry implements GridRegistry {
43
52
  });
44
53
  }
45
54
 
46
- getGrid(gridKey: string): unknown {
55
+ getGrid(gridKey: string): GridRegistration | null {
47
56
  return this.grids.get(gridKey) || null;
48
57
  }
49
58
 
@@ -153,5 +162,5 @@ export class DefaultGridRegistry implements GridRegistry {
153
162
  * @alpha
154
163
  */
155
164
  export const GridRegistry = DI.createInterface<GridRegistry>((x) =>
156
- x.singleton(DefaultGridRegistry as any),
165
+ x.singleton(DefaultGridRegistry),
157
166
  );
@@ -1,6 +1,9 @@
1
+ import type { FoundationLayout } from '@genesislcap/foundation-layout';
1
2
  import { DI } from '@microsoft/fast-foundation';
2
3
  import type { SavedLayout } from './workspace.types';
3
4
 
5
+ const LAYOUT_DELAY = 300;
6
+
4
7
  /**
5
8
  * @alpha
6
9
  */
@@ -16,9 +19,9 @@ export interface LayoutRegistry {
16
19
  * @alpha
17
20
  */
18
21
  export class DefaultLayoutRegistry implements LayoutRegistry {
19
- private layouts: Map<string, any> = new Map();
22
+ private layouts: Map<string, FoundationLayout> = new Map();
20
23
 
21
- registerLayout(layoutKey: string, layout: any): void {
24
+ registerLayout(layoutKey: string, layout: FoundationLayout): void {
22
25
  if (!layoutKey) {
23
26
  return;
24
27
  }
@@ -40,12 +43,14 @@ export class DefaultLayoutRegistry implements LayoutRegistry {
40
43
  savedLayouts.forEach((s) => {
41
44
  const layout = this.layouts.get(s.layoutKey);
42
45
  if (layout) {
43
- layout.loadLayout(s.layout as any, 'placeholder', true);
46
+ layout.loadLayout(s.layout, 'placeholder', true);
44
47
  } else {
45
48
  console.warn(`layout for ${s.layoutKey} not found`);
46
49
  }
47
50
  });
48
- // await new Promise((resolve) => setTimeout(resolve, 300));
51
+ await new Promise((resolve) => {
52
+ setTimeout(resolve, LAYOUT_DELAY);
53
+ });
49
54
  }
50
55
  }
51
56
 
@@ -54,5 +59,5 @@ export class DefaultLayoutRegistry implements LayoutRegistry {
54
59
  * @alpha
55
60
  */
56
61
  export const LayoutRegistry = DI.createInterface<LayoutRegistry>((x) =>
57
- x.singleton(DefaultLayoutRegistry as any),
62
+ x.singleton(DefaultLayoutRegistry),
58
63
  );
@@ -1,3 +1,4 @@
1
+ import type { FoundationLayout } from '@genesislcap/foundation-layout';
1
2
  import { attr, customElement } from '@microsoft/fast-element';
2
3
  import { LayoutRegistry } from '..';
3
4
  import { LayoutWrapperTemplate as template } from './layout-wrapper.template';
@@ -17,7 +18,7 @@ export class LayoutWrapper extends HTMLElement {
17
18
 
18
19
  @LayoutRegistry layoutRegistry: LayoutRegistry;
19
20
 
20
- private layoutElement: any | null = null;
21
+ private layoutElement: FoundationLayout | null = null;
21
22
 
22
23
  connectedCallback(): void {
23
24
  this.findAndRegisterLayout();
@@ -25,7 +26,7 @@ export class LayoutWrapper extends HTMLElement {
25
26
 
26
27
  disconnectedCallback(): void {
27
28
  const layoutKey =
28
- (this.layoutElement as any)?.autoSaveKey ??
29
+ this.layoutElement?.autoSaveKey ??
29
30
  this.layoutElement?.getAttribute?.('auto-save-key') ??
30
31
  this.layoutKey;
31
32
 
@@ -35,16 +36,16 @@ export class LayoutWrapper extends HTMLElement {
35
36
  }
36
37
 
37
38
  private findAndRegisterLayout(): void {
38
- let layoutElement = this.querySelector('rapid-layout') as any;
39
+ let layoutElement = this.querySelector('rapid-layout') as FoundationLayout;
39
40
 
40
- const registerLayout = (layout: any | null) => {
41
+ const registerLayout = (layout: FoundationLayout | null) => {
41
42
  if (!layout) {
42
43
  console.warn(`layout-register: rapid-layout element not found`);
43
44
  return;
44
45
  }
45
46
  this.layoutElement = layout;
46
47
  const layoutKeyFromLayout =
47
- (layout as any).autoSaveKey ?? layout.getAttribute?.('auto-save-key') ?? this.layoutKey;
48
+ layout.autoSaveKey ?? layout.getAttribute?.('auto-save-key') ?? this.layoutKey;
48
49
 
49
50
  if (!layoutKeyFromLayout) {
50
51
  console.warn('layout-register: missing layout key (auto-save-key/layout-key)');
@@ -58,7 +59,7 @@ export class LayoutWrapper extends HTMLElement {
58
59
  registerLayout(layoutElement);
59
60
  } else {
60
61
  setTimeout(() => {
61
- layoutElement = this.querySelector('rapid-layout') as any;
62
+ layoutElement = this.querySelector('rapid-layout') as FoundationLayout;
62
63
  registerLayout(layoutElement);
63
64
  }, 100);
64
65
  }
@@ -1,3 +1,5 @@
1
+ import type { SerialisedLayout } from '@genesislcap/foundation-layout';
2
+
1
3
  /**
2
4
  * Workspace persistence types.
3
5
  * Layout and column state use generic shapes so consumers can use foundation-layout and ag-grid types.
@@ -22,5 +24,5 @@ export interface SavedFilterValue {
22
24
  */
23
25
  export interface SavedLayout {
24
26
  layoutKey: string;
25
- layout: unknown;
27
+ layout: SerialisedLayout;
26
28
  }
@@ -24,7 +24,7 @@ export const WorkspaceManagerTemplate = html<WorkspaceManager>`
24
24
  <rapid-segmented-item value="create">Create</rapid-segmented-item>
25
25
  <rapid-segmented-item value="overwrite">Overwrite</rapid-segmented-item>
26
26
  ${when(
27
- (x) => x.canShareWorkspace,
27
+ () => false,
28
28
  html<WorkspaceManager>`
29
29
  <rapid-segmented-item value="shared">Share</rapid-segmented-item>
30
30
  `,
@@ -115,7 +115,7 @@ export const WorkspaceManagerTemplate = html<WorkspaceManager>`
115
115
  `,
116
116
  )}
117
117
  ${when(
118
- (x) => x.saveMode === 'shared',
118
+ () => false,
119
119
  html<WorkspaceManager>`
120
120
  <h3>Share existing workspace:</h3>
121
121
  ${whenElse(
@@ -246,7 +246,12 @@ export const WorkspaceManagerTemplate = html<WorkspaceManager>`
246
246
  html<WorkspaceManager>`
247
247
  <rapid-segmented-control value="${sync((x) => x.loadMode)}">
248
248
  <rapid-segmented-item value="MY">My Workspaces</rapid-segmented-item>
249
- <rapid-segmented-item value="SHARED">Shared Workspaces</rapid-segmented-item>
249
+ ${when(
250
+ () => false,
251
+ html<WorkspaceManager>`
252
+ <rapid-segmented-item value="SHARED">Shared Workspaces</rapid-segmented-item>
253
+ `,
254
+ )}
250
255
  </rapid-segmented-control>
251
256
  ${when(
252
257
  (x) => x.loadMode === 'MY',
@@ -297,7 +302,7 @@ export const WorkspaceManagerTemplate = html<WorkspaceManager>`
297
302
  `,
298
303
  )}
299
304
  ${when(
300
- (x) => x.loadMode === 'SHARED',
305
+ () => false,
301
306
  html`
302
307
  <div class="workspace-section">
303
308
  <div class="workspace-list">
@@ -61,6 +61,10 @@ export class WorkspaceManager extends FoundationElement {
61
61
 
62
62
  @observable canShareWorkspace: boolean;
63
63
 
64
+ // Shared workspace functionality is currently disabled.
65
+ // Guard all codepaths that would call `connect.request(...)` / `commitEvent(...)`.
66
+ private readonly sharedWorkspacesEnabled = false;
67
+
64
68
  private sanitizeDescription(input: string): string {
65
69
  const cleaned = (input ?? '')
66
70
  // allow only letters, numbers and whitespace
@@ -91,8 +95,13 @@ export class WorkspaceManager extends FoundationElement {
91
95
  async connectedCallback(): Promise<void> {
92
96
  super.connectedCallback();
93
97
  await this.refreshSavedWorkspaces();
94
- await this.refreshSharedWorkspaces();
95
- this.canShareWorkspace = this.auth.currentUser.hasPermission('SHARE_WORKSPACE');
98
+ if (this.sharedWorkspacesEnabled) {
99
+ await this.refreshSharedWorkspaces();
100
+ this.canShareWorkspace = this.auth.currentUser.hasPermission('SHARE_WORKSPACE');
101
+ } else {
102
+ this.sharedWorkspaces = [];
103
+ this.canShareWorkspace = false;
104
+ }
96
105
  }
97
106
 
98
107
  async refreshSavedWorkspaces(): Promise<void> {
@@ -108,6 +117,10 @@ export class WorkspaceManager extends FoundationElement {
108
117
  }
109
118
 
110
119
  async refreshSharedWorkspaces(): Promise<void> {
120
+ if (!this.sharedWorkspacesEnabled) {
121
+ this.sharedWorkspaces = [];
122
+ return;
123
+ }
111
124
  try {
112
125
  const response: any = await this.connect.request('REQ_SHARED_WORKSPACES');
113
126
  const rows: any[] = response?.REPLY || [];
@@ -197,6 +210,9 @@ export class WorkspaceManager extends FoundationElement {
197
210
  }
198
211
 
199
212
  private async requestSharedWorkspace(SHARED_WORKSPACE_ID: string): Promise<any[]> {
213
+ if (!this.sharedWorkspacesEnabled) {
214
+ return [];
215
+ }
200
216
  try {
201
217
  const response = await this.connect.request('REQ_LOAD_SHARED_WORKSPACE', {
202
218
  REQUEST: { SHARED_WORKSPACE_ID },
@@ -215,6 +231,9 @@ export class WorkspaceManager extends FoundationElement {
215
231
  modifiedOn?: string | number;
216
232
  data: string;
217
233
  }): Promise<void> {
234
+ if (!this.sharedWorkspacesEnabled) {
235
+ return;
236
+ }
218
237
  try {
219
238
  this.applyingWorkspace = true;
220
239
  const sharedData = await this.requestSharedWorkspace(shared.id);
@@ -275,6 +294,9 @@ export class WorkspaceManager extends FoundationElement {
275
294
  }
276
295
 
277
296
  async modifySharedWorkspace(sharedWorkspace: SharedWorkspace): Promise<void> {
297
+ if (!this.sharedWorkspacesEnabled) {
298
+ return;
299
+ }
278
300
  try {
279
301
  const layouts = this.layoutRegistry.getLayoutsConfigs();
280
302
  const grids: SavedGridSettings[] = this.gridRegistry.getAllGridsSettings();
@@ -314,6 +336,9 @@ export class WorkspaceManager extends FoundationElement {
314
336
  }
315
337
 
316
338
  async deleteSharedWorkspace(sharedWorkspace: SharedWorkspace): Promise<void> {
339
+ if (!this.sharedWorkspacesEnabled) {
340
+ return;
341
+ }
317
342
  try {
318
343
  const response = await this.connect.commitEvent('EVENT_SHARED_WORKSPACE_DELETE', {
319
344
  VALIDATE: false,
@@ -330,6 +355,9 @@ export class WorkspaceManager extends FoundationElement {
330
355
  }
331
356
 
332
357
  confirmDeleteSharedWorkspace(sharedWorkspace: SharedWorkspace): void {
358
+ if (!this.sharedWorkspacesEnabled) {
359
+ return;
360
+ }
333
361
  if (!sharedWorkspace?.name) return;
334
362
  this.showDeleteConfirmation(
335
363
  'Delete shared workspace',
@@ -340,6 +368,9 @@ export class WorkspaceManager extends FoundationElement {
340
368
  }
341
369
 
342
370
  async shareExistingWorkspace(workspaceName: string): Promise<void> {
371
+ if (!this.sharedWorkspacesEnabled) {
372
+ return;
373
+ }
343
374
  const name = workspaceName?.trim();
344
375
  if (!name) return;
345
376
  try {
@@ -404,7 +435,9 @@ export class WorkspaceManager extends FoundationElement {
404
435
  }
405
436
 
406
437
  openLoadDialog(): void {
407
- this.refreshSharedWorkspaces();
438
+ if (this.sharedWorkspacesEnabled) {
439
+ this.refreshSharedWorkspaces();
440
+ }
408
441
  this.loadModal.show();
409
442
  }
410
443
 
@@ -9,10 +9,12 @@ import type { ColumnApi } from '@ag-grid-community/core';
9
9
  import { Connect } from '@genesislcap/foundation-comms';
10
10
  import type { Container } from '@microsoft/fast-foundation';
11
11
  import { FoundationElement } from '@microsoft/fast-foundation';
12
+ import type { FoundationLayout } from '@genesislcap/foundation-layout';
12
13
  import type { GridApi } from '@ag-grid-community/core';
13
14
  import { InterfaceSymbol } from '@microsoft/fast-foundation';
14
15
  import { KVStorage } from '@genesislcap/foundation-comms';
15
16
  import { Modal } from '@genesislcap/foundation-ui';
17
+ import type { SerialisedLayout } from '@genesislcap/foundation-layout';
16
18
 
17
19
  // @alpha (undocumented)
18
20
  export class DefaultFilterRegistry implements FilterRegistry {
@@ -38,7 +40,7 @@ export class DefaultGridRegistry implements GridRegistry {
38
40
  // (undocumented)
39
41
  getAllGridsSettings(): SavedGridSettings[];
40
42
  // (undocumented)
41
- getGrid(gridKey: string): unknown;
43
+ getGrid(gridKey: string): GridRegistration | null;
42
44
  // (undocumented)
43
45
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
44
46
  // (undocumented)
@@ -52,7 +54,7 @@ export class DefaultLayoutRegistry implements LayoutRegistry {
52
54
  // (undocumented)
53
55
  getLayoutsConfigs(): SavedLayout[];
54
56
  // (undocumented)
55
- registerLayout(layoutKey: string, layout: any): void;
57
+ registerLayout(layoutKey: string, layout: FoundationLayout): void;
56
58
  // (undocumented)
57
59
  unregisterLayout(layoutKey: string): void;
58
60
  }
@@ -127,6 +129,16 @@ export interface GridRegistration {
127
129
  gridKey: string;
128
130
  }
129
131
 
132
+ // @alpha (undocumented)
133
+ export interface GridRegistration {
134
+ // (undocumented)
135
+ columnApi: ColumnApi;
136
+ // (undocumented)
137
+ gridApi: GridApi;
138
+ // (undocumented)
139
+ gridKey: string;
140
+ }
141
+
130
142
  // @alpha (undocumented)
131
143
  export interface GridRegistry {
132
144
  // (undocumented)
@@ -139,7 +151,7 @@ export interface GridRegistry {
139
151
  // (undocumented)
140
152
  getAllGridsSettings(): SavedGridSettings[];
141
153
  // (undocumented)
142
- getGrid(gridKey: string): unknown;
154
+ getGrid(gridKey: string): GridRegistration | null;
143
155
  // (undocumented)
144
156
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
145
157
  // (undocumented)
@@ -200,7 +212,7 @@ export interface SavedGridSettings {
200
212
  // @alpha (undocumented)
201
213
  export interface SavedLayout {
202
214
  // (undocumented)
203
- layout: unknown;
215
+ layout: SerialisedLayout;
204
216
  // (undocumented)
205
217
  layoutKey: string;
206
218
  }