@dxos/plugin-pipeline 0.8.4-main.52d7546f51 → 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-LY2P4JPA.mjs +345 -0
- package/dist/lib/browser/PipelineContainer-LY2P4JPA.mjs.map +7 -0
- package/dist/lib/browser/{PipelineSettings-YSGSJHBT.mjs → PipelineObjectSettings-QFMIKJH5.mjs} +71 -63
- package/dist/lib/browser/PipelineObjectSettings-QFMIKJH5.mjs.map +7 -0
- package/dist/lib/browser/app-graph-builder-QQKBLYFD.mjs +56 -0
- package/dist/lib/browser/app-graph-builder-QQKBLYFD.mjs.map +7 -0
- package/dist/lib/browser/{chunk-QWNKLHBY.mjs → chunk-3A235GUD.mjs} +2 -9
- package/dist/lib/browser/{chunk-QWNKLHBY.mjs.map → chunk-3A235GUD.mjs.map} +2 -2
- package/dist/lib/browser/index.mjs +26 -45
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-JMMCTIL3.mjs → react-surface-QVPKOGEI.mjs} +17 -13
- package/dist/lib/browser/react-surface-QVPKOGEI.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +0 -9
- package/dist/types/src/PipelinePlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.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/capabilities/react-surface/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/PipelineComponent/PipelineColumn.d.ts +9 -0
- package/dist/types/src/components/PipelineComponent/PipelineColumn.d.ts.map +1 -0
- package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts +65 -0
- package/dist/types/src/components/PipelineComponent/PipelineComponent.d.ts.map +1 -0
- package/dist/types/src/components/{PipelineComponent.stories.d.ts → PipelineComponent/PipelineComponent.stories.d.ts} +1 -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/{components → containers/PipelineContainer}/PipelineContainer.d.ts +3 -4
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.d.ts.map +1 -0
- package/dist/types/src/{components → containers/PipelineContainer}/PipelineContainer.stories.d.ts +1 -0
- package/dist/types/src/containers/PipelineContainer/PipelineContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineContainer/index.d.ts +3 -0
- package/dist/types/src/containers/PipelineContainer/index.d.ts.map +1 -0
- package/dist/types/src/{components/PipelineSettings.d.ts → containers/PipelineObjectSettings/PipelineObjectSettings.d.ts} +1 -2
- package/dist/types/src/containers/PipelineObjectSettings/PipelineObjectSettings.d.ts.map +1 -0
- package/dist/types/src/containers/PipelineObjectSettings/index.d.ts +3 -0
- package/dist/types/src/containers/PipelineObjectSettings/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +4 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +2 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/hooks/usePipelineBoardModel.d.ts +6 -0
- package/dist/types/src/hooks/usePipelineBoardModel.d.ts.map +1 -0
- package/dist/types/src/templates/research.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +1 -0
- 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 +45 -41
- package/src/PipelinePlugin.tsx +18 -18
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +7 -9
- package/src/capabilities/index.ts +0 -1
- package/src/capabilities/react-surface/react-surface.tsx +14 -9
- package/src/components/PipelineComponent/PipelineColumn.tsx +164 -0
- package/src/components/{PipelineComponent.stories.tsx → PipelineComponent/PipelineComponent.stories.tsx} +39 -24
- 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 +86 -0
- package/src/containers/PipelineContainer/index.ts +7 -0
- package/src/{components/PipelineSettings.tsx → containers/PipelineObjectSettings/PipelineObjectSettings.tsx} +71 -58
- package/src/containers/PipelineObjectSettings/index.ts +7 -0
- package/src/containers/index.ts +8 -0
- package/src/hooks/index.ts +5 -0
- package/src/hooks/usePipelineBoardModel.ts +79 -0
- package/src/meta.ts +1 -1
- package/src/templates/research.ts +14 -15
- package/src/translations.ts +1 -0
- package/src/types/index.ts +0 -3
- package/dist/lib/browser/PipelineContainer-I3TPA7ZN.mjs +0 -217
- package/dist/lib/browser/PipelineContainer-I3TPA7ZN.mjs.map +0 -7
- package/dist/lib/browser/PipelineSettings-YSGSJHBT.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/react-surface-JMMCTIL3.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/dist/types/src/components/PipelineColumn.d.ts +0 -10
- package/dist/types/src/components/PipelineColumn.d.ts.map +0 -1
- package/dist/types/src/components/PipelineComponent.d.ts +0 -38
- package/dist/types/src/components/PipelineComponent.d.ts.map +0 -1
- package/dist/types/src/components/PipelineComponent.stories.d.ts.map +0 -1
- package/dist/types/src/components/PipelineContainer.d.ts.map +0 -1
- package/dist/types/src/components/PipelineContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/PipelineSettings.d.ts.map +0 -1
- package/dist/types/src/types/PipelineAction.d.ts +0 -25
- package/dist/types/src/types/PipelineAction.d.ts.map +0 -1
- package/src/capabilities/operation-resolver/index.ts +0 -5
- package/src/capabilities/operation-resolver/operation-resolver.ts +0 -29
- package/src/components/PipelineColumn.tsx +0 -145
- package/src/components/PipelineComponent.tsx +0 -103
- package/src/components/PipelineContainer.stories.tsx +0 -226
- package/src/components/PipelineContainer.tsx +0 -57
- package/src/types/PipelineAction.ts +0 -29
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
import {
|
|
2
|
+
meta
|
|
3
|
+
} from "./chunk-3A235GUD.mjs";
|
|
4
|
+
|
|
5
|
+
// src/containers/PipelineContainer/PipelineContainer.tsx
|
|
6
|
+
import React3, { useCallback, useEffect } 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 { OBJECT_ACTIONS_CONTRIBUTION_ID, OBJECT_ACTIONS_CONTRIBUTION_PRIORITY, useObjectMenuItems } from "@dxos/app-toolkit/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
|
+
import { useAttention } from "@dxos/react-ui-attention";
|
|
16
|
+
import { useMenu } from "@dxos/react-ui-menu";
|
|
17
|
+
|
|
18
|
+
// src/components/PipelineComponent/PipelineColumn.tsx
|
|
19
|
+
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
20
|
+
import * as Function from "effect/Function";
|
|
21
|
+
import * as Option from "effect/Option";
|
|
22
|
+
import React2, { forwardRef, useMemo, useRef, useState } from "react";
|
|
23
|
+
import { Annotation, JsonSchema, Obj as Obj2, Query, Type } from "@dxos/echo";
|
|
24
|
+
import { resolveSchemaWithRegistry } from "@dxos/plugin-space";
|
|
25
|
+
import { Filter, getSpace, useObject } from "@dxos/react-client/echo";
|
|
26
|
+
import { Panel, Toolbar as Toolbar2, useAsyncEffect, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
27
|
+
import { Card } from "@dxos/react-ui";
|
|
28
|
+
import { Board as Board2, Focus, Mosaic } from "@dxos/react-ui-mosaic";
|
|
29
|
+
import { ProjectionModel, createEchoChangeCallback } from "@dxos/schema";
|
|
30
|
+
|
|
31
|
+
// src/components/PipelineComponent/PipelineComponent.tsx
|
|
32
|
+
import { useAtomValue } from "@effect-atom/atom-react";
|
|
33
|
+
import { createContext } from "@radix-ui/react-context";
|
|
34
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
35
|
+
import React from "react";
|
|
36
|
+
import { Obj } from "@dxos/echo";
|
|
37
|
+
import { Toolbar, useTranslation } from "@dxos/react-ui";
|
|
38
|
+
import { Board, useBoard, useEventHandlerAdapter } from "@dxos/react-ui-mosaic";
|
|
39
|
+
import { composable, composableProps, slottable } from "@dxos/ui-theme";
|
|
40
|
+
var itemNoOp = ({ item }) => /* @__PURE__ */ React.createElement("span", null, item.id);
|
|
41
|
+
var PIPELINE_ROOT = "Pipeline.Root";
|
|
42
|
+
var [PipelineRootContext, usePipeline] = createContext(PIPELINE_ROOT, {
|
|
43
|
+
Item: itemNoOp
|
|
44
|
+
});
|
|
45
|
+
var PipelineRoot = ({ children, ...contextValue }) => /* @__PURE__ */ React.createElement(PipelineRootContext, contextValue, children);
|
|
46
|
+
PipelineRoot.displayName = PIPELINE_ROOT;
|
|
47
|
+
var PIPELINE_CONTENT_NAME = "Pipeline.Content";
|
|
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
|
+
});
|
|
59
|
+
PipelineContent.displayName = PIPELINE_CONTENT_NAME;
|
|
60
|
+
var PIPELINE_COLUMNS_NAME = "Pipeline.Columns";
|
|
61
|
+
var PipelineColumns = composable(({ pipeline, ...props }) => {
|
|
62
|
+
const { model } = useBoard(PIPELINE_COLUMNS_NAME);
|
|
63
|
+
const columns = useAtomValue(model.columns);
|
|
64
|
+
const eventHandler = useEventHandlerAdapter({
|
|
65
|
+
id: pipeline.id,
|
|
66
|
+
// TODO(wittjosiah): Cast because columns array is readonly.
|
|
67
|
+
items: columns,
|
|
68
|
+
getId: model.getColumnId,
|
|
69
|
+
get: (data) => data,
|
|
70
|
+
make: (object) => object,
|
|
71
|
+
canDrop: ({ source }) => model.isColumn(source.data),
|
|
72
|
+
onChange: (mutate) => Obj.change(pipeline, (obj) => mutate(obj.columns))
|
|
73
|
+
});
|
|
74
|
+
return /* @__PURE__ */ React.createElement(Board.Content, {
|
|
75
|
+
...props,
|
|
76
|
+
id: "pipeline",
|
|
77
|
+
eventHandler,
|
|
78
|
+
Tile: PipelineColumn
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
PipelineColumns.displayName = PIPELINE_COLUMNS_NAME;
|
|
82
|
+
var PIPELINE_TOOLBAR_NAME = "Pipeline.Toolbar";
|
|
83
|
+
var PipelineToolbar = composable(({ children, ...props }, forwardedRef) => {
|
|
84
|
+
const { t } = useTranslation(meta.id);
|
|
85
|
+
const { onAddColumn } = usePipeline(PIPELINE_TOOLBAR_NAME);
|
|
86
|
+
return /* @__PURE__ */ React.createElement(Toolbar.Root, {
|
|
87
|
+
...composableProps(props),
|
|
88
|
+
ref: forwardedRef
|
|
89
|
+
}, /* @__PURE__ */ React.createElement(Toolbar.IconButton, {
|
|
90
|
+
icon: "ph--plus--regular",
|
|
91
|
+
iconOnly: true,
|
|
92
|
+
label: t("add column label"),
|
|
93
|
+
onClick: onAddColumn
|
|
94
|
+
}));
|
|
95
|
+
});
|
|
96
|
+
PipelineToolbar.displayName = PIPELINE_TOOLBAR_NAME;
|
|
97
|
+
var PipelineComponent = {
|
|
98
|
+
Root: PipelineRoot,
|
|
99
|
+
Content: PipelineContent,
|
|
100
|
+
Columns: PipelineColumns,
|
|
101
|
+
Toolbar: PipelineToolbar
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// src/components/PipelineComponent/PipelineColumn.tsx
|
|
105
|
+
import { Menu } from "@dxos/react-ui-menu";
|
|
106
|
+
var PIPELINE_COLUMN_NAME = "PipelineColumn";
|
|
107
|
+
var PipelineColumn = ({ data: column, location, classNames, debug }) => {
|
|
108
|
+
const { t } = useTranslation2(meta.id);
|
|
109
|
+
const dragHandleRef = useRef(null);
|
|
110
|
+
const [viewSnapshot] = useObject(column.view);
|
|
111
|
+
const view = column.view.target;
|
|
112
|
+
const space = getSpace(view);
|
|
113
|
+
const { Item } = usePipeline(PIPELINE_COLUMN_NAME);
|
|
114
|
+
const [schema, setSchema] = useState();
|
|
115
|
+
const query = useMemo(() => {
|
|
116
|
+
if (!view) {
|
|
117
|
+
return Query.select(Filter.nothing());
|
|
118
|
+
} else {
|
|
119
|
+
return Query.fromAst(JSON.parse(JSON.stringify(viewSnapshot?.query.ast)));
|
|
120
|
+
}
|
|
121
|
+
}, [
|
|
122
|
+
JSON.stringify(viewSnapshot?.query.ast)
|
|
123
|
+
]);
|
|
124
|
+
useAsyncEffect(async () => {
|
|
125
|
+
if (!query || !space?.db) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const schema2 = await resolveSchemaWithRegistry(space.db.schemaRegistry, query.ast);
|
|
129
|
+
setSchema(() => schema2);
|
|
130
|
+
}, [
|
|
131
|
+
space,
|
|
132
|
+
query
|
|
133
|
+
]);
|
|
134
|
+
const projectionModel = useMemo(() => {
|
|
135
|
+
if (!schema || !view) {
|
|
136
|
+
return void 0;
|
|
137
|
+
}
|
|
138
|
+
const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : JsonSchema.toJsonSchema(schema);
|
|
139
|
+
const change = createEchoChangeCallback(view, Type.isMutable(schema) ? schema : void 0);
|
|
140
|
+
return new ProjectionModel({
|
|
141
|
+
view,
|
|
142
|
+
baseSchema: jsonSchema,
|
|
143
|
+
change
|
|
144
|
+
});
|
|
145
|
+
}, [
|
|
146
|
+
schema,
|
|
147
|
+
view
|
|
148
|
+
]);
|
|
149
|
+
const PipelineTile = useMemo(() => {
|
|
150
|
+
return /* @__PURE__ */ forwardRef((props, ref) => /* @__PURE__ */ React2.createElement(ItemTile, {
|
|
151
|
+
...props,
|
|
152
|
+
itemProps: {
|
|
153
|
+
item: props.data,
|
|
154
|
+
projectionModel
|
|
155
|
+
},
|
|
156
|
+
ref
|
|
157
|
+
}));
|
|
158
|
+
}, [
|
|
159
|
+
projectionModel
|
|
160
|
+
]);
|
|
161
|
+
if (!view) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
return /* @__PURE__ */ React2.createElement(Panel.Root, {
|
|
165
|
+
asChild: true
|
|
166
|
+
}, /* @__PURE__ */ React2.createElement(Board2.Column.Root, {
|
|
167
|
+
debug,
|
|
168
|
+
data: column,
|
|
169
|
+
location,
|
|
170
|
+
classNames,
|
|
171
|
+
dragHandleRef
|
|
172
|
+
}, /* @__PURE__ */ React2.createElement(Panel.Toolbar, {
|
|
173
|
+
asChild: true
|
|
174
|
+
}, /* @__PURE__ */ React2.createElement(Board2.Column.Header, {
|
|
175
|
+
classNames: "_opacity-10",
|
|
176
|
+
label: column.name || t("untitled view title"),
|
|
177
|
+
dragHandleRef
|
|
178
|
+
})), /* @__PURE__ */ React2.createElement(Panel.Content, {
|
|
179
|
+
asChild: true
|
|
180
|
+
}, /* @__PURE__ */ React2.createElement(Board2.Column.Body, {
|
|
181
|
+
data: column,
|
|
182
|
+
Tile: PipelineTile
|
|
183
|
+
}))));
|
|
184
|
+
};
|
|
185
|
+
PipelineColumn.displayName = PIPELINE_COLUMN_NAME;
|
|
186
|
+
var ITEM_TILE_NAME = "ItemTile";
|
|
187
|
+
var ItemTile = /* @__PURE__ */ forwardRef(({ classNames, data, location, debug, itemProps }, forwardedRef) => {
|
|
188
|
+
const rootRef = useRef(null);
|
|
189
|
+
const composedRef = useComposedRefs(rootRef, forwardedRef);
|
|
190
|
+
const { Item } = usePipeline(ITEM_TILE_NAME);
|
|
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, {
|
|
193
|
+
asChild: true,
|
|
194
|
+
id: data.id,
|
|
195
|
+
data,
|
|
196
|
+
location,
|
|
197
|
+
debug
|
|
198
|
+
}, /* @__PURE__ */ React2.createElement(Focus.Item, {
|
|
199
|
+
asChild: true
|
|
200
|
+
}, /* @__PURE__ */ React2.createElement(Card.Root, {
|
|
201
|
+
classNames,
|
|
202
|
+
ref: composedRef
|
|
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))))));
|
|
215
|
+
});
|
|
216
|
+
ItemTile.displayName = ITEM_TILE_NAME;
|
|
217
|
+
|
|
218
|
+
// src/hooks/usePipelineBoardModel.ts
|
|
219
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
220
|
+
import * as Schema from "effect/Schema";
|
|
221
|
+
import { useMemo as useMemo2 } from "react";
|
|
222
|
+
import { Obj as Obj3, Query as Query2 } from "@dxos/echo";
|
|
223
|
+
import { AtomObj, AtomQuery } from "@dxos/echo-atom";
|
|
224
|
+
import { getQueryTarget } from "@dxos/plugin-space";
|
|
225
|
+
import { getSpace as getSpace2, isSpace } from "@dxos/react-client/echo";
|
|
226
|
+
import { Pipeline } from "@dxos/types";
|
|
227
|
+
var usePipelineBoardModel = (pipeline, registry) => useMemo2(() => {
|
|
228
|
+
if (pipeline == null) {
|
|
229
|
+
return emptyPipelineModel;
|
|
230
|
+
}
|
|
231
|
+
const space = getSpace2(pipeline);
|
|
232
|
+
const columnsAtom = AtomObj.makeProperty(pipeline, "columns");
|
|
233
|
+
const columnAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
|
|
234
|
+
const columns = get(columnsAtom);
|
|
235
|
+
return columns.find((c) => c.view.dxn.toString() === viewKey);
|
|
236
|
+
}));
|
|
237
|
+
const itemsAtomFamily = Atom.family((viewKey) => Atom.make((get) => {
|
|
238
|
+
const column = get(columnAtomFamily(viewKey));
|
|
239
|
+
if (column == null) {
|
|
240
|
+
return [];
|
|
241
|
+
}
|
|
242
|
+
const viewSnapshot = get(AtomObj.make(column.view));
|
|
243
|
+
if (!viewSnapshot?.query?.ast) {
|
|
244
|
+
return [];
|
|
245
|
+
}
|
|
246
|
+
const query = Query2.fromAst(JSON.parse(JSON.stringify(viewSnapshot.query.ast)));
|
|
247
|
+
const queryTarget = space ? getQueryTarget(query.ast, space) : void 0;
|
|
248
|
+
if (!queryTarget) {
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
const raw = get(AtomQuery.make(queryTarget, query));
|
|
252
|
+
return isSpace(queryTarget) ? raw : [
|
|
253
|
+
...raw
|
|
254
|
+
].reverse();
|
|
255
|
+
}));
|
|
256
|
+
return {
|
|
257
|
+
getColumnId: (data) => data.view.dxn.toString(),
|
|
258
|
+
getItemId: (data) => data.id,
|
|
259
|
+
isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
|
|
260
|
+
isItem: (obj) => Obj3.isObject(obj),
|
|
261
|
+
columns: columnsAtom,
|
|
262
|
+
items: (column) => itemsAtomFamily(column.view.dxn.toString()),
|
|
263
|
+
getColumns: () => [
|
|
264
|
+
...registry.get(columnsAtom)
|
|
265
|
+
],
|
|
266
|
+
getItems: (column) => registry.get(itemsAtomFamily(column.view.dxn.toString())) ?? []
|
|
267
|
+
};
|
|
268
|
+
}, [
|
|
269
|
+
pipeline,
|
|
270
|
+
registry
|
|
271
|
+
]);
|
|
272
|
+
var emptyColumnsAtom = Atom.make(() => []);
|
|
273
|
+
var emptyItemsAtom = Atom.make(() => []);
|
|
274
|
+
var emptyPipelineModel = {
|
|
275
|
+
getColumnId: (data) => data.view.dxn.toString(),
|
|
276
|
+
getItemId: (data) => data.id,
|
|
277
|
+
isColumn: (obj) => Schema.is(Pipeline.Column)(obj),
|
|
278
|
+
isItem: (obj) => Obj3.isObject(obj),
|
|
279
|
+
columns: emptyColumnsAtom,
|
|
280
|
+
items: () => emptyItemsAtom,
|
|
281
|
+
getColumns: () => [],
|
|
282
|
+
getItems: () => []
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
// src/containers/PipelineContainer/PipelineContainer.tsx
|
|
286
|
+
var PIPELINE_ITEM = "PipelineItem";
|
|
287
|
+
var PipelineContainer = ({ role, subject: pipeline, attendableId }) => {
|
|
288
|
+
const registry = useCapability(Capabilities.AtomRegistry);
|
|
289
|
+
const model = usePipelineBoardModel(pipeline, registry);
|
|
290
|
+
const { invokePromise } = useOperationInvoker();
|
|
291
|
+
const { hasAttention } = useAttention(attendableId);
|
|
292
|
+
const handleColumnAdd = useCallback(() => invokePromise(DeckOperation.ChangeCompanion, {
|
|
293
|
+
companion: companionSegment("settings")
|
|
294
|
+
}), [
|
|
295
|
+
invokePromise
|
|
296
|
+
]);
|
|
297
|
+
return /* @__PURE__ */ React3.createElement(PipelineComponent.Root, {
|
|
298
|
+
Item: PipelineItem,
|
|
299
|
+
onAddColumn: handleColumnAdd
|
|
300
|
+
}, /* @__PURE__ */ React3.createElement(Panel2.Root, {
|
|
301
|
+
role
|
|
302
|
+
}, /* @__PURE__ */ React3.createElement(Panel2.Toolbar, {
|
|
303
|
+
asChild: true
|
|
304
|
+
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Toolbar, {
|
|
305
|
+
disabled: !hasAttention
|
|
306
|
+
})), /* @__PURE__ */ React3.createElement(Panel2.Content, {
|
|
307
|
+
asChild: true
|
|
308
|
+
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Content, {
|
|
309
|
+
asChild: true,
|
|
310
|
+
model
|
|
311
|
+
}, /* @__PURE__ */ React3.createElement(PipelineComponent.Columns, {
|
|
312
|
+
pipeline
|
|
313
|
+
})))));
|
|
314
|
+
};
|
|
315
|
+
var PipelineItem = ({ item, projectionModel }) => {
|
|
316
|
+
const menu = useMenu(PIPELINE_ITEM);
|
|
317
|
+
const items = useObjectMenuItems(item);
|
|
318
|
+
useEffect(() => {
|
|
319
|
+
menu.addMenuItems({
|
|
320
|
+
id: OBJECT_ACTIONS_CONTRIBUTION_ID,
|
|
321
|
+
mode: "additive",
|
|
322
|
+
priority: OBJECT_ACTIONS_CONTRIBUTION_PRIORITY,
|
|
323
|
+
items
|
|
324
|
+
});
|
|
325
|
+
return () => menu.removeMenuItems(OBJECT_ACTIONS_CONTRIBUTION_ID);
|
|
326
|
+
}, [
|
|
327
|
+
menu,
|
|
328
|
+
items
|
|
329
|
+
]);
|
|
330
|
+
return /* @__PURE__ */ React3.createElement(Surface.Surface, {
|
|
331
|
+
role: "card--content",
|
|
332
|
+
data: {
|
|
333
|
+
subject: item,
|
|
334
|
+
projection: projectionModel
|
|
335
|
+
},
|
|
336
|
+
limit: 1
|
|
337
|
+
});
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
// src/containers/PipelineContainer/index.ts
|
|
341
|
+
var PipelineContainer_default = PipelineContainer;
|
|
342
|
+
export {
|
|
343
|
+
PipelineContainer_default as default
|
|
344
|
+
};
|
|
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
|
+
}
|