@contember/react-board 1.3.0-alpha.9 → 2.0.0-alpha.1
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/development/components/Board.cjs +270 -0
- package/dist/development/components/Board.cjs.map +1 -0
- package/dist/development/components/Board.js +270 -0
- package/dist/development/components/Board.js.map +1 -0
- package/dist/development/components/BoardColumn.cjs +7 -0
- package/dist/development/components/BoardColumn.cjs.map +1 -0
- package/dist/development/components/BoardColumn.js +7 -0
- package/dist/development/components/BoardColumn.js.map +1 -0
- package/dist/development/components/BoardColumnLabel.cjs +14 -0
- package/dist/development/components/BoardColumnLabel.cjs.map +1 -0
- package/dist/development/components/BoardColumnLabel.js +14 -0
- package/dist/development/components/BoardColumnLabel.js.map +1 -0
- package/dist/development/components/BoardEachColumn.cjs +38 -0
- package/dist/development/components/BoardEachColumn.cjs.map +1 -0
- package/dist/development/components/BoardEachColumn.js +38 -0
- package/dist/development/components/BoardEachColumn.js.map +1 -0
- package/dist/development/components/BoardEachItem.cjs +56 -0
- package/dist/development/components/BoardEachItem.cjs.map +1 -0
- package/dist/development/components/BoardEachItem.js +56 -0
- package/dist/development/components/BoardEachItem.js.map +1 -0
- package/dist/development/components/BoardItem.cjs +8 -0
- package/dist/development/components/BoardItem.cjs.map +1 -0
- package/dist/development/components/BoardItem.js +8 -0
- package/dist/development/components/BoardItem.js.map +1 -0
- package/dist/development/components/BoardNullColumn.cjs +18 -0
- package/dist/development/components/BoardNullColumn.cjs.map +1 -0
- package/dist/development/components/BoardNullColumn.js +18 -0
- package/dist/development/components/BoardNullColumn.js.map +1 -0
- package/dist/development/contexts.cjs +24 -0
- package/dist/development/contexts.cjs.map +1 -0
- package/dist/development/contexts.js +24 -0
- package/dist/development/contexts.js.map +1 -0
- package/dist/development/index.cjs +23 -6
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +23 -6
- package/dist/development/index.js.map +1 -1
- package/dist/development/internal/boardAnalyzer.cjs +16 -0
- package/dist/development/internal/boardAnalyzer.cjs.map +1 -0
- package/dist/development/internal/boardAnalyzer.js +16 -0
- package/dist/development/internal/boardAnalyzer.js.map +1 -0
- package/dist/development/internal/useBoardItemsMethods.cjs.map +1 -1
- package/dist/development/internal/useBoardItemsMethods.js.map +1 -1
- package/dist/development/internal/{useBoardColumns.cjs → useCreateBoardColumns.cjs} +10 -24
- package/dist/development/internal/useCreateBoardColumns.cjs.map +1 -0
- package/dist/development/internal/{useBoardColumns.js → useCreateBoardColumns.js} +10 -24
- package/dist/development/internal/useCreateBoardColumns.js.map +1 -0
- package/dist/{production → development/internal}/useDynamicBoard.cjs +14 -18
- package/dist/development/internal/useDynamicBoard.cjs.map +1 -0
- package/dist/{production → development/internal}/useDynamicBoard.js +14 -18
- package/dist/development/internal/useDynamicBoard.js.map +1 -0
- package/dist/{production → development/internal}/useStaticBoard.cjs +8 -16
- package/dist/development/internal/useStaticBoard.cjs.map +1 -0
- package/dist/{production → development/internal}/useStaticBoard.js +9 -17
- package/dist/development/internal/useStaticBoard.js.map +1 -0
- package/dist/production/components/Board.cjs +118 -0
- package/dist/production/components/Board.cjs.map +1 -0
- package/dist/production/components/Board.js +118 -0
- package/dist/production/components/Board.js.map +1 -0
- package/dist/production/components/BoardColumn.cjs +7 -0
- package/dist/production/components/BoardColumn.cjs.map +1 -0
- package/dist/production/components/BoardColumn.js +7 -0
- package/dist/production/components/BoardColumn.js.map +1 -0
- package/dist/production/components/BoardColumnLabel.cjs +10 -0
- package/dist/production/components/BoardColumnLabel.cjs.map +1 -0
- package/dist/production/components/BoardColumnLabel.js +10 -0
- package/dist/production/components/BoardColumnLabel.js.map +1 -0
- package/dist/production/components/BoardEachColumn.cjs +22 -0
- package/dist/production/components/BoardEachColumn.cjs.map +1 -0
- package/dist/production/components/BoardEachColumn.js +22 -0
- package/dist/production/components/BoardEachColumn.js.map +1 -0
- package/dist/production/components/BoardEachItem.cjs +33 -0
- package/dist/production/components/BoardEachItem.cjs.map +1 -0
- package/dist/production/components/BoardEachItem.js +33 -0
- package/dist/production/components/BoardEachItem.js.map +1 -0
- package/dist/production/components/BoardItem.cjs +8 -0
- package/dist/production/components/BoardItem.cjs.map +1 -0
- package/dist/production/components/BoardItem.js +8 -0
- package/dist/production/components/BoardItem.js.map +1 -0
- package/dist/production/components/BoardNullColumn.cjs +14 -0
- package/dist/production/components/BoardNullColumn.cjs.map +1 -0
- package/dist/production/components/BoardNullColumn.js +14 -0
- package/dist/production/components/BoardNullColumn.js.map +1 -0
- package/dist/production/contexts.cjs +24 -0
- package/dist/production/contexts.cjs.map +1 -0
- package/dist/production/contexts.js +24 -0
- package/dist/production/contexts.js.map +1 -0
- package/dist/production/index.cjs +23 -6
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +23 -6
- package/dist/production/index.js.map +1 -1
- package/dist/production/internal/boardAnalyzer.cjs +16 -0
- package/dist/production/internal/boardAnalyzer.cjs.map +1 -0
- package/dist/production/internal/boardAnalyzer.js +16 -0
- package/dist/production/internal/boardAnalyzer.js.map +1 -0
- package/dist/production/internal/useBoardItemsMethods.cjs.map +1 -1
- package/dist/production/internal/useBoardItemsMethods.js.map +1 -1
- package/dist/production/internal/{useBoardColumns.cjs → useCreateBoardColumns.cjs} +10 -24
- package/dist/production/internal/useCreateBoardColumns.cjs.map +1 -0
- package/dist/production/internal/{useBoardColumns.js → useCreateBoardColumns.js} +10 -24
- package/dist/production/internal/useCreateBoardColumns.js.map +1 -0
- package/dist/{development → production/internal}/useDynamicBoard.cjs +14 -18
- package/dist/production/internal/useDynamicBoard.cjs.map +1 -0
- package/dist/{development → production/internal}/useDynamicBoard.js +14 -18
- package/dist/production/internal/useDynamicBoard.js.map +1 -0
- package/dist/{development → production/internal}/useStaticBoard.cjs +8 -16
- package/dist/production/internal/useStaticBoard.cjs.map +1 -0
- package/dist/{development → production/internal}/useStaticBoard.js +9 -17
- package/dist/production/internal/useStaticBoard.js.map +1 -0
- package/dist/types/{types.d.ts → components/Board.d.ts} +5 -8
- package/dist/types/components/Board.d.ts.map +1 -0
- package/dist/types/components/BoardColumn.d.ts +5 -0
- package/dist/types/components/BoardColumn.d.ts.map +1 -0
- package/dist/types/components/BoardColumnLabel.d.ts +2 -0
- package/dist/types/components/BoardColumnLabel.d.ts.map +1 -0
- package/dist/types/components/BoardEachColumn.d.ts +10 -0
- package/dist/types/components/BoardEachColumn.d.ts.map +1 -0
- package/dist/types/components/BoardEachItem.d.ts +10 -0
- package/dist/types/components/BoardEachItem.d.ts.map +1 -0
- package/dist/types/components/BoardItem.d.ts +8 -0
- package/dist/types/components/BoardItem.d.ts.map +1 -0
- package/dist/types/components/BoardNullColumn.d.ts +7 -0
- package/dist/types/components/BoardNullColumn.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +8 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/contexts.d.ts +18 -0
- package/dist/types/contexts.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/internal/boardAnalyzer.d.ts +6 -0
- package/dist/types/internal/boardAnalyzer.d.ts.map +1 -0
- package/dist/types/internal/useBoardItemsMethods.d.ts +1 -1
- package/dist/types/internal/useBoardItemsMethods.d.ts.map +1 -1
- package/dist/types/internal/useCreateBoardColumns.d.ts +10 -0
- package/dist/types/internal/useCreateBoardColumns.d.ts.map +1 -0
- package/dist/types/{useDynamicBoard.d.ts → internal/useDynamicBoard.d.ts} +4 -3
- package/dist/types/internal/useDynamicBoard.d.ts.map +1 -0
- package/dist/types/internal/useGroupItemsByColumn.d.ts.map +1 -1
- package/dist/types/{useStaticBoard.d.ts → internal/useStaticBoard.d.ts} +4 -3
- package/dist/types/internal/useStaticBoard.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/BoardColumnNode.d.ts +15 -0
- package/dist/types/types/BoardColumnNode.d.ts.map +1 -0
- package/dist/types/types/BoardData.d.ts +5 -0
- package/dist/types/types/BoardData.d.ts.map +1 -0
- package/dist/types/types/BoardItemNode.d.ts +7 -0
- package/dist/types/types/BoardItemNode.d.ts.map +1 -0
- package/dist/types/{BoardBindingProps.d.ts → types/BoardMethods.d.ts} +4 -23
- package/dist/types/types/BoardMethods.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/package.json +10 -7
- package/src/components/Board.tsx +219 -0
- package/src/components/BoardColumn.tsx +7 -0
- package/src/components/BoardColumnLabel.tsx +6 -0
- package/src/components/BoardEachColumn.tsx +32 -0
- package/src/components/BoardEachItem.tsx +48 -0
- package/src/components/BoardItem.tsx +8 -0
- package/src/components/BoardNullColumn.tsx +20 -0
- package/src/components/index.ts +7 -0
- package/src/contexts.ts +23 -0
- package/src/index.ts +2 -4
- package/src/internal/boardAnalyzer.ts +25 -0
- package/src/internal/useBoardItemsMethods.ts +1 -1
- package/src/internal/{useBoardColumns.ts → useCreateBoardColumns.ts} +11 -28
- package/src/{useDynamicBoard.ts → internal/useDynamicBoard.ts} +21 -18
- package/src/{useStaticBoard.ts → internal/useStaticBoard.ts} +13 -18
- package/src/tsconfig.json +3 -0
- package/src/types/BoardColumnNode.ts +16 -0
- package/src/types/BoardData.ts +6 -0
- package/src/types/BoardItemNode.ts +7 -0
- package/src/{BoardBindingProps.ts → types/BoardMethods.ts} +3 -29
- package/src/types/index.ts +3 -0
- package/dist/development/Board.cjs +0 -116
- package/dist/development/Board.cjs.map +0 -1
- package/dist/development/Board.js +0 -116
- package/dist/development/Board.js.map +0 -1
- package/dist/development/internal/useBoardColumns.cjs.map +0 -1
- package/dist/development/internal/useBoardColumns.js.map +0 -1
- package/dist/development/useDynamicBoard.cjs.map +0 -1
- package/dist/development/useDynamicBoard.js.map +0 -1
- package/dist/development/useStaticBoard.cjs.map +0 -1
- package/dist/development/useStaticBoard.js.map +0 -1
- package/dist/production/Board.cjs +0 -116
- package/dist/production/Board.cjs.map +0 -1
- package/dist/production/Board.js +0 -116
- package/dist/production/Board.js.map +0 -1
- package/dist/production/internal/useBoardColumns.cjs.map +0 -1
- package/dist/production/internal/useBoardColumns.js.map +0 -1
- package/dist/production/useDynamicBoard.cjs.map +0 -1
- package/dist/production/useDynamicBoard.js.map +0 -1
- package/dist/production/useStaticBoard.cjs.map +0 -1
- package/dist/production/useStaticBoard.js.map +0 -1
- package/dist/types/Board.d.ts +0 -10
- package/dist/types/Board.d.ts.map +0 -1
- package/dist/types/BoardBindingProps.d.ts.map +0 -1
- package/dist/types/internal/useBoardColumns.d.ts +0 -11
- package/dist/types/internal/useBoardColumns.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/useDynamicBoard.d.ts.map +0 -1
- package/dist/types/useStaticBoard.d.ts.map +0 -1
- package/src/Board.tsx +0 -156
- package/src/types.ts +0 -64
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const reactBinding = require("@contember/react-binding");
|
|
5
|
-
const useDynamicBoard = require("./useDynamicBoard.cjs");
|
|
6
|
-
const useStaticBoard = require("./useStaticBoard.cjs");
|
|
7
|
-
const createBoard = ({ Renderer, ItemStaticRender, ColumnStaticRender }) => {
|
|
8
|
-
const TopLevelDynamicBoard = reactBinding.Component(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
9
|
-
const itemsAccessor = reactBinding.useEntityListSubTree({ entities, orderBy, limit, offset });
|
|
10
|
-
const columnsAccessor = reactBinding.useEntityListSubTree({ entities: columns });
|
|
11
|
-
const dynamicBoardProps = useDynamicBoard.useDynamicBoard({
|
|
12
|
-
columnEntities: columnsAccessor,
|
|
13
|
-
itemEntities: itemsAccessor,
|
|
14
|
-
columns,
|
|
15
|
-
sortableBy,
|
|
16
|
-
sortScope,
|
|
17
|
-
columnsSortableBy,
|
|
18
|
-
discriminationField,
|
|
19
|
-
nullColumn,
|
|
20
|
-
nullColumnPlacement
|
|
21
|
-
});
|
|
22
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Renderer, { ...dynamicBoardProps, ...props });
|
|
23
|
-
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {
|
|
24
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
25
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
|
|
26
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
27
|
-
sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
28
|
-
ItemStaticRender && /* @__PURE__ */ jsxRuntime.jsx(ItemStaticRender, { ...props })
|
|
29
|
-
] }),
|
|
30
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
|
|
31
|
-
columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
|
|
32
|
-
ColumnStaticRender && /* @__PURE__ */ jsxRuntime.jsx(ColumnStaticRender, { ...props })
|
|
33
|
-
] })
|
|
34
|
-
] });
|
|
35
|
-
});
|
|
36
|
-
const RelativeDynamicBoard = reactBinding.Component(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
37
|
-
const itemsAccessor = reactBinding.useEntityList({ field, orderBy, limit, offset });
|
|
38
|
-
const columnsAccessor = reactBinding.useEntityListSubTree({ entities: columns });
|
|
39
|
-
const dynamicBoardProps = useDynamicBoard.useDynamicBoard({
|
|
40
|
-
columnEntities: columnsAccessor,
|
|
41
|
-
itemEntities: itemsAccessor,
|
|
42
|
-
columns,
|
|
43
|
-
sortableBy,
|
|
44
|
-
sortScope,
|
|
45
|
-
columnsSortableBy,
|
|
46
|
-
discriminationField,
|
|
47
|
-
nullColumn,
|
|
48
|
-
nullColumnPlacement
|
|
49
|
-
});
|
|
50
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Renderer, { ...dynamicBoardProps, ...props });
|
|
51
|
-
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {
|
|
52
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
53
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
|
|
54
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
55
|
-
sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
56
|
-
ItemStaticRender && /* @__PURE__ */ jsxRuntime.jsx(ItemStaticRender, { ...props })
|
|
57
|
-
] }),
|
|
58
|
-
/* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
|
|
59
|
-
columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
|
|
60
|
-
ColumnStaticRender && /* @__PURE__ */ jsxRuntime.jsx(ColumnStaticRender, { ...props })
|
|
61
|
-
] })
|
|
62
|
-
] });
|
|
63
|
-
});
|
|
64
|
-
const staticBoardItemInnerRender = ({ discriminationField, sortableBy, ...props }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
65
|
-
/* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
66
|
-
sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
67
|
-
ItemStaticRender && /* @__PURE__ */ jsxRuntime.jsx(ItemStaticRender, { ...props })
|
|
68
|
-
] });
|
|
69
|
-
const TopLevelStaticBoard = reactBinding.Component(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
70
|
-
const itemsAccessor = reactBinding.useEntityListSubTree({ entities, orderBy, limit, offset });
|
|
71
|
-
const staticBoardProps = useStaticBoard.useStaticBoard({
|
|
72
|
-
itemEntities: itemsAccessor,
|
|
73
|
-
columns,
|
|
74
|
-
sortableBy,
|
|
75
|
-
sortScope,
|
|
76
|
-
discriminationField,
|
|
77
|
-
nullColumn,
|
|
78
|
-
nullColumnPlacement
|
|
79
|
-
});
|
|
80
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Renderer, { ...staticBoardProps, ...props });
|
|
81
|
-
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {
|
|
82
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: staticBoardItemInnerRender({ sortableBy, discriminationField, ...props }) }) });
|
|
83
|
-
});
|
|
84
|
-
const RelativeStaticBoard = reactBinding.Component(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
85
|
-
const itemsAccessor = reactBinding.useEntityList({ field, orderBy, limit, offset });
|
|
86
|
-
const staticBoardProps = useStaticBoard.useStaticBoard({
|
|
87
|
-
itemEntities: itemsAccessor,
|
|
88
|
-
columns,
|
|
89
|
-
sortableBy,
|
|
90
|
-
sortScope,
|
|
91
|
-
discriminationField,
|
|
92
|
-
nullColumn,
|
|
93
|
-
nullColumnPlacement
|
|
94
|
-
});
|
|
95
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Renderer, { ...staticBoardProps, ...props });
|
|
96
|
-
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {
|
|
97
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasMany, { field, orderBy, limit, offset, children: staticBoardItemInnerRender({ sortableBy, discriminationField, ...props }) }) });
|
|
98
|
-
});
|
|
99
|
-
return reactBinding.Component((props) => {
|
|
100
|
-
if ("entities" in props) {
|
|
101
|
-
if (Array.isArray(props.columns)) {
|
|
102
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TopLevelStaticBoard, { ...props });
|
|
103
|
-
} else {
|
|
104
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TopLevelDynamicBoard, { ...props });
|
|
105
|
-
}
|
|
106
|
-
} else {
|
|
107
|
-
if (Array.isArray(props.columns)) {
|
|
108
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RelativeStaticBoard, { ...props });
|
|
109
|
-
} else {
|
|
110
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RelativeDynamicBoard, { ...props });
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
};
|
|
115
|
-
exports.createBoard = createBoard;
|
|
116
|
-
//# sourceMappingURL=Board.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Board.cjs","sources":["../../src/Board.tsx"],"sourcesContent":["import { Component, EntityListSubTree, Field, HasMany, HasOne, useEntityList, useEntityListSubTree } from '@contember/react-binding'\nimport { ComponentType } from 'react'\nimport { useDynamicBoard } from './useDynamicBoard'\nimport { useStaticBoard } from './useStaticBoard'\nimport { BoardBindingProps } from './BoardBindingProps'\nimport {\n\tBoardBaseProps,\n\tBoardQualifiedDynamicProps,\n\tBoardQualifiedStaticProps,\n\tBoardRelativeDynamicProps,\n\tBoardRelativeStaticProps,\n} from './types'\n\nexport type CreateBoardArgs<T extends {}> = {\n\tRenderer: ComponentType<BoardBindingProps<any> & T>\n\tItemStaticRender?: ComponentType<T>\n\tColumnStaticRender?: ComponentType<T>\n}\n\nexport const createBoard = <RendererExtraProps extends {}>({ Renderer, ItemStaticRender, ColumnStaticRender }: CreateBoardArgs<RendererExtraProps>) => {\n\n\tconst TopLevelDynamicBoard = Component<BoardQualifiedDynamicProps & RendererExtraProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\t\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\t\tconst dynamicBoardProps = useDynamicBoard({\n\t\t\tcolumnEntities: columnsAccessor,\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tcolumnsSortableBy,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...dynamicBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t{ItemStaticRender && <ItemStaticRender {...props as RendererExtraProps} />}\n\t\t\t</EntityListSubTree>\n\t\t\t<EntityListSubTree entities={columns}>\n\t\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t\t{ColumnStaticRender && <ColumnStaticRender {...props as RendererExtraProps} />}\n\t\t\t</EntityListSubTree>\n\t\t</>)\n\t})\n\n\n\n\tconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps & RendererExtraProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\t\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\t\tconst dynamicBoardProps = useDynamicBoard({\n\t\t\tcolumnEntities: columnsAccessor,\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tcolumnsSortableBy,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...dynamicBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t{ItemStaticRender && <ItemStaticRender {...props as RendererExtraProps} />}\n\t\t\t</HasMany>\n\t\t\t<EntityListSubTree entities={columns}>\n\t\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t\t{ColumnStaticRender && <ColumnStaticRender {...props as RendererExtraProps} />}\n\t\t\t</EntityListSubTree>\n\t\t</>)\n\t})\n\n\n\tconst staticBoardItemInnerRender = ({ discriminationField, sortableBy, ...props }: Pick<BoardQualifiedStaticProps, 'discriminationField' | 'sortableBy'> & RendererExtraProps) => <>\n\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t{ItemStaticRender && <ItemStaticRender {...props as unknown as RendererExtraProps} />}\n\t</>\n\n\tconst TopLevelStaticBoard = Component<BoardQualifiedStaticProps & RendererExtraProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\t\tconst staticBoardProps = useStaticBoard({\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...staticBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t{staticBoardItemInnerRender({ sortableBy, discriminationField, ...(props as RendererExtraProps) })}\n\t\t\t</EntityListSubTree>\n\t\t</>)\n\t})\n\n\n\tconst RelativeStaticBoard = Component<BoardRelativeStaticProps & RendererExtraProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\t\tconst staticBoardProps = useStaticBoard({\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...staticBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t{staticBoardItemInnerRender({ sortableBy, discriminationField, ...(props as RendererExtraProps) })}\n\t\t\t</HasMany>\n\t\t</>)\n\t})\n\n\n\n\treturn Component<BoardBaseProps<RendererExtraProps>>(props => {\n\t\tif ('entities' in props) {\n\t\t\tif (Array.isArray(props.columns)) {\n\t\t\t\treturn <TopLevelStaticBoard {...(props as BoardQualifiedStaticProps & RendererExtraProps)} />\n\t\t\t} else {\n\t\t\t\treturn <TopLevelDynamicBoard {...(props as BoardQualifiedDynamicProps & RendererExtraProps)} />\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(props.columns)) {\n\t\t\t\treturn <RelativeStaticBoard {...(props as BoardRelativeStaticProps & RendererExtraProps)} />\n\t\t\t} else {\n\t\t\t\treturn <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps & RendererExtraProps)} />\n\t\t\t}\n\t\t}\n\t})\n\n}\n"],"names":["Component","useEntityListSubTree","useDynamicBoard","jsx","jsxs","Fragment","EntityListSubTree","HasOne","Field","useEntityList","HasMany","useStaticBoard"],"mappings":"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"}
|
package/dist/production/Board.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Component, useEntityListSubTree, EntityListSubTree, HasOne, Field, useEntityList, HasMany } from "@contember/react-binding";
|
|
3
|
-
import { useDynamicBoard } from "./useDynamicBoard.js";
|
|
4
|
-
import { useStaticBoard } from "./useStaticBoard.js";
|
|
5
|
-
const createBoard = ({ Renderer, ItemStaticRender, ColumnStaticRender }) => {
|
|
6
|
-
const TopLevelDynamicBoard = Component(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
7
|
-
const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset });
|
|
8
|
-
const columnsAccessor = useEntityListSubTree({ entities: columns });
|
|
9
|
-
const dynamicBoardProps = useDynamicBoard({
|
|
10
|
-
columnEntities: columnsAccessor,
|
|
11
|
-
itemEntities: itemsAccessor,
|
|
12
|
-
columns,
|
|
13
|
-
sortableBy,
|
|
14
|
-
sortScope,
|
|
15
|
-
columnsSortableBy,
|
|
16
|
-
discriminationField,
|
|
17
|
-
nullColumn,
|
|
18
|
-
nullColumnPlacement
|
|
19
|
-
});
|
|
20
|
-
return /* @__PURE__ */ jsx(Renderer, { ...dynamicBoardProps, ...props });
|
|
21
|
-
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {
|
|
22
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
23
|
-
/* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
|
|
24
|
-
/* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
25
|
-
sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
26
|
-
ItemStaticRender && /* @__PURE__ */ jsx(ItemStaticRender, { ...props })
|
|
27
|
-
] }),
|
|
28
|
-
/* @__PURE__ */ jsxs(EntityListSubTree, { entities: columns, children: [
|
|
29
|
-
columnsSortableBy && /* @__PURE__ */ jsx(Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
|
|
30
|
-
ColumnStaticRender && /* @__PURE__ */ jsx(ColumnStaticRender, { ...props })
|
|
31
|
-
] })
|
|
32
|
-
] });
|
|
33
|
-
});
|
|
34
|
-
const RelativeDynamicBoard = Component(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
35
|
-
const itemsAccessor = useEntityList({ field, orderBy, limit, offset });
|
|
36
|
-
const columnsAccessor = useEntityListSubTree({ entities: columns });
|
|
37
|
-
const dynamicBoardProps = useDynamicBoard({
|
|
38
|
-
columnEntities: columnsAccessor,
|
|
39
|
-
itemEntities: itemsAccessor,
|
|
40
|
-
columns,
|
|
41
|
-
sortableBy,
|
|
42
|
-
sortScope,
|
|
43
|
-
columnsSortableBy,
|
|
44
|
-
discriminationField,
|
|
45
|
-
nullColumn,
|
|
46
|
-
nullColumnPlacement
|
|
47
|
-
});
|
|
48
|
-
return /* @__PURE__ */ jsx(Renderer, { ...dynamicBoardProps, ...props });
|
|
49
|
-
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {
|
|
50
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
51
|
-
/* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
|
|
52
|
-
/* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
53
|
-
sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
54
|
-
ItemStaticRender && /* @__PURE__ */ jsx(ItemStaticRender, { ...props })
|
|
55
|
-
] }),
|
|
56
|
-
/* @__PURE__ */ jsxs(EntityListSubTree, { entities: columns, children: [
|
|
57
|
-
columnsSortableBy && /* @__PURE__ */ jsx(Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
|
|
58
|
-
ColumnStaticRender && /* @__PURE__ */ jsx(ColumnStaticRender, { ...props })
|
|
59
|
-
] })
|
|
60
|
-
] });
|
|
61
|
-
});
|
|
62
|
-
const staticBoardItemInnerRender = ({ discriminationField, sortableBy, ...props }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
63
|
-
/* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
|
|
64
|
-
sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
|
|
65
|
-
ItemStaticRender && /* @__PURE__ */ jsx(ItemStaticRender, { ...props })
|
|
66
|
-
] });
|
|
67
|
-
const TopLevelStaticBoard = Component(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
68
|
-
const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset });
|
|
69
|
-
const staticBoardProps = useStaticBoard({
|
|
70
|
-
itemEntities: itemsAccessor,
|
|
71
|
-
columns,
|
|
72
|
-
sortableBy,
|
|
73
|
-
sortScope,
|
|
74
|
-
discriminationField,
|
|
75
|
-
nullColumn,
|
|
76
|
-
nullColumnPlacement
|
|
77
|
-
});
|
|
78
|
-
return /* @__PURE__ */ jsx(Renderer, { ...staticBoardProps, ...props });
|
|
79
|
-
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {
|
|
80
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(EntityListSubTree, { entities, orderBy, limit, offset, children: staticBoardItemInnerRender({ sortableBy, discriminationField, ...props }) }) });
|
|
81
|
-
});
|
|
82
|
-
const RelativeStaticBoard = Component(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
83
|
-
const itemsAccessor = useEntityList({ field, orderBy, limit, offset });
|
|
84
|
-
const staticBoardProps = useStaticBoard({
|
|
85
|
-
itemEntities: itemsAccessor,
|
|
86
|
-
columns,
|
|
87
|
-
sortableBy,
|
|
88
|
-
sortScope,
|
|
89
|
-
discriminationField,
|
|
90
|
-
nullColumn,
|
|
91
|
-
nullColumnPlacement
|
|
92
|
-
});
|
|
93
|
-
return /* @__PURE__ */ jsx(Renderer, { ...staticBoardProps, ...props });
|
|
94
|
-
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {
|
|
95
|
-
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(HasMany, { field, orderBy, limit, offset, children: staticBoardItemInnerRender({ sortableBy, discriminationField, ...props }) }) });
|
|
96
|
-
});
|
|
97
|
-
return Component((props) => {
|
|
98
|
-
if ("entities" in props) {
|
|
99
|
-
if (Array.isArray(props.columns)) {
|
|
100
|
-
return /* @__PURE__ */ jsx(TopLevelStaticBoard, { ...props });
|
|
101
|
-
} else {
|
|
102
|
-
return /* @__PURE__ */ jsx(TopLevelDynamicBoard, { ...props });
|
|
103
|
-
}
|
|
104
|
-
} else {
|
|
105
|
-
if (Array.isArray(props.columns)) {
|
|
106
|
-
return /* @__PURE__ */ jsx(RelativeStaticBoard, { ...props });
|
|
107
|
-
} else {
|
|
108
|
-
return /* @__PURE__ */ jsx(RelativeDynamicBoard, { ...props });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
};
|
|
113
|
-
export {
|
|
114
|
-
createBoard
|
|
115
|
-
};
|
|
116
|
-
//# sourceMappingURL=Board.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Board.js","sources":["../../src/Board.tsx"],"sourcesContent":["import { Component, EntityListSubTree, Field, HasMany, HasOne, useEntityList, useEntityListSubTree } from '@contember/react-binding'\nimport { ComponentType } from 'react'\nimport { useDynamicBoard } from './useDynamicBoard'\nimport { useStaticBoard } from './useStaticBoard'\nimport { BoardBindingProps } from './BoardBindingProps'\nimport {\n\tBoardBaseProps,\n\tBoardQualifiedDynamicProps,\n\tBoardQualifiedStaticProps,\n\tBoardRelativeDynamicProps,\n\tBoardRelativeStaticProps,\n} from './types'\n\nexport type CreateBoardArgs<T extends {}> = {\n\tRenderer: ComponentType<BoardBindingProps<any> & T>\n\tItemStaticRender?: ComponentType<T>\n\tColumnStaticRender?: ComponentType<T>\n}\n\nexport const createBoard = <RendererExtraProps extends {}>({ Renderer, ItemStaticRender, ColumnStaticRender }: CreateBoardArgs<RendererExtraProps>) => {\n\n\tconst TopLevelDynamicBoard = Component<BoardQualifiedDynamicProps & RendererExtraProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\t\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\t\tconst dynamicBoardProps = useDynamicBoard({\n\t\t\tcolumnEntities: columnsAccessor,\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tcolumnsSortableBy,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...dynamicBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t{ItemStaticRender && <ItemStaticRender {...props as RendererExtraProps} />}\n\t\t\t</EntityListSubTree>\n\t\t\t<EntityListSubTree entities={columns}>\n\t\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t\t{ColumnStaticRender && <ColumnStaticRender {...props as RendererExtraProps} />}\n\t\t\t</EntityListSubTree>\n\t\t</>)\n\t})\n\n\n\n\tconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps & RendererExtraProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\t\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\t\tconst dynamicBoardProps = useDynamicBoard({\n\t\t\tcolumnEntities: columnsAccessor,\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tcolumnsSortableBy,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...dynamicBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t{ItemStaticRender && <ItemStaticRender {...props as RendererExtraProps} />}\n\t\t\t</HasMany>\n\t\t\t<EntityListSubTree entities={columns}>\n\t\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t\t{ColumnStaticRender && <ColumnStaticRender {...props as RendererExtraProps} />}\n\t\t\t</EntityListSubTree>\n\t\t</>)\n\t})\n\n\n\tconst staticBoardItemInnerRender = ({ discriminationField, sortableBy, ...props }: Pick<BoardQualifiedStaticProps, 'discriminationField' | 'sortableBy'> & RendererExtraProps) => <>\n\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t{ItemStaticRender && <ItemStaticRender {...props as unknown as RendererExtraProps} />}\n\t</>\n\n\tconst TopLevelStaticBoard = Component<BoardQualifiedStaticProps & RendererExtraProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\t\tconst staticBoardProps = useStaticBoard({\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...staticBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t{staticBoardItemInnerRender({ sortableBy, discriminationField, ...(props as RendererExtraProps) })}\n\t\t\t</EntityListSubTree>\n\t\t</>)\n\t})\n\n\n\tconst RelativeStaticBoard = Component<BoardRelativeStaticProps & RendererExtraProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {\n\t\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\t\tconst staticBoardProps = useStaticBoard({\n\t\t\titemEntities: itemsAccessor,\n\t\t\tcolumns,\n\t\t\tsortableBy,\n\t\t\tsortScope,\n\t\t\tdiscriminationField,\n\t\t\tnullColumn,\n\t\t\tnullColumnPlacement,\n\t\t})\n\t\treturn (\n\t\t\t<Renderer {...staticBoardProps} {...props as RendererExtraProps} />\n\t\t)\n\t}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {\n\t\treturn (<>\n\t\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t{staticBoardItemInnerRender({ sortableBy, discriminationField, ...(props as RendererExtraProps) })}\n\t\t\t</HasMany>\n\t\t</>)\n\t})\n\n\n\n\treturn Component<BoardBaseProps<RendererExtraProps>>(props => {\n\t\tif ('entities' in props) {\n\t\t\tif (Array.isArray(props.columns)) {\n\t\t\t\treturn <TopLevelStaticBoard {...(props as BoardQualifiedStaticProps & RendererExtraProps)} />\n\t\t\t} else {\n\t\t\t\treturn <TopLevelDynamicBoard {...(props as BoardQualifiedDynamicProps & RendererExtraProps)} />\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(props.columns)) {\n\t\t\t\treturn <RelativeStaticBoard {...(props as BoardRelativeStaticProps & RendererExtraProps)} />\n\t\t\t} else {\n\t\t\t\treturn <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps & RendererExtraProps)} />\n\t\t\t}\n\t\t}\n\t})\n\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBoardColumns.cjs","sources":["../../../src/internal/useBoardColumns.ts"],"sourcesContent":["import { BoardColumn, BoardColumnValue } from '../BoardBindingProps'\nimport { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardNullBehaviourProps } from '../types'\n\nexport const useBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, nullColumn, nullColumnPlacement, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn,\n} & BoardNullBehaviourProps): BoardColumn<ColumnValue>[] => {\n\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst result: BoardColumn<ColumnValue>[] = []\n\t\tlet index = 0\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\n\t\tconst pushNullColumn = () => {\n\t\t\tif (nullColumn === 'never') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (nullColumn === 'auto' && nullItems.length === 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tresult.push({\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: index++,\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\n\t\tif (nullColumnPlacement === 'start') {\n\t\t\tindex--\n\t\t\tpushNullColumn()\n\t\t}\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\n\t\tif (nullColumnPlacement !== 'start') {\n\t\t\tpushNullColumn()\n\t\t}\n\t\treturn result\n\t}, [columnIdGetter, columns, groupItemsByColumn, items, nullColumn, nullColumnPlacement])\n}\n"],"names":["useMemo","BoardNullColumnPlaceholder","index"],"mappings":";;;;AAOa,MAAA,kBAAkB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,YAAY,qBAAqB,qBAKjF;AAE3D,SAAOA,cAAQ,MAAM;AACd,UAAA,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,SAAqC,CAAA;AAC3C,QAAI,QAAQ;AACZ,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAA;AAE7C,UAAM,iBAAiB,MAAM;AAC5B,UAAI,eAAe,SAAS;AAC3B;AAAA,MACD;AACA,UAAI,eAAe,UAAU,UAAU,WAAW,GAAG;AACpD;AAAA,MACD;AAEA,aAAO,KAAK;AAAA,QACX,IAAIC,OAAA;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIC,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAQ,EAAA;AAAA,MAAA,CACrE;AAAA,IAAA;AAGF,QAAI,wBAAwB,SAAS;AACpC;AACe;IAChB;AAEA,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,SAAQ,KAAK,CAAC;AAAA,MAAA,CAC5G;AAAA,IACF;AAEA,QAAI,wBAAwB,SAAS;AACrB;IAChB;AACO,WAAA;AAAA,EAAA,GACL,CAAC,gBAAgB,SAAS,oBAAoB,OAAO,YAAY,mBAAmB,CAAC;AACzF;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBoardColumns.js","sources":["../../../src/internal/useBoardColumns.ts"],"sourcesContent":["import { BoardColumn, BoardColumnValue } from '../BoardBindingProps'\nimport { useMemo } from 'react'\nimport { UseGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { EntityListAccessor } from '@contember/react-binding'\nimport { BoardNullColumnPlaceholder } from '../const'\nimport { BoardNullBehaviourProps } from '../types'\n\nexport const useBoardColumns = <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, nullColumn, nullColumnPlacement, columnIdGetter }: {\n\titems: EntityListAccessor\n\tcolumns: Iterable<ColumnValue>\n\tcolumnIdGetter: (column: ColumnValue) => string | number\n\tgroupItemsByColumn: UseGroupItemsByColumn,\n} & BoardNullBehaviourProps): BoardColumn<ColumnValue>[] => {\n\n\treturn useMemo(() => {\n\t\tconst itemsByColumn = groupItemsByColumn(items)\n\n\t\tconst result: BoardColumn<ColumnValue>[] = []\n\t\tlet index = 0\n\t\tconst nullItems = itemsByColumn.get(null) ?? []\n\n\t\tconst pushNullColumn = () => {\n\t\t\tif (nullColumn === 'never') {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (nullColumn === 'auto' && nullItems.length === 0) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tresult.push({\n\t\t\t\tid: BoardNullColumnPlaceholder,\n\t\t\t\tindex: index++,\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\n\t\tif (nullColumnPlacement === 'start') {\n\t\t\tindex--\n\t\t\tpushNullColumn()\n\t\t}\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\n\t\tif (nullColumnPlacement !== 'start') {\n\t\t\tpushNullColumn()\n\t\t}\n\t\treturn result\n\t}, [columnIdGetter, columns, groupItemsByColumn, items, nullColumn, nullColumnPlacement])\n}\n"],"names":["index"],"mappings":";;AAOa,MAAA,kBAAkB,CAAuC,EAAE,oBAAoB,OAAO,SAAS,YAAY,qBAAqB,qBAKjF;AAE3D,SAAO,QAAQ,MAAM;AACd,UAAA,gBAAgB,mBAAmB,KAAK;AAE9C,UAAM,SAAqC,CAAA;AAC3C,QAAI,QAAQ;AACZ,UAAM,YAAY,cAAc,IAAI,IAAI,KAAK,CAAA;AAE7C,UAAM,iBAAiB,MAAM;AAC5B,UAAI,eAAe,SAAS;AAC3B;AAAA,MACD;AACA,UAAI,eAAe,UAAU,UAAU,WAAW,GAAG;AACpD;AAAA,MACD;AAEA,aAAO,KAAK;AAAA,QACX,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO,UAAU,IAAI,CAAC,IAAIA,YAAW,EAAE,OAAO,IAAI,IAAI,GAAG,IAAI,OAAAA,OAAQ,EAAA;AAAA,MAAA,CACrE;AAAA,IAAA;AAGF,QAAI,wBAAwB,SAAS;AACpC;AACe;IAChB;AAEA,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,SAAQ,KAAK,CAAC;AAAA,MAAA,CAC5G;AAAA,IACF;AAEA,QAAI,wBAAwB,SAAS;AACrB;IAChB;AACO,WAAA;AAAA,EAAA,GACL,CAAC,gBAAgB,SAAS,oBAAoB,OAAO,YAAY,mBAAmB,CAAC;AACzF;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicBoard.cjs","sources":["../../src/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport { BoardAddColumnMethod, BoardBindingProps, BoardMoveColumnMethod, BoardRemoveColumnMethod } from './BoardBindingProps'\nimport { useGroupItemsByColumn } from './internal/useGroupItemsByColumn'\nimport { useBoardColumns } from './internal/useBoardColumns'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from './types'\nimport { useBoardItemsMethods } from './internal/useBoardItemsMethods'\nimport { arrayMove } from './utils/arrayMove'\n\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n\tnullColumnPlacement = 'end',\n\tnullColumn = 'auto',\n}: UseDynamicBoardBindingProps): BoardBindingProps<EntityAccessor> => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map(it => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getRelativeSingleEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t\tnullColumn,\n\t\tnullColumnPlacement,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getRelativeSingleEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\treturn {\n\t\tcolumns: columnsResult,\n\t\taddColumn,\n\t\taddItem,\n\t\tmoveColumn,\n\t\tmoveItem,\n\t\tremoveColumn,\n\t\tremoveItem,\n\t}\n}\n"],"names":["useCallback","sortEntities","useDesugaredRelativeSingleField","useDesugaredRelativeSingleEntity","useMemo","useGroupItemsByColumn","useBoardColumns","columnEntities","BindingError","addEntityAtIndex","arrayMove","repairEntitiesOrder","useBoardItemsMethods"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicBoard.js","sources":["../../src/useDynamicBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport {\n\taddEntityAtIndex,\n\tBindingError,\n\tEntityAccessor,\n\tEntityListAccessor,\n\tRelativeSingleField,\n\trepairEntitiesOrder,\n\tsortEntities,\n\tuseDesugaredRelativeSingleEntity,\n\tuseDesugaredRelativeSingleField,\n} from '@contember/react-binding'\nimport { BoardAddColumnMethod, BoardBindingProps, BoardMoveColumnMethod, BoardRemoveColumnMethod } from './BoardBindingProps'\nimport { useGroupItemsByColumn } from './internal/useGroupItemsByColumn'\nimport { useBoardColumns } from './internal/useBoardColumns'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from './types'\nimport { useBoardItemsMethods } from './internal/useBoardItemsMethods'\nimport { arrayMove } from './utils/arrayMove'\n\n\nexport type UseDynamicBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardDynamicColumnsBindingProps\n\t& {\n\t\tcolumnEntities: EntityListAccessor\n\t\titemEntities: EntityListAccessor\n\t}\n\nconst useGetSortedColumns = (desugaredColumnSortableByField: RelativeSingleField | undefined) => {\n\treturn useCallback((columnEntities: EntityListAccessor) => {\n\t\treturn sortEntities(Array.from(columnEntities), desugaredColumnSortableByField)\n\t}, [desugaredColumnSortableByField])\n}\n\nexport const useDynamicBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumnsSortableBy,\n\tdiscriminationField,\n\tcolumnEntities,\n\titemEntities,\n\tnullColumnPlacement = 'end',\n\tnullColumn = 'auto',\n}: UseDynamicBoardBindingProps): BoardBindingProps<EntityAccessor> => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField)\n\n\tconst columnEntitiesGetter = columnEntities.getAccessor\n\n\n\tconst exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map(it => it.id)), [columnEntities])\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\tconst entityId = entity.getRelativeSingleEntity(desugaredDiscriminationField).id\n\t\treturn exitingColumnIds.has(entityId) ? entityId : null\n\t}, [desugaredDiscriminationField, exitingColumnIds])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField)\n\n\tconst columnsResult = useBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t\tnullColumn,\n\t\tnullColumnPlacement,\n\t})\n\n\tconst addColumn = useCallback<BoardAddColumnMethod>((index, preprocess) => {\n\t\tconst columnEntities = columnEntitiesGetter()\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\tif (index === undefined) {\n\t\t\t\treturn columnEntities.createNewEntity(preprocess)\n\t\t\t}\n\t\t\tthrow new BindingError('Cannot add column at specific index without sortableBy field')\n\t\t}\n\t\taddEntityAtIndex(columnEntities, desugaredColumnSortableByField, columnEntities.length, preprocess)\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField])\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: EntityAccessor | null) => {\n\t\tconst hasOne = desugaredDiscriminationField.hasOneRelationPath\n\t\tconst parentEntity = item.getRelativeSingleEntity({ hasOneRelationPath: hasOne.slice(0, -1) })\n\t\tif (column) {\n\t\t\tparentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column)\n\t\t} else {\n\t\t\tparentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field)\n\t\t}\n\n\t}, [desugaredDiscriminationField.hasOneRelationPath])\n\n\n\tconst moveColumn = useMemo<BoardMoveColumnMethod | undefined>(() => {\n\t\tif (!desugaredColumnSortableByField) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn (entity, index) => {\n\t\t\tconst sortedColumns = getSortedColumns(columnEntitiesGetter())\n\t\t\tconst currentIndex = sortedColumns.findIndex(it => it.id === entity.id)\n\t\t\tconst resortedItems = arrayMove(sortedColumns, currentIndex, index)\n\t\t\trepairEntitiesOrder(desugaredColumnSortableByField, resortedItems)\n\t\t}\n\t}, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns])\n\n\n\tconst removeColumn = useCallback<BoardRemoveColumnMethod>(entity => {\n\t\tentity.deleteEntity()\n\t\tif (desugaredSortableByField) {\n\t\t\trepairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()))\n\t\t}\n\t}, [columnEntitiesGetter, desugaredSortableByField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.id,\n\t\tconnectItemToColumn,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t})\n\n\treturn {\n\t\tcolumns: columnsResult,\n\t\taddColumn,\n\t\taddItem,\n\t\tmoveColumn,\n\t\tmoveItem,\n\t\tremoveColumn,\n\t\tremoveItem,\n\t}\n}\n"],"names":["columnEntities"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStaticBoard.cjs","sources":["../../src/useStaticBoard.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { EntityAccessor, EntityListAccessor, useDesugaredRelativeSingleField } from '@contember/react-binding'\nimport { BoardBindingProps, BoardStaticColumnValue } from './BoardBindingProps'\nimport { useGroupItemsByColumn } from './internal/useGroupItemsByColumn'\nimport { useBoardColumns } from './internal/useBoardColumns'\nimport { BoardCommonProps, BoardStaticColumnsBindingProps } from './types'\nimport { useBoardItemsMethods } from './internal/useBoardItemsMethods'\n\n\nexport type UseStaticBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardStaticColumnsBindingProps\n\t& {\n\t\titemEntities: EntityListAccessor\n\t}\n\nexport const useStaticBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumns,\n\tdiscriminationField,\n\titemEntities,\n\tnullColumnPlacement = 'end',\n\tnullColumn = 'auto',\n}: UseStaticBoardBindingProps): BoardBindingProps<BoardStaticColumnValue> => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleField(discriminationField)\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\treturn entity.getRelativeSingleField<string>(desugaredDiscriminationField).value\n\t}, [desugaredDiscriminationField])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst columnsResult = useBoardColumns({\n\t\tcolumns,\n\t\tcolumnIdGetter: it => it.value,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t\tnullColumn,\n\t\tnullColumnPlacement,\n\t})\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: BoardStaticColumnValue | null) => {\n\t\titem.getRelativeSingleField(desugaredDiscriminationField).updateValue(column?.value ?? null)\n\t}, [desugaredDiscriminationField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.value,\n\t\tconnectItemToColumn,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t})\n\treturn {\n\t\tcolumns: columnsResult,\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":["useDesugaredRelativeSingleField","useCallback","useGroupItemsByColumn","useBoardColumns","useBoardItemsMethods"],"mappings":";;;;;;;AAgBO,MAAM,iBAAiB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,sBAAsB;AAAA,EACtB,aAAa;AACd,MAA6E;AAEtE,QAAA,2BAA2BA,6CAAgC,UAAU;AACrE,QAAA,+BAA+BA,6CAAgC,mBAAmB;AAElF,QAAA,wBAAwBC,kBAAY,CAAC,WAA2B;AAC9D,WAAA,OAAO,uBAA+B,4BAA4B,EAAE;AAAA,EAAA,GACzE,CAAC,4BAA4B,CAAC;AAE3B,QAAA,qBAAqBC,sBAAAA,sBAAsB,uBAAuB,wBAAwB;AAEhG,QAAM,gBAAgBC,gBAAAA,gBAAgB;AAAA,IACrC;AAAA,IACA,gBAAgB,QAAM,GAAG;AAAA,IACzB;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EAAA,CACA;AAED,QAAM,sBAAsBF,MAAAA,YAAY,CAAC,MAAsB,WAA0C;AACxG,SAAK,uBAAuB,4BAA4B,EAAE,YAAY,QAAQ,SAAS,IAAI;AAAA,EAAA,GACzF,CAAC,4BAA4B,CAAC;AAEjC,QAAM,EAAE,SAAS,UAAU,WAAA,IAAeG,qBAAAA,qBAAqB;AAAA,IAC9D,gBAAgB,QAAM,GAAG;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AACM,SAAA;AAAA,IACN,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStaticBoard.js","sources":["../../src/useStaticBoard.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport { EntityAccessor, EntityListAccessor, useDesugaredRelativeSingleField } from '@contember/react-binding'\nimport { BoardBindingProps, BoardStaticColumnValue } from './BoardBindingProps'\nimport { useGroupItemsByColumn } from './internal/useGroupItemsByColumn'\nimport { useBoardColumns } from './internal/useBoardColumns'\nimport { BoardCommonProps, BoardStaticColumnsBindingProps } from './types'\nimport { useBoardItemsMethods } from './internal/useBoardItemsMethods'\n\n\nexport type UseStaticBoardBindingProps =\n\t& Omit<BoardCommonProps, 'children'>\n\t& BoardStaticColumnsBindingProps\n\t& {\n\t\titemEntities: EntityListAccessor\n\t}\n\nexport const useStaticBoard = ({\n\tsortableBy,\n\tsortScope,\n\tcolumns,\n\tdiscriminationField,\n\titemEntities,\n\tnullColumnPlacement = 'end',\n\tnullColumn = 'auto',\n}: UseStaticBoardBindingProps): BoardBindingProps<BoardStaticColumnValue> => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleField(discriminationField)\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\treturn entity.getRelativeSingleField<string>(desugaredDiscriminationField).value\n\t}, [desugaredDiscriminationField])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst columnsResult = useBoardColumns({\n\t\tcolumns,\n\t\tcolumnIdGetter: it => it.value,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t\tnullColumn,\n\t\tnullColumnPlacement,\n\t})\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: BoardStaticColumnValue | null) => {\n\t\titem.getRelativeSingleField(desugaredDiscriminationField).updateValue(column?.value ?? null)\n\t}, [desugaredDiscriminationField])\n\n\tconst { addItem, moveItem, removeItem } = useBoardItemsMethods({\n\t\tcolumnIdGetter: it => it.value,\n\t\tconnectItemToColumn,\n\t\tgroupItemsByColumn,\n\t\titemEntities,\n\t\tdesugaredSortableByField,\n\t\tsortScope,\n\t\tgetDiscriminatorValue,\n\t})\n\treturn {\n\t\tcolumns: columnsResult,\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t}\n}\n"],"names":[],"mappings":";;;;;AAgBO,MAAM,iBAAiB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,sBAAsB;AAAA,EACtB,aAAa;AACd,MAA6E;AAEtE,QAAA,2BAA2B,gCAAgC,UAAU;AACrE,QAAA,+BAA+B,gCAAgC,mBAAmB;AAElF,QAAA,wBAAwB,YAAY,CAAC,WAA2B;AAC9D,WAAA,OAAO,uBAA+B,4BAA4B,EAAE;AAAA,EAAA,GACzE,CAAC,4BAA4B,CAAC;AAE3B,QAAA,qBAAqB,sBAAsB,uBAAuB,wBAAwB;AAEhG,QAAM,gBAAgB,gBAAgB;AAAA,IACrC;AAAA,IACA,gBAAgB,QAAM,GAAG;AAAA,IACzB;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EAAA,CACA;AAED,QAAM,sBAAsB,YAAY,CAAC,MAAsB,WAA0C;AACxG,SAAK,uBAAuB,4BAA4B,EAAE,YAAY,QAAQ,SAAS,IAAI;AAAA,EAAA,GACzF,CAAC,4BAA4B,CAAC;AAEjC,QAAM,EAAE,SAAS,UAAU,WAAA,IAAe,qBAAqB;AAAA,IAC9D,gBAAgB,QAAM,GAAG;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,CACA;AACM,SAAA;AAAA,IACN,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;"}
|
package/dist/types/Board.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ComponentType } from 'react';
|
|
2
|
-
import { BoardBindingProps } from './BoardBindingProps';
|
|
3
|
-
import { BoardBaseProps } from './types';
|
|
4
|
-
export type CreateBoardArgs<T extends {}> = {
|
|
5
|
-
Renderer: ComponentType<BoardBindingProps<any> & T>;
|
|
6
|
-
ItemStaticRender?: ComponentType<T>;
|
|
7
|
-
ColumnStaticRender?: ComponentType<T>;
|
|
8
|
-
};
|
|
9
|
-
export declare const createBoard: <RendererExtraProps extends {}>({ Renderer, ItemStaticRender, ColumnStaticRender }: CreateBoardArgs<RendererExtraProps>) => import("react").NamedExoticComponent<BoardBaseProps<RendererExtraProps>>;
|
|
10
|
-
//# sourceMappingURL=Board.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Board.d.ts","sourceRoot":"","sources":["../../src/Board.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACN,cAAc,EAKd,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,EAAE,IAAI;IAC3C,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,gBAAgB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IACnC,kBAAkB,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,WAAW,sMAwIvB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BoardBindingProps.d.ts","sourceRoot":"","sources":["../../src/BoardBindingProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,cAAc,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,cAAc,CAAA;AAEtE,MAAM,MAAM,WAAW,CAAC,WAAW,SAAS,gBAAgB,GAAG,gBAAgB,IAAI;IAClF,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,SAAS,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,KAAK,IAAI,CAAC;AACxH,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACpF,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AACvE,MAAM,MAAM,mBAAmB,CAAC,WAAW,SAAS,gBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACpJ,MAAM,MAAM,kBAAkB,CAAC,WAAW,SAAS,gBAAgB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,CAAC,mBAAmB,KAAK,IAAI,CAAC;AACxL,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAErE,MAAM,MAAM,YAAY,CAAC,WAAW,SAAS,gBAAgB,IAAI;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;IAClC,SAAS,CAAC,EAAE,oBAAoB,CAAA;IAChC,YAAY,CAAC,EAAE,uBAAuB,CAAA;IAEtC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAC3C,OAAO,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;IACzC,UAAU,CAAC,EAAE,qBAAqB,CAAA;CAElC,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,WAAW,SAAS,gBAAgB,IAC/D;IACD,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAA;CACnC,GACC,YAAY,CAAC,WAAW,CAAC,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BoardColumn, BoardColumnValue } from '../BoardBindingProps';
|
|
2
|
-
import { UseGroupItemsByColumn } from './useGroupItemsByColumn';
|
|
3
|
-
import { EntityListAccessor } from '@contember/react-binding';
|
|
4
|
-
import { BoardNullBehaviourProps } from '../types';
|
|
5
|
-
export declare const useBoardColumns: <ColumnValue extends BoardColumnValue>({ groupItemsByColumn, items, columns, nullColumn, nullColumnPlacement, columnIdGetter }: {
|
|
6
|
-
items: EntityListAccessor;
|
|
7
|
-
columns: Iterable<ColumnValue>;
|
|
8
|
-
columnIdGetter: (column: ColumnValue) => string | number;
|
|
9
|
-
groupItemsByColumn: UseGroupItemsByColumn;
|
|
10
|
-
} & BoardNullBehaviourProps) => BoardColumn<ColumnValue>[];
|
|
11
|
-
//# sourceMappingURL=useBoardColumns.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useBoardColumns.d.ts","sourceRoot":"","sources":["../../../src/internal/useBoardColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAElD,eAAO,MAAM,eAAe;WACpB,kBAAkB;;6CAEgB,MAAM,GAAG,MAAM;wBACpC,qBAAqB;0DA6CzC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAA;AAEzJ,MAAM,MAAM,+BAA+B,GAAG;IAC7C,OAAO,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAA;IAC/C,iBAAiB,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAAA;IACvD,mBAAmB,EAAE,MAAM,GAAG,2BAA2B,CAAA;CACzD,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC5C,OAAO,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,SAAS,CAAA;KAChB,EAAE,CAAA;IACH,mBAAmB,EAAE,MAAM,GAAG,0BAA0B,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACrC,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAA;IACxC,mBAAmB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CACrC,CAAA;AACD,MAAM,MAAM,gBAAgB,GACzB,uBAAuB,GACvB;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,0BAA0B,CAAA;IAChD,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CAC9B,CAAA;AAEF,MAAM,MAAM,wBAAwB,GACjC,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAChC,IAAI,CAAC,yBAAyB,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAA;AAG5E,MAAM,MAAM,0BAA0B,GACnC,gBAAgB,GAChB,+BAA+B,GAC/B,wBAAwB,CAAA;AAE3B,MAAM,MAAM,yBAAyB,GAClC,gBAAgB,GAChB,+BAA+B,GAC/B,uBAAuB,CAAA;AAE1B,MAAM,MAAM,yBAAyB,GAClC,gBAAgB,GAChB,8BAA8B,GAC9B,wBAAwB,CAAA;AAE3B,MAAM,MAAM,wBAAwB,GACjC,gBAAgB,GAChB,8BAA8B,GAC9B,uBAAuB,CAAA;AAE1B,MAAM,MAAM,cAAc,CAAC,kBAAkB,IAC1C,CACC,0BAA0B,GAC1B,yBAAyB,GACzB,yBAAyB,GACzB,wBAAwB,CAC1B,GACC,kBAAkB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicBoard.d.ts","sourceRoot":"","sources":["../../src/useDynamicBoard.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,cAAc,EACd,kBAAkB,EAMlB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAwB,iBAAiB,EAAkD,MAAM,qBAAqB,CAAA;AAG7H,OAAO,EAAE,gBAAgB,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAA;AAK3E,MAAM,MAAM,2BAA2B,GACpC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAClC,+BAA+B,GAC/B;IACD,cAAc,EAAE,kBAAkB,CAAA;IAClC,YAAY,EAAE,kBAAkB,CAAA;CAChC,CAAA;AAQF,eAAO,MAAM,eAAe,sIASzB,2BAA2B,KAAG,kBAAkB,cAAc,CA2FhE,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useStaticBoard.d.ts","sourceRoot":"","sources":["../../src/useStaticBoard.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,kBAAkB,EAAmC,MAAM,0BAA0B,CAAA;AAC9G,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAG/E,OAAO,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAI1E,MAAM,MAAM,0BAA0B,GACnC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAClC,8BAA8B,GAC9B;IACD,YAAY,EAAE,kBAAkB,CAAA;CAChC,CAAA;AAEF,eAAO,MAAM,cAAc,4GAQxB,0BAA0B,KAAG,kBAAkB,sBAAsB,CAuCvE,CAAA"}
|
package/src/Board.tsx
DELETED
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { Component, EntityListSubTree, Field, HasMany, HasOne, useEntityList, useEntityListSubTree } from '@contember/react-binding'
|
|
2
|
-
import { ComponentType } from 'react'
|
|
3
|
-
import { useDynamicBoard } from './useDynamicBoard'
|
|
4
|
-
import { useStaticBoard } from './useStaticBoard'
|
|
5
|
-
import { BoardBindingProps } from './BoardBindingProps'
|
|
6
|
-
import {
|
|
7
|
-
BoardBaseProps,
|
|
8
|
-
BoardQualifiedDynamicProps,
|
|
9
|
-
BoardQualifiedStaticProps,
|
|
10
|
-
BoardRelativeDynamicProps,
|
|
11
|
-
BoardRelativeStaticProps,
|
|
12
|
-
} from './types'
|
|
13
|
-
|
|
14
|
-
export type CreateBoardArgs<T extends {}> = {
|
|
15
|
-
Renderer: ComponentType<BoardBindingProps<any> & T>
|
|
16
|
-
ItemStaticRender?: ComponentType<T>
|
|
17
|
-
ColumnStaticRender?: ComponentType<T>
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export const createBoard = <RendererExtraProps extends {}>({ Renderer, ItemStaticRender, ColumnStaticRender }: CreateBoardArgs<RendererExtraProps>) => {
|
|
21
|
-
|
|
22
|
-
const TopLevelDynamicBoard = Component<BoardQualifiedDynamicProps & RendererExtraProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
23
|
-
const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })
|
|
24
|
-
const columnsAccessor = useEntityListSubTree({ entities: columns })
|
|
25
|
-
const dynamicBoardProps = useDynamicBoard({
|
|
26
|
-
columnEntities: columnsAccessor,
|
|
27
|
-
itemEntities: itemsAccessor,
|
|
28
|
-
columns,
|
|
29
|
-
sortableBy,
|
|
30
|
-
sortScope,
|
|
31
|
-
columnsSortableBy,
|
|
32
|
-
discriminationField,
|
|
33
|
-
nullColumn,
|
|
34
|
-
nullColumnPlacement,
|
|
35
|
-
})
|
|
36
|
-
return (
|
|
37
|
-
<Renderer {...dynamicBoardProps} {...props as RendererExtraProps} />
|
|
38
|
-
)
|
|
39
|
-
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {
|
|
40
|
-
return (<>
|
|
41
|
-
<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>
|
|
42
|
-
<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />
|
|
43
|
-
{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}
|
|
44
|
-
{ItemStaticRender && <ItemStaticRender {...props as RendererExtraProps} />}
|
|
45
|
-
</EntityListSubTree>
|
|
46
|
-
<EntityListSubTree entities={columns}>
|
|
47
|
-
{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}
|
|
48
|
-
{ColumnStaticRender && <ColumnStaticRender {...props as RendererExtraProps} />}
|
|
49
|
-
</EntityListSubTree>
|
|
50
|
-
</>)
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const RelativeDynamicBoard = Component<BoardRelativeDynamicProps & RendererExtraProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
56
|
-
const itemsAccessor = useEntityList({ field, orderBy, limit, offset })
|
|
57
|
-
const columnsAccessor = useEntityListSubTree({ entities: columns })
|
|
58
|
-
const dynamicBoardProps = useDynamicBoard({
|
|
59
|
-
columnEntities: columnsAccessor,
|
|
60
|
-
itemEntities: itemsAccessor,
|
|
61
|
-
columns,
|
|
62
|
-
sortableBy,
|
|
63
|
-
sortScope,
|
|
64
|
-
columnsSortableBy,
|
|
65
|
-
discriminationField,
|
|
66
|
-
nullColumn,
|
|
67
|
-
nullColumnPlacement,
|
|
68
|
-
})
|
|
69
|
-
return (
|
|
70
|
-
<Renderer {...dynamicBoardProps} {...props as RendererExtraProps} />
|
|
71
|
-
)
|
|
72
|
-
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, ...props }) => {
|
|
73
|
-
return (<>
|
|
74
|
-
<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>
|
|
75
|
-
<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />
|
|
76
|
-
{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}
|
|
77
|
-
{ItemStaticRender && <ItemStaticRender {...props as RendererExtraProps} />}
|
|
78
|
-
</HasMany>
|
|
79
|
-
<EntityListSubTree entities={columns}>
|
|
80
|
-
{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}
|
|
81
|
-
{ColumnStaticRender && <ColumnStaticRender {...props as RendererExtraProps} />}
|
|
82
|
-
</EntityListSubTree>
|
|
83
|
-
</>)
|
|
84
|
-
})
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const staticBoardItemInnerRender = ({ discriminationField, sortableBy, ...props }: Pick<BoardQualifiedStaticProps, 'discriminationField' | 'sortableBy'> & RendererExtraProps) => <>
|
|
88
|
-
<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />
|
|
89
|
-
{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}
|
|
90
|
-
{ItemStaticRender && <ItemStaticRender {...props as unknown as RendererExtraProps} />}
|
|
91
|
-
</>
|
|
92
|
-
|
|
93
|
-
const TopLevelStaticBoard = Component<BoardQualifiedStaticProps & RendererExtraProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
94
|
-
const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })
|
|
95
|
-
const staticBoardProps = useStaticBoard({
|
|
96
|
-
itemEntities: itemsAccessor,
|
|
97
|
-
columns,
|
|
98
|
-
sortableBy,
|
|
99
|
-
sortScope,
|
|
100
|
-
discriminationField,
|
|
101
|
-
nullColumn,
|
|
102
|
-
nullColumnPlacement,
|
|
103
|
-
})
|
|
104
|
-
return (
|
|
105
|
-
<Renderer {...staticBoardProps} {...props as RendererExtraProps} />
|
|
106
|
-
)
|
|
107
|
-
}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {
|
|
108
|
-
return (<>
|
|
109
|
-
<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>
|
|
110
|
-
{staticBoardItemInnerRender({ sortableBy, discriminationField, ...(props as RendererExtraProps) })}
|
|
111
|
-
</EntityListSubTree>
|
|
112
|
-
</>)
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const RelativeStaticBoard = Component<BoardRelativeStaticProps & RendererExtraProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, nullColumn, nullColumnPlacement, ...props }) => {
|
|
117
|
-
const itemsAccessor = useEntityList({ field, orderBy, limit, offset })
|
|
118
|
-
const staticBoardProps = useStaticBoard({
|
|
119
|
-
itemEntities: itemsAccessor,
|
|
120
|
-
columns,
|
|
121
|
-
sortableBy,
|
|
122
|
-
sortScope,
|
|
123
|
-
discriminationField,
|
|
124
|
-
nullColumn,
|
|
125
|
-
nullColumnPlacement,
|
|
126
|
-
})
|
|
127
|
-
return (
|
|
128
|
-
<Renderer {...staticBoardProps} {...props as RendererExtraProps} />
|
|
129
|
-
)
|
|
130
|
-
}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, ...props }) => {
|
|
131
|
-
return (<>
|
|
132
|
-
<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>
|
|
133
|
-
{staticBoardItemInnerRender({ sortableBy, discriminationField, ...(props as RendererExtraProps) })}
|
|
134
|
-
</HasMany>
|
|
135
|
-
</>)
|
|
136
|
-
})
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
return Component<BoardBaseProps<RendererExtraProps>>(props => {
|
|
141
|
-
if ('entities' in props) {
|
|
142
|
-
if (Array.isArray(props.columns)) {
|
|
143
|
-
return <TopLevelStaticBoard {...(props as BoardQualifiedStaticProps & RendererExtraProps)} />
|
|
144
|
-
} else {
|
|
145
|
-
return <TopLevelDynamicBoard {...(props as BoardQualifiedDynamicProps & RendererExtraProps)} />
|
|
146
|
-
}
|
|
147
|
-
} else {
|
|
148
|
-
if (Array.isArray(props.columns)) {
|
|
149
|
-
return <RelativeStaticBoard {...(props as BoardRelativeStaticProps & RendererExtraProps)} />
|
|
150
|
-
} else {
|
|
151
|
-
return <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps & RendererExtraProps)} />
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
})
|
|
155
|
-
|
|
156
|
-
}
|