@dxos/plugin-navtree 0.10.0 → 0.11.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/PLUGIN.mdl +8 -6
- package/dist/lib/NavTreePlugin.mjs +40 -0
- package/dist/lib/NavTreePlugin.mjs.map +1 -0
- package/dist/lib/capabilities.mjs +11 -0
- package/dist/lib/capabilities.mjs.map +1 -0
- package/dist/lib/chunk-CommandsDialogContent.mjs +100 -0
- package/dist/lib/chunk-CommandsDialogContent.mjs.map +1 -0
- package/dist/lib/chunk-CommandsTrigger.mjs +27 -0
- package/dist/lib/chunk-CommandsTrigger.mjs.map +1 -0
- package/dist/lib/chunk-NavTreeDocumentTitle.mjs +17 -0
- package/dist/lib/chunk-NavTreeDocumentTitle.mjs.map +1 -0
- package/dist/lib/chunk-app-graph-builder.mjs +33 -0
- package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
- package/dist/lib/chunk-expose.mjs +31 -0
- package/dist/lib/chunk-expose.mjs.map +1 -0
- package/dist/lib/chunk-keyboard.mjs +49 -0
- package/dist/lib/chunk-keyboard.mjs.map +1 -0
- package/dist/lib/{neutral/chunk-IRQMJLRY.mjs → chunk-meta.mjs} +14 -23
- package/dist/lib/chunk-meta.mjs.map +1 -0
- package/dist/lib/chunk-operation-handler.mjs +11 -0
- package/dist/lib/chunk-operation-handler.mjs.map +1 -0
- package/dist/lib/chunk-react-surface.mjs +46 -0
- package/dist/lib/chunk-react-surface.mjs.map +1 -0
- package/dist/lib/chunk-state.mjs +106 -0
- package/dist/lib/chunk-state.mjs.map +1 -0
- package/dist/lib/chunk-types.mjs +26 -0
- package/dist/lib/chunk-types.mjs.map +1 -0
- package/dist/lib/chunk-util.mjs +51 -0
- package/dist/lib/chunk-util.mjs.map +1 -0
- package/dist/lib/components.mjs +723 -0
- package/dist/lib/components.mjs.map +1 -0
- package/dist/lib/containers.mjs +231 -0
- package/dist/lib/containers.mjs.map +1 -0
- package/dist/lib/hooks.mjs +162 -0
- package/dist/lib/hooks.mjs.map +1 -0
- package/dist/lib/index.mjs +4 -0
- package/dist/lib/meta.mjs +2 -0
- package/dist/lib/operations.mjs +7 -0
- package/dist/lib/operations.mjs.map +1 -0
- package/dist/lib/plugin.mjs +9 -0
- package/dist/lib/plugin.mjs.map +1 -0
- package/dist/lib/testing.mjs +397 -0
- package/dist/lib/testing.mjs.map +1 -0
- package/dist/lib/translations.mjs +17 -0
- package/dist/lib/translations.mjs.map +1 -0
- package/dist/lib/types.mjs +2 -0
- package/dist/types/src/NavTreePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/keyboard.d.ts +1 -1
- package/dist/types/src/capabilities/nav-tree-view-state.d.ts +12 -0
- package/dist/types/src/capabilities/nav-tree-view-state.d.ts.map +1 -0
- package/dist/types/src/capabilities/nav-tree-view-state.test.d.ts +2 -0
- package/dist/types/src/capabilities/nav-tree-view-state.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +1 -1
- package/dist/types/src/components/NavTree/NavTree.d.ts.map +1 -1
- package/dist/types/src/components/NavTree/NavTree.stories.d.ts +3 -0
- package/dist/types/src/components/NavTree/NavTree.stories.d.ts.map +1 -1
- package/dist/types/src/components/NavTreeContext/NavTreeContext.d.ts.map +1 -1
- package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts +1 -1
- package/dist/types/src/components/NavTreeItem/NavTreeItemAction.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/L0Menu.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/L1Panel.d.ts +5 -2
- package/dist/types/src/components/Sidebar/L1Panel.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/L1Tabs.d.ts.map +1 -1
- package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.d.ts.map +1 -1
- package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.stories.d.ts +2 -0
- package/dist/types/src/containers/CommandsDialogContent/CommandsDialogContent.stories.d.ts.map +1 -1
- package/dist/types/src/containers/CommandsTrigger/CommandsTrigger.d.ts +4 -1
- package/dist/types/src/containers/CommandsTrigger/CommandsTrigger.d.ts.map +1 -1
- package/dist/types/src/containers/NavTreeContainer/NavTreeContainer.d.ts.map +1 -1
- package/dist/types/src/containers/NavTreeDocumentTitle/NavTreeDocumentTitle.d.ts +5 -2
- package/dist/types/src/containers/NavTreeDocumentTitle/NavTreeDocumentTitle.d.ts.map +1 -1
- package/dist/types/src/experimental/Tree.d.ts +0 -1
- package/dist/types/src/experimental/Tree.d.ts.map +1 -1
- package/dist/types/src/experimental/Tree.stories.d.ts.map +1 -1
- package/dist/types/src/experimental/visit-nodes.d.ts +3 -0
- package/dist/types/src/experimental/visit-nodes.d.ts.map +1 -0
- package/dist/types/src/hooks/useActions.d.ts +3 -1
- package/dist/types/src/hooks/useActions.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/NavTreeCapabilities.d.ts +1 -1
- package/dist/types/src/types/NavTreeCapabilities.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +1 -1
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +47 -52
- package/src/NavTreePlugin.tsx +3 -1
- package/src/capabilities/nav-tree-view-state.test.ts +55 -0
- package/src/capabilities/nav-tree-view-state.ts +19 -0
- package/src/capabilities/{react-surface.tsx → react-surface.ts} +8 -9
- package/src/capabilities/state.ts +47 -38
- package/src/components/NavTree/NavTree.stories.tsx +26 -5
- package/src/components/NavTree/NavTree.tsx +10 -13
- package/src/components/NavTreeItem/NavTreeItemAction.tsx +1 -1
- package/src/components/Sidebar/L0Menu.tsx +9 -3
- package/src/components/Sidebar/L1Panel.tsx +52 -20
- package/src/components/Sidebar/L1Tabs.tsx +6 -0
- package/src/containers/CommandsDialogContent/CommandsDialogContent.tsx +49 -44
- package/src/containers/CommandsTrigger/CommandsTrigger.tsx +2 -0
- package/src/containers/NavTreeContainer/NavTreeContainer.tsx +17 -18
- package/src/containers/NavTreeDocumentTitle/NavTreeDocumentTitle.tsx +2 -0
- package/src/experimental/Tree.stories.tsx +2 -1
- package/src/experimental/Tree.tsx +2 -18
- package/src/experimental/visit-nodes.ts +27 -0
- package/src/hooks/useActions.ts +15 -4
- package/src/hooks/useNavTreeModel.ts +1 -1
- package/src/operations/expose.ts +2 -2
- package/src/testing/app-graph-builder.ts +1 -1
- package/src/translations.ts +3 -0
- package/src/types/NavTreeCapabilities.ts +1 -1
- package/src/types/schema.ts +1 -1
- package/src/util.ts +7 -9
- package/dist/lib/neutral/CommandsDialogContent-TEKBCQ3U.mjs +0 -112
- package/dist/lib/neutral/CommandsDialogContent-TEKBCQ3U.mjs.map +0 -7
- package/dist/lib/neutral/CommandsTrigger-HGCI22SP.mjs +0 -27
- package/dist/lib/neutral/CommandsTrigger-HGCI22SP.mjs.map +0 -7
- package/dist/lib/neutral/NavTreeContainer-ICDKC2GI.mjs +0 -12
- package/dist/lib/neutral/NavTreeContainer-ICDKC2GI.mjs.map +0 -7
- package/dist/lib/neutral/NavTreeDocumentTitle-RMERXZGK.mjs +0 -22
- package/dist/lib/neutral/NavTreeDocumentTitle-RMERXZGK.mjs.map +0 -7
- package/dist/lib/neutral/NavTreePlugin.mjs +0 -68
- package/dist/lib/neutral/NavTreePlugin.mjs.map +0 -7
- package/dist/lib/neutral/NavTreePlugin.node.mjs +0 -18
- package/dist/lib/neutral/NavTreePlugin.node.mjs.map +0 -7
- package/dist/lib/neutral/NavTreePlugin.workerd.mjs +0 -16
- package/dist/lib/neutral/NavTreePlugin.workerd.mjs.map +0 -7
- package/dist/lib/neutral/app-graph-builder-2DYAIROU.mjs +0 -42
- package/dist/lib/neutral/app-graph-builder-2DYAIROU.mjs.map +0 -7
- package/dist/lib/neutral/capabilities/index.mjs +0 -17
- package/dist/lib/neutral/capabilities/index.mjs.map +0 -7
- package/dist/lib/neutral/chunk-4RN6TH36.mjs +0 -292
- package/dist/lib/neutral/chunk-4RN6TH36.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BAVI2K7A.mjs +0 -27
- package/dist/lib/neutral/chunk-BAVI2K7A.mjs.map +0 -7
- package/dist/lib/neutral/chunk-EAN4K6OL.mjs +0 -8
- package/dist/lib/neutral/chunk-EAN4K6OL.mjs.map +0 -7
- package/dist/lib/neutral/chunk-IRQMJLRY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +0 -10
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JOSNCOV4.mjs +0 -79
- package/dist/lib/neutral/chunk-JOSNCOV4.mjs.map +0 -7
- package/dist/lib/neutral/components/index.mjs +0 -814
- package/dist/lib/neutral/components/index.mjs.map +0 -7
- package/dist/lib/neutral/containers/index.mjs +0 -20
- package/dist/lib/neutral/containers/index.mjs.map +0 -7
- package/dist/lib/neutral/expose-HIBA2NQG.mjs +0 -38
- package/dist/lib/neutral/expose-HIBA2NQG.mjs.map +0 -7
- package/dist/lib/neutral/hooks/index.mjs +0 -181
- package/dist/lib/neutral/hooks/index.mjs.map +0 -7
- package/dist/lib/neutral/index.mjs +0 -34
- package/dist/lib/neutral/index.mjs.map +0 -7
- package/dist/lib/neutral/keyboard-JM2HCF5N.mjs +0 -58
- package/dist/lib/neutral/keyboard-JM2HCF5N.mjs.map +0 -7
- package/dist/lib/neutral/meta.json +0 -1
- package/dist/lib/neutral/meta.mjs +0 -12
- package/dist/lib/neutral/meta.mjs.map +0 -7
- package/dist/lib/neutral/operation-handler-ORDOJUL2.mjs +0 -13
- package/dist/lib/neutral/operation-handler-ORDOJUL2.mjs.map +0 -7
- package/dist/lib/neutral/operations/index.mjs +0 -8
- package/dist/lib/neutral/operations/index.mjs.map +0 -7
- package/dist/lib/neutral/plugin.mjs +0 -16
- package/dist/lib/neutral/plugin.mjs.map +0 -7
- package/dist/lib/neutral/react-surface-QPMUEDZX.mjs +0 -48
- package/dist/lib/neutral/react-surface-QPMUEDZX.mjs.map +0 -7
- package/dist/lib/neutral/state-PDZU4PIP.mjs +0 -126
- package/dist/lib/neutral/state-PDZU4PIP.mjs.map +0 -7
- package/dist/lib/neutral/testing/index.mjs +0 -439
- package/dist/lib/neutral/testing/index.mjs.map +0 -7
- package/dist/lib/neutral/translations.mjs +0 -23
- package/dist/lib/neutral/translations.mjs.map +0 -7
- package/dist/lib/neutral/types/index.mjs +0 -10
- package/dist/lib/neutral/types/index.mjs.map +0 -7
- package/dist/types/src/NavTreePlugin.node.d.ts +0 -4
- package/dist/types/src/NavTreePlugin.node.d.ts.map +0 -1
- package/dist/types/src/NavTreePlugin.test.d.ts +0 -2
- package/dist/types/src/NavTreePlugin.test.d.ts.map +0 -1
- package/dist/types/src/NavTreePlugin.workerd.d.ts +0 -4
- package/dist/types/src/NavTreePlugin.workerd.d.ts.map +0 -1
- package/src/NavTreePlugin.node.ts +0 -17
- package/src/NavTreePlugin.test.ts +0 -27
- package/src/NavTreePlugin.workerd.ts +0 -16
- /package/src/components/NavTreeContext/{NavTreeContext.tsx → NavTreeContext.ts} +0 -0
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
filterItems,
|
|
3
|
-
getParent,
|
|
4
|
-
resolveMigrationOperation
|
|
5
|
-
} from "./chunk-JOSNCOV4.mjs";
|
|
6
|
-
|
|
7
|
-
// src/containers/NavTreeContainer/NavTreeContainer.tsx
|
|
8
|
-
import { extractInstruction } from "@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item";
|
|
9
|
-
import { monitorForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
|
|
10
|
-
import { useAtomValue } from "@effect-atom/atom-react";
|
|
11
|
-
import React, { forwardRef, memo, useCallback, useEffect, useMemo, useRef } from "react";
|
|
12
|
-
import { Surface, useOperationInvoker } from "@dxos/app-framework/ui";
|
|
13
|
-
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
14
|
-
import { AppSurface, useAppGraph, useLayout } from "@dxos/app-toolkit/ui";
|
|
15
|
-
import { Graph, Node, useActionRunner } from "@dxos/plugin-graph";
|
|
16
|
-
import { useMediaQuery, useSidebars } from "@dxos/react-ui";
|
|
17
|
-
import { isTreeData } from "@dxos/react-ui-list";
|
|
18
|
-
import { arrayMove } from "@dxos/util";
|
|
19
|
-
import { NAV_TREE_ITEM, NavTree, NavTreeContext } from "#components";
|
|
20
|
-
import { useNavTreeModel, useNavTreeState } from "#hooks";
|
|
21
|
-
import { meta } from "#meta";
|
|
22
|
-
var NODE_TYPE = "dxos/app-graph/node";
|
|
23
|
-
var NavTreeItemEnd = ({ node, open }) => {
|
|
24
|
-
const data = useMemo(() => ({
|
|
25
|
-
id: node.id,
|
|
26
|
-
subject: node.data,
|
|
27
|
-
open
|
|
28
|
-
}), [
|
|
29
|
-
node.id,
|
|
30
|
-
node.data,
|
|
31
|
-
open
|
|
32
|
-
]);
|
|
33
|
-
return /* @__PURE__ */ React.createElement(Surface.Surface, {
|
|
34
|
-
type: AppSurface.NavtreeItemEnd,
|
|
35
|
-
data,
|
|
36
|
-
limit: 1
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
var getItems = (graph, node, disposition) => {
|
|
40
|
-
return Graph.getConnections(graph, node?.id ?? Node.RootId, "child").filter((node2) => filterItems(node2, disposition));
|
|
41
|
-
};
|
|
42
|
-
var NavTreeContainer$ = /* @__PURE__ */ forwardRef(({ tab, popoverAnchorId }, forwardedRef) => {
|
|
43
|
-
const [isLg] = useMediaQuery("lg");
|
|
44
|
-
const { invokePromise } = useOperationInvoker();
|
|
45
|
-
const runAction = useActionRunner();
|
|
46
|
-
const { graph } = useAppGraph();
|
|
47
|
-
const { getItem, setItem } = useNavTreeState();
|
|
48
|
-
const layout = useLayout();
|
|
49
|
-
const model = useNavTreeModel(Node.RootId);
|
|
50
|
-
const { navigationSidebarState } = useSidebars(meta.profile.key);
|
|
51
|
-
const latestRef = useRef({
|
|
52
|
-
tab,
|
|
53
|
-
activeItems: layout.active,
|
|
54
|
-
navigationSidebarState,
|
|
55
|
-
isLg
|
|
56
|
-
});
|
|
57
|
-
useEffect(() => {
|
|
58
|
-
latestRef.current = {
|
|
59
|
-
tab,
|
|
60
|
-
activeItems: layout.active,
|
|
61
|
-
navigationSidebarState,
|
|
62
|
-
isLg
|
|
63
|
-
};
|
|
64
|
-
}, [
|
|
65
|
-
tab,
|
|
66
|
-
layout.active,
|
|
67
|
-
navigationSidebarState,
|
|
68
|
-
isLg
|
|
69
|
-
]);
|
|
70
|
-
const handleOpenChange = useCallback(({ item: { id }, path, open }) => {
|
|
71
|
-
setItem(path, "open", open);
|
|
72
|
-
Graph.expand(graph, id, "child");
|
|
73
|
-
}, [
|
|
74
|
-
graph,
|
|
75
|
-
setItem
|
|
76
|
-
]);
|
|
77
|
-
const handleTabChange = useCallback((node) => {
|
|
78
|
-
Graph.expand(graph, node.id, "child");
|
|
79
|
-
const { tab: activeTab, activeItems, navigationSidebarState: currentSidebarState, isLg: latestIsLg } = latestRef.current;
|
|
80
|
-
void invokePromise(LayoutOperation.UpdateSidebar, {
|
|
81
|
-
state: node.id === activeTab ? currentSidebarState === "expanded" ? latestIsLg ? "collapsed" : "closed" : "expanded" : "expanded"
|
|
82
|
-
});
|
|
83
|
-
void invokePromise(LayoutOperation.SwitchWorkspace, {
|
|
84
|
-
subject: node.id
|
|
85
|
-
});
|
|
86
|
-
if (activeItems.length === 0) {
|
|
87
|
-
const [item] = getItems(graph, node).filter((node2) => !Node.isActionLike(node2));
|
|
88
|
-
if (item && item.data) {
|
|
89
|
-
if (layout.mode === "multi") {
|
|
90
|
-
void invokePromise(LayoutOperation.Set, {
|
|
91
|
-
subject: [
|
|
92
|
-
item.id
|
|
93
|
-
]
|
|
94
|
-
});
|
|
95
|
-
} else {
|
|
96
|
-
void invokePromise(LayoutOperation.Open, {
|
|
97
|
-
subject: [
|
|
98
|
-
item.id
|
|
99
|
-
]
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}, [
|
|
105
|
-
invokePromise,
|
|
106
|
-
graph,
|
|
107
|
-
layout.mode
|
|
108
|
-
]);
|
|
109
|
-
const blockInstruction = useCallback(({ instruction, source, target }) => {
|
|
110
|
-
return target.item.properties.blockInstruction?.(source, instruction) ?? false;
|
|
111
|
-
}, []);
|
|
112
|
-
const canDrop = useCallback(({ source, target }) => {
|
|
113
|
-
return target.item.properties.canDrop?.(source) ?? false;
|
|
114
|
-
}, []);
|
|
115
|
-
const canSelect = useCallback(({ item }) => {
|
|
116
|
-
return item.properties.selectable ?? true;
|
|
117
|
-
}, []);
|
|
118
|
-
const handleSelect = useCallback(({ item: node, path, option }) => {
|
|
119
|
-
if (!node.data) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
if (Node.isAction(node)) {
|
|
123
|
-
const [parent] = Graph.getConnections(graph, node.id, Node.childRelation("inbound"));
|
|
124
|
-
if (parent) {
|
|
125
|
-
void runAction(node, {
|
|
126
|
-
parent,
|
|
127
|
-
path,
|
|
128
|
-
caller: NAV_TREE_ITEM
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
const current = getItem(path).current;
|
|
134
|
-
if (!current) {
|
|
135
|
-
if (layout.mode === "multi") {
|
|
136
|
-
void invokePromise(LayoutOperation.Set, {
|
|
137
|
-
subject: [
|
|
138
|
-
node.id
|
|
139
|
-
]
|
|
140
|
-
});
|
|
141
|
-
} else {
|
|
142
|
-
void invokePromise(LayoutOperation.Open, {
|
|
143
|
-
subject: [
|
|
144
|
-
node.id
|
|
145
|
-
],
|
|
146
|
-
key: node.properties.key
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
} else if (option) {
|
|
150
|
-
void invokePromise(LayoutOperation.Close, {
|
|
151
|
-
subject: [
|
|
152
|
-
node.id
|
|
153
|
-
]
|
|
154
|
-
});
|
|
155
|
-
} else {
|
|
156
|
-
void invokePromise(LayoutOperation.ScrollIntoView, {
|
|
157
|
-
subject: node.id
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
const defaultAction = Graph.getActions(graph, node.id).find((action) => action.properties?.disposition === "default");
|
|
161
|
-
if (Node.isAction(defaultAction)) {
|
|
162
|
-
void runAction(defaultAction);
|
|
163
|
-
}
|
|
164
|
-
if (!isLg) {
|
|
165
|
-
void invokePromise(LayoutOperation.UpdateSidebar, {
|
|
166
|
-
state: "closed"
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
}, [
|
|
170
|
-
graph,
|
|
171
|
-
invokePromise,
|
|
172
|
-
getItem,
|
|
173
|
-
runAction,
|
|
174
|
-
isLg,
|
|
175
|
-
layout.mode
|
|
176
|
-
]);
|
|
177
|
-
const handleBack = useCallback(() => void invokePromise(LayoutOperation.RevertWorkspace), [
|
|
178
|
-
invokePromise
|
|
179
|
-
]);
|
|
180
|
-
useEffect(() => {
|
|
181
|
-
return monitorForElements({
|
|
182
|
-
canMonitor: ({ source }) => isTreeData(source.data),
|
|
183
|
-
onDrop: ({ location, source }) => {
|
|
184
|
-
if (!location.current.dropTargets.length) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
const target = location.current.dropTargets[0];
|
|
188
|
-
const instruction = extractInstruction(target.data);
|
|
189
|
-
if (instruction !== null && instruction.type !== "instruction-blocked") {
|
|
190
|
-
const sourceNode = source.data.item;
|
|
191
|
-
const targetNode = target.data.item;
|
|
192
|
-
const sourcePath = source.data.path;
|
|
193
|
-
const targetPath = target.data.path;
|
|
194
|
-
const sameParent = sourcePath.slice(0, -1).join() === targetPath.slice(0, -1).join();
|
|
195
|
-
const operation = sameParent && instruction.type !== "make-child" ? "rearrange" : resolveMigrationOperation(graph, sourceNode, targetPath, targetNode);
|
|
196
|
-
const sourceParent = getParent(graph, sourceNode, sourcePath);
|
|
197
|
-
const targetParent = getParent(graph, targetNode, targetPath);
|
|
198
|
-
const sourceItems = getItems(graph, sourceParent);
|
|
199
|
-
const targetItems = getItems(graph, targetParent);
|
|
200
|
-
const sourceIndex = sourceItems.findIndex(({ id }) => id === sourceNode.id);
|
|
201
|
-
const targetIndex = targetItems.findIndex(({ id }) => id === targetNode.id);
|
|
202
|
-
const migrationIndex = instruction.type === "make-child" ? void 0 : instruction.type === "reorder-below" ? targetIndex + 1 : targetIndex;
|
|
203
|
-
switch (operation) {
|
|
204
|
-
case "rearrange": {
|
|
205
|
-
const nextItems = sourceItems.map(({ data }) => data);
|
|
206
|
-
arrayMove(nextItems, sourceIndex, targetIndex);
|
|
207
|
-
void sourceNode.properties.onRearrange?.(nextItems);
|
|
208
|
-
break;
|
|
209
|
-
}
|
|
210
|
-
case "copy": {
|
|
211
|
-
const target2 = instruction.type === "make-child" ? targetNode : targetParent;
|
|
212
|
-
void target2?.properties.onCopy?.(sourceNode, migrationIndex);
|
|
213
|
-
break;
|
|
214
|
-
}
|
|
215
|
-
case "transfer": {
|
|
216
|
-
const target2 = instruction.type === "make-child" ? targetNode : targetParent;
|
|
217
|
-
if (!target2?.properties.onTransferStart || target2?.id === sourceParent?.id) {
|
|
218
|
-
break;
|
|
219
|
-
}
|
|
220
|
-
void target2?.properties.onTransferStart(sourceNode, migrationIndex);
|
|
221
|
-
void sourceParent?.properties.onTransferEnd?.(sourceNode, target2);
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
}, [
|
|
229
|
-
graph
|
|
230
|
-
]);
|
|
231
|
-
const workspaceChildren = useAtomValue(graph.connections(tab, "child"));
|
|
232
|
-
useEffect(() => {
|
|
233
|
-
for (const child of workspaceChildren) {
|
|
234
|
-
if (child.properties.disposition === "group") {
|
|
235
|
-
setItem([
|
|
236
|
-
Node.RootId,
|
|
237
|
-
tab,
|
|
238
|
-
child.id
|
|
239
|
-
], "open", true);
|
|
240
|
-
Graph.expand(graph, child.id, "child");
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
}, [
|
|
244
|
-
workspaceChildren,
|
|
245
|
-
tab,
|
|
246
|
-
setItem,
|
|
247
|
-
graph
|
|
248
|
-
]);
|
|
249
|
-
const onItemHover = useCallback(({ item }) => Graph.expand(graph, item.id, "child"), [
|
|
250
|
-
graph
|
|
251
|
-
]);
|
|
252
|
-
const navTreeContextValue = useMemo(() => ({
|
|
253
|
-
model,
|
|
254
|
-
popoverAnchorId,
|
|
255
|
-
renderItemEnd: NavTreeItemEnd,
|
|
256
|
-
blockInstruction,
|
|
257
|
-
canDrop,
|
|
258
|
-
canSelect,
|
|
259
|
-
onBack: handleBack,
|
|
260
|
-
onOpenChange: handleOpenChange,
|
|
261
|
-
onSelect: handleSelect,
|
|
262
|
-
onTabChange: handleTabChange,
|
|
263
|
-
onItemHover
|
|
264
|
-
}), [
|
|
265
|
-
model,
|
|
266
|
-
popoverAnchorId,
|
|
267
|
-
blockInstruction,
|
|
268
|
-
canDrop,
|
|
269
|
-
canSelect,
|
|
270
|
-
handleBack,
|
|
271
|
-
handleOpenChange,
|
|
272
|
-
handleSelect,
|
|
273
|
-
handleTabChange,
|
|
274
|
-
onItemHover
|
|
275
|
-
]);
|
|
276
|
-
return /* @__PURE__ */ React.createElement(NavTreeContext.Provider, {
|
|
277
|
-
value: navTreeContextValue
|
|
278
|
-
}, /* @__PURE__ */ React.createElement(NavTree, {
|
|
279
|
-
id: Node.RootId,
|
|
280
|
-
root: Graph.getRoot(graph),
|
|
281
|
-
tab,
|
|
282
|
-
open: layout.sidebarOpen,
|
|
283
|
-
ref: forwardedRef
|
|
284
|
-
}));
|
|
285
|
-
});
|
|
286
|
-
var NavTreeContainer = /* @__PURE__ */ memo(NavTreeContainer$);
|
|
287
|
-
|
|
288
|
-
export {
|
|
289
|
-
NODE_TYPE,
|
|
290
|
-
NavTreeContainer
|
|
291
|
-
};
|
|
292
|
-
//# sourceMappingURL=chunk-4RN6TH36.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/containers/NavTreeContainer/NavTreeContainer.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Instruction, extractInstruction } from '@atlaskit/pragmatic-drag-and-drop-hitbox/tree-item';\nimport { monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport React, { forwardRef, memo, useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { Surface, useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { AppSurface, useAppGraph, useLayout } from '@dxos/app-toolkit/ui';\nimport { Graph, Node, useActionRunner } from '@dxos/plugin-graph';\nimport { useMediaQuery, useSidebars } from '@dxos/react-ui';\nimport { type TreeData, isTreeData } from '@dxos/react-ui-list';\nimport { arrayMove } from '@dxos/util';\n\nimport { NAV_TREE_ITEM, NavTree, NavTreeContext } from '#components';\nimport { useNavTreeModel, useNavTreeState } from '#hooks';\nimport { meta } from '#meta';\nimport { type NavTreeItemGraphNode } from '#types';\n\nimport { filterItems, getParent, resolveMigrationOperation } from '../../util';\n\n// TODO(thure): Is NavTree truly authoritative in this regard?\nexport const NODE_TYPE = 'dxos/app-graph/node';\n\n// TODO(wittjosiah): Avoid using Surface within the navtree, prefer declarative data flow.\nconst NavTreeItemEnd = ({ node, open }: { node: Node.Node; open: boolean }) => {\n const data = useMemo(() => ({ id: node.id, subject: node.data, open }), [node.id, node.data, open]);\n return <Surface.Surface type={AppSurface.NavtreeItemEnd} data={data} limit={1} />;\n};\n\nconst getItems = (graph: Graph.ReadableGraph, node?: Node.Node, disposition?: string) => {\n return Graph.getConnections(graph, node?.id ?? Node.RootId, 'child').filter((node) => filterItems(node, disposition));\n};\n\nexport type NavTreeContainerProps = {\n popoverAnchorId?: string;\n tab: string;\n};\n\nexport const NavTreeContainer$ = forwardRef<HTMLDivElement, NavTreeContainerProps>(\n ({ tab, popoverAnchorId }, forwardedRef) => {\n const [isLg] = useMediaQuery('lg');\n const { invokePromise } = useOperationInvoker();\n const runAction = useActionRunner();\n const { graph } = useAppGraph();\n const { getItem, setItem } = useNavTreeState();\n const layout = useLayout();\n const model = useNavTreeModel(Node.RootId);\n const { navigationSidebarState } = useSidebars(meta.profile.key);\n const latestRef = useRef({\n tab,\n activeItems: layout.active,\n navigationSidebarState,\n isLg,\n });\n\n useEffect(() => {\n latestRef.current = {\n tab,\n activeItems: layout.active,\n navigationSidebarState,\n isLg,\n };\n }, [tab, layout.active, navigationSidebarState, isLg]);\n\n const handleOpenChange = useCallback(\n ({ item: { id }, path, open }: { item: Node.Node; path: string[]; open: boolean }) => {\n // TODO(thure): This might become a localstorage leak; openItemIds that no longer exist should be removed from this map.\n setItem(path, 'open', open);\n Graph.expand(graph, id, 'child');\n },\n [graph, setItem],\n );\n\n const handleTabChange = useCallback(\n (node: NavTreeItemGraphNode) => {\n Graph.expand(graph, node.id, 'child');\n\n const {\n tab: activeTab,\n activeItems,\n navigationSidebarState: currentSidebarState,\n isLg: latestIsLg,\n } = latestRef.current;\n void invokePromise(LayoutOperation.UpdateSidebar, {\n state:\n node.id === activeTab\n ? currentSidebarState === 'expanded'\n ? latestIsLg\n ? 'collapsed'\n : 'closed'\n : 'expanded'\n : 'expanded',\n });\n\n void invokePromise(LayoutOperation.SwitchWorkspace, { subject: node.id });\n\n // Open the first item if the workspace is empty.\n if (activeItems.length === 0) {\n const [item] = getItems(graph, node).filter((node) => !Node.isActionLike(node));\n if (item && item.data) {\n if (layout.mode === 'multi') {\n void invokePromise(LayoutOperation.Set, { subject: [item.id] });\n } else {\n void invokePromise(LayoutOperation.Open, { subject: [item.id] });\n }\n }\n }\n },\n [invokePromise, graph, layout.mode],\n );\n\n const blockInstruction = useCallback(\n ({ instruction, source, target }: { instruction: Instruction; source: TreeData; target: TreeData }) => {\n return target.item.properties.blockInstruction?.(source, instruction) ?? false;\n },\n [],\n );\n\n const canDrop = useCallback(({ source, target }: { source: TreeData; target: TreeData }) => {\n return target.item.properties.canDrop?.(source) ?? false;\n }, []);\n\n const canSelect = useCallback(({ item }: { item: Node.Node }) => {\n return item.properties.selectable ?? true;\n }, []);\n\n const handleSelect = useCallback(\n ({ item: node, path, option }: { item: Node.Node; path: string[]; option: boolean }) => {\n if (!node.data) {\n return;\n }\n\n if (Node.isAction(node)) {\n const [parent] = Graph.getConnections(graph, node.id, Node.childRelation('inbound'));\n if (parent) {\n void runAction(node, { parent, path, caller: NAV_TREE_ITEM });\n }\n return;\n }\n\n const current = getItem(path).current;\n if (!current) {\n if (layout.mode === 'multi') {\n void invokePromise(LayoutOperation.Set, { subject: [node.id] });\n } else {\n void invokePromise(LayoutOperation.Open, { subject: [node.id], key: node.properties.key });\n }\n } else if (option) {\n void invokePromise(LayoutOperation.Close, { subject: [node.id] });\n } else {\n void invokePromise(LayoutOperation.ScrollIntoView, { subject: node.id });\n }\n\n const defaultAction = Graph.getActions(graph, node.id).find(\n (action) => action.properties?.disposition === 'default',\n );\n if (Node.isAction(defaultAction)) {\n void runAction(defaultAction);\n }\n\n if (!isLg) {\n void invokePromise(LayoutOperation.UpdateSidebar, { state: 'closed' });\n }\n },\n [graph, invokePromise, getItem, runAction, isLg, layout.mode],\n );\n\n const handleBack = useCallback(() => void invokePromise(LayoutOperation.RevertWorkspace), [invokePromise]);\n\n // TODO(wittjosiah): Factor out hook.\n useEffect(() => {\n return monitorForElements({\n canMonitor: ({ source }) => isTreeData(source.data),\n onDrop: ({ location, source }) => {\n // Didn't drop on anything.\n if (!location.current.dropTargets.length) {\n return;\n }\n const target = location.current.dropTargets[0];\n const instruction: Instruction | null = extractInstruction(target.data);\n if (instruction !== null && instruction.type !== 'instruction-blocked') {\n const sourceNode = source.data.item as NavTreeItemGraphNode;\n const targetNode = target.data.item as NavTreeItemGraphNode;\n const sourcePath = source.data.path as string[];\n const targetPath = target.data.path as string[];\n const sameParent = sourcePath.slice(0, -1).join() === targetPath.slice(0, -1).join();\n const operation =\n sameParent && instruction.type !== 'make-child'\n ? 'rearrange'\n : resolveMigrationOperation(graph, sourceNode, targetPath, targetNode);\n const sourceParent = getParent(graph, sourceNode, sourcePath);\n const targetParent = getParent(graph, targetNode, targetPath);\n const sourceItems = getItems(graph, sourceParent);\n const targetItems = getItems(graph, targetParent);\n const sourceIndex = sourceItems.findIndex(({ id }) => id === sourceNode.id);\n const targetIndex = targetItems.findIndex(({ id }) => id === targetNode.id);\n const migrationIndex =\n instruction.type === 'make-child'\n ? undefined\n : instruction.type === 'reorder-below'\n ? targetIndex + 1\n : targetIndex;\n switch (operation) {\n case 'rearrange': {\n const nextItems = sourceItems.map(({ data }) => data);\n arrayMove(nextItems, sourceIndex, targetIndex);\n void sourceNode.properties.onRearrange?.(nextItems);\n break;\n }\n case 'copy': {\n const target = instruction.type === 'make-child' ? targetNode : targetParent;\n void target?.properties.onCopy?.(sourceNode, migrationIndex);\n break;\n }\n case 'transfer': {\n const target = instruction.type === 'make-child' ? targetNode : targetParent;\n if (!target?.properties.onTransferStart || target?.id === sourceParent?.id) {\n break;\n }\n void target?.properties.onTransferStart(sourceNode, migrationIndex);\n void sourceParent?.properties.onTransferEnd?.(sourceNode, target);\n break;\n }\n }\n }\n },\n });\n }, [graph]);\n\n // Group nodes are always expanded and have no toggle, so they never trigger Graph.expand through\n // user interaction. Watch the workspace's children reactively and mark any group nodes as open\n // so the state machinery treats them consistently with regular open nodes (including on next load).\n const workspaceChildren = useAtomValue(graph.connections(tab, 'child'));\n useEffect(() => {\n for (const child of workspaceChildren) {\n if (child.properties.disposition === 'group') {\n setItem([Node.RootId, tab, child.id], 'open', true);\n Graph.expand(graph, child.id, 'child');\n }\n }\n }, [workspaceChildren, tab, setItem, graph]);\n\n const onItemHover = useCallback(({ item }: { item: Node.Node }) => Graph.expand(graph, item.id, 'child'), [graph]);\n\n const navTreeContextValue = useMemo(\n () => ({\n model,\n popoverAnchorId,\n renderItemEnd: NavTreeItemEnd,\n blockInstruction,\n canDrop,\n canSelect,\n onBack: handleBack,\n onOpenChange: handleOpenChange,\n onSelect: handleSelect,\n onTabChange: handleTabChange,\n onItemHover,\n }),\n [\n model,\n popoverAnchorId,\n blockInstruction,\n canDrop,\n canSelect,\n handleBack,\n handleOpenChange,\n handleSelect,\n handleTabChange,\n onItemHover,\n ],\n );\n\n return (\n <NavTreeContext.Provider value={navTreeContextValue}>\n <NavTree id={Node.RootId} root={Graph.getRoot(graph)} tab={tab} open={layout.sidebarOpen} ref={forwardedRef} />\n </NavTreeContext.Provider>\n );\n },\n);\n\nexport const NavTreeContainer = memo(NavTreeContainer$);\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["extractInstruction", "monitorForElements", "useAtomValue", "React", "forwardRef", "memo", "useCallback", "useEffect", "useMemo", "useRef", "Surface", "useOperationInvoker", "LayoutOperation", "AppSurface", "useAppGraph", "useLayout", "Graph", "Node", "useActionRunner", "useMediaQuery", "useSidebars", "isTreeData", "arrayMove", "NAV_TREE_ITEM", "NavTree", "NavTreeContext", "useNavTreeModel", "useNavTreeState", "meta", "NODE_TYPE", "NavTreeItemEnd", "node", "open", "data", "useMemo", "id", "subject", "Surface", "type", "AppSurface", "NavtreeItemEnd", "limit", "getItems", "graph", "disposition", "Graph", "getConnections", "Node", "RootId", "filter", "filterItems", "NavTreeContainer$", "forwardRef", "tab", "popoverAnchorId", "forwardedRef", "isLg", "useMediaQuery", "invokePromise", "useOperationInvoker", "runAction", "useActionRunner", "useAppGraph", "getItem", "setItem", "useNavTreeState", "layout", "useLayout", "model", "useNavTreeModel", "navigationSidebarState", "useSidebars", "meta", "profile", "key", "latestRef", "useRef", "activeItems", "active", "useEffect", "current", "handleOpenChange", "useCallback", "item", "path", "expand", "handleTabChange", "activeTab", "currentSidebarState", "latestIsLg", "LayoutOperation", "UpdateSidebar", "state", "SwitchWorkspace", "length", "isActionLike", "mode", "Set", "Open", "blockInstruction", "instruction", "source", "target", "properties", "canDrop", "canSelect", "selectable", "handleSelect", "option", "isAction", "parent", "childRelation", "caller", "NAV_TREE_ITEM", "Close", "ScrollIntoView", "defaultAction", "getActions", "find", "action", "handleBack", "RevertWorkspace", "monitorForElements", "canMonitor", "isTreeData", "onDrop", "location", "dropTargets", "extractInstruction", "sourceNode", "targetNode", "sourcePath", "targetPath", "sameParent", "slice", "join", "operation", "resolveMigrationOperation", "sourceParent", "getParent", "targetParent", "sourceItems", "targetItems", "sourceIndex", "findIndex", "targetIndex", "migrationIndex", "undefined", "nextItems", "map", "arrayMove", "onRearrange", "onCopy", "onTransferStart", "onTransferEnd", "workspaceChildren", "useAtomValue", "connections", "child", "onItemHover", "navTreeContextValue", "renderItemEnd", "onBack", "onOpenChange", "onSelect", "onTabChange", "NavTreeContext", "Provider", "value", "NavTree", "root", "getRoot", "sidebarOpen", "ref", "NavTreeContainer", "memo"]
|
|
7
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__export
|
|
3
|
-
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
-
|
|
5
|
-
// src/types/NavTreeCapabilities.ts
|
|
6
|
-
var NavTreeCapabilities_exports = {};
|
|
7
|
-
__export(NavTreeCapabilities_exports, {
|
|
8
|
-
State: () => State
|
|
9
|
-
});
|
|
10
|
-
import { Capability } from "@dxos/app-framework";
|
|
11
|
-
import { meta } from "#meta";
|
|
12
|
-
var State = Capability.make(`${meta.profile.key}.capability.state`);
|
|
13
|
-
|
|
14
|
-
// src/types/NavTreeEvents.ts
|
|
15
|
-
var NavTreeEvents_exports = {};
|
|
16
|
-
__export(NavTreeEvents_exports, {
|
|
17
|
-
StateReady: () => StateReady
|
|
18
|
-
});
|
|
19
|
-
import { AppActivationEvents } from "@dxos/app-toolkit";
|
|
20
|
-
import { meta as meta2 } from "#meta";
|
|
21
|
-
var StateReady = AppActivationEvents.createStateEvent(meta2.profile.key);
|
|
22
|
-
|
|
23
|
-
export {
|
|
24
|
-
NavTreeCapabilities_exports,
|
|
25
|
-
NavTreeEvents_exports
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=chunk-BAVI2K7A.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/NavTreeCapabilities.ts", "../../../src/types/NavTreeEvents.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type Atom } from '@effect-atom/atom-react';\n\nimport { Capability } from '@dxos/app-framework';\n\nimport { meta } from '#meta';\n\nexport type NavTreeItemState = { open: boolean; current: boolean };\n\nexport type NavTreeStateStore = {\n getItem: (path: string[]) => NavTreeItemState;\n getItemAtom: (path: string[]) => Atom.Atom<NavTreeItemState>;\n setItem: (path: string[], key: 'open' | 'current', next: boolean) => void;\n};\n\nexport const State = Capability.make<NavTreeStateStore>(`${meta.profile.key}.capability.state`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nexport const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(meta.profile.key);\n"],
|
|
5
|
-
"mappings": ";;;;;AAAA;;;;AAQA,SAASA,kBAAkB;AAE3B,SAASC,YAAY;AAUd,IAAMC,QAAQF,WAAWG,KAAwB,GAAGF,KAAKG,QAAQC,GAAG,mBAAmB;;;ACpB9F;;;;AAOA,SAASC,2BAA2B;AAEpC,SAASC,QAAAA,aAAY;AAEd,IAAMC,aAA8CF,oBAAoBG,iBAAiBF,MAAKG,QAAQC,GAAG;",
|
|
6
|
-
"names": ["Capability", "meta", "State", "make", "profile", "key", "AppActivationEvents", "meta", "StateReady", "createStateEvent", "profile", "key"]
|
|
7
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// src/operations/index.ts
|
|
2
|
-
import { OperationHandlerSet } from "@dxos/compute";
|
|
3
|
-
var NavTreeOperationHandlerSet = OperationHandlerSet.lazy(() => import("./expose-HIBA2NQG.mjs"));
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
NavTreeOperationHandlerSet
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=chunk-EAN4K6OL.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/operations/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const NavTreeOperationHandlerSet = OperationHandlerSet.lazy(() => import('./expose'));\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,2BAA2B;AAE7B,IAAMC,6BAA6BD,oBAAoBE,KAAK,MAAM,OAAO,uBAAA,CAAA;",
|
|
6
|
-
"names": ["OperationHandlerSet", "NavTreeOperationHandlerSet", "lazy"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/meta.ts", "../../../dx.config.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { DXN } from '@dxos/keys';\n\nimport config from '../dx.config';\n\nexport const meta = Plugin.getMetaFromConfig(config);\n\n// TODO(wittjosiah): Factor out.\nexport const KEY_BINDING = 'KeyBinding';\n// TODO(wittjosiah): Factor out.\nexport const COMMANDS_DIALOG = DXN.make(`${meta.profile.key}.commandsDialog`);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Config2 } from '@dxos/app-framework/config';\nimport { trim } from '@dxos/util';\n\nexport default Config2.make({\n plugin: {\n key: 'org.dxos.plugin.navtree',\n name: 'Navtree',\n author: 'DXOS',\n description: trim`\n NavTreePlugin renders the application graph as a collapsible hierarchical tree in the Composer sidebar.\n It manages workspace tabs at the root level and provides expand/collapse navigation for spaces, folders,\n and objects, with open/current state persisted to localStorage across sessions.\n\n The plugin wires drag-and-drop rearrangement and cross-parent transfer of tree items via Pragmatic DnD,\n and registers graph-action keyboard shortcuts (including the ⌘K / Ctrl+K command palette) through a\n global Keyboard singleton that tracks context as the user navigates.\n\n An operation handler for LayoutOperation.Expose expands ancestor paths on demand so that any\n programmatically activated item is scrolled into view in the tree.\n\n A commands dialog surfaces all discoverable graph actions as a searchable palette, making it the primary\n keyboard-first entry point for power users.\n `,\n spec: 'PLUGIN.mdl',\n tags: ['system'],\n },\n});\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,WAAW;;;ACDpB,SAASC,eAAe;AACxB,SAASC,YAAY;AAErB,IAAA,oBAAeD,QAAQE,KAAK;EAC1BC,QAAQ;IACNC,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,aAAaN;;;;;;;;;;;;;;;IAebO,MAAM;IACNC,MAAM;MAAC;;EACT;AACF,CAAA;;;ADrBO,IAAMC,OAAOC,OAAOC,kBAAkBC,iBAAAA;AAGtC,IAAMC,cAAc;AAEpB,IAAMC,kBAAkBC,IAAIC,KAAK,GAAGP,KAAKQ,QAAQC,GAAG,iBAAiB;",
|
|
6
|
-
"names": ["Plugin", "DXN", "Config2", "trim", "make", "plugin", "key", "name", "author", "description", "spec", "tags", "meta", "Plugin", "getMetaFromConfig", "config", "KEY_BINDING", "COMMANDS_DIALOG", "DXN", "make", "profile", "key"]
|
|
7
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
// src/util.ts
|
|
2
|
-
import { Graph, Node } from "@dxos/plugin-graph";
|
|
3
|
-
import { isNonNullable } from "@dxos/util";
|
|
4
|
-
var getParent = (graph, node, path) => {
|
|
5
|
-
const parentId = path[path.length - 2];
|
|
6
|
-
return Graph.getConnections(graph, node.id, Node.childRelation("inbound")).find((n) => n.id === parentId);
|
|
7
|
-
};
|
|
8
|
-
var getPersistenceParent = (graph, node, path, persistenceClass) => {
|
|
9
|
-
if (node.properties.acceptPersistenceClass?.has(persistenceClass)) {
|
|
10
|
-
return node;
|
|
11
|
-
} else {
|
|
12
|
-
const parent = getParent(graph, node, path);
|
|
13
|
-
return parent ? getPersistenceParent(graph, parent, path.slice(0, path.length - 1), persistenceClass) : null;
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
var resolveMigrationOperation = (graph, activeNode, destinationPath, destinationRelatedNode) => {
|
|
17
|
-
const activeClass = activeNode.properties.persistenceClass;
|
|
18
|
-
if (destinationRelatedNode && activeClass) {
|
|
19
|
-
const persistenceParent = getPersistenceParent(graph, destinationRelatedNode, destinationPath, activeClass);
|
|
20
|
-
if (persistenceParent) {
|
|
21
|
-
const activeKey = activeNode.properties.persistenceKey;
|
|
22
|
-
if (activeKey && persistenceParent?.properties.acceptPersistenceKey) {
|
|
23
|
-
return persistenceParent.properties.acceptPersistenceKey.has(activeKey) && persistenceParent.properties.onTransferStart ? "transfer" : persistenceParent.properties.onCopy ? "copy" : "reject";
|
|
24
|
-
} else {
|
|
25
|
-
return "reject";
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
return "reject";
|
|
29
|
-
}
|
|
30
|
-
} else {
|
|
31
|
-
return "reject";
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
var sortActions = (actions) => actions.sort((a, b) => {
|
|
35
|
-
if (a.properties.disposition === b.properties.disposition) {
|
|
36
|
-
return 0;
|
|
37
|
-
}
|
|
38
|
-
if (a.properties.disposition === "list-item-primary") {
|
|
39
|
-
return -1;
|
|
40
|
-
}
|
|
41
|
-
return 1;
|
|
42
|
-
});
|
|
43
|
-
var getChildren = (graph, node, path = []) => {
|
|
44
|
-
return Graph.getConnections(graph, node.id, "child").map((n) => {
|
|
45
|
-
const nextPath = [
|
|
46
|
-
...path,
|
|
47
|
-
node.id
|
|
48
|
-
];
|
|
49
|
-
return nextPath.includes(n.id) ? void 0 : n;
|
|
50
|
-
}).filter(isNonNullable);
|
|
51
|
-
};
|
|
52
|
-
var filterItems = (node, disposition) => {
|
|
53
|
-
if (!disposition && node.properties.disposition === "hidden") {
|
|
54
|
-
return false;
|
|
55
|
-
} else if (!disposition) {
|
|
56
|
-
const action = Node.isAction(node);
|
|
57
|
-
return !action || node.properties.disposition === "item";
|
|
58
|
-
} else {
|
|
59
|
-
return node.properties.disposition === disposition;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
var l0ItemType = (item) => {
|
|
63
|
-
if (Node.isActionLike(item)) {
|
|
64
|
-
return "action";
|
|
65
|
-
} else {
|
|
66
|
-
return "tab";
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export {
|
|
71
|
-
getParent,
|
|
72
|
-
getPersistenceParent,
|
|
73
|
-
resolveMigrationOperation,
|
|
74
|
-
sortActions,
|
|
75
|
-
getChildren,
|
|
76
|
-
filterItems,
|
|
77
|
-
l0ItemType
|
|
78
|
-
};
|
|
79
|
-
//# sourceMappingURL=chunk-JOSNCOV4.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/util.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Graph, Node } from '@dxos/plugin-graph';\nimport { isNonNullable } from '@dxos/util';\n\nimport { type NavTreeItemGraphNode } from '#types';\n\nexport const getParent = (\n graph: Graph.ReadableGraph,\n node: NavTreeItemGraphNode,\n path: string[],\n): NavTreeItemGraphNode | undefined => {\n const parentId = path[path.length - 2];\n return Graph.getConnections(graph, node.id, Node.childRelation('inbound')).find(\n (n: Node.Node) => n.id === parentId,\n ) as NavTreeItemGraphNode | undefined;\n};\n\nexport const getPersistenceParent = (\n graph: Graph.ReadableGraph,\n node: NavTreeItemGraphNode,\n path: string[],\n persistenceClass: string,\n): NavTreeItemGraphNode | null => {\n if (node.properties.acceptPersistenceClass?.has(persistenceClass)) {\n return node;\n } else {\n const parent = getParent(graph, node, path);\n return parent ? getPersistenceParent(graph, parent, path.slice(0, path.length - 1), persistenceClass) : null;\n }\n};\n\nexport const resolveMigrationOperation = (\n graph: Graph.ReadableGraph,\n activeNode: NavTreeItemGraphNode,\n destinationPath: string[],\n destinationRelatedNode?: NavTreeItemGraphNode,\n): 'transfer' | 'copy' | 'reject' => {\n const activeClass = activeNode.properties.persistenceClass;\n if (destinationRelatedNode && activeClass) {\n const persistenceParent = getPersistenceParent(graph, destinationRelatedNode, destinationPath, activeClass);\n if (persistenceParent) {\n const activeKey = activeNode.properties.persistenceKey;\n if (activeKey && persistenceParent?.properties.acceptPersistenceKey) {\n return persistenceParent.properties.acceptPersistenceKey.has(activeKey) &&\n persistenceParent.properties.onTransferStart\n ? 'transfer'\n : persistenceParent.properties.onCopy\n ? 'copy'\n : 'reject';\n } else {\n return 'reject';\n }\n } else {\n return 'reject';\n }\n } else {\n return 'reject';\n }\n};\n\n// TODO(wittjosiah): Move into node implementation?\nexport const sortActions = (actions: Node.Action[]): Node.Action[] =>\n actions.sort((a, b) => {\n if (a.properties.disposition === b.properties.disposition) {\n return 0;\n }\n\n if (a.properties.disposition === 'list-item-primary') {\n return -1;\n }\n\n return 1;\n });\n\nexport const getChildren = (\n graph: Graph.ReadableGraph,\n node: NavTreeItemGraphNode,\n path: readonly string[] = [],\n): NavTreeItemGraphNode[] => {\n return Graph.getConnections(graph, node.id, 'child')\n .map((n: Node.Node) => {\n // Break cycles.\n const nextPath = [...path, node.id];\n return nextPath.includes(n.id) ? undefined : (n as NavTreeItemGraphNode);\n })\n .filter(isNonNullable) as NavTreeItemGraphNode[];\n};\n\n/**\n * Determines whether a node should be visible based on its disposition.\n */\nexport const filterItems = (node: Node.Node, disposition?: string) => {\n if (!disposition && node.properties.disposition === 'hidden') {\n return false;\n } else if (!disposition) {\n const action = Node.isAction(node);\n return !action || node.properties.disposition === 'item';\n } else {\n return node.properties.disposition === disposition;\n }\n};\n\nexport const l0ItemType = (item: Node.Node) => {\n if (Node.isActionLike(item)) {\n return 'action';\n } else {\n return 'tab';\n }\n};\n"],
|
|
5
|
-
"mappings": ";AAIA,SAASA,OAAOC,YAAY;AAC5B,SAASC,qBAAqB;AAIvB,IAAMC,YAAY,CACvBC,OACAC,MACAC,SAAAA;AAEA,QAAMC,WAAWD,KAAKA,KAAKE,SAAS,CAAA;AACpC,SAAOR,MAAMS,eAAeL,OAAOC,KAAKK,IAAIT,KAAKU,cAAc,SAAA,CAAA,EAAYC,KACzE,CAACC,MAAiBA,EAAEH,OAAOH,QAAAA;AAE/B;AAEO,IAAMO,uBAAuB,CAClCV,OACAC,MACAC,MACAS,qBAAAA;AAEA,MAAIV,KAAKW,WAAWC,wBAAwBC,IAAIH,gBAAAA,GAAmB;AACjE,WAAOV;EACT,OAAO;AACL,UAAMc,SAAShB,UAAUC,OAAOC,MAAMC,IAAAA;AACtC,WAAOa,SAASL,qBAAqBV,OAAOe,QAAQb,KAAKc,MAAM,GAAGd,KAAKE,SAAS,CAAA,GAAIO,gBAAAA,IAAoB;EAC1G;AACF;AAEO,IAAMM,4BAA4B,CACvCjB,OACAkB,YACAC,iBACAC,2BAAAA;AAEA,QAAMC,cAAcH,WAAWN,WAAWD;AAC1C,MAAIS,0BAA0BC,aAAa;AACzC,UAAMC,oBAAoBZ,qBAAqBV,OAAOoB,wBAAwBD,iBAAiBE,WAAAA;AAC/F,QAAIC,mBAAmB;AACrB,YAAMC,YAAYL,WAAWN,WAAWY;AACxC,UAAID,aAAaD,mBAAmBV,WAAWa,sBAAsB;AACnE,eAAOH,kBAAkBV,WAAWa,qBAAqBX,IAAIS,SAAAA,KAC3DD,kBAAkBV,WAAWc,kBAC3B,aACAJ,kBAAkBV,WAAWe,SAC3B,SACA;MACR,OAAO;AACL,eAAO;MACT;IACF,OAAO;AACL,aAAO;IACT;EACF,OAAO;AACL,WAAO;EACT;AACF;AAGO,IAAMC,cAAc,CAACC,YAC1BA,QAAQC,KAAK,CAACC,GAAGC,MAAAA;AACf,MAAID,EAAEnB,WAAWqB,gBAAgBD,EAAEpB,WAAWqB,aAAa;AACzD,WAAO;EACT;AAEA,MAAIF,EAAEnB,WAAWqB,gBAAgB,qBAAqB;AACpD,WAAO;EACT;AAEA,SAAO;AACT,CAAA;AAEK,IAAMC,cAAc,CACzBlC,OACAC,MACAC,OAA0B,CAAA,MAAE;AAE5B,SAAON,MAAMS,eAAeL,OAAOC,KAAKK,IAAI,OAAA,EACzC6B,IAAI,CAAC1B,MAAAA;AAEJ,UAAM2B,WAAW;SAAIlC;MAAMD,KAAKK;;AAChC,WAAO8B,SAASC,SAAS5B,EAAEH,EAAE,IAAIgC,SAAa7B;EAChD,CAAA,EACC8B,OAAOzC,aAAAA;AACZ;AAKO,IAAM0C,cAAc,CAACvC,MAAiBgC,gBAAAA;AAC3C,MAAI,CAACA,eAAehC,KAAKW,WAAWqB,gBAAgB,UAAU;AAC5D,WAAO;EACT,WAAW,CAACA,aAAa;AACvB,UAAMQ,SAAS5C,KAAK6C,SAASzC,IAAAA;AAC7B,WAAO,CAACwC,UAAUxC,KAAKW,WAAWqB,gBAAgB;EACpD,OAAO;AACL,WAAOhC,KAAKW,WAAWqB,gBAAgBA;EACzC;AACF;AAEO,IAAMU,aAAa,CAACC,SAAAA;AACzB,MAAI/C,KAAKgD,aAAaD,IAAAA,GAAO;AAC3B,WAAO;EACT,OAAO;AACL,WAAO;EACT;AACF;",
|
|
6
|
-
"names": ["Graph", "Node", "isNonNullable", "getParent", "graph", "node", "path", "parentId", "length", "getConnections", "id", "childRelation", "find", "n", "getPersistenceParent", "persistenceClass", "properties", "acceptPersistenceClass", "has", "parent", "slice", "resolveMigrationOperation", "activeNode", "destinationPath", "destinationRelatedNode", "activeClass", "persistenceParent", "activeKey", "persistenceKey", "acceptPersistenceKey", "onTransferStart", "onCopy", "sortActions", "actions", "sort", "a", "b", "disposition", "getChildren", "map", "nextPath", "includes", "undefined", "filter", "filterItems", "action", "isAction", "l0ItemType", "item", "isActionLike"]
|
|
7
|
-
}
|