@contember/react-board 2.0.0-alpha.4 → 2.0.0-alpha.40
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/api-extractor.json +3 -0
- package/dist/development/index.cjs +9 -9
- package/dist/development/index.js +9 -9
- package/dist/development/{components → src/components}/Board.cjs +87 -83
- package/dist/development/src/components/Board.cjs.map +1 -0
- package/dist/development/{components → src/components}/Board.js +81 -77
- package/dist/development/src/components/Board.js.map +1 -0
- package/dist/development/src/components/BoardColumn.cjs.map +1 -0
- package/dist/development/src/components/BoardColumn.js.map +1 -0
- package/dist/development/{components → src/components}/BoardColumnLabel.cjs +1 -1
- package/dist/development/src/components/BoardColumnLabel.cjs.map +1 -0
- package/dist/development/{components → src/components}/BoardColumnLabel.js +1 -1
- package/dist/development/src/components/BoardColumnLabel.js.map +1 -0
- package/dist/development/{components → src/components}/BoardEachColumn.cjs +5 -6
- package/dist/development/src/components/BoardEachColumn.cjs.map +1 -0
- package/dist/development/{components → src/components}/BoardEachColumn.js +6 -7
- package/dist/development/src/components/BoardEachColumn.js.map +1 -0
- package/dist/development/{components → src/components}/BoardEachItem.cjs +7 -7
- package/dist/development/src/components/BoardEachItem.cjs.map +1 -0
- package/dist/development/{components → src/components}/BoardEachItem.js +5 -5
- package/dist/development/src/components/BoardEachItem.js.map +1 -0
- package/dist/development/src/components/BoardItem.cjs.map +1 -0
- package/dist/development/src/components/BoardItem.js.map +1 -0
- package/dist/development/{components → src/components}/BoardNullColumn.cjs +1 -1
- package/dist/development/src/components/BoardNullColumn.cjs.map +1 -0
- package/dist/development/{components → src/components}/BoardNullColumn.js +1 -1
- package/dist/development/src/components/BoardNullColumn.js.map +1 -0
- package/dist/development/src/const.cjs.map +1 -0
- package/dist/development/src/const.js.map +1 -0
- package/dist/development/src/contexts.cjs.map +1 -0
- package/dist/development/src/contexts.js.map +1 -0
- package/dist/development/src/internal/boardAnalyzer.cjs +13 -0
- package/dist/development/src/internal/boardAnalyzer.cjs.map +1 -0
- package/dist/development/src/internal/boardAnalyzer.js +13 -0
- package/dist/development/src/internal/boardAnalyzer.js.map +1 -0
- package/dist/development/{internal → src/internal}/useBoardItemsMethods.cjs +6 -6
- package/dist/development/src/internal/useBoardItemsMethods.cjs.map +1 -0
- package/dist/development/src/internal/useBoardItemsMethods.js.map +1 -0
- package/dist/development/{internal → src/internal}/useCreateBoardColumns.cjs +2 -2
- package/dist/development/src/internal/useCreateBoardColumns.cjs.map +1 -0
- package/dist/development/src/internal/useCreateBoardColumns.js.map +1 -0
- package/dist/{production → development/src}/internal/useDynamicBoard.cjs +11 -11
- package/dist/development/src/internal/useDynamicBoard.cjs.map +1 -0
- package/dist/development/{internal → src/internal}/useDynamicBoard.js +2 -2
- package/dist/development/src/internal/useDynamicBoard.js.map +1 -0
- package/dist/{production → development/src}/internal/useGroupItemsByColumn.cjs +2 -2
- package/dist/development/src/internal/useGroupItemsByColumn.cjs.map +1 -0
- package/dist/development/src/internal/useGroupItemsByColumn.js.map +1 -0
- package/dist/{production → development/src}/internal/useStaticBoard.cjs +6 -6
- package/dist/development/src/internal/useStaticBoard.cjs.map +1 -0
- package/dist/{production → development/src}/internal/useStaticBoard.js +2 -2
- package/dist/development/src/internal/useStaticBoard.js.map +1 -0
- package/dist/development/src/utils/arrayMove.cjs.map +1 -0
- package/dist/development/src/utils/arrayMove.js.map +1 -0
- package/dist/production/index.cjs +9 -9
- package/dist/production/index.js +9 -9
- package/dist/production/{components → src/components}/Board.cjs +17 -13
- package/dist/production/src/components/Board.cjs.map +1 -0
- package/dist/production/{components → src/components}/Board.js +11 -7
- package/dist/production/src/components/Board.js.map +1 -0
- package/dist/production/src/components/BoardColumn.cjs.map +1 -0
- package/dist/production/src/components/BoardColumn.js.map +1 -0
- package/dist/production/src/components/BoardColumnLabel.cjs.map +1 -0
- package/dist/production/src/components/BoardColumnLabel.js.map +1 -0
- package/dist/production/{components → src/components}/BoardEachColumn.cjs +1 -2
- package/dist/production/src/components/BoardEachColumn.cjs.map +1 -0
- package/dist/production/{components → src/components}/BoardEachColumn.js +2 -3
- package/dist/production/src/components/BoardEachColumn.js.map +1 -0
- package/dist/production/{components → src/components}/BoardEachItem.cjs +2 -2
- package/dist/production/src/components/BoardEachItem.cjs.map +1 -0
- package/dist/production/src/components/BoardEachItem.js.map +1 -0
- package/dist/production/src/components/BoardItem.cjs.map +1 -0
- package/dist/production/src/components/BoardItem.js.map +1 -0
- package/dist/production/src/components/BoardNullColumn.cjs.map +1 -0
- package/dist/production/src/components/BoardNullColumn.js.map +1 -0
- package/dist/production/src/const.cjs.map +1 -0
- package/dist/production/src/const.js.map +1 -0
- package/dist/production/src/contexts.cjs.map +1 -0
- package/dist/production/src/contexts.js.map +1 -0
- package/dist/production/src/internal/boardAnalyzer.cjs +13 -0
- package/dist/production/src/internal/boardAnalyzer.cjs.map +1 -0
- package/dist/production/src/internal/boardAnalyzer.js +13 -0
- package/dist/production/src/internal/boardAnalyzer.js.map +1 -0
- package/dist/production/{internal → src/internal}/useBoardItemsMethods.cjs +6 -6
- package/dist/production/src/internal/useBoardItemsMethods.cjs.map +1 -0
- package/dist/production/src/internal/useBoardItemsMethods.js.map +1 -0
- package/dist/production/{internal → src/internal}/useCreateBoardColumns.cjs +2 -2
- package/dist/production/src/internal/useCreateBoardColumns.cjs.map +1 -0
- package/dist/production/src/internal/useCreateBoardColumns.js.map +1 -0
- package/dist/{development → production/src}/internal/useDynamicBoard.cjs +11 -11
- package/dist/production/src/internal/useDynamicBoard.cjs.map +1 -0
- package/dist/production/{internal → src/internal}/useDynamicBoard.js +2 -2
- package/dist/production/src/internal/useDynamicBoard.js.map +1 -0
- package/dist/{development → production/src}/internal/useGroupItemsByColumn.cjs +2 -2
- package/dist/production/src/internal/useGroupItemsByColumn.cjs.map +1 -0
- package/dist/production/src/internal/useGroupItemsByColumn.js.map +1 -0
- package/dist/{development → production/src}/internal/useStaticBoard.cjs +6 -6
- package/dist/production/src/internal/useStaticBoard.cjs.map +1 -0
- package/dist/{development → production/src}/internal/useStaticBoard.js +2 -2
- package/dist/production/src/internal/useStaticBoard.js.map +1 -0
- package/dist/production/src/utils/arrayMove.cjs.map +1 -0
- package/dist/production/src/utils/arrayMove.js.map +1 -0
- package/dist/types/components/Board.d.ts.map +1 -1
- package/dist/types/components/BoardNullColumn.d.ts.map +1 -1
- package/dist/types/contexts.d.ts.map +1 -1
- package/dist/types/internal/boardAnalyzer.d.ts +5 -3
- package/dist/types/internal/boardAnalyzer.d.ts.map +1 -1
- package/dist/types/internal/useBoardItemsMethods.d.ts.map +1 -1
- package/dist/types/internal/useCreateBoardColumns.d.ts.map +1 -1
- package/dist/types/internal/useDynamicBoard.d.ts.map +1 -1
- package/dist/types/internal/useStaticBoard.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/BoardColumnNode.d.ts +1 -1
- package/dist/types/types/BoardColumnNode.d.ts.map +1 -1
- package/dist/types/types/BoardItemNode.d.ts +1 -1
- package/dist/types/types/BoardItemNode.d.ts.map +1 -1
- package/dist/types/types/BoardMethods.d.ts +1 -1
- package/dist/types/types/BoardMethods.d.ts.map +1 -1
- package/package.json +15 -17
- package/src/components/Board.tsx +16 -12
- package/src/components/BoardEachColumn.tsx +2 -2
- package/src/components/BoardNullColumn.tsx +1 -1
- package/src/internal/boardAnalyzer.ts +6 -16
- package/src/internal/useBoardItemsMethods.ts +1 -1
- package/src/internal/useCreateBoardColumns.ts +1 -1
- package/src/internal/useDynamicBoard.ts +2 -2
- package/src/internal/useStaticBoard.ts +2 -2
- package/src/tsconfig.json +0 -1
- package/src/types/BoardColumnNode.ts +1 -1
- package/src/types/BoardItemNode.ts +1 -1
- package/src/types/BoardMethods.ts +7 -7
- package/tsconfig.json +7 -0
- package/tsdoc.json +6 -0
- package/dist/development/components/Board.cjs.map +0 -1
- package/dist/development/components/Board.js.map +0 -1
- package/dist/development/components/BoardColumn.cjs.map +0 -1
- package/dist/development/components/BoardColumn.js.map +0 -1
- package/dist/development/components/BoardColumnLabel.cjs.map +0 -1
- package/dist/development/components/BoardColumnLabel.js.map +0 -1
- package/dist/development/components/BoardEachColumn.cjs.map +0 -1
- package/dist/development/components/BoardEachColumn.js.map +0 -1
- package/dist/development/components/BoardEachItem.cjs.map +0 -1
- package/dist/development/components/BoardEachItem.js.map +0 -1
- package/dist/development/components/BoardItem.cjs.map +0 -1
- package/dist/development/components/BoardItem.js.map +0 -1
- package/dist/development/components/BoardNullColumn.cjs.map +0 -1
- package/dist/development/components/BoardNullColumn.js.map +0 -1
- package/dist/development/const.cjs.map +0 -1
- package/dist/development/const.js.map +0 -1
- package/dist/development/contexts.cjs.map +0 -1
- package/dist/development/contexts.js.map +0 -1
- package/dist/development/internal/boardAnalyzer.cjs +0 -18
- package/dist/development/internal/boardAnalyzer.cjs.map +0 -1
- package/dist/development/internal/boardAnalyzer.js +0 -18
- package/dist/development/internal/boardAnalyzer.js.map +0 -1
- package/dist/development/internal/useBoardItemsMethods.cjs.map +0 -1
- package/dist/development/internal/useBoardItemsMethods.js.map +0 -1
- package/dist/development/internal/useCreateBoardColumns.cjs.map +0 -1
- package/dist/development/internal/useCreateBoardColumns.js.map +0 -1
- package/dist/development/internal/useDynamicBoard.cjs.map +0 -1
- package/dist/development/internal/useDynamicBoard.js.map +0 -1
- package/dist/development/internal/useGroupItemsByColumn.cjs.map +0 -1
- package/dist/development/internal/useGroupItemsByColumn.js.map +0 -1
- package/dist/development/internal/useStaticBoard.cjs.map +0 -1
- package/dist/development/internal/useStaticBoard.js.map +0 -1
- package/dist/development/utils/arrayMove.cjs.map +0 -1
- package/dist/development/utils/arrayMove.js.map +0 -1
- package/dist/production/components/Board.cjs.map +0 -1
- package/dist/production/components/Board.js.map +0 -1
- package/dist/production/components/BoardColumn.cjs.map +0 -1
- package/dist/production/components/BoardColumn.js.map +0 -1
- package/dist/production/components/BoardColumnLabel.cjs.map +0 -1
- package/dist/production/components/BoardColumnLabel.js.map +0 -1
- package/dist/production/components/BoardEachColumn.cjs.map +0 -1
- package/dist/production/components/BoardEachColumn.js.map +0 -1
- package/dist/production/components/BoardEachItem.cjs.map +0 -1
- package/dist/production/components/BoardEachItem.js.map +0 -1
- package/dist/production/components/BoardItem.cjs.map +0 -1
- package/dist/production/components/BoardItem.js.map +0 -1
- package/dist/production/components/BoardNullColumn.cjs.map +0 -1
- package/dist/production/components/BoardNullColumn.js.map +0 -1
- package/dist/production/const.cjs.map +0 -1
- package/dist/production/const.js.map +0 -1
- package/dist/production/contexts.cjs.map +0 -1
- package/dist/production/contexts.js.map +0 -1
- package/dist/production/internal/boardAnalyzer.cjs +0 -18
- package/dist/production/internal/boardAnalyzer.cjs.map +0 -1
- package/dist/production/internal/boardAnalyzer.js +0 -18
- package/dist/production/internal/boardAnalyzer.js.map +0 -1
- package/dist/production/internal/useBoardItemsMethods.cjs.map +0 -1
- package/dist/production/internal/useBoardItemsMethods.js.map +0 -1
- package/dist/production/internal/useCreateBoardColumns.cjs.map +0 -1
- package/dist/production/internal/useCreateBoardColumns.js.map +0 -1
- package/dist/production/internal/useDynamicBoard.cjs.map +0 -1
- package/dist/production/internal/useDynamicBoard.js.map +0 -1
- package/dist/production/internal/useGroupItemsByColumn.cjs.map +0 -1
- package/dist/production/internal/useGroupItemsByColumn.js.map +0 -1
- package/dist/production/internal/useStaticBoard.cjs.map +0 -1
- package/dist/production/internal/useStaticBoard.js.map +0 -1
- package/dist/production/utils/arrayMove.cjs.map +0 -1
- package/dist/production/utils/arrayMove.js.map +0 -1
- /package/dist/development/{components → src/components}/BoardColumn.cjs +0 -0
- /package/dist/development/{components → src/components}/BoardColumn.js +0 -0
- /package/dist/development/{components → src/components}/BoardItem.cjs +0 -0
- /package/dist/development/{components → src/components}/BoardItem.js +0 -0
- /package/dist/development/{const.cjs → src/const.cjs} +0 -0
- /package/dist/development/{const.js → src/const.js} +0 -0
- /package/dist/development/{contexts.cjs → src/contexts.cjs} +0 -0
- /package/dist/development/{contexts.js → src/contexts.js} +0 -0
- /package/dist/development/{internal → src/internal}/useBoardItemsMethods.js +0 -0
- /package/dist/development/{internal → src/internal}/useCreateBoardColumns.js +0 -0
- /package/dist/development/{internal → src/internal}/useGroupItemsByColumn.js +0 -0
- /package/dist/development/{utils → src/utils}/arrayMove.cjs +0 -0
- /package/dist/development/{utils → src/utils}/arrayMove.js +0 -0
- /package/dist/production/{components → src/components}/BoardColumn.cjs +0 -0
- /package/dist/production/{components → src/components}/BoardColumn.js +0 -0
- /package/dist/production/{components → src/components}/BoardColumnLabel.cjs +0 -0
- /package/dist/production/{components → src/components}/BoardColumnLabel.js +0 -0
- /package/dist/production/{components → src/components}/BoardEachItem.js +0 -0
- /package/dist/production/{components → src/components}/BoardItem.cjs +0 -0
- /package/dist/production/{components → src/components}/BoardItem.js +0 -0
- /package/dist/production/{components → src/components}/BoardNullColumn.cjs +0 -0
- /package/dist/production/{components → src/components}/BoardNullColumn.js +0 -0
- /package/dist/production/{const.cjs → src/const.cjs} +0 -0
- /package/dist/production/{const.js → src/const.js} +0 -0
- /package/dist/production/{contexts.cjs → src/contexts.cjs} +0 -0
- /package/dist/production/{contexts.js → src/contexts.js} +0 -0
- /package/dist/production/{internal → src/internal}/useBoardItemsMethods.js +0 -0
- /package/dist/production/{internal → src/internal}/useCreateBoardColumns.js +0 -0
- /package/dist/production/{internal → src/internal}/useGroupItemsByColumn.js +0 -0
- /package/dist/production/{utils → src/utils}/arrayMove.cjs +0 -0
- /package/dist/production/{utils → src/utils}/arrayMove.js +0 -0
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const reactBinding = require("@contember/react-binding");
|
|
5
5
|
const boardAnalyzer = require("../internal/boardAnalyzer.cjs");
|
|
6
|
-
const
|
|
6
|
+
const React = require("react");
|
|
7
7
|
const useDynamicBoard = require("../internal/useDynamicBoard.cjs");
|
|
8
8
|
const useStaticBoard = require("../internal/useStaticBoard.cjs");
|
|
9
9
|
const contexts = require("../contexts.cjs");
|
|
@@ -36,17 +36,18 @@ const BoardQualifiedDynamic = reactBinding.Component(({ entities, orderBy, limit
|
|
|
36
36
|
});
|
|
37
37
|
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
38
38
|
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
|
|
39
|
-
const
|
|
40
|
-
const
|
|
39
|
+
const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
|
|
40
|
+
const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
|
|
41
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
41
42
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
42
43
|
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
|
|
43
44
|
/* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
44
45
|
sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
45
|
-
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
46
|
+
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
|
|
46
47
|
] }),
|
|
47
48
|
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
|
|
48
49
|
columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
|
|
49
|
-
columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
50
|
+
columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
|
|
50
51
|
] })
|
|
51
52
|
] });
|
|
52
53
|
});
|
|
@@ -64,17 +65,18 @@ const RelativeDynamicBoard = reactBinding.Component(({ field, orderBy, limit, of
|
|
|
64
65
|
});
|
|
65
66
|
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
66
67
|
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
|
|
67
|
-
const
|
|
68
|
-
const
|
|
68
|
+
const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
|
|
69
|
+
const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
|
|
70
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
69
71
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
70
72
|
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
|
|
71
73
|
/* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
72
74
|
sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
73
|
-
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
75
|
+
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
|
|
74
76
|
] }),
|
|
75
77
|
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
|
|
76
78
|
columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
|
|
77
|
-
columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
79
|
+
columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
|
|
78
80
|
] })
|
|
79
81
|
] });
|
|
80
82
|
});
|
|
@@ -89,11 +91,12 @@ const BoardQualifiedStatic = reactBinding.Component(({ entities, orderBy, limit,
|
|
|
89
91
|
});
|
|
90
92
|
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
91
93
|
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
|
|
92
|
-
const
|
|
94
|
+
const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
|
|
95
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
93
96
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
|
|
94
97
|
/* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
95
98
|
sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
96
|
-
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
99
|
+
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
|
|
97
100
|
] }) });
|
|
98
101
|
});
|
|
99
102
|
const RelativeStaticBoard = reactBinding.Component(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
|
|
@@ -107,11 +110,12 @@ const RelativeStaticBoard = reactBinding.Component(({ field, orderBy, limit, off
|
|
|
107
110
|
});
|
|
108
111
|
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
109
112
|
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
|
|
110
|
-
const
|
|
113
|
+
const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
|
|
114
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
111
115
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
|
|
112
116
|
/* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
113
117
|
sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
114
|
-
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
118
|
+
itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
|
|
115
119
|
] }) });
|
|
116
120
|
});
|
|
117
121
|
exports.Board = Board;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Board.cjs","sources":["../../../../../packages/react-board/src/components/Board.tsx"],"sourcesContent":["import {\n\tComponent,\n\tEntityListSubTree,\n\tField,\n\tHasMany,\n\tHasOne,\n\tSugaredQualifiedEntityList,\n\tSugaredRelativeEntityList,\n\tSugaredRelativeSingleEntity,\n\tSugaredRelativeSingleField,\n\tuseEntityList,\n\tuseEntityListSubTree,\n} from '@contember/react-binding'\nimport { boardAnalyzer } from '../internal/boardAnalyzer'\nimport { Fragment, ReactNode } from 'react'\nimport { useDynamicBoard } from '../internal/useDynamicBoard'\nimport { useStaticBoard } from '../internal/useStaticBoard'\nimport { BoardColumnsContext, BoardMethodsContext } from '../contexts'\n\nexport type BoardProps =\n\t| BoardQualifiedDynamicProps\n\t| BoardRelativeDynamicProps\n\t| BoardQualifiedStaticProps\n\t| BoardRelativeStaticProps\n\n\nexport const Board = Component<BoardProps>(props => {\n\tif ('entities' in props) {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <BoardQualifiedStatic {...(props as BoardQualifiedStaticProps)} />\n\t\t} else {\n\t\t\treturn <BoardQualifiedDynamic {...(props as BoardQualifiedDynamicProps)} />\n\t\t}\n\t} else {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <RelativeStaticBoard {...(props as BoardRelativeStaticProps)} />\n\t\t} else {\n\t\t\treturn <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps)} />\n\t\t}\n\t}\n})\n\nexport type BoardDynamicColumnsBindingProps = {\n\tcolumns: SugaredQualifiedEntityList['entities']\n\tcolumnsSortableBy?: string | SugaredRelativeSingleField\n\tdiscriminationField: string | SugaredRelativeSingleEntity\n}\n\nexport type BoardStaticColumnsBindingProps = {\n\tcolumns: {\n\t\tvalue: string\n\t\tlabel: ReactNode\n\t}[]\n\tdiscriminationField: string | SugaredRelativeSingleField\n}\n\nexport type BoardCommonProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tsortableBy?: string | SugaredRelativeSingleField\n\t\tsortScope?: 'column' | 'board'\n\t}\n\nexport type BoardQualifiedItemsProps =\n\t& Pick<SugaredQualifiedEntityList, 'entities' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardRelativeItemsProps =\n\t& Pick<SugaredRelativeEntityList, 'field' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardQualifiedDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\nconst BoardQualifiedDynamic = Component<BoardQualifiedDynamicProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardRelativeItemsProps\n\n\nconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\nexport type BoardQualifiedStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\n\nconst BoardQualifiedStatic = Component<BoardQualifiedStaticProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardRelativeItemsProps\n\nconst RelativeStaticBoard = Component<BoardRelativeStaticProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t</>)\n})\n"],"names":["Component","jsx","useEntityListSubTree","useDynamicBoard","BoardMethodsContext","BoardColumnsContext","boardAnalyzer","jsxs","Fragment","EntityListSubTree","HasOne","Field","useEntityList","HasMany","useStaticBoard"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Component, useEntityListSubTree, EntityListSubTree, HasOne, Field, useEntityList, HasMany } from "@contember/react-binding";
|
|
3
|
-
import {
|
|
3
|
+
import { boardAnalyzer } from "../internal/boardAnalyzer.js";
|
|
4
4
|
import { Fragment as Fragment$1 } from "react";
|
|
5
5
|
import { useDynamicBoard } from "../internal/useDynamicBoard.js";
|
|
6
6
|
import { useStaticBoard } from "../internal/useStaticBoard.js";
|
|
@@ -34,8 +34,9 @@ const BoardQualifiedDynamic = Component(({ entities, orderBy, limit, offset, col
|
|
|
34
34
|
});
|
|
35
35
|
return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
36
36
|
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
|
|
37
|
-
const
|
|
38
|
-
const
|
|
37
|
+
const childrenByType = boardAnalyzer.processChildren(children, env);
|
|
38
|
+
const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
|
|
39
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
39
40
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
40
41
|
/* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
|
|
41
42
|
/* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
@@ -62,8 +63,9 @@ const RelativeDynamicBoard = Component(({ field, orderBy, limit, offset, columns
|
|
|
62
63
|
});
|
|
63
64
|
return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
64
65
|
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
|
|
65
|
-
const
|
|
66
|
-
const
|
|
66
|
+
const childrenByType = boardAnalyzer.processChildren(children, env);
|
|
67
|
+
const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
|
|
68
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
67
69
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
68
70
|
/* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
|
|
69
71
|
/* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
@@ -87,7 +89,8 @@ const BoardQualifiedStatic = Component(({ entities, orderBy, limit, offset, colu
|
|
|
87
89
|
});
|
|
88
90
|
return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
89
91
|
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
|
|
90
|
-
const
|
|
92
|
+
const childrenByType = boardAnalyzer.processChildren(children, env);
|
|
93
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
91
94
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
|
|
92
95
|
/* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
93
96
|
sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
@@ -105,7 +108,8 @@ const RelativeStaticBoard = Component(({ field, orderBy, limit, offset, columns,
|
|
|
105
108
|
});
|
|
106
109
|
return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
|
|
107
110
|
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
|
|
108
|
-
const
|
|
111
|
+
const childrenByType = boardAnalyzer.processChildren(children, env);
|
|
112
|
+
const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
|
|
109
113
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
|
|
110
114
|
/* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
111
115
|
sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Board.js","sources":["../../../../../packages/react-board/src/components/Board.tsx"],"sourcesContent":["import {\n\tComponent,\n\tEntityListSubTree,\n\tField,\n\tHasMany,\n\tHasOne,\n\tSugaredQualifiedEntityList,\n\tSugaredRelativeEntityList,\n\tSugaredRelativeSingleEntity,\n\tSugaredRelativeSingleField,\n\tuseEntityList,\n\tuseEntityListSubTree,\n} from '@contember/react-binding'\nimport { boardAnalyzer } from '../internal/boardAnalyzer'\nimport { Fragment, ReactNode } from 'react'\nimport { useDynamicBoard } from '../internal/useDynamicBoard'\nimport { useStaticBoard } from '../internal/useStaticBoard'\nimport { BoardColumnsContext, BoardMethodsContext } from '../contexts'\n\nexport type BoardProps =\n\t| BoardQualifiedDynamicProps\n\t| BoardRelativeDynamicProps\n\t| BoardQualifiedStaticProps\n\t| BoardRelativeStaticProps\n\n\nexport const Board = Component<BoardProps>(props => {\n\tif ('entities' in props) {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <BoardQualifiedStatic {...(props as BoardQualifiedStaticProps)} />\n\t\t} else {\n\t\t\treturn <BoardQualifiedDynamic {...(props as BoardQualifiedDynamicProps)} />\n\t\t}\n\t} else {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <RelativeStaticBoard {...(props as BoardRelativeStaticProps)} />\n\t\t} else {\n\t\t\treturn <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps)} />\n\t\t}\n\t}\n})\n\nexport type BoardDynamicColumnsBindingProps = {\n\tcolumns: SugaredQualifiedEntityList['entities']\n\tcolumnsSortableBy?: string | SugaredRelativeSingleField\n\tdiscriminationField: string | SugaredRelativeSingleEntity\n}\n\nexport type BoardStaticColumnsBindingProps = {\n\tcolumns: {\n\t\tvalue: string\n\t\tlabel: ReactNode\n\t}[]\n\tdiscriminationField: string | SugaredRelativeSingleField\n}\n\nexport type BoardCommonProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tsortableBy?: string | SugaredRelativeSingleField\n\t\tsortScope?: 'column' | 'board'\n\t}\n\nexport type BoardQualifiedItemsProps =\n\t& Pick<SugaredQualifiedEntityList, 'entities' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardRelativeItemsProps =\n\t& Pick<SugaredRelativeEntityList, 'field' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardQualifiedDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\nconst BoardQualifiedDynamic = Component<BoardQualifiedDynamicProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardRelativeItemsProps\n\n\nconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\nexport type BoardQualifiedStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\n\nconst BoardQualifiedStatic = Component<BoardQualifiedStaticProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardRelativeItemsProps\n\nconst RelativeStaticBoard = Component<BoardRelativeStaticProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t</>)\n})\n"],"names":["Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardColumn.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardColumn = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\n"],"names":[],"mappings":";;AAEa,MAAA,cAAc,CAAC,CAAA,MAEtB;AACE,SAAA;AACR;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardColumn.js","sources":["../../../../../packages/react-board/src/components/BoardColumn.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardColumn = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\n"],"names":[],"mappings":"AAEa,MAAA,cAAc,CAAC,CAAA,MAEtB;AACE,SAAA;AACR;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardColumnLabel.cjs","sources":["../../../../../packages/react-board/src/components/BoardColumnLabel.tsx"],"sourcesContent":["import { useBoardCurrentColumn } from '../contexts'\n\nexport const BoardColumnLabel = () => {\n\tconst value = useBoardCurrentColumn().value\n\treturn value && 'label' in value ? <>{value.label}</> : null\n}\n"],"names":["useBoardCurrentColumn","jsx","Fragment"],"mappings":";;;;AAEO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,QAAQA,iCAAwB;AACtC,SAAO,SAAS,WAAW,QAAWC,+BAAAC,WAAAA,UAAA,EAAA,UAAA,MAAM,MAAM,CAAA,IAAM;AACzD;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardColumnLabel.js","sources":["../../../../../packages/react-board/src/components/BoardColumnLabel.tsx"],"sourcesContent":["import { useBoardCurrentColumn } from '../contexts'\n\nexport const BoardColumnLabel = () => {\n\tconst value = useBoardCurrentColumn().value\n\treturn value && 'label' in value ? <>{value.label}</> : null\n}\n"],"names":[],"mappings":";;AAEO,MAAM,mBAAmB,MAAM;AAC/B,QAAA,QAAQ,wBAAwB;AACtC,SAAO,SAAS,WAAW,QAAW,oBAAA,UAAA,EAAA,UAAA,MAAM,MAAM,CAAA,IAAM;AACzD;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const binding = require("@contember/binding");
|
|
5
4
|
const reactBinding = require("@contember/react-binding");
|
|
6
5
|
const contexts = require("../contexts.cjs");
|
|
7
6
|
const BoardColumn = require("./BoardColumn.cjs");
|
|
@@ -12,7 +11,7 @@ const BoardEachColumn = ({ children }) => {
|
|
|
12
11
|
if (column.id === _const.BoardNullColumnPlaceholder) {
|
|
13
12
|
return null;
|
|
14
13
|
}
|
|
15
|
-
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardCurrentColumnContext.Provider, { value: column, children: column.value
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardCurrentColumnContext.Provider, { value: column, children: reactBinding.isEntityAccessor(column.value) ? /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Entity, { accessor: column.value, children }) : children }, column.id);
|
|
16
15
|
}) });
|
|
17
16
|
};
|
|
18
17
|
BoardEachColumn.staticRender = ({ children }) => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardEachColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["useBoardColumns","jsx","Fragment","BoardNullColumnPlaceholder","BoardCurrentColumnContext","Entity","BoardColumn"],"mappings":";;;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAUA,SAAAA,gBAAgB;AAEzB,SAAAC,2BAAAA,IAAAC,WAAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAOC,mCAA4B;AACtC,aAAA;AAAA,IAAA;AAER,0CACEC,mCAA0B,UAA1B,EAAmC,OAAO,QACzC,wCAAiB,OAAO,KAAK,IAC5BH,2BAAA,IAAAI,qBAAA,EAAO,UAAU,OAAO,OACvB,SACF,CAAA,IACG,SAAA,GALmD,OAAO,EAM/D;AAAA,EAED,CAAA,GACF;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAAJ,+BAACK,YAAAA,eAAa,UAAS;AAC/B;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { Entity } from "@contember/react-binding";
|
|
2
|
+
import { isEntityAccessor, Entity } from "@contember/react-binding";
|
|
4
3
|
import { useBoardColumns, BoardCurrentColumnContext } from "../contexts.js";
|
|
5
4
|
import { BoardColumn } from "./BoardColumn.js";
|
|
6
5
|
import { BoardNullColumnPlaceholder } from "../const.js";
|
|
@@ -10,7 +9,7 @@ const BoardEachColumn = ({ children }) => {
|
|
|
10
9
|
if (column.id === BoardNullColumnPlaceholder) {
|
|
11
10
|
return null;
|
|
12
11
|
}
|
|
13
|
-
return /* @__PURE__ */ jsx(BoardCurrentColumnContext.Provider, { value: column, children: column.value
|
|
12
|
+
return /* @__PURE__ */ jsx(BoardCurrentColumnContext.Provider, { value: column, children: isEntityAccessor(column.value) ? /* @__PURE__ */ jsx(Entity, { accessor: column.value, children }) : children }, column.id);
|
|
14
13
|
}) });
|
|
15
14
|
};
|
|
16
15
|
BoardEachColumn.staticRender = ({ children }) => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardEachColumn.js","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":[],"mappings":";;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAU,gBAAgB;AAEzB,SAAA,oBAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAO,4BAA4B;AACtC,aAAA;AAAA,IAAA;AAER,+BACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,2BAAiB,OAAO,KAAK,IAC5B,oBAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SACF,CAAA,IACG,SAAA,GALmD,OAAO,EAM/D;AAAA,EAED,CAAA,GACF;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAA,oBAAC,eAAa,UAAS;AAC/B;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const
|
|
4
|
+
const React = require("react");
|
|
5
5
|
const contexts = require("../contexts.cjs");
|
|
6
6
|
const reactBinding = require("@contember/react-binding");
|
|
7
7
|
const BoardItem = require("./BoardItem.cjs");
|
|
@@ -23,7 +23,7 @@ BoardEachItem.staticRender = ({ children }) => {
|
|
|
23
23
|
return /* @__PURE__ */ jsxRuntime.jsx(BoardItem.BoardItem, { children });
|
|
24
24
|
};
|
|
25
25
|
const BoardEachItemInner = ({ children, item, column }) => {
|
|
26
|
-
const itemWithColumn =
|
|
26
|
+
const itemWithColumn = React.useMemo(() => ({
|
|
27
27
|
...item,
|
|
28
28
|
column
|
|
29
29
|
}), [item, column]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardEachItem.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn <>\n\t\t{currentColumn.items.map((item, index) => {\n\t\t\treturn (\n\t\t\t\t<BoardEachItemInner\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardEachItemInner>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":["useBoardCurrentColumn","jsx","BoardItem","useMemo","BoardCurrentItemContext","Entity"],"mappings":";;;;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgBA,SAAAA,sBAAsB;AAE5C,+DACE,UAAc,cAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAExC,WAAAC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,IAKX;AAAA,EAED,CAAA,GACF;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAAA,+BAACC,UAAAA,aAAW,UAAS;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiBC,MAAAA,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EAAA,IACG,CAAC,MAAM,MAAM,CAAC;AAElB,SACEF,2BAAAA,IAAAG,SAAAA,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAAH,2BAAA,IAACI,aAAO,QAAA,EAAA,UAAU,KAAK,OACrB,SACF,CAAA,EAAA,GAH6D,KAAK,EAInE;AAEF;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardEachItem.js","sources":["../../../../../packages/react-board/src/components/BoardEachItem.tsx"],"sourcesContent":["import { ReactNode, useMemo } from 'react'\nimport { BoardCurrentItemContext, useBoardCurrentColumn } from '../contexts'\nimport { Entity } from '@contember/react-binding'\nimport { BoardItem } from './BoardItem'\nimport { BoardColumnNode, BoardItemNode } from '../types'\n\nexport const BoardEachItem = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst currentColumn = useBoardCurrentColumn()\n\n\treturn <>\n\t\t{currentColumn.items.map((item, index) => {\n\t\t\treturn (\n\t\t\t\t<BoardEachItemInner\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcolumn={currentColumn}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardEachItemInner>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachItem.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardItem>{children}</BoardItem>\n}\n\nconst BoardEachItemInner = ({ children, item, column }: {\n\tchildren: ReactNode\n\tcolumn: BoardColumnNode\n\titem: BoardItemNode\n\n}) => {\n\tconst itemWithColumn = useMemo(() => ({\n\t\t...item,\n\t\tcolumn,\n\t}), [item, column])\n\n\treturn (\n\t\t<BoardCurrentItemContext.Provider value={itemWithColumn} key={item.id}>\n\t\t\t<Entity accessor={item.value}>\n\t\t\t\t{children}\n\t\t\t</Entity>\n\t\t</BoardCurrentItemContext.Provider>\n\t)\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,gBAAgB,CAAC,EAAE,eAE1B;AACL,QAAM,gBAAgB,sBAAsB;AAE5C,yCACE,UAAc,cAAA,MAAM,IAAI,CAAC,MAAM,UAAU;AAExC,WAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QAEA;AAAA,QACA,QAAQ;AAAA,QAEP;AAAA,MAAA;AAAA,MAJI,KAAK;AAAA,IAKX;AAAA,EAED,CAAA,GACF;AACD;AACA,cAAc,eAAe,CAAC,EAAE,eAAwC;AAChE,SAAA,oBAAC,aAAW,UAAS;AAC7B;AAEA,MAAM,qBAAqB,CAAC,EAAE,UAAU,MAAM,aAKxC;AACC,QAAA,iBAAiB,QAAQ,OAAO;AAAA,IACrC,GAAG;AAAA,IACH;AAAA,EAAA,IACG,CAAC,MAAM,MAAM,CAAC;AAElB,SACE,oBAAA,wBAAwB,UAAxB,EAAiC,OAAO,gBACxC,UAAA,oBAAC,QAAO,EAAA,UAAU,KAAK,OACrB,SACF,CAAA,EAAA,GAH6D,KAAK,EAInE;AAEF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardItem.cjs","sources":["../../../../../packages/react-board/src/components/BoardItem.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardItem = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\nBoardItem.staticRender = () => null\n"],"names":[],"mappings":";;AAEa,MAAA,YAAY,CAAC,CAAA,MAEpB;AACE,SAAA;AACR;AACA,UAAU,eAAe,MAAM;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardItem.js","sources":["../../../../../packages/react-board/src/components/BoardItem.tsx"],"sourcesContent":["import { ReactNode } from 'react'\n\nexport const BoardItem = ({}: {\n\tchildren: ReactNode\n}) => {\n\treturn null\n}\nBoardItem.staticRender = () => null\n"],"names":[],"mappings":"AAEa,MAAA,YAAY,CAAC,CAAA,MAEpB;AACE,SAAA;AACR;AACA,UAAU,eAAe,MAAM;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardNullColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n}\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":["useBoardColumns","BoardNullColumnPlaceholder","BoardCurrentColumnContext"],"mappings":";;;;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAASA,SAAgB,gBAAA,EAAE,KAAK,CAAM,OAAA,GAAG,OAAOC,iCAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACjD,WAAA;AAAA,EAAA;AAGR,wCACEC,SAAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UACF;AAEF;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoardNullColumn.js","sources":["../../../../../packages/react-board/src/components/BoardNullColumn.tsx"],"sourcesContent":["import { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport type BoardNullColumnProps = {\n\tchildren: ReactNode\n\thideEmpty?: boolean\n}\nexport const BoardNullColumn = ({ children, hideEmpty }: BoardNullColumnProps) => {\n\tconst column = useBoardColumns().find(it => it.id === BoardNullColumnPlaceholder)\n\tif (!column || (hideEmpty && column.items.length === 0)) {\n\t\treturn null\n\t}\n\n\treturn (\n\t\t<BoardCurrentColumnContext.Provider value={column}>\n\t\t\t{children}\n\t\t</BoardCurrentColumnContext.Provider>\n\t)\n}\n"],"names":[],"mappings":";;;AAQO,MAAM,kBAAkB,CAAC,EAAE,UAAU,gBAAsC;AACjF,QAAM,SAAS,gBAAgB,EAAE,KAAK,CAAM,OAAA,GAAG,OAAO,0BAA0B;AAChF,MAAI,CAAC,UAAW,aAAa,OAAO,MAAM,WAAW,GAAI;AACjD,WAAA;AAAA,EAAA;AAGR,6BACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UACF;AAEF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.cjs","sources":["../../../../packages/react-board/src/const.ts"],"sourcesContent":["export const BoardNullColumnPlaceholder = '__null_column'\n"],"names":[],"mappings":";;AAAO,MAAM,6BAA6B;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sources":["../../../../packages/react-board/src/const.ts"],"sourcesContent":["export const BoardNullColumnPlaceholder = '__null_column'\n"],"names":[],"mappings":"AAAO,MAAM,6BAA6B;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contexts.cjs","sources":["../../../../packages/react-board/src/contexts.ts"],"sourcesContent":["import { createRequiredContext } from '@contember/react-utils'\nimport { BoardColumnNode, BoardColumnValue, BoardItemNode, BoardMethods } from './types'\n\nconst _BoardMethodsContext = createRequiredContext<BoardMethods<any>>('BoardMethodsContext')\n/** @internal */\nexport const BoardMethodsContext = _BoardMethodsContext[0]\nexport const useBoardMethods = _BoardMethodsContext[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardMethods<T>\n\n\nconst BoardColumnsContext_ = createRequiredContext<BoardColumnNode[]>('BoardColumnsContext')\n/** @internal */\nexport const BoardColumnsContext = BoardColumnsContext_[0]\nexport const useBoardColumns = BoardColumnsContext_[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardColumnNode<T>[]\n\nconst _BoardColumnContext = createRequiredContext<BoardColumnNode>('BoardCurrentColumnContext')\n/** @internal*/\nexport const BoardCurrentColumnContext = _BoardColumnContext[0]\nexport const useBoardCurrentColumn = _BoardColumnContext[1]\n\nconst BoardCurrentItemContext_ = createRequiredContext<BoardItemNode & { column: BoardColumnNode }>('BoardCurrentItemContext')\n/** @internal*/\nexport const BoardCurrentItemContext = BoardCurrentItemContext_[0]\nexport const useBoardCurrentItem = BoardCurrentItemContext_[1]\n"],"names":["createRequiredContext"],"mappings":";;;AAGA,MAAM,uBAAuBA,iCAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAGrD,MAAM,uBAAuBA,iCAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsBA,iCAAuC,2BAA2B;AAEjF,MAAA,4BAA4B,oBAAoB,CAAC;AACjD,MAAA,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2BA,iCAAmE,yBAAyB;AAEhH,MAAA,0BAA0B,yBAAyB,CAAC;AACpD,MAAA,sBAAsB,yBAAyB,CAAC;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contexts.js","sources":["../../../../packages/react-board/src/contexts.ts"],"sourcesContent":["import { createRequiredContext } from '@contember/react-utils'\nimport { BoardColumnNode, BoardColumnValue, BoardItemNode, BoardMethods } from './types'\n\nconst _BoardMethodsContext = createRequiredContext<BoardMethods<any>>('BoardMethodsContext')\n/** @internal */\nexport const BoardMethodsContext = _BoardMethodsContext[0]\nexport const useBoardMethods = _BoardMethodsContext[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardMethods<T>\n\n\nconst BoardColumnsContext_ = createRequiredContext<BoardColumnNode[]>('BoardColumnsContext')\n/** @internal */\nexport const BoardColumnsContext = BoardColumnsContext_[0]\nexport const useBoardColumns = BoardColumnsContext_[1] as <T extends BoardColumnValue = BoardColumnValue>() => BoardColumnNode<T>[]\n\nconst _BoardColumnContext = createRequiredContext<BoardColumnNode>('BoardCurrentColumnContext')\n/** @internal*/\nexport const BoardCurrentColumnContext = _BoardColumnContext[0]\nexport const useBoardCurrentColumn = _BoardColumnContext[1]\n\nconst BoardCurrentItemContext_ = createRequiredContext<BoardItemNode & { column: BoardColumnNode }>('BoardCurrentItemContext')\n/** @internal*/\nexport const BoardCurrentItemContext = BoardCurrentItemContext_[0]\nexport const useBoardCurrentItem = BoardCurrentItemContext_[1]\n"],"names":[],"mappings":";AAGA,MAAM,uBAAuB,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAGrD,MAAM,uBAAuB,sBAAyC,qBAAqB;AAE9E,MAAA,sBAAsB,qBAAqB,CAAC;AAC5C,MAAA,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,sBAAsB,sBAAuC,2BAA2B;AAEjF,MAAA,4BAA4B,oBAAoB,CAAC;AACjD,MAAA,wBAAwB,oBAAoB,CAAC;AAE1D,MAAM,2BAA2B,sBAAmE,yBAAyB;AAEhH,MAAA,0BAA0B,yBAAyB,CAAC;AACpD,MAAA,sBAAsB,yBAAyB,CAAC;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const reactMultipassRendering = require("@contember/react-multipass-rendering");
|
|
4
|
+
const BoardItem = require("../components/BoardItem.cjs");
|
|
5
|
+
const BoardColumn = require("../components/BoardColumn.cjs");
|
|
6
|
+
const itemLeaf = new reactMultipassRendering.Leaf((node) => ({ type: "item", children: node.props.children }), BoardItem.BoardItem);
|
|
7
|
+
const columnLeaf = new reactMultipassRendering.Leaf((node) => ({ type: "column", children: node.props.children }), BoardColumn.BoardColumn);
|
|
8
|
+
const boardAnalyzer = new reactMultipassRendering.ChildrenAnalyzer([itemLeaf, columnLeaf], {
|
|
9
|
+
staticRenderFactoryName: "staticRender",
|
|
10
|
+
staticContextFactoryName: "generateEnvironment"
|
|
11
|
+
});
|
|
12
|
+
exports.boardAnalyzer = boardAnalyzer;
|
|
13
|
+
//# sourceMappingURL=boardAnalyzer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boardAnalyzer.cjs","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAIC,UAAAA,SAAS;AACvG,MAAM,aAAa,IAAID,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAIE,YAAAA,WAAW;AAEtG,MAAM,gBAAgB,IAAIC,wBAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Leaf, ChildrenAnalyzer } from "@contember/react-multipass-rendering";
|
|
2
|
+
import { BoardItem } from "../components/BoardItem.js";
|
|
3
|
+
import { BoardColumn } from "../components/BoardColumn.js";
|
|
4
|
+
const itemLeaf = new Leaf((node) => ({ type: "item", children: node.props.children }), BoardItem);
|
|
5
|
+
const columnLeaf = new Leaf((node) => ({ type: "column", children: node.props.children }), BoardColumn);
|
|
6
|
+
const boardAnalyzer = new ChildrenAnalyzer([itemLeaf, columnLeaf], {
|
|
7
|
+
staticRenderFactoryName: "staticRender",
|
|
8
|
+
staticContextFactoryName: "generateEnvironment"
|
|
9
|
+
});
|
|
10
|
+
export {
|
|
11
|
+
boardAnalyzer
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=boardAnalyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boardAnalyzer.js","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAI,SAAS;AACvG,MAAM,aAAa,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAI,WAAW;AAEtG,MAAM,gBAAgB,IAAI,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const React = require("react");
|
|
4
4
|
const reactBinding = require("@contember/react-binding");
|
|
5
5
|
const arrayMove = require("../utils/arrayMove.cjs");
|
|
6
6
|
const useBoardItemsMethods = ({
|
|
@@ -13,11 +13,11 @@ const useBoardItemsMethods = ({
|
|
|
13
13
|
sortScope = "column"
|
|
14
14
|
}) => {
|
|
15
15
|
const itemEntitiesEntitiesGetter = itemEntities.getAccessor;
|
|
16
|
-
const getSortScopeItems =
|
|
16
|
+
const getSortScopeItems = React.useCallback((column) => {
|
|
17
17
|
const itemEntities2 = itemEntitiesEntitiesGetter();
|
|
18
18
|
return sortScope === "column" ? groupItemsByColumn(itemEntities2).get(column)?.slice() ?? [] : reactBinding.sortEntities(Array.from(itemEntities2), desugaredSortableByField);
|
|
19
19
|
}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope]);
|
|
20
|
-
const resolveScopedIndex =
|
|
20
|
+
const resolveScopedIndex = React.useCallback((column, index) => {
|
|
21
21
|
if (index === void 0) {
|
|
22
22
|
return void 0;
|
|
23
23
|
}
|
|
@@ -32,7 +32,7 @@ const useBoardItemsMethods = ({
|
|
|
32
32
|
const sortScopeItems = getSortScopeItems(column);
|
|
33
33
|
return sortScopeItems.findIndex((it) => it.id === columnOnIndex.id) ?? sortScopeItems.length;
|
|
34
34
|
}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope]);
|
|
35
|
-
const addItem =
|
|
35
|
+
const addItem = React.useCallback((column, index, preprocess) => {
|
|
36
36
|
const itemEntities2 = itemEntitiesEntitiesGetter();
|
|
37
37
|
const resolvedPreprocess = (getAccessor, options) => {
|
|
38
38
|
connectItemToColumn(getAccessor(), column);
|
|
@@ -53,7 +53,7 @@ const useBoardItemsMethods = ({
|
|
|
53
53
|
resolvedPreprocess?.(getEntity, options);
|
|
54
54
|
});
|
|
55
55
|
}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex]);
|
|
56
|
-
const moveItem =
|
|
56
|
+
const moveItem = React.useMemo(() => {
|
|
57
57
|
if (!desugaredSortableByField) {
|
|
58
58
|
return void 0;
|
|
59
59
|
}
|
|
@@ -80,7 +80,7 @@ const useBoardItemsMethods = ({
|
|
|
80
80
|
reactBinding.repairEntitiesOrder(desugaredSortableByField, newColumnItems);
|
|
81
81
|
};
|
|
82
82
|
}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope]);
|
|
83
|
-
const removeItem =
|
|
83
|
+
const removeItem = React.useCallback((entity) => {
|
|
84
84
|
if (desugaredSortableByField) {
|
|
85
85
|
const currentColumn = getDiscriminatorValue(entity);
|
|
86
86
|
const sortScopeItems = getSortScopeItems(currentColumn);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBoardItemsMethods.cjs","sources":["../../../../../packages/react-board/src/internal/useBoardItemsMethods.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\tBatchUpdatesOptions,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder, sortEntities,\n} from '@contember/react-binding'\nimport { BoardColumnKey, UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { arrayMove } from '../utils/arrayMove'\nimport { BoardAddItemMethod, BoardColumnValue, BoardMethods, BoardMoveItemMethod, BoardRemoveItemMethod } from '../types'\n\n\nexport type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {\n\titemEntities: EntityListAccessor\n\tconnectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void\n\tdesugaredSortableByField: RelativeSingleField | undefined\n\tsortScope?: 'column' | 'board'\n\tgroupItemsByColumn: UseGroupItemsByColumn\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n}\n\nexport type BoardItemsMethods<ColumnValue extends BoardColumnValue> = Pick<BoardMethods<ColumnValue>, 'moveItem' | 'addItem' | 'removeItem'>\n\nexport const useBoardItemsMethods = <ColumnValue extends BoardColumnValue>({\n\titemEntities,\n\tdesugaredSortableByField,\n\tconnectItemToColumn,\n\tgroupItemsByColumn,\n\tgetDiscriminatorValue,\n\tcolumnIdGetter,\n\tsortScope = 'column',\n}: UseBoardItemsMethodsProps<ColumnValue>): BoardItemsMethods<ColumnValue> => {\n\n\tconst itemEntitiesEntitiesGetter = itemEntities.getAccessor\n\n\tconst getSortScopeItems = useCallback((column: string | number | null) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\treturn sortScope === 'column'\n\t\t\t? groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\t\t: sortEntities(Array.from(itemEntities), desugaredSortableByField)\n\t}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope])\n\n\tconst resolveScopedIndex = useCallback((column: string | number | null, index: number | undefined) => {\n\t\tif (index === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (sortScope === 'column') {\n\t\t\treturn index\n\t\t}\n\t\tconst columnItems = groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\tconst columnOnIndex = columnItems[index]\n\t\tif (!columnOnIndex) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst sortScopeItems = getSortScopeItems(column)\n\t\treturn sortScopeItems.findIndex(it => it.id === columnOnIndex.id) ?? sortScopeItems.length\n\t}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope])\n\n\tconst addItem = useCallback<BoardAddItemMethod<ColumnValue>>((column, index, preprocess) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\tconst resolvedPreprocess = (getAccessor: () => EntityAccessor, options: BatchUpdatesOptions) => {\n\t\t\tconnectItemToColumn(getAccessor(), column)\n\t\t\tpreprocess?.(getAccessor, options)\n\t\t}\n\t\tif (!desugaredSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn itemEntities.createNewEntity(resolvedPreprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add item at specific index without sortableBy field')\n\t\t}\n\t\tconst columnId = column ? columnIdGetter(column) : null\n\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\n\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\n\n\t\titemEntities.createNewEntity((getEntity, options) => {\n\t\t\tsortScopeItems.splice(resolvedIndex, 0, getEntity())\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t\tresolvedPreprocess?.(getEntity, options)\n\t\t})\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex])\n\n\n\tconst moveItem = useMemo<BoardMoveItemMethod<ColumnValue> | undefined>(() => {\n\t\tif (!desugaredSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, column, index) => {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst columnId = column ? columnIdGetter(column) : null\n\n\t\t\tconnectItemToColumn(entity, column)\n\n\t\t\tif (currentColumn === columnId || sortScope === 'board') {\n\t\t\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\t\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\t\t\t\tconst resortedItems = arrayMove(sortScopeItems, currentIndex, resolvedIndex)\n\t\t\t\trepairEntitiesOrder(desugaredSortableByField, resortedItems)\n\t\t\t\treturn\n\t\t\t}\n\n\n\t\t\t// sort scope is column\n\t\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\t\tconst groupedItems = groupItemsByColumn(itemEntities)\n\n\t\t\tconst currentColumnItems = groupedItems.get(currentColumn ?? null)?.slice() ?? []\n\t\t\tconst currentIndex = currentColumnItems.findIndex(it => it.id === entity.id)\n\t\t\tcurrentColumnItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, currentColumnItems)\n\n\t\t\tconst newColumnItems = groupedItems.get(columnId)?.slice() ?? []\n\t\t\tnewColumnItems.splice(index, 0, entity)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, newColumnItems)\n\n\t\t}\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope])\n\n\tconst removeItem = useCallback<BoardRemoveItemMethod>(entity => {\n\t\tif (desugaredSortableByField) {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst sortScopeItems = getSortScopeItems(currentColumn)\n\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\tsortScopeItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t}\n\t\tentity.deleteEntity()\n\t}, [desugaredSortableByField, getDiscriminatorValue, getSortScopeItems])\n\n\treturn {\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["useCallback","itemEntities","sortEntities","BindingError","repairEntitiesOrder","useMemo","currentIndex","arrayMove"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBoardItemsMethods.js","sources":["../../../../../packages/react-board/src/internal/useBoardItemsMethods.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\tBatchUpdatesOptions,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder, sortEntities,\n} from '@contember/react-binding'\nimport { BoardColumnKey, UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { arrayMove } from '../utils/arrayMove'\nimport { BoardAddItemMethod, BoardColumnValue, BoardMethods, BoardMoveItemMethod, BoardRemoveItemMethod } from '../types'\n\n\nexport type UseBoardItemsMethodsProps<ColumnValue extends BoardColumnValue> = {\n\titemEntities: EntityListAccessor\n\tconnectItemToColumn: (item: EntityAccessor, column: ColumnValue | null) => void\n\tdesugaredSortableByField: RelativeSingleField | undefined\n\tsortScope?: 'column' | 'board'\n\tgroupItemsByColumn: UseGroupItemsByColumn\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n}\n\nexport type BoardItemsMethods<ColumnValue extends BoardColumnValue> = Pick<BoardMethods<ColumnValue>, 'moveItem' | 'addItem' | 'removeItem'>\n\nexport const useBoardItemsMethods = <ColumnValue extends BoardColumnValue>({\n\titemEntities,\n\tdesugaredSortableByField,\n\tconnectItemToColumn,\n\tgroupItemsByColumn,\n\tgetDiscriminatorValue,\n\tcolumnIdGetter,\n\tsortScope = 'column',\n}: UseBoardItemsMethodsProps<ColumnValue>): BoardItemsMethods<ColumnValue> => {\n\n\tconst itemEntitiesEntitiesGetter = itemEntities.getAccessor\n\n\tconst getSortScopeItems = useCallback((column: string | number | null) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\treturn sortScope === 'column'\n\t\t\t? groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\t\t: sortEntities(Array.from(itemEntities), desugaredSortableByField)\n\t}, [desugaredSortableByField, groupItemsByColumn, itemEntitiesEntitiesGetter, sortScope])\n\n\tconst resolveScopedIndex = useCallback((column: string | number | null, index: number | undefined) => {\n\t\tif (index === undefined) {\n\t\t\treturn undefined\n\t\t}\n\t\tif (sortScope === 'column') {\n\t\t\treturn index\n\t\t}\n\t\tconst columnItems = groupItemsByColumn(itemEntities).get(column)?.slice() ?? []\n\t\tconst columnOnIndex = columnItems[index]\n\t\tif (!columnOnIndex) {\n\t\t\treturn undefined\n\t\t}\n\n\t\tconst sortScopeItems = getSortScopeItems(column)\n\t\treturn sortScopeItems.findIndex(it => it.id === columnOnIndex.id) ?? sortScopeItems.length\n\t}, [getSortScopeItems, groupItemsByColumn, itemEntities, sortScope])\n\n\tconst addItem = useCallback<BoardAddItemMethod<ColumnValue>>((column, index, preprocess) => {\n\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\tconst resolvedPreprocess = (getAccessor: () => EntityAccessor, options: BatchUpdatesOptions) => {\n\t\t\tconnectItemToColumn(getAccessor(), column)\n\t\t\tpreprocess?.(getAccessor, options)\n\t\t}\n\t\tif (!desugaredSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn itemEntities.createNewEntity(resolvedPreprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add item at specific index without sortableBy field')\n\t\t}\n\t\tconst columnId = column ? columnIdGetter(column) : null\n\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\n\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\n\n\t\titemEntities.createNewEntity((getEntity, options) => {\n\t\t\tsortScopeItems.splice(resolvedIndex, 0, getEntity())\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t\tresolvedPreprocess?.(getEntity, options)\n\t\t})\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getSortScopeItems, itemEntitiesEntitiesGetter, resolveScopedIndex])\n\n\n\tconst moveItem = useMemo<BoardMoveItemMethod<ColumnValue> | undefined>(() => {\n\t\tif (!desugaredSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, column, index) => {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst columnId = column ? columnIdGetter(column) : null\n\n\t\t\tconnectItemToColumn(entity, column)\n\n\t\t\tif (currentColumn === columnId || sortScope === 'board') {\n\t\t\t\tconst sortScopeItems = getSortScopeItems(columnId)\n\t\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\t\tconst resolvedIndex = resolveScopedIndex(columnId, index) ?? sortScopeItems.length\n\t\t\t\tconst resortedItems = arrayMove(sortScopeItems, currentIndex, resolvedIndex)\n\t\t\t\trepairEntitiesOrder(desugaredSortableByField, resortedItems)\n\t\t\t\treturn\n\t\t\t}\n\n\n\t\t\t// sort scope is column\n\t\t\tconst itemEntities = itemEntitiesEntitiesGetter()\n\t\t\tconst groupedItems = groupItemsByColumn(itemEntities)\n\n\t\t\tconst currentColumnItems = groupedItems.get(currentColumn ?? null)?.slice() ?? []\n\t\t\tconst currentIndex = currentColumnItems.findIndex(it => it.id === entity.id)\n\t\t\tcurrentColumnItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, currentColumnItems)\n\n\t\t\tconst newColumnItems = groupedItems.get(columnId)?.slice() ?? []\n\t\t\tnewColumnItems.splice(index, 0, entity)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, newColumnItems)\n\n\t\t}\n\t}, [columnIdGetter, connectItemToColumn, desugaredSortableByField, getDiscriminatorValue, getSortScopeItems, groupItemsByColumn, itemEntitiesEntitiesGetter, resolveScopedIndex, sortScope])\n\n\tconst removeItem = useCallback<BoardRemoveItemMethod>(entity => {\n\t\tif (desugaredSortableByField) {\n\t\t\tconst currentColumn = getDiscriminatorValue(entity)\n\t\t\tconst sortScopeItems = getSortScopeItems(currentColumn)\n\t\t\tconst currentIndex = sortScopeItems.findIndex(it => it.id === entity.id)\n\t\t\tsortScopeItems.splice(currentIndex, 1)\n\t\t\trepairEntitiesOrder(desugaredSortableByField, sortScopeItems)\n\t\t}\n\t\tentity.deleteEntity()\n\t}, [desugaredSortableByField, getDiscriminatorValue, getSortScopeItems])\n\n\treturn {\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["itemEntities","currentIndex"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const React = require("react");
|
|
4
4
|
const _const = require("../const.cjs");
|
|
5
5
|
const useCreateBoardColumns = ({ groupItemsByColumn, items, columns, columnIdGetter }) => {
|
|
6
|
-
return
|
|
6
|
+
return React.useMemo(() => {
|
|
7
7
|
const itemsByColumn = groupItemsByColumn(items);
|
|
8
8
|
const nullItems = itemsByColumn.get(null) ?? [];
|
|
9
9
|
const result = [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateBoardColumns.cjs","sources":["../../../../../packages/react-board/src/internal/useCreateBoardColumns.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardColumnNode, BoardColumnValue } from '../types'\n\nexport const useCreateBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn\n}): BoardColumnNode<ColumnValue>[] => {\n\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\t\tconst result: BoardColumnNode<ColumnValue>[] = [\n\t\t\t{\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: Number.MAX_SAFE_INTEGER,\n\t\t\t\tvalue: null,\n\t\t\t\titems: nullItems.map((it, index) => ({ value: it, id: it.id, index })),\n\t\t\t},\n\t\t]\n\t\tlet index = 0\n\n\n\t\tfor (const column of columns) {\n\t\t\tresult.push({\n\t\t\t\tid: columnIdGetter(column),\n\t\t\t\tindex: index++,\n\t\t\t\tvalue: column,\n\t\t\t\titems: itemsByColumn.get(columnIdGetter(column))?.map((it, index) => ({ value: it, id: it.id, index })) ?? [],\n\t\t\t})\n\t\t}\n\t\treturn result\n\n\t}, [columnIdGetter, columns, groupItemsByColumn, items])\n}\n"],"names":["useMemo","BoardNullColumnPlaceholder","index"],"mappings":";;;;AAMO,MAAM,wBAAwB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,qBAK5E;AAErC,SAAOA,cAAQ,MAAM;AACd,UAAA,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAC;AAC9C,UAAM,SAAyC;AAAA,MAC9C;AAAA,QACC,IAAIC,OAAA;AAAA,QACJ,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIC,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,SAAQ;AAAA,MAAA;AAAA,IAEvE;AACA,QAAI,QAAQ;AAGZ,eAAW,UAAU,SAAS;AAC7B,aAAO,KAAK;AAAA,QACX,IAAI,eAAe,MAAM;AAAA,QACzB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc,IAAI,eAAe,MAAM,CAAC,GAAG,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAQ,EAAA,KAAK,CAAA;AAAA,MAAC,CAC5G;AAAA,IAAA;AAEK,WAAA;AAAA,KAEL,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCreateBoardColumns.js","sources":["../../../../../packages/react-board/src/internal/useCreateBoardColumns.ts"],"sourcesContent":["import { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardColumnNode, BoardColumnValue } from '../types'\n\nexport const useCreateBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn\n}): BoardColumnNode<ColumnValue>[] => {\n\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\t\tconst result: BoardColumnNode<ColumnValue>[] = [\n\t\t\t{\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: Number.MAX_SAFE_INTEGER,\n\t\t\t\tvalue: null,\n\t\t\t\titems: nullItems.map((it, index) => ({ value: it, id: it.id, index })),\n\t\t\t},\n\t\t]\n\t\tlet index = 0\n\n\n\t\tfor (const column of columns) {\n\t\t\tresult.push({\n\t\t\t\tid: columnIdGetter(column),\n\t\t\t\tindex: index++,\n\t\t\t\tvalue: column,\n\t\t\t\titems: itemsByColumn.get(columnIdGetter(column))?.map((it, index) => ({ value: it, id: it.id, index })) ?? [],\n\t\t\t})\n\t\t}\n\t\treturn result\n\n\t}, [columnIdGetter, columns, groupItemsByColumn, items])\n}\n"],"names":["index"],"mappings":";;AAMO,MAAM,wBAAwB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,qBAK5E;AAErC,SAAO,QAAQ,MAAM;AACd,UAAA,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAC;AAC9C,UAAM,SAAyC;AAAA,MAC9C;AAAA,QACC,IAAI;AAAA,QACJ,OAAO,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,SAAQ;AAAA,MAAA;AAAA,IAEvE;AACA,QAAI,QAAQ;AAGZ,eAAW,UAAU,SAAS;AAC7B,aAAO,KAAK;AAAA,QACX,IAAI,eAAe,MAAM;AAAA,QACzB,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,cAAc,IAAI,eAAe,MAAM,CAAC,GAAG,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAQ,EAAA,KAAK,CAAA;AAAA,MAAC,CAC5G;AAAA,IAAA;AAEK,WAAA;AAAA,KAEL,CAAC,gBAAgB,SAAS,oBAAoB,KAAK,CAAC;AACxD;"}
|