@dxos/plugin-pipeline 0.8.4-main.6fa680abb7 → 0.8.4-main.7996785055
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-FAOVECDX.mjs → PipelineContainer-LY2P4JPA.mjs} +70 -43
- package/dist/lib/browser/PipelineContainer-LY2P4JPA.mjs.map +7 -0
- package/dist/lib/browser/{PipelineObjectSettings-JFOS6Z37.mjs → PipelineObjectSettings-QFMIKJH5.mjs} +6 -6
- package/dist/lib/browser/PipelineObjectSettings-QFMIKJH5.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +18 -13
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-XD6PVALN.mjs → react-surface-QVPKOGEI.mjs} +4 -4
- package/dist/lib/browser/{react-surface-XD6PVALN.mjs.map → react-surface-QVPKOGEI.mjs.map} +1 -1
- package/dist/types/src/PipelinePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +0 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/components/PipelineComponent/PipelineColumn.d.ts.map +1 -1
- package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts +34 -16
- package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts.map +1 -1
- package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts.map +1 -1
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/PipelineObjectSettings/PipelineObjectSettings.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +44 -43
- package/src/PipelinePlugin.tsx +18 -5
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/react-surface/react-surface.tsx +1 -1
- package/src/components/PipelineComponent/PipelineColumn.tsx +62 -31
- package/src/components/PipelineComponent/PipelineComponent.stories.tsx +12 -10
- package/src/components/PipelineComponent/PipelineComponent.tsx +20 -11
- package/src/containers/PipelineContainer/PipelineContainer.stories.tsx +9 -8
- package/src/containers/PipelineContainer/PipelineContainer.tsx +5 -5
- package/src/containers/PipelineObjectSettings/PipelineObjectSettings.tsx +7 -5
- package/dist/lib/browser/PipelineContainer-FAOVECDX.mjs.map +0 -7
- package/dist/lib/browser/PipelineObjectSettings-JFOS6Z37.mjs.map +0 -7
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -2
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
- package/src/capabilities/operation-resolver/index.ts +0 -5
- package/src/capabilities/operation-resolver/operation-resolver.ts +0 -9
|
@@ -9,20 +9,21 @@ 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
11
|
import { OBJECT_ACTIONS_CONTRIBUTION_ID, OBJECT_ACTIONS_CONTRIBUTION_PRIORITY, useObjectMenuItems } from "@dxos/app-toolkit/ui";
|
|
12
|
-
import {
|
|
13
|
-
import { DeckOperation } from "@dxos/plugin-deck/
|
|
14
|
-
import { Panel } from "@dxos/react-ui";
|
|
12
|
+
import { companionSegment } from "@dxos/app-toolkit";
|
|
13
|
+
import { DeckOperation } from "@dxos/plugin-deck/operations";
|
|
14
|
+
import { Panel as Panel2 } from "@dxos/react-ui";
|
|
15
15
|
import { useAttention } from "@dxos/react-ui-attention";
|
|
16
16
|
import { useMenu } from "@dxos/react-ui-menu";
|
|
17
17
|
|
|
18
18
|
// src/components/PipelineComponent/PipelineColumn.tsx
|
|
19
19
|
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
20
|
+
import * as Function from "effect/Function";
|
|
21
|
+
import * as Option from "effect/Option";
|
|
20
22
|
import React2, { forwardRef, useMemo, useRef, useState } from "react";
|
|
21
|
-
import {
|
|
22
|
-
import { JsonSchema, Obj as Obj2, Query, Type } from "@dxos/echo";
|
|
23
|
+
import { Annotation, JsonSchema, Obj as Obj2, Query, Type } from "@dxos/echo";
|
|
23
24
|
import { resolveSchemaWithRegistry } from "@dxos/plugin-space";
|
|
24
25
|
import { Filter, getSpace, useObject } from "@dxos/react-client/echo";
|
|
25
|
-
import { useAsyncEffect, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
26
|
+
import { Panel, Toolbar as Toolbar2, useAsyncEffect, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
26
27
|
import { Card } from "@dxos/react-ui";
|
|
27
28
|
import { Board as Board2, Focus, Mosaic } from "@dxos/react-ui-mosaic";
|
|
28
29
|
import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
|
|
@@ -30,10 +31,12 @@ import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
|
|
|
30
31
|
// src/components/PipelineComponent/PipelineComponent.tsx
|
|
31
32
|
import { useAtomValue } from "@effect-atom/atom-react";
|
|
32
33
|
import { createContext } from "@radix-ui/react-context";
|
|
34
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
33
35
|
import React from "react";
|
|
34
36
|
import { Obj } from "@dxos/echo";
|
|
35
37
|
import { Toolbar, useTranslation } from "@dxos/react-ui";
|
|
36
38
|
import { Board, useBoard, useEventHandlerAdapter } from "@dxos/react-ui-mosaic";
|
|
39
|
+
import { composable, composableProps, slottable } from "@dxos/ui-theme";
|
|
37
40
|
var itemNoOp = ({ item }) => /* @__PURE__ */ React.createElement("span", null, item.id);
|
|
38
41
|
var PIPELINE_ROOT = "Pipeline.Root";
|
|
39
42
|
var [PipelineRootContext, usePipeline] = createContext(PIPELINE_ROOT, {
|
|
@@ -42,13 +45,20 @@ var [PipelineRootContext, usePipeline] = createContext(PIPELINE_ROOT, {
|
|
|
42
45
|
var PipelineRoot = ({ children, ...contextValue }) => /* @__PURE__ */ React.createElement(PipelineRootContext, contextValue, children);
|
|
43
46
|
PipelineRoot.displayName = PIPELINE_ROOT;
|
|
44
47
|
var PIPELINE_CONTENT_NAME = "Pipeline.Content";
|
|
45
|
-
var PipelineContent = ({ model, children, ...props }) =>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
var PipelineContent = slottable(({ asChild, model, children, ...props }, forwardedRef) => {
|
|
49
|
+
const Comp = asChild ? Slot : "div";
|
|
50
|
+
return /* @__PURE__ */ React.createElement(Board.Root, {
|
|
51
|
+
model
|
|
52
|
+
}, /* @__PURE__ */ React.createElement(Comp, {
|
|
53
|
+
...composableProps(props, {
|
|
54
|
+
role: "none"
|
|
55
|
+
}),
|
|
56
|
+
ref: forwardedRef
|
|
57
|
+
}, children));
|
|
58
|
+
});
|
|
49
59
|
PipelineContent.displayName = PIPELINE_CONTENT_NAME;
|
|
50
60
|
var PIPELINE_COLUMNS_NAME = "Pipeline.Columns";
|
|
51
|
-
var PipelineColumns = ({ pipeline }) => {
|
|
61
|
+
var PipelineColumns = composable(({ pipeline, ...props }) => {
|
|
52
62
|
const { model } = useBoard(PIPELINE_COLUMNS_NAME);
|
|
53
63
|
const columns = useAtomValue(model.columns);
|
|
54
64
|
const eventHandler = useEventHandlerAdapter({
|
|
@@ -59,26 +69,30 @@ var PipelineColumns = ({ pipeline }) => {
|
|
|
59
69
|
get: (data) => data,
|
|
60
70
|
make: (object) => object,
|
|
61
71
|
canDrop: ({ source }) => model.isColumn(source.data),
|
|
62
|
-
onChange: (mutate) => Obj.change(pipeline, (
|
|
72
|
+
onChange: (mutate) => Obj.change(pipeline, (obj) => mutate(obj.columns))
|
|
63
73
|
});
|
|
64
74
|
return /* @__PURE__ */ React.createElement(Board.Content, {
|
|
75
|
+
...props,
|
|
65
76
|
id: "pipeline",
|
|
66
77
|
eventHandler,
|
|
67
78
|
Tile: PipelineColumn
|
|
68
79
|
});
|
|
69
|
-
};
|
|
80
|
+
});
|
|
70
81
|
PipelineColumns.displayName = PIPELINE_COLUMNS_NAME;
|
|
71
82
|
var PIPELINE_TOOLBAR_NAME = "Pipeline.Toolbar";
|
|
72
|
-
var PipelineToolbar = (props) => {
|
|
83
|
+
var PipelineToolbar = composable(({ children, ...props }, forwardedRef) => {
|
|
73
84
|
const { t } = useTranslation(meta.id);
|
|
74
85
|
const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);
|
|
75
|
-
return /* @__PURE__ */ React.createElement(Toolbar.Root,
|
|
86
|
+
return /* @__PURE__ */ React.createElement(Toolbar.Root, {
|
|
87
|
+
...composableProps(props),
|
|
88
|
+
ref: forwardedRef
|
|
89
|
+
}, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
|
|
76
90
|
icon: "ph--plus--regular",
|
|
77
91
|
iconOnly: true,
|
|
78
92
|
label: t("add column label"),
|
|
79
93
|
onClick: onAddColumn
|
|
80
94
|
}));
|
|
81
|
-
};
|
|
95
|
+
});
|
|
82
96
|
PipelineToolbar.displayName = PIPELINE_TOOLBAR_NAME;
|
|
83
97
|
var PipelineComponent = {
|
|
84
98
|
Root: PipelineRoot,
|
|
@@ -88,6 +102,7 @@ var PipelineComponent = {
|
|
|
88
102
|
};
|
|
89
103
|
|
|
90
104
|
// src/components/PipelineComponent/PipelineColumn.tsx
|
|
105
|
+
import { Menu } from "@dxos/react-ui-menu";
|
|
91
106
|
var PIPELINE_COLUMN_NAME = "PipelineColumn";
|
|
92
107
|
var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
93
108
|
const { t } = useTranslation2(meta.id);
|
|
@@ -131,38 +146,41 @@ var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
|
131
146
|
schema,
|
|
132
147
|
view
|
|
133
148
|
]);
|
|
134
|
-
const
|
|
149
|
+
const PipelineTile = useMemo(() => {
|
|
135
150
|
return /* @__PURE__ */ forwardRef((props, ref) => /* @__PURE__ */ React2.createElement(ItemTile, {
|
|
136
151
|
...props,
|
|
137
|
-
ref,
|
|
138
152
|
itemProps: {
|
|
139
153
|
item: props.data,
|
|
140
154
|
projectionModel
|
|
141
|
-
}
|
|
155
|
+
},
|
|
156
|
+
ref
|
|
142
157
|
}));
|
|
143
158
|
}, [
|
|
144
|
-
Item,
|
|
145
159
|
projectionModel
|
|
146
160
|
]);
|
|
147
161
|
if (!view) {
|
|
148
162
|
return null;
|
|
149
163
|
}
|
|
150
|
-
return /* @__PURE__ */ React2.createElement(
|
|
164
|
+
return /* @__PURE__ */ React2.createElement(Panel.Root, {
|
|
165
|
+
asChild: true
|
|
166
|
+
}, /* @__PURE__ */ React2.createElement(Board2.Column.Root, {
|
|
167
|
+
debug,
|
|
151
168
|
data: column,
|
|
152
169
|
location,
|
|
153
|
-
classNames
|
|
154
|
-
"group/column grid h-full overflow-hidden grid-rows-[var(--dx-rail-action)_1fr]",
|
|
155
|
-
classNames
|
|
156
|
-
],
|
|
157
|
-
debug,
|
|
170
|
+
classNames,
|
|
158
171
|
dragHandleRef
|
|
172
|
+
}, /* @__PURE__ */ React2.createElement(Panel.Toolbar, {
|
|
173
|
+
asChild: true
|
|
159
174
|
}, /* @__PURE__ */ React2.createElement(Board2.Column.Header, {
|
|
160
|
-
|
|
175
|
+
classNames: "_opacity-10",
|
|
176
|
+
label: column.name || t("untitled view title"),
|
|
161
177
|
dragHandleRef
|
|
162
|
-
}), /* @__PURE__ */ React2.createElement(
|
|
178
|
+
})), /* @__PURE__ */ React2.createElement(Panel.Content, {
|
|
179
|
+
asChild: true
|
|
180
|
+
}, /* @__PURE__ */ React2.createElement(Board2.Column.Body, {
|
|
163
181
|
data: column,
|
|
164
|
-
Tile
|
|
165
|
-
}));
|
|
182
|
+
Tile: PipelineTile
|
|
183
|
+
}))));
|
|
166
184
|
};
|
|
167
185
|
PipelineColumn.displayName = PIPELINE_COLUMN_NAME;
|
|
168
186
|
var ITEM_TILE_NAME = "ItemTile";
|
|
@@ -170,21 +188,30 @@ var ItemTile = /* @__PURE__ */ forwardRef(({ classNames, data, location, debug,
|
|
|
170
188
|
const rootRef = useRef(null);
|
|
171
189
|
const composedRef = useComposedRefs(rootRef, forwardedRef);
|
|
172
190
|
const { Item } = usePipeline(ITEM_TILE_NAME);
|
|
173
|
-
const
|
|
174
|
-
return /* @__PURE__ */ React2.createElement(Mosaic.Tile, {
|
|
191
|
+
const icon = Function.pipe(Obj2.getSchema(data), Option.fromNullable, Option.flatMap(Annotation.IconAnnotation.get), Option.map(({ icon: icon2 }) => icon2), Option.getOrElse(() => "ph--placeholder--regular"));
|
|
192
|
+
return /* @__PURE__ */ React2.createElement(Menu.Root, null, /* @__PURE__ */ React2.createElement(Mosaic.Tile, {
|
|
175
193
|
asChild: true,
|
|
176
194
|
id: data.id,
|
|
177
195
|
data,
|
|
178
196
|
location,
|
|
179
197
|
debug
|
|
180
|
-
}, /* @__PURE__ */ React2.createElement(Focus.
|
|
198
|
+
}, /* @__PURE__ */ React2.createElement(Focus.Item, {
|
|
181
199
|
asChild: true
|
|
182
200
|
}, /* @__PURE__ */ React2.createElement(Card.Root, {
|
|
183
201
|
classNames,
|
|
184
202
|
ref: composedRef
|
|
185
|
-
}, /* @__PURE__ */ React2.createElement(Card.Toolbar, null, /* @__PURE__ */ React2.createElement(Card.
|
|
186
|
-
|
|
187
|
-
}
|
|
203
|
+
}, /* @__PURE__ */ React2.createElement(Card.Toolbar, null, /* @__PURE__ */ React2.createElement(Card.Icon, {
|
|
204
|
+
icon
|
|
205
|
+
}), /* @__PURE__ */ React2.createElement(Card.Title, null, Obj2.getLabel(data)), /* @__PURE__ */ React2.createElement(Card.IconBlock, {
|
|
206
|
+
padding: true
|
|
207
|
+
}, /* @__PURE__ */ React2.createElement(Menu.Trigger, {
|
|
208
|
+
asChild: true
|
|
209
|
+
}, /* @__PURE__ */ React2.createElement(Toolbar2.IconButton, {
|
|
210
|
+
iconOnly: true,
|
|
211
|
+
variant: "ghost",
|
|
212
|
+
icon: "ph--dots-three-vertical--regular",
|
|
213
|
+
label: "Actions"
|
|
214
|
+
})), /* @__PURE__ */ React2.createElement(Menu.Content, null))), /* @__PURE__ */ React2.createElement(Card.Content, null, /* @__PURE__ */ React2.createElement(Item, itemProps))))));
|
|
188
215
|
});
|
|
189
216
|
ItemTile.displayName = ITEM_TILE_NAME;
|
|
190
217
|
|
|
@@ -263,23 +290,23 @@ var PipelineContainer = ({ role, subject: pipeline, attendableId }) => {
|
|
|
263
290
|
const { invokePromise } = useOperationInvoker();
|
|
264
291
|
const { hasAttention } = useAttention(attendableId);
|
|
265
292
|
const handleColumnAdd = useCallback(() => invokePromise(DeckOperation.ChangeCompanion, {
|
|
266
|
-
companion:
|
|
293
|
+
companion: companionSegment("settings")
|
|
267
294
|
}), [
|
|
268
295
|
invokePromise
|
|
269
296
|
]);
|
|
270
297
|
return /* @__PURE__ */ React3.createElement(PipelineComponent.Root, {
|
|
271
298
|
Item: PipelineItem,
|
|
272
299
|
onAddColumn: handleColumnAdd
|
|
273
|
-
}, /* @__PURE__ */ React3.createElement(
|
|
274
|
-
role
|
|
275
|
-
|
|
276
|
-
}, /* @__PURE__ */ React3.createElement(Panel.Toolbar, {
|
|
300
|
+
}, /* @__PURE__ */ React3.createElement(Panel2.Root, {
|
|
301
|
+
role
|
|
302
|
+
}, /* @__PURE__ */ React3.createElement(Panel2.Toolbar, {
|
|
277
303
|
asChild: true
|
|
278
304
|
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Toolbar, {
|
|
279
305
|
disabled: !hasAttention
|
|
280
|
-
})), /* @__PURE__ */ React3.createElement(
|
|
306
|
+
})), /* @__PURE__ */ React3.createElement(Panel2.Content, {
|
|
281
307
|
asChild: true
|
|
282
308
|
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Content, {
|
|
309
|
+
asChild: true,
|
|
283
310
|
model
|
|
284
311
|
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Columns, {
|
|
285
312
|
pipeline
|
|
@@ -315,4 +342,4 @@ var PipelineContainer_default = PipelineContainer;
|
|
|
315
342
|
export {
|
|
316
343
|
PipelineContainer_default as default
|
|
317
344
|
};
|
|
318
|
-
//# sourceMappingURL=PipelineContainer-
|
|
345
|
+
//# sourceMappingURL=PipelineContainer-LY2P4JPA.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/PipelineContainer/PipelineContainer.tsx", "../../../src/components/PipelineComponent/PipelineColumn.tsx", "../../../src/components/PipelineComponent/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 { companionSegment } from '@dxos/app-toolkit';\nimport { DeckOperation } from '@dxos/plugin-deck/operations';\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, attendableId }: PipelineContainerProps) => {\n const registry = useCapability(Capabilities.AtomRegistry);\n const model = usePipelineBoardModel(pipeline, registry);\n const { invokePromise } = useOperationInvoker();\n const { hasAttention } = useAttention(attendableId);\n\n const handleColumnAdd = useCallback(\n () =>\n invokePromise(DeckOperation.ChangeCompanion, {\n companion: companionSegment('settings'),\n }),\n [invokePromise],\n );\n\n return (\n <PipelineComponent.Root Item={PipelineItem} onAddColumn={handleColumnAdd}>\n <Panel.Root role={role}>\n <Panel.Toolbar asChild>\n <PipelineComponent.Toolbar disabled={!hasAttention} />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <PipelineComponent.Content asChild 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 * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { forwardRef, useMemo, useRef, useState } from 'react';\n\nimport { Annotation, JsonSchema, Obj, Query, Type } from '@dxos/echo';\nimport { resolveSchemaWithRegistry } from '@dxos/plugin-space';\nimport { Filter, getSpace, useObject } from '@dxos/react-client/echo';\nimport { Panel, Toolbar, 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';\nimport { Menu } from '@dxos/react-ui-menu';\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 PipelineTile = useMemo(() => {\n return forwardRef<HTMLDivElement, Pick<MosaicTileProps<Obj.Unknown>, 'classNames' | 'location' | 'data' | 'debug'>>(\n (props, ref) => <ItemTile {...props} itemProps={{ item: props.data, projectionModel }} ref={ref} />,\n );\n }, [projectionModel]);\n\n if (!view) {\n return null;\n }\n\n return (\n <Panel.Root asChild>\n <Board.Column.Root\n debug={debug}\n data={column}\n location={location}\n classNames={classNames}\n dragHandleRef={dragHandleRef}\n >\n <Panel.Toolbar asChild>\n <Board.Column.Header\n classNames='_opacity-10'\n label={column.name || t('untitled view title')}\n dragHandleRef={dragHandleRef}\n />\n </Panel.Toolbar>\n <Panel.Content asChild>\n <Board.Column.Body data={column} Tile={PipelineTile} />\n </Panel.Content>\n </Board.Column.Root>\n </Panel.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 icon = Function.pipe(\n Obj.getSchema(data),\n Option.fromNullable,\n Option.flatMap(Annotation.IconAnnotation.get),\n Option.map(({ icon }) => icon),\n Option.getOrElse(() => 'ph--placeholder--regular'),\n );\n\n return (\n <Menu.Root>\n <Mosaic.Tile asChild id={data.id} data={data} location={location} debug={debug}>\n <Focus.Item asChild>\n <Card.Root classNames={classNames} ref={composedRef}>\n <Card.Toolbar>\n <Card.Icon icon={icon} />\n <Card.Title>{Obj.getLabel(data)}</Card.Title>\n {/* TODO(wittjosiah): Reconcile with Card.Menu. */}\n <Card.IconBlock padding>\n <Menu.Trigger asChild>\n <Toolbar.IconButton\n iconOnly\n variant='ghost'\n icon='ph--dots-three-vertical--regular'\n label='Actions'\n />\n </Menu.Trigger>\n <Menu.Content />\n </Card.IconBlock>\n </Card.Toolbar>\n <Card.Content>\n <Item {...itemProps} />\n </Card.Content>\n </Card.Root>\n </Focus.Item>\n </Mosaic.Tile>\n </Menu.Root>\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 { Slot } from '@radix-ui/react-slot';\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';\nimport { composable, composableProps, slottable } from '@dxos/ui-theme';\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 = slottable<HTMLDivElement, PipelineContentProps>(\n ({ asChild, model, children, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n return (\n <Board.Root model={model}>\n <Comp {...composableProps(props, { role: 'none' })} ref={forwardedRef}>\n {children}\n </Comp>\n </Board.Root>\n );\n },\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 = composable<HTMLDivElement, PipelineColumnsProps>(({ pipeline, ...props }) => {\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, (obj) => mutate(obj.columns)),\n });\n\n return <Board.Content {...props} 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 = composable<HTMLDivElement, ToolbarRootProps>(({ children, ...props }, forwardedRef) => {\n const { t } = useTranslation(meta.id);\n const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);\n\n return (\n <Toolbar.Root {...composableProps(props)} ref={forwardedRef}>\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", "companionSegment", "DeckOperation", "Panel", "useAttention", "useMenu", "useComposedRefs", "Function", "Option", "React", "forwardRef", "useMemo", "useRef", "useState", "Annotation", "JsonSchema", "Obj", "Query", "Type", "resolveSchemaWithRegistry", "Filter", "getSpace", "useObject", "Panel", "Toolbar", "useAsyncEffect", "useTranslation", "Card", "Board", "Focus", "Mosaic", "ProjectionModel", "createEchoChangeCallback", "useAtomValue", "createContext", "Slot", "React", "Obj", "Toolbar", "useTranslation", "Board", "useBoard", "useEventHandlerAdapter", "composable", "composableProps", "slottable", "itemNoOp", "item", "span", "id", "PIPELINE_ROOT", "PipelineRootContext", "usePipeline", "createContext", "Item", "PipelineRoot", "children", "contextValue", "displayName", "PIPELINE_CONTENT_NAME", "PipelineContent", "slottable", "asChild", "model", "props", "forwardedRef", "Comp", "Slot", "Board", "Root", "composableProps", "role", "ref", "PIPELINE_COLUMNS_NAME", "PipelineColumns", "composable", "pipeline", "useBoard", "columns", "useAtomValue", "eventHandler", "useEventHandlerAdapter", "items", "getId", "getColumnId", "get", "data", "make", "object", "canDrop", "source", "isColumn", "onChange", "mutate", "Obj", "change", "obj", "Content", "Tile", "PipelineColumn", "PIPELINE_TOOLBAR_NAME", "PipelineToolbar", "t", "useTranslation", "meta", "onAddColumn", "Toolbar", "IconButton", "icon", "iconOnly", "label", "onClick", "PipelineComponent", "Columns", "Menu", "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", "PipelineTile", "forwardRef", "props", "ref", "React", "ItemTile", "itemProps", "item", "Panel", "Root", "asChild", "Board", "Column", "Toolbar", "Header", "label", "name", "Content", "Body", "Tile", "displayName", "ITEM_TILE_NAME", "forwardedRef", "rootRef", "composedRef", "useComposedRefs", "icon", "pipe", "Obj", "getSchema", "fromNullable", "flatMap", "Annotation", "IconAnnotation", "get", "map", "getOrElse", "Menu", "Mosaic", "Focus", "Card", "Icon", "Title", "getLabel", "IconBlock", "padding", "Trigger", "IconButton", "iconOnly", "variant", "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", "attendableId", "registry", "useCapability", "Capabilities", "AtomRegistry", "model", "usePipelineBoardModel", "invokePromise", "useOperationInvoker", "hasAttention", "useAttention", "handleColumnAdd", "useCallback", "DeckOperation", "ChangeCompanion", "companion", "companionSegment", "React", "PipelineComponent", "Root", "Item", "PipelineItem", "onAddColumn", "Panel", "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/{PipelineObjectSettings-JFOS6Z37.mjs → PipelineObjectSettings-QFMIKJH5.mjs}
RENAMED
|
@@ -13,7 +13,7 @@ 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
15
|
import { ViewModel } from "@dxos/schema";
|
|
16
|
-
import { Pipeline
|
|
16
|
+
import { Pipeline } from "@dxos/types";
|
|
17
17
|
import { mx, osTranslations, subtleHover } from "@dxos/ui-theme";
|
|
18
18
|
import { arrayMove } from "@dxos/util";
|
|
19
19
|
var listGrid = "grid grid-cols-[min-content_1fr_min-content_min-content_min-content]";
|
|
@@ -130,13 +130,13 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
132
|
const newView = ViewModel.make({
|
|
133
|
-
query: Query.select(Filter.
|
|
134
|
-
jsonSchema: JsonSchema.toJsonSchema(
|
|
133
|
+
query: Query.select(Filter.nothing()),
|
|
134
|
+
jsonSchema: JsonSchema.toJsonSchema(Schema.Struct({}))
|
|
135
135
|
});
|
|
136
136
|
space.db.add(newView);
|
|
137
137
|
updateColumns((columns2) => {
|
|
138
138
|
columns2.push({
|
|
139
|
-
name: "
|
|
139
|
+
name: "",
|
|
140
140
|
// Type assertion needed due to QueryAST type variance.
|
|
141
141
|
view: Ref.make(newView),
|
|
142
142
|
order: []
|
|
@@ -170,7 +170,7 @@ var PipelineObjectSettings = ({ classNames, pipeline }) => {
|
|
|
170
170
|
className: mx(subtleHover, listItemGrid, "rounded-xs cursor-pointer min-h-10")
|
|
171
171
|
}, /* @__PURE__ */ React.createElement(List.ItemDragHandle, null), /* @__PURE__ */ React.createElement(List.ItemTitle, {
|
|
172
172
|
onClick: () => handleToggleField(column2)
|
|
173
|
-
}, column2.name), /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
|
|
173
|
+
}, column2.name || t("untitled view title")), /* @__PURE__ */ React.createElement(List.ItemDeleteButton, {
|
|
174
174
|
label: t("delete view label"),
|
|
175
175
|
autoHide: false,
|
|
176
176
|
onClick: () => handleDelete(column2),
|
|
@@ -217,4 +217,4 @@ var PipelineObjectSettings_default = PipelineObjectSettings;
|
|
|
217
217
|
export {
|
|
218
218
|
PipelineObjectSettings_default as default
|
|
219
219
|
};
|
|
220
|
-
//# sourceMappingURL=PipelineObjectSettings-
|
|
220
|
+
//# sourceMappingURL=PipelineObjectSettings-QFMIKJH5.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/PipelineObjectSettings/PipelineObjectSettings.tsx", "../../../src/containers/PipelineObjectSettings/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\n\nimport { DXN, Filter, JsonSchema, Obj, Query, type QueryAST, Ref, Tag } from '@dxos/echo';\nimport { type JsonPath, type Mutable } from '@dxos/echo/internal';\nimport { useTypeOptions } from '@dxos/plugin-space';\nimport { resolveSchemaWithRegistry } from '@dxos/plugin-space';\nimport { getSpace, useObject, useQuery } from '@dxos/react-client/echo';\nimport { IconButton, type ThemedClassName, useAsyncEffect, useTranslation } from '@dxos/react-ui';\nimport { Form, ViewEditor } from '@dxos/react-ui-form';\nimport { List } from '@dxos/react-ui-list';\nimport { type ProjectionModel, ViewModel } from '@dxos/schema';\nimport { Pipeline } from '@dxos/types';\nimport { mx, osTranslations, subtleHover } from '@dxos/ui-theme';\nimport { arrayMove } from '@dxos/util';\n\nimport { meta } from '../../meta';\n\nconst listGrid = 'grid grid-cols-[min-content_1fr_min-content_min-content_min-content]';\nconst listItemGrid = 'grid grid-cols-subgrid col-span-5';\n\nconst ColumnFormSchema = Pipeline.Column.pipe(Schema.mutable, Schema.pick('name'));\n\n// TODO(burdon): Standardize Object/Plugin settings.\nexport type PipelineObjectSettingsProps = ThemedClassName<{\n pipeline: Pipeline.Pipeline;\n}>;\n\n/**\n * Supports editing the pipeline view.\n */\nexport const PipelineObjectSettings = ({ classNames, pipeline }: PipelineObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const space = getSpace(pipeline);\n const [expandedId, setExpandedId] = useState<string>();\n const [columns, updateColumns] = useObject(pipeline, 'columns');\n const column = useMemo(\n () => columns.find((column) => column.view.dxn.toString() === expandedId),\n [columns, expandedId],\n );\n const [view, updateView] = useObject(column?.view);\n const [schema, setSchema] = useState<Schema.Schema.AnyNoContext>(() => Schema.Struct({}));\n const projectionRef = useRef<ProjectionModel>(null);\n const tags = useQuery(space?.db, Filter.type(Tag.Tag));\n const types = useTypeOptions({\n space,\n annotation: {\n location: ['database', 'runtime'],\n kind: ['user'],\n },\n });\n\n useAsyncEffect(async () => {\n if (!view?.query || !space) {\n return;\n }\n\n const foundSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, view.query.ast);\n if (foundSchema && foundSchema !== schema) {\n setSchema(() => foundSchema);\n }\n }, [space, view, schema]);\n\n const handleMove = useCallback(\n (fromIndex: number, toIndex: number) =>\n updateColumns((columns) => {\n arrayMove(columns, fromIndex, toIndex);\n }),\n [updateColumns],\n );\n\n const handleQueryChanged = useCallback(\n async (newQuery: QueryAST.Query, target?: string) => {\n if (!view || !space) {\n return;\n }\n\n const queue = target && DXN.tryParse(target) ? target : undefined;\n const query = queue ? Query.fromAst(newQuery).from({ queues: [queue] }) : Query.fromAst(newQuery);\n updateView((view) => {\n view.query.ast = query.ast as Mutable<typeof query.ast>;\n });\n const newSchema = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);\n if (!newSchema) {\n return;\n }\n\n const newView = ViewModel.make({\n query,\n jsonSchema: JsonSchema.toJsonSchema(newSchema),\n });\n updateView((view) => {\n view.projection = Obj.getSnapshot(newView).projection as Mutable<typeof view.projection>;\n });\n\n setSchema(() => newSchema);\n },\n [view, updateView, schema],\n );\n\n const handleColumnValuesChanged = useCallback(\n (column: Pipeline.Column) =>\n (newValues: { name?: string }, { changed }: { changed: Record<JsonPath, boolean> }) => {\n if (changed['name' as JsonPath]) {\n const columnIndex = columns.findIndex((c) => c === column);\n if (columnIndex === -1) {\n return;\n }\n updateColumns((cols) => {\n cols[columnIndex].name = newValues.name ?? '';\n });\n }\n },\n [columns, updateColumns],\n );\n\n const handleToggleField = useCallback((column: Pipeline.Column) => {\n setExpandedId((prevExpandedId) =>\n prevExpandedId === column.view.dxn.toString() ? undefined : column.view.dxn.toString(),\n );\n }, []);\n\n const handleDelete = useCallback(\n async (column: Pipeline.Column) => {\n if (column.view.dxn.toString() === expandedId) {\n setExpandedId(undefined);\n }\n\n const index = columns.findIndex((l) => l === column);\n const viewToRemove = await column.view.load();\n updateColumns((columns) => {\n columns.splice(index, 1);\n });\n space?.db.remove(viewToRemove);\n },\n [expandedId, columns, updateColumns, space],\n );\n\n const handleAdd = useCallback(() => {\n if (!space) {\n return;\n }\n const newView = ViewModel.make({\n query: Query.select(Filter.nothing()),\n jsonSchema: JsonSchema.toJsonSchema(Schema.Struct({})),\n });\n space.db.add(newView);\n updateColumns((columns) => {\n columns.push({\n name: '',\n // Type assertion needed due to QueryAST type variance.\n view: Ref.make(newView) as (typeof columns)[number]['view'],\n order: [],\n });\n });\n setExpandedId(newView.id);\n }, [space, updateColumns]);\n\n return (\n <div role='none' className={mx('py-form-padding overflow-y-auto', classNames)}>\n <h2 className='text-sm text-description py-1'>{t('views label')}</h2>\n\n <List.Root<Pipeline.Column>\n items={columns}\n isItem={Schema.is(Pipeline.Column)}\n getId={(column) => column.view.dxn.toString()}\n onMove={handleMove}\n >\n {({ items: columns }) => (\n <>\n <div role='list' className={mx(listGrid)}>\n {columns.map((column) => (\n <List.Item<Pipeline.Column>\n key={column.view.dxn.toString()}\n item={column}\n classNames={listItemGrid}\n aria-expanded={expandedId === column.view.dxn.toString()}\n >\n <div role='none' className={mx(subtleHover, listItemGrid, 'rounded-xs cursor-pointer min-h-10')}>\n <List.ItemDragHandle />\n <List.ItemTitle onClick={() => handleToggleField(column)}>\n {column.name || t('untitled view title')}\n </List.ItemTitle>\n <List.ItemDeleteButton\n label={t('delete view label')}\n autoHide={false}\n onClick={() => handleDelete(column)}\n data-testid='view.delete'\n />\n <IconButton\n iconOnly\n variant='ghost'\n label={t('toggle expand label', { ns: osTranslations })}\n icon={\n expandedId === column.view.dxn.toString()\n ? 'ph--caret-down--regular'\n : 'ph--caret-right--regular'\n }\n onClick={() => handleToggleField(column)}\n />\n </div>\n {expandedId === column.view.dxn.toString() && column?.view.target && (\n <div role='none' className='col-span-5 my-2 border border-separator rounded-md'>\n <Form.Root\n schema={ColumnFormSchema}\n values={column}\n onValuesChanged={handleColumnValuesChanged(column)}\n >\n <Form.Content>\n <Form.FieldSet />\n </Form.Content>\n </Form.Root>\n <ViewEditor\n ref={projectionRef}\n mode='tag'\n readonly\n schema={schema}\n view={column.view.target}\n registry={space?.db.schemaRegistry}\n db={space?.db}\n tags={tags}\n types={types}\n onQueryChanged={handleQueryChanged}\n />\n </div>\n )}\n </List.Item>\n ))}\n </div>\n </>\n )}\n </List.Root>\n\n <div role='none' className='my-form-padding'>\n <IconButton icon='ph--plus--regular' label={t('add view label')} onClick={handleAdd} classNames='w-full' />\n </div>\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { PipelineObjectSettings } from './PipelineObjectSettings';\n\nexport default PipelineObjectSettings;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "React", "useCallback", "useMemo", "useRef", "useState", "DXN", "Filter", "JsonSchema", "Obj", "Query", "Ref", "Tag", "useTypeOptions", "resolveSchemaWithRegistry", "getSpace", "useObject", "useQuery", "IconButton", "useAsyncEffect", "useTranslation", "Form", "ViewEditor", "List", "ViewModel", "Pipeline", "mx", "osTranslations", "subtleHover", "arrayMove", "listGrid", "listItemGrid", "ColumnFormSchema", "Pipeline", "Column", "pipe", "mutable", "pick", "PipelineObjectSettings", "classNames", "pipeline", "t", "useTranslation", "meta", "id", "space", "getSpace", "expandedId", "setExpandedId", "useState", "columns", "updateColumns", "useObject", "column", "useMemo", "find", "view", "dxn", "toString", "updateView", "schema", "setSchema", "Struct", "projectionRef", "useRef", "tags", "useQuery", "db", "Filter", "type", "Tag", "types", "useTypeOptions", "annotation", "location", "kind", "useAsyncEffect", "query", "foundSchema", "resolveSchemaWithRegistry", "schemaRegistry", "ast", "handleMove", "useCallback", "fromIndex", "toIndex", "arrayMove", "handleQueryChanged", "newQuery", "target", "queue", "DXN", "tryParse", "undefined", "Query", "fromAst", "from", "queues", "newSchema", "newView", "ViewModel", "make", "jsonSchema", "JsonSchema", "toJsonSchema", "projection", "Obj", "getSnapshot", "handleColumnValuesChanged", "newValues", "changed", "columnIndex", "findIndex", "c", "cols", "name", "handleToggleField", "prevExpandedId", "handleDelete", "index", "l", "viewToRemove", "load", "splice", "remove", "handleAdd", "select", "nothing", "add", "push", "Ref", "order", "div", "role", "className", "mx", "h2", "List", "Root", "items", "isItem", "is", "getId", "onMove", "map", "Item", "key", "item", "aria-expanded", "subtleHover", "ItemDragHandle", "ItemTitle", "onClick", "ItemDeleteButton", "label", "autoHide", "data-testid", "IconButton", "iconOnly", "variant", "ns", "osTranslations", "icon", "Form", "values", "onValuesChanged", "Content", "FieldSet", "ViewEditor", "ref", "mode", "readonly", "registry", "onQueryChanged", "PipelineObjectSettings"]
|
|
7
|
+
}
|
|
@@ -3,23 +3,22 @@ import {
|
|
|
3
3
|
} from "./chunk-3A235GUD.mjs";
|
|
4
4
|
|
|
5
5
|
// src/PipelinePlugin.tsx
|
|
6
|
-
import * as
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
7
8
|
import { Plugin } from "@dxos/app-framework";
|
|
8
9
|
import { AppPlugin } from "@dxos/app-toolkit";
|
|
10
|
+
import { Annotation } from "@dxos/echo";
|
|
11
|
+
import { Operation } from "@dxos/operation";
|
|
12
|
+
import { SpaceOperation } from "@dxos/plugin-space/operations";
|
|
9
13
|
import { Pipeline as Pipeline2 } from "@dxos/types";
|
|
10
14
|
|
|
11
15
|
// src/capabilities/app-graph-builder/index.ts
|
|
12
16
|
import { Capability } from "@dxos/app-framework";
|
|
13
17
|
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-QQKBLYFD.mjs"));
|
|
14
18
|
|
|
15
|
-
// src/capabilities/operation-resolver/operation-resolver.ts
|
|
16
|
-
import * as Effect from "effect/Effect";
|
|
17
|
-
import { Capabilities, Capability as Capability2 } from "@dxos/app-framework";
|
|
18
|
-
var operation_resolver_default = Capability2.makeModule(() => Effect.succeed(Capability2.contributes(Capabilities.OperationResolver, [])));
|
|
19
|
-
|
|
20
19
|
// src/capabilities/react-surface/index.ts
|
|
21
|
-
import { Capability as
|
|
22
|
-
var ReactSurface =
|
|
20
|
+
import { Capability as Capability2 } from "@dxos/app-framework";
|
|
21
|
+
var ReactSurface = Capability2.lazy("ReactSurface", () => import("./react-surface-QVPKOGEI.mjs"));
|
|
23
22
|
|
|
24
23
|
// src/translations.ts
|
|
25
24
|
import { Pipeline } from "@dxos/types";
|
|
@@ -62,13 +61,19 @@ var PipelinePlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
|
62
61
|
metadata: {
|
|
63
62
|
id: Pipeline2.Pipeline.typename,
|
|
64
63
|
metadata: {
|
|
65
|
-
icon:
|
|
66
|
-
iconHue: "
|
|
67
|
-
createObject: (props) =>
|
|
64
|
+
icon: Annotation.IconAnnotation.get(Pipeline2.Pipeline).pipe(Option.getOrThrow).icon,
|
|
65
|
+
iconHue: Annotation.IconAnnotation.get(Pipeline2.Pipeline).pipe(Option.getOrThrow).hue ?? "white",
|
|
66
|
+
createObject: (props, options) => Effect.gen(function* () {
|
|
67
|
+
const object = Pipeline2.make(props);
|
|
68
|
+
return yield* Operation.invoke(SpaceOperation.AddObject, {
|
|
69
|
+
object,
|
|
70
|
+
target: options.target,
|
|
71
|
+
hidden: true,
|
|
72
|
+
targetNodeId: options.targetNodeId
|
|
73
|
+
});
|
|
74
|
+
})
|
|
68
75
|
}
|
|
69
76
|
}
|
|
70
|
-
}), AppPlugin.addOperationResolverModule({
|
|
71
|
-
activate: operation_resolver_default
|
|
72
77
|
}), AppPlugin.addSchemaModule({
|
|
73
78
|
schema: [
|
|
74
79
|
Pipeline2.Pipeline
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/PipelinePlugin.tsx", "../../../src/capabilities/app-graph-builder/index.ts", "../../../src/capabilities/
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { Pipeline } from '@dxos/types';\n\nimport { AppGraphBuilder,
|
|
5
|
-
"mappings": ";;;;;AAIA,YAAYA,
|
|
6
|
-
"names": ["Effect", "
|
|
3
|
+
"sources": ["../../../src/PipelinePlugin.tsx", "../../../src/capabilities/app-graph-builder/index.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/translations.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Annotation } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { SpaceOperation } from '@dxos/plugin-space/operations';\nimport { Pipeline } from '@dxos/types';\n\nimport { AppGraphBuilder, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport const PipelinePlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addMetadataModule({\n metadata: {\n id: Pipeline.Pipeline.typename,\n metadata: {\n icon: Annotation.IconAnnotation.get(Pipeline.Pipeline).pipe(Option.getOrThrow).icon,\n iconHue: Annotation.IconAnnotation.get(Pipeline.Pipeline).pipe(Option.getOrThrow).hue ?? 'white',\n createObject: ((props, options) =>\n Effect.gen(function* () {\n const object = Pipeline.make(props);\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n })) satisfies CreateObject,\n },\n },\n }),\n\n AppPlugin.addSchemaModule({ schema: [Pipeline.Pipeline] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "import { type Resource } from '@dxos/react-ui';\nimport { Pipeline } from '@dxos/types';\n//\n// Copyright 2023 DXOS.org\n//\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [Pipeline.Pipeline.typename]: {\n 'typename label': 'Pipeline',\n 'typename label_zero': 'Pipelines',\n 'typename label_one': 'Pipeline',\n 'typename label_other': 'Pipelines',\n 'object name placeholder': 'New pipeline',\n 'add object label': 'Add pipeline',\n 'rename object label': 'Rename pipeline',\n 'delete object label': 'Delete pipeline',\n 'object deleted label': 'Pipeline deleted',\n },\n [meta.id]: {\n 'plugin name': 'Pipelines',\n 'add column label': 'Add column',\n 'add card label': 'Add object',\n 'untitled view title': 'New view',\n 'enumerating tab label': 'List',\n 'editing tab label': 'Edit',\n 'views label': 'Views',\n 'pipeline invocations label': 'Invocations',\n 'pipeline automation label': 'Automations',\n 'toggle expand label': 'Toggle expand',\n 'delete view label': 'Delete view',\n 'add view label': 'Add view',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAE1B,SAASC,sBAAsB;AAC/B,SAASC,YAAAA,iBAAgB;;;ACTzB,SAASC,kBAAkB;AAEpB,IAAMC,kBAAkBC,WAAWC,KAAK,mBAAmB,MAAM,OAAO,kCAAA,CAAA;;;ACF/E,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,eAAeC,YAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACLzE,SAASC,gBAAgB;AAOlB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,SAASA,SAASC,QAAQ,GAAG;QAC5B,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,oBAAoB;QACpB,kBAAkB;QAClB,uBAAuB;QACvB,yBAAyB;QACzB,qBAAqB;QACrB,eAAe;QACf,8BAA8B;QAC9B,6BAA6B;QAC7B,uBAAuB;QACvB,qBAAqB;QACrB,kBAAkB;MACpB;IACF;EACF;;;;AHlBK,IAAMC,iBAAiBC,OAAOC,OAAOC,IAAAA,EAAMC,KAChDC,UAAUC,kBAAkB;EAAEC,UAAUC;AAAgB,CAAA,GACxDH,UAAUI,kBAAkB;EAC1BC,UAAU;IACRC,IAAIC,UAASA,SAASC;IACtBH,UAAU;MACRI,MAAMC,WAAWC,eAAeC,IAAIL,UAASA,QAAQ,EAAER,KAAYc,iBAAU,EAAEJ;MAC/EK,SAASJ,WAAWC,eAAeC,IAAIL,UAASA,QAAQ,EAAER,KAAYc,iBAAU,EAAEE,OAAO;MACzFC,cAAe,CAACC,OAAOC,YACdC,WAAI,aAAA;AACT,cAAMC,SAASb,UAASc,KAAKJ,KAAAA;AAC7B,eAAO,OAAOK,UAAUC,OAAOC,eAAeC,WAAW;UACvDL;UACAM,QAAQR,QAAQQ;UAChBC,QAAQ;UACRC,cAAcV,QAAQU;QACxB,CAAA;MACF,CAAA;IACJ;EACF;AACF,CAAA,GAEA5B,UAAU6B,gBAAgB;EAAEC,QAAQ;IAACvB,UAASA;;AAAU,CAAA,GACxDP,UAAU+B,iBAAiB;EAAE7B,UAAU8B;AAAa,CAAA,GACpDhC,UAAUiC,sBAAsB;EAAEC;AAAa,CAAA,GAC/CtC,OAAOyB,IAAI;",
|
|
6
|
+
"names": ["Effect", "Option", "Plugin", "AppPlugin", "Annotation", "Operation", "SpaceOperation", "Pipeline", "Capability", "AppGraphBuilder", "Capability", "lazy", "Capability", "ReactSurface", "Capability", "lazy", "Pipeline", "translations", "Pipeline", "typename", "meta", "id", "PipelinePlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addAppGraphModule", "activate", "AppGraphBuilder", "addMetadataModule", "metadata", "id", "Pipeline", "typename", "icon", "Annotation", "IconAnnotation", "get", "getOrThrow", "iconHue", "hue", "createObject", "props", "options", "gen", "object", "make", "Operation", "invoke", "SpaceOperation", "AddObject", "target", "hidden", "targetNodeId", "addSchemaModule", "schema", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations"]
|
|
7
7
|
}
|