@dxos/plugin-kanban 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae
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/KanbanContainer-BCXSJ6KS.mjs +304 -0
- package/dist/lib/browser/KanbanContainer-BCXSJ6KS.mjs.map +7 -0
- package/dist/lib/browser/KanbanViewEditor-IH5CJ6BW.mjs +66 -0
- package/dist/lib/browser/KanbanViewEditor-IH5CJ6BW.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-HFEKGFJK.mjs +17 -0
- package/dist/lib/browser/blueprint-definition-HFEKGFJK.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +8 -0
- package/dist/lib/browser/blueprints/index.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/chunk-QSWCFMEB.mjs +385 -0
- package/dist/lib/browser/chunk-QSWCFMEB.mjs.map +7 -0
- package/dist/lib/browser/chunk-RNFIFE2P.mjs +213 -0
- package/dist/lib/browser/chunk-RNFIFE2P.mjs.map +7 -0
- package/dist/lib/browser/chunk-TLYZSC7O.mjs +29 -0
- package/dist/lib/browser/chunk-TLYZSC7O.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +65 -68
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-BRA2OHUE.mjs +162 -0
- package/dist/lib/browser/operation-resolver-BRA2OHUE.mjs.map +7 -0
- package/dist/lib/browser/react-surface-FOMOGFVW.mjs +99 -0
- package/dist/lib/browser/react-surface-FOMOGFVW.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +14 -5
- package/dist/lib/node-esm/KanbanContainer-EHRTLE7M.mjs +305 -0
- package/dist/lib/node-esm/KanbanContainer-EHRTLE7M.mjs.map +7 -0
- package/dist/lib/node-esm/KanbanViewEditor-WDACFC35.mjs +67 -0
- package/dist/lib/node-esm/KanbanViewEditor-WDACFC35.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-NARBX32U.mjs +18 -0
- package/dist/lib/node-esm/blueprint-definition-NARBX32U.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +9 -0
- package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4AWDHQVY.mjs +214 -0
- package/dist/lib/node-esm/chunk-4AWDHQVY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CSL3HF2X.mjs +386 -0
- package/dist/lib/node-esm/chunk-CSL3HF2X.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-X3UJUQIV.mjs +31 -0
- package/dist/lib/node-esm/chunk-X3UJUQIV.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +65 -68
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-UEQ64LCN.mjs +163 -0
- package/dist/lib/node-esm/operation-resolver-UEQ64LCN.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-AITKFRBE.mjs +100 -0
- package/dist/lib/node-esm/react-surface-AITKFRBE.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +14 -5
- package/dist/types/src/KanbanPlugin.d.ts +2 -1
- package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/kanban-blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +3 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +58 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +70 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts +10 -0
- package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts +9 -0
- package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/index.d.ts +2 -0
- package/dist/types/src/components/KanbanBoard/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +1 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts +6 -0
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts +77 -0
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanContainer/index.d.ts +3 -0
- package/dist/types/src/containers/KanbanContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts +6 -0
- package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanViewEditor/index.d.ts +3 -0
- package/dist/types/src/containers/KanbanViewEditor/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 +6 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useEchoChangeCallback.d.ts +13 -0
- package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanBoardModel.d.ts +16 -0
- package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts +2 -0
- package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +22 -0
- package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +19 -0
- package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -0
- package/dist/types/src/hooks/useProjectionModel.d.ts +15 -0
- package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/playwright/board-manager.d.ts +5 -0
- package/dist/types/src/playwright/board-manager.d.ts.map +1 -0
- package/dist/types/src/playwright/playwright.config.d.ts +3 -0
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
- package/dist/types/src/playwright/smoke.spec.d.ts +2 -0
- package/dist/types/src/playwright/smoke.spec.d.ts.map +1 -0
- package/dist/types/src/testing/KanbanCardTileSimple.d.ts +5 -0
- package/dist/types/src/testing/KanbanCardTileSimple.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +35 -9
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Kanban.d.ts +37 -0
- package/dist/types/src/types/Kanban.d.ts.map +1 -0
- package/dist/types/src/types/constants.d.ts +6 -0
- package/dist/types/src/types/constants.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +98 -43
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +28 -0
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util/arrangement.d.ts +68 -0
- package/dist/types/src/util/arrangement.d.ts.map +1 -0
- package/dist/types/src/util/arrangement.test.d.ts +2 -0
- package/dist/types/src/util/arrangement.test.d.ts.map +1 -0
- package/dist/types/src/util/index.d.ts +2 -0
- package/dist/types/src/util/index.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +67 -46
- package/src/KanbanPlugin.tsx +35 -54
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/kanban-blueprint.ts +31 -0
- package/src/capabilities/artifact-definition/artifact-definition.ts +151 -0
- package/src/capabilities/artifact-definition/index.ts +7 -0
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
- package/src/capabilities/blueprint-definition/index.ts +7 -0
- package/src/capabilities/index.ts +3 -5
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +133 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +86 -0
- package/src/components/KanbanBoard/KanbanBoard.stories.tsx +142 -0
- package/src/components/KanbanBoard/KanbanBoard.tsx +184 -0
- package/src/components/KanbanBoard/KanbanCard.tsx +87 -0
- package/src/components/KanbanBoard/KanbanColumn.tsx +69 -0
- package/src/components/KanbanBoard/index.ts +5 -0
- package/src/components/index.ts +1 -2
- package/src/containers/KanbanContainer/KanbanContainer.stories.tsx +263 -0
- package/src/containers/KanbanContainer/KanbanContainer.tsx +87 -0
- package/src/containers/KanbanContainer/index.ts +7 -0
- package/src/containers/KanbanViewEditor/KanbanViewEditor.tsx +63 -0
- package/src/containers/KanbanViewEditor/index.ts +7 -0
- package/src/containers/index.ts +8 -0
- package/src/hooks/index.ts +9 -0
- package/src/hooks/useEchoChangeCallback.ts +30 -0
- package/src/hooks/useKanbanBoardModel.test.ts +235 -0
- package/src/hooks/useKanbanBoardModel.ts +143 -0
- package/src/hooks/useKanbanColumnEventHandler.ts +106 -0
- package/src/hooks/useKanbanItemEventHandler.ts +133 -0
- package/src/hooks/useProjectionModel.ts +58 -0
- package/src/meta.ts +8 -4
- package/src/playwright/board-manager.ts +13 -0
- package/src/playwright/playwright.config.ts +19 -0
- package/src/playwright/smoke.spec.ts +107 -0
- package/src/testing/KanbanCardTileSimple.tsx +76 -0
- package/src/testing/index.ts +5 -0
- package/src/translations.ts +13 -6
- package/src/types/Kanban.ts +67 -0
- package/src/types/constants.ts +9 -0
- package/src/types/index.ts +2 -0
- package/src/types/schema.ts +84 -38
- package/src/types/types.ts +35 -0
- package/src/util/arrangement.test.ts +208 -0
- package/src/util/arrangement.ts +167 -0
- package/src/util/index.ts +5 -0
- package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs +0 -28
- package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs.map +0 -7
- package/dist/lib/browser/chunk-K7KYFJ3P.mjs +0 -80
- package/dist/lib/browser/chunk-K7KYFJ3P.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-LR3SDMKQ.mjs +0 -111
- package/dist/lib/browser/intent-resolver-LR3SDMKQ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-R2ORFB43.mjs +0 -255
- package/dist/lib/browser/react-surface-R2ORFB43.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs +0 -30
- package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VDWYSHP4.mjs +0 -82
- package/dist/lib/node-esm/chunk-VDWYSHP4.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-CKDNVLND.mjs +0 -112
- package/dist/lib/node-esm/intent-resolver-CKDNVLND.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-RMRLHCOY.mjs +0 -256
- package/dist/lib/node-esm/react-surface-RMRLHCOY.mjs.map +0 -7
- package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/components/KanbanContainer.d.ts +0 -7
- package/dist/types/src/components/KanbanContainer.d.ts.map +0 -1
- package/dist/types/src/components/KanbanContainer.stories.d.ts +0 -41
- package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/KanbanViewEditor.d.ts +0 -8
- package/dist/types/src/components/KanbanViewEditor.d.ts.map +0 -1
- package/src/capabilities/artifact-definition.ts +0 -148
- package/src/capabilities/blueprint-definition.ts +0 -30
- package/src/capabilities/intent-resolver.ts +0 -71
- package/src/capabilities/react-surface.tsx +0 -84
- package/src/components/KanbanContainer.stories.tsx +0 -193
- package/src/components/KanbanContainer.tsx +0 -95
- package/src/components/KanbanViewEditor.tsx +0 -64
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/types/constants.ts
|
|
6
|
+
var UNCATEGORIZED_VALUE = "__uncategorized__";
|
|
7
|
+
var UNCATEGORIZED_ATTRIBUTES = {
|
|
8
|
+
title: "Uncategorized",
|
|
9
|
+
color: "neutral"
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// src/types/Kanban.ts
|
|
13
|
+
var Kanban_exports = {};
|
|
14
|
+
__export(Kanban_exports, {
|
|
15
|
+
Arrangement: () => Arrangement,
|
|
16
|
+
Kanban: () => Kanban,
|
|
17
|
+
make: () => make
|
|
18
|
+
});
|
|
19
|
+
import * as Schema from "effect/Schema";
|
|
20
|
+
import { Obj, Ref, Type } from "@dxos/echo";
|
|
21
|
+
import { View } from "@dxos/echo";
|
|
22
|
+
import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
|
|
23
|
+
import { ViewAnnotation } from "@dxos/schema";
|
|
24
|
+
var ArrangementColumnEntry = Schema.Struct({
|
|
25
|
+
ids: Schema.Array(Obj.ID),
|
|
26
|
+
hidden: Schema.optional(Schema.Boolean)
|
|
27
|
+
});
|
|
28
|
+
var ArrangementColumns = Schema.Record({
|
|
29
|
+
key: Schema.String,
|
|
30
|
+
value: ArrangementColumnEntry
|
|
31
|
+
}).pipe(FormInputAnnotation.set(false));
|
|
32
|
+
var Arrangement = Schema.Struct({
|
|
33
|
+
order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),
|
|
34
|
+
columns: ArrangementColumns
|
|
35
|
+
}).pipe(FormInputAnnotation.set(false));
|
|
36
|
+
var Kanban = Schema.Struct({
|
|
37
|
+
name: Schema.optional(Schema.String),
|
|
38
|
+
view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),
|
|
39
|
+
/** Column display order and per-column card ids. */
|
|
40
|
+
arrangement: Arrangement
|
|
41
|
+
}).pipe(Type.object({
|
|
42
|
+
typename: "dxos.org/type/Kanban",
|
|
43
|
+
version: "0.3.0"
|
|
44
|
+
}), LabelAnnotation.set([
|
|
45
|
+
"name"
|
|
46
|
+
]), ViewAnnotation.set(true));
|
|
47
|
+
var make = (props) => {
|
|
48
|
+
const { name, view, arrangement } = props;
|
|
49
|
+
const order = arrangement?.order ?? [];
|
|
50
|
+
const columns = arrangement?.columns ?? {};
|
|
51
|
+
return Obj.make(Kanban, {
|
|
52
|
+
name,
|
|
53
|
+
view: Ref.make(view),
|
|
54
|
+
arrangement: {
|
|
55
|
+
order,
|
|
56
|
+
columns
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// src/types/schema.ts
|
|
62
|
+
import * as Schema2 from "effect/Schema";
|
|
63
|
+
import { Capability } from "@dxos/app-framework";
|
|
64
|
+
import { View as View2 } from "@dxos/echo";
|
|
65
|
+
import { Operation } from "@dxos/operation";
|
|
66
|
+
import { TypeInputOptionsAnnotation } from "@dxos/plugin-space/types";
|
|
67
|
+
|
|
68
|
+
// src/meta.ts
|
|
69
|
+
import { trim } from "@dxos/util";
|
|
70
|
+
var meta = {
|
|
71
|
+
id: "dxos.org/plugin/kanban",
|
|
72
|
+
name: "Kanban",
|
|
73
|
+
description: trim`
|
|
74
|
+
Visual project management using customizable kanban boards to track workflow progress.
|
|
75
|
+
Organize table data into columns, drag and drop items between stages, and trigger automations based on status changes.
|
|
76
|
+
`,
|
|
77
|
+
icon: "ph--kanban--regular",
|
|
78
|
+
iconHue: "green",
|
|
79
|
+
source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-kanban",
|
|
80
|
+
screenshots: [
|
|
81
|
+
"https://dxos.network/plugin-details-kanban-dark.png"
|
|
82
|
+
]
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// src/types/schema.ts
|
|
86
|
+
var PivotColumnAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/plugin-kanban/annotation/PivotColumn");
|
|
87
|
+
var SettingsSchema = Schema2.Struct({
|
|
88
|
+
columnFieldId: Schema2.String.annotations({
|
|
89
|
+
title: "Column field"
|
|
90
|
+
})
|
|
91
|
+
});
|
|
92
|
+
var CreateKanbanSchema = Schema2.Struct({
|
|
93
|
+
name: Schema2.optional(Schema2.String),
|
|
94
|
+
// TODO(wittjosiah): This should be a query input instead.
|
|
95
|
+
typename: Schema2.String.pipe(Schema2.annotations({
|
|
96
|
+
title: "Select card type"
|
|
97
|
+
}), TypeInputOptionsAnnotation.set({
|
|
98
|
+
location: [
|
|
99
|
+
"database",
|
|
100
|
+
"runtime"
|
|
101
|
+
],
|
|
102
|
+
kind: [
|
|
103
|
+
"user"
|
|
104
|
+
],
|
|
105
|
+
registered: [
|
|
106
|
+
"registered"
|
|
107
|
+
]
|
|
108
|
+
}), Schema2.optional),
|
|
109
|
+
initialPivotColumn: Schema2.optional(Schema2.String.annotations({
|
|
110
|
+
[PivotColumnAnnotationId]: true,
|
|
111
|
+
title: "Pivot column"
|
|
112
|
+
}))
|
|
113
|
+
});
|
|
114
|
+
var KANBAN_OPERATION = `${meta.id}/operation`;
|
|
115
|
+
(function(KanbanOperation2) {
|
|
116
|
+
KanbanOperation2.DeleteCardFieldOutput = Schema2.Struct({
|
|
117
|
+
field: View2.FieldSchema.annotations({
|
|
118
|
+
description: "The deleted field schema."
|
|
119
|
+
}),
|
|
120
|
+
props: Schema2.Any.annotations({
|
|
121
|
+
description: "The deleted field properties."
|
|
122
|
+
}),
|
|
123
|
+
index: Schema2.Number.annotations({
|
|
124
|
+
description: "The index the field was at."
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
KanbanOperation2.DeleteCardField = Operation.make({
|
|
128
|
+
meta: {
|
|
129
|
+
key: `${KANBAN_OPERATION}/delete-card-field`,
|
|
130
|
+
name: "Delete Card Field"
|
|
131
|
+
},
|
|
132
|
+
services: [
|
|
133
|
+
Capability.Service
|
|
134
|
+
],
|
|
135
|
+
schema: {
|
|
136
|
+
input: Schema2.Struct({
|
|
137
|
+
view: View2.View,
|
|
138
|
+
fieldId: Schema2.String
|
|
139
|
+
}),
|
|
140
|
+
output: KanbanOperation2.DeleteCardFieldOutput
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
KanbanOperation2.DeleteCardOutput = Schema2.Struct({
|
|
144
|
+
card: Schema2.Any.annotations({
|
|
145
|
+
description: "The deleted card."
|
|
146
|
+
})
|
|
147
|
+
});
|
|
148
|
+
KanbanOperation2.DeleteCard = Operation.make({
|
|
149
|
+
meta: {
|
|
150
|
+
key: `${KANBAN_OPERATION}/delete-card`,
|
|
151
|
+
name: "Delete Card"
|
|
152
|
+
},
|
|
153
|
+
schema: {
|
|
154
|
+
input: Schema2.Struct({
|
|
155
|
+
card: Schema2.Any
|
|
156
|
+
}),
|
|
157
|
+
output: KanbanOperation2.DeleteCardOutput
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
KanbanOperation2.RestoreCardField = Operation.make({
|
|
161
|
+
meta: {
|
|
162
|
+
key: `${KANBAN_OPERATION}/restore-card-field`,
|
|
163
|
+
name: "Restore Card Field"
|
|
164
|
+
},
|
|
165
|
+
services: [
|
|
166
|
+
Capability.Service
|
|
167
|
+
],
|
|
168
|
+
schema: {
|
|
169
|
+
input: Schema2.Struct({
|
|
170
|
+
view: View2.View.annotations({
|
|
171
|
+
description: "The view to restore the field to."
|
|
172
|
+
}),
|
|
173
|
+
field: View2.FieldSchema.annotations({
|
|
174
|
+
description: "The field schema to restore."
|
|
175
|
+
}),
|
|
176
|
+
props: Schema2.Any.annotations({
|
|
177
|
+
description: "The field properties to restore."
|
|
178
|
+
}),
|
|
179
|
+
index: Schema2.Number.annotations({
|
|
180
|
+
description: "The index to restore the field at."
|
|
181
|
+
})
|
|
182
|
+
}),
|
|
183
|
+
output: Schema2.Void
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
KanbanOperation2.RestoreCard = Operation.make({
|
|
187
|
+
meta: {
|
|
188
|
+
key: `${KANBAN_OPERATION}/restore-card`,
|
|
189
|
+
name: "Restore Card"
|
|
190
|
+
},
|
|
191
|
+
schema: {
|
|
192
|
+
input: Schema2.Struct({
|
|
193
|
+
card: Schema2.Any.annotations({
|
|
194
|
+
description: "The card to restore."
|
|
195
|
+
})
|
|
196
|
+
}),
|
|
197
|
+
output: Schema2.Void
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
})(KanbanOperation || (KanbanOperation = {}));
|
|
201
|
+
var KanbanOperation;
|
|
202
|
+
|
|
203
|
+
export {
|
|
204
|
+
meta,
|
|
205
|
+
UNCATEGORIZED_VALUE,
|
|
206
|
+
UNCATEGORIZED_ATTRIBUTES,
|
|
207
|
+
Kanban_exports,
|
|
208
|
+
PivotColumnAnnotationId,
|
|
209
|
+
SettingsSchema,
|
|
210
|
+
CreateKanbanSchema,
|
|
211
|
+
KanbanOperation
|
|
212
|
+
};
|
|
213
|
+
//# sourceMappingURL=chunk-RNFIFE2P.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/constants.ts", "../../../src/types/Kanban.ts", "../../../src/types/schema.ts", "../../../src/meta.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const UNCATEGORIZED_VALUE = '__uncategorized__' as const;\nexport const UNCATEGORIZED_ATTRIBUTES = {\n title: 'Uncategorized',\n color: 'neutral',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { View } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\n/** Per-column entry (ids order, optional hidden). */\nconst ArrangementColumnEntry = Schema.Struct({\n ids: Schema.Array(Obj.ID),\n hidden: Schema.optional(Schema.Boolean),\n});\n\n/** Keyed by columnValue. */\nconst ArrangementColumns = Schema.Record({\n key: Schema.String,\n value: ArrangementColumnEntry,\n}).pipe(FormInputAnnotation.set(false));\n\n/** Column order and per-column card ids. */\nexport const Arrangement = Schema.Struct({\n order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n columns: ArrangementColumns,\n}).pipe(FormInputAnnotation.set(false));\n\nexport type Arrangement = Schema.Schema.Type<typeof Arrangement>;\n\nexport const Kanban = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n\n /** Column display order and per-column card ids. */\n arrangement: Arrangement,\n}).pipe(\n Type.object({\n typename: 'dxos.org/type/Kanban',\n version: '0.3.0',\n }),\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(true),\n);\n\n/** Instance type; use Kanban.Kanban in type position so namespace has .Kanban as type and .KanbanSchema as schema. */\nexport interface Kanban extends Schema.Schema.Type<typeof Kanban> {}\n\ntype MakeProps = Omit<Partial<Obj.MakeProps<typeof Kanban>>, 'view'> & {\n view: View.View;\n};\n\n/**\n * Make a kanban as a view of a data set.\n */\nexport const make = (props: MakeProps): Kanban => {\n const { name, view, arrangement } = props;\n const order = arrangement?.order ?? [];\n const columns = arrangement?.columns ?? {};\n return Obj.make(Kanban, {\n name,\n view: Ref.make(view),\n arrangement: { order, columns },\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { View } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { TypeInputOptionsAnnotation } from '@dxos/plugin-space/types';\n\nimport { meta } from '../meta';\n\n/**\n * Kanban data model.\n * A Kanban board is a collection of columns, each of which contains a collection of items.\n * The layout of columns and items is controlled by models.\n * The underlying data model may be represented by direct object relationships\n * (e.g., a column object containing an array of ordered items) or projections constructed\n * by the model (e.g., a query of items based on metadata within a column object).\n */\n\n// TODO(wittjosiah): Factor out?\nexport const PivotColumnAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/PivotColumn');\n\nexport const SettingsSchema = Schema.Struct({\n columnFieldId: Schema.String.annotations({\n title: 'Column field',\n }),\n});\n\nexport const CreateKanbanSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): This should be a query input instead.\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select card type' }),\n TypeInputOptionsAnnotation.set({\n location: ['database', 'runtime'],\n kind: ['user'],\n registered: ['registered'],\n }),\n Schema.optional,\n ),\n initialPivotColumn: Schema.optional(\n Schema.String.annotations({\n [PivotColumnAnnotationId]: true,\n title: 'Pivot column',\n }),\n ),\n});\n\nconst KANBAN_OPERATION = `${meta.id}/operation`;\n\nexport namespace KanbanOperation {\n export const DeleteCardFieldOutput = Schema.Struct({\n field: View.FieldSchema.annotations({ description: 'The deleted field schema.' }),\n props: Schema.Any.annotations({ description: 'The deleted field properties.' }),\n index: Schema.Number.annotations({ description: 'The index the field was at.' }),\n });\n\n export type DeleteCardFieldOutput = Schema.Schema.Type<typeof DeleteCardFieldOutput>;\n\n export const DeleteCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}/delete-card-field`, name: 'Delete Card Field' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View,\n fieldId: Schema.String,\n }),\n output: DeleteCardFieldOutput,\n },\n });\n\n export const DeleteCardOutput = Schema.Struct({\n card: Schema.Any.annotations({ description: 'The deleted card.' }),\n });\n\n export type DeleteCardOutput = Schema.Schema.Type<typeof DeleteCardOutput>;\n\n export const DeleteCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}/delete-card`, name: 'Delete Card' },\n schema: {\n input: Schema.Struct({\n card: Schema.Any,\n }),\n output: DeleteCardOutput,\n },\n });\n\n /**\n * Restore a deleted card field (inverse of DeleteCardField).\n */\n export const RestoreCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}/restore-card-field`, name: 'Restore Card Field' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to restore the field to.' }),\n field: View.FieldSchema.annotations({ description: 'The field schema to restore.' }),\n props: Schema.Any.annotations({ description: 'The field properties to restore.' }),\n index: Schema.Number.annotations({ description: 'The index to restore the field at.' }),\n }),\n output: Schema.Void,\n },\n });\n\n /**\n * Restore a deleted card (inverse of DeleteCard).\n */\n export const RestoreCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}/restore-card`, name: 'Restore Card' },\n schema: {\n input: Schema.Struct({\n card: Schema.Any.annotations({ description: 'The card to restore.' }),\n }),\n output: Schema.Void,\n },\n });\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/kanban',\n name: 'Kanban',\n description: trim`\n Visual project management using customizable kanban boards to track workflow progress.\n Organize table data into columns, drag and drop items between stages, and trigger automations based on status changes.\n `,\n icon: 'ph--kanban--regular',\n iconHue: 'green',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-kanban',\n screenshots: ['https://dxos.network/plugin-details-kanban-dark.png'],\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["UNCATEGORIZED_VALUE", "UNCATEGORIZED_ATTRIBUTES", "title", "color", "Schema", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "ArrangementColumnEntry", "Struct", "ids", "Array", "Obj", "ID", "hidden", "optional", "Boolean", "ArrangementColumns", "Record", "key", "String", "value", "pipe", "FormInputAnnotation", "set", "Arrangement", "order", "columns", "Kanban", "name", "view", "Ref", "View", "arrangement", "Type", "object", "typename", "version", "LabelAnnotation", "ViewAnnotation", "make", "props", "Schema", "Capability", "View", "Operation", "TypeInputOptionsAnnotation", "trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots", "PivotColumnAnnotationId", "Symbol", "for", "SettingsSchema", "Struct", "columnFieldId", "String", "annotations", "title", "CreateKanbanSchema", "name", "optional", "typename", "pipe", "TypeInputOptionsAnnotation", "set", "location", "kind", "registered", "initialPivotColumn", "KANBAN_OPERATION", "meta", "id", "KanbanOperation", "DeleteCardFieldOutput", "field", "View", "FieldSchema", "description", "props", "Any", "index", "Number", "DeleteCardField", "Operation", "make", "key", "services", "Capability", "Service", "schema", "input", "view", "fieldId", "output", "DeleteCardOutput", "card", "DeleteCard", "RestoreCardField", "Void", "RestoreCard"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// src/blueprints/kanban-blueprint.ts
|
|
2
|
+
import { Blueprint, Template } from "@dxos/blueprints";
|
|
3
|
+
import { trim } from "@dxos/util";
|
|
4
|
+
var BLUEPRINT_KEY = "dxos.org/blueprint/kanban";
|
|
5
|
+
var functions = [];
|
|
6
|
+
var make = () => Blueprint.make({
|
|
7
|
+
key: BLUEPRINT_KEY,
|
|
8
|
+
name: "Kanban",
|
|
9
|
+
tools: Blueprint.toolDefinitions({
|
|
10
|
+
functions,
|
|
11
|
+
tools: []
|
|
12
|
+
}),
|
|
13
|
+
instructions: Template.make({
|
|
14
|
+
source: trim`
|
|
15
|
+
You can create and update kanban boards to show data in sorted columns defined by schema.
|
|
16
|
+
`
|
|
17
|
+
})
|
|
18
|
+
});
|
|
19
|
+
var blueprint = {
|
|
20
|
+
key: BLUEPRINT_KEY,
|
|
21
|
+
functions,
|
|
22
|
+
make
|
|
23
|
+
};
|
|
24
|
+
var kanban_blueprint_default = blueprint;
|
|
25
|
+
|
|
26
|
+
export {
|
|
27
|
+
kanban_blueprint_default
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=chunk-TLYZSC7O.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/blueprints/kanban-blueprint.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AppCapabilities } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'dxos.org/blueprint/kanban';\n\nconst functions: AppCapabilities.BlueprintDefinition['functions'] = [];\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Kanban',\n tools: Blueprint.toolDefinitions({ functions, tools: [] }),\n instructions: Template.make({\n source: trim`\n You can create and update kanban boards to show data in sorted columns defined by schema.\n `,\n }),\n });\n\nconst blueprint: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n functions,\n make,\n};\n\nexport default blueprint;\n"],
|
|
5
|
+
"mappings": ";AAKA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;AAErB,IAAMC,gBAAgB;AAEtB,IAAMC,YAA8D,CAAA;AAEpE,IAAMC,OAAO,MACXC,UAAUD,KAAK;EACbE,KAAKJ;EACLK,MAAM;EACNC,OAAOH,UAAUI,gBAAgB;IAAEN;IAAWK,OAAO,CAAA;EAAG,CAAA;EACxDE,cAAcC,SAASP,KAAK;IAC1BQ,QAAQC;;;EAGV,CAAA;AACF,CAAA;AAEF,IAAMC,YAAiD;EACrDR,KAAKJ;EACLC;EACAC;AACF;AAEA,IAAA,2BAAeU;",
|
|
6
|
+
"names": ["Blueprint", "Template", "trim", "BLUEPRINT_KEY", "functions", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "blueprint"]
|
|
7
|
+
}
|
|
@@ -1,102 +1,99 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CreateKanbanSchema,
|
|
3
|
-
|
|
3
|
+
Kanban_exports,
|
|
4
4
|
meta
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RNFIFE2P.mjs";
|
|
6
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
6
7
|
|
|
7
8
|
// src/KanbanPlugin.tsx
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { Kanban as Kanban2 } from "@dxos/react-ui-kanban/types";
|
|
9
|
+
import * as Effect from "effect/Effect";
|
|
10
|
+
import { Plugin } from "@dxos/app-framework";
|
|
11
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
12
|
+
import { Type as Type2 } from "@dxos/echo";
|
|
13
|
+
import { ViewModel } from "@dxos/schema";
|
|
14
14
|
|
|
15
|
-
// src/capabilities/index.ts
|
|
16
|
-
import {
|
|
17
|
-
var BlueprintDefinition = lazy(() => import("./blueprint-definition-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
// src/capabilities/blueprint-definition/index.ts
|
|
16
|
+
import { Capability } from "@dxos/app-framework";
|
|
17
|
+
var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("./blueprint-definition-HFEKGFJK.mjs"));
|
|
18
|
+
|
|
19
|
+
// src/capabilities/operation-resolver/index.ts
|
|
20
|
+
import { Capability as Capability2 } from "@dxos/app-framework";
|
|
21
|
+
var OperationResolver = Capability2.lazy("OperationResolver", () => import("./operation-resolver-BRA2OHUE.mjs"));
|
|
22
|
+
|
|
23
|
+
// src/capabilities/react-surface/index.ts
|
|
24
|
+
import { Capability as Capability3 } from "@dxos/app-framework";
|
|
25
|
+
var ReactSurface = Capability3.lazy("ReactSurface", () => import("./react-surface-FOMOGFVW.mjs"));
|
|
20
26
|
|
|
21
27
|
// src/translations.ts
|
|
22
|
-
import {
|
|
28
|
+
import { Type } from "@dxos/echo";
|
|
23
29
|
var translations = [
|
|
24
30
|
{
|
|
25
31
|
"en-US": {
|
|
26
|
-
[
|
|
32
|
+
[Type.getTypename(Kanban_exports.Kanban)]: {
|
|
27
33
|
"typename label": "Kanban",
|
|
28
34
|
"typename label_zero": "Kanbans",
|
|
29
35
|
"typename label_one": "Kanban",
|
|
30
36
|
"typename label_other": "Kanbans",
|
|
31
|
-
"object name placeholder": "New kanban"
|
|
37
|
+
"object name placeholder": "New kanban",
|
|
38
|
+
"rename object label": "Rename kanban",
|
|
39
|
+
"delete object label": "Delete kanban",
|
|
40
|
+
"object deleted label": "Kanban deleted"
|
|
32
41
|
},
|
|
33
42
|
[meta.id]: {
|
|
43
|
+
"action menu label": "Actions",
|
|
34
44
|
"plugin name": "Kanban",
|
|
35
45
|
"kanban title label": "Title",
|
|
36
46
|
"column title label": "Column title",
|
|
37
47
|
"column title placeholder": "New column",
|
|
38
|
-
"item title label": "Item title",
|
|
39
|
-
"item title placeholder": "New item",
|
|
40
48
|
"add column label": "Add column",
|
|
41
|
-
"add
|
|
49
|
+
"add card label": "Add card",
|
|
50
|
+
"new column name label": "New column name",
|
|
51
|
+
"remove card label": "Remove card",
|
|
52
|
+
"remove empty column label": "Remove empty column",
|
|
53
|
+
"column drag handle label": "Drag to rearrange",
|
|
42
54
|
"delete column label": "Delete column",
|
|
43
|
-
"delete item label": "Delete card",
|
|
44
55
|
"card field deleted label": "Card field deleted",
|
|
45
|
-
"card deleted label": "Card deleted"
|
|
56
|
+
"card deleted label": "Card deleted",
|
|
57
|
+
"select pivot placeholder": "Select a pivot column in board settings to display columns."
|
|
46
58
|
}
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
61
|
];
|
|
50
62
|
|
|
51
63
|
// src/KanbanPlugin.tsx
|
|
52
|
-
var KanbanPlugin =
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
defineModule({
|
|
72
|
-
id: `${meta.id}/module/object-form`,
|
|
73
|
-
activatesOn: ClientEvents.SetupSchema,
|
|
74
|
-
activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
|
|
75
|
-
objectSchema: Kanban2.Kanban,
|
|
76
|
-
formSchema: CreateKanbanSchema,
|
|
77
|
-
hidden: true,
|
|
78
|
-
getIntent: (props, options) => createIntent(KanbanAction.Create, {
|
|
79
|
-
...props,
|
|
80
|
-
space: options.space
|
|
64
|
+
var KanbanPlugin = Plugin.define(meta).pipe(AppPlugin.addBlueprintDefinitionModule({
|
|
65
|
+
activate: BlueprintDefinition
|
|
66
|
+
}), AppPlugin.addMetadataModule({
|
|
67
|
+
metadata: {
|
|
68
|
+
id: Type2.getTypename(Kanban_exports.Kanban),
|
|
69
|
+
metadata: {
|
|
70
|
+
icon: "ph--kanban--regular",
|
|
71
|
+
iconHue: "green",
|
|
72
|
+
inputSchema: CreateKanbanSchema,
|
|
73
|
+
createObject: (props, { db }) => Effect.promise(async () => {
|
|
74
|
+
const { view } = await ViewModel.makeFromDatabase({
|
|
75
|
+
db,
|
|
76
|
+
typename: props.typename,
|
|
77
|
+
pivotFieldName: props.initialPivotColumn
|
|
78
|
+
});
|
|
79
|
+
return Kanban_exports.make({
|
|
80
|
+
name: props.name,
|
|
81
|
+
view
|
|
82
|
+
});
|
|
81
83
|
})
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
id: `${meta.id}/module/blueprint`,
|
|
96
|
-
activatesOn: Events.SetupArtifactDefinition,
|
|
97
|
-
activate: BlueprintDefinition
|
|
98
|
-
})
|
|
99
|
-
]);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}), AppPlugin.addOperationResolverModule({
|
|
87
|
+
activate: OperationResolver
|
|
88
|
+
}), AppPlugin.addSchemaModule({
|
|
89
|
+
schema: [
|
|
90
|
+
Kanban_exports.Kanban
|
|
91
|
+
]
|
|
92
|
+
}), AppPlugin.addSurfaceModule({
|
|
93
|
+
activate: ReactSurface
|
|
94
|
+
}), AppPlugin.addTranslationsModule({
|
|
95
|
+
translations
|
|
96
|
+
}), Plugin.make);
|
|
100
97
|
export {
|
|
101
98
|
KanbanPlugin,
|
|
102
99
|
meta
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/KanbanPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["
|
|
3
|
+
"sources": ["../../../src/KanbanPlugin.tsx", "../../../src/capabilities/blueprint-definition/index.ts", "../../../src/capabilities/operation-resolver/index.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/translations.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Type } from '@dxos/echo';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { ViewModel } from '@dxos/schema';\n\nimport { BlueprintDefinition, OperationResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { CreateKanbanSchema, Kanban } from './types';\n\nexport const KanbanPlugin = Plugin.define(meta).pipe(\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addMetadataModule({\n metadata: {\n id: Type.getTypename(Kanban.Kanban),\n metadata: {\n icon: 'ph--kanban--regular',\n iconHue: 'green',\n inputSchema: CreateKanbanSchema,\n createObject: ((props, { db }) =>\n Effect.promise(async () => {\n const { view } = await ViewModel.makeFromDatabase({\n db,\n typename: props.typename,\n pivotFieldName: props.initialPivotColumn,\n });\n return Kanban.make({ name: props.name, view });\n })) satisfies CreateObject,\n },\n },\n }),\n AppPlugin.addOperationResolverModule({ activate: OperationResolver }),\n AppPlugin.addSchemaModule({ schema: [Kanban.Kanban] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const OperationResolver = Capability.lazy('OperationResolver', () => import('./operation-resolver'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Kanban } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Kanban.Kanban)]: {\n 'typename label': 'Kanban',\n 'typename label_zero': 'Kanbans',\n 'typename label_one': 'Kanban',\n 'typename label_other': 'Kanbans',\n 'object name placeholder': 'New kanban',\n 'rename object label': 'Rename kanban',\n 'delete object label': 'Delete kanban',\n 'object deleted label': 'Kanban deleted',\n },\n [meta.id]: {\n 'action menu label': 'Actions',\n 'plugin name': 'Kanban',\n 'kanban title label': 'Title',\n 'column title label': 'Column title',\n 'column title placeholder': 'New column',\n 'add column label': 'Add column',\n 'add card label': 'Add card',\n 'new column name label': 'New column name',\n 'remove card label': 'Remove card',\n 'remove empty column label': 'Remove empty column',\n 'column drag handle label': 'Drag to rearrange',\n 'delete column label': 'Delete column',\n 'card field deleted label': 'Card field deleted',\n 'card deleted label': 'Card deleted',\n 'select pivot placeholder': 'Select a pivot column in board settings to display columns.',\n },\n },\n },\n] as const satisfies Resource[];\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,QAAAA,aAAY;AAErB,SAASC,iBAAiB;;;ACN1B,SAASC,kBAAkB;AAEpB,IAAMC,sBAAsBC,WAAWC,KAAK,uBAAuB,MAAM,OAAO,qCAAA,CAAA;;;ACFvF,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,oBAAoBC,YAAWC,KAAK,qBAAqB,MAAM,OAAO,mCAAA,CAAA;;;ACFnF,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,eAAeC,YAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACFzE,SAASC,YAAY;AAMd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,YAAYC,eAAOA,MAAM,CAAA,GAAI;QACjC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,qBAAqB;QACrB,eAAe;QACf,sBAAsB;QACtB,sBAAsB;QACtB,4BAA4B;QAC5B,oBAAoB;QACpB,kBAAkB;QAClB,yBAAyB;QACzB,qBAAqB;QACrB,6BAA6B;QAC7B,4BAA4B;QAC5B,uBAAuB;QACvB,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;MAC9B;IACF;EACF;;;;AJxBK,IAAMC,eAAeC,OAAOC,OAAOC,IAAAA,EAAMC,KAC9CC,UAAUC,6BAA6B;EAAEC,UAAUC;AAAoB,CAAA,GACvEH,UAAUI,kBAAkB;EAC1BC,UAAU;IACRC,IAAIC,MAAKC,YAAYC,eAAOA,MAAM;IAClCJ,UAAU;MACRK,MAAM;MACNC,SAAS;MACTC,aAAaC;MACbC,cAAe,CAACC,OAAO,EAAEC,GAAE,MAClBC,eAAQ,YAAA;AACb,cAAM,EAAEC,KAAI,IAAK,MAAMC,UAAUC,iBAAiB;UAChDJ;UACAK,UAAUN,MAAMM;UAChBC,gBAAgBP,MAAMQ;QACxB,CAAA;AACA,eAAOd,eAAOe,KAAK;UAAEC,MAAMV,MAAMU;UAAMP;QAAK,CAAA;MAC9C,CAAA;IACJ;EACF;AACF,CAAA,GACAlB,UAAU0B,2BAA2B;EAAExB,UAAUyB;AAAkB,CAAA,GACnE3B,UAAU4B,gBAAgB;EAAEC,QAAQ;IAACpB,eAAOA;;AAAQ,CAAA,GACpDT,UAAU8B,iBAAiB;EAAE5B,UAAU6B;AAAa,CAAA,GACpD/B,UAAUgC,sBAAsB;EAAEC;AAAa,CAAA,GAC/CrC,OAAO4B,IAAI;",
|
|
6
|
+
"names": ["Effect", "Plugin", "AppPlugin", "Type", "ViewModel", "Capability", "BlueprintDefinition", "Capability", "lazy", "Capability", "OperationResolver", "Capability", "lazy", "Capability", "ReactSurface", "Capability", "lazy", "Type", "translations", "Type", "getTypename", "Kanban", "meta", "id", "KanbanPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addBlueprintDefinitionModule", "activate", "BlueprintDefinition", "addMetadataModule", "metadata", "id", "Type", "getTypename", "Kanban", "icon", "iconHue", "inputSchema", "CreateKanbanSchema", "createObject", "props", "db", "promise", "view", "ViewModel", "makeFromDatabase", "typename", "pivotFieldName", "initialPivotColumn", "make", "name", "addOperationResolverModule", "OperationResolver", "addSchemaModule", "schema", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations"]
|
|
7
7
|
}
|