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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/dist/dts/workspace/grid-register/grid-register.d.ts +5 -3
  2. package/dist/dts/workspace/grid-register/grid-register.d.ts.map +1 -1
  3. package/dist/dts/workspace/grid-register/grid-register.template.d.ts +1 -1
  4. package/dist/dts/workspace/grid-register/grid-register.template.d.ts.map +1 -1
  5. package/dist/dts/workspace/grid-registry.d.ts +11 -11
  6. package/dist/dts/workspace/grid-registry.d.ts.map +1 -1
  7. package/dist/dts/workspace/layout-registry.d.ts +2 -1
  8. package/dist/dts/workspace/layout-registry.d.ts.map +1 -1
  9. package/dist/dts/workspace/layout-wrapper/layout-wrapper.d.ts +4 -2
  10. package/dist/dts/workspace/layout-wrapper/layout-wrapper.d.ts.map +1 -1
  11. package/dist/dts/workspace/layout-wrapper/layout-wrapper.template.d.ts +1 -1
  12. package/dist/dts/workspace/layout-wrapper/layout-wrapper.template.d.ts.map +1 -1
  13. package/dist/dts/workspace/workspace.types.d.ts +2 -1
  14. package/dist/dts/workspace/workspace.types.d.ts.map +1 -1
  15. package/dist/dts/workspace-components.d.ts +1 -1
  16. package/dist/dts/workspace-components.d.ts.map +1 -1
  17. package/dist/dts/workspace-manager/workspace-manager.d.ts +2 -1
  18. package/dist/dts/workspace-manager/workspace-manager.d.ts.map +1 -1
  19. package/dist/dts/workspace-manager/workspace-manager.styles.d.ts.map +1 -1
  20. package/dist/dts/workspace-manager/workspace-manager.template.d.ts +5 -1
  21. package/dist/dts/workspace-manager/workspace-manager.template.d.ts.map +1 -1
  22. package/dist/esm/workspace/filter-registry.js +1 -1
  23. package/dist/esm/workspace/grid-register/grid-register.js +20 -16
  24. package/dist/esm/workspace/grid-register/grid-register.template.js +1 -1
  25. package/dist/esm/workspace/grid-registry.js +21 -10
  26. package/dist/esm/workspace/layout-registry.js +5 -2
  27. package/dist/esm/workspace/layout-wrapper/layout-wrapper.js +13 -6
  28. package/dist/esm/workspace/layout-wrapper/layout-wrapper.template.js +1 -1
  29. package/dist/esm/workspace/workspace-state.js +1 -1
  30. package/dist/esm/workspace-manager/workspace-manager.js +38 -5
  31. package/dist/esm/workspace-manager/workspace-manager.styles.js +2 -25
  32. package/dist/esm/workspace-manager/workspace-manager.template.js +26 -14
  33. package/dist/foundation-workspace.api.json +74 -8
  34. package/dist/foundation-workspace.d.ts +14 -10
  35. package/package.json +16 -17
  36. package/src/workspace/filter-registry.ts +1 -1
  37. package/src/workspace/grid-register/grid-register.template.ts +1 -2
  38. package/src/workspace/grid-register/grid-register.ts +20 -18
  39. package/src/workspace/grid-registry.ts +35 -21
  40. package/src/workspace/layout-registry.ts +11 -6
  41. package/src/workspace/layout-wrapper/layout-wrapper.template.ts +1 -2
  42. package/src/workspace/layout-wrapper/layout-wrapper.ts +15 -10
  43. package/src/workspace/workspace-state.ts +1 -1
  44. package/src/workspace/workspace.types.ts +3 -1
  45. package/src/workspace-components.ts +1 -1
  46. package/src/workspace-manager/workspace-manager.styles.ts +2 -25
  47. package/src/workspace-manager/workspace-manager.template.ts +32 -14
  48. package/src/workspace-manager/workspace-manager.ts +38 -5
  49. package/docs/.gitkeep +0 -1
  50. package/docs/api/foundation-workspace.defaultfilterregistry.md +0 -17
  51. package/docs/api/foundation-workspace.defaultgridregistry.md +0 -17
  52. package/docs/api/foundation-workspace.defaultlayoutregistry.md +0 -18
  53. package/docs/api/foundation-workspace.defaultworkspacestate._constructor_.md +0 -65
  54. package/docs/api/foundation-workspace.defaultworkspacestate.auth.md +0 -14
  55. package/docs/api/foundation-workspace.defaultworkspacestate.kvstorage.md +0 -14
  56. package/docs/api/foundation-workspace.defaultworkspacestate.md +0 -115
  57. package/docs/api/foundation-workspace.filterregistration.filterkey.md +0 -14
  58. package/docs/api/foundation-workspace.filterregistration.getfiltervalue.md +0 -14
  59. package/docs/api/foundation-workspace.filterregistration.md +0 -98
  60. package/docs/api/foundation-workspace.filterregistration.setfiltervalue.md +0 -14
  61. package/docs/api/foundation-workspace.filterregistry.applyfiltersvalues.md +0 -53
  62. package/docs/api/foundation-workspace.filterregistry.getallfiltersvalues.md +0 -18
  63. package/docs/api/foundation-workspace.filterregistry.md +0 -16
  64. package/docs/api/foundation-workspace.filterregistry.registerfilter.md +0 -81
  65. package/docs/api/foundation-workspace.filterregistry.unregisterfilter.md +0 -53
  66. package/docs/api/foundation-workspace.gridregister.gridkey.md +0 -14
  67. package/docs/api/foundation-workspace.gridregister.gridregistry.md +0 -14
  68. package/docs/api/foundation-workspace.gridregister.md +0 -100
  69. package/docs/api/foundation-workspace.gridregister.workspacestate.md +0 -14
  70. package/docs/api/foundation-workspace.gridregistration.columnapi.md +0 -14
  71. package/docs/api/foundation-workspace.gridregistration.gridapi.md +0 -14
  72. package/docs/api/foundation-workspace.gridregistration.gridkey.md +0 -14
  73. package/docs/api/foundation-workspace.gridregistration.md +0 -98
  74. package/docs/api/foundation-workspace.gridregistry.applyallgridssettings.md +0 -53
  75. package/docs/api/foundation-workspace.gridregistry.applygridsettings.md +0 -72
  76. package/docs/api/foundation-workspace.gridregistry.getallgridssettings.md +0 -18
  77. package/docs/api/foundation-workspace.gridregistry.getgrid.md +0 -53
  78. package/docs/api/foundation-workspace.gridregistry.md +0 -16
  79. package/docs/api/foundation-workspace.gridregistry.registergrid.md +0 -81
  80. package/docs/api/foundation-workspace.gridregistry.unregistergrid.md +0 -53
  81. package/docs/api/foundation-workspace.layoutregistry.applysavedlayouts.md +0 -53
  82. package/docs/api/foundation-workspace.layoutregistry.getlayoutsconfigs.md +0 -18
  83. package/docs/api/foundation-workspace.layoutregistry.md +0 -16
  84. package/docs/api/foundation-workspace.layoutregistry.registerlayout.md +0 -67
  85. package/docs/api/foundation-workspace.layoutregistry.unregisterlayout.md +0 -53
  86. package/docs/api/foundation-workspace.layoutwrapper.layoutkey.md +0 -14
  87. package/docs/api/foundation-workspace.layoutwrapper.layoutregistry.md +0 -14
  88. package/docs/api/foundation-workspace.layoutwrapper.md +0 -81
  89. package/docs/api/foundation-workspace.loadmode.md +0 -16
  90. package/docs/api/foundation-workspace.md +0 -332
  91. package/docs/api/foundation-workspace.savedfiltervalue.filterkey.md +0 -14
  92. package/docs/api/foundation-workspace.savedfiltervalue.md +0 -79
  93. package/docs/api/foundation-workspace.savedfiltervalue.value.md +0 -14
  94. package/docs/api/foundation-workspace.savedgridsettings.columnstate.md +0 -14
  95. package/docs/api/foundation-workspace.savedgridsettings.gridkey.md +0 -14
  96. package/docs/api/foundation-workspace.savedgridsettings.md +0 -99
  97. package/docs/api/foundation-workspace.savedgridsettings.savedat.md +0 -14
  98. package/docs/api/foundation-workspace.savedlayout.layout.md +0 -14
  99. package/docs/api/foundation-workspace.savedlayout.layoutkey.md +0 -14
  100. package/docs/api/foundation-workspace.savedlayout.md +0 -79
  101. package/docs/api/foundation-workspace.savedworkspace.description.md +0 -14
  102. package/docs/api/foundation-workspace.savedworkspace.filters.md +0 -14
  103. package/docs/api/foundation-workspace.savedworkspace.grids.md +0 -14
  104. package/docs/api/foundation-workspace.savedworkspace.layouts.md +0 -14
  105. package/docs/api/foundation-workspace.savedworkspace.md +0 -174
  106. package/docs/api/foundation-workspace.savedworkspace.name.md +0 -14
  107. package/docs/api/foundation-workspace.savedworkspace.savedat.md +0 -14
  108. package/docs/api/foundation-workspace.savedworkspace.username.md +0 -14
  109. package/docs/api/foundation-workspace.sharedworkspace.createdon.md +0 -14
  110. package/docs/api/foundation-workspace.sharedworkspace.data.md +0 -14
  111. package/docs/api/foundation-workspace.sharedworkspace.description.md +0 -14
  112. package/docs/api/foundation-workspace.sharedworkspace.id.md +0 -14
  113. package/docs/api/foundation-workspace.sharedworkspace.md +0 -174
  114. package/docs/api/foundation-workspace.sharedworkspace.modifiedon.md +0 -14
  115. package/docs/api/foundation-workspace.sharedworkspace.name.md +0 -14
  116. package/docs/api/foundation-workspace.sharedworkspace.username.md +0 -14
  117. package/docs/api/foundation-workspace.workspacecomponents.md +0 -29
  118. package/docs/api/foundation-workspace.workspacemanager.applyingworkspace.md +0 -14
  119. package/docs/api/foundation-workspace.workspacemanager.auth.md +0 -14
  120. package/docs/api/foundation-workspace.workspacemanager.canshareworkspace.md +0 -14
  121. package/docs/api/foundation-workspace.workspacemanager.connect.md +0 -14
  122. package/docs/api/foundation-workspace.workspacemanager.dialogboundary.md +0 -14
  123. package/docs/api/foundation-workspace.workspacemanager.filterregistry.md +0 -14
  124. package/docs/api/foundation-workspace.workspacemanager.gridregistry.md +0 -14
  125. package/docs/api/foundation-workspace.workspacemanager.isloading.md +0 -14
  126. package/docs/api/foundation-workspace.workspacemanager.layoutregistry.md +0 -14
  127. package/docs/api/foundation-workspace.workspacemanager.loadmodal.md +0 -14
  128. package/docs/api/foundation-workspace.workspacemanager.loadmode.md +0 -14
  129. package/docs/api/foundation-workspace.workspacemanager.md +0 -442
  130. package/docs/api/foundation-workspace.workspacemanager.savedworkspaces.md +0 -14
  131. package/docs/api/foundation-workspace.workspacemanager.savemodal.md +0 -14
  132. package/docs/api/foundation-workspace.workspacemanager.savemode.md +0 -14
  133. package/docs/api/foundation-workspace.workspacemanager.selectedworkspacetooverwrite.md +0 -14
  134. package/docs/api/foundation-workspace.workspacemanager.sharedworkspacedialogboundary.md +0 -14
  135. package/docs/api/foundation-workspace.workspacemanager.sharedworkspaces.md +0 -14
  136. package/docs/api/foundation-workspace.workspacemanager.workspacedescription.md +0 -14
  137. package/docs/api/foundation-workspace.workspacemanager.workspacename.md +0 -14
  138. package/docs/api/foundation-workspace.workspacemanager.workspacestate.md +0 -14
  139. package/docs/api/foundation-workspace.workspacemanager.workspacetoshare.md +0 -14
  140. package/docs/api/foundation-workspace.workspacestate.deleteworkspace.md +0 -53
  141. package/docs/api/foundation-workspace.workspacestate.getcurrentworkspace.md +0 -18
  142. package/docs/api/foundation-workspace.workspacestate.getsavedworkspaces.md +0 -18
  143. package/docs/api/foundation-workspace.workspacestate.loadworkspace.md +0 -53
  144. package/docs/api/foundation-workspace.workspacestate.md +0 -16
  145. package/docs/api/foundation-workspace.workspacestate.saveworkspace.md +0 -111
  146. package/docs/api/foundation-workspace.workspacestate.setcurrentworkspace.md +0 -53
  147. package/docs/api/index.md +0 -30
  148. package/docs/api-report.md.api.md +0 -372
  149. package/temp/api-report.md.api.md +0 -372
@@ -1,8 +1,7 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
2
  import { Auth, Connect } from '@genesislcap/foundation-comms';
3
3
  import { showNotificationDialog, showNotificationToast, } from '@genesislcap/foundation-notifications';
4
- import { customElement, observable } from '@microsoft/fast-element';
5
- import { FoundationElement } from '@microsoft/fast-foundation';
4
+ import { FoundationElement, customElement, observable } from '@genesislcap/web-core';
6
5
  import { LayoutRegistry, GridRegistry, FilterRegistry, WorkspaceState, } from '../workspace';
7
6
  import { WorkspaceManagerStyles as styles } from './workspace-manager.styles';
8
7
  import { WORKSPACE_DESCRIPTION_MAX, WorkspaceManagerTemplate as template, } from './workspace-manager.template';
@@ -23,6 +22,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
23
22
  this.saveMode = 'create';
24
23
  this.selectedWorkspaceToOverwrite = '';
25
24
  this.workspaceToShare = '';
25
+ // Shared workspace functionality is currently disabled.
26
+ // Guard all codepaths that would call `connect.request(...)` / `commitEvent(...)`.
27
+ this.sharedWorkspacesEnabled = false;
26
28
  }
27
29
  sanitizeDescription(input) {
28
30
  const cleaned = (input !== null && input !== void 0 ? input : '')
@@ -53,8 +55,14 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
53
55
  return __awaiter(this, void 0, void 0, function* () {
54
56
  _super.connectedCallback.call(this);
55
57
  yield this.refreshSavedWorkspaces();
56
- yield this.refreshSharedWorkspaces();
57
- this.canShareWorkspace = this.auth.currentUser.hasPermission('SHARE_WORKSPACE');
58
+ if (this.sharedWorkspacesEnabled) {
59
+ yield this.refreshSharedWorkspaces();
60
+ this.canShareWorkspace = this.auth.currentUser.hasPermission('SHARE_WORKSPACE');
61
+ }
62
+ else {
63
+ this.sharedWorkspaces = [];
64
+ this.canShareWorkspace = false;
65
+ }
58
66
  });
59
67
  }
60
68
  refreshSavedWorkspaces() {
@@ -74,6 +82,10 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
74
82
  }
75
83
  refreshSharedWorkspaces() {
76
84
  return __awaiter(this, void 0, void 0, function* () {
85
+ if (!this.sharedWorkspacesEnabled) {
86
+ this.sharedWorkspaces = [];
87
+ return;
88
+ }
77
89
  try {
78
90
  const response = yield this.connect.request('REQ_SHARED_WORKSPACES');
79
91
  const rows = (response === null || response === void 0 ? void 0 : response.REPLY) || [];
@@ -161,6 +173,9 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
161
173
  }
162
174
  requestSharedWorkspace(SHARED_WORKSPACE_ID) {
163
175
  return __awaiter(this, void 0, void 0, function* () {
176
+ if (!this.sharedWorkspacesEnabled) {
177
+ return [];
178
+ }
164
179
  try {
165
180
  const response = yield this.connect.request('REQ_LOAD_SHARED_WORKSPACE', {
166
181
  REQUEST: { SHARED_WORKSPACE_ID },
@@ -174,11 +189,15 @@ let WorkspaceManager = class WorkspaceManager extends FoundationElement {
174
189
  }
175
190
  loadSharedWorkspace(shared) {
176
191
  return __awaiter(this, void 0, void 0, function* () {
192
+ if (!this.sharedWorkspacesEnabled) {
193
+ return;
194
+ }
177
195
  try {
178
196
  this.applyingWorkspace = true;
179
197
  const sharedData = yield this.requestSharedWorkspace(shared.id);
180
198
  if (!(sharedData === null || sharedData === void 0 ? void 0 : sharedData.length)) {
181
199
  console.warn('workspace has no data');
200
+ this.applyingWorkspace = false;
182
201
  return;
183
202
  }
184
203
  const dataJoined = sharedData.map((d) => d.WORKSPACE_DATA).join('');
@@ -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() {
@@ -1,4 +1,4 @@
1
- import { css } from '@microsoft/fast-element';
1
+ import { css } from '@genesislcap/web-core';
2
2
  export const WorkspaceManagerStyles = css `
3
3
  .workspace-manager {
4
4
  display: flex;
@@ -63,6 +63,7 @@ export const WorkspaceManagerStyles = css `
63
63
  cursor: pointer;
64
64
  display: flex;
65
65
  align-items: center;
66
+ gap: 5px;
66
67
  }
67
68
 
68
69
  .workspace-item:hover {
@@ -100,30 +101,6 @@ export const WorkspaceManagerStyles = css `
100
101
  line-height: 1.4;
101
102
  }
102
103
 
103
- .workspace-description-input {
104
- width: 100%;
105
- min-height: 60px;
106
- padding: 8px 12px;
107
- margin-bottom: 16px;
108
- font-family: inherit;
109
- font-size: 14px;
110
- border: 1px solid var(--neutral-stroke-rest);
111
- border-radius: 4px;
112
- background: var(--neutral-fill-rest);
113
- color: var(--neutral-foreground-rest);
114
- resize: vertical;
115
- box-sizing: border-box;
116
- }
117
-
118
- .workspace-description-input::placeholder {
119
- color: var(--neutral-foreground-hint);
120
- }
121
-
122
- .workspace-description-input:focus {
123
- outline: none;
124
- border-color: var(--accent-fill-rest);
125
- }
126
-
127
104
  .loading-container {
128
105
  display: flex;
129
106
  flex-direction: column;
@@ -1,7 +1,7 @@
1
1
  import { sync, whenElse } from '@genesislcap/foundation-utils';
2
- import { html, ref, repeat, when } from '@microsoft/fast-element';
2
+ import { html, ref, repeat, when } from '@genesislcap/web-core';
3
3
  export const WORKSPACE_DESCRIPTION_MAX = 200;
4
- export const WorkspaceManagerTemplate = html `
4
+ export const workspaceHeaderPartial = html `
5
5
  <div class="workspace-manager">
6
6
  <rapid-button @click=${(x) => x.openSaveDialog()}>
7
7
  <rapid-icon name="download"></rapid-icon>
@@ -12,6 +12,8 @@ export const WorkspaceManagerTemplate = html `
12
12
  Load Workspace
13
13
  </rapid-button>
14
14
  </div>
15
+ `;
16
+ export const workspaceSaveModalPartial = html `
15
17
  <rapid-modal ${ref('saveModal')}>
16
18
  <h2 slot="top">Save Workspace</h2>
17
19
  <div class="dialog-content">
@@ -19,7 +21,7 @@ export const WorkspaceManagerTemplate = html `
19
21
  <rapid-segmented-control value="${sync((x) => x.saveMode)}">
20
22
  <rapid-segmented-item value="create">Create</rapid-segmented-item>
21
23
  <rapid-segmented-item value="overwrite">Overwrite</rapid-segmented-item>
22
- ${when((x) => x.canShareWorkspace, html `
24
+ ${when(() => false, html `
23
25
  <rapid-segmented-item value="shared">Share</rapid-segmented-item>
24
26
  `)}
25
27
  </rapid-segmented-control>
@@ -35,13 +37,14 @@ export const WorkspaceManagerTemplate = html `
35
37
  <rapid-label>
36
38
  Description (optional, max ${WORKSPACE_DESCRIPTION_MAX} characters):
37
39
  </rapid-label>
38
- <textarea
40
+ <rapid-text-area
39
41
  class="save-field workspace-description-input"
42
+ maxlength="${WORKSPACE_DESCRIPTION_MAX}"
40
43
  :value=${(x) => x.workspaceDescription}
41
44
  @input=${(x, c) => x.updateWorkspaceDescription(c.event.target.value)}
42
45
  placeholder="Add a description for this workspace"
43
46
  rows="3"
44
- ></textarea>
47
+ ></rapid-text-area>
45
48
  ${when((x) => x.workspaceName && x.isWorkspaceExisting(x.workspaceName), html `
46
49
  <div class="warning-message">
47
50
  <rapid-icon name="triangle-exclamation"></rapid-icon>
@@ -75,19 +78,20 @@ export const WorkspaceManagerTemplate = html `
75
78
  `)}
76
79
  </rapid-radio-group>
77
80
  <rapid-label>Description (optional):</rapid-label>
78
- <textarea
79
- class="save-field workspace-description-input"
81
+ <rapid-text-area
82
+ class="save-field"
80
83
  :value=${(x) => x.workspaceDescription}
84
+ maxlength="${WORKSPACE_DESCRIPTION_MAX}"
81
85
  @input=${(x, c) => x.updateWorkspaceDescription(c.event.target.value)}
82
86
  placeholder="Add a description for this workspace"
83
87
  rows="3"
84
- ></textarea>
88
+ ></rapid-text-area>
85
89
  <div class="warning-message">
86
90
  <rapid-icon name="triangle-exclamation"></rapid-icon>
87
91
  This will permanently replace the selected workspace. This action cannot be undone.
88
92
  </div>
89
93
  `)}
90
- ${when((x) => x.saveMode === 'shared', html `
94
+ ${when(() => false, html `
91
95
  <h3>Share existing workspace:</h3>
92
96
  ${whenElse((x) => x.savedWorkspaces.length === 0, html `
93
97
  <div class="empty-state">No saved workspaces to share</div>
@@ -171,6 +175,8 @@ export const WorkspaceManagerTemplate = html `
171
175
  <div class="workspace-dialog-boundary" ${ref('sharedWorkspaceDialogBoundary')}></div>
172
176
  </div>
173
177
  </rapid-modal>
178
+ `;
179
+ export const workspaceLoadModalPartial = html `
174
180
  <rapid-modal ${ref('loadModal')}>
175
181
  <h2 slot="top">Load Workspace</h2>
176
182
  <div class="dialog-content">
@@ -180,10 +186,13 @@ export const WorkspaceManagerTemplate = html `
180
186
  </div>
181
187
  `)}
182
188
  ${when((x) => !x.applyingWorkspace, html `
183
- <rapid-segmented-control value="${sync((x) => x.loadMode)}">
184
- <rapid-segmented-item value="MY">My Workspaces</rapid-segmented-item>
185
- <rapid-segmented-item value="SHARED">Shared Workspaces</rapid-segmented-item>
186
- </rapid-segmented-control>
189
+ ${when(() => false, html `
190
+ <rapid-segmented-control value="${sync((x) => x.loadMode)}">
191
+ <rapid-segmented-item value="MY">My Workspaces</rapid-segmented-item>
192
+
193
+ <rapid-segmented-item value="SHARED">Shared Workspaces</rapid-segmented-item>
194
+ </rapid-segmented-control>
195
+ `)}
187
196
  ${when((x) => x.loadMode === 'MY', html `
188
197
  <div class="workspace-list">
189
198
  ${repeat((x) => x.savedWorkspaces, html `
@@ -218,7 +227,7 @@ export const WorkspaceManagerTemplate = html `
218
227
  `)}
219
228
  </div>
220
229
  `)}
221
- ${when((x) => x.loadMode === 'SHARED', html `
230
+ ${when(() => false, html `
222
231
  <div class="workspace-section">
223
232
  <div class="workspace-list">
224
233
  ${repeat((x) => x.sharedWorkspaces, html `
@@ -257,3 +266,6 @@ export const WorkspaceManagerTemplate = html `
257
266
  <div class="workspace-dialog-boundary" ${ref('dialogBoundary')}></div>
258
267
  </rapid-modal>
259
268
  `;
269
+ export const WorkspaceManagerTemplate = html `
270
+ ${workspaceHeaderPartial} ${workspaceSaveModalPartial} ${workspaceLoadModalPartial}
271
+ `;
@@ -805,8 +805,8 @@
805
805
  },
806
806
  {
807
807
  "kind": "Reference",
808
- "text": "HTMLElement",
809
- "canonicalReference": "!HTMLElement:interface"
808
+ "text": "FoundationElement",
809
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElement:class"
810
810
  },
811
811
  {
812
812
  "kind": "Content",
@@ -819,6 +819,36 @@
819
819
  "name": "GridRegister",
820
820
  "preserveMemberOrder": false,
821
821
  "members": [
822
+ {
823
+ "kind": "Property",
824
+ "canonicalReference": "@genesislcap/foundation-workspace!GridRegister#designSystemPrefix:member",
825
+ "docComment": "",
826
+ "excerptTokens": [
827
+ {
828
+ "kind": "Content",
829
+ "text": "designSystemPrefix: "
830
+ },
831
+ {
832
+ "kind": "Content",
833
+ "text": "string"
834
+ },
835
+ {
836
+ "kind": "Content",
837
+ "text": ";"
838
+ }
839
+ ],
840
+ "isReadonly": false,
841
+ "isOptional": false,
842
+ "releaseTag": "Alpha",
843
+ "name": "designSystemPrefix",
844
+ "propertyTypeTokenRange": {
845
+ "startIndex": 1,
846
+ "endIndex": 2
847
+ },
848
+ "isStatic": false,
849
+ "isProtected": false,
850
+ "isAbstract": false
851
+ },
822
852
  {
823
853
  "kind": "Property",
824
854
  "canonicalReference": "@genesislcap/foundation-workspace!GridRegister#gridKey:member",
@@ -1206,9 +1236,14 @@
1206
1236
  "kind": "Content",
1207
1237
  "text": "): "
1208
1238
  },
1239
+ {
1240
+ "kind": "Reference",
1241
+ "text": "GridRegistration",
1242
+ "canonicalReference": "@genesislcap/foundation-workspace!GridRegistration:interface"
1243
+ },
1209
1244
  {
1210
1245
  "kind": "Content",
1211
- "text": "unknown"
1246
+ "text": " | null"
1212
1247
  },
1213
1248
  {
1214
1249
  "kind": "Content",
@@ -1218,7 +1253,7 @@
1218
1253
  "isOptional": false,
1219
1254
  "returnTypeTokenRange": {
1220
1255
  "startIndex": 3,
1221
- "endIndex": 4
1256
+ "endIndex": 5
1222
1257
  },
1223
1258
  "releaseTag": "Alpha",
1224
1259
  "overloadIndex": 1,
@@ -1664,8 +1699,8 @@
1664
1699
  },
1665
1700
  {
1666
1701
  "kind": "Reference",
1667
- "text": "HTMLElement",
1668
- "canonicalReference": "!HTMLElement:interface"
1702
+ "text": "FoundationElement",
1703
+ "canonicalReference": "@microsoft/fast-foundation!FoundationElement:class"
1669
1704
  },
1670
1705
  {
1671
1706
  "kind": "Content",
@@ -1678,6 +1713,36 @@
1678
1713
  "name": "LayoutWrapper",
1679
1714
  "preserveMemberOrder": false,
1680
1715
  "members": [
1716
+ {
1717
+ "kind": "Property",
1718
+ "canonicalReference": "@genesislcap/foundation-workspace!LayoutWrapper#designSystemPrefix:member",
1719
+ "docComment": "",
1720
+ "excerptTokens": [
1721
+ {
1722
+ "kind": "Content",
1723
+ "text": "designSystemPrefix: "
1724
+ },
1725
+ {
1726
+ "kind": "Content",
1727
+ "text": "string"
1728
+ },
1729
+ {
1730
+ "kind": "Content",
1731
+ "text": ";"
1732
+ }
1733
+ ],
1734
+ "isReadonly": false,
1735
+ "isOptional": false,
1736
+ "releaseTag": "Alpha",
1737
+ "name": "designSystemPrefix",
1738
+ "propertyTypeTokenRange": {
1739
+ "startIndex": 1,
1740
+ "endIndex": 2
1741
+ },
1742
+ "isStatic": false,
1743
+ "isProtected": false,
1744
+ "isAbstract": false
1745
+ },
1681
1746
  {
1682
1747
  "kind": "Property",
1683
1748
  "canonicalReference": "@genesislcap/foundation-workspace!LayoutWrapper#layoutKey:member",
@@ -1968,8 +2033,9 @@
1968
2033
  "text": "layout: "
1969
2034
  },
1970
2035
  {
1971
- "kind": "Content",
1972
- "text": "unknown"
2036
+ "kind": "Reference",
2037
+ "text": "SerialisedLayout",
2038
+ "canonicalReference": "@genesislcap/foundation-layout!SerialisedLayout:type"
1973
2039
  },
1974
2040
  {
1975
2041
  "kind": "Content",
@@ -1,12 +1,14 @@
1
1
  import { Auth } from '@genesislcap/foundation-comms';
2
2
  import type { ColumnApi } from '@ag-grid-community/core';
3
3
  import { Connect } from '@genesislcap/foundation-comms';
4
- import type { Container } from '@microsoft/fast-foundation';
5
- import { FoundationElement } from '@microsoft/fast-foundation';
4
+ import type { Container } from '@genesislcap/web-core';
5
+ import { FoundationElement } from '@genesislcap/web-core';
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,14 +28,14 @@ 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?: {
33
35
  applyColumns?: boolean;
34
36
  applyFilters?: boolean;
35
37
  }): Promise<boolean>;
36
- applyAllGridsSettings(gridsSettings: SavedGridSettings[], maxRetries?: number, delayMs?: number): Promise<void>;
38
+ applyAllGridsSettings(gridsSettings: SavedGridSettings[], maxRetries?: number): Promise<void>;
37
39
  private getGridSettings;
38
40
  }
39
41
 
@@ -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>;
@@ -104,14 +106,14 @@ export declare const FilterRegistry: InterfaceSymbol<FilterRegistry>;
104
106
  * Registers an AG Grid instance so workspace state can apply/load it.
105
107
  * @alpha
106
108
  */
107
- export declare class GridRegister extends HTMLElement {
109
+ export declare class GridRegister extends FoundationElement {
108
110
  gridKey: string;
111
+ designSystemPrefix: string;
109
112
  gridRegistry: GridRegistry;
110
113
  workspaceState: WorkspaceState;
111
114
  private gridElement;
112
115
  private gridApi;
113
116
  private columnApi;
114
- private workspaceSettingsApplied;
115
117
  connectedCallback(): void;
116
118
  disconnectedCallback(): void;
117
119
  private findAndRegisterGrid;
@@ -136,7 +138,7 @@ export declare interface GridRegistration {
136
138
  */
137
139
  export declare interface GridRegistry {
138
140
  registerGrid(gridKey: string, gridApi: unknown, columnApi: unknown): void;
139
- getGrid(gridKey: string): unknown;
141
+ getGrid(gridKey: string): GridRegistration | null;
140
142
  unregisterGrid(gridKey: string): void;
141
143
  getAllGridsSettings(): SavedGridSettings[];
142
144
  applyGridSettings(gridSetting: SavedGridSettings, options?: {
@@ -172,8 +174,9 @@ export declare const LayoutRegistry: InterfaceSymbol<LayoutRegistry>;
172
174
  * Registers a layout instance so workspace state can apply/load it.
173
175
  * @alpha
174
176
  */
175
- export declare class LayoutWrapper extends HTMLElement {
177
+ export declare class LayoutWrapper extends FoundationElement {
176
178
  layoutKey: string;
179
+ designSystemPrefix: string;
177
180
  layoutRegistry: LayoutRegistry;
178
181
  private layoutElement;
179
182
  connectedCallback(): void;
@@ -211,7 +214,7 @@ export declare interface SavedGridSettings {
211
214
  */
212
215
  export declare interface SavedLayout {
213
216
  layoutKey: string;
214
- layout: unknown;
217
+ layout: SerialisedLayout;
215
218
  }
216
219
 
217
220
  /**
@@ -287,6 +290,7 @@ export declare class WorkspaceManager extends FoundationElement {
287
290
  connect: Connect;
288
291
  auth: Auth;
289
292
  canShareWorkspace: boolean;
293
+ private readonly sharedWorkspacesEnabled;
290
294
  private sanitizeDescription;
291
295
  updateWorkspaceDescription(raw: string): void;
292
296
  private setDescriptionFromSelectedWorkspace;
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.411.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -37,24 +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.411.0",
41
+ "@genesislcap/genx": "14.411.0",
42
+ "@genesislcap/rollup-builder": "14.411.0",
43
+ "@genesislcap/ts-builder": "14.411.0",
44
+ "@genesislcap/uvu-playwright-builder": "14.411.0",
45
+ "@genesislcap/vite-builder": "14.411.0",
46
+ "@genesislcap/webpack-builder": "14.411.0"
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",
55
- "@microsoft/fast-components": "2.30.6",
56
- "@microsoft/fast-element": "1.14.0",
57
- "@microsoft/fast-foundation": "2.50.0"
50
+ "@genesislcap/foundation-comms": "14.411.0",
51
+ "@genesislcap/foundation-layout": "14.411.0",
52
+ "@genesislcap/foundation-notifications": "14.411.0",
53
+ "@genesislcap/foundation-ui": "14.411.0",
54
+ "@genesislcap/foundation-utils": "14.411.0",
55
+ "@genesislcap/grid-pro": "14.411.0",
56
+ "@genesislcap/web-core": "14.411.0"
58
57
  },
59
58
  "repository": {
60
59
  "type": "git",
@@ -65,5 +64,5 @@
65
64
  "access": "public"
66
65
  },
67
66
  "customElements": "dist/custom-elements.json",
68
- "gitHead": "9421667d629b2124861eca27fc69ad52a5b46460"
67
+ "gitHead": "f0f06261f9263da766433fa02f4c011c3391e3c4"
69
68
  }
@@ -1,4 +1,4 @@
1
- import { DI } from '@microsoft/fast-foundation';
1
+ import { DI } from '@genesislcap/web-core';
2
2
  import type { SavedFilterValue } from './workspace.types';
3
3
 
4
4
  /**
@@ -1,5 +1,4 @@
1
- import { html } from '@microsoft/fast-element';
2
- import type { ViewTemplate } from '@microsoft/fast-element';
1
+ import { html, ViewTemplate } from '@genesislcap/web-core';
3
2
  import type { GridRegister } from './grid-register';
4
3
 
5
4
  export const GridRegisterTemplate: ViewTemplate<GridRegister> = html`