@design.estate/dees-catalog 10.0.0 → 11.0.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_bundle/bundle.js +839 -771
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +62 -48
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +89 -51
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +528 -662
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.d.ts +45 -6
- package/dist_ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.js +184 -27
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +55 -20
- package/dist_ts_web/services/DeesServiceLibLoader.d.ts +7 -0
- package/dist_ts_web/services/DeesServiceLibLoader.js +45 -22
- package/package.json +1 -2
- package/readme.md +34 -14
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +99 -49
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +607 -752
- package/ts_web/elements/00group-harness/dees-terminal-view/dees-terminal-view.ts +196 -24
- package/ts_web/elements/00group-harness/interfaces.ts +59 -19
- package/ts_web/services/DeesServiceLibLoader.ts +150 -102
- package/.smartconfig.json +0 -86
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '
|
|
6
|
+
version: '11.0.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
|
|
@@ -1,31 +1,33 @@
|
|
|
1
1
|
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
-
import type { IHarnessResourceAssociation, IHarnessResourceMeta, IHarnessSessionGroup, IHarnessSessionMeta, THarnessResourceAssociationInteractionSource } from '../interfaces.js';
|
|
2
|
+
import type { IDropSlot, IHarnessResourceAssociation, IHarnessResourceMeta, IHarnessSessionGroup, IHarnessSessionListItemRef, IHarnessSessionMeta, THarnessResourceAssociationInteractionSource } from '../interfaces.js';
|
|
3
3
|
import '../../00group-utility/dees-icon/dees-icon.js';
|
|
4
4
|
declare global {
|
|
5
5
|
interface HTMLElementTagNameMap {
|
|
6
6
|
'dees-harness-session-list': DeesHarnessSessionList;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
interface IDropSlot {
|
|
10
|
-
groupId: string | null;
|
|
11
|
-
index: number;
|
|
12
|
-
}
|
|
13
9
|
/**
|
|
14
10
|
* Searchable conversation list, embeddable in a sidebar or a DeesModal.
|
|
15
11
|
* Emits `harness-session-select` on click, `harness-session-open` on
|
|
16
12
|
* double-click or Enter, and `harness-session-context` with viewport
|
|
17
13
|
* coordinates on right-click, Actions, or ContextMenu/Shift+F10.
|
|
18
14
|
*
|
|
19
|
-
*
|
|
20
|
-
* be dragged
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* `harness-
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
15
|
+
* Sessions and host resources are peers in ONE ordered list: a resource row
|
|
16
|
+
* can be dragged anywhere a session can, including between sessions and into
|
|
17
|
+
* or out of groups. Attaching a resource to a session is a separate explicit
|
|
18
|
+
* host action (`requestResourceAssociation()` /
|
|
19
|
+
* `harness-resource-association-request`) that never moves a row; the
|
|
20
|
+
* association only renders as a marker on the resource row.
|
|
21
|
+
*
|
|
22
|
+
* The component never mutates its inputs: reordering emits `harness-item-move`,
|
|
23
|
+
* the "new group" button emits `harness-group-create-request`, and
|
|
24
|
+
* right-clicking a group header emits `harness-group-context` — the host
|
|
25
|
+
* persists changes and passes fresh `groups` / `ungroupedItemIds` back in.
|
|
26
|
+
* Items in no group render in the trailing ungrouped section with pinned
|
|
27
|
+
* entries first, then explicit order, then new entries by recency. With
|
|
28
|
+
* `enableGrouping` the list additionally renders group chrome. While a search
|
|
29
|
+
* query is active the list is one flat, non-sortable, recency-ordered section
|
|
30
|
+
* in which sessions and resources match as peers.
|
|
29
31
|
*/
|
|
30
32
|
export declare class DeesHarnessSessionList extends DeesElement {
|
|
31
33
|
static demo: () => TemplateResult<1>;
|
|
@@ -36,17 +38,18 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
36
38
|
accessor emptyText: string;
|
|
37
39
|
accessor groups: IHarnessSessionGroup[];
|
|
38
40
|
accessor enableGrouping: boolean;
|
|
39
|
-
/** Explicit order for sortable
|
|
40
|
-
accessor
|
|
41
|
+
/** Explicit order for sortable items of both kinds outside user-defined groups. */
|
|
42
|
+
accessor ungroupedItemIds: IHarnessSessionListItemRef[];
|
|
41
43
|
accessor resources: IHarnessResourceMeta[];
|
|
42
44
|
accessor resourceAssociations: IHarnessResourceAssociation[];
|
|
43
45
|
accessor selectedResourceId: string;
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Serializable attach/reassign targets for host menus. A missing entry leaves
|
|
48
|
+
* the resource unrestricted; an empty array means no eligible target.
|
|
49
|
+
*/
|
|
50
|
+
accessor eligibleTargetsByResourceId: Record<string, IHarnessSessionListItemRef[]>;
|
|
46
51
|
accessor search: string;
|
|
47
|
-
accessor
|
|
48
|
-
accessor draggingResourceId: string;
|
|
49
|
-
accessor resourceDropTargetSessionId: string;
|
|
52
|
+
accessor draggingItem: IHarnessSessionListItemRef | undefined;
|
|
50
53
|
accessor dropSlot: IDropSlot | undefined;
|
|
51
54
|
accessor draggedItemHeight: number;
|
|
52
55
|
accessor expandedSessionIds: ReadonlySet<string>;
|
|
@@ -72,32 +75,47 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
72
75
|
private dragAutoScrollVelocity;
|
|
73
76
|
private dragAutoScrollLastFrame;
|
|
74
77
|
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
75
|
-
private get sessionsById();
|
|
76
78
|
private get resourcesById();
|
|
77
|
-
/**
|
|
79
|
+
/**
|
|
80
|
+
* First valid record wins; unknown records, self-references and duplicates
|
|
81
|
+
* remain untouched but are not projected. Keyed by resource id.
|
|
82
|
+
*/
|
|
78
83
|
private get acceptedResourceAssociations();
|
|
79
84
|
private get acceptedResources();
|
|
85
|
+
/** Sessions and resources as one pool of orderable items, before grouping and search. */
|
|
86
|
+
private get acceptedItems();
|
|
87
|
+
private get itemsByKey();
|
|
88
|
+
/** Groups only organize the list while grouping is enabled. */
|
|
89
|
+
private get effectiveGroups();
|
|
90
|
+
private get groupedItemKeys();
|
|
91
|
+
private itemsForGroup;
|
|
92
|
+
/** Pinned entries first, then explicitly ordered items, then unknown items by recency. */
|
|
93
|
+
private get ungroupedItems();
|
|
80
94
|
private resourceMatchesSearch;
|
|
81
95
|
private sessionMatchesSearch;
|
|
82
|
-
private
|
|
83
|
-
|
|
84
|
-
private get
|
|
85
|
-
|
|
86
|
-
private
|
|
87
|
-
private
|
|
96
|
+
private itemMatchesSearch;
|
|
97
|
+
/** Search flattens the list: sessions and resources match as peers, newest first. */
|
|
98
|
+
private get searchItems();
|
|
99
|
+
private get searchActive();
|
|
100
|
+
private sortableItems;
|
|
101
|
+
private groupIdForItem;
|
|
102
|
+
private rowElementFor;
|
|
88
103
|
focusSearch(): void;
|
|
89
|
-
requestResourceAssociation(resourceIdArg: string,
|
|
104
|
+
requestResourceAssociation(resourceIdArg: string, toTargetArg: IHarnessSessionListItemRef | null, sourceArg?: THarnessResourceAssociationInteractionSource): boolean;
|
|
90
105
|
updated(changedProperties: Map<PropertyKey, unknown>): void;
|
|
91
106
|
connectedCallback(): Promise<void>;
|
|
92
107
|
disconnectedCallback(): Promise<void>;
|
|
93
108
|
render(): TemplateResult;
|
|
94
|
-
private
|
|
95
|
-
private
|
|
109
|
+
private renderEmptyNote;
|
|
110
|
+
private renderSearchList;
|
|
111
|
+
private renderOrderedList;
|
|
112
|
+
private renderGroup;
|
|
96
113
|
private renderSection;
|
|
97
114
|
private renderDropPlaceholder;
|
|
98
|
-
|
|
99
|
-
private
|
|
100
|
-
private
|
|
115
|
+
/** One grip for both kinds; only its size and extra class differ. */
|
|
116
|
+
private renderDragHandle;
|
|
117
|
+
private renderSessionItem;
|
|
118
|
+
private renderResourceItem;
|
|
101
119
|
private invokeSessionContext;
|
|
102
120
|
private handleSessionContextKey;
|
|
103
121
|
private eventTargetsSessionActions;
|
|
@@ -109,10 +127,7 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
109
127
|
private sessionStateIcon;
|
|
110
128
|
private toggleSessionExpanded;
|
|
111
129
|
private toggleGroupCollapsed;
|
|
112
|
-
private sortableSessions;
|
|
113
|
-
private sessionsForGroup;
|
|
114
130
|
private handlePointerDown;
|
|
115
|
-
private handleResourcePointerDown;
|
|
116
131
|
private readonly handlePointerMove;
|
|
117
132
|
private readonly handlePointerUp;
|
|
118
133
|
private readonly handlePointerCancel;
|
|
@@ -120,10 +135,7 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
120
135
|
private readonly handleDragKeyDown;
|
|
121
136
|
private readonly handleDragWindowBlur;
|
|
122
137
|
private startPointerDrag;
|
|
123
|
-
private startResourcePointerDrag;
|
|
124
138
|
private moveDragPreview;
|
|
125
|
-
private moveResourceDragPreview;
|
|
126
|
-
private updateResourceDropTargetFromPointer;
|
|
127
139
|
private setDropSlot;
|
|
128
140
|
private clearDropSlot;
|
|
129
141
|
private updateDragAutoScrollVelocity;
|
|
@@ -134,12 +146,16 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
134
146
|
private readonly syncScrollShadowState;
|
|
135
147
|
private stopDragAutoScroll;
|
|
136
148
|
private createMoveDetail;
|
|
149
|
+
private emitItemMove;
|
|
137
150
|
private handleKeyboardMove;
|
|
138
|
-
private
|
|
151
|
+
private rowKey;
|
|
152
|
+
private captureRowRects;
|
|
139
153
|
private restoreKeyboardMoveFocus;
|
|
140
|
-
|
|
141
|
-
private
|
|
154
|
+
/** Known, de-duplicated targets the host allows; an absent entry means unrestricted. */
|
|
155
|
+
private eligibleTargets;
|
|
142
156
|
private isResourceTargetEligible;
|
|
157
|
+
private itemTitleFor;
|
|
158
|
+
private emitSession;
|
|
143
159
|
private emitResource;
|
|
144
160
|
private handleResourceContextKey;
|
|
145
161
|
private emitResourceContext;
|
|
@@ -147,9 +163,7 @@ export declare class DeesHarnessSessionList extends DeesElement {
|
|
|
147
163
|
private clearResourceContextState;
|
|
148
164
|
private reconcilePendingResourceAssociation;
|
|
149
165
|
private resourceAssociationAnnouncement;
|
|
150
|
-
private
|
|
166
|
+
private animateRowReflow;
|
|
151
167
|
private cancelReflowAnimations;
|
|
152
168
|
private finishPointerDrag;
|
|
153
|
-
private emit;
|
|
154
169
|
}
|
|
155
|
-
export {};
|
|
@@ -66,10 +66,32 @@ const demoSessions = () => [
|
|
|
66
66
|
statusLabel: stages[session.stage].label,
|
|
67
67
|
preview: stages[session.stage].description,
|
|
68
68
|
}));
|
|
69
|
+
// Resources are peers of sessions: `terminal:build` sits in Workspace while it
|
|
70
|
+
// stays attached to a session in Recent.
|
|
69
71
|
const demoGroups = [
|
|
70
|
-
{
|
|
71
|
-
|
|
72
|
+
{
|
|
73
|
+
id: 'active',
|
|
74
|
+
name: 'Workspace',
|
|
75
|
+
itemIds: [
|
|
76
|
+
{ kind: 'session', id: 'session-0' },
|
|
77
|
+
{ kind: 'resource', id: 'terminal:build' },
|
|
78
|
+
{ kind: 'session', id: 'session-1' },
|
|
79
|
+
{ kind: 'session', id: 'session-2' },
|
|
80
|
+
{ kind: 'session', id: 'session-6' },
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: 'review',
|
|
85
|
+
name: 'Recent',
|
|
86
|
+
itemIds: [
|
|
87
|
+
{ kind: 'session', id: 'session-3' },
|
|
88
|
+
{ kind: 'session', id: 'session-5' },
|
|
89
|
+
{ kind: 'session', id: 'session-4' },
|
|
90
|
+
],
|
|
91
|
+
},
|
|
72
92
|
];
|
|
93
|
+
const cloneGroups = (groupsArg) => groupsArg.map((group) => ({ ...group, itemIds: group.itemIds.map((ref) => ({ ...ref })) }));
|
|
94
|
+
const sameRef = (leftArg, rightArg) => leftArg.kind === rightArg.kind && leftArg.id === rightArg.id;
|
|
73
95
|
const demoResources = [
|
|
74
96
|
{
|
|
75
97
|
id: 'terminal:build',
|
|
@@ -97,35 +119,47 @@ const demoResources = [
|
|
|
97
119
|
updatedAt: Date.now() - 240_000,
|
|
98
120
|
},
|
|
99
121
|
];
|
|
122
|
+
// An association targets any other item: a session, or a resource such as a terminal.
|
|
100
123
|
const demoResourceAssociations = [
|
|
101
|
-
{ resourceId: 'terminal:build',
|
|
102
|
-
{ resourceId: 'file:release-notes',
|
|
124
|
+
{ resourceId: 'terminal:build', target: { kind: 'session', id: 'session-4' } },
|
|
125
|
+
{ resourceId: 'file:release-notes', target: { kind: 'resource', id: 'terminal:build' } },
|
|
126
|
+
];
|
|
127
|
+
const demoEligibleSessionTargets = [
|
|
128
|
+
{ kind: 'session', id: 'session-0' },
|
|
129
|
+
{ kind: 'session', id: 'session-1' },
|
|
130
|
+
{ kind: 'session', id: 'session-2' },
|
|
131
|
+
{ kind: 'session', id: 'session-4' },
|
|
103
132
|
];
|
|
104
|
-
const
|
|
133
|
+
const demoResourceEligibleTargets = Object.fromEntries(demoResources.map((resource) => [
|
|
134
|
+
resource.id,
|
|
135
|
+
resource.kind === 'terminal'
|
|
136
|
+
? demoEligibleSessionTargets
|
|
137
|
+
: [...demoEligibleSessionTargets, { kind: 'resource', id: 'terminal:build' }],
|
|
138
|
+
]));
|
|
105
139
|
const handleSessionSelect = (event) => {
|
|
106
140
|
const list = event.currentTarget;
|
|
107
141
|
list.selectedSessionId = event.detail.session.id;
|
|
108
142
|
};
|
|
109
|
-
const
|
|
143
|
+
const handleItemMove = (event) => {
|
|
110
144
|
const list = event.currentTarget;
|
|
111
|
-
|
|
145
|
+
applyItemMove(list, event.detail);
|
|
112
146
|
};
|
|
113
|
-
const
|
|
114
|
-
const {
|
|
147
|
+
const applyItemMove = (list, moveArg) => {
|
|
148
|
+
const { item, toGroupId, beforeItem } = moveArg;
|
|
115
149
|
const groups = list.groups.map((group) => ({
|
|
116
150
|
...group,
|
|
117
|
-
|
|
151
|
+
itemIds: group.itemIds.filter((ref) => !sameRef(ref, item)),
|
|
118
152
|
}));
|
|
119
|
-
const
|
|
120
|
-
const targetIds =
|
|
121
|
-
?
|
|
122
|
-
: groups.find((group) => group.id ===
|
|
153
|
+
const ungroupedItemIds = list.ungroupedItemIds.filter((ref) => !sameRef(ref, item));
|
|
154
|
+
const targetIds = toGroupId === null
|
|
155
|
+
? ungroupedItemIds
|
|
156
|
+
: groups.find((group) => group.id === toGroupId)?.itemIds;
|
|
123
157
|
if (!targetIds)
|
|
124
158
|
return;
|
|
125
|
-
const anchorIndex =
|
|
126
|
-
targetIds.splice(anchorIndex >= 0 ? anchorIndex : targetIds.length, 0,
|
|
159
|
+
const anchorIndex = beforeItem ? targetIds.findIndex((ref) => sameRef(ref, beforeItem)) : -1;
|
|
160
|
+
targetIds.splice(anchorIndex >= 0 ? anchorIndex : targetIds.length, 0, { ...item });
|
|
127
161
|
list.groups = groups;
|
|
128
|
-
list.
|
|
162
|
+
list.ungroupedItemIds = ungroupedItemIds;
|
|
129
163
|
};
|
|
130
164
|
const handleSessionOpen = (event) => {
|
|
131
165
|
const list = event.currentTarget;
|
|
@@ -136,7 +170,8 @@ const handleSessionContext = async (event, onChange = () => { }) => {
|
|
|
136
170
|
const list = event.currentTarget;
|
|
137
171
|
const { session, originalEvent } = event.detail;
|
|
138
172
|
const invokingControl = originalEvent.composedPath().find((target) => target instanceof HTMLButtonElement);
|
|
139
|
-
const
|
|
173
|
+
const sessionRef = { kind: 'session', id: session.id };
|
|
174
|
+
const currentGroup = list.groups.find((group) => group.itemIds.some((ref) => sameRef(ref, sessionRef)));
|
|
140
175
|
// Capture dialog ownership before event dispatch ends: no await before opening.
|
|
141
176
|
const menu = await DeesContextmenu.openContextMenuWithOptions(originalEvent, [
|
|
142
177
|
{
|
|
@@ -154,7 +189,7 @@ const handleSessionContext = async (event, onChange = () => { }) => {
|
|
|
154
189
|
...list.groups.filter((group) => group.id !== currentGroup?.id).map((group) => ({
|
|
155
190
|
name: `Move to ${group.name}`, iconName: 'lucide:FolderInput',
|
|
156
191
|
action: async () => {
|
|
157
|
-
|
|
192
|
+
applyItemMove(list, { item: sessionRef, toGroupId: group.id, beforeItem: null });
|
|
158
193
|
onChange();
|
|
159
194
|
showDemoResult(list, `Moved “${session.title}” to ${group.name}.`);
|
|
160
195
|
},
|
|
@@ -162,7 +197,7 @@ const handleSessionContext = async (event, onChange = () => { }) => {
|
|
|
162
197
|
...(currentGroup ? [{
|
|
163
198
|
name: 'Move to Ungrouped', iconName: 'lucide:FolderInput',
|
|
164
199
|
action: async () => {
|
|
165
|
-
|
|
200
|
+
applyItemMove(list, { item: sessionRef, toGroupId: null, beforeItem: null });
|
|
166
201
|
onChange();
|
|
167
202
|
showDemoResult(list, `Moved “${session.title}” to Ungrouped.`);
|
|
168
203
|
},
|
|
@@ -180,33 +215,36 @@ const handleSessionContext = async (event, onChange = () => { }) => {
|
|
|
180
215
|
const handleResourceAssociation = (event) => {
|
|
181
216
|
const list = event.currentTarget;
|
|
182
217
|
const next = list.resourceAssociations.filter((association) => association.resourceId !== event.detail.resource.id);
|
|
183
|
-
if (event.detail.
|
|
218
|
+
if (event.detail.toTarget) {
|
|
184
219
|
next.push({
|
|
185
220
|
resourceId: event.detail.resource.id,
|
|
186
|
-
|
|
221
|
+
target: { ...event.detail.toTarget },
|
|
187
222
|
});
|
|
188
223
|
}
|
|
189
224
|
list.resourceAssociations = next;
|
|
190
225
|
};
|
|
191
226
|
const handleResourceContext = async (event) => {
|
|
192
227
|
const list = event.currentTarget;
|
|
193
|
-
const
|
|
194
|
-
const
|
|
228
|
+
const currentTarget = event.detail.target;
|
|
229
|
+
const eligibleTargets = list.eligibleTargetsByResourceId[event.detail.resource.id] ?? [];
|
|
230
|
+
const titleFor = (refArg) => (refArg.kind === 'session'
|
|
231
|
+
? list.sessions.find((session) => session.id === refArg.id)?.title
|
|
232
|
+
: list.resources.find((resource) => resource.id === refArg.id)?.title) ?? refArg.id;
|
|
195
233
|
const menu = await DeesContextmenu.openContextMenuWithOptions(new MouseEvent('contextmenu', {
|
|
196
234
|
clientX: event.detail.clientX,
|
|
197
235
|
clientY: event.detail.clientY,
|
|
198
236
|
}), [
|
|
199
|
-
...
|
|
200
|
-
.filter((
|
|
201
|
-
.map((
|
|
202
|
-
name: `${
|
|
237
|
+
...eligibleTargets
|
|
238
|
+
.filter((target) => !currentTarget || !sameRef(target, currentTarget))
|
|
239
|
+
.map((target) => ({
|
|
240
|
+
name: `${currentTarget ? 'Reassign' : 'Attach'} to ${titleFor(target)}`,
|
|
203
241
|
iconName: 'lucide:Link',
|
|
204
242
|
action: async () => {
|
|
205
|
-
event.detail.requestAssociation(
|
|
243
|
+
event.detail.requestAssociation(target);
|
|
206
244
|
event.detail.close();
|
|
207
245
|
},
|
|
208
246
|
})),
|
|
209
|
-
...(
|
|
247
|
+
...(currentTarget
|
|
210
248
|
? [{
|
|
211
249
|
name: 'Detach',
|
|
212
250
|
iconName: 'lucide:Unlink',
|
|
@@ -230,7 +268,7 @@ const openModal = async (sessions, groups) => {
|
|
|
230
268
|
const content = document.createElement('dees-harness-session-list');
|
|
231
269
|
content.sessions = sessions;
|
|
232
270
|
content.groups = groups;
|
|
233
|
-
content.
|
|
271
|
+
content.ungroupedItemIds = [];
|
|
234
272
|
content.enableGrouping = true;
|
|
235
273
|
content.style.height = '420px';
|
|
236
274
|
content.addEventListener('harness-session-select', handleSessionSelect);
|
|
@@ -238,7 +276,7 @@ const openModal = async (sessions, groups) => {
|
|
|
238
276
|
content.addEventListener('harness-session-context', (event) => {
|
|
239
277
|
void handleSessionContext(event);
|
|
240
278
|
});
|
|
241
|
-
content.addEventListener('harness-
|
|
279
|
+
content.addEventListener('harness-item-move', handleItemMove);
|
|
242
280
|
DeesModal.createAndShow({
|
|
243
281
|
heading: 'Conversations',
|
|
244
282
|
content: html `<style>${demoStyles}</style><div class="dees-demo-stack">${content}${demoOutput('Choose a conversation action.')}</div>`,
|
|
@@ -260,9 +298,9 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
260
298
|
let _groups_decorators;
|
|
261
299
|
let _groups_initializers = [];
|
|
262
300
|
let _groups_extraInitializers = [];
|
|
263
|
-
let
|
|
264
|
-
let
|
|
265
|
-
let
|
|
301
|
+
let _ungroupedItemIds_decorators;
|
|
302
|
+
let _ungroupedItemIds_initializers = [];
|
|
303
|
+
let _ungroupedItemIds_extraInitializers = [];
|
|
266
304
|
let _associations_decorators;
|
|
267
305
|
let _associations_initializers = [];
|
|
268
306
|
let _associations_extraInitializers = [];
|
|
@@ -279,14 +317,14 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
279
317
|
_sessions_decorators = [state()];
|
|
280
318
|
_selectedSessionId_decorators = [state()];
|
|
281
319
|
_groups_decorators = [state()];
|
|
282
|
-
|
|
320
|
+
_ungroupedItemIds_decorators = [state()];
|
|
283
321
|
_associations_decorators = [state()];
|
|
284
322
|
_notice_decorators = [state()];
|
|
285
323
|
_showDetails_decorators = [state()];
|
|
286
324
|
__esDecorate(this, null, _sessions_decorators, { kind: "accessor", name: "sessions", static: false, private: false, access: { has: obj => "sessions" in obj, get: obj => obj.sessions, set: (obj, value) => { obj.sessions = value; } }, metadata: _metadata }, _sessions_initializers, _sessions_extraInitializers);
|
|
287
325
|
__esDecorate(this, null, _selectedSessionId_decorators, { kind: "accessor", name: "selectedSessionId", static: false, private: false, access: { has: obj => "selectedSessionId" in obj, get: obj => obj.selectedSessionId, set: (obj, value) => { obj.selectedSessionId = value; } }, metadata: _metadata }, _selectedSessionId_initializers, _selectedSessionId_extraInitializers);
|
|
288
326
|
__esDecorate(this, null, _groups_decorators, { kind: "accessor", name: "groups", static: false, private: false, access: { has: obj => "groups" in obj, get: obj => obj.groups, set: (obj, value) => { obj.groups = value; } }, metadata: _metadata }, _groups_initializers, _groups_extraInitializers);
|
|
289
|
-
__esDecorate(this, null,
|
|
327
|
+
__esDecorate(this, null, _ungroupedItemIds_decorators, { kind: "accessor", name: "ungroupedItemIds", static: false, private: false, access: { has: obj => "ungroupedItemIds" in obj, get: obj => obj.ungroupedItemIds, set: (obj, value) => { obj.ungroupedItemIds = value; } }, metadata: _metadata }, _ungroupedItemIds_initializers, _ungroupedItemIds_extraInitializers);
|
|
290
328
|
__esDecorate(this, null, _associations_decorators, { kind: "accessor", name: "associations", static: false, private: false, access: { has: obj => "associations" in obj, get: obj => obj.associations, set: (obj, value) => { obj.associations = value; } }, metadata: _metadata }, _associations_initializers, _associations_extraInitializers);
|
|
291
329
|
__esDecorate(this, null, _notice_decorators, { kind: "accessor", name: "notice", static: false, private: false, access: { has: obj => "notice" in obj, get: obj => obj.notice, set: (obj, value) => { obj.notice = value; } }, metadata: _metadata }, _notice_initializers, _notice_extraInitializers);
|
|
292
330
|
__esDecorate(this, null, _showDetails_decorators, { kind: "accessor", name: "showDetails", static: false, private: false, access: { has: obj => "showDetails" in obj, get: obj => obj.showDetails, set: (obj, value) => { obj.showDetails = value; } }, metadata: _metadata }, _showDetails_initializers, _showDetails_extraInitializers);
|
|
@@ -300,13 +338,13 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
300
338
|
#selectedSessionId_accessor_storage = (__runInitializers(this, _sessions_extraInitializers), __runInitializers(this, _selectedSessionId_initializers, 'session-0'));
|
|
301
339
|
get selectedSessionId() { return this.#selectedSessionId_accessor_storage; }
|
|
302
340
|
set selectedSessionId(value) { this.#selectedSessionId_accessor_storage = value; }
|
|
303
|
-
#groups_accessor_storage = (__runInitializers(this, _selectedSessionId_extraInitializers), __runInitializers(this, _groups_initializers, demoGroups
|
|
341
|
+
#groups_accessor_storage = (__runInitializers(this, _selectedSessionId_extraInitializers), __runInitializers(this, _groups_initializers, cloneGroups(demoGroups)));
|
|
304
342
|
get groups() { return this.#groups_accessor_storage; }
|
|
305
343
|
set groups(value) { this.#groups_accessor_storage = value; }
|
|
306
|
-
#
|
|
307
|
-
get
|
|
308
|
-
set
|
|
309
|
-
#associations_accessor_storage = (__runInitializers(this,
|
|
344
|
+
#ungroupedItemIds_accessor_storage = (__runInitializers(this, _groups_extraInitializers), __runInitializers(this, _ungroupedItemIds_initializers, []));
|
|
345
|
+
get ungroupedItemIds() { return this.#ungroupedItemIds_accessor_storage; }
|
|
346
|
+
set ungroupedItemIds(value) { this.#ungroupedItemIds_accessor_storage = value; }
|
|
347
|
+
#associations_accessor_storage = (__runInitializers(this, _ungroupedItemIds_extraInitializers), __runInitializers(this, _associations_initializers, [...demoResourceAssociations]));
|
|
310
348
|
get associations() { return this.#associations_accessor_storage; }
|
|
311
349
|
set associations(value) { this.#associations_accessor_storage = value; }
|
|
312
350
|
#notice_accessor_storage = (__runInitializers(this, _associations_extraInitializers), __runInitializers(this, _notice_initializers, 'Interactive demo · Changes stay in this example.'));
|
|
@@ -366,7 +404,7 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
366
404
|
return;
|
|
367
405
|
this.selectedSessionId = list.selectedSessionId;
|
|
368
406
|
this.groups = list.groups;
|
|
369
|
-
this.
|
|
407
|
+
this.ungroupedItemIds = list.ungroupedItemIds;
|
|
370
408
|
this.associations = list.resourceAssociations;
|
|
371
409
|
}
|
|
372
410
|
async select(event) {
|
|
@@ -394,8 +432,8 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
394
432
|
reset() {
|
|
395
433
|
this.sessions = demoSessions();
|
|
396
434
|
this.selectedSessionId = 'session-0';
|
|
397
|
-
this.groups = demoGroups
|
|
398
|
-
this.
|
|
435
|
+
this.groups = cloneGroups(demoGroups);
|
|
436
|
+
this.ungroupedItemIds = [];
|
|
399
437
|
this.associations = [...demoResourceAssociations];
|
|
400
438
|
this.notice = 'Demo reset. Choose a session or respond to the approval request.';
|
|
401
439
|
if (this.list) {
|
|
@@ -424,9 +462,9 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
424
462
|
<span class="attentionSummary"><dees-icon icon="lucide:CircleAlert" iconSize="12"></dees-icon>${attentionCount} need attention</span>
|
|
425
463
|
</div>
|
|
426
464
|
<dees-harness-session-list
|
|
427
|
-
.sessions=${this.sessions} .groups=${this.groups} .
|
|
465
|
+
.sessions=${this.sessions} .groups=${this.groups} .ungroupedItemIds=${this.ungroupedItemIds}
|
|
428
466
|
.resources=${demoResources} .resourceAssociations=${this.associations}
|
|
429
|
-
.
|
|
467
|
+
.eligibleTargetsByResourceId=${demoResourceEligibleTargets} .enableGrouping=${true}
|
|
430
468
|
.selectedSessionId=${this.selectedSessionId}
|
|
431
469
|
@harness-session-select=${this.select} @harness-session-open=${this.select}
|
|
432
470
|
@harness-session-context=${(event) => handleSessionContext(event, (opened) => {
|
|
@@ -434,12 +472,12 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
434
472
|
if (opened)
|
|
435
473
|
void this.revealSession();
|
|
436
474
|
})}
|
|
437
|
-
@harness-
|
|
475
|
+
@harness-item-move=${(event) => { handleItemMove(event); this.syncList(); }}
|
|
438
476
|
@harness-group-create-request=${() => {
|
|
439
|
-
this.groups = [...this.groups, { id: `group-${this.groups.length}`, name: `Group ${this.groups.length + 1}`,
|
|
477
|
+
this.groups = [...this.groups, { id: `group-${this.groups.length}`, name: `Group ${this.groups.length + 1}`, itemIds: [] }];
|
|
440
478
|
if (this.list)
|
|
441
479
|
this.list.search = '';
|
|
442
|
-
this.notice = 'Group created. Drag a
|
|
480
|
+
this.notice = 'Group created. Drag a conversation or resource here, or use its Actions menu.';
|
|
443
481
|
}}
|
|
444
482
|
@harness-resource-select=${(event) => {
|
|
445
483
|
event.currentTarget.selectedResourceId = event.detail.resource.id;
|
|
@@ -525,4 +563,4 @@ let DeesDemoSessionWorkspace = (() => {
|
|
|
525
563
|
return DeesDemoSessionWorkspace = _classThis;
|
|
526
564
|
})();
|
|
527
565
|
export const demoFunc = () => demoApp(html `<dees-demo-session-workspace></dees-demo-session-workspace>`);
|
|
528
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1saXN0L2RlZXMtaGFybmVzcy1zZXNzaW9uLWxpc3QuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM3RixPQUFPLDZEQUE2RCxDQUFDO0FBQ3JFLE9BQU8saUVBQWlFLENBQUM7QUFzQnpFLE1BQU0sTUFBTSxHQUFpSDtJQUMzSCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsaUVBQWlFLEVBQUU7SUFDbEksUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSw2REFBNkQsRUFBRTtJQUM3SCxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlFQUFpRSxFQUFFO0lBQy9ILFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFX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
|
|
566
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC5kZW1vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaGFybmVzcy9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1saXN0L2RlZXMtaGFybmVzcy1zZXNzaW9uLWxpc3QuZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkcsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUM3RixPQUFPLDZEQUE2RCxDQUFDO0FBQ3JFLE9BQU8saUVBQWlFLENBQUM7QUF3QnpFLE1BQU0sTUFBTSxHQUFpSDtJQUMzSCxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsaUVBQWlFLEVBQUU7SUFDbEksUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSw2REFBNkQsRUFBRTtJQUM3SCxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlFQUFpRSxFQUFFO0lBQy9ILFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFX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
|