@contember/react-board 2.1.0-alpha.3 → 2.1.0-alpha.35

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.
Files changed (195) hide show
  1. package/package.json +9 -9
  2. package/src/components/Board.tsx +152 -143
  3. package/src/components/BoardEachColumn.tsx +20 -16
  4. package/src/components/BoardEachItem.tsx +15 -14
  5. package/src/contexts.ts +0 -1
  6. package/src/internal/useBoardItemsMethods.ts +13 -8
  7. package/src/internal/useCreateBoardColumns.ts +0 -3
  8. package/src/internal/useDynamicBoard.ts +2 -13
  9. package/src/internal/useGroupItemsByColumn.ts +4 -1
  10. package/src/internal/useStaticBoard.ts +0 -2
  11. package/src/types/BoardData.ts +3 -4
  12. package/src/types/BoardMethods.ts +5 -1
  13. package/dist/development/index.cjs +0 -28
  14. package/dist/development/index.cjs.map +0 -1
  15. package/dist/development/index.js +0 -28
  16. package/dist/development/index.js.map +0 -1
  17. package/dist/development/src/components/Board.cjs +0 -274
  18. package/dist/development/src/components/Board.cjs.map +0 -1
  19. package/dist/development/src/components/Board.js +0 -274
  20. package/dist/development/src/components/Board.js.map +0 -1
  21. package/dist/development/src/components/BoardColumn.cjs +0 -7
  22. package/dist/development/src/components/BoardColumn.cjs.map +0 -1
  23. package/dist/development/src/components/BoardColumn.js +0 -7
  24. package/dist/development/src/components/BoardColumn.js.map +0 -1
  25. package/dist/development/src/components/BoardColumnLabel.cjs +0 -14
  26. package/dist/development/src/components/BoardColumnLabel.cjs.map +0 -1
  27. package/dist/development/src/components/BoardColumnLabel.js +0 -14
  28. package/dist/development/src/components/BoardColumnLabel.js.map +0 -1
  29. package/dist/development/src/components/BoardEachColumn.cjs +0 -37
  30. package/dist/development/src/components/BoardEachColumn.cjs.map +0 -1
  31. package/dist/development/src/components/BoardEachColumn.js +0 -37
  32. package/dist/development/src/components/BoardEachColumn.js.map +0 -1
  33. package/dist/development/src/components/BoardEachItem.cjs +0 -56
  34. package/dist/development/src/components/BoardEachItem.cjs.map +0 -1
  35. package/dist/development/src/components/BoardEachItem.js +0 -56
  36. package/dist/development/src/components/BoardEachItem.js.map +0 -1
  37. package/dist/development/src/components/BoardItem.cjs +0 -8
  38. package/dist/development/src/components/BoardItem.cjs.map +0 -1
  39. package/dist/development/src/components/BoardItem.js +0 -8
  40. package/dist/development/src/components/BoardItem.js.map +0 -1
  41. package/dist/development/src/components/BoardNullColumn.cjs +0 -18
  42. package/dist/development/src/components/BoardNullColumn.cjs.map +0 -1
  43. package/dist/development/src/components/BoardNullColumn.js +0 -18
  44. package/dist/development/src/components/BoardNullColumn.js.map +0 -1
  45. package/dist/development/src/const.cjs +0 -5
  46. package/dist/development/src/const.cjs.map +0 -1
  47. package/dist/development/src/const.js +0 -5
  48. package/dist/development/src/const.js.map +0 -1
  49. package/dist/development/src/contexts.cjs +0 -24
  50. package/dist/development/src/contexts.cjs.map +0 -1
  51. package/dist/development/src/contexts.js +0 -24
  52. package/dist/development/src/contexts.js.map +0 -1
  53. package/dist/development/src/internal/boardAnalyzer.cjs +0 -13
  54. package/dist/development/src/internal/boardAnalyzer.cjs.map +0 -1
  55. package/dist/development/src/internal/boardAnalyzer.js +0 -13
  56. package/dist/development/src/internal/boardAnalyzer.js.map +0 -1
  57. package/dist/development/src/internal/useBoardItemsMethods.cjs +0 -100
  58. package/dist/development/src/internal/useBoardItemsMethods.cjs.map +0 -1
  59. package/dist/development/src/internal/useBoardItemsMethods.js +0 -100
  60. package/dist/development/src/internal/useBoardItemsMethods.js.map +0 -1
  61. package/dist/development/src/internal/useCreateBoardColumns.cjs +0 -30
  62. package/dist/development/src/internal/useCreateBoardColumns.cjs.map +0 -1
  63. package/dist/development/src/internal/useCreateBoardColumns.js +0 -30
  64. package/dist/development/src/internal/useCreateBoardColumns.js.map +0 -1
  65. package/dist/development/src/internal/useDynamicBoard.cjs +0 -95
  66. package/dist/development/src/internal/useDynamicBoard.cjs.map +0 -1
  67. package/dist/development/src/internal/useDynamicBoard.js +0 -95
  68. package/dist/development/src/internal/useDynamicBoard.js.map +0 -1
  69. package/dist/development/src/internal/useGroupItemsByColumn.cjs +0 -19
  70. package/dist/development/src/internal/useGroupItemsByColumn.cjs.map +0 -1
  71. package/dist/development/src/internal/useGroupItemsByColumn.js +0 -19
  72. package/dist/development/src/internal/useGroupItemsByColumn.js.map +0 -1
  73. package/dist/development/src/internal/useStaticBoard.cjs +0 -43
  74. package/dist/development/src/internal/useStaticBoard.cjs.map +0 -1
  75. package/dist/development/src/internal/useStaticBoard.js +0 -43
  76. package/dist/development/src/internal/useStaticBoard.js.map +0 -1
  77. package/dist/development/src/utils/arrayMove.cjs +0 -9
  78. package/dist/development/src/utils/arrayMove.cjs.map +0 -1
  79. package/dist/development/src/utils/arrayMove.js +0 -9
  80. package/dist/development/src/utils/arrayMove.js.map +0 -1
  81. package/dist/production/index.cjs +0 -28
  82. package/dist/production/index.cjs.map +0 -1
  83. package/dist/production/index.js +0 -28
  84. package/dist/production/index.js.map +0 -1
  85. package/dist/production/src/components/Board.cjs +0 -122
  86. package/dist/production/src/components/Board.cjs.map +0 -1
  87. package/dist/production/src/components/Board.js +0 -122
  88. package/dist/production/src/components/Board.js.map +0 -1
  89. package/dist/production/src/components/BoardColumn.cjs +0 -7
  90. package/dist/production/src/components/BoardColumn.cjs.map +0 -1
  91. package/dist/production/src/components/BoardColumn.js +0 -7
  92. package/dist/production/src/components/BoardColumn.js.map +0 -1
  93. package/dist/production/src/components/BoardColumnLabel.cjs +0 -10
  94. package/dist/production/src/components/BoardColumnLabel.cjs.map +0 -1
  95. package/dist/production/src/components/BoardColumnLabel.js +0 -10
  96. package/dist/production/src/components/BoardColumnLabel.js.map +0 -1
  97. package/dist/production/src/components/BoardEachColumn.cjs +0 -21
  98. package/dist/production/src/components/BoardEachColumn.cjs.map +0 -1
  99. package/dist/production/src/components/BoardEachColumn.js +0 -21
  100. package/dist/production/src/components/BoardEachColumn.js.map +0 -1
  101. package/dist/production/src/components/BoardEachItem.cjs +0 -33
  102. package/dist/production/src/components/BoardEachItem.cjs.map +0 -1
  103. package/dist/production/src/components/BoardEachItem.js +0 -33
  104. package/dist/production/src/components/BoardEachItem.js.map +0 -1
  105. package/dist/production/src/components/BoardItem.cjs +0 -8
  106. package/dist/production/src/components/BoardItem.cjs.map +0 -1
  107. package/dist/production/src/components/BoardItem.js +0 -8
  108. package/dist/production/src/components/BoardItem.js.map +0 -1
  109. package/dist/production/src/components/BoardNullColumn.cjs +0 -14
  110. package/dist/production/src/components/BoardNullColumn.cjs.map +0 -1
  111. package/dist/production/src/components/BoardNullColumn.js +0 -14
  112. package/dist/production/src/components/BoardNullColumn.js.map +0 -1
  113. package/dist/production/src/const.cjs +0 -5
  114. package/dist/production/src/const.cjs.map +0 -1
  115. package/dist/production/src/const.js +0 -5
  116. package/dist/production/src/const.js.map +0 -1
  117. package/dist/production/src/contexts.cjs +0 -24
  118. package/dist/production/src/contexts.cjs.map +0 -1
  119. package/dist/production/src/contexts.js +0 -24
  120. package/dist/production/src/contexts.js.map +0 -1
  121. package/dist/production/src/internal/boardAnalyzer.cjs +0 -13
  122. package/dist/production/src/internal/boardAnalyzer.cjs.map +0 -1
  123. package/dist/production/src/internal/boardAnalyzer.js +0 -13
  124. package/dist/production/src/internal/boardAnalyzer.js.map +0 -1
  125. package/dist/production/src/internal/useBoardItemsMethods.cjs +0 -100
  126. package/dist/production/src/internal/useBoardItemsMethods.cjs.map +0 -1
  127. package/dist/production/src/internal/useBoardItemsMethods.js +0 -100
  128. package/dist/production/src/internal/useBoardItemsMethods.js.map +0 -1
  129. package/dist/production/src/internal/useCreateBoardColumns.cjs +0 -30
  130. package/dist/production/src/internal/useCreateBoardColumns.cjs.map +0 -1
  131. package/dist/production/src/internal/useCreateBoardColumns.js +0 -30
  132. package/dist/production/src/internal/useCreateBoardColumns.js.map +0 -1
  133. package/dist/production/src/internal/useDynamicBoard.cjs +0 -95
  134. package/dist/production/src/internal/useDynamicBoard.cjs.map +0 -1
  135. package/dist/production/src/internal/useDynamicBoard.js +0 -95
  136. package/dist/production/src/internal/useDynamicBoard.js.map +0 -1
  137. package/dist/production/src/internal/useGroupItemsByColumn.cjs +0 -19
  138. package/dist/production/src/internal/useGroupItemsByColumn.cjs.map +0 -1
  139. package/dist/production/src/internal/useGroupItemsByColumn.js +0 -19
  140. package/dist/production/src/internal/useGroupItemsByColumn.js.map +0 -1
  141. package/dist/production/src/internal/useStaticBoard.cjs +0 -43
  142. package/dist/production/src/internal/useStaticBoard.cjs.map +0 -1
  143. package/dist/production/src/internal/useStaticBoard.js +0 -43
  144. package/dist/production/src/internal/useStaticBoard.js.map +0 -1
  145. package/dist/production/src/utils/arrayMove.cjs +0 -9
  146. package/dist/production/src/utils/arrayMove.cjs.map +0 -1
  147. package/dist/production/src/utils/arrayMove.js +0 -9
  148. package/dist/production/src/utils/arrayMove.js.map +0 -1
  149. package/dist/types/components/Board.d.ts +0 -28
  150. package/dist/types/components/Board.d.ts.map +0 -1
  151. package/dist/types/components/BoardColumn.d.ts +0 -5
  152. package/dist/types/components/BoardColumn.d.ts.map +0 -1
  153. package/dist/types/components/BoardColumnLabel.d.ts +0 -2
  154. package/dist/types/components/BoardColumnLabel.d.ts.map +0 -1
  155. package/dist/types/components/BoardEachColumn.d.ts +0 -10
  156. package/dist/types/components/BoardEachColumn.d.ts.map +0 -1
  157. package/dist/types/components/BoardEachItem.d.ts +0 -10
  158. package/dist/types/components/BoardEachItem.d.ts.map +0 -1
  159. package/dist/types/components/BoardItem.d.ts +0 -8
  160. package/dist/types/components/BoardItem.d.ts.map +0 -1
  161. package/dist/types/components/BoardNullColumn.d.ts +0 -7
  162. package/dist/types/components/BoardNullColumn.d.ts.map +0 -1
  163. package/dist/types/components/index.d.ts +0 -8
  164. package/dist/types/components/index.d.ts.map +0 -1
  165. package/dist/types/const.d.ts +0 -2
  166. package/dist/types/const.d.ts.map +0 -1
  167. package/dist/types/contexts.d.ts +0 -18
  168. package/dist/types/contexts.d.ts.map +0 -1
  169. package/dist/types/index.d.ts +0 -5
  170. package/dist/types/index.d.ts.map +0 -1
  171. package/dist/types/internal/boardAnalyzer.d.ts +0 -8
  172. package/dist/types/internal/boardAnalyzer.d.ts.map +0 -1
  173. package/dist/types/internal/useBoardItemsMethods.d.ts +0 -15
  174. package/dist/types/internal/useBoardItemsMethods.d.ts.map +0 -1
  175. package/dist/types/internal/useCreateBoardColumns.d.ts +0 -10
  176. package/dist/types/internal/useCreateBoardColumns.d.ts.map +0 -1
  177. package/dist/types/internal/useDynamicBoard.d.ts +0 -10
  178. package/dist/types/internal/useDynamicBoard.d.ts.map +0 -1
  179. package/dist/types/internal/useGroupItemsByColumn.d.ts +0 -5
  180. package/dist/types/internal/useGroupItemsByColumn.d.ts.map +0 -1
  181. package/dist/types/internal/useStaticBoard.d.ts +0 -9
  182. package/dist/types/internal/useStaticBoard.d.ts.map +0 -1
  183. package/dist/types/tsconfig.tsbuildinfo +0 -1
  184. package/dist/types/types/BoardColumnNode.d.ts +0 -15
  185. package/dist/types/types/BoardColumnNode.d.ts.map +0 -1
  186. package/dist/types/types/BoardData.d.ts +0 -5
  187. package/dist/types/types/BoardData.d.ts.map +0 -1
  188. package/dist/types/types/BoardItemNode.d.ts +0 -7
  189. package/dist/types/types/BoardItemNode.d.ts.map +0 -1
  190. package/dist/types/types/BoardMethods.d.ts +0 -17
  191. package/dist/types/types/BoardMethods.d.ts.map +0 -1
  192. package/dist/types/types/index.d.ts +0 -4
  193. package/dist/types/types/index.d.ts.map +0 -1
  194. package/dist/types/utils/arrayMove.d.ts +0 -2
  195. package/dist/types/utils/arrayMove.d.ts.map +0 -1
@@ -1,95 +0,0 @@
1
- import { useMemo, useCallback } from "react";
2
- import { useDesugaredRelativeSingleField, useDesugaredRelativeSingleEntity, BindingError, addEntityAtIndex, repairEntitiesOrder, sortEntities } from "@contember/react-binding";
3
- import { useGroupItemsByColumn } from "./useGroupItemsByColumn.js";
4
- import { useCreateBoardColumns } from "./useCreateBoardColumns.js";
5
- import { arrayMove } from "../utils/arrayMove.js";
6
- import { useBoardItemsMethods } from "./useBoardItemsMethods.js";
7
- const useGetSortedColumns = (desugaredColumnSortableByField) => {
8
- return useCallback((columnEntities) => {
9
- return sortEntities(Array.from(columnEntities), desugaredColumnSortableByField);
10
- }, [desugaredColumnSortableByField]);
11
- };
12
- const useDynamicBoard = ({
13
- sortableBy,
14
- sortScope,
15
- columnsSortableBy,
16
- discriminationField,
17
- columnEntities,
18
- itemEntities
19
- }) => {
20
- const desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy);
21
- const desugaredColumnSortableByField = useDesugaredRelativeSingleField(columnsSortableBy);
22
- const desugaredDiscriminationField = useDesugaredRelativeSingleEntity(discriminationField);
23
- const columnEntitiesGetter = columnEntities.getAccessor;
24
- const exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map((it) => it.id)), [columnEntities]);
25
- const getDiscriminatorValue = useCallback((entity) => {
26
- const entityId = entity.getEntity(desugaredDiscriminationField).id;
27
- return exitingColumnIds.has(entityId) ? entityId : null;
28
- }, [desugaredDiscriminationField, exitingColumnIds]);
29
- const groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
30
- const getSortedColumns = useGetSortedColumns(desugaredColumnSortableByField);
31
- const columnsResult = useCreateBoardColumns({
32
- columns: getSortedColumns(columnEntities),
33
- columnIdGetter: (it) => it.id,
34
- groupItemsByColumn,
35
- items: itemEntities
36
- });
37
- const addColumn = useCallback((index, preprocess) => {
38
- const columnEntities2 = columnEntitiesGetter();
39
- if (!desugaredColumnSortableByField) {
40
- if (index === void 0) {
41
- return columnEntities2.createNewEntity(preprocess);
42
- }
43
- throw new BindingError("Cannot add column at specific index without sortableBy field");
44
- }
45
- addEntityAtIndex(columnEntities2, desugaredColumnSortableByField, columnEntities2.length, preprocess);
46
- }, [columnEntitiesGetter, desugaredColumnSortableByField]);
47
- const connectItemToColumn = useCallback((item, column) => {
48
- const hasOne = desugaredDiscriminationField.hasOneRelationPath;
49
- const parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) });
50
- if (column) {
51
- parentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column);
52
- } else {
53
- parentEntity.disconnectEntityAtField(hasOne[hasOne.length - 1].field);
54
- }
55
- }, [desugaredDiscriminationField.hasOneRelationPath]);
56
- const moveColumn = useMemo(() => {
57
- if (!desugaredColumnSortableByField) {
58
- return void 0;
59
- }
60
- return (entity, index) => {
61
- const sortedColumns = getSortedColumns(columnEntitiesGetter());
62
- const currentIndex = sortedColumns.findIndex((it) => it.id === entity.id);
63
- const resortedItems = arrayMove(sortedColumns, currentIndex, index);
64
- repairEntitiesOrder(desugaredColumnSortableByField, resortedItems);
65
- };
66
- }, [columnEntitiesGetter, desugaredColumnSortableByField, getSortedColumns]);
67
- const removeColumn = useCallback((entity) => {
68
- entity.deleteEntity();
69
- if (desugaredSortableByField) {
70
- repairEntitiesOrder(desugaredSortableByField, Array.from(columnEntitiesGetter()));
71
- }
72
- }, [columnEntitiesGetter, desugaredSortableByField]);
73
- const { addItem, moveItem, removeItem } = useBoardItemsMethods({
74
- columnIdGetter: (it) => it.id,
75
- connectItemToColumn,
76
- desugaredSortableByField,
77
- sortScope,
78
- getDiscriminatorValue,
79
- groupItemsByColumn,
80
- itemEntities
81
- });
82
- const methods = useMemo(() => ({
83
- addItem,
84
- moveItem,
85
- removeItem,
86
- moveColumn,
87
- addColumn,
88
- removeColumn
89
- }), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn]);
90
- return [{ columns: columnsResult }, methods];
91
- };
92
- export {
93
- useDynamicBoard
94
- };
95
- //# sourceMappingURL=useDynamicBoard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDynamicBoard.js","sources":["../../../../../packages/react-board/src/internal/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 {\n\tBoardAddColumnMethod,\n\tBoardMethods,\n\tBoardMoveColumnMethod,\n\tBoardRemoveColumnMethod,\n} from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { arrayMove } from '../utils/arrayMove'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardDynamicColumnsBindingProps } from '../components'\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}: UseDynamicBoardBindingProps): [BoardData<EntityAccessor>, BoardMethods<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.getEntity(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 = useCreateBoardColumns<EntityAccessor>({\n\t\tcolumns: getSortedColumns(columnEntities),\n\t\tcolumnIdGetter: it => it.id,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\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.getEntity({ 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\tconst methods = useMemo(() => ({\n\t\taddItem,\n\t\tmoveItem,\n\t\tremoveItem,\n\t\tmoveColumn,\n\t\taddColumn,\n\t\tremoveColumn,\n\t}), [addItem, moveItem, removeItem, moveColumn, addColumn, removeColumn])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["columnEntities"],"mappings":";;;;;;AAkCA,MAAM,sBAAsB,CAAC,mCAAoE;AACzF,SAAA,YAAY,CAAC,mBAAuC;AAC1D,WAAO,aAAa,MAAM,KAAK,cAAc,GAAG,8BAA8B;AAAA,EAAA,GAC5E,CAAC,8BAA8B,CAAC;AACpC;AAEO,MAAM,kBAAkB,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAA8F;AAEvF,QAAA,2BAA2B,gCAAgC,UAAU;AACrE,QAAA,iCAAiC,gCAAgC,iBAAiB;AAClF,QAAA,+BAA+B,iCAAiC,mBAAmB;AAEzF,QAAM,uBAAuB,eAAe;AAG5C,QAAM,mBAAmB,QAAQ,MAAM,IAAI,IAAI,MAAM,KAAK,cAAc,EAAE,IAAI,QAAM,GAAG,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;AAEvG,QAAA,wBAAwB,YAAY,CAAC,WAA2B;AACrE,UAAM,WAAW,OAAO,UAAU,4BAA4B,EAAE;AAChE,WAAO,iBAAiB,IAAI,QAAQ,IAAI,WAAW;AAAA,EAAA,GACjD,CAAC,8BAA8B,gBAAgB,CAAC;AAE7C,QAAA,qBAAqB,sBAAsB,uBAAuB,wBAAwB;AAE1F,QAAA,mBAAmB,oBAAoB,8BAA8B;AAE3E,QAAM,gBAAgB,sBAAsC;AAAA,IAC3D,SAAS,iBAAiB,cAAc;AAAA,IACxC,gBAAgB,QAAM,GAAG;AAAA,IACzB;AAAA,IACA,OAAO;AAAA,EAAA,CACP;AAED,QAAM,YAAY,YAAkC,CAAC,OAAO,eAAe;AAC1E,UAAMA,kBAAiB,qBAAqB;AAC5C,QAAI,CAAC,gCAAgC;AACpC,UAAI,UAAU,QAAW;AACjBA,eAAAA,gBAAe,gBAAgB,UAAU;AAAA,MAAA;AAE3C,YAAA,IAAI,aAAa,8DAA8D;AAAA,IAAA;AAEtF,qBAAiBA,iBAAgB,gCAAgCA,gBAAe,QAAQ,UAAU;AAAA,EAAA,GAChG,CAAC,sBAAsB,8BAA8B,CAAC;AAEzD,QAAM,sBAAsB,YAAY,CAAC,MAAsB,WAAkC;AAChG,UAAM,SAAS,6BAA6B;AACtC,UAAA,eAAe,KAAK,UAAU,EAAE,oBAAoB,OAAO,MAAM,GAAG,EAAE,GAAG;AAC/E,QAAI,QAAQ;AACX,mBAAa,qBAAqB,OAAO,OAAO,SAAS,CAAC,EAAE,OAAO,MAAM;AAAA,IAAA,OACnE;AACN,mBAAa,wBAAwB,OAAO,OAAO,SAAS,CAAC,EAAE,KAAK;AAAA,IAAA;AAAA,EACrE,GAEE,CAAC,6BAA6B,kBAAkB,CAAC;AAG9C,QAAA,aAAa,QAA2C,MAAM;AACnE,QAAI,CAAC,gCAAgC;AAC7B,aAAA;AAAA,IAAA;AAED,WAAA,CAAC,QAAQ,UAAU;AACnB,YAAA,gBAAgB,iBAAiB,sBAAsB;AAC7D,YAAM,eAAe,cAAc,UAAU,QAAM,GAAG,OAAO,OAAO,EAAE;AACtE,YAAM,gBAAgB,UAAU,eAAe,cAAc,KAAK;AAClE,0BAAoB,gCAAgC,aAAa;AAAA,IAClE;AAAA,EACE,GAAA,CAAC,sBAAsB,gCAAgC,gBAAgB,CAAC;AAGrE,QAAA,eAAe,YAAqC,CAAU,WAAA;AACnE,WAAO,aAAa;AACpB,QAAI,0BAA0B;AAC7B,0BAAoB,0BAA0B,MAAM,KAAK,qBAAsB,CAAA,CAAC;AAAA,IAAA;AAAA,EACjF,GACE,CAAC,sBAAsB,wBAAwB,CAAC;AAEnD,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;AAEK,QAAA,UAAU,QAAQ,OAAO;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACG,CAAC,SAAS,UAAU,YAAY,YAAY,WAAW,YAAY,CAAC;AAExE,SAAO,CAAC,EAAE,SAAS,cAAA,GAAiB,OAAO;AAC5C;"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const reactBinding = require("@contember/react-binding");
4
- const React = require("react");
5
- const useGroupItemsByColumn = (getDiscriminatorValue, sortBy) => {
6
- return React.useCallback((itemEntities) => {
7
- const itemsByColumn = /* @__PURE__ */ new Map();
8
- for (const item of reactBinding.sortEntities(Array.from(itemEntities), sortBy)) {
9
- const discriminatedBy = getDiscriminatorValue(item);
10
- if (!itemsByColumn.has(discriminatedBy)) {
11
- itemsByColumn.set(discriminatedBy, []);
12
- }
13
- itemsByColumn.get(discriminatedBy)?.push(item);
14
- }
15
- return itemsByColumn;
16
- }, [getDiscriminatorValue, sortBy]);
17
- };
18
- exports.useGroupItemsByColumn = useGroupItemsByColumn;
19
- //# sourceMappingURL=useGroupItemsByColumn.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGroupItemsByColumn.cjs","sources":["../../../../../packages/react-board/src/internal/useGroupItemsByColumn.ts"],"sourcesContent":["import { EntityAccessor, EntityId, EntityListAccessor, RelativeSingleField, sortEntities } from '@contember/react-binding'\nimport { useCallback } from 'react'\n\nexport type BoardColumnKey = string | EntityId | null\nexport type UseGroupItemsByColumn = (itemEntities: EntityListAccessor) => Map<BoardColumnKey, EntityAccessor[]>\nexport const useGroupItemsByColumn = (getDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey, sortBy: RelativeSingleField | undefined): UseGroupItemsByColumn => {\n\treturn useCallback((itemEntities: EntityListAccessor) => {\n\t\tconst itemsByColumn = new Map<BoardColumnKey, EntityAccessor[]>()\n\n\t\tfor (const item of sortEntities(Array.from(itemEntities), sortBy)) {\n\t\t\tconst discriminatedBy = getDiscriminatorValue(item)\n\t\t\tif (!itemsByColumn.has(discriminatedBy)) {\n\t\t\t\titemsByColumn.set(discriminatedBy, [])\n\t\t\t}\n\t\t\titemsByColumn.get(discriminatedBy)?.push(item)\n\t\t}\n\t\treturn itemsByColumn\n\t}, [getDiscriminatorValue, sortBy])\n}\n"],"names":["useCallback","sortEntities"],"mappings":";;;;AAKa,MAAA,wBAAwB,CAAC,uBAAmE,WAAmE;AACpK,SAAAA,MAAAA,YAAY,CAAC,iBAAqC;AAClD,UAAA,oCAAoB,IAAsC;AAEhE,eAAW,QAAQC,0BAAa,MAAM,KAAK,YAAY,GAAG,MAAM,GAAG;AAC5D,YAAA,kBAAkB,sBAAsB,IAAI;AAClD,UAAI,CAAC,cAAc,IAAI,eAAe,GAAG;AAC1B,sBAAA,IAAI,iBAAiB,EAAE;AAAA,MAAA;AAEtC,oBAAc,IAAI,eAAe,GAAG,KAAK,IAAI;AAAA,IAAA;AAEvC,WAAA;AAAA,EAAA,GACL,CAAC,uBAAuB,MAAM,CAAC;AACnC;;"}
@@ -1,19 +0,0 @@
1
- import { sortEntities } from "@contember/react-binding";
2
- import { useCallback } from "react";
3
- const useGroupItemsByColumn = (getDiscriminatorValue, sortBy) => {
4
- return useCallback((itemEntities) => {
5
- const itemsByColumn = /* @__PURE__ */ new Map();
6
- for (const item of sortEntities(Array.from(itemEntities), sortBy)) {
7
- const discriminatedBy = getDiscriminatorValue(item);
8
- if (!itemsByColumn.has(discriminatedBy)) {
9
- itemsByColumn.set(discriminatedBy, []);
10
- }
11
- itemsByColumn.get(discriminatedBy)?.push(item);
12
- }
13
- return itemsByColumn;
14
- }, [getDiscriminatorValue, sortBy]);
15
- };
16
- export {
17
- useGroupItemsByColumn
18
- };
19
- //# sourceMappingURL=useGroupItemsByColumn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGroupItemsByColumn.js","sources":["../../../../../packages/react-board/src/internal/useGroupItemsByColumn.ts"],"sourcesContent":["import { EntityAccessor, EntityId, EntityListAccessor, RelativeSingleField, sortEntities } from '@contember/react-binding'\nimport { useCallback } from 'react'\n\nexport type BoardColumnKey = string | EntityId | null\nexport type UseGroupItemsByColumn = (itemEntities: EntityListAccessor) => Map<BoardColumnKey, EntityAccessor[]>\nexport const useGroupItemsByColumn = (getDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey, sortBy: RelativeSingleField | undefined): UseGroupItemsByColumn => {\n\treturn useCallback((itemEntities: EntityListAccessor) => {\n\t\tconst itemsByColumn = new Map<BoardColumnKey, EntityAccessor[]>()\n\n\t\tfor (const item of sortEntities(Array.from(itemEntities), sortBy)) {\n\t\t\tconst discriminatedBy = getDiscriminatorValue(item)\n\t\t\tif (!itemsByColumn.has(discriminatedBy)) {\n\t\t\t\titemsByColumn.set(discriminatedBy, [])\n\t\t\t}\n\t\t\titemsByColumn.get(discriminatedBy)?.push(item)\n\t\t}\n\t\treturn itemsByColumn\n\t}, [getDiscriminatorValue, sortBy])\n}\n"],"names":[],"mappings":";;AAKa,MAAA,wBAAwB,CAAC,uBAAmE,WAAmE;AACpK,SAAA,YAAY,CAAC,iBAAqC;AAClD,UAAA,oCAAoB,IAAsC;AAEhE,eAAW,QAAQ,aAAa,MAAM,KAAK,YAAY,GAAG,MAAM,GAAG;AAC5D,YAAA,kBAAkB,sBAAsB,IAAI;AAClD,UAAI,CAAC,cAAc,IAAI,eAAe,GAAG;AAC1B,sBAAA,IAAI,iBAAiB,EAAE;AAAA,MAAA;AAEtC,oBAAc,IAAI,eAAe,GAAG,KAAK,IAAI;AAAA,IAAA;AAEvC,WAAA;AAAA,EAAA,GACL,CAAC,uBAAuB,MAAM,CAAC;AACnC;"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const React = require("react");
4
- const reactBinding = require("@contember/react-binding");
5
- const useGroupItemsByColumn = require("./useGroupItemsByColumn.cjs");
6
- const useCreateBoardColumns = require("./useCreateBoardColumns.cjs");
7
- const useBoardItemsMethods = require("./useBoardItemsMethods.cjs");
8
- const useStaticBoard = ({
9
- sortableBy,
10
- sortScope,
11
- columns,
12
- discriminationField,
13
- itemEntities
14
- }) => {
15
- const desugaredSortableByField = reactBinding.useDesugaredRelativeSingleField(sortableBy);
16
- const desugaredDiscriminationField = reactBinding.useDesugaredRelativeSingleField(discriminationField);
17
- const getDiscriminatorValue = React.useCallback((entity) => {
18
- return entity.getField(desugaredDiscriminationField).value;
19
- }, [desugaredDiscriminationField]);
20
- const groupItemsByColumn = useGroupItemsByColumn.useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
21
- const columnsResult = useCreateBoardColumns.useCreateBoardColumns({
22
- columns,
23
- columnIdGetter: (it) => it.value,
24
- groupItemsByColumn,
25
- items: itemEntities
26
- });
27
- const connectItemToColumn = React.useCallback((item, column) => {
28
- item.getField(desugaredDiscriminationField).updateValue(column?.value ?? null);
29
- }, [desugaredDiscriminationField]);
30
- const { addItem, moveItem, removeItem } = useBoardItemsMethods.useBoardItemsMethods({
31
- columnIdGetter: (it) => it.value,
32
- connectItemToColumn,
33
- groupItemsByColumn,
34
- itemEntities,
35
- desugaredSortableByField,
36
- sortScope,
37
- getDiscriminatorValue
38
- });
39
- const methods = React.useMemo(() => ({ addItem, moveItem, removeItem }), [addItem, moveItem, removeItem]);
40
- return [{ columns: columnsResult }, methods];
41
- };
42
- exports.useStaticBoard = useStaticBoard;
43
- //# sourceMappingURL=useStaticBoard.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStaticBoard.cjs","sources":["../../../../../packages/react-board/src/internal/useStaticBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { EntityAccessor, EntityListAccessor, useDesugaredRelativeSingleField } from '@contember/react-binding'\nimport { BoardMethods, BoardStaticColumnValue } from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardStaticColumnsBindingProps } from '../components'\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}: UseStaticBoardBindingProps): [BoardData<BoardStaticColumnValue>, BoardMethods<BoardStaticColumnValue>] => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleField(discriminationField)\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\treturn entity.getField<string>(desugaredDiscriminationField).value\n\t}, [desugaredDiscriminationField])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns({\n\t\tcolumns,\n\t\tcolumnIdGetter: it => it.value,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: BoardStaticColumnValue | null) => {\n\t\titem.getField(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\n\tconst methods = useMemo(() => ({ addItem, moveItem, removeItem }), [addItem, moveItem, removeItem])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":["useDesugaredRelativeSingleField","useCallback","useGroupItemsByColumn","useCreateBoardColumns","useBoardItemsMethods","useMemo"],"mappings":";;;;;;;AAiBO,MAAM,iBAAiB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAA6G;AAEtG,QAAA,2BAA2BA,6CAAgC,UAAU;AACrE,QAAA,+BAA+BA,6CAAgC,mBAAmB;AAElF,QAAA,wBAAwBC,kBAAY,CAAC,WAA2B;AAC9D,WAAA,OAAO,SAAiB,4BAA4B,EAAE;AAAA,EAAA,GAC3D,CAAC,4BAA4B,CAAC;AAE3B,QAAA,qBAAqBC,sBAAAA,sBAAsB,uBAAuB,wBAAwB;AAEhG,QAAM,gBAAgBC,sBAAAA,sBAAsB;AAAA,IAC3C;AAAA,IACA,gBAAgB,QAAM,GAAG;AAAA,IACzB;AAAA,IACA,OAAO;AAAA,EAAA,CACP;AAED,QAAM,sBAAsBF,MAAAA,YAAY,CAAC,MAAsB,WAA0C;AACxG,SAAK,SAAS,4BAA4B,EAAE,YAAY,QAAQ,SAAS,IAAI;AAAA,EAAA,GAC3E,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;AAED,QAAM,UAAUC,MAAAA,QAAQ,OAAO,EAAE,SAAS,UAAU,WAAW,IAAI,CAAC,SAAS,UAAU,UAAU,CAAC;AAElG,SAAO,CAAC,EAAE,SAAS,cAAA,GAAiB,OAAO;AAC5C;;"}
@@ -1,43 +0,0 @@
1
- import { useCallback, useMemo } from "react";
2
- import { useDesugaredRelativeSingleField } from "@contember/react-binding";
3
- import { useGroupItemsByColumn } from "./useGroupItemsByColumn.js";
4
- import { useCreateBoardColumns } from "./useCreateBoardColumns.js";
5
- import { useBoardItemsMethods } from "./useBoardItemsMethods.js";
6
- const useStaticBoard = ({
7
- sortableBy,
8
- sortScope,
9
- columns,
10
- discriminationField,
11
- itemEntities
12
- }) => {
13
- const desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy);
14
- const desugaredDiscriminationField = useDesugaredRelativeSingleField(discriminationField);
15
- const getDiscriminatorValue = useCallback((entity) => {
16
- return entity.getField(desugaredDiscriminationField).value;
17
- }, [desugaredDiscriminationField]);
18
- const groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
19
- const columnsResult = useCreateBoardColumns({
20
- columns,
21
- columnIdGetter: (it) => it.value,
22
- groupItemsByColumn,
23
- items: itemEntities
24
- });
25
- const connectItemToColumn = useCallback((item, column) => {
26
- item.getField(desugaredDiscriminationField).updateValue(column?.value ?? null);
27
- }, [desugaredDiscriminationField]);
28
- const { addItem, moveItem, removeItem } = useBoardItemsMethods({
29
- columnIdGetter: (it) => it.value,
30
- connectItemToColumn,
31
- groupItemsByColumn,
32
- itemEntities,
33
- desugaredSortableByField,
34
- sortScope,
35
- getDiscriminatorValue
36
- });
37
- const methods = useMemo(() => ({ addItem, moveItem, removeItem }), [addItem, moveItem, removeItem]);
38
- return [{ columns: columnsResult }, methods];
39
- };
40
- export {
41
- useStaticBoard
42
- };
43
- //# sourceMappingURL=useStaticBoard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStaticBoard.js","sources":["../../../../../packages/react-board/src/internal/useStaticBoard.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { EntityAccessor, EntityListAccessor, useDesugaredRelativeSingleField } from '@contember/react-binding'\nimport { BoardMethods, BoardStaticColumnValue } from '../types'\nimport { useGroupItemsByColumn } from './useGroupItemsByColumn'\nimport { useCreateBoardColumns } from './useCreateBoardColumns'\nimport { useBoardItemsMethods } from './useBoardItemsMethods'\nimport { BoardData } from '../types/BoardData'\nimport { BoardCommonProps, BoardStaticColumnsBindingProps } from '../components'\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}: UseStaticBoardBindingProps): [BoardData<BoardStaticColumnValue>, BoardMethods<BoardStaticColumnValue>] => {\n\n\tconst desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy)\n\tconst desugaredDiscriminationField = useDesugaredRelativeSingleField(discriminationField)\n\n\tconst getDiscriminatorValue = useCallback((entity: EntityAccessor) => {\n\t\treturn entity.getField<string>(desugaredDiscriminationField).value\n\t}, [desugaredDiscriminationField])\n\n\tconst groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField)\n\n\tconst columnsResult = useCreateBoardColumns({\n\t\tcolumns,\n\t\tcolumnIdGetter: it => it.value,\n\t\tgroupItemsByColumn,\n\t\titems: itemEntities,\n\t})\n\n\tconst connectItemToColumn = useCallback((item: EntityAccessor, column: BoardStaticColumnValue | null) => {\n\t\titem.getField(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\n\tconst methods = useMemo(() => ({ addItem, moveItem, removeItem }), [addItem, moveItem, removeItem])\n\n\treturn [{ columns: columnsResult }, methods]\n}\n"],"names":[],"mappings":";;;;;AAiBO,MAAM,iBAAiB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAA6G;AAEtG,QAAA,2BAA2B,gCAAgC,UAAU;AACrE,QAAA,+BAA+B,gCAAgC,mBAAmB;AAElF,QAAA,wBAAwB,YAAY,CAAC,WAA2B;AAC9D,WAAA,OAAO,SAAiB,4BAA4B,EAAE;AAAA,EAAA,GAC3D,CAAC,4BAA4B,CAAC;AAE3B,QAAA,qBAAqB,sBAAsB,uBAAuB,wBAAwB;AAEhG,QAAM,gBAAgB,sBAAsB;AAAA,IAC3C;AAAA,IACA,gBAAgB,QAAM,GAAG;AAAA,IACzB;AAAA,IACA,OAAO;AAAA,EAAA,CACP;AAED,QAAM,sBAAsB,YAAY,CAAC,MAAsB,WAA0C;AACxG,SAAK,SAAS,4BAA4B,EAAE,YAAY,QAAQ,SAAS,IAAI;AAAA,EAAA,GAC3E,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;AAED,QAAM,UAAU,QAAQ,OAAO,EAAE,SAAS,UAAU,WAAW,IAAI,CAAC,SAAS,UAAU,UAAU,CAAC;AAElG,SAAO,CAAC,EAAE,SAAS,cAAA,GAAiB,OAAO;AAC5C;"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function arrayMove(array, from, to) {
4
- const newArray = array.slice();
5
- newArray.splice(to, 0, newArray.splice(from, 1)[0]);
6
- return newArray;
7
- }
8
- exports.arrayMove = arrayMove;
9
- //# sourceMappingURL=arrayMove.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayMove.cjs","sources":["../../../../../packages/react-board/src/utils/arrayMove.ts"],"sourcesContent":["export function arrayMove<T>(array: T[], from: number, to: number): T[] {\n\tconst newArray = array.slice()\n\tnewArray.splice(to, 0, newArray.splice(from, 1)[0])\n\treturn newArray\n}\n"],"names":[],"mappings":";;AAAgB,SAAA,UAAa,OAAY,MAAc,IAAiB;AACjE,QAAA,WAAW,MAAM,MAAM;AACpB,WAAA,OAAO,IAAI,GAAG,SAAS,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3C,SAAA;AACR;;"}
@@ -1,9 +0,0 @@
1
- function arrayMove(array, from, to) {
2
- const newArray = array.slice();
3
- newArray.splice(to, 0, newArray.splice(from, 1)[0]);
4
- return newArray;
5
- }
6
- export {
7
- arrayMove
8
- };
9
- //# sourceMappingURL=arrayMove.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayMove.js","sources":["../../../../../packages/react-board/src/utils/arrayMove.ts"],"sourcesContent":["export function arrayMove<T>(array: T[], from: number, to: number): T[] {\n\tconst newArray = array.slice()\n\tnewArray.splice(to, 0, newArray.splice(from, 1)[0])\n\treturn newArray\n}\n"],"names":[],"mappings":"AAAgB,SAAA,UAAa,OAAY,MAAc,IAAiB;AACjE,QAAA,WAAW,MAAM,MAAM;AACpB,WAAA,OAAO,IAAI,GAAG,SAAS,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3C,SAAA;AACR;"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const _const = require("./src/const.cjs");
4
- const contexts = require("./src/contexts.cjs");
5
- const Board = require("./src/components/Board.cjs");
6
- const BoardColumn = require("./src/components/BoardColumn.cjs");
7
- const BoardItem = require("./src/components/BoardItem.cjs");
8
- const BoardEachColumn = require("./src/components/BoardEachColumn.cjs");
9
- const BoardEachItem = require("./src/components/BoardEachItem.cjs");
10
- const BoardNullColumn = require("./src/components/BoardNullColumn.cjs");
11
- const BoardColumnLabel = require("./src/components/BoardColumnLabel.cjs");
12
- exports.BoardNullColumnPlaceholder = _const.BoardNullColumnPlaceholder;
13
- exports.BoardColumnsContext = contexts.BoardColumnsContext;
14
- exports.BoardCurrentColumnContext = contexts.BoardCurrentColumnContext;
15
- exports.BoardCurrentItemContext = contexts.BoardCurrentItemContext;
16
- exports.BoardMethodsContext = contexts.BoardMethodsContext;
17
- exports.useBoardColumns = contexts.useBoardColumns;
18
- exports.useBoardCurrentColumn = contexts.useBoardCurrentColumn;
19
- exports.useBoardCurrentItem = contexts.useBoardCurrentItem;
20
- exports.useBoardMethods = contexts.useBoardMethods;
21
- exports.Board = Board.Board;
22
- exports.BoardColumn = BoardColumn.BoardColumn;
23
- exports.BoardItem = BoardItem.BoardItem;
24
- exports.BoardEachColumn = BoardEachColumn.BoardEachColumn;
25
- exports.BoardEachItem = BoardEachItem.BoardEachItem;
26
- exports.BoardNullColumn = BoardNullColumn.BoardNullColumn;
27
- exports.BoardColumnLabel = BoardColumnLabel.BoardColumnLabel;
28
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,28 +0,0 @@
1
- import { BoardNullColumnPlaceholder } from "./src/const.js";
2
- import { BoardColumnsContext, BoardCurrentColumnContext, BoardCurrentItemContext, BoardMethodsContext, useBoardColumns, useBoardCurrentColumn, useBoardCurrentItem, useBoardMethods } from "./src/contexts.js";
3
- import { Board } from "./src/components/Board.js";
4
- import { BoardColumn } from "./src/components/BoardColumn.js";
5
- import { BoardItem } from "./src/components/BoardItem.js";
6
- import { BoardEachColumn } from "./src/components/BoardEachColumn.js";
7
- import { BoardEachItem } from "./src/components/BoardEachItem.js";
8
- import { BoardNullColumn } from "./src/components/BoardNullColumn.js";
9
- import { BoardColumnLabel } from "./src/components/BoardColumnLabel.js";
10
- export {
11
- Board,
12
- BoardColumn,
13
- BoardColumnLabel,
14
- BoardColumnsContext,
15
- BoardCurrentColumnContext,
16
- BoardCurrentItemContext,
17
- BoardEachColumn,
18
- BoardEachItem,
19
- BoardItem,
20
- BoardMethodsContext,
21
- BoardNullColumn,
22
- BoardNullColumnPlaceholder,
23
- useBoardColumns,
24
- useBoardCurrentColumn,
25
- useBoardCurrentItem,
26
- useBoardMethods
27
- };
28
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,122 +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 boardAnalyzer = require("../internal/boardAnalyzer.cjs");
6
- const React = require("react");
7
- const useDynamicBoard = require("../internal/useDynamicBoard.cjs");
8
- const useStaticBoard = require("../internal/useStaticBoard.cjs");
9
- const contexts = require("../contexts.cjs");
10
- const Board = reactBinding.Component((props) => {
11
- if ("entities" in props) {
12
- if (Array.isArray(props.columns)) {
13
- return /* @__PURE__ */ jsxRuntime.jsx(BoardQualifiedStatic, { ...props });
14
- } else {
15
- return /* @__PURE__ */ jsxRuntime.jsx(BoardQualifiedDynamic, { ...props });
16
- }
17
- } else {
18
- if (Array.isArray(props.columns)) {
19
- return /* @__PURE__ */ jsxRuntime.jsx(RelativeStaticBoard, { ...props });
20
- } else {
21
- return /* @__PURE__ */ jsxRuntime.jsx(RelativeDynamicBoard, { ...props });
22
- }
23
- }
24
- });
25
- const BoardQualifiedDynamic = reactBinding.Component(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
26
- const itemsAccessor = reactBinding.useEntityListSubTree({ entities, orderBy, limit, offset });
27
- const columnsAccessor = reactBinding.useEntityListSubTree({ entities: columns });
28
- const [data, methods] = useDynamicBoard.useDynamicBoard({
29
- columnEntities: columnsAccessor,
30
- itemEntities: itemsAccessor,
31
- columns,
32
- sortableBy,
33
- sortScope,
34
- columnsSortableBy,
35
- discriminationField
36
- });
37
- return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
38
- }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
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);
42
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
43
- /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
44
- /* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
45
- sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
46
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
47
- ] }),
48
- /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
49
- columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
50
- columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
51
- ] })
52
- ] });
53
- });
54
- const RelativeDynamicBoard = reactBinding.Component(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
55
- const itemsAccessor = reactBinding.useEntityList({ field, orderBy, limit, offset });
56
- const columnsAccessor = reactBinding.useEntityListSubTree({ entities: columns });
57
- const [data, methods] = useDynamicBoard.useDynamicBoard({
58
- columnEntities: columnsAccessor,
59
- itemEntities: itemsAccessor,
60
- columns,
61
- sortableBy,
62
- sortScope,
63
- columnsSortableBy,
64
- discriminationField
65
- });
66
- return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
67
- }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
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);
71
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
72
- /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
73
- /* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
74
- sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
75
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
76
- ] }),
77
- /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
78
- columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
79
- columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
80
- ] })
81
- ] });
82
- });
83
- const BoardQualifiedStatic = reactBinding.Component(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
84
- const itemsAccessor = reactBinding.useEntityListSubTree({ entities, orderBy, limit, offset });
85
- const [data, methods] = useStaticBoard.useStaticBoard({
86
- itemEntities: itemsAccessor,
87
- columns,
88
- sortableBy,
89
- sortScope,
90
- discriminationField
91
- });
92
- return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
93
- }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
94
- const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
95
- const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
96
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
97
- /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
98
- sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
99
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
100
- ] }) });
101
- });
102
- const RelativeStaticBoard = reactBinding.Component(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
103
- const itemsAccessor = reactBinding.useEntityList({ field, orderBy, limit, offset });
104
- const [data, methods] = useStaticBoard.useStaticBoard({
105
- itemEntities: itemsAccessor,
106
- columns,
107
- sortableBy,
108
- sortScope,
109
- discriminationField
110
- });
111
- return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
112
- }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
113
- const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
114
- const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
115
- return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
116
- /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
117
- sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
118
- itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
119
- ] }) });
120
- });
121
- exports.Board = Board;
122
- //# sourceMappingURL=Board.cjs.map
@@ -1 +0,0 @@
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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"}