@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.
- package/dist/dts/workspace/grid-register/grid-register.d.ts +5 -3
- package/dist/dts/workspace/grid-register/grid-register.d.ts.map +1 -1
- package/dist/dts/workspace/grid-register/grid-register.template.d.ts +1 -1
- package/dist/dts/workspace/grid-register/grid-register.template.d.ts.map +1 -1
- package/dist/dts/workspace/grid-registry.d.ts +11 -11
- package/dist/dts/workspace/grid-registry.d.ts.map +1 -1
- package/dist/dts/workspace/layout-registry.d.ts +2 -1
- package/dist/dts/workspace/layout-registry.d.ts.map +1 -1
- package/dist/dts/workspace/layout-wrapper/layout-wrapper.d.ts +4 -2
- package/dist/dts/workspace/layout-wrapper/layout-wrapper.d.ts.map +1 -1
- package/dist/dts/workspace/layout-wrapper/layout-wrapper.template.d.ts +1 -1
- package/dist/dts/workspace/layout-wrapper/layout-wrapper.template.d.ts.map +1 -1
- package/dist/dts/workspace/workspace.types.d.ts +2 -1
- package/dist/dts/workspace/workspace.types.d.ts.map +1 -1
- package/dist/dts/workspace-components.d.ts +1 -1
- package/dist/dts/workspace-components.d.ts.map +1 -1
- package/dist/dts/workspace-manager/workspace-manager.d.ts +2 -1
- package/dist/dts/workspace-manager/workspace-manager.d.ts.map +1 -1
- package/dist/dts/workspace-manager/workspace-manager.styles.d.ts.map +1 -1
- package/dist/dts/workspace-manager/workspace-manager.template.d.ts +5 -1
- package/dist/dts/workspace-manager/workspace-manager.template.d.ts.map +1 -1
- package/dist/esm/workspace/filter-registry.js +1 -1
- package/dist/esm/workspace/grid-register/grid-register.js +20 -16
- package/dist/esm/workspace/grid-register/grid-register.template.js +1 -1
- package/dist/esm/workspace/grid-registry.js +21 -10
- package/dist/esm/workspace/layout-registry.js +5 -2
- package/dist/esm/workspace/layout-wrapper/layout-wrapper.js +13 -6
- package/dist/esm/workspace/layout-wrapper/layout-wrapper.template.js +1 -1
- package/dist/esm/workspace/workspace-state.js +1 -1
- package/dist/esm/workspace-manager/workspace-manager.js +38 -5
- package/dist/esm/workspace-manager/workspace-manager.styles.js +2 -25
- package/dist/esm/workspace-manager/workspace-manager.template.js +26 -14
- package/dist/foundation-workspace.api.json +74 -8
- package/dist/foundation-workspace.d.ts +14 -10
- package/package.json +16 -17
- package/src/workspace/filter-registry.ts +1 -1
- package/src/workspace/grid-register/grid-register.template.ts +1 -2
- package/src/workspace/grid-register/grid-register.ts +20 -18
- package/src/workspace/grid-registry.ts +35 -21
- package/src/workspace/layout-registry.ts +11 -6
- package/src/workspace/layout-wrapper/layout-wrapper.template.ts +1 -2
- package/src/workspace/layout-wrapper/layout-wrapper.ts +15 -10
- package/src/workspace/workspace-state.ts +1 -1
- package/src/workspace/workspace.types.ts +3 -1
- package/src/workspace-components.ts +1 -1
- package/src/workspace-manager/workspace-manager.styles.ts +2 -25
- package/src/workspace-manager/workspace-manager.template.ts +32 -14
- package/src/workspace-manager/workspace-manager.ts +38 -5
- package/docs/.gitkeep +0 -1
- package/docs/api/foundation-workspace.defaultfilterregistry.md +0 -17
- package/docs/api/foundation-workspace.defaultgridregistry.md +0 -17
- package/docs/api/foundation-workspace.defaultlayoutregistry.md +0 -18
- package/docs/api/foundation-workspace.defaultworkspacestate._constructor_.md +0 -65
- package/docs/api/foundation-workspace.defaultworkspacestate.auth.md +0 -14
- package/docs/api/foundation-workspace.defaultworkspacestate.kvstorage.md +0 -14
- package/docs/api/foundation-workspace.defaultworkspacestate.md +0 -115
- package/docs/api/foundation-workspace.filterregistration.filterkey.md +0 -14
- package/docs/api/foundation-workspace.filterregistration.getfiltervalue.md +0 -14
- package/docs/api/foundation-workspace.filterregistration.md +0 -98
- package/docs/api/foundation-workspace.filterregistration.setfiltervalue.md +0 -14
- package/docs/api/foundation-workspace.filterregistry.applyfiltersvalues.md +0 -53
- package/docs/api/foundation-workspace.filterregistry.getallfiltersvalues.md +0 -18
- package/docs/api/foundation-workspace.filterregistry.md +0 -16
- package/docs/api/foundation-workspace.filterregistry.registerfilter.md +0 -81
- package/docs/api/foundation-workspace.filterregistry.unregisterfilter.md +0 -53
- package/docs/api/foundation-workspace.gridregister.gridkey.md +0 -14
- package/docs/api/foundation-workspace.gridregister.gridregistry.md +0 -14
- package/docs/api/foundation-workspace.gridregister.md +0 -100
- package/docs/api/foundation-workspace.gridregister.workspacestate.md +0 -14
- package/docs/api/foundation-workspace.gridregistration.columnapi.md +0 -14
- package/docs/api/foundation-workspace.gridregistration.gridapi.md +0 -14
- package/docs/api/foundation-workspace.gridregistration.gridkey.md +0 -14
- package/docs/api/foundation-workspace.gridregistration.md +0 -98
- package/docs/api/foundation-workspace.gridregistry.applyallgridssettings.md +0 -53
- package/docs/api/foundation-workspace.gridregistry.applygridsettings.md +0 -72
- package/docs/api/foundation-workspace.gridregistry.getallgridssettings.md +0 -18
- package/docs/api/foundation-workspace.gridregistry.getgrid.md +0 -53
- package/docs/api/foundation-workspace.gridregistry.md +0 -16
- package/docs/api/foundation-workspace.gridregistry.registergrid.md +0 -81
- package/docs/api/foundation-workspace.gridregistry.unregistergrid.md +0 -53
- package/docs/api/foundation-workspace.layoutregistry.applysavedlayouts.md +0 -53
- package/docs/api/foundation-workspace.layoutregistry.getlayoutsconfigs.md +0 -18
- package/docs/api/foundation-workspace.layoutregistry.md +0 -16
- package/docs/api/foundation-workspace.layoutregistry.registerlayout.md +0 -67
- package/docs/api/foundation-workspace.layoutregistry.unregisterlayout.md +0 -53
- package/docs/api/foundation-workspace.layoutwrapper.layoutkey.md +0 -14
- package/docs/api/foundation-workspace.layoutwrapper.layoutregistry.md +0 -14
- package/docs/api/foundation-workspace.layoutwrapper.md +0 -81
- package/docs/api/foundation-workspace.loadmode.md +0 -16
- package/docs/api/foundation-workspace.md +0 -332
- package/docs/api/foundation-workspace.savedfiltervalue.filterkey.md +0 -14
- package/docs/api/foundation-workspace.savedfiltervalue.md +0 -79
- package/docs/api/foundation-workspace.savedfiltervalue.value.md +0 -14
- package/docs/api/foundation-workspace.savedgridsettings.columnstate.md +0 -14
- package/docs/api/foundation-workspace.savedgridsettings.gridkey.md +0 -14
- package/docs/api/foundation-workspace.savedgridsettings.md +0 -99
- package/docs/api/foundation-workspace.savedgridsettings.savedat.md +0 -14
- package/docs/api/foundation-workspace.savedlayout.layout.md +0 -14
- package/docs/api/foundation-workspace.savedlayout.layoutkey.md +0 -14
- package/docs/api/foundation-workspace.savedlayout.md +0 -79
- package/docs/api/foundation-workspace.savedworkspace.description.md +0 -14
- package/docs/api/foundation-workspace.savedworkspace.filters.md +0 -14
- package/docs/api/foundation-workspace.savedworkspace.grids.md +0 -14
- package/docs/api/foundation-workspace.savedworkspace.layouts.md +0 -14
- package/docs/api/foundation-workspace.savedworkspace.md +0 -174
- package/docs/api/foundation-workspace.savedworkspace.name.md +0 -14
- package/docs/api/foundation-workspace.savedworkspace.savedat.md +0 -14
- package/docs/api/foundation-workspace.savedworkspace.username.md +0 -14
- package/docs/api/foundation-workspace.sharedworkspace.createdon.md +0 -14
- package/docs/api/foundation-workspace.sharedworkspace.data.md +0 -14
- package/docs/api/foundation-workspace.sharedworkspace.description.md +0 -14
- package/docs/api/foundation-workspace.sharedworkspace.id.md +0 -14
- package/docs/api/foundation-workspace.sharedworkspace.md +0 -174
- package/docs/api/foundation-workspace.sharedworkspace.modifiedon.md +0 -14
- package/docs/api/foundation-workspace.sharedworkspace.name.md +0 -14
- package/docs/api/foundation-workspace.sharedworkspace.username.md +0 -14
- package/docs/api/foundation-workspace.workspacecomponents.md +0 -29
- package/docs/api/foundation-workspace.workspacemanager.applyingworkspace.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.auth.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.canshareworkspace.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.connect.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.dialogboundary.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.filterregistry.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.gridregistry.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.isloading.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.layoutregistry.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.loadmodal.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.loadmode.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.md +0 -442
- package/docs/api/foundation-workspace.workspacemanager.savedworkspaces.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.savemodal.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.savemode.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.selectedworkspacetooverwrite.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.sharedworkspacedialogboundary.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.sharedworkspaces.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.workspacedescription.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.workspacename.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.workspacestate.md +0 -14
- package/docs/api/foundation-workspace.workspacemanager.workspacetoshare.md +0 -14
- package/docs/api/foundation-workspace.workspacestate.deleteworkspace.md +0 -53
- package/docs/api/foundation-workspace.workspacestate.getcurrentworkspace.md +0 -18
- package/docs/api/foundation-workspace.workspacestate.getsavedworkspaces.md +0 -18
- package/docs/api/foundation-workspace.workspacestate.loadworkspace.md +0 -53
- package/docs/api/foundation-workspace.workspacestate.md +0 -16
- package/docs/api/foundation-workspace.workspacestate.saveworkspace.md +0 -111
- package/docs/api/foundation-workspace.workspacestate.setcurrentworkspace.md +0 -53
- package/docs/api/index.md +0 -30
- package/docs/api-report.md.api.md +0 -372
- 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 '@
|
|
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
|
-
|
|
57
|
-
|
|
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.
|
|
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 '@
|
|
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 '@
|
|
2
|
+
import { html, ref, repeat, when } from '@genesislcap/web-core';
|
|
3
3
|
export const WORKSPACE_DESCRIPTION_MAX = 200;
|
|
4
|
-
export const
|
|
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((
|
|
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
|
-
<
|
|
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
|
-
></
|
|
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
|
-
<
|
|
79
|
-
class="save-field
|
|
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
|
-
></
|
|
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((
|
|
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
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
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((
|
|
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": "
|
|
809
|
-
"canonicalReference": "!
|
|
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": "
|
|
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":
|
|
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": "
|
|
1668
|
-
"canonicalReference": "!
|
|
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": "
|
|
1972
|
-
"text": "
|
|
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 '@
|
|
5
|
-
import { FoundationElement } from '@
|
|
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):
|
|
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
|
|
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:
|
|
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
|
|
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):
|
|
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
|
|
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:
|
|
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.
|
|
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.
|
|
41
|
-
"@genesislcap/genx": "14.
|
|
42
|
-
"@genesislcap/rollup-builder": "14.
|
|
43
|
-
"@genesislcap/ts-builder": "14.
|
|
44
|
-
"@genesislcap/uvu-playwright-builder": "14.
|
|
45
|
-
"@genesislcap/vite-builder": "14.
|
|
46
|
-
"@genesislcap/webpack-builder": "14.
|
|
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.
|
|
51
|
-
"@genesislcap/foundation-
|
|
52
|
-
"@genesislcap/foundation-
|
|
53
|
-
"@genesislcap/foundation-
|
|
54
|
-
"@genesislcap/
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
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": "
|
|
67
|
+
"gitHead": "f0f06261f9263da766433fa02f4c011c3391e3c4"
|
|
69
68
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { html } from '@
|
|
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`
|