@dxos/plugin-pipeline 0.8.4-main.2244d791bb → 0.8.4-main.3fbcb4aa9b
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/neutral/PipelineContainer-7MK2SS76.mjs +69 -0
- package/dist/lib/neutral/PipelineContainer-7MK2SS76.mjs.map +7 -0
- package/dist/lib/neutral/PipelinePlugin.mjs +26 -0
- package/dist/lib/neutral/PipelinePlugin.mjs.map +7 -0
- package/dist/lib/neutral/PipelinePlugin.node.mjs +21 -0
- package/dist/lib/neutral/PipelinePlugin.node.mjs.map +7 -0
- package/dist/lib/{browser/PipelineSettings-R54RTVWZ.mjs → neutral/PipelineProperties-RRPQ3V6I.mjs} +45 -56
- package/dist/lib/neutral/PipelineProperties-RRPQ3V6I.mjs.map +7 -0
- package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs +44 -0
- package/dist/lib/neutral/app-graph-builder-ZLGRWRJU.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +11 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/{browser/chunk-QWNKLHBY.mjs → neutral/chunk-ULB5DKWO.mjs} +2 -9
- package/dist/lib/{browser/chunk-QWNKLHBY.mjs.map → neutral/chunk-ULB5DKWO.mjs.map} +3 -3
- package/dist/lib/neutral/components/index.mjs +206 -0
- package/dist/lib/neutral/components/index.mjs.map +7 -0
- package/dist/lib/neutral/containers/index.mjs +9 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-object-ZJYFACOI.mjs +25 -0
- package/dist/lib/neutral/create-object-ZJYFACOI.mjs.map +7 -0
- package/dist/lib/neutral/hooks/index.mjs +70 -0
- package/dist/lib/neutral/hooks/index.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +7 -0
- package/dist/lib/neutral/meta.mjs.map +7 -0
- package/dist/lib/neutral/plugin.mjs +11 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/neutral/react-surface-TW6TRMO6.mjs +49 -0
- package/dist/lib/neutral/react-surface-TW6TRMO6.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +38 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/neutral/types/index.mjs +1 -0
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/PipelinePlugin.d.ts +1 -0
- package/dist/types/src/PipelinePlugin.d.ts.map +1 -1
- package/dist/types/src/PipelinePlugin.node.d.ts +4 -0
- package/dist/types/src/PipelinePlugin.node.d.ts.map +1 -0
- package/dist/types/src/PipelinePlugin.test.d.ts +2 -0
- package/dist/types/src/PipelinePlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +9 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/components/{PipelineColumn.d.ts → PipelineComponent/PipelineColumn.d.ts} +4 -4
- package/dist/types/src/components/PipelineComponent/PipelineColumn.d.ts.map +1 -0
- package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts +53 -0
- package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts.map +1 -0
- package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts +62 -0
- package/dist/types/src/components/PipelineComponent/PipelineComponent.stories.d.ts.map +1 -0
- package/dist/types/src/components/PipelineComponent/index.d.ts +3 -0
- package/dist/types/src/components/PipelineComponent/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +1 -4
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts +6 -0
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts +76 -0
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineContainer/index.d.ts +2 -0
- package/dist/types/src/containers/PipelineContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineProperties/PipelineProperties.d.ts +11 -0
- package/dist/types/src/containers/PipelineProperties/PipelineProperties.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineProperties/index.d.ts +2 -0
- package/dist/types/src/containers/PipelineProperties/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/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +3 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/templates/research.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +44 -25
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +0 -2
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +100 -54
- package/src/PipelinePlugin.node.ts +19 -0
- package/src/PipelinePlugin.test.ts +27 -0
- package/src/PipelinePlugin.tsx +7 -31
- package/src/capabilities/app-graph-builder.ts +40 -0
- package/src/capabilities/create-object.ts +29 -0
- package/src/capabilities/index.ts +5 -3
- package/src/capabilities/react-surface.tsx +53 -0
- package/src/components/{PipelineColumn.tsx → PipelineComponent/PipelineColumn.tsx} +67 -48
- package/src/components/{PipelineComponent.stories.tsx → PipelineComponent/PipelineComponent.stories.tsx} +40 -32
- package/src/components/PipelineComponent/PipelineComponent.tsx +140 -0
- package/src/components/PipelineComponent/index.ts +6 -0
- package/src/components/index.ts +1 -7
- package/src/containers/PipelineContainer/PipelineContainer.stories.tsx +230 -0
- package/src/containers/PipelineContainer/PipelineContainer.tsx +84 -0
- package/src/containers/PipelineContainer/index.ts +5 -0
- package/src/{components/PipelineSettings.tsx → containers/PipelineProperties/PipelineProperties.tsx} +50 -43
- package/src/containers/PipelineProperties/index.ts +5 -0
- package/src/containers/index.ts +8 -0
- package/src/hooks/index.ts +5 -0
- package/src/hooks/usePipelineBoardModel.ts +79 -0
- package/src/index.ts +0 -1
- package/src/meta.ts +1 -1
- package/src/plugin.ts +9 -0
- package/src/templates/research.ts +16 -17
- package/src/translations.ts +22 -21
- package/src/types/index.ts +0 -3
- package/dist/lib/browser/PipelineContainer-2BRZPECS.mjs +0 -289
- package/dist/lib/browser/PipelineContainer-2BRZPECS.mjs.map +0 -7
- package/dist/lib/browser/PipelineSettings-R54RTVWZ.mjs.map +0 -7
- package/dist/lib/browser/app-graph-builder-NUJB33F7.mjs +0 -65
- package/dist/lib/browser/app-graph-builder-NUJB33F7.mjs.map +0 -7
- package/dist/lib/browser/chunk-7GVESVYR.mjs +0 -42
- package/dist/lib/browser/chunk-7GVESVYR.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -109
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-CMTEEE6F.mjs +0 -57
- package/dist/lib/browser/react-surface-CMTEEE6F.mjs.map +0 -7
- package/dist/lib/browser/types/index.mjs +0 -10
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +0 -6
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +0 -1
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts +0 -3
- package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +0 -1
- 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/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +0 -5
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
- package/dist/types/src/components/PipelineColumn.d.ts.map +0 -1
- package/dist/types/src/components/PipelineComponent.d.ts +0 -44
- package/dist/types/src/components/PipelineComponent.d.ts.map +0 -1
- package/dist/types/src/components/PipelineComponent.stories.d.ts +0 -42
- package/dist/types/src/components/PipelineComponent.stories.d.ts.map +0 -1
- package/dist/types/src/components/PipelineContainer.d.ts +0 -7
- package/dist/types/src/components/PipelineContainer.d.ts.map +0 -1
- package/dist/types/src/components/PipelineContainer.stories.d.ts +0 -56
- package/dist/types/src/components/PipelineContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/PipelineSettings.d.ts +0 -12
- package/dist/types/src/components/PipelineSettings.d.ts.map +0 -1
- package/dist/types/src/types/PipelineAction.d.ts +0 -25
- package/dist/types/src/types/PipelineAction.d.ts.map +0 -1
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +0 -51
- package/src/capabilities/app-graph-builder/index.ts +0 -7
- package/src/capabilities/operation-resolver/index.ts +0 -5
- package/src/capabilities/operation-resolver/operation-resolver.ts +0 -29
- package/src/capabilities/react-surface/index.ts +0 -7
- package/src/capabilities/react-surface/react-surface.tsx +0 -50
- package/src/components/PipelineComponent.tsx +0 -186
- package/src/components/PipelineContainer.stories.tsx +0 -226
- package/src/components/PipelineContainer.tsx +0 -61
- package/src/types/PipelineAction.ts +0 -29
- /package/dist/lib/{browser/types → neutral}/index.mjs.map +0 -0
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
meta
|
|
3
|
-
} from "./chunk-QWNKLHBY.mjs";
|
|
4
|
-
|
|
5
|
-
// src/components/PipelineContainer.tsx
|
|
6
|
-
import React3, { useCallback } from "react";
|
|
7
|
-
import { Capabilities } from "@dxos/app-framework";
|
|
8
|
-
import { useCapability } from "@dxos/app-framework/ui";
|
|
9
|
-
import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
10
|
-
import { Surface } from "@dxos/app-framework/ui";
|
|
11
|
-
import { Obj as Obj3 } from "@dxos/echo";
|
|
12
|
-
import { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from "@dxos/plugin-deck/types";
|
|
13
|
-
import { Layout } from "@dxos/react-ui";
|
|
14
|
-
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";
|
|
28
|
-
|
|
29
|
-
// src/components/PipelineColumn.tsx
|
|
30
|
-
import { useAtomValue } from "@effect-atom/atom-react";
|
|
31
|
-
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
32
|
-
import React, { forwardRef, useMemo, useRef, useState } from "react";
|
|
33
|
-
import { Obj, Query, Type } from "@dxos/echo";
|
|
34
|
-
import { resolveSchemaWithRegistry } from "@dxos/plugin-space";
|
|
35
|
-
import { Filter, getSpace, useObject } from "@dxos/react-client/echo";
|
|
36
|
-
import { useAsyncEffect, useTranslation } from "@dxos/react-ui";
|
|
37
|
-
import { Board, Card, Focus, Mosaic, useBoard } from "@dxos/react-ui-mosaic";
|
|
38
|
-
import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
|
|
39
|
-
import { mx } from "@dxos/ui-theme";
|
|
40
|
-
var PIPELINE_COLUMN_NAME = "PipelineColumn";
|
|
41
|
-
var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
42
|
-
const { t } = useTranslation(meta.id);
|
|
43
|
-
const { model } = useBoard(PIPELINE_COLUMN_NAME);
|
|
44
|
-
const items = useAtomValue(model.items(column));
|
|
45
|
-
const [viewSnapshot] = useObject(column.view);
|
|
46
|
-
const view = column.view.target;
|
|
47
|
-
const space = getSpace(view);
|
|
48
|
-
const { Item } = usePipeline(PIPELINE_COLUMN_NAME);
|
|
49
|
-
const [schema, setSchema] = useState();
|
|
50
|
-
const query = useMemo(() => {
|
|
51
|
-
if (!view) {
|
|
52
|
-
return Query.select(Filter.nothing());
|
|
53
|
-
} else {
|
|
54
|
-
return Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot?.query.ast)));
|
|
55
|
-
}
|
|
56
|
-
}, [
|
|
57
|
-
JSON.stringify(viewSnapshot?.query.ast)
|
|
58
|
-
]);
|
|
59
|
-
useAsyncEffect(async () => {
|
|
60
|
-
if (!query || !space?.db) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
const schema2 = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);
|
|
64
|
-
setSchema(() => schema2);
|
|
65
|
-
}, [
|
|
66
|
-
space,
|
|
67
|
-
query
|
|
68
|
-
]);
|
|
69
|
-
const projectionModel = useMemo(() => {
|
|
70
|
-
if (!schema || !view) {
|
|
71
|
-
return void 0;
|
|
72
|
-
}
|
|
73
|
-
const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : Type.toJsonSchema(schema);
|
|
74
|
-
const change = createEchoChangeCallback(view, Type.isMutable(schema) ? schema : void 0);
|
|
75
|
-
return new ProjectionModel({
|
|
76
|
-
view,
|
|
77
|
-
baseSchema: jsonSchema,
|
|
78
|
-
change
|
|
79
|
-
});
|
|
80
|
-
}, [
|
|
81
|
-
schema,
|
|
82
|
-
view
|
|
83
|
-
]);
|
|
84
|
-
const Tile = useMemo(() => {
|
|
85
|
-
return /* @__PURE__ */ forwardRef((props, ref) => /* @__PURE__ */ React.createElement(ItemTile, {
|
|
86
|
-
...props,
|
|
87
|
-
ref,
|
|
88
|
-
itemProps: {
|
|
89
|
-
item: props.data,
|
|
90
|
-
projectionModel
|
|
91
|
-
}
|
|
92
|
-
}));
|
|
93
|
-
}, [
|
|
94
|
-
Item,
|
|
95
|
-
projectionModel
|
|
96
|
-
]);
|
|
97
|
-
if (!view) {
|
|
98
|
-
return null;
|
|
99
|
-
}
|
|
100
|
-
const dragHandleRef = useRef(null);
|
|
101
|
-
return /* @__PURE__ */ React.createElement(Board.Column.Root, {
|
|
102
|
-
data: column,
|
|
103
|
-
location,
|
|
104
|
-
classNames,
|
|
105
|
-
debug,
|
|
106
|
-
dragHandleRef
|
|
107
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
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",
|
|
113
|
-
label: column.name ?? t("untitled view title"),
|
|
114
|
-
dragHandleRef
|
|
115
|
-
}), /* @__PURE__ */ React.createElement(Board.Column.Body, {
|
|
116
|
-
data: column,
|
|
117
|
-
Tile
|
|
118
|
-
})));
|
|
119
|
-
};
|
|
120
|
-
PipelineColumn.displayName = PIPELINE_COLUMN_NAME;
|
|
121
|
-
var ITEM_TILE_NAME = "ItemTile";
|
|
122
|
-
var ItemTile = /* @__PURE__ */ forwardRef(({ classNames, data, location, debug, itemProps }, forwardedRef) => {
|
|
123
|
-
const rootRef = useRef(null);
|
|
124
|
-
const composedRef = useComposedRefs(rootRef, forwardedRef);
|
|
125
|
-
const { Item } = usePipeline(ITEM_TILE_NAME);
|
|
126
|
-
return /* @__PURE__ */ React.createElement(Mosaic.Tile, {
|
|
127
|
-
asChild: true,
|
|
128
|
-
id: data.id,
|
|
129
|
-
data,
|
|
130
|
-
location,
|
|
131
|
-
debug
|
|
132
|
-
}, /* @__PURE__ */ React.createElement(Focus.Group, {
|
|
133
|
-
asChild: true
|
|
134
|
-
}, /* @__PURE__ */ React.createElement(Card.Root, {
|
|
135
|
-
classNames,
|
|
136
|
-
ref: composedRef
|
|
137
|
-
}, /* @__PURE__ */ React.createElement(Card.Toolbar, null, /* @__PURE__ */ React.createElement(Card.DragHandle, null), /* @__PURE__ */ React.createElement(Card.Title, null, Obj.getLabel(data)), /* @__PURE__ */ React.createElement(Card.Menu, null)), /* @__PURE__ */ React.createElement(Card.Content, null, /* @__PURE__ */ React.createElement(Item, itemProps)))));
|
|
138
|
-
});
|
|
139
|
-
ItemTile.displayName = ITEM_TILE_NAME;
|
|
140
|
-
|
|
141
|
-
// src/components/PipelineComponent.tsx
|
|
142
|
-
var itemNoOp = ({ item }) => /* @__PURE__ */ React2.createElement("span", null, item.id);
|
|
143
|
-
var PIPELINE_ROOT = "Pipeline.Root";
|
|
144
|
-
var [PipelineRootContext, usePipeline] = createContext(PIPELINE_ROOT, {
|
|
145
|
-
Item: itemNoOp
|
|
146
|
-
});
|
|
147
|
-
var PipelineRoot = ({ model, children, ...contextValue }) => /* @__PURE__ */ React2.createElement(PipelineRootContext, contextValue, /* @__PURE__ */ React2.createElement(Board2.Root, {
|
|
148
|
-
model
|
|
149
|
-
}, children));
|
|
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
|
-
};
|
|
163
|
-
var usePipelineBoardModel = (pipeline, registry) => useMemo2(() => {
|
|
164
|
-
if (pipeline == null) {
|
|
165
|
-
return emptyPipelineModel;
|
|
166
|
-
}
|
|
167
|
-
const space = getSpace2(pipeline);
|
|
168
|
-
const columnsAtom = AtomObj.makeProperty(pipeline, "columns");
|
|
169
|
-
const columnAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
|
|
170
|
-
const columns = get(columnsAtom);
|
|
171
|
-
return columns.find((c) => c.view.dxn.toString() === viewKey);
|
|
172
|
-
}));
|
|
173
|
-
const itemsAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
|
|
174
|
-
const column = get(columnAtomFamily(viewKey));
|
|
175
|
-
if (column == null) {
|
|
176
|
-
return [];
|
|
177
|
-
}
|
|
178
|
-
const viewSnapshot = get(AtomObj.make(column.view));
|
|
179
|
-
if (!viewSnapshot?.query?.ast) {
|
|
180
|
-
return [];
|
|
181
|
-
}
|
|
182
|
-
const query = Query2.fromAst(JSON.parse(JSON.stringify(viewSnapshot.query.ast)));
|
|
183
|
-
const queryTarget = space ? getQueryTarget(query.ast, space) : void 0;
|
|
184
|
-
if (!queryTarget) {
|
|
185
|
-
return [];
|
|
186
|
-
}
|
|
187
|
-
const raw = get(AtomQuery.make(queryTarget, query));
|
|
188
|
-
return isSpace(queryTarget) ? raw : [
|
|
189
|
-
...raw
|
|
190
|
-
].reverse();
|
|
191
|
-
}));
|
|
192
|
-
return {
|
|
193
|
-
getColumnId: (data) => data.view.dxn.toString(),
|
|
194
|
-
getItemId: (data) => data.id,
|
|
195
|
-
isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
|
|
196
|
-
isItem: (obj) => Obj2.isObject(obj),
|
|
197
|
-
columns: columnsAtom,
|
|
198
|
-
items: (column) => itemsAtomFamily(column.view.dxn.toString()),
|
|
199
|
-
getColumns: () => [
|
|
200
|
-
...registry.get(columnsAtom)
|
|
201
|
-
],
|
|
202
|
-
getItems: (column) => registry.get(itemsAtomFamily(column.view.dxn.toString())) ?? []
|
|
203
|
-
};
|
|
204
|
-
}, [
|
|
205
|
-
pipeline,
|
|
206
|
-
registry
|
|
207
|
-
]);
|
|
208
|
-
var PIPELINE_CONTENT_NAME = "Pipeline.Content";
|
|
209
|
-
var PipelineContent = ({ pipeline }) => {
|
|
210
|
-
const { model } = useBoard2(PIPELINE_CONTENT_NAME);
|
|
211
|
-
const columns = useAtomValue2(model.columns);
|
|
212
|
-
const eventHandler = useEventHandlerAdapter({
|
|
213
|
-
id: pipeline.id,
|
|
214
|
-
// TODO(wittjosiah): Cast because columns array is readonly.
|
|
215
|
-
items: columns,
|
|
216
|
-
getId: model.getColumnId,
|
|
217
|
-
get: (data) => data,
|
|
218
|
-
make: (object) => object,
|
|
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
|
-
};
|
|
246
|
-
|
|
247
|
-
// src/components/PipelineContainer.tsx
|
|
248
|
-
var PipelineContainer = ({ role, subject: pipeline }) => {
|
|
249
|
-
const registry = useCapability(Capabilities.AtomRegistry);
|
|
250
|
-
const model = usePipelineBoardModel(pipeline, registry);
|
|
251
|
-
const { invokePromise } = useOperationInvoker();
|
|
252
|
-
const attendableId = Obj3.getDXN(pipeline).toString();
|
|
253
|
-
const { hasAttention } = useAttention(attendableId);
|
|
254
|
-
const handleColumnAdd = useCallback(() => invokePromise(DeckOperation.ChangeCompanion, {
|
|
255
|
-
primary: attendableId,
|
|
256
|
-
companion: `${attendableId}${ATTENDABLE_PATH_SEPARATOR}settings`
|
|
257
|
-
}), [
|
|
258
|
-
invokePromise,
|
|
259
|
-
attendableId
|
|
260
|
-
]);
|
|
261
|
-
return /* @__PURE__ */ React3.createElement(Layout.Main, {
|
|
262
|
-
role,
|
|
263
|
-
toolbar: true
|
|
264
|
-
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Root, {
|
|
265
|
-
Item: PipelineItem,
|
|
266
|
-
model,
|
|
267
|
-
onAddColumn: handleColumnAdd
|
|
268
|
-
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Toolbar, {
|
|
269
|
-
disabled: !hasAttention
|
|
270
|
-
}), /* @__PURE__ */ React3.createElement(PipelineComponent.Content, {
|
|
271
|
-
pipeline
|
|
272
|
-
})));
|
|
273
|
-
};
|
|
274
|
-
var PipelineItem = ({ item, projectionModel }) => {
|
|
275
|
-
return /* @__PURE__ */ React3.createElement(Surface.Surface, {
|
|
276
|
-
role: "card--content",
|
|
277
|
-
data: {
|
|
278
|
-
subject: item,
|
|
279
|
-
projection: projectionModel
|
|
280
|
-
},
|
|
281
|
-
limit: 1
|
|
282
|
-
});
|
|
283
|
-
};
|
|
284
|
-
var PipelineContainer_default = PipelineContainer;
|
|
285
|
-
export {
|
|
286
|
-
PipelineContainer,
|
|
287
|
-
PipelineContainer_default as default
|
|
288
|
-
};
|
|
289
|
-
//# sourceMappingURL=PipelineContainer-2BRZPECS.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/PipelineContainer.tsx", "../../../src/components/PipelineComponent.tsx", "../../../src/components/PipelineColumn.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback } 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 { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckOperation } from '@dxos/plugin-deck/types';\nimport { Layout } from '@dxos/react-ui';\nimport { useAttention } from '@dxos/react-ui-attention';\nimport { type Pipeline as PipelineType } from '@dxos/types';\n\nimport { type ItemProps, PipelineComponent, usePipelineBoardModel } from './PipelineComponent';\n\nexport type PipelineContainerProps = SurfaceComponentProps<PipelineType.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 primary: attendableId,\n companion: `${attendableId}${ATTENDABLE_PATH_SEPARATOR}settings`,\n }),\n [invokePromise, attendableId],\n );\n\n return (\n <Layout.Main role={role} toolbar>\n <PipelineComponent.Root Item={PipelineItem} model={model} onAddColumn={handleColumnAdd}>\n <PipelineComponent.Toolbar disabled={!hasAttention} />\n <PipelineComponent.Content pipeline={pipeline} />\n </PipelineComponent.Root>\n </Layout.Main>\n );\n};\n\nconst PipelineItem = ({ item, projectionModel }: ItemProps) => {\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\nexport default PipelineContainer;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom, type Registry, useAtomValue } from '@effect-atom/atom-react';\nimport { createContext } from '@radix-ui/react-context';\nimport * as Schema from 'effect/Schema';\nimport React, { type FC, type PropsWithChildren, 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 { 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 { Pipeline, type Pipeline as PipelineType } 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\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 // onAddItem?: (schema: Schema.Schema.AnyNoContext) => void;\n onAddColumn?: () => void;\n};\n\n//\n// Root\n//\n\ntype PipelineRootProps = PropsWithChildren<\n PipelineContextValue & {\n model: BoardModel<PipelineType.Column, Obj.Unknown>;\n }\n>;\n\nconst PIPELINE_ROOT = 'Pipeline.Root';\n\nconst [PipelineRootContext, usePipeline] = createContext<PipelineContextValue>(PIPELINE_ROOT, {\n Item: itemNoOp,\n});\n\nconst PipelineRoot = ({ model, children, ...contextValue }: PipelineRootProps) => (\n <PipelineRootContext {...contextValue}>\n <Board.Root model={model}>{children}</Board.Root>\n </PipelineRootContext>\n);\n\nPipelineRoot.displayName = PIPELINE_ROOT;\n\n//\n// usePipelineBoardModel\n//\n\nconst emptyColumnsAtom = Atom.make(() => [] as PipelineType.Column[]);\nconst emptyItemsAtom = Atom.make(() => [] as Obj.Unknown[]);\nconst emptyPipelineModel: BoardModel<PipelineType.Column, Obj.Unknown> = {\n getColumnId: (data) => (data as PipelineType.Column).view.dxn.toString(),\n getItemId: (data) => (data as Obj.Unknown).id,\n isColumn: (obj: unknown): obj is PipelineType.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\nconst usePipelineBoardModel = (\n pipeline: PipelineType.Pipeline | undefined,\n registry: Registry.Registry,\n): BoardModel<PipelineType.Column, Obj.Unknown> =>\n useMemo<BoardModel<PipelineType.Column, Obj.Unknown>>(() => {\n if (pipeline == null) {\n return emptyPipelineModel;\n }\n const space = getSpace(pipeline);\n const columnsAtom = AtomObj.makeProperty(pipeline, 'columns');\n const columnAtomFamily = Atom.family<string, Atom.Atom<PipelineType.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 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 return {\n getColumnId: (data) => (data as PipelineType.Column).view.dxn.toString(),\n getItemId: (data) => (data as Obj.Unknown).id,\n isColumn: (obj: unknown): obj is PipelineType.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\n//\n// Content\n//\n\nconst PIPELINE_CONTENT_NAME = 'Pipeline.Content';\n\ntype PipelineContentProps = {\n pipeline: PipelineType.Pipeline;\n};\n\nconst PipelineContent = ({ pipeline }: PipelineContentProps) => {\n const { model } = useBoard(PIPELINE_CONTENT_NAME);\n const columns = useAtomValue(model.columns);\n const eventHandler = useEventHandlerAdapter<PipelineType.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 PipelineType.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\nPipelineContent.displayName = PIPELINE_CONTENT_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 Toolbar: PipelineToolbar,\n};\n\nexport { usePipeline, usePipelineBoardModel };\n\nexport type { ItemProps, PipelineContextValue, PipelineRootProps };\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useAtomValue } from '@effect-atom/atom-react';\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 { 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 { Board, Card, Focus, Mosaic, type MosaicTileProps, useBoard } from '@dxos/react-ui-mosaic';\nimport { ProjectionModel, createEchoChangeCallback } from '@dxos/schema';\nimport { type Pipeline } from '@dxos/types';\nimport { mx } from '@dxos/ui-theme';\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 { model } = useBoard<Pipeline.Column, Obj.Unknown>(PIPELINE_COLUMN_NAME);\n const items = useAtomValue(model.items(column));\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 : Type.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 const dragHandleRef = useRef<HTMLButtonElement>(null);\n\n return (\n <Board.Column.Root\n data={column}\n location={location}\n classNames={classNames}\n debug={debug}\n dragHandleRef={dragHandleRef}\n >\n <div\n role='none'\n data-testid='board-column'\n className={mx('group/column grid bs-full overflow-hidden grid-rows-[var(--rail-action)_1fr]', classNames)}\n >\n <Board.Column.Header\n classNames='border-be border-separator'\n label={column.name ?? t('untitled view title')}\n dragHandleRef={dragHandleRef}\n />\n <Board.Column.Body data={column} Tile={Tile} />\n </div>\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\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>{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"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["React", "useCallback", "Capabilities", "useCapability", "useOperationInvoker", "Surface", "Obj", "ATTENDABLE_PATH_SEPARATOR", "DeckOperation", "Layout", "useAttention", "Atom", "useAtomValue", "createContext", "Schema", "React", "useMemo", "Obj", "Query", "AtomObj", "AtomQuery", "getQueryTarget", "getSpace", "isSpace", "Toolbar", "useTranslation", "Board", "useBoard", "useEventHandlerAdapter", "Pipeline", "useAtomValue", "useComposedRefs", "React", "forwardRef", "useMemo", "useRef", "useState", "Obj", "Query", "Type", "resolveSchemaWithRegistry", "Filter", "getSpace", "useObject", "useAsyncEffect", "useTranslation", "Board", "Card", "Focus", "Mosaic", "useBoard", "ProjectionModel", "createEchoChangeCallback", "mx", "PIPELINE_COLUMN_NAME", "PipelineColumn", "data", "column", "location", "classNames", "debug", "t", "useTranslation", "meta", "id", "model", "useBoard", "items", "useAtomValue", "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", "toJsonSchema", "change", "createEchoChangeCallback", "ProjectionModel", "baseSchema", "Tile", "forwardRef", "props", "ref", "ItemTile", "itemProps", "item", "dragHandleRef", "useRef", "Board", "Column", "Root", "div", "role", "data-testid", "className", "mx", "Header", "label", "name", "Body", "displayName", "ITEM_TILE_NAME", "forwardedRef", "rootRef", "composedRef", "useComposedRefs", "Mosaic", "asChild", "Focus", "Group", "Card", "Toolbar", "DragHandle", "Title", "Obj", "getLabel", "Menu", "Content", "itemNoOp", "item", "React", "span", "id", "PIPELINE_ROOT", "PipelineRootContext", "usePipeline", "createContext", "Item", "PipelineRoot", "model", "children", "contextValue", "Board", "Root", "displayName", "emptyColumnsAtom", "Atom", "make", "emptyItemsAtom", "emptyPipelineModel", "getColumnId", "data", "view", "dxn", "toString", "getItemId", "isColumn", "obj", "is", "Pipeline", "Column", "isItem", "Obj", "isObject", "columns", "items", "getColumns", "getItems", "usePipelineBoardModel", "pipeline", "registry", "useMemo", "space", "getSpace", "columnsAtom", "AtomObj", "makeProperty", "columnAtomFamily", "family", "viewKey", "get", "find", "c", "itemsAtomFamily", "column", "viewSnapshot", "query", "ast", "Query", "fromAst", "JSON", "parse", "stringify", "queryTarget", "getQueryTarget", "undefined", "raw", "AtomQuery", "isSpace", "reverse", "PIPELINE_CONTENT_NAME", "PipelineContent", "useBoard", "useAtomValue", "eventHandler", "useEventHandlerAdapter", "getId", "object", "canDrop", "source", "onChange", "mutate", "change", "p", "Content", "Tile", "PipelineColumn", "PIPELINE_TOOLBAR_NAME", "PipelineToolbar", "props", "t", "useTranslation", "meta", "onAddColumn", "Toolbar", "IconButton", "icon", "iconOnly", "label", "onClick", "PipelineComponent", "PipelineContainer", "role", "subject", "pipeline", "registry", "useCapability", "Capabilities", "AtomRegistry", "model", "usePipelineBoardModel", "invokePromise", "useOperationInvoker", "attendableId", "Obj", "getDXN", "toString", "hasAttention", "useAttention", "handleColumnAdd", "useCallback", "DeckOperation", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "React", "Layout", "Main", "toolbar", "PipelineComponent", "Root", "Item", "PipelineItem", "onAddColumn", "Toolbar", "disabled", "Content", "item", "projectionModel", "Surface", "data", "projection", "limit"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/PipelineSettings.tsx"],
|
|
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, Query, type QueryAST, Ref, Tag, Type } from '@dxos/echo';\nimport { 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, View } from '@dxos/schema';\nimport { Pipeline, Task } 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 registered: ['registered', 'unregistered'],\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).options({ 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 = View.make({\n query,\n jsonSchema: Type.toJsonSchema(newSchema),\n });\n updateView((view) => {\n view.projection = newView.projection as Mutable<typeof view.projection>;\n });\n\n setSchema(() => newSchema);\n },\n [view, updateView, schema],\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 = View.make({\n query: Query.select(Filter.type(Task.Task)),\n jsonSchema: Type.toJsonSchema(Task.Task),\n });\n space.db.add(newView);\n updateColumns((columns) => {\n columns.push({\n name: 'Tasks',\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 const handleColumnSave = useCallback(\n (values: Schema.Schema.Type<typeof ColumnFormSchema>) => {\n if (column) {\n const columnIndex = columns.findIndex((c) => c === column);\n updateColumns((columns) => {\n columns[columnIndex].name = values.name;\n });\n }\n },\n [column, columns, updateColumns],\n );\n\n return (\n <div role='none' className={mx('plb-cardSpacingBlock overflow-y-auto', classNames)}>\n <h2 className='text-sm text-description plb-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-sm cursor-pointer min-bs-10')}>\n <List.ItemDragHandle />\n <List.ItemTitle onClick={() => handleToggleField(column)}>{column.name}</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 mlb-2 border border-separator rounded-md'>\n <Form.Root schema={ColumnFormSchema} values={column} autoSave onSave={handleColumnSave}>\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 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='mlb-cardSpacingBlock'>\n <IconButton icon='ph--plus--regular' label={t('add view label')} onClick={handleAdd} classNames='is-full' />\n </div>\n </div>\n );\n};\n\nexport default PipelineObjectSettings;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["Schema", "React", "useCallback", "useMemo", "useRef", "useState", "DXN", "Filter", "Query", "Ref", "Tag", "Type", "useTypeOptions", "resolveSchemaWithRegistry", "getSpace", "useObject", "useQuery", "IconButton", "useAsyncEffect", "useTranslation", "Form", "ViewEditor", "List", "View", "Pipeline", "Task", "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", "registered", "useAsyncEffect", "query", "foundSchema", "resolveSchemaWithRegistry", "schemaRegistry", "ast", "handleMove", "useCallback", "fromIndex", "toIndex", "arrayMove", "handleQueryChanged", "newQuery", "target", "queue", "DXN", "tryParse", "undefined", "Query", "fromAst", "options", "queues", "newSchema", "newView", "View", "make", "jsonSchema", "Type", "toJsonSchema", "projection", "handleToggleField", "prevExpandedId", "handleDelete", "index", "findIndex", "l", "viewToRemove", "load", "splice", "remove", "handleAdd", "select", "Task", "add", "push", "name", "Ref", "order", "handleColumnSave", "values", "columnIndex", "c", "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", "autoSave", "onSave", "Content", "FieldSet", "ViewEditor", "ref", "mode", "readonly", "registry", "onQueryChanged"]
|
|
7
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
meta
|
|
3
|
-
} from "./chunk-QWNKLHBY.mjs";
|
|
4
|
-
|
|
5
|
-
// src/capabilities/app-graph-builder/app-graph-builder.ts
|
|
6
|
-
import * as Effect from "effect/Effect";
|
|
7
|
-
import { Capability } from "@dxos/app-framework";
|
|
8
|
-
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
9
|
-
import { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from "@dxos/plugin-deck/types";
|
|
10
|
-
import { GraphBuilder } from "@dxos/plugin-graph";
|
|
11
|
-
import { Pipeline } from "@dxos/types";
|
|
12
|
-
var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
13
|
-
const extensions = yield* Effect.all([
|
|
14
|
-
GraphBuilder.createTypeExtension({
|
|
15
|
-
id: `${meta.id}/triggers`,
|
|
16
|
-
type: Pipeline.Pipeline,
|
|
17
|
-
connector: (pipeline) => {
|
|
18
|
-
const nodeId = pipeline.id;
|
|
19
|
-
return Effect.succeed([
|
|
20
|
-
{
|
|
21
|
-
id: [
|
|
22
|
-
nodeId,
|
|
23
|
-
"invocations"
|
|
24
|
-
].join(ATTENDABLE_PATH_SEPARATOR),
|
|
25
|
-
type: PLANK_COMPANION_TYPE,
|
|
26
|
-
data: "invocations",
|
|
27
|
-
properties: {
|
|
28
|
-
label: [
|
|
29
|
-
"pipeline invocations label",
|
|
30
|
-
{
|
|
31
|
-
ns: meta.id
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
icon: "ph--clock-countdown--regular",
|
|
35
|
-
disposition: "hidden"
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
id: [
|
|
40
|
-
nodeId,
|
|
41
|
-
"automation"
|
|
42
|
-
].join(ATTENDABLE_PATH_SEPARATOR),
|
|
43
|
-
type: PLANK_COMPANION_TYPE,
|
|
44
|
-
data: "automation",
|
|
45
|
-
properties: {
|
|
46
|
-
label: [
|
|
47
|
-
"pipeline automation label",
|
|
48
|
-
{
|
|
49
|
-
ns: meta.id
|
|
50
|
-
}
|
|
51
|
-
],
|
|
52
|
-
icon: "ph--lightning--regular",
|
|
53
|
-
disposition: "hidden"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
]);
|
|
57
|
-
}
|
|
58
|
-
})
|
|
59
|
-
]);
|
|
60
|
-
return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);
|
|
61
|
-
}));
|
|
62
|
-
export {
|
|
63
|
-
app_graph_builder_default as default
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=app-graph-builder-NUJB33F7.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { ATTENDABLE_PATH_SEPARATOR, PLANK_COMPANION_TYPE } from '@dxos/plugin-deck/types';\nimport { GraphBuilder } from '@dxos/plugin-graph';\nimport { Pipeline } from '@dxos/types';\n\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n GraphBuilder.createTypeExtension({\n id: `${meta.id}/triggers`,\n type: Pipeline.Pipeline,\n connector: (pipeline) => {\n const nodeId = pipeline.id;\n return Effect.succeed([\n {\n id: [nodeId, 'invocations'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'invocations',\n properties: {\n label: ['pipeline invocations label', { ns: meta.id }],\n icon: 'ph--clock-countdown--regular',\n disposition: 'hidden',\n },\n },\n {\n id: [nodeId, 'automation'].join(ATTENDABLE_PATH_SEPARATOR),\n type: PLANK_COMPANION_TYPE,\n data: 'automation',\n properties: {\n label: ['pipeline automation label', { ns: meta.id }],\n icon: 'ph--lightning--regular',\n disposition: 'hidden',\n },\n },\n ]);\n },\n }),\n ]);\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
|
-
"mappings": ";;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,2BAA2BC,4BAA4B;AAChE,SAASC,oBAAoB;AAC7B,SAASC,gBAAgB;AAIzB,IAAA,4BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAcC,WAAI;IACnCC,aAAaC,oBAAoB;MAC/BC,IAAI,GAAGC,KAAKD,EAAE;MACdE,MAAMC,SAASA;MACfC,WAAW,CAACC,aAAAA;AACV,cAAMC,SAASD,SAASL;AACxB,eAAcO,eAAQ;UACpB;YACEP,IAAI;cAACM;cAAQ;cAAeE,KAAKC,yBAAAA;YACjCP,MAAMQ;YACNC,MAAM;YACNC,YAAY;cACVC,OAAO;gBAAC;gBAA8B;kBAAEC,IAAIb,KAAKD;gBAAG;;cACpDe,MAAM;cACNC,aAAa;YACf;UACF;UACA;YACEhB,IAAI;cAACM;cAAQ;cAAcE,KAAKC,yBAAAA;YAChCP,MAAMQ;YACNC,MAAM;YACNC,YAAY;cACVC,OAAO;gBAAC;gBAA6B;kBAAEC,IAAIb,KAAKD;gBAAG;;cACnDe,MAAM;cACNC,aAAa;YACf;UACF;SACD;MACH;IACF,CAAA;GACD;AAED,SAAOvB,WAAWwB,YAAYC,gBAAgBC,iBAAiBvB,UAAAA;AACjE,CAAA,CAAA;",
|
|
6
|
-
"names": ["Effect", "Capability", "AppCapabilities", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "GraphBuilder", "Pipeline", "Capability", "makeModule", "fnUntraced", "extensions", "all", "GraphBuilder", "createTypeExtension", "id", "meta", "type", "Pipeline", "connector", "pipeline", "nodeId", "succeed", "join", "ATTENDABLE_PATH_SEPARATOR", "PLANK_COMPANION_TYPE", "data", "properties", "label", "ns", "icon", "disposition", "contributes", "AppCapabilities", "AppGraphBuilder"]
|
|
7
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__export,
|
|
3
|
-
meta
|
|
4
|
-
} from "./chunk-QWNKLHBY.mjs";
|
|
5
|
-
|
|
6
|
-
// src/types/PipelineAction.ts
|
|
7
|
-
var PipelineAction_exports = {};
|
|
8
|
-
__export(PipelineAction_exports, {
|
|
9
|
-
PipelineOperation: () => PipelineOperation
|
|
10
|
-
});
|
|
11
|
-
import * as Schema from "effect/Schema";
|
|
12
|
-
import { Capability } from "@dxos/app-framework";
|
|
13
|
-
import { Operation } from "@dxos/operation";
|
|
14
|
-
import { SpaceSchema } from "@dxos/react-client/echo";
|
|
15
|
-
import { Collection } from "@dxos/schema";
|
|
16
|
-
var PIPELINE_OPERATION = `${meta.id}/operation`;
|
|
17
|
-
(function(PipelineOperation2) {
|
|
18
|
-
PipelineOperation2.OnCreateSpace = Operation.make({
|
|
19
|
-
meta: {
|
|
20
|
-
key: `${PIPELINE_OPERATION}/on-create-space`,
|
|
21
|
-
name: "On Create Space"
|
|
22
|
-
},
|
|
23
|
-
services: [
|
|
24
|
-
Capability.Service
|
|
25
|
-
],
|
|
26
|
-
schema: {
|
|
27
|
-
input: Schema.Struct({
|
|
28
|
-
space: SpaceSchema,
|
|
29
|
-
rootCollection: Collection.Collection,
|
|
30
|
-
isDefault: Schema.optional(Schema.Boolean)
|
|
31
|
-
}),
|
|
32
|
-
output: Schema.Void
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
})(PipelineOperation || (PipelineOperation = {}));
|
|
36
|
-
var PipelineOperation;
|
|
37
|
-
|
|
38
|
-
export {
|
|
39
|
-
PipelineOperation,
|
|
40
|
-
PipelineAction_exports
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=chunk-7GVESVYR.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/types/PipelineAction.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/operation';\nimport { SpaceSchema } from '@dxos/react-client/echo';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nconst PIPELINE_OPERATION = `${meta.id}/operation`;\n\nexport namespace PipelineOperation {\n export const OnCreateSpace = Operation.make({\n meta: { key: `${PIPELINE_OPERATION}/on-create-space`, name: 'On Create Space' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n space: SpaceSchema,\n rootCollection: Collection.Collection,\n isDefault: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Void,\n },\n });\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;AAAA;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAI3B,IAAMC,qBAAqB,GAAGC,KAAKC,EAAE;UAEpBC,oBAAAA;qBACFC,gBAAgBC,UAAUC,KAAK;IAC1CL,MAAM;MAAEM,KAAK,GAAGP,kBAAAA;MAAsCQ,MAAM;IAAkB;IAC9EC,UAAU;MAACC,WAAWC;;IACtBC,QAAQ;MACNC,OAAcC,cAAO;QACnBC,OAAOC;QACPC,gBAAgBC,WAAWA;QAC3BC,WAAkBC,gBAAgBC,cAAO;MAC3C,CAAA;MACAC,QAAeC;IACjB;EACF,CAAA;AACF,GAbiBpB,sBAAAA,oBAAAA,CAAAA,EAAAA;;",
|
|
6
|
-
"names": ["Schema", "Capability", "Operation", "SpaceSchema", "Collection", "PIPELINE_OPERATION", "meta", "id", "PipelineOperation", "OnCreateSpace", "Operation", "make", "key", "name", "services", "Capability", "Service", "schema", "input", "Struct", "space", "SpaceSchema", "rootCollection", "Collection", "isDefault", "optional", "Boolean", "output", "Void"]
|
|
7
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
PipelineOperation
|
|
3
|
-
} from "./chunk-7GVESVYR.mjs";
|
|
4
|
-
import {
|
|
5
|
-
meta
|
|
6
|
-
} from "./chunk-QWNKLHBY.mjs";
|
|
7
|
-
|
|
8
|
-
// src/PipelinePlugin.tsx
|
|
9
|
-
import * as Effect2 from "effect/Effect";
|
|
10
|
-
import { Capability as Capability4, Plugin } from "@dxos/app-framework";
|
|
11
|
-
import { AppPlugin } from "@dxos/app-toolkit";
|
|
12
|
-
import { Operation } from "@dxos/operation";
|
|
13
|
-
import { SpaceCapabilities, SpaceEvents } from "@dxos/plugin-space";
|
|
14
|
-
import { Pipeline as Pipeline3 } from "@dxos/types";
|
|
15
|
-
|
|
16
|
-
// src/capabilities/app-graph-builder/index.ts
|
|
17
|
-
import { Capability } from "@dxos/app-framework";
|
|
18
|
-
var AppGraphBuilder = Capability.lazy("AppGraphBuilder", () => import("./app-graph-builder-NUJB33F7.mjs"));
|
|
19
|
-
|
|
20
|
-
// src/capabilities/operation-resolver/operation-resolver.ts
|
|
21
|
-
import * as Effect from "effect/Effect";
|
|
22
|
-
import { Capabilities, Capability as Capability2 } from "@dxos/app-framework";
|
|
23
|
-
import { Obj, Ref, Type } from "@dxos/echo";
|
|
24
|
-
import { OperationResolver } from "@dxos/operation";
|
|
25
|
-
import { Collection } from "@dxos/schema";
|
|
26
|
-
import { Pipeline } from "@dxos/types";
|
|
27
|
-
var operation_resolver_default = Capability2.makeModule(() => Effect.succeed(Capability2.contributes(Capabilities.OperationResolver, [
|
|
28
|
-
OperationResolver.make({
|
|
29
|
-
operation: PipelineOperation.OnCreateSpace,
|
|
30
|
-
handler: Effect.fnUntraced(function* ({ rootCollection }) {
|
|
31
|
-
const collection = Collection.makeManaged({
|
|
32
|
-
key: Type.getTypename(Pipeline.Pipeline)
|
|
33
|
-
});
|
|
34
|
-
Obj.change(rootCollection, (c) => {
|
|
35
|
-
c.objects.push(Ref.make(collection));
|
|
36
|
-
});
|
|
37
|
-
})
|
|
38
|
-
})
|
|
39
|
-
])));
|
|
40
|
-
|
|
41
|
-
// src/capabilities/react-surface/index.ts
|
|
42
|
-
import { Capability as Capability3 } from "@dxos/app-framework";
|
|
43
|
-
var ReactSurface = Capability3.lazy("ReactSurface", () => import("./react-surface-CMTEEE6F.mjs"));
|
|
44
|
-
|
|
45
|
-
// src/translations.ts
|
|
46
|
-
import { Pipeline as Pipeline2 } from "@dxos/types";
|
|
47
|
-
var translations = [
|
|
48
|
-
{
|
|
49
|
-
"en-US": {
|
|
50
|
-
[Pipeline2.Pipeline.typename]: {
|
|
51
|
-
"typename label": "Pipeline",
|
|
52
|
-
"typename label_zero": "Pipelines",
|
|
53
|
-
"typename label_one": "Pipeline",
|
|
54
|
-
"typename label_other": "Pipelines",
|
|
55
|
-
"object name placeholder": "New pipeline",
|
|
56
|
-
"rename object label": "Rename pipeline",
|
|
57
|
-
"delete object label": "Delete pipeline",
|
|
58
|
-
"object deleted label": "Pipeline deleted"
|
|
59
|
-
},
|
|
60
|
-
[meta.id]: {
|
|
61
|
-
"plugin name": "Pipelines",
|
|
62
|
-
"add column label": "Add column",
|
|
63
|
-
"add card label": "Add object",
|
|
64
|
-
"untitled view title": "New view",
|
|
65
|
-
"enumerating tab label": "List",
|
|
66
|
-
"editing tab label": "Edit",
|
|
67
|
-
"views label": "Views",
|
|
68
|
-
"pipeline invocations label": "Invocations",
|
|
69
|
-
"pipeline automation label": "Automations",
|
|
70
|
-
"toggle expand label": "Toggle expand",
|
|
71
|
-
"delete view label": "Delete view",
|
|
72
|
-
"add view label": "Add view"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
];
|
|
77
|
-
|
|
78
|
-
// src/PipelinePlugin.tsx
|
|
79
|
-
var PipelinePlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
|
|
80
|
-
activate: AppGraphBuilder
|
|
81
|
-
}), AppPlugin.addMetadataModule({
|
|
82
|
-
metadata: {
|
|
83
|
-
id: Pipeline3.Pipeline.typename,
|
|
84
|
-
metadata: {
|
|
85
|
-
icon: "ph--path--regular",
|
|
86
|
-
iconHue: "purple",
|
|
87
|
-
createObject: (props) => Effect2.sync(() => Pipeline3.make(props))
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}), AppPlugin.addOperationResolverModule({
|
|
91
|
-
activate: operation_resolver_default
|
|
92
|
-
}), AppPlugin.addSchemaModule({
|
|
93
|
-
schema: [
|
|
94
|
-
Pipeline3.Pipeline
|
|
95
|
-
]
|
|
96
|
-
}), AppPlugin.addSurfaceModule({
|
|
97
|
-
activate: ReactSurface
|
|
98
|
-
}), AppPlugin.addTranslationsModule({
|
|
99
|
-
translations
|
|
100
|
-
}), Plugin.addModule({
|
|
101
|
-
id: "on-space-created",
|
|
102
|
-
activatesOn: SpaceEvents.SpaceCreated,
|
|
103
|
-
activate: () => Effect2.succeed(Capability4.contributes(SpaceCapabilities.OnCreateSpace, (params) => Operation.invoke(PipelineOperation.OnCreateSpace, params)))
|
|
104
|
-
}), Plugin.make);
|
|
105
|
-
export {
|
|
106
|
-
PipelinePlugin,
|
|
107
|
-
meta
|
|
108
|
-
};
|
|
109
|
-
//# sourceMappingURL=index.mjs.map
|