@dxos/plugin-pipeline 0.8.4-main.2244d791bb → 0.8.4-main.4a85c3132b
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/lib/browser/{PipelineContainer-2BRZPECS.mjs → PipelineContainer-2ZYSZATA.mjs} +146 -115
- package/dist/lib/browser/PipelineContainer-2ZYSZATA.mjs.map +7 -0
- package/dist/lib/browser/{PipelineSettings-R54RTVWZ.mjs → PipelineObjectSettings-D36OYVHW.mjs} +36 -33
- package/dist/lib/browser/PipelineObjectSettings-D36OYVHW.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7GVESVYR.mjs → chunk-N6FZHYWT.mjs} +2 -2
- package/dist/lib/browser/chunk-N6FZHYWT.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +4 -4
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-CMTEEE6F.mjs → react-surface-ZGQVH4VX.mjs} +11 -8
- package/dist/lib/browser/react-surface-ZGQVH4VX.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/PipelineColumn.d.ts.map +1 -1
- package/dist/types/src/components/PipelineComponent.d.ts +15 -12
- package/dist/types/src/components/PipelineComponent.d.ts.map +1 -1
- package/dist/types/src/components/PipelineComponent.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +2 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/{components → containers/PipelineContainer}/PipelineContainer.d.ts +2 -3
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineContainer/index.d.ts +3 -0
- package/dist/types/src/containers/PipelineContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components/PipelineSettings.d.ts → containers/PipelineObjectSettings/PipelineObjectSettings.d.ts} +1 -2
- package/dist/types/src/containers/PipelineObjectSettings/PipelineObjectSettings.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineObjectSettings/index.d.ts +3 -0
- package/dist/types/src/containers/PipelineObjectSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +4 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +2 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/hooks/usePipelineBoardModel.d.ts +6 -0
- package/dist/types/src/hooks/usePipelineBoardModel.d.ts.map +1 -0
- package/dist/types/src/templates/research.d.ts.map +1 -1
- package/dist/types/src/types/PipelineAction.d.ts +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +42 -40
- package/src/capabilities/operation-resolver/operation-resolver.ts +2 -2
- package/src/capabilities/react-surface/react-surface.tsx +7 -5
- package/src/components/PipelineColumn.tsx +11 -23
- package/src/components/PipelineComponent.stories.tsx +21 -15
- package/src/components/PipelineComponent.tsx +38 -93
- package/src/components/index.ts +2 -7
- package/src/{components → containers/PipelineContainer}/PipelineContainer.stories.tsx +91 -88
- package/src/containers/PipelineContainer/PipelineContainer.tsx +87 -0
- package/src/containers/PipelineContainer/index.ts +7 -0
- package/src/{components/PipelineSettings.tsx → containers/PipelineObjectSettings/PipelineObjectSettings.tsx} +38 -31
- package/src/containers/PipelineObjectSettings/index.ts +7 -0
- package/src/containers/index.ts +8 -0
- package/src/hooks/index.ts +5 -0
- package/src/hooks/usePipelineBoardModel.ts +79 -0
- package/src/templates/research.ts +14 -16
- package/src/types/PipelineAction.ts +1 -1
- package/dist/lib/browser/PipelineContainer-2BRZPECS.mjs.map +0 -7
- package/dist/lib/browser/PipelineSettings-R54RTVWZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-7GVESVYR.mjs.map +0 -7
- package/dist/lib/browser/react-surface-CMTEEE6F.mjs.map +0 -7
- package/dist/types/src/components/PipelineContainer.d.ts.map +0 -1
- package/dist/types/src/components/PipelineContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/PipelineSettings.d.ts.map +0 -1
- package/src/components/PipelineContainer.tsx +0 -61
- /package/dist/types/src/{components → containers/PipelineContainer}/PipelineContainer.stories.d.ts +0 -0
|
@@ -2,46 +2,96 @@ import {
|
|
|
2
2
|
meta
|
|
3
3
|
} from "./chunk-QWNKLHBY.mjs";
|
|
4
4
|
|
|
5
|
-
// src/
|
|
6
|
-
import React3, { useCallback } from "react";
|
|
5
|
+
// src/containers/PipelineContainer/PipelineContainer.tsx
|
|
6
|
+
import React3, { useCallback, useEffect } from "react";
|
|
7
7
|
import { Capabilities } from "@dxos/app-framework";
|
|
8
8
|
import { useCapability } from "@dxos/app-framework/ui";
|
|
9
9
|
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
10
10
|
import { Surface } from "@dxos/app-framework/ui";
|
|
11
|
-
import {
|
|
11
|
+
import { OBJECT_ACTIONS_CONTRIBUTION_ID, OBJECT_ACTIONS_CONTRIBUTION_PRIORITY, useObjectMenuItems } from "@dxos/app-toolkit/ui";
|
|
12
|
+
import { Obj as Obj4 } from "@dxos/echo";
|
|
12
13
|
import { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from "@dxos/plugin-deck/types";
|
|
13
|
-
import {
|
|
14
|
+
import { Panel } from "@dxos/react-ui";
|
|
14
15
|
import { useAttention } from "@dxos/react-ui-attention";
|
|
15
|
-
|
|
16
|
-
// src/components/PipelineComponent.tsx
|
|
17
|
-
import { Atom, useAtomValue as useAtomValue2 } from "@effect-atom/atom-react";
|
|
18
|
-
import { createContext } from "@radix-ui/react-context";
|
|
19
|
-
import * as Schema from "effect/Schema";
|
|
20
|
-
import React2, { useMemo as useMemo2 } from "react";
|
|
21
|
-
import { Obj as Obj2, Query as Query2 } from "@dxos/echo";
|
|
22
|
-
import { AtomObj, AtomQuery } from "@dxos/echo-atom";
|
|
23
|
-
import { getQueryTarget } from "@dxos/plugin-space";
|
|
24
|
-
import { getSpace as getSpace2, isSpace } from "@dxos/react-client/echo";
|
|
25
|
-
import { Toolbar, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
26
|
-
import { Board as Board2, useBoard as useBoard2, useEventHandlerAdapter } from "@dxos/react-ui-mosaic";
|
|
27
|
-
import { Pipeline } from "@dxos/types";
|
|
16
|
+
import { useMenu } from "@dxos/react-ui-menu";
|
|
28
17
|
|
|
29
18
|
// src/components/PipelineColumn.tsx
|
|
30
|
-
import { useAtomValue } from "@effect-atom/atom-react";
|
|
31
19
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
32
|
-
import
|
|
33
|
-
import {
|
|
20
|
+
import React2, { forwardRef, useMemo, useRef, useState } from "react";
|
|
21
|
+
import { useObjectNavigate } from "@dxos/app-toolkit/ui";
|
|
22
|
+
import { JsonSchema, Obj as Obj2, Query, Type } from "@dxos/echo";
|
|
34
23
|
import { resolveSchemaWithRegistry } from "@dxos/plugin-space";
|
|
35
24
|
import { Filter, getSpace, useObject } from "@dxos/react-client/echo";
|
|
36
|
-
import { useAsyncEffect, useTranslation } from "@dxos/react-ui";
|
|
37
|
-
import {
|
|
25
|
+
import { useAsyncEffect, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
26
|
+
import { Card } from "@dxos/react-ui";
|
|
27
|
+
import { Board as Board2, Focus, Mosaic } from "@dxos/react-ui-mosaic";
|
|
38
28
|
import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
|
|
39
|
-
|
|
29
|
+
|
|
30
|
+
// src/components/PipelineComponent.tsx
|
|
31
|
+
import { useAtomValue } from "@effect-atom/atom-react";
|
|
32
|
+
import { createContext } from "@radix-ui/react-context";
|
|
33
|
+
import React from "react";
|
|
34
|
+
import { Obj } from "@dxos/echo";
|
|
35
|
+
import { Toolbar, useTranslation } from "@dxos/react-ui";
|
|
36
|
+
import { Board, useBoard, useEventHandlerAdapter } from "@dxos/react-ui-mosaic";
|
|
37
|
+
var itemNoOp = ({ item }) => /* @__PURE__ */ React.createElement("span", null, item.id);
|
|
38
|
+
var PIPELINE_ROOT = "Pipeline.Root";
|
|
39
|
+
var [PipelineRootContext, usePipeline] = createContext(PIPELINE_ROOT, {
|
|
40
|
+
Item: itemNoOp
|
|
41
|
+
});
|
|
42
|
+
var PipelineRoot = ({ children, ...contextValue }) => /* @__PURE__ */ React.createElement(PipelineRootContext, contextValue, children);
|
|
43
|
+
PipelineRoot.displayName = PIPELINE_ROOT;
|
|
44
|
+
var PIPELINE_CONTENT_NAME = "Pipeline.Content";
|
|
45
|
+
var PipelineContent = ({ model, children, ...props }) => /* @__PURE__ */ React.createElement(Board.Root, {
|
|
46
|
+
...props,
|
|
47
|
+
model
|
|
48
|
+
}, children);
|
|
49
|
+
PipelineContent.displayName = PIPELINE_CONTENT_NAME;
|
|
50
|
+
var PIPELINE_COLUMNS_NAME = "Pipeline.Columns";
|
|
51
|
+
var PipelineColumns = ({ pipeline }) => {
|
|
52
|
+
const { model } = useBoard(PIPELINE_COLUMNS_NAME);
|
|
53
|
+
const columns = useAtomValue(model.columns);
|
|
54
|
+
const eventHandler = useEventHandlerAdapter({
|
|
55
|
+
id: pipeline.id,
|
|
56
|
+
// TODO(wittjosiah): Cast because columns array is readonly.
|
|
57
|
+
items: columns,
|
|
58
|
+
getId: model.getColumnId,
|
|
59
|
+
get: (data) => data,
|
|
60
|
+
make: (object) => object,
|
|
61
|
+
canDrop: ({ source }) => model.isColumn(source.data),
|
|
62
|
+
onChange: (mutate) => Obj.change(pipeline, (p) => mutate(p.columns))
|
|
63
|
+
});
|
|
64
|
+
return /* @__PURE__ */ React.createElement(Board.Content, {
|
|
65
|
+
id: "pipeline",
|
|
66
|
+
eventHandler,
|
|
67
|
+
Tile: PipelineColumn
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
PipelineColumns.displayName = PIPELINE_COLUMNS_NAME;
|
|
71
|
+
var PIPELINE_TOOLBAR_NAME = "Pipeline.Toolbar";
|
|
72
|
+
var PipelineToolbar = (props) => {
|
|
73
|
+
const { t } = useTranslation(meta.id);
|
|
74
|
+
const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);
|
|
75
|
+
return /* @__PURE__ */ React.createElement(Toolbar.Root, props, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
|
|
76
|
+
icon: "ph--plus--regular",
|
|
77
|
+
iconOnly: true,
|
|
78
|
+
label: t("add column label"),
|
|
79
|
+
onClick: onAddColumn
|
|
80
|
+
}));
|
|
81
|
+
};
|
|
82
|
+
PipelineToolbar.displayName = PIPELINE_TOOLBAR_NAME;
|
|
83
|
+
var PipelineComponent = {
|
|
84
|
+
Root: PipelineRoot,
|
|
85
|
+
Content: PipelineContent,
|
|
86
|
+
Columns: PipelineColumns,
|
|
87
|
+
Toolbar: PipelineToolbar
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
// src/components/PipelineColumn.tsx
|
|
40
91
|
var PIPELINE_COLUMN_NAME = "PipelineColumn";
|
|
41
92
|
var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
42
|
-
const { t } =
|
|
43
|
-
const
|
|
44
|
-
const items = useAtomValue(model.items(column));
|
|
93
|
+
const { t } = useTranslation2(meta.id);
|
|
94
|
+
const dragHandleRef = useRef(null);
|
|
45
95
|
const [viewSnapshot] = useObject(column.view);
|
|
46
96
|
const view = column.view.target;
|
|
47
97
|
const space = getSpace(view);
|
|
@@ -70,7 +120,7 @@ var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
|
70
120
|
if (!schema || !view) {
|
|
71
121
|
return void 0;
|
|
72
122
|
}
|
|
73
|
-
const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema :
|
|
123
|
+
const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : JsonSchema.toJsonSchema(schema);
|
|
74
124
|
const change = createEchoChangeCallback(view, Type.isMutable(schema) ? schema : void 0);
|
|
75
125
|
return new ProjectionModel({
|
|
76
126
|
view,
|
|
@@ -82,7 +132,7 @@ var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
|
82
132
|
view
|
|
83
133
|
]);
|
|
84
134
|
const Tile = useMemo(() => {
|
|
85
|
-
return /* @__PURE__ */ forwardRef((props, ref) => /* @__PURE__ */
|
|
135
|
+
return /* @__PURE__ */ forwardRef((props, ref) => /* @__PURE__ */ React2.createElement(ItemTile, {
|
|
86
136
|
...props,
|
|
87
137
|
ref,
|
|
88
138
|
itemProps: {
|
|
@@ -97,25 +147,22 @@ var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
|
97
147
|
if (!view) {
|
|
98
148
|
return null;
|
|
99
149
|
}
|
|
100
|
-
|
|
101
|
-
return /* @__PURE__ */ React.createElement(Board.Column.Root, {
|
|
150
|
+
return /* @__PURE__ */ React2.createElement(Board2.Column.Root, {
|
|
102
151
|
data: column,
|
|
103
152
|
location,
|
|
104
|
-
classNames
|
|
153
|
+
classNames: [
|
|
154
|
+
"group/column grid h-full overflow-hidden grid-rows-[var(--dx-rail-action)_1fr]",
|
|
155
|
+
classNames
|
|
156
|
+
],
|
|
105
157
|
debug,
|
|
106
158
|
dragHandleRef
|
|
107
|
-
}, /* @__PURE__ */
|
|
108
|
-
role: "none",
|
|
109
|
-
"data-testid": "board-column",
|
|
110
|
-
className: mx("group/column grid bs-full overflow-hidden grid-rows-[var(--rail-action)_1fr]", classNames)
|
|
111
|
-
}, /* @__PURE__ */ React.createElement(Board.Column.Header, {
|
|
112
|
-
classNames: "border-be border-separator",
|
|
159
|
+
}, /* @__PURE__ */ React2.createElement(Board2.Column.Header, {
|
|
113
160
|
label: column.name ?? t("untitled view title"),
|
|
114
161
|
dragHandleRef
|
|
115
|
-
}), /* @__PURE__ */
|
|
162
|
+
}), /* @__PURE__ */ React2.createElement(Board2.Column.Body, {
|
|
116
163
|
data: column,
|
|
117
164
|
Tile
|
|
118
|
-
}))
|
|
165
|
+
}));
|
|
119
166
|
};
|
|
120
167
|
PipelineColumn.displayName = PIPELINE_COLUMN_NAME;
|
|
121
168
|
var ITEM_TILE_NAME = "ItemTile";
|
|
@@ -123,43 +170,33 @@ var ItemTile = /* @__PURE__ */ forwardRef(({ classNames, data, location, debug,
|
|
|
123
170
|
const rootRef = useRef(null);
|
|
124
171
|
const composedRef = useComposedRefs(rootRef, forwardedRef);
|
|
125
172
|
const { Item } = usePipeline(ITEM_TILE_NAME);
|
|
126
|
-
|
|
173
|
+
const handleNavigate = useObjectNavigate(data);
|
|
174
|
+
return /* @__PURE__ */ React2.createElement(Mosaic.Tile, {
|
|
127
175
|
asChild: true,
|
|
128
176
|
id: data.id,
|
|
129
177
|
data,
|
|
130
178
|
location,
|
|
131
179
|
debug
|
|
132
|
-
}, /* @__PURE__ */
|
|
180
|
+
}, /* @__PURE__ */ React2.createElement(Focus.Group, {
|
|
133
181
|
asChild: true
|
|
134
|
-
}, /* @__PURE__ */
|
|
182
|
+
}, /* @__PURE__ */ React2.createElement(Card.Root, {
|
|
135
183
|
classNames,
|
|
136
184
|
ref: composedRef
|
|
137
|
-
}, /* @__PURE__ */
|
|
185
|
+
}, /* @__PURE__ */ React2.createElement(Card.Toolbar, null, /* @__PURE__ */ React2.createElement(Card.DragHandle, null), /* @__PURE__ */ React2.createElement(Card.Title, {
|
|
186
|
+
onClick: handleNavigate
|
|
187
|
+
}, Obj2.getLabel(data)), /* @__PURE__ */ React2.createElement(Card.Menu, null)), /* @__PURE__ */ React2.createElement(Card.Content, null, /* @__PURE__ */ React2.createElement(Item, itemProps)))));
|
|
138
188
|
});
|
|
139
189
|
ItemTile.displayName = ITEM_TILE_NAME;
|
|
140
190
|
|
|
141
|
-
// src/
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
150
|
-
PipelineRoot.displayName = PIPELINE_ROOT;
|
|
151
|
-
var emptyColumnsAtom = Atom.make(() => []);
|
|
152
|
-
var emptyItemsAtom = Atom.make(() => []);
|
|
153
|
-
var emptyPipelineModel = {
|
|
154
|
-
getColumnId: (data) => data.view.dxn.toString(),
|
|
155
|
-
getItemId: (data) => data.id,
|
|
156
|
-
isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
|
|
157
|
-
isItem: (obj) => Obj2.isObject(obj),
|
|
158
|
-
columns: emptyColumnsAtom,
|
|
159
|
-
items: () => emptyItemsAtom,
|
|
160
|
-
getColumns: () => [],
|
|
161
|
-
getItems: () => []
|
|
162
|
-
};
|
|
191
|
+
// src/hooks/usePipelineBoardModel.ts
|
|
192
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
193
|
+
import * as Schema from "effect/Schema";
|
|
194
|
+
import { useMemo as useMemo2 } from "react";
|
|
195
|
+
import { Obj as Obj3, Query as Query2 } from "@dxos/echo";
|
|
196
|
+
import { AtomObj, AtomQuery } from "@dxos/echo-atom";
|
|
197
|
+
import { getQueryTarget } from "@dxos/plugin-space";
|
|
198
|
+
import { getSpace as getSpace2, isSpace } from "@dxos/react-client/echo";
|
|
199
|
+
import { Pipeline } from "@dxos/types";
|
|
163
200
|
var usePipelineBoardModel = (pipeline, registry) => useMemo2(() => {
|
|
164
201
|
if (pipeline == null) {
|
|
165
202
|
return emptyPipelineModel;
|
|
@@ -193,7 +230,7 @@ var usePipelineBoardModel = (pipeline, registry) => useMemo2(() => {
|
|
|
193
230
|
getColumnId: (data) => data.view.dxn.toString(),
|
|
194
231
|
getItemId: (data) => data.id,
|
|
195
232
|
isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
|
|
196
|
-
isItem: (obj) =>
|
|
233
|
+
isItem: (obj) => Obj3.isObject(obj),
|
|
197
234
|
columns: columnsAtom,
|
|
198
235
|
items: (column) => itemsAtomFamily(column.view.dxn.toString()),
|
|
199
236
|
getColumns: () => [
|
|
@@ -205,73 +242,66 @@ var usePipelineBoardModel = (pipeline, registry) => useMemo2(() => {
|
|
|
205
242
|
pipeline,
|
|
206
243
|
registry
|
|
207
244
|
]);
|
|
208
|
-
var
|
|
209
|
-
var
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
canDrop: ({ source }) => model.isColumn(source.data),
|
|
220
|
-
onChange: (mutate) => Obj2.change(pipeline, (p) => mutate(p.columns))
|
|
221
|
-
});
|
|
222
|
-
return /* @__PURE__ */ React2.createElement(Board2.Content, {
|
|
223
|
-
id: "pipeline",
|
|
224
|
-
eventHandler,
|
|
225
|
-
Tile: PipelineColumn
|
|
226
|
-
});
|
|
227
|
-
};
|
|
228
|
-
PipelineContent.displayName = PIPELINE_CONTENT_NAME;
|
|
229
|
-
var PIPELINE_TOOLBAR_NAME = "Pipeline.Toolbar";
|
|
230
|
-
var PipelineToolbar = (props) => {
|
|
231
|
-
const { t } = useTranslation2(meta.id);
|
|
232
|
-
const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);
|
|
233
|
-
return /* @__PURE__ */ React2.createElement(Toolbar.Root, props, /* @__PURE__ */ React2.createElement(Toolbar.IconButton, {
|
|
234
|
-
icon: "ph--plus--regular",
|
|
235
|
-
iconOnly: true,
|
|
236
|
-
label: t("add column label"),
|
|
237
|
-
onClick: onAddColumn
|
|
238
|
-
}));
|
|
239
|
-
};
|
|
240
|
-
PipelineToolbar.displayName = PIPELINE_TOOLBAR_NAME;
|
|
241
|
-
var PipelineComponent = {
|
|
242
|
-
Root: PipelineRoot,
|
|
243
|
-
Content: PipelineContent,
|
|
244
|
-
Toolbar: PipelineToolbar
|
|
245
|
+
var emptyColumnsAtom = Atom.make(() => []);
|
|
246
|
+
var emptyItemsAtom = Atom.make(() => []);
|
|
247
|
+
var emptyPipelineModel = {
|
|
248
|
+
getColumnId: (data) => data.view.dxn.toString(),
|
|
249
|
+
getItemId: (data) => data.id,
|
|
250
|
+
isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
|
|
251
|
+
isItem: (obj) => Obj3.isObject(obj),
|
|
252
|
+
columns: emptyColumnsAtom,
|
|
253
|
+
items: () => emptyItemsAtom,
|
|
254
|
+
getColumns: () => [],
|
|
255
|
+
getItems: () => []
|
|
245
256
|
};
|
|
246
257
|
|
|
247
|
-
// src/
|
|
258
|
+
// src/containers/PipelineContainer/PipelineContainer.tsx
|
|
259
|
+
var PIPELINE_ITEM = "PipelineItem";
|
|
248
260
|
var PipelineContainer = ({ role, subject: pipeline }) => {
|
|
249
261
|
const registry = useCapability(Capabilities.AtomRegistry);
|
|
250
262
|
const model = usePipelineBoardModel(pipeline, registry);
|
|
251
263
|
const { invokePromise } = useOperationInvoker();
|
|
252
|
-
const attendableId =
|
|
264
|
+
const attendableId = Obj4.getDXN(pipeline).toString();
|
|
253
265
|
const { hasAttention } = useAttention(attendableId);
|
|
254
266
|
const handleColumnAdd = useCallback(() => invokePromise(DeckOperation.ChangeCompanion, {
|
|
255
|
-
primary: attendableId,
|
|
256
267
|
companion: `${attendableId}${ATTENDABLE_PATH_SEPARATOR}settings`
|
|
257
268
|
}), [
|
|
258
269
|
invokePromise,
|
|
259
270
|
attendableId
|
|
260
271
|
]);
|
|
261
|
-
return /* @__PURE__ */ React3.createElement(
|
|
262
|
-
role,
|
|
263
|
-
toolbar: true
|
|
264
|
-
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Root, {
|
|
272
|
+
return /* @__PURE__ */ React3.createElement(PipelineComponent.Root, {
|
|
265
273
|
Item: PipelineItem,
|
|
266
|
-
model,
|
|
267
274
|
onAddColumn: handleColumnAdd
|
|
275
|
+
}, /* @__PURE__ */ React3.createElement(Panel.Root, {
|
|
276
|
+
role,
|
|
277
|
+
className: "dx-article"
|
|
278
|
+
}, /* @__PURE__ */ React3.createElement(Panel.Toolbar, {
|
|
279
|
+
asChild: true
|
|
268
280
|
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Toolbar, {
|
|
269
281
|
disabled: !hasAttention
|
|
270
|
-
}), /* @__PURE__ */ React3.createElement(
|
|
282
|
+
})), /* @__PURE__ */ React3.createElement(Panel.Content, {
|
|
283
|
+
asChild: true
|
|
284
|
+
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Content, {
|
|
285
|
+
model
|
|
286
|
+
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Columns, {
|
|
271
287
|
pipeline
|
|
272
|
-
})));
|
|
288
|
+
})))));
|
|
273
289
|
};
|
|
274
290
|
var PipelineItem = ({ item, projectionModel }) => {
|
|
291
|
+
const menu = useMenu(PIPELINE_ITEM);
|
|
292
|
+
const items = useObjectMenuItems(item);
|
|
293
|
+
useEffect(() => {
|
|
294
|
+
menu.addMenuItems({
|
|
295
|
+
id: OBJECT_ACTIONS_CONTRIBUTION_ID,
|
|
296
|
+
mode: "additive",
|
|
297
|
+
priority: OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,
|
|
298
|
+
items
|
|
299
|
+
});
|
|
300
|
+
return () => menu.removeMenuItems(OBJECT_ACTIONS_CONTRIBUTION_ID);
|
|
301
|
+
}, [
|
|
302
|
+
menu,
|
|
303
|
+
items
|
|
304
|
+
]);
|
|
275
305
|
return /* @__PURE__ */ React3.createElement(Surface.Surface, {
|
|
276
306
|
role: "card--content",
|
|
277
307
|
data: {
|
|
@@ -281,9 +311,10 @@ var PipelineItem = ({ item, projectionModel }) => {
|
|
|
281
311
|
limit: 1
|
|
282
312
|
});
|
|
283
313
|
};
|
|
314
|
+
|
|
315
|
+
// src/containers/PipelineContainer/index.ts
|
|
284
316
|
var PipelineContainer_default = PipelineContainer;
|
|
285
317
|
export {
|
|
286
|
-
PipelineContainer,
|
|
287
318
|
PipelineContainer_default as default
|
|
288
319
|
};
|
|
289
|
-
//# sourceMappingURL=PipelineContainer-
|
|
320
|
+
//# sourceMappingURL=PipelineContainer-2ZYSZATA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/PipelineContainer/PipelineContainer.tsx", "../../../src/components/PipelineColumn.tsx", "../../../src/components/PipelineComponent.tsx", "../../../src/hooks/usePipelineBoardModel.ts", "../../../src/containers/PipelineContainer/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useEffect } from 'react';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { useCapability } from '@dxos/app-framework/ui';\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { Surface } from '@dxos/app-framework/ui';\nimport {\n OBJECT_ACTIONS_CONTRIBUTION_ID,\n OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,\n type SurfaceComponentProps,\n useObjectMenuItems,\n} from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from '@dxos/plugin-deck/types';\nimport { Panel } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { useMenu } from '@dxos/react-ui-menu';\nimport { type Pipeline } from '@dxos/types';\n\nimport { type ItemProps, PipelineComponent } from '../../components';\nimport { usePipelineBoardModel } from '../../hooks';\n\nconst PIPELINE_ITEM = 'PipelineItem';\n\nexport type PipelineContainerProps = SurfaceComponentProps<Pipeline.Pipeline>;\n\nexport const PipelineContainer = ({ role, subject: pipeline }: PipelineContainerProps) => {\n const registry = useCapability(Capabilities.AtomRegistry);\n const model = usePipelineBoardModel(pipeline, registry);\n const { invokePromise } = useOperationInvoker();\n const attendableId = Obj.getDXN(pipeline).toString();\n const { hasAttention } = useAttention(attendableId);\n\n const handleColumnAdd = useCallback(\n () =>\n invokePromise(DeckOperation.ChangeCompanion, {\n companion: `${attendableId}${ATTENDABLE_PATH_SEPARATOR}settings`,\n }),\n [invokePromise, attendableId],\n );\n\n return (\n <PipelineComponent.Root Item={PipelineItem} onAddColumn={handleColumnAdd}>\n <Panel.Root role={role} className='dx-article'>\n <Panel.Toolbar asChild>\n <PipelineComponent.Toolbar disabled={!hasAttention} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <PipelineComponent.Content model={model}>\n <PipelineComponent.Columns pipeline={pipeline} />\n </PipelineComponent.Content>\n </Panel.Content>\n </Panel.Root>\n </PipelineComponent.Root>\n );\n};\n\nconst PipelineItem = ({ item, projectionModel }: ItemProps) => {\n const menu = useMenu(PIPELINE_ITEM);\n const items = useObjectMenuItems(item);\n\n useEffect(() => {\n menu.addMenuItems({\n id: OBJECT_ACTIONS_CONTRIBUTION_ID,\n mode: 'additive',\n priority: OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,\n items,\n });\n\n return () => menu.removeMenuItems(OBJECT_ACTIONS_CONTRIBUTION_ID);\n }, [menu, items]);\n\n return (\n <Surface.Surface\n role='card--content'\n data={{\n subject: item,\n projection: projectionModel,\n }}\n limit={1}\n />\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport type * as Schema from 'effect/Schema';\nimport React, { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { useObjectNavigate } from '@dxos/app-toolkit/ui';\nimport { JsonSchema, Obj, Query, Type } from '@dxos/echo';\nimport { resolveSchemaWithRegistry } from '@dxos/plugin-space';\nimport { Filter, getSpace, useObject } from '@dxos/react-client/echo';\nimport { useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui';\nimport { Board, Focus, Mosaic, type MosaicTileProps } from '@dxos/react-ui-mosaic';\nimport { ProjectionModel, createEchoChangeCallback } from '@dxos/schema';\nimport { type Pipeline } from '@dxos/types';\n\nimport { meta } from '../meta';\n\nimport { type ItemProps, usePipeline } from './PipelineComponent';\n\n//\n// PipelineColumn\n//\n\nconst PIPELINE_COLUMN_NAME = 'PipelineColumn';\n\nexport type PipelineColumnProps = Pick<MosaicTileProps<Pipeline.Column>, 'classNames' | 'location' | 'data' | 'debug'>;\n\n// TODO(wittjosiah): Support item DnD reordering (ordering needs to be stored on the view presentation collection).\nexport const PipelineColumn = ({ data: column, location, classNames, debug }: PipelineColumnProps) => {\n const { t } = useTranslation(meta.id);\n const dragHandleRef = useRef<HTMLButtonElement>(null);\n // Subscribe to the view target for reactivity.\n const [viewSnapshot] = useObject(column.view);\n const view = column.view.target;\n const space = getSpace(view);\n const { Item } = usePipeline(PIPELINE_COLUMN_NAME);\n const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>();\n const query = useMemo(() => {\n if (!view) {\n return Query.select(Filter.nothing());\n } else {\n // NOTE: Snapshot is required to prevent signal read in prohibited scope.\n // TODO(wittjosiah): Without stringify, filter.filters remains a proxied array.\n return Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot?.query.ast)));\n }\n }, [JSON.stringify(viewSnapshot?.query.ast)]);\n\n useAsyncEffect(async () => {\n if (!query || !space?.db) {\n return;\n }\n\n const schema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);\n setSchema(() => schema);\n }, [space, query]);\n\n const projectionModel = useMemo(() => {\n if (!schema || !view) {\n return undefined;\n }\n\n // For mutable schemas (EchoSchema), use the live jsonSchema reference for reactivity.\n const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : JsonSchema.toJsonSchema(schema);\n const change = createEchoChangeCallback(view, Type.isMutable(schema) ? schema : undefined);\n return new ProjectionModel({ view, baseSchema: jsonSchema, change });\n }, [schema, view]);\n\n const Tile = useMemo(() => {\n return forwardRef<HTMLDivElement, Pick<MosaicTileProps<Obj.Unknown>, 'classNames' | 'location' | 'data' | 'debug'>>(\n (props, ref) => <ItemTile {...props} ref={ref} itemProps={{ item: props.data, projectionModel }} />,\n );\n }, [Item, projectionModel]);\n\n if (!view) {\n return null;\n }\n\n return (\n <Board.Column.Root\n data={column}\n location={location}\n classNames={['group/column grid h-full overflow-hidden grid-rows-[var(--dx-rail-action)_1fr]', classNames]}\n debug={debug}\n dragHandleRef={dragHandleRef}\n >\n <Board.Column.Header label={column.name ?? t('untitled view title')} dragHandleRef={dragHandleRef} />\n <Board.Column.Body data={column} Tile={Tile} />\n </Board.Column.Root>\n );\n};\n\nPipelineColumn.displayName = PIPELINE_COLUMN_NAME;\n\n//\n// ItemTile\n//\n\nconst ITEM_TILE_NAME = 'ItemTile';\n\ntype ItemTileProps = Pick<MosaicTileProps<Obj.Unknown>, 'classNames' | 'location' | 'data' | 'debug'> & {\n itemProps: ItemProps;\n};\n\nconst ItemTile = forwardRef<HTMLDivElement, ItemTileProps>(\n ({ classNames, data, location, debug, itemProps }, forwardedRef) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs<HTMLDivElement>(rootRef, forwardedRef);\n const { Item } = usePipeline(ITEM_TILE_NAME);\n const handleNavigate = useObjectNavigate(data);\n\n return (\n <Mosaic.Tile asChild id={data.id} data={data} location={location} debug={debug}>\n <Focus.Group asChild>\n <Card.Root classNames={classNames} ref={composedRef}>\n <Card.Toolbar>\n <Card.DragHandle />\n <Card.Title onClick={handleNavigate}>{Obj.getLabel(data)}</Card.Title>\n <Card.Menu />\n </Card.Toolbar>\n <Card.Content>\n <Item {...itemProps} />\n </Card.Content>\n </Card.Root>\n </Focus.Group>\n </Mosaic.Tile>\n );\n },\n);\n\nItemTile.displayName = ITEM_TILE_NAME;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useAtomValue } from '@effect-atom/atom-react';\nimport { createContext } from '@radix-ui/react-context';\nimport React, { type FC, type PropsWithChildren } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { Toolbar, type ToolbarRootProps, useTranslation } from '@dxos/react-ui';\nimport { Board, type BoardModel, useBoard, useEventHandlerAdapter } from '@dxos/react-ui-mosaic';\nimport { type ProjectionModel } from '@dxos/schema';\nimport { type Pipeline } from '@dxos/types';\n\nimport { meta } from '../meta';\n\nimport { PipelineColumn } from './PipelineColumn';\n\ntype ItemProps = {\n item: Obj.Unknown;\n projectionModel?: ProjectionModel;\n};\n\nconst itemNoOp = ({ item }: ItemProps) => <span>{item.id}</span>;\n\n//\n// Root\n//\n\ntype PipelineContextValue = {\n Item: FC<ItemProps>;\n // TODO(wittjosiah): Support adding items.\n // If the created item doesn't match the current query, it will not be visible.\n // TODO(wittjosiah): onAddItem?: (schema: Schema.Schema.AnyNoContext) => void;\n onAddColumn?: () => void;\n};\n\ntype PipelineRootProps = PropsWithChildren<PipelineContextValue>;\n\nconst PIPELINE_ROOT = 'Pipeline.Root';\n\nconst [PipelineRootContext, usePipeline] = createContext<PipelineContextValue>(PIPELINE_ROOT, {\n Item: itemNoOp,\n});\n\nconst PipelineRoot = ({ children, ...contextValue }: PipelineRootProps) => (\n <PipelineRootContext {...contextValue}>{children}</PipelineRootContext>\n);\n\nPipelineRoot.displayName = PIPELINE_ROOT;\n\n//\n// Content\n//\n\nconst PIPELINE_CONTENT_NAME = 'Pipeline.Content';\n\ntype PipelineContentProps = PropsWithChildren<{\n model: BoardModel<Pipeline.Column, Obj.Unknown>;\n}>;\n\nconst PipelineContent = ({ model, children, ...props }: PipelineContentProps) => (\n <Board.Root {...props} model={model}>\n {children}\n </Board.Root>\n);\n\nPipelineContent.displayName = PIPELINE_CONTENT_NAME;\n\n//\n// Columns\n//\n\nconst PIPELINE_COLUMNS_NAME = 'Pipeline.Columns';\n\ntype PipelineColumnsProps = {\n pipeline: Pipeline.Pipeline;\n};\n\nconst PipelineColumns = ({ pipeline }: PipelineColumnsProps) => {\n const { model } = useBoard(PIPELINE_COLUMNS_NAME);\n const columns = useAtomValue(model.columns);\n const eventHandler = useEventHandlerAdapter<Pipeline.Column, Obj.Unknown>({\n id: pipeline.id,\n // TODO(wittjosiah): Cast because columns array is readonly.\n items: columns as any,\n getId: model.getColumnId,\n get: (data) => data as unknown as Obj.Unknown,\n make: (object) => object as unknown as Pipeline.Column,\n canDrop: ({ source }) => model.isColumn(source.data),\n onChange: (mutate) => Obj.change(pipeline, (p) => mutate(p.columns)),\n });\n\n return <Board.Content id='pipeline' eventHandler={eventHandler} Tile={PipelineColumn} />;\n};\n\nPipelineColumns.displayName = PIPELINE_COLUMNS_NAME;\n\n//\n// Toolbar\n//\n\nconst PIPELINE_TOOLBAR_NAME = 'Pipeline.Toolbar';\n\nexport const PipelineToolbar = (props: ToolbarRootProps) => {\n const { t } = useTranslation(meta.id);\n const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);\n\n return (\n <Toolbar.Root {...props}>\n <Toolbar.IconButton icon='ph--plus--regular' iconOnly label={t('add column label')} onClick={onAddColumn} />\n </Toolbar.Root>\n );\n};\n\nPipelineToolbar.displayName = PIPELINE_TOOLBAR_NAME;\n\n//\n// Project\n//\n\nexport const PipelineComponent = {\n Root: PipelineRoot,\n Content: PipelineContent,\n Columns: PipelineColumns,\n Toolbar: PipelineToolbar,\n};\n\nexport { usePipeline };\n\nexport type { ItemProps, PipelineContextValue, PipelineRootProps, PipelineContentProps, PipelineColumnsProps };\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, type Registry } from '@effect-atom/atom-react';\nimport * as Schema from 'effect/Schema';\nimport { useMemo } from 'react';\n\nimport { Obj, Query } from '@dxos/echo';\nimport { AtomObj, AtomQuery } from '@dxos/echo-atom';\nimport { getQueryTarget } from '@dxos/plugin-space';\nimport { getSpace, isSpace } from '@dxos/react-client/echo';\nimport { type BoardModel } from '@dxos/react-ui-mosaic';\nimport { Pipeline } from '@dxos/types';\n\nexport const usePipelineBoardModel = (\n pipeline: Pipeline.Pipeline | undefined,\n registry: Registry.Registry,\n): BoardModel<Pipeline.Column, Obj.Unknown> =>\n useMemo<BoardModel<Pipeline.Column, Obj.Unknown>>(() => {\n if (pipeline == null) {\n return emptyPipelineModel;\n }\n\n const space = getSpace(pipeline);\n const columnsAtom = AtomObj.makeProperty(pipeline, 'columns');\n const columnAtomFamily = Atom.family<string, Atom.Atom<Pipeline.Column | undefined>>((viewKey: string) =>\n Atom.make((get) => {\n const columns = get(columnsAtom);\n return columns.find((c) => c.view.dxn.toString() === viewKey);\n }),\n );\n\n const itemsAtomFamily = Atom.family<string, Atom.Atom<Obj.Unknown[]>>((viewKey: string) =>\n Atom.make((get) => {\n const column = get(columnAtomFamily(viewKey));\n if (column == null) {\n return [];\n }\n const viewSnapshot = get(AtomObj.make(column.view));\n if (!viewSnapshot?.query?.ast) {\n return [];\n }\n const query = Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot.query.ast)));\n const queryTarget = space ? getQueryTarget(query.ast, space) : undefined;\n if (!queryTarget) {\n return [];\n }\n const raw = get(AtomQuery.make(queryTarget, query));\n return isSpace(queryTarget) ? raw : [...raw].reverse();\n }),\n );\n\n return {\n getColumnId: (data) => (data as Pipeline.Column).view.dxn.toString(),\n getItemId: (data) => (data as Obj.Unknown).id,\n isColumn: (obj: unknown): obj is Pipeline.Column => Schema.is(Pipeline.Column)(obj),\n isItem: (obj: unknown): obj is Obj.Unknown => Obj.isObject(obj),\n columns: columnsAtom,\n items: (column) => itemsAtomFamily(column.view.dxn.toString()),\n getColumns: () => [...registry.get(columnsAtom)],\n getItems: (column) => registry.get(itemsAtomFamily(column.view.dxn.toString())) ?? [],\n };\n }, [pipeline, registry]);\n\nconst emptyColumnsAtom = Atom.make(() => [] as Pipeline.Column[]);\n\nconst emptyItemsAtom = Atom.make(() => [] as Obj.Unknown[]);\n\nconst emptyPipelineModel: BoardModel<Pipeline.Column, Obj.Unknown> = {\n getColumnId: (data) => (data as Pipeline.Column).view.dxn.toString(),\n getItemId: (data) => (data as Obj.Unknown).id,\n isColumn: (obj: unknown): obj is Pipeline.Column => Schema.is(Pipeline.Column)(obj),\n isItem: (obj): obj is Obj.Unknown => Obj.isObject(obj),\n columns: emptyColumnsAtom,\n items: () => emptyItemsAtom,\n getColumns: () => [],\n getItems: () => [],\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { PipelineContainer } from './PipelineContainer';\n\nexport default PipelineContainer;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["React", "useCallback", "useEffect", "Capabilities", "useCapability", "useOperationInvoker", "Surface", "OBJECT_ACTIONS_CONTRIBUTION_ID", "OBJECT_ACTIONS_CONTRIBUTION_PRIORITY", "useObjectMenuItems", "Obj", "ATTENDABLE_PATH_SEPARATOR", "DeckOperation", "Panel", "useAttention", "useMenu", "useComposedRefs", "React", "forwardRef", "useMemo", "useRef", "useState", "useObjectNavigate", "JsonSchema", "Obj", "Query", "Type", "resolveSchemaWithRegistry", "Filter", "getSpace", "useObject", "useAsyncEffect", "useTranslation", "Card", "Board", "Focus", "Mosaic", "ProjectionModel", "createEchoChangeCallback", "useAtomValue", "createContext", "React", "Obj", "Toolbar", "useTranslation", "Board", "useBoard", "useEventHandlerAdapter", "itemNoOp", "item", "span", "id", "PIPELINE_ROOT", "PipelineRootContext", "usePipeline", "createContext", "Item", "PipelineRoot", "children", "contextValue", "displayName", "PIPELINE_CONTENT_NAME", "PipelineContent", "model", "props", "Board", "Root", "PIPELINE_COLUMNS_NAME", "PipelineColumns", "pipeline", "useBoard", "columns", "useAtomValue", "eventHandler", "useEventHandlerAdapter", "items", "getId", "getColumnId", "get", "data", "make", "object", "canDrop", "source", "isColumn", "onChange", "mutate", "Obj", "change", "p", "Content", "Tile", "PipelineColumn", "PIPELINE_TOOLBAR_NAME", "PipelineToolbar", "t", "useTranslation", "meta", "onAddColumn", "Toolbar", "IconButton", "icon", "iconOnly", "label", "onClick", "PipelineComponent", "Columns", "PIPELINE_COLUMN_NAME", "PipelineColumn", "data", "column", "location", "classNames", "debug", "t", "useTranslation", "meta", "id", "dragHandleRef", "useRef", "viewSnapshot", "useObject", "view", "target", "space", "getSpace", "Item", "usePipeline", "schema", "setSchema", "useState", "query", "useMemo", "Query", "select", "Filter", "nothing", "fromAst", "JSON", "parse", "stringify", "ast", "useAsyncEffect", "db", "resolveSchemaWithRegistry", "schemaRegistry", "projectionModel", "undefined", "jsonSchema", "Type", "isMutable", "JsonSchema", "toJsonSchema", "change", "createEchoChangeCallback", "ProjectionModel", "baseSchema", "Tile", "forwardRef", "props", "ref", "React", "ItemTile", "itemProps", "item", "Board", "Column", "Root", "Header", "label", "name", "Body", "displayName", "ITEM_TILE_NAME", "forwardedRef", "rootRef", "composedRef", "useComposedRefs", "handleNavigate", "useObjectNavigate", "Mosaic", "asChild", "Focus", "Group", "Card", "Toolbar", "DragHandle", "Title", "onClick", "Obj", "getLabel", "Menu", "Content", "Atom", "Schema", "useMemo", "Obj", "Query", "AtomObj", "AtomQuery", "getQueryTarget", "getSpace", "isSpace", "Pipeline", "usePipelineBoardModel", "pipeline", "registry", "useMemo", "emptyPipelineModel", "space", "getSpace", "columnsAtom", "AtomObj", "makeProperty", "columnAtomFamily", "Atom", "family", "viewKey", "make", "get", "columns", "find", "c", "view", "dxn", "toString", "itemsAtomFamily", "column", "viewSnapshot", "query", "ast", "Query", "fromAst", "JSON", "parse", "stringify", "queryTarget", "getQueryTarget", "undefined", "raw", "AtomQuery", "isSpace", "reverse", "getColumnId", "data", "getItemId", "id", "isColumn", "obj", "is", "Pipeline", "Column", "isItem", "Obj", "isObject", "items", "getColumns", "getItems", "emptyColumnsAtom", "emptyItemsAtom", "PIPELINE_ITEM", "PipelineContainer", "role", "subject", "pipeline", "registry", "useCapability", "Capabilities", "AtomRegistry", "model", "usePipelineBoardModel", "invokePromise", "useOperationInvoker", "attendableId", "Obj", "getDXN", "toString", "hasAttention", "useAttention", "handleColumnAdd", "useCallback", "DeckOperation", "ChangeCompanion", "companion", "ATTENDABLE_PATH_SEPARATOR", "React", "PipelineComponent", "Root", "Item", "PipelineItem", "onAddColumn", "Panel", "className", "Toolbar", "asChild", "disabled", "Content", "Columns", "item", "projectionModel", "menu", "useMenu", "items", "useObjectMenuItems", "useEffect", "addMenuItems", "id", "OBJECT_ACTIONS_CONTRIBUTION_ID", "mode", "priority", "OBJECT_ACTIONS_CONTRIBUTION_PRIORITY", "removeMenuItems", "Surface", "data", "projection", "limit", "PipelineContainer"]
|
|
7
|
+
}
|
package/dist/lib/browser/{PipelineSettings-R54RTVWZ.mjs → PipelineObjectSettings-D36OYVHW.mjs}
RENAMED
|
@@ -2,17 +2,17 @@ import {
|
|
|
2
2
|
meta
|
|
3
3
|
} from "./chunk-QWNKLHBY.mjs";
|
|
4
4
|
|
|
5
|
-
// src/
|
|
5
|
+
// src/containers/PipelineObjectSettings/PipelineObjectSettings.tsx
|
|
6
6
|
import * as Schema from "effect/Schema";
|
|
7
7
|
import React, { useCallback, useMemo, useRef, useState } from "react";
|
|
8
|
-
import { DXN, Filter, Query, Ref, Tag
|
|
8
|
+
import { DXN, Filter, JsonSchema, Obj, Query, Ref, Tag } from "@dxos/echo";
|
|
9
9
|
import { useTypeOptions } from "@dxos/plugin-space";
|
|
10
10
|
import { resolveSchemaWithRegistry } from "@dxos/plugin-space";
|
|
11
11
|
import { getSpace, useObject, useQuery } from "@dxos/react-client/echo";
|
|
12
12
|
import { IconButton, useAsyncEffect, useTranslation } from "@dxos/react-ui";
|
|
13
13
|
import { Form, ViewEditor } from "@dxos/react-ui-form";
|
|
14
14
|
import { List } from "@dxos/react-ui-list";
|
|
15
|
-
import {
|
|
15
|
+
import { ViewModel } from "@dxos/schema";
|
|
16
16
|
import { Pipeline, Task } from "@dxos/types";
|
|
17
17
|
import { mx, osTranslations, subtleHover } from "@dxos/ui-theme";
|
|
18
18
|
import { arrayMove } from "@dxos/util";
|
|
@@ -71,7 +71,7 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
const queue = target && DXN.tryParse(target) ? target : void 0;
|
|
74
|
-
const query = queue ? Query.fromAst(newQuery).
|
|
74
|
+
const query = queue ? Query.fromAst(newQuery).from({
|
|
75
75
|
queues: [
|
|
76
76
|
queue
|
|
77
77
|
]
|
|
@@ -83,12 +83,12 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
83
83
|
if (!newSchema) {
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
const newView =
|
|
86
|
+
const newView = ViewModel.make({
|
|
87
87
|
query,
|
|
88
|
-
jsonSchema:
|
|
88
|
+
jsonSchema: JsonSchema.toJsonSchema(newSchema)
|
|
89
89
|
});
|
|
90
90
|
updateView((view2) => {
|
|
91
|
-
view2.projection = newView.projection;
|
|
91
|
+
view2.projection = Obj.getSnapshot(newView).projection;
|
|
92
92
|
});
|
|
93
93
|
setSchema(() => newSchema);
|
|
94
94
|
}, [
|
|
@@ -96,6 +96,20 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
96
96
|
updateView,
|
|
97
97
|
schema
|
|
98
98
|
]);
|
|
99
|
+
const handleColumnValuesChanged = useCallback((column2) => (newValues, { changed }) => {
|
|
100
|
+
if (changed["name"]) {
|
|
101
|
+
const columnIndex = columns.findIndex((c) => c === column2);
|
|
102
|
+
if (columnIndex === -1) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
updateColumns((cols) => {
|
|
106
|
+
cols[columnIndex].name = newValues.name ?? "";
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}, [
|
|
110
|
+
columns,
|
|
111
|
+
updateColumns
|
|
112
|
+
]);
|
|
99
113
|
const handleToggleField = useCallback((column2) => {
|
|
100
114
|
setExpandedId((prevExpandedId) => prevExpandedId === column2.view.dxn.toString() ? void 0 : column2.view.dxn.toString());
|
|
101
115
|
}, []);
|
|
@@ -119,9 +133,9 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
119
133
|
if (!space) {
|
|
120
134
|
return;
|
|
121
135
|
}
|
|
122
|
-
const newView =
|
|
136
|
+
const newView = ViewModel.make({
|
|
123
137
|
query: Query.select(Filter.type(Task.Task)),
|
|
124
|
-
jsonSchema:
|
|
138
|
+
jsonSchema: JsonSchema.toJsonSchema(Task.Task)
|
|
125
139
|
});
|
|
126
140
|
space.db.add(newView);
|
|
127
141
|
updateColumns((columns2) => {
|
|
@@ -137,23 +151,11 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
137
151
|
space,
|
|
138
152
|
updateColumns
|
|
139
153
|
]);
|
|
140
|
-
const handleColumnSave = useCallback((values) => {
|
|
141
|
-
if (column) {
|
|
142
|
-
const columnIndex = columns.findIndex((c) => c === column);
|
|
143
|
-
updateColumns((columns2) => {
|
|
144
|
-
columns2[columnIndex].name = values.name;
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}, [
|
|
148
|
-
column,
|
|
149
|
-
columns,
|
|
150
|
-
updateColumns
|
|
151
|
-
]);
|
|
152
154
|
return /* @__PURE__ */ React.createElement("div", {
|
|
153
155
|
role: "none",
|
|
154
|
-
className: mx("
|
|
156
|
+
className: mx("py-form-padding overflow-y-auto", classNames)
|
|
155
157
|
}, /* @__PURE__ */ React.createElement("h2", {
|
|
156
|
-
className: "text-sm text-description
|
|
158
|
+
className: "text-sm text-description py-1"
|
|
157
159
|
}, t("views label")), /* @__PURE__ */ React.createElement(List.Root, {
|
|
158
160
|
items: columns,
|
|
159
161
|
isItem: Schema.is(Pipeline.Column),
|
|
@@ -169,7 +171,7 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
169
171
|
"aria-expanded": expandedId === column2.view.dxn.toString()
|
|
170
172
|
}, /* @__PURE__ */ React.createElement("div", {
|
|
171
173
|
role: "none",
|
|
172
|
-
className: mx(subtleHover, listItemGrid, "rounded-
|
|
174
|
+
className: mx(subtleHover, listItemGrid, "rounded-xs cursor-pointer min-h-10")
|
|
173
175
|
}, /* @__PURE__ */ React.createElement(List.ItemDragHandle, null), /* @__PURE__ */ React.createElement(List.ItemTitle, {
|
|
174
176
|
onClick: () => handleToggleField(column2)
|
|
175
177
|
}, column2.name), /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
|
|
@@ -187,12 +189,11 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
187
189
|
onClick: () => handleToggleField(column2)
|
|
188
190
|
})), expandedId === column2.view.dxn.toString() && column2?.view.target && /* @__PURE__ */ React.createElement("div", {
|
|
189
191
|
role: "none",
|
|
190
|
-
className: "col-span-5
|
|
192
|
+
className: "col-span-5 my-2 border border-separator rounded-md"
|
|
191
193
|
}, /* @__PURE__ */ React.createElement(Form.Root, {
|
|
192
194
|
schema: ColumnFormSchema,
|
|
193
195
|
values: column2,
|
|
194
|
-
|
|
195
|
-
onSave: handleColumnSave
|
|
196
|
+
onValuesChanged: handleColumnValuesChanged(column2)
|
|
196
197
|
}, /* @__PURE__ */ React.createElement(Form.Content, null, /* @__PURE__ */ React.createElement(Form.FieldSet, null))), /* @__PURE__ */ React.createElement(ViewEditor, {
|
|
197
198
|
ref: projectionRef,
|
|
198
199
|
mode: "tag",
|
|
@@ -200,22 +201,24 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
200
201
|
schema,
|
|
201
202
|
view: column2.view.target,
|
|
202
203
|
registry: space?.db.schemaRegistry,
|
|
204
|
+
db: space?.db,
|
|
203
205
|
tags,
|
|
204
206
|
types,
|
|
205
207
|
onQueryChanged: handleQueryChanged
|
|
206
208
|
}))))))), /* @__PURE__ */ React.createElement("div", {
|
|
207
209
|
role: "none",
|
|
208
|
-
className: "
|
|
210
|
+
className: "my-form-padding"
|
|
209
211
|
}, /* @__PURE__ */ React.createElement(IconButton, {
|
|
210
212
|
icon: "ph--plus--regular",
|
|
211
213
|
label: t("add view label"),
|
|
212
214
|
onClick: handleAdd,
|
|
213
|
-
classNames: "
|
|
215
|
+
classNames: "w-full"
|
|
214
216
|
})));
|
|
215
217
|
};
|
|
216
|
-
|
|
218
|
+
|
|
219
|
+
// src/containers/PipelineObjectSettings/index.ts
|
|
220
|
+
var PipelineObjectSettings_default = PipelineObjectSettings;
|
|
217
221
|
export {
|
|
218
|
-
|
|
219
|
-
PipelineSettings_default as default
|
|
222
|
+
PipelineObjectSettings_default as default
|
|
220
223
|
};
|
|
221
|
-
//# sourceMappingURL=
|
|
224
|
+
//# sourceMappingURL=PipelineObjectSettings-D36OYVHW.mjs.map
|