@dxos/plugin-kanban 0.8.2-main.f081794 → 0.8.2-main.fbd8ed0
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/{artifact-definition-SVNHDJQT.mjs → artifact-definition-HABFQLG4.mjs} +12 -12
- package/dist/lib/browser/artifact-definition-HABFQLG4.mjs.map +7 -0
- package/dist/lib/browser/{chunk-K5BYEZ4Z.mjs → chunk-6JAA7YSW.mjs} +23 -35
- package/dist/lib/browser/chunk-6JAA7YSW.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +4 -4
- package/dist/lib/browser/intent-resolver-G6H6HZRG.mjs +297 -0
- package/dist/lib/browser/intent-resolver-G6H6HZRG.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-R25PYWQV.mjs → react-surface-BIBGD5OD.mjs} +67 -35
- package/dist/lib/browser/react-surface-BIBGD5OD.mjs.map +7 -0
- package/dist/lib/browser/types.mjs +1 -3
- package/dist/lib/node/{artifact-definition-M2XAYUI2.cjs → artifact-definition-M57SFWWP.cjs} +19 -19
- package/dist/lib/node/artifact-definition-M57SFWWP.cjs.map +7 -0
- package/dist/lib/node/{chunk-3EUR6ZR2.cjs → chunk-O4U7ZQ2I.cjs} +25 -38
- package/dist/lib/node/chunk-O4U7ZQ2I.cjs.map +7 -0
- package/dist/lib/node/index.cjs +16 -16
- package/dist/lib/node/intent-resolver-IBMSLMHX.cjs +308 -0
- package/dist/lib/node/intent-resolver-IBMSLMHX.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/{react-surface-FVM64YAQ.cjs → react-surface-ZABOI7UC.cjs} +74 -42
- package/dist/lib/node/react-surface-ZABOI7UC.cjs.map +7 -0
- package/dist/lib/node/types.cjs +6 -8
- package/dist/lib/node/types.cjs.map +2 -2
- package/dist/lib/node-esm/{artifact-definition-HQ5I2OO5.mjs → artifact-definition-OLVK4DCO.mjs} +12 -12
- package/dist/lib/node-esm/artifact-definition-OLVK4DCO.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-2N7CO3DI.mjs → chunk-NOC32MF5.mjs} +23 -35
- package/dist/lib/node-esm/chunk-NOC32MF5.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +4 -4
- package/dist/lib/node-esm/intent-resolver-X66YN6H5.mjs +298 -0
- package/dist/lib/node-esm/intent-resolver-X66YN6H5.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-LZ7MP3CQ.mjs → react-surface-LDR423Y7.mjs} +67 -35
- package/dist/lib/node-esm/react-surface-LDR423Y7.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +1 -3
- package/dist/types/src/capabilities/index.d.ts +1 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
- package/dist/types/src/components/KanbanContainer.stories.d.ts +10 -0
- package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -0
- package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +3 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/testing/initialize-kanban.d.ts +17 -0
- package/dist/types/src/testing/initialize-kanban.d.ts.map +1 -0
- package/dist/types/src/testing/kanban-manager.d.ts +7 -0
- package/dist/types/src/testing/kanban-manager.d.ts.map +1 -0
- package/dist/types/src/testing/playwright/smoke.spec.d.ts +2 -0
- package/dist/types/src/testing/playwright/smoke.spec.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +2 -28
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +34 -41
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +30 -25
- package/src/capabilities/artifact-definition.ts +10 -10
- package/src/capabilities/intent-resolver.ts +10 -6
- package/src/capabilities/react-surface.tsx +46 -12
- package/src/components/KanbanContainer.stories.tsx +191 -0
- package/src/components/KanbanContainer.tsx +22 -9
- package/src/components/KanbanViewEditor.tsx +9 -7
- package/src/testing/index.ts +6 -0
- package/src/testing/initialize-kanban.ts +139 -0
- package/src/testing/kanban-manager.ts +13 -0
- package/src/testing/playwright/playwright.config.cts +18 -0
- package/src/testing/playwright/smoke.spec.ts +7 -0
- package/src/types.ts +26 -43
- package/dist/lib/browser/artifact-definition-SVNHDJQT.mjs.map +0 -7
- package/dist/lib/browser/chunk-K5BYEZ4Z.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs +0 -132
- package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs.map +0 -7
- package/dist/lib/browser/react-surface-R25PYWQV.mjs.map +0 -7
- package/dist/lib/node/artifact-definition-M2XAYUI2.cjs.map +0 -7
- package/dist/lib/node/chunk-3EUR6ZR2.cjs.map +0 -7
- package/dist/lib/node/intent-resolver-P3PSZO7H.cjs +0 -146
- package/dist/lib/node/intent-resolver-P3PSZO7H.cjs.map +0 -7
- package/dist/lib/node/react-surface-FVM64YAQ.cjs.map +0 -7
- package/dist/lib/node-esm/artifact-definition-HQ5I2OO5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-2N7CO3DI.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs +0 -133
- package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-LZ7MP3CQ.mjs.map +0 -7
|
@@ -5,32 +5,46 @@ import {
|
|
|
5
5
|
PivotColumnAnnotationId,
|
|
6
6
|
TypenameAnnotationId,
|
|
7
7
|
isKanban
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NOC32MF5.mjs";
|
|
9
9
|
|
|
10
10
|
// packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx
|
|
11
|
-
import React3, { useMemo as
|
|
12
|
-
import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
|
|
11
|
+
import React3, { useMemo as useMemo3 } from "react";
|
|
12
|
+
import { Capabilities, contributes, createSurface, useCapabilities } from "@dxos/app-framework";
|
|
13
|
+
import { getTypenameOrThrow as getTypenameOrThrow2, toJsonSchema as toJsonSchema2 } from "@dxos/echo-schema";
|
|
13
14
|
import { findAnnotation } from "@dxos/effect";
|
|
15
|
+
import { ClientCapabilities } from "@dxos/plugin-client";
|
|
16
|
+
import { useClient as useClient3 } from "@dxos/react-client";
|
|
14
17
|
import { getSpace as getSpace3, isSpace } from "@dxos/react-client/echo";
|
|
15
18
|
import { SelectInput as SelectInput2, useFormValues } from "@dxos/react-ui-form";
|
|
16
19
|
|
|
17
20
|
// packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx
|
|
18
|
-
import React, { useCallback, useEffect, useState } from "react";
|
|
21
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
19
22
|
import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
|
|
23
|
+
import { EchoSchema, getTypenameOrThrow, toJsonSchema } from "@dxos/echo-schema";
|
|
20
24
|
import { useGlobalFilteredObjects } from "@dxos/plugin-search";
|
|
25
|
+
import { useClient } from "@dxos/react-client";
|
|
21
26
|
import { Filter, useQuery, getSpace, live } from "@dxos/react-client/echo";
|
|
22
27
|
import { useKanbanModel, Kanban } from "@dxos/react-ui-kanban";
|
|
23
28
|
import { StackItem } from "@dxos/react-ui-stack";
|
|
24
29
|
import { ViewProjection } from "@dxos/schema";
|
|
25
30
|
var KanbanContainer = ({ kanban }) => {
|
|
31
|
+
const client = useClient();
|
|
26
32
|
const [cardSchema, setCardSchema] = useState();
|
|
27
33
|
const [projection, setProjection] = useState();
|
|
28
34
|
const space = getSpace(kanban);
|
|
29
35
|
const { dispatchPromise: dispatch } = useIntentDispatcher();
|
|
36
|
+
const jsonSchema = useMemo(() => cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : cardSchema ? toJsonSchema(cardSchema) : void 0, [
|
|
37
|
+
cardSchema
|
|
38
|
+
]);
|
|
30
39
|
useEffect(() => {
|
|
31
|
-
|
|
40
|
+
const typename = kanban.cardView?.target?.query?.typename;
|
|
41
|
+
const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => getTypenameOrThrow(schema) === typename);
|
|
42
|
+
if (staticSchema) {
|
|
43
|
+
setCardSchema(() => staticSchema);
|
|
44
|
+
}
|
|
45
|
+
if (!staticSchema && typename && space) {
|
|
32
46
|
const query = space.db.schemaRegistry.query({
|
|
33
|
-
typename
|
|
47
|
+
typename
|
|
34
48
|
});
|
|
35
49
|
const unsubscribe = query.subscribe(() => {
|
|
36
50
|
const [schema] = query.results;
|
|
@@ -47,15 +61,14 @@ var KanbanContainer = ({ kanban }) => {
|
|
|
47
61
|
space
|
|
48
62
|
]);
|
|
49
63
|
useEffect(() => {
|
|
50
|
-
if (kanban.cardView?.target &&
|
|
51
|
-
setProjection(new ViewProjection(
|
|
64
|
+
if (kanban.cardView?.target && jsonSchema) {
|
|
65
|
+
setProjection(new ViewProjection(jsonSchema, kanban.cardView.target));
|
|
52
66
|
}
|
|
53
67
|
}, [
|
|
54
68
|
kanban.cardView?.target,
|
|
55
|
-
|
|
56
|
-
JSON.stringify(cardSchema?.jsonSchema)
|
|
69
|
+
JSON.stringify(jsonSchema)
|
|
57
70
|
]);
|
|
58
|
-
const objects = useQuery(space, cardSchema ? Filter.
|
|
71
|
+
const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());
|
|
59
72
|
const filteredObjects = useGlobalFilteredObjects(objects);
|
|
60
73
|
const model = useKanbanModel({
|
|
61
74
|
kanban,
|
|
@@ -92,11 +105,12 @@ var KanbanContainer = ({ kanban }) => {
|
|
|
92
105
|
};
|
|
93
106
|
|
|
94
107
|
// packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx
|
|
95
|
-
import React2, { useCallback as useCallback2, useMemo } from "react";
|
|
108
|
+
import React2, { useCallback as useCallback2, useMemo as useMemo2 } from "react";
|
|
96
109
|
import { createIntent as createIntent2, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
|
|
97
|
-
import {
|
|
110
|
+
import { Type } from "@dxos/echo";
|
|
111
|
+
import { assertEchoSchema, FormatEnum, isMutable } from "@dxos/echo-schema";
|
|
98
112
|
import { invariant } from "@dxos/invariant";
|
|
99
|
-
import { useClient } from "@dxos/react-client";
|
|
113
|
+
import { useClient as useClient2 } from "@dxos/react-client";
|
|
100
114
|
import { Filter as Filter2, getSpace as getSpace2, useQuery as useQuery2, useSchema } from "@dxos/react-client/echo";
|
|
101
115
|
import { ViewEditor, Form, SelectInput } from "@dxos/react-ui-form";
|
|
102
116
|
import { KanbanSettingsSchema } from "@dxos/react-ui-kanban";
|
|
@@ -104,17 +118,17 @@ import { ViewType, ViewProjection as ViewProjection2 } from "@dxos/schema";
|
|
|
104
118
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
|
|
105
119
|
var KanbanViewEditor = ({ kanban }) => {
|
|
106
120
|
const { dispatchPromise: dispatch } = useIntentDispatcher2();
|
|
107
|
-
const client =
|
|
121
|
+
const client = useClient2();
|
|
108
122
|
const space = getSpace2(kanban);
|
|
109
|
-
const currentTypename =
|
|
123
|
+
const currentTypename = useMemo2(() => kanban?.cardView?.target?.query?.typename, [
|
|
110
124
|
kanban?.cardView?.target?.query?.typename
|
|
111
125
|
]);
|
|
112
126
|
const schema = useSchema(client, space, currentTypename);
|
|
113
|
-
const views = useQuery2(space, Filter2.
|
|
127
|
+
const views = useQuery2(space, Filter2.type(ViewType));
|
|
114
128
|
const handleUpdateTypename = useCallback2((newTypename) => {
|
|
115
129
|
invariant(schema, void 0, {
|
|
116
130
|
F: __dxlog_file,
|
|
117
|
-
L:
|
|
131
|
+
L: 34,
|
|
118
132
|
S: void 0,
|
|
119
133
|
A: [
|
|
120
134
|
"schema",
|
|
@@ -125,7 +139,7 @@ var KanbanViewEditor = ({ kanban }) => {
|
|
|
125
139
|
for (const view of matchingViews) {
|
|
126
140
|
view.query.typename = newTypename;
|
|
127
141
|
}
|
|
128
|
-
schema.
|
|
142
|
+
assertEchoSchema(schema).updateTypename(newTypename);
|
|
129
143
|
}, [
|
|
130
144
|
views,
|
|
131
145
|
schema
|
|
@@ -139,14 +153,15 @@ var KanbanViewEditor = ({ kanban }) => {
|
|
|
139
153
|
dispatch,
|
|
140
154
|
kanban
|
|
141
155
|
]);
|
|
142
|
-
const projection =
|
|
156
|
+
const projection = useMemo2(() => {
|
|
143
157
|
if (kanban?.cardView?.target && schema) {
|
|
144
|
-
|
|
158
|
+
const jsonSchema = Type.toJsonSchema(schema);
|
|
159
|
+
return new ViewProjection2(jsonSchema, kanban.cardView.target);
|
|
145
160
|
}
|
|
146
161
|
}, [
|
|
147
162
|
kanban?.cardView?.target,
|
|
148
163
|
schema,
|
|
149
|
-
JSON.stringify(schema)
|
|
164
|
+
JSON.stringify(schema ? Type.toJsonSchema(schema) : {})
|
|
150
165
|
]);
|
|
151
166
|
const fieldProjections = projection?.getFieldProjections() || [];
|
|
152
167
|
const selectFields = fieldProjections.filter((field) => field.props.format === FormatEnum.SingleSelect).map(({ field }) => ({
|
|
@@ -158,12 +173,12 @@ var KanbanViewEditor = ({ kanban }) => {
|
|
|
158
173
|
}, [
|
|
159
174
|
kanban
|
|
160
175
|
]);
|
|
161
|
-
const initialValues =
|
|
176
|
+
const initialValues = useMemo2(() => ({
|
|
162
177
|
columnFieldId: kanban.columnFieldId
|
|
163
178
|
}), [
|
|
164
179
|
kanban.columnFieldId
|
|
165
180
|
]);
|
|
166
|
-
const custom =
|
|
181
|
+
const custom = useMemo2(() => ({
|
|
167
182
|
columnFieldId: (props) => /* @__PURE__ */ React2.createElement(SelectInput, {
|
|
168
183
|
...props,
|
|
169
184
|
options: selectFields
|
|
@@ -184,8 +199,8 @@ var KanbanViewEditor = ({ kanban }) => {
|
|
|
184
199
|
registry: space.db.schemaRegistry,
|
|
185
200
|
schema,
|
|
186
201
|
view: kanban.cardView.target,
|
|
187
|
-
onTypenameChanged: schema
|
|
188
|
-
onDelete: schema
|
|
202
|
+
onTypenameChanged: isMutable(schema) ? handleUpdateTypename : void 0,
|
|
203
|
+
onDelete: isMutable(schema) ? handleDelete : void 0
|
|
189
204
|
}));
|
|
190
205
|
};
|
|
191
206
|
|
|
@@ -212,23 +227,36 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
212
227
|
})
|
|
213
228
|
}),
|
|
214
229
|
createSurface({
|
|
215
|
-
id: `${KANBAN_PLUGIN}/create-initial-schema-form
|
|
230
|
+
id: `${KANBAN_PLUGIN}/create-initial-schema-form`,
|
|
216
231
|
role: "form-input",
|
|
217
232
|
filter: (data) => {
|
|
233
|
+
if (data.prop !== "typename") {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
218
236
|
const annotation = findAnnotation(data.schema.ast, TypenameAnnotationId);
|
|
219
237
|
return !!annotation;
|
|
220
238
|
},
|
|
221
239
|
component: ({ data: { target }, ...inputProps }) => {
|
|
240
|
+
const client = useClient3();
|
|
222
241
|
const props = inputProps;
|
|
223
242
|
const space = isSpace(target) ? target : getSpace3(target);
|
|
224
243
|
if (!space) {
|
|
225
244
|
return null;
|
|
226
245
|
}
|
|
227
|
-
const
|
|
246
|
+
const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
|
|
247
|
+
const whitelistedTypenames = useMemo3(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
|
|
248
|
+
schemaWhitelists
|
|
249
|
+
]);
|
|
250
|
+
const fixed = client.graph.schemaRegistry.schemas.filter((schema) => whitelistedTypenames.has(getTypenameOrThrow2(schema)));
|
|
251
|
+
const dynamic = space?.db.schemaRegistry.query().runSync();
|
|
252
|
+
const typenames = Array.from(/* @__PURE__ */ new Set([
|
|
253
|
+
...fixed.map((schema) => getTypenameOrThrow2(schema)),
|
|
254
|
+
...dynamic.map((schema) => schema.typename)
|
|
255
|
+
])).sort();
|
|
228
256
|
return /* @__PURE__ */ React3.createElement(SelectInput2, {
|
|
229
257
|
...props,
|
|
230
|
-
options:
|
|
231
|
-
value:
|
|
258
|
+
options: typenames.map((typename) => ({
|
|
259
|
+
value: typename
|
|
232
260
|
}))
|
|
233
261
|
});
|
|
234
262
|
}
|
|
@@ -247,14 +275,17 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
247
275
|
return null;
|
|
248
276
|
}
|
|
249
277
|
const { typename } = useFormValues();
|
|
278
|
+
const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
|
|
279
|
+
const staticSchema = schemaWhitelists.flat().find((schema) => getTypenameOrThrow2(schema) === typename);
|
|
250
280
|
const [selectedSchema] = space?.db.schemaRegistry.query({
|
|
251
281
|
typename
|
|
252
282
|
}).runSync();
|
|
253
|
-
const singleSelectColumns =
|
|
254
|
-
|
|
283
|
+
const singleSelectColumns = useMemo3(() => {
|
|
284
|
+
const properties = staticSchema ? toJsonSchema2(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
|
|
285
|
+
if (!properties) {
|
|
255
286
|
return [];
|
|
256
287
|
}
|
|
257
|
-
const columns = Object.entries(
|
|
288
|
+
const columns = Object.entries(properties).reduce((acc, [key, value]) => {
|
|
258
289
|
if (typeof value === "object" && value?.format === "single-select") {
|
|
259
290
|
acc.push(key);
|
|
260
291
|
}
|
|
@@ -262,7 +293,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
262
293
|
}, []);
|
|
263
294
|
return columns;
|
|
264
295
|
}, [
|
|
265
|
-
selectedSchema?.jsonSchema
|
|
296
|
+
selectedSchema?.jsonSchema,
|
|
297
|
+
staticSchema
|
|
266
298
|
]);
|
|
267
299
|
if (!typename) {
|
|
268
300
|
return null;
|
|
@@ -279,4 +311,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
279
311
|
export {
|
|
280
312
|
react_surface_default as default
|
|
281
313
|
};
|
|
282
|
-
//# sourceMappingURL=react-surface-
|
|
314
|
+
//# sourceMappingURL=react-surface-LDR423Y7.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/KanbanContainer.tsx", "../../../src/components/KanbanViewEditor.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapabilities } from '@dxos/app-framework';\nimport { getTypenameOrThrow, toJsonSchema } from '@dxos/echo-schema';\nimport { findAnnotation } from '@dxos/effect';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { type CollectionType } from '@dxos/plugin-space/types';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, isSpace, type Space } from '@dxos/react-client/echo';\nimport { type InputProps, SelectInput, useFormValues } from '@dxos/react-ui-form';\nimport { type KanbanType } from '@dxos/react-ui-kanban';\n\nimport { KanbanContainer, KanbanViewEditor } from '../components';\nimport { KANBAN_PLUGIN } from '../meta';\nimport { isKanban, TypenameAnnotationId, PivotColumnAnnotationId } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${KANBAN_PLUGIN}/kanban`,\n role: ['article', 'section'],\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data, role }) => <KanbanContainer kanban={data.subject} role={role} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data }) => <KanbanViewEditor kanban={data.subject} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/create-initial-schema-form`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | CollectionType | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const client = useClient();\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))),\n [schemaWhitelists],\n );\n\n const fixed = client.graph.schemaRegistry.schemas.filter((schema) =>\n whitelistedTypenames.has(getTypenameOrThrow(schema)),\n );\n const dynamic = space?.db.schemaRegistry.query().runSync();\n const typenames = Array.from(\n new Set<string>([\n ...fixed.map((schema) => getTypenameOrThrow(schema)),\n ...dynamic.map((schema) => schema.typename),\n ]),\n ).sort();\n\n return <SelectInput {...props} options={typenames.map((typename) => ({ value: typename }))} />;\n },\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | CollectionType | undefined } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, PivotColumnAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n const { typename } = useFormValues();\n // TODO(wittjosiah): Unify this schema lookup.\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const staticSchema = schemaWhitelists.flat().find((schema) => getTypenameOrThrow(schema) === typename);\n const [selectedSchema] = space?.db.schemaRegistry.query({ typename }).runSync();\n\n const singleSelectColumns = useMemo(() => {\n const properties = staticSchema\n ? toJsonSchema(staticSchema).properties\n : selectedSchema?.jsonSchema?.properties;\n if (!properties) {\n return [];\n }\n\n const columns = Object.entries(properties).reduce<string[]>((acc, [key, value]) => {\n if (typeof value === 'object' && value?.format === 'single-select') {\n acc.push(key);\n }\n return acc;\n }, []);\n\n return columns;\n }, [selectedSchema?.jsonSchema, staticSchema]);\n\n if (!typename) {\n return null;\n }\n\n return <SelectInput {...props} options={singleSelectColumns.map((column) => ({ value: column }))} />;\n },\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { EchoSchema, getTypenameOrThrow, toJsonSchema, type TypedObject } from '@dxos/echo-schema';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, useQuery, getSpace, live } from '@dxos/react-client/echo';\nimport { type KanbanType, useKanbanModel, Kanban } from '@dxos/react-ui-kanban';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { ViewProjection } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\nexport const KanbanContainer = ({ kanban }: { kanban: KanbanType; role: string }) => {\n const client = useClient();\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const [projection, setProjection] = useState<ViewProjection>();\n const space = getSpace(kanban);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const jsonSchema = useMemo(\n () =>\n cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : cardSchema ? toJsonSchema(cardSchema) : undefined,\n [cardSchema],\n );\n\n useEffect(() => {\n const typename = kanban.cardView?.target?.query?.typename;\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => getTypenameOrThrow(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema as TypedObject<any, any>);\n }\n if (!staticSchema && typename && space) {\n const query = space.db.schemaRegistry.query({ typename });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setCardSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [kanban.cardView?.target?.query, space]);\n\n useEffect(() => {\n if (kanban.cardView?.target && jsonSchema) {\n setProjection(new ViewProjection(jsonSchema, kanban.cardView.target));\n }\n // TODO(ZaymonFC): Is there a better way to get notified about deep changes in the json schema?\n }, [kanban.cardView?.target, JSON.stringify(jsonSchema)]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const model = useKanbanModel({\n kanban,\n schema: cardSchema,\n projection,\n items: filteredObjects,\n });\n\n const handleAddCard = useCallback(\n (columnValue: string | undefined) => {\n const path = model?.columnFieldPath;\n if (space && cardSchema && path) {\n const card = live(cardSchema, { [path]: columnValue });\n space.db.add(card);\n return card.id;\n }\n },\n [space, cardSchema, model],\n );\n\n const handleRemoveCard = useCallback(\n (card: { id: string }) => {\n void dispatch(createIntent(KanbanAction.DeleteCard, { card }));\n },\n [dispatch],\n );\n\n return (\n <StackItem.Content>\n {model && <Kanban model={model} onAddCard={handleAddCard} onRemoveCard={handleRemoveCard} />}\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Type } from '@dxos/echo';\nimport { assertEchoSchema, FormatEnum, isMutable } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getSpace, useQuery, useSchema } from '@dxos/react-client/echo';\nimport { ViewEditor, Form, SelectInput, type CustomInputMap } from '@dxos/react-ui-form';\nimport { type KanbanType, KanbanSettingsSchema } from '@dxos/react-ui-kanban';\nimport { ViewType, ViewProjection } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\ntype KanbanViewEditorProps = { kanban: KanbanType };\n\nexport const KanbanViewEditor = ({ kanban }: KanbanViewEditorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const space = getSpace(kanban);\n const currentTypename = useMemo(\n () => kanban?.cardView?.target?.query?.typename,\n [kanban?.cardView?.target?.query?.typename],\n );\n const schema = useSchema(client, space, currentTypename);\n const views = useQuery(space, Filter.type(ViewType));\n\n const handleUpdateTypename = useCallback(\n (newTypename: string) => {\n invariant(schema);\n const matchingViews = views.filter((view) => view.query.typename === currentTypename);\n for (const view of matchingViews) {\n view.query.typename = newTypename;\n }\n\n assertEchoSchema(schema).updateTypename(newTypename);\n },\n [views, schema],\n );\n\n const handleDelete = useCallback(\n (fieldId: string) => {\n void dispatch?.(createIntent(KanbanAction.DeleteCardField, { kanban, fieldId }));\n },\n [dispatch, kanban],\n );\n\n const projection = useMemo(() => {\n if (kanban?.cardView?.target && schema) {\n const jsonSchema = Type.toJsonSchema(schema);\n return new ViewProjection(jsonSchema, kanban.cardView.target);\n }\n }, [kanban?.cardView?.target, schema, JSON.stringify(schema ? Type.toJsonSchema(schema) : {})]);\n\n const fieldProjections = projection?.getFieldProjections() || [];\n const selectFields = fieldProjections\n .filter((field) => field.props.format === FormatEnum.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n\n const onSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n kanban.columnFieldId = values.columnFieldId;\n },\n [kanban],\n );\n\n const initialValues = useMemo(() => ({ columnFieldId: kanban.columnFieldId }), [kanban.columnFieldId]);\n const custom: CustomInputMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectInput {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n if (!space || !schema || !kanban.cardView?.target) {\n return null;\n }\n\n return (\n <>\n <Form schema={KanbanSettingsSchema} values={initialValues} onSave={onSave} autoSave Custom={custom} />\n <ViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={kanban.cardView.target}\n onTypenameChanged={isMutable(schema) ? handleUpdateTypename : undefined}\n onDelete={isMutable(schema) ? handleDelete : undefined}\n />\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;AAKA,OAAOA,UAASC,WAAAA,gBAAe;AAE/B,SAASC,cAAcC,aAAaC,eAAeC,uBAAuB;AAC1E,SAASC,sBAAAA,qBAAoBC,gBAAAA,qBAAoB;AACjD,SAASC,sBAAsB;AAC/B,SAASC,0BAA0B;AAEnC,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,YAAAA,WAAUC,eAA2B;AAC9C,SAA0BC,eAAAA,cAAaC,qBAAqB;;;ACV5D,OAAOC,SAASC,aAAaC,WAAWC,SAASC,gBAAgB;AAEjE,SAASC,cAAcC,2BAA2B;AAClD,SAASC,YAAYC,oBAAoBC,oBAAsC;AAC/E,SAASC,gCAAgC;AACzC,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,UAAUC,UAAUC,YAAY;AACjD,SAA0BC,gBAAgBC,cAAc;AACxD,SAASC,iBAAiB;AAC1B,SAASC,sBAAsB;AAIxB,IAAMC,kBAAkB,CAAC,EAAEC,OAAM,MAAwC;AAC9E,QAAMC,SAASC,UAAAA;AACf,QAAM,CAACC,YAAYC,aAAAA,IAAiBC,SAAAA;AACpC,QAAM,CAACC,YAAYC,aAAAA,IAAiBF,SAAAA;AACpC,QAAMG,QAAQC,SAAST,MAAAA;AACvB,QAAM,EAAEU,iBAAiBC,SAAQ,IAAKC,oBAAAA;AAEtC,QAAMC,aAAaC,QACjB,MACEX,sBAAsBY,aAAaZ,WAAWU,aAAaV,aAAaa,aAAab,UAAAA,IAAcc,QACrG;IAACd;GAAW;AAGde,YAAU,MAAA;AACR,UAAMC,WAAWnB,OAAOoB,UAAUC,QAAQC,OAAOH;AACjD,UAAMI,eAAetB,OAAOuB,MAAMC,eAAeC,QAAQC,KAAK,CAACC,WAAWC,mBAAmBD,MAAAA,MAAYT,QAAAA;AACzG,QAAII,cAAc;AAChBnB,oBAAc,MAAMmB,YAAAA;IACtB;AACA,QAAI,CAACA,gBAAgBJ,YAAYX,OAAO;AACtC,YAAMc,QAAQd,MAAMsB,GAAGL,eAAeH,MAAM;QAAEH;MAAS,CAAA;AACvD,YAAMY,cAAcT,MAAMU,UACxB,MAAA;AACE,cAAM,CAACJ,MAAAA,IAAUN,MAAMW;AACvB,YAAIL,QAAQ;AACVxB,wBAAcwB,MAAAA;QAChB;MACF,GACA;QAAEM,MAAM;MAAK,CAAA;AAEf,aAAOH;IACT;EACF,GAAG;IAAC/B,OAAOoB,UAAUC,QAAQC;IAAOd;GAAM;AAE1CU,YAAU,MAAA;AACR,QAAIlB,OAAOoB,UAAUC,UAAUR,YAAY;AACzCN,oBAAc,IAAI4B,eAAetB,YAAYb,OAAOoB,SAASC,MAAM,CAAA;IACrE;EAEF,GAAG;IAACrB,OAAOoB,UAAUC;IAAQe,KAAKC,UAAUxB,UAAAA;GAAY;AAExD,QAAMyB,UAAUC,SAAS/B,OAAOL,aAAaqC,OAAOC,KAAKtC,UAAAA,IAAcqC,OAAOE,QAAO,CAAA;AACrF,QAAMC,kBAAkBC,yBAAyBN,OAAAA;AAEjD,QAAMO,QAAQC,eAAe;IAC3B9C;IACA4B,QAAQzB;IACRG;IACAyC,OAAOJ;EACT,CAAA;AAEA,QAAMK,gBAAgBC,YACpB,CAACC,gBAAAA;AACC,UAAMC,OAAON,OAAOO;AACpB,QAAI5C,SAASL,cAAcgD,MAAM;AAC/B,YAAME,OAAOC,KAAKnD,YAAY;QAAE,CAACgD,IAAAA,GAAOD;MAAY,CAAA;AACpD1C,YAAMsB,GAAGyB,IAAIF,IAAAA;AACb,aAAOA,KAAKG;IACd;EACF,GACA;IAAChD;IAAOL;IAAY0C;GAAM;AAG5B,QAAMY,mBAAmBR,YACvB,CAACI,SAAAA;AACC,SAAK1C,SAAS+C,aAAaC,aAAaC,YAAY;MAAEP;IAAK,CAAA,CAAA;EAC7D,GACA;IAAC1C;GAAS;AAGZ,SACE,sBAAA,cAACkD,UAAUC,SAAO,MACfjB,SAAS,sBAAA,cAACkB,QAAAA;IAAOlB;IAAcmB,WAAWhB;IAAeiB,cAAcR;;AAG9E;;;ACxFA,OAAOS,UAASC,eAAAA,cAAaC,WAAAA,gBAAe;AAE5C,SAASC,gBAAAA,eAAcC,uBAAAA,4BAA2B;AAClD,SAASC,YAAY;AACrB,SAASC,kBAAkBC,YAAYC,iBAAiB;AACxD,SAASC,iBAAiB;AAC1B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,UAAAA,SAAQC,YAAAA,WAAUC,YAAAA,WAAUC,iBAAiB;AACtD,SAASC,YAAYC,MAAMC,mBAAwC;AACnE,SAA0BC,4BAA4B;AACtD,SAASC,UAAUC,kBAAAA,uBAAsB;;AAMlC,IAAMC,mBAAmB,CAAC,EAAEC,OAAM,MAAyB;AAChE,QAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,qBAAAA;AACtC,QAAMC,SAASC,WAAAA;AACf,QAAMC,QAAQC,UAASP,MAAAA;AACvB,QAAMQ,kBAAkBC,SACtB,MAAMT,QAAQU,UAAUC,QAAQC,OAAOC,UACvC;IAACb,QAAQU,UAAUC,QAAQC,OAAOC;GAAS;AAE7C,QAAMC,SAASC,UAAUX,QAAQE,OAAOE,eAAAA;AACxC,QAAMQ,QAAQC,UAASX,OAAOY,QAAOC,KAAKC,QAAAA,CAAAA;AAE1C,QAAMC,uBAAuBC,aAC3B,CAACC,gBAAAA;AACCC,cAAUV,QAAAA,QAAAA;;;;;;;;;AACV,UAAMW,gBAAgBT,MAAMU,OAAO,CAACC,SAASA,KAAKf,MAAMC,aAAaL,eAAAA;AACrE,eAAWmB,QAAQF,eAAe;AAChCE,WAAKf,MAAMC,WAAWU;IACxB;AAEAK,qBAAiBd,MAAAA,EAAQe,eAAeN,WAAAA;EAC1C,GACA;IAACP;IAAOF;GAAO;AAGjB,QAAMgB,eAAeR,aACnB,CAACS,YAAAA;AACC,SAAK7B,WAAW8B,cAAaC,aAAaC,iBAAiB;MAAElC;MAAQ+B;IAAQ,CAAA,CAAA;EAC/E,GACA;IAAC7B;IAAUF;GAAO;AAGpB,QAAMmC,aAAa1B,SAAQ,MAAA;AACzB,QAAIT,QAAQU,UAAUC,UAAUG,QAAQ;AACtC,YAAMsB,aAAaC,KAAKC,aAAaxB,MAAAA;AACrC,aAAO,IAAIyB,gBAAeH,YAAYpC,OAAOU,SAASC,MAAM;IAC9D;EACF,GAAG;IAACX,QAAQU,UAAUC;IAAQG;IAAQ0B,KAAKC,UAAU3B,SAASuB,KAAKC,aAAaxB,MAAAA,IAAU,CAAC,CAAA;GAAG;AAE9F,QAAM4B,mBAAmBP,YAAYQ,oBAAAA,KAAyB,CAAA;AAC9D,QAAMC,eAAeF,iBAClBhB,OAAO,CAACmB,UAAUA,MAAMC,MAAMC,WAAWC,WAAWC,YAAY,EAChEC,IAAI,CAAC,EAAEL,MAAK,OAAQ;IAAEM,OAAON,MAAMO;IAAIC,OAAOR,MAAMS;EAAK,EAAA;AAE5D,QAAMC,SAASjC,aACb,CAACkC,WAAAA;AACCxD,WAAOyD,gBAAgBD,OAAOC;EAChC,GACA;IAACzD;GAAO;AAGV,QAAM0D,gBAAgBjD,SAAQ,OAAO;IAAEgD,eAAezD,OAAOyD;EAAc,IAAI;IAACzD,OAAOyD;GAAc;AACrG,QAAME,SAAyBlD,SAC7B,OAAO;IAAEgD,eAAe,CAACX,UAAU,gBAAAc,OAAA,cAACC,aAAAA;MAAa,GAAGf;MAAOgB,SAASlB;;EAAiB,IACrF;IAACA;GAAa;AAGhB,MAAI,CAACtC,SAAS,CAACQ,UAAU,CAACd,OAAOU,UAAUC,QAAQ;AACjD,WAAO;EACT;AAEA,SACE,gBAAAiD,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACG,MAAAA;IAAKjD,QAAQkD;IAAsBR,QAAQE;IAAeH;IAAgBU,UAAAA;IAASC,QAAQP;MAC5F,gBAAAC,OAAA,cAACO,YAAAA;IACCC,UAAU9D,MAAM+D,GAAGC;IACnBxD;IACAa,MAAM3B,OAAOU,SAASC;IACtB4D,mBAAmBC,UAAU1D,MAAAA,IAAUO,uBAAuBoD;IAC9DC,UAAUF,UAAU1D,MAAAA,IAAUgB,eAAe2C;;AAIrD;;;AFvEA,IAAA,wBAAe,MACbE,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SAA0CC,SAASD,KAAKE,OAAO;IACxEC,WAAW,CAAC,EAAEH,MAAMF,KAAI,MAAO,gBAAAM,OAAA,cAACC,iBAAAA;MAAgBC,QAAQN,KAAKE;MAASJ;;EACxE,CAAA;EACAH,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAA0CC,SAASD,KAAKE,OAAO;IACxEC,WAAW,CAAC,EAAEH,KAAI,MAAO,gBAAAI,OAAA,cAACG,kBAAAA;MAAiBD,QAAQN,KAAKE;;EAC1D,CAAA;EACAP,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CACNC,SAAAA;AAEA,UAAIA,KAAKQ,SAAS,YAAY;AAC5B,eAAO;MACT;AAEA,YAAMC,aAAaC,eAAyBV,KAAKW,OAA6BC,KAAKC,oBAAAA;AACnF,aAAO,CAAC,CAACJ;IACX;IACAN,WAAW,CAAC,EAAEH,MAAM,EAAEc,OAAM,GAAI,GAAGC,WAAAA,MAAY;AAC7C,YAAMC,SAASC,WAAAA;AACf,YAAMC,QAAQH;AACd,YAAMI,QAAQC,QAAQN,MAAAA,IAAUA,SAASO,UAASP,MAAAA;AAClD,UAAI,CAACK,OAAO;AACV,eAAO;MACT;AAEA,YAAMG,mBAAmBC,gBAAgBC,mBAAmBC,eAAe;AAC3E,YAAMC,uBAAuBC,SAC3B,MAAM,IAAIC,IAAIN,iBAAiBO,QAAQ,CAACC,cAAcA,UAAUC,IAAI,CAACC,SAASA,KAAKC,QAAQ,CAAA,CAAA,GAC3F;QAACX;OAAiB;AAGpB,YAAMY,QAAQlB,OAAOmB,MAAMC,eAAeC,QAAQtC,OAAO,CAACY,WACxDe,qBAAqBY,IAAIC,oBAAmB5B,MAAAA,CAAAA,CAAAA;AAE9C,YAAM6B,UAAUrB,OAAOsB,GAAGL,eAAeM,MAAAA,EAAQC,QAAAA;AACjD,YAAMC,YAAYC,MAAMC,KACtB,oBAAIlB,IAAY;WACXM,MAAMH,IAAI,CAACpB,WAAW4B,oBAAmB5B,MAAAA,CAAAA;WACzC6B,QAAQT,IAAI,CAACpB,WAAWA,OAAOsB,QAAQ;OAC3C,CAAA,EACDc,KAAI;AAEN,aAAO,gBAAA3C,OAAA,cAAC4C,cAAAA;QAAa,GAAG9B;QAAO+B,SAASL,UAAUb,IAAI,CAACE,cAAc;UAAEiB,OAAOjB;QAAS,EAAA;;IACzF;EACF,CAAA;EACAtC,cAAc;IACZC,IAAI,GAAGC,aAAAA;IACPC,MAAM;IACNC,QAAQ,CACNC,SAAAA;AAEA,YAAMS,aAAaC,eAAyBV,KAAKW,OAA6BC,KAAKuC,uBAAAA;AACnF,aAAO,CAAC,CAAC1C;IACX;IACAN,WAAW,CAAC,EAAEH,MAAM,EAAEc,OAAM,GAAI,GAAGC,WAAAA,MAAY;AAC7C,YAAMG,QAAQH;AACd,YAAMI,QAAQC,QAAQN,MAAAA,IAAUA,SAASO,UAASP,MAAAA;AAClD,UAAI,CAACK,OAAO;AACV,eAAO;MACT;AACA,YAAM,EAAEc,SAAQ,IAAKmB,cAAAA;AAErB,YAAM9B,mBAAmBC,gBAAgBC,mBAAmBC,eAAe;AAC3E,YAAM4B,eAAe/B,iBAAiBgC,KAAI,EAAGC,KAAK,CAAC5C,WAAW4B,oBAAmB5B,MAAAA,MAAYsB,QAAAA;AAC7F,YAAM,CAACuB,cAAAA,IAAkBrC,OAAOsB,GAAGL,eAAeM,MAAM;QAAET;MAAS,CAAA,EAAGU,QAAAA;AAEtE,YAAMc,sBAAsB9B,SAAQ,MAAA;AAClC,cAAM+B,aAAaL,eACfM,cAAaN,YAAAA,EAAcK,aAC3BF,gBAAgBI,YAAYF;AAChC,YAAI,CAACA,YAAY;AACf,iBAAO,CAAA;QACT;AAEA,cAAMG,UAAUC,OAAOC,QAAQL,UAAAA,EAAYM,OAAiB,CAACC,KAAK,CAACC,KAAKhB,KAAAA,MAAM;AAC5E,cAAI,OAAOA,UAAU,YAAYA,OAAOiB,WAAW,iBAAiB;AAClEF,gBAAIG,KAAKF,GAAAA;UACX;AACA,iBAAOD;QACT,GAAG,CAAA,CAAE;AAEL,eAAOJ;MACT,GAAG;QAACL,gBAAgBI;QAAYP;OAAa;AAE7C,UAAI,CAACpB,UAAU;AACb,eAAO;MACT;AAEA,aAAO,gBAAA7B,OAAA,cAAC4C,cAAAA;QAAa,GAAG9B;QAAO+B,SAASQ,oBAAoB1B,IAAI,CAACsC,YAAY;UAAEnB,OAAOmB;QAAO,EAAA;;IAC/F;EACF,CAAA;CACD;",
|
|
6
|
+
"names": ["React", "useMemo", "Capabilities", "contributes", "createSurface", "useCapabilities", "getTypenameOrThrow", "toJsonSchema", "findAnnotation", "ClientCapabilities", "useClient", "getSpace", "isSpace", "SelectInput", "useFormValues", "React", "useCallback", "useEffect", "useMemo", "useState", "createIntent", "useIntentDispatcher", "EchoSchema", "getTypenameOrThrow", "toJsonSchema", "useGlobalFilteredObjects", "useClient", "Filter", "useQuery", "getSpace", "live", "useKanbanModel", "Kanban", "StackItem", "ViewProjection", "KanbanContainer", "kanban", "client", "useClient", "cardSchema", "setCardSchema", "useState", "projection", "setProjection", "space", "getSpace", "dispatchPromise", "dispatch", "useIntentDispatcher", "jsonSchema", "useMemo", "EchoSchema", "toJsonSchema", "undefined", "useEffect", "typename", "cardView", "target", "query", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "schema", "getTypenameOrThrow", "db", "unsubscribe", "subscribe", "results", "fire", "ViewProjection", "JSON", "stringify", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "model", "useKanbanModel", "items", "handleAddCard", "useCallback", "columnValue", "path", "columnFieldPath", "card", "live", "add", "id", "handleRemoveCard", "createIntent", "KanbanAction", "DeleteCard", "StackItem", "Content", "Kanban", "onAddCard", "onRemoveCard", "React", "useCallback", "useMemo", "createIntent", "useIntentDispatcher", "Type", "assertEchoSchema", "FormatEnum", "isMutable", "invariant", "useClient", "Filter", "getSpace", "useQuery", "useSchema", "ViewEditor", "Form", "SelectInput", "KanbanSettingsSchema", "ViewType", "ViewProjection", "KanbanViewEditor", "kanban", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "space", "getSpace", "currentTypename", "useMemo", "cardView", "target", "query", "typename", "schema", "useSchema", "views", "useQuery", "Filter", "type", "ViewType", "handleUpdateTypename", "useCallback", "newTypename", "invariant", "matchingViews", "filter", "view", "assertEchoSchema", "updateTypename", "handleDelete", "fieldId", "createIntent", "KanbanAction", "DeleteCardField", "projection", "jsonSchema", "Type", "toJsonSchema", "ViewProjection", "JSON", "stringify", "fieldProjections", "getFieldProjections", "selectFields", "field", "props", "format", "FormatEnum", "SingleSelect", "map", "value", "id", "label", "path", "onSave", "values", "columnFieldId", "initialValues", "custom", "React", "SelectInput", "options", "Form", "KanbanSettingsSchema", "autoSave", "Custom", "ViewEditor", "registry", "db", "schemaRegistry", "onTypenameChanged", "isMutable", "undefined", "onDelete", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "KANBAN_PLUGIN", "role", "filter", "data", "isKanban", "subject", "component", "React", "KanbanContainer", "kanban", "KanbanViewEditor", "prop", "annotation", "findAnnotation", "schema", "ast", "TypenameAnnotationId", "target", "inputProps", "client", "useClient", "props", "space", "isSpace", "getSpace", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "useMemo", "Set", "flatMap", "typeArray", "map", "type", "typename", "fixed", "graph", "schemaRegistry", "schemas", "has", "getTypenameOrThrow", "dynamic", "db", "query", "runSync", "typenames", "Array", "from", "sort", "SelectInput", "options", "value", "PivotColumnAnnotationId", "useFormValues", "staticSchema", "flat", "find", "selectedSchema", "singleSelectColumns", "properties", "toJsonSchema", "jsonSchema", "columns", "Object", "entries", "reduce", "acc", "key", "format", "push", "column"]
|
|
7
|
+
}
|
|
@@ -4,15 +4,13 @@ import {
|
|
|
4
4
|
KanbanAction,
|
|
5
5
|
PivotColumnAnnotationId,
|
|
6
6
|
TypenameAnnotationId,
|
|
7
|
-
createKanban,
|
|
8
7
|
isKanban
|
|
9
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NOC32MF5.mjs";
|
|
10
9
|
export {
|
|
11
10
|
CreateKanbanSchema,
|
|
12
11
|
KanbanAction,
|
|
13
12
|
PivotColumnAnnotationId,
|
|
14
13
|
TypenameAnnotationId,
|
|
15
|
-
createKanban,
|
|
16
14
|
isKanban
|
|
17
15
|
};
|
|
18
16
|
//# sourceMappingURL=types.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare const ArtifactDefinition: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/artifact").ArtifactDefinition> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
2
|
-
export declare const IntentResolver: (props?:
|
|
2
|
+
export declare const IntentResolver: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
3
3
|
export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,oLAA8C,CAAC;AAC9E,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,oLAA8C,CAAC;AAC9E,eAAO,MAAM,cAAc,kPAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Capabilities } from '@dxos/app-framework';
|
|
2
|
-
declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
|
|
1
|
+
import { Capabilities, type PluginContext } from '@dxos/app-framework';
|
|
2
|
+
declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=intent-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,YAAY,EAAkB,MAAM,qBAAqB,CAAC
|
|
1
|
+
{"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,YAAY,EAAkB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBAUpF,SAAS,aAAa;AAAtC,wBAwDK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA+C,MAAM,qBAAqB,CAAC;;AAchG,wBAqGK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAOzE,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAMhF,eAAO,MAAM,eAAe,GAAI,YAAY;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA2E/E,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import '@dxos-theme';
|
|
2
|
+
import { type StoryObj, type Meta } from '@storybook/react';
|
|
3
|
+
type StoryProps = {
|
|
4
|
+
rows?: number;
|
|
5
|
+
};
|
|
6
|
+
declare const meta: Meta<StoryProps>;
|
|
7
|
+
export default meta;
|
|
8
|
+
type Story = StoryObj<StoryProps>;
|
|
9
|
+
export declare const Default: Story;
|
|
10
|
+
//# sourceMappingURL=KanbanContainer.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAmI5D,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAwC1B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAElC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AASpD,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAK9E,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD,eAAO,MAAM,gBAAgB,GAAI,YAAY,qBAAqB,6BAwEjE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type EchoSchema } from '@dxos/echo-schema';
|
|
2
|
+
import { type Client } from '@dxos/react-client';
|
|
3
|
+
import { type Space } from '@dxos/react-client/echo';
|
|
4
|
+
import { KanbanType } from '@dxos/react-ui-kanban';
|
|
5
|
+
type InitializeKanbanProps = {
|
|
6
|
+
client: Client;
|
|
7
|
+
space: Space;
|
|
8
|
+
name?: string;
|
|
9
|
+
typename?: string;
|
|
10
|
+
initialPivotColumn?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const initializeKanban: ({ client, space, name, typename, initialPivotColumn, }: InitializeKanbanProps) => Promise<{
|
|
13
|
+
kanban: KanbanType;
|
|
14
|
+
schema?: EchoSchema;
|
|
15
|
+
}>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=initialize-kanban.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize-kanban.d.ts","sourceRoot":"","sources":["../../../../src/testing/initialize-kanban.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,UAAU,EAGhB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,KAAK,EAAiB,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAyBF,eAAO,MAAM,gBAAgB,GAAU,wDAMpC,qBAAqB,KAAG,OAAO,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAAE,CA6E7E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanban-manager.d.ts","sourceRoot":"","sources":["../../../../src/testing/kanban-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,kBAAkB,CAAC;AAEtD,qBAAa,aAAa;IAGZ,QAAQ,CAAC,OAAO,EAAE,OAAO;IAFrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;gBAER,OAAO,EAAE,OAAO;CAGtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smoke.spec.d.ts","sourceRoot":"","sources":["../../../../../src/testing/playwright/smoke.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,35 +1,9 @@
|
|
|
1
|
+
import { KanbanType } from '@dxos/react-ui-kanban';
|
|
1
2
|
declare const _default: {
|
|
2
3
|
'en-US': {
|
|
3
|
-
[
|
|
4
|
+
[KanbanType.typename]: {
|
|
4
5
|
'typename label': string;
|
|
5
6
|
'object name placeholder': string;
|
|
6
|
-
'plugin name'?: undefined;
|
|
7
|
-
'kanban title label'?: undefined;
|
|
8
|
-
'column title label'?: undefined;
|
|
9
|
-
'column title placeholder'?: undefined;
|
|
10
|
-
'item title label'?: undefined;
|
|
11
|
-
'item title placeholder'?: undefined;
|
|
12
|
-
'add column label'?: undefined;
|
|
13
|
-
'add item label'?: undefined;
|
|
14
|
-
'delete column label'?: undefined;
|
|
15
|
-
'delete item label'?: undefined;
|
|
16
|
-
'card field deleted label'?: undefined;
|
|
17
|
-
'card deleted label'?: undefined;
|
|
18
|
-
} | {
|
|
19
|
-
'plugin name': string;
|
|
20
|
-
'kanban title label': string;
|
|
21
|
-
'column title label': string;
|
|
22
|
-
'column title placeholder': string;
|
|
23
|
-
'item title label': string;
|
|
24
|
-
'item title placeholder': string;
|
|
25
|
-
'add column label': string;
|
|
26
|
-
'add item label': string;
|
|
27
|
-
'delete column label': string;
|
|
28
|
-
'delete item label': string;
|
|
29
|
-
'card field deleted label': string;
|
|
30
|
-
'card deleted label': string;
|
|
31
|
-
'typename label'?: undefined;
|
|
32
|
-
'object name placeholder'?: undefined;
|
|
33
7
|
};
|
|
34
8
|
"dxos.org/plugin/kanban": {
|
|
35
9
|
'plugin name': string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;;;QAO7C,CAAC,UAAU,CAAC,QAAQ,CAAC;;;UAGpB;;;;;;;;;;;;;;;;;AANP,wBAuBE"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type Space } from '@dxos/react-client/echo';
|
|
1
|
+
import { Schema } from 'effect';
|
|
3
2
|
import { KanbanType } from '@dxos/react-ui-kanban';
|
|
4
3
|
/**
|
|
5
4
|
* Kanban data model.
|
|
@@ -11,58 +10,58 @@ import { KanbanType } from '@dxos/react-ui-kanban';
|
|
|
11
10
|
*/
|
|
12
11
|
export declare const TypenameAnnotationId: unique symbol;
|
|
13
12
|
export declare const PivotColumnAnnotationId: unique symbol;
|
|
14
|
-
export declare const CreateKanbanSchema:
|
|
15
|
-
name:
|
|
16
|
-
typename:
|
|
17
|
-
initialPivotColumn:
|
|
13
|
+
export declare const CreateKanbanSchema: Schema.Struct<{
|
|
14
|
+
name: Schema.optional<typeof Schema.String>;
|
|
15
|
+
typename: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
16
|
+
initialPivotColumn: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
18
17
|
}>;
|
|
19
|
-
export type CreateKanbanType =
|
|
18
|
+
export type CreateKanbanType = Schema.Schema.Type<typeof CreateKanbanSchema>;
|
|
20
19
|
export declare namespace KanbanAction {
|
|
21
|
-
const Create_base:
|
|
22
|
-
readonly _tag:
|
|
20
|
+
const Create_base: Schema.TaggedClass<Create, "dxos.org/plugin/kanban/action/create", {
|
|
21
|
+
readonly _tag: Schema.tag<"dxos.org/plugin/kanban/action/create">;
|
|
23
22
|
} & {
|
|
24
|
-
input:
|
|
25
|
-
space:
|
|
26
|
-
}>,
|
|
27
|
-
name:
|
|
28
|
-
typename:
|
|
29
|
-
initialPivotColumn:
|
|
23
|
+
input: Schema.extend<Schema.Struct<{
|
|
24
|
+
space: Schema.Schema<import("@dxos/client-protocol").Space, import("@dxos/client-protocol").Space, never>;
|
|
25
|
+
}>, Schema.Struct<{
|
|
26
|
+
name: Schema.optional<typeof Schema.String>;
|
|
27
|
+
typename: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
28
|
+
initialPivotColumn: Schema.optional<Schema.SchemaClass<string, string, never>>;
|
|
30
29
|
}>>;
|
|
31
|
-
output:
|
|
30
|
+
output: Schema.Struct<{
|
|
32
31
|
object: typeof KanbanType;
|
|
33
32
|
}>;
|
|
34
33
|
}>;
|
|
35
34
|
export class Create extends Create_base {
|
|
36
35
|
}
|
|
37
|
-
const DeleteCardField_base:
|
|
38
|
-
readonly _tag:
|
|
36
|
+
const DeleteCardField_base: Schema.TaggedClass<DeleteCardField, "dxos.org/plugin/kanban/action/delete-card-field", {
|
|
37
|
+
readonly _tag: Schema.tag<"dxos.org/plugin/kanban/action/delete-card-field">;
|
|
39
38
|
} & {
|
|
40
|
-
input:
|
|
39
|
+
input: Schema.Struct<{
|
|
41
40
|
kanban: typeof KanbanType;
|
|
42
|
-
fieldId: typeof
|
|
43
|
-
deletionData:
|
|
44
|
-
field:
|
|
45
|
-
id: typeof
|
|
46
|
-
path:
|
|
47
|
-
visible:
|
|
48
|
-
size:
|
|
49
|
-
referencePath:
|
|
41
|
+
fieldId: typeof Schema.String;
|
|
42
|
+
deletionData: Schema.optional<Schema.Struct<{
|
|
43
|
+
field: Schema.mutable<Schema.Struct<{
|
|
44
|
+
id: typeof Schema.String;
|
|
45
|
+
path: Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>;
|
|
46
|
+
visible: Schema.optional<typeof Schema.Boolean>;
|
|
47
|
+
size: Schema.optional<typeof Schema.Number>;
|
|
48
|
+
referencePath: Schema.optional<Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>>;
|
|
50
49
|
}>>;
|
|
51
|
-
props: typeof
|
|
52
|
-
index: typeof
|
|
50
|
+
props: typeof Schema.Any;
|
|
51
|
+
index: typeof Schema.Number;
|
|
53
52
|
}>>;
|
|
54
53
|
}>;
|
|
55
|
-
output: typeof
|
|
54
|
+
output: typeof Schema.Void;
|
|
56
55
|
}>;
|
|
57
56
|
export class DeleteCardField extends DeleteCardField_base {
|
|
58
57
|
}
|
|
59
|
-
const DeleteCard_base:
|
|
60
|
-
readonly _tag:
|
|
58
|
+
const DeleteCard_base: Schema.TaggedClass<DeleteCard, "dxos.org/plugin/kanban/action/delete-card", {
|
|
59
|
+
readonly _tag: Schema.tag<"dxos.org/plugin/kanban/action/delete-card">;
|
|
61
60
|
} & {
|
|
62
|
-
input:
|
|
63
|
-
card: typeof
|
|
61
|
+
input: Schema.Struct<{
|
|
62
|
+
card: typeof Schema.Any;
|
|
64
63
|
}>;
|
|
65
|
-
output: typeof
|
|
64
|
+
output: typeof Schema.Void;
|
|
66
65
|
}>;
|
|
67
66
|
export class DeleteCard extends DeleteCard_base {
|
|
68
67
|
}
|
|
@@ -75,10 +74,4 @@ export type Location = {
|
|
|
75
74
|
idx?: number;
|
|
76
75
|
};
|
|
77
76
|
export declare const isKanban: (object: unknown) => object is KanbanType;
|
|
78
|
-
export declare const createKanban: ({ space, name, typename, initialPivotColumn, }: {
|
|
79
|
-
space: Space;
|
|
80
|
-
name?: string;
|
|
81
|
-
typename?: string;
|
|
82
|
-
initialPivotColumn?: string;
|
|
83
|
-
}) => Promise<KanbanType>;
|
|
84
77
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAKnD;;;;;;;GAOG;AAGH,eAAO,MAAM,oBAAoB,eAAwD,CAAC;AAC1F,eAAO,MAAM,uBAAuB,eAA2D,CAAC;AAEhG,eAAO,MAAM,kBAAkB;;;;EAc7B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE7E,yBAAiB,YAAY,CAAC;;;;;;;;;;;;;;;IAG5B,MAAM,OAAO,MAAO,SAAQ,WAK1B;KAAG;;;;;;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAgBnC;KAAG;;;;;;;;;IAEL,MAAM,OAAO,UAAW,SAAQ,eAK9B;KAAG;;CACN;AAUD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAQ,OAAO,KAAG,MAAM,IAAI,UAA4D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"5.
|
|
1
|
+
{"version":"5.8.3"}
|