@contember/react-board 2.1.0-alpha.9 → 2.1.0-beta.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.
Files changed (102) hide show
  1. package/dist/development/index.cjs +4 -4
  2. package/dist/development/index.js +2 -2
  3. package/dist/development/src/components/Board.cjs +217 -207
  4. package/dist/development/src/components/Board.cjs.map +1 -1
  5. package/dist/development/src/components/Board.js +218 -208
  6. package/dist/development/src/components/Board.js.map +1 -1
  7. package/dist/development/src/components/BoardColumn.cjs.map +1 -1
  8. package/dist/development/src/components/BoardColumn.js.map +1 -1
  9. package/dist/development/src/components/BoardColumnLabel.cjs.map +1 -1
  10. package/dist/development/src/components/BoardColumnLabel.js.map +1 -1
  11. package/dist/development/src/components/BoardEachColumn.cjs +7 -7
  12. package/dist/development/src/components/BoardEachColumn.cjs.map +1 -1
  13. package/dist/development/src/components/BoardEachColumn.js +7 -7
  14. package/dist/development/src/components/BoardEachColumn.js.map +1 -1
  15. package/dist/development/src/components/BoardEachItem.cjs +7 -7
  16. package/dist/development/src/components/BoardEachItem.cjs.map +1 -1
  17. package/dist/development/src/components/BoardEachItem.js +7 -7
  18. package/dist/development/src/components/BoardEachItem.js.map +1 -1
  19. package/dist/development/src/components/BoardItem.cjs.map +1 -1
  20. package/dist/development/src/components/BoardItem.js.map +1 -1
  21. package/dist/development/src/components/BoardNullColumn.cjs.map +1 -1
  22. package/dist/development/src/components/BoardNullColumn.js.map +1 -1
  23. package/dist/development/src/contexts.cjs.map +1 -1
  24. package/dist/development/src/contexts.js.map +1 -1
  25. package/dist/development/src/internal/boardAnalyzer.cjs.map +1 -1
  26. package/dist/development/src/internal/boardAnalyzer.js +1 -1
  27. package/dist/development/src/internal/boardAnalyzer.js.map +1 -1
  28. package/dist/development/src/internal/useBoardItemsMethods.cjs +11 -1
  29. package/dist/development/src/internal/useBoardItemsMethods.cjs.map +1 -1
  30. package/dist/development/src/internal/useBoardItemsMethods.js +11 -1
  31. package/dist/development/src/internal/useBoardItemsMethods.js.map +1 -1
  32. package/dist/development/src/internal/useCreateBoardColumns.cjs.map +1 -1
  33. package/dist/development/src/internal/useCreateBoardColumns.js.map +1 -1
  34. package/dist/development/src/internal/useDynamicBoard.cjs.map +1 -1
  35. package/dist/development/src/internal/useDynamicBoard.js.map +1 -1
  36. package/dist/development/src/internal/useGroupItemsByColumn.cjs.map +1 -1
  37. package/dist/development/src/internal/useGroupItemsByColumn.js.map +1 -1
  38. package/dist/development/src/internal/useStaticBoard.cjs.map +1 -1
  39. package/dist/development/src/internal/useStaticBoard.js.map +1 -1
  40. package/dist/development/src/utils/arrayMove.cjs.map +1 -1
  41. package/dist/development/src/utils/arrayMove.js.map +1 -1
  42. package/dist/production/index.cjs +4 -4
  43. package/dist/production/index.js +2 -2
  44. package/dist/production/src/components/Board.cjs +102 -92
  45. package/dist/production/src/components/Board.cjs.map +1 -1
  46. package/dist/production/src/components/Board.js +104 -94
  47. package/dist/production/src/components/Board.js.map +1 -1
  48. package/dist/production/src/components/BoardColumn.cjs.map +1 -1
  49. package/dist/production/src/components/BoardColumn.js.map +1 -1
  50. package/dist/production/src/components/BoardColumnLabel.cjs.map +1 -1
  51. package/dist/production/src/components/BoardColumnLabel.js.map +1 -1
  52. package/dist/production/src/components/BoardEachColumn.cjs.map +1 -1
  53. package/dist/production/src/components/BoardEachColumn.js.map +1 -1
  54. package/dist/production/src/components/BoardEachItem.cjs.map +1 -1
  55. package/dist/production/src/components/BoardEachItem.js.map +1 -1
  56. package/dist/production/src/components/BoardItem.cjs.map +1 -1
  57. package/dist/production/src/components/BoardItem.js.map +1 -1
  58. package/dist/production/src/components/BoardNullColumn.cjs.map +1 -1
  59. package/dist/production/src/components/BoardNullColumn.js.map +1 -1
  60. package/dist/production/src/contexts.cjs.map +1 -1
  61. package/dist/production/src/contexts.js.map +1 -1
  62. package/dist/production/src/internal/boardAnalyzer.cjs.map +1 -1
  63. package/dist/production/src/internal/boardAnalyzer.js +1 -1
  64. package/dist/production/src/internal/boardAnalyzer.js.map +1 -1
  65. package/dist/production/src/internal/useBoardItemsMethods.cjs +11 -1
  66. package/dist/production/src/internal/useBoardItemsMethods.cjs.map +1 -1
  67. package/dist/production/src/internal/useBoardItemsMethods.js +11 -1
  68. package/dist/production/src/internal/useBoardItemsMethods.js.map +1 -1
  69. package/dist/production/src/internal/useCreateBoardColumns.cjs.map +1 -1
  70. package/dist/production/src/internal/useCreateBoardColumns.js.map +1 -1
  71. package/dist/production/src/internal/useDynamicBoard.cjs.map +1 -1
  72. package/dist/production/src/internal/useDynamicBoard.js.map +1 -1
  73. package/dist/production/src/internal/useGroupItemsByColumn.cjs.map +1 -1
  74. package/dist/production/src/internal/useGroupItemsByColumn.js.map +1 -1
  75. package/dist/production/src/internal/useStaticBoard.cjs.map +1 -1
  76. package/dist/production/src/internal/useStaticBoard.js.map +1 -1
  77. package/dist/production/src/utils/arrayMove.cjs.map +1 -1
  78. package/dist/production/src/utils/arrayMove.js.map +1 -1
  79. package/dist/types/components/Board.d.ts.map +1 -1
  80. package/dist/types/components/BoardEachColumn.d.ts.map +1 -1
  81. package/dist/types/components/BoardEachItem.d.ts.map +1 -1
  82. package/dist/types/contexts.d.ts.map +1 -1
  83. package/dist/types/internal/useBoardItemsMethods.d.ts.map +1 -1
  84. package/dist/types/internal/useCreateBoardColumns.d.ts.map +1 -1
  85. package/dist/types/internal/useDynamicBoard.d.ts.map +1 -1
  86. package/dist/types/internal/useGroupItemsByColumn.d.ts.map +1 -1
  87. package/dist/types/internal/useStaticBoard.d.ts.map +1 -1
  88. package/dist/types/tsconfig.tsbuildinfo +1 -1
  89. package/dist/types/types/BoardData.d.ts.map +1 -1
  90. package/dist/types/types/BoardMethods.d.ts.map +1 -1
  91. package/package.json +9 -9
  92. package/src/components/Board.tsx +152 -143
  93. package/src/components/BoardEachColumn.tsx +20 -16
  94. package/src/components/BoardEachItem.tsx +15 -14
  95. package/src/contexts.ts +0 -1
  96. package/src/internal/useBoardItemsMethods.ts +13 -8
  97. package/src/internal/useCreateBoardColumns.ts +0 -3
  98. package/src/internal/useDynamicBoard.ts +2 -13
  99. package/src/internal/useGroupItemsByColumn.ts +4 -1
  100. package/src/internal/useStaticBoard.ts +0 -2
  101. package/src/types/BoardData.ts +3 -4
  102. package/src/types/BoardMethods.ts +5 -1
@@ -1 +1 @@
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
+ {"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 = (\n\tgetDiscriminatorValue: (entity: EntityAccessor) => BoardColumnKey,\n\tsortBy: RelativeSingleField | undefined,\n): 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":";;AAKO,MAAM,wBAAwB,CACpC,uBACA,WAC2B;AAC3B,SAAO,YAAY,CAAC,iBAAqC;AACxD,UAAM,oCAAoB,IAAA;AAE1B,eAAW,QAAQ,aAAa,MAAM,KAAK,YAAY,GAAG,MAAM,GAAG;AAClE,YAAM,kBAAkB,sBAAsB,IAAI;AAClD,UAAI,CAAC,cAAc,IAAI,eAAe,GAAG;AACxC,sBAAc,IAAI,iBAAiB,EAAE;AAAA,MACtC;AACA,oBAAc,IAAI,eAAe,GAAG,KAAK,IAAI;AAAA,IAC9C;AACA,WAAO;AAAA,EACR,GAAG,CAAC,uBAAuB,MAAM,CAAC;AACnC;"}
@@ -1 +1 @@
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
+ {"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\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\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":";;;;;;;AAgBO,MAAM,iBAAiB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAA6G;AAC5G,QAAM,2BAA2BA,aAAAA,gCAAgC,UAAU;AAC3E,QAAM,+BAA+BA,aAAAA,gCAAgC,mBAAmB;AAExF,QAAM,wBAAwBC,kBAAY,CAAC,WAA2B;AACrE,WAAO,OAAO,SAAiB,4BAA4B,EAAE;AAAA,EAC9D,GAAG,CAAC,4BAA4B,CAAC;AAEjC,QAAM,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,EAC9E,GAAG,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,WAAA,IAAe,CAAC,SAAS,UAAU,UAAU,CAAC;AAElG,SAAO,CAAC,EAAE,SAAS,cAAA,GAAiB,OAAO;AAC5C;;"}
@@ -1 +1 @@
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
+ {"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\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\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":";;;;;AAgBO,MAAM,iBAAiB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAA6G;AAC5G,QAAM,2BAA2B,gCAAgC,UAAU;AAC3E,QAAM,+BAA+B,gCAAgC,mBAAmB;AAExF,QAAM,wBAAwB,YAAY,CAAC,WAA2B;AACrE,WAAO,OAAO,SAAiB,4BAA4B,EAAE;AAAA,EAC9D,GAAG,CAAC,4BAA4B,CAAC;AAEjC,QAAM,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,EAC9E,GAAG,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,WAAA,IAAe,CAAC,SAAS,UAAU,UAAU,CAAC;AAElG,SAAO,CAAC,EAAE,SAAS,cAAA,GAAiB,OAAO;AAC5C;"}
@@ -1 +1 @@
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
+ {"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":";;AAAO,SAAS,UAAa,OAAY,MAAc,IAAiB;AACvE,QAAM,WAAW,MAAM,MAAA;AACvB,WAAS,OAAO,IAAI,GAAG,SAAS,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;AAClD,SAAO;AACR;;"}
@@ -1 +1 @@
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
+ {"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":"AAAO,SAAS,UAAa,OAAY,MAAc,IAAiB;AACvE,QAAM,WAAW,MAAM,MAAA;AACvB,WAAS,OAAO,IAAI,GAAG,SAAS,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;AAClD,SAAO;AACR;"}
@@ -4,11 +4,11 @@ const _const = require("./src/const.cjs");
4
4
  const contexts = require("./src/contexts.cjs");
5
5
  const Board = require("./src/components/Board.cjs");
6
6
  const BoardColumn = require("./src/components/BoardColumn.cjs");
7
- const BoardItem = require("./src/components/BoardItem.cjs");
7
+ const BoardColumnLabel = require("./src/components/BoardColumnLabel.cjs");
8
8
  const BoardEachColumn = require("./src/components/BoardEachColumn.cjs");
9
9
  const BoardEachItem = require("./src/components/BoardEachItem.cjs");
10
+ const BoardItem = require("./src/components/BoardItem.cjs");
10
11
  const BoardNullColumn = require("./src/components/BoardNullColumn.cjs");
11
- const BoardColumnLabel = require("./src/components/BoardColumnLabel.cjs");
12
12
  exports.BoardNullColumnPlaceholder = _const.BoardNullColumnPlaceholder;
13
13
  exports.BoardColumnsContext = contexts.BoardColumnsContext;
14
14
  exports.BoardCurrentColumnContext = contexts.BoardCurrentColumnContext;
@@ -20,9 +20,9 @@ exports.useBoardCurrentItem = contexts.useBoardCurrentItem;
20
20
  exports.useBoardMethods = contexts.useBoardMethods;
21
21
  exports.Board = Board.Board;
22
22
  exports.BoardColumn = BoardColumn.BoardColumn;
23
- exports.BoardItem = BoardItem.BoardItem;
23
+ exports.BoardColumnLabel = BoardColumnLabel.BoardColumnLabel;
24
24
  exports.BoardEachColumn = BoardEachColumn.BoardEachColumn;
25
25
  exports.BoardEachItem = BoardEachItem.BoardEachItem;
26
+ exports.BoardItem = BoardItem.BoardItem;
26
27
  exports.BoardNullColumn = BoardNullColumn.BoardNullColumn;
27
- exports.BoardColumnLabel = BoardColumnLabel.BoardColumnLabel;
28
28
  //# sourceMappingURL=index.cjs.map
@@ -2,11 +2,11 @@ import { BoardNullColumnPlaceholder } from "./src/const.js";
2
2
  import { BoardColumnsContext, BoardCurrentColumnContext, BoardCurrentItemContext, BoardMethodsContext, useBoardColumns, useBoardCurrentColumn, useBoardCurrentItem, useBoardMethods } from "./src/contexts.js";
3
3
  import { Board } from "./src/components/Board.js";
4
4
  import { BoardColumn } from "./src/components/BoardColumn.js";
5
- import { BoardItem } from "./src/components/BoardItem.js";
5
+ import { BoardColumnLabel } from "./src/components/BoardColumnLabel.js";
6
6
  import { BoardEachColumn } from "./src/components/BoardEachColumn.js";
7
7
  import { BoardEachItem } from "./src/components/BoardEachItem.js";
8
+ import { BoardItem } from "./src/components/BoardItem.js";
8
9
  import { BoardNullColumn } from "./src/components/BoardNullColumn.js";
9
- import { BoardColumnLabel } from "./src/components/BoardColumnLabel.js";
10
10
  export {
11
11
  Board,
12
12
  BoardColumn,
@@ -22,101 +22,111 @@ const Board = reactBinding.Component((props) => {
22
22
  }
23
23
  }
24
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 }),
25
+ const BoardQualifiedDynamic = reactBinding.Component(
26
+ ({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
27
+ const itemsAccessor = reactBinding.useEntityListSubTree({ entities, orderBy, limit, offset });
28
+ const columnsAccessor = reactBinding.useEntityListSubTree({ entities: columns });
29
+ const [data, methods] = useDynamicBoard.useDynamicBoard({
30
+ columnEntities: columnsAccessor,
31
+ itemEntities: itemsAccessor,
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
+ },
39
+ ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
40
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
41
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
42
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
43
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
44
+ /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
45
+ /* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
46
+ sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
47
+ itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
48
+ ] }),
49
+ /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
50
+ columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
51
+ columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
52
+ ] })
53
+ ] });
54
+ }
55
+ );
56
+ const RelativeDynamicBoard = reactBinding.Component(
57
+ ({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
58
+ const itemsAccessor = reactBinding.useEntityList({ field, orderBy, limit, offset });
59
+ const columnsAccessor = reactBinding.useEntityListSubTree({ entities: columns });
60
+ const [data, methods] = useDynamicBoard.useDynamicBoard({
61
+ columnEntities: columnsAccessor,
62
+ itemEntities: itemsAccessor,
63
+ sortableBy,
64
+ sortScope,
65
+ columnsSortableBy,
66
+ discriminationField
67
+ });
68
+ return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
69
+ },
70
+ ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
71
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
72
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
73
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
74
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
75
+ /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
76
+ /* @__PURE__ */ jsxRuntime.jsx(reactBinding.HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
77
+ sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
78
+ itemChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
79
+ ] }),
80
+ /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities: columns, children: [
81
+ columnsSortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
82
+ columnChildren.map((it, index) => /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: it }, index))
83
+ ] })
84
+ ] });
85
+ }
86
+ );
87
+ const BoardQualifiedStatic = reactBinding.Component(
88
+ ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
89
+ const itemsAccessor = reactBinding.useEntityListSubTree({ entities, orderBy, limit, offset });
90
+ const [data, methods] = useStaticBoard.useStaticBoard({
91
+ itemEntities: itemsAccessor,
92
+ columns,
93
+ sortableBy,
94
+ sortScope,
95
+ discriminationField
96
+ });
97
+ return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
98
+ },
99
+ ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
100
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
101
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
102
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.EntityListSubTree, { entities, orderBy, limit, offset, children: [
103
+ /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
45
104
  sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
46
105
  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 }),
106
+ ] }) });
107
+ }
108
+ );
109
+ const RelativeStaticBoard = reactBinding.Component(
110
+ ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
111
+ const itemsAccessor = reactBinding.useEntityList({ field, orderBy, limit, offset });
112
+ const [data, methods] = useStaticBoard.useStaticBoard({
113
+ itemEntities: itemsAccessor,
114
+ columns,
115
+ sortableBy,
116
+ sortScope,
117
+ discriminationField
118
+ });
119
+ return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardColumnsContext.Provider, { value: data.columns, children }) });
120
+ },
121
+ ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
122
+ const childrenByType = boardAnalyzer.boardAnalyzer.processChildren(children, env);
123
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
124
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(reactBinding.HasMany, { field, orderBy, limit, offset, children: [
125
+ /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
74
126
  sortableBy && /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
75
127
  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
- });
128
+ ] }) });
129
+ }
130
+ );
121
131
  exports.Board = Board;
122
132
  //# sourceMappingURL=Board.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Board.cjs","sources":["../../../../../packages/react-board/src/components/Board.tsx"],"sourcesContent":["import {\n\tComponent,\n\tEntityListSubTree,\n\tField,\n\tHasMany,\n\tHasOne,\n\tSugaredQualifiedEntityList,\n\tSugaredRelativeEntityList,\n\tSugaredRelativeSingleEntity,\n\tSugaredRelativeSingleField,\n\tuseEntityList,\n\tuseEntityListSubTree,\n} from '@contember/react-binding'\nimport { boardAnalyzer } from '../internal/boardAnalyzer'\nimport { Fragment, ReactNode } from 'react'\nimport { useDynamicBoard } from '../internal/useDynamicBoard'\nimport { useStaticBoard } from '../internal/useStaticBoard'\nimport { BoardColumnsContext, BoardMethodsContext } from '../contexts'\n\nexport type BoardProps =\n\t| BoardQualifiedDynamicProps\n\t| BoardRelativeDynamicProps\n\t| BoardQualifiedStaticProps\n\t| BoardRelativeStaticProps\n\n\nexport const Board = Component<BoardProps>(props => {\n\tif ('entities' in props) {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <BoardQualifiedStatic {...(props as BoardQualifiedStaticProps)} />\n\t\t} else {\n\t\t\treturn <BoardQualifiedDynamic {...(props as BoardQualifiedDynamicProps)} />\n\t\t}\n\t} else {\n\t\tif (Array.isArray(props.columns)) {\n\t\t\treturn <RelativeStaticBoard {...(props as BoardRelativeStaticProps)} />\n\t\t} else {\n\t\t\treturn <RelativeDynamicBoard {...(props as BoardRelativeDynamicProps)} />\n\t\t}\n\t}\n})\n\nexport type BoardDynamicColumnsBindingProps = {\n\tcolumns: SugaredQualifiedEntityList['entities']\n\tcolumnsSortableBy?: string | SugaredRelativeSingleField\n\tdiscriminationField: string | SugaredRelativeSingleEntity\n}\n\nexport type BoardStaticColumnsBindingProps = {\n\tcolumns: {\n\t\tvalue: string\n\t\tlabel: ReactNode\n\t}[]\n\tdiscriminationField: string | SugaredRelativeSingleField\n}\n\nexport type BoardCommonProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tsortableBy?: string | SugaredRelativeSingleField\n\t\tsortScope?: 'column' | 'board'\n\t}\n\nexport type BoardQualifiedItemsProps =\n\t& Pick<SugaredQualifiedEntityList, 'entities' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardRelativeItemsProps =\n\t& Pick<SugaredRelativeEntityList, 'field' | 'orderBy' | 'limit' | 'offset'>\n\n\nexport type BoardQualifiedDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\nconst BoardQualifiedDynamic = Component<BoardQualifiedDynamicProps>(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardRelativeItemsProps\n\n\nconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps>(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\tconst [data, methods] = useDynamicBoard({\n\t\tcolumnEntities: columnsAccessor,\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tcolumnsSortableBy,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t\t<EntityListSubTree entities={columns}>\n\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\nexport type BoardQualifiedStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\n\nconst BoardQualifiedStatic = Component<BoardQualifiedStaticProps>(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</EntityListSubTree>\n\t</>)\n})\n\n\nexport type BoardRelativeStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardRelativeItemsProps\n\nconst RelativeStaticBoard = Component<BoardRelativeStaticProps>(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\tconst [data, methods] = useStaticBoard({\n\t\titemEntities: itemsAccessor,\n\t\tcolumns,\n\t\tsortableBy,\n\t\tsortScope,\n\t\tdiscriminationField,\n\t})\n\treturn (\n\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t{children}\n\t\t\t</BoardColumnsContext.Provider>\n\t\t</BoardMethodsContext.Provider>\n\t)\n}, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\treturn (<>\n\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t</HasMany>\n\t</>)\n})\n"],"names":["Component","jsx","useEntityListSubTree","useDynamicBoard","BoardMethodsContext","BoardColumnsContext","boardAnalyzer","jsxs","Fragment","EntityListSubTree","HasOne","Field","useEntityList","HasMany","useStaticBoard"],"mappings":"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"}
1
+ {"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\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\tchildren: ReactNode\n\tsortableBy?: string | SugaredRelativeSingleField\n\tsortScope?: 'column' | 'board'\n}\n\nexport type BoardQualifiedItemsProps = Pick<SugaredQualifiedEntityList, 'entities' | 'orderBy' | 'limit' | 'offset'>\n\nexport type BoardRelativeItemsProps = Pick<SugaredRelativeEntityList, 'field' | 'orderBy' | 'limit' | 'offset'>\n\nexport type BoardQualifiedDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\nconst BoardQualifiedDynamic = Component<BoardQualifiedDynamicProps>(\n\t({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\t\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\t\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\t\tconst [data, methods] = 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})\n\t\treturn (\n\t\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardColumnsContext.Provider>\n\t\t\t</BoardMethodsContext.Provider>\n\t\t)\n\t},\n\t({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\t\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\t\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\t\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t\t\t</EntityListSubTree>\n\t\t\t\t<EntityListSubTree entities={columns}>\n\t\t\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t\t\t</EntityListSubTree>\n\t\t\t</>\n\t\t)\n\t},\n)\n\nexport type BoardRelativeDynamicProps =\n\t& BoardCommonProps\n\t& BoardDynamicColumnsBindingProps\n\t& BoardRelativeItemsProps\n\nconst RelativeDynamicBoard = Component<BoardRelativeDynamicProps>(\n\t({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {\n\t\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\t\tconst columnsAccessor = useEntityListSubTree({ entities: columns })\n\t\tconst [data, methods] = 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})\n\t\treturn (\n\t\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardColumnsContext.Provider>\n\t\t\t</BoardMethodsContext.Provider>\n\t\t)\n\t},\n\t({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {\n\t\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\t\tconst columnChildren = childrenByType.filter(it => it.type === 'column').map(it => it.children)\n\t\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t\t<HasOne {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t\t\t</HasMany>\n\t\t\t\t<EntityListSubTree entities={columns}>\n\t\t\t\t\t{columnsSortableBy && <Field {...typeof columnsSortableBy === 'string' ? { field: columnsSortableBy } : columnsSortableBy} />}\n\t\t\t\t\t{columnChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t\t\t</EntityListSubTree>\n\t\t\t</>\n\t\t)\n\t},\n)\nexport type BoardQualifiedStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardQualifiedItemsProps\n\nconst BoardQualifiedStatic = Component<BoardQualifiedStaticProps>(\n\t({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\t\tconst itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset })\n\t\tconst [data, methods] = 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})\n\t\treturn (\n\t\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardColumnsContext.Provider>\n\t\t\t</BoardMethodsContext.Provider>\n\t\t)\n\t},\n\t({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\t\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\t\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EntityListSubTree entities={entities} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t\t\t</EntityListSubTree>\n\t\t\t</>\n\t\t)\n\t},\n)\n\nexport type BoardRelativeStaticProps =\n\t& BoardCommonProps\n\t& BoardStaticColumnsBindingProps\n\t& BoardRelativeItemsProps\n\nconst RelativeStaticBoard = Component<BoardRelativeStaticProps>(\n\t({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {\n\t\tconst itemsAccessor = useEntityList({ field, orderBy, limit, offset })\n\t\tconst [data, methods] = 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})\n\t\treturn (\n\t\t\t<BoardMethodsContext.Provider value={methods}>\n\t\t\t\t<BoardColumnsContext.Provider value={data.columns}>\n\t\t\t\t\t{children}\n\t\t\t\t</BoardColumnsContext.Provider>\n\t\t\t</BoardMethodsContext.Provider>\n\t\t)\n\t},\n\t({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {\n\t\tconst childrenByType = boardAnalyzer.processChildren(children, env)\n\t\tconst itemChildren = childrenByType.filter(it => it.type === 'item').map(it => it.children)\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<HasMany field={field} orderBy={orderBy} limit={limit} offset={offset}>\n\t\t\t\t\t<Field {...typeof discriminationField === 'string' ? { field: discriminationField } : discriminationField} />\n\t\t\t\t\t{sortableBy && <Field {...typeof sortableBy === 'string' ? { field: sortableBy } : sortableBy} />}\n\t\t\t\t\t{itemChildren.map((it, index) => <Fragment key={index}>{it}</Fragment>)}\n\t\t\t\t</HasMany>\n\t\t\t</>\n\t\t)\n\t},\n)\n"],"names":["Component","jsx","useEntityListSubTree","useDynamicBoard","BoardMethodsContext","BoardColumnsContext","boardAnalyzer","jsxs","Fragment","EntityListSubTree","HasOne","Field","useEntityList","HasMany","useStaticBoard"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { Component, useEntityListSubTree, EntityListSubTree, HasOne, Field, useEntityList, HasMany } from "@contember/react-binding";
1
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
+ import { Component, useEntityListSubTree, EntityListSubTree, Field, HasOne, useEntityList, HasMany } from "@contember/react-binding";
3
3
  import { boardAnalyzer } from "../internal/boardAnalyzer.js";
4
4
  import { Fragment as Fragment$1 } from "react";
5
5
  import { useDynamicBoard } from "../internal/useDynamicBoard.js";
@@ -20,102 +20,112 @@ const Board = Component((props) => {
20
20
  }
21
21
  }
22
22
  });
23
- const BoardQualifiedDynamic = Component(({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
24
- const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset });
25
- const columnsAccessor = useEntityListSubTree({ entities: columns });
26
- const [data, methods] = useDynamicBoard({
27
- columnEntities: columnsAccessor,
28
- itemEntities: itemsAccessor,
29
- columns,
30
- sortableBy,
31
- sortScope,
32
- columnsSortableBy,
33
- discriminationField
34
- });
35
- return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
36
- }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
37
- const childrenByType = boardAnalyzer.processChildren(children, env);
38
- const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
39
- const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
40
- return /* @__PURE__ */ jsxs(Fragment, { children: [
41
- /* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
42
- /* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
23
+ const BoardQualifiedDynamic = Component(
24
+ ({ entities, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
25
+ const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset });
26
+ const columnsAccessor = useEntityListSubTree({ entities: columns });
27
+ const [data, methods] = useDynamicBoard({
28
+ columnEntities: columnsAccessor,
29
+ itemEntities: itemsAccessor,
30
+ sortableBy,
31
+ sortScope,
32
+ columnsSortableBy,
33
+ discriminationField
34
+ });
35
+ return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
36
+ },
37
+ ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
38
+ const childrenByType = boardAnalyzer.processChildren(children, env);
39
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
40
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
41
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
42
+ /* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
43
+ /* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
44
+ sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
45
+ itemChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
46
+ ] }),
47
+ /* @__PURE__ */ jsxs(EntityListSubTree, { entities: columns, children: [
48
+ columnsSortableBy && /* @__PURE__ */ jsx(Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
49
+ columnChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
50
+ ] })
51
+ ] });
52
+ }
53
+ );
54
+ const RelativeDynamicBoard = Component(
55
+ ({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
56
+ const itemsAccessor = useEntityList({ field, orderBy, limit, offset });
57
+ const columnsAccessor = useEntityListSubTree({ entities: columns });
58
+ const [data, methods] = useDynamicBoard({
59
+ columnEntities: columnsAccessor,
60
+ itemEntities: itemsAccessor,
61
+ sortableBy,
62
+ sortScope,
63
+ columnsSortableBy,
64
+ discriminationField
65
+ });
66
+ return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
67
+ },
68
+ ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
69
+ const childrenByType = boardAnalyzer.processChildren(children, env);
70
+ const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
71
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
72
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
73
+ /* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
74
+ /* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
75
+ sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
76
+ itemChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
77
+ ] }),
78
+ /* @__PURE__ */ jsxs(EntityListSubTree, { entities: columns, children: [
79
+ columnsSortableBy && /* @__PURE__ */ jsx(Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
80
+ columnChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
81
+ ] })
82
+ ] });
83
+ }
84
+ );
85
+ const BoardQualifiedStatic = Component(
86
+ ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
87
+ const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset });
88
+ const [data, methods] = useStaticBoard({
89
+ itemEntities: itemsAccessor,
90
+ columns,
91
+ sortableBy,
92
+ sortScope,
93
+ discriminationField
94
+ });
95
+ return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
96
+ },
97
+ ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
98
+ const childrenByType = boardAnalyzer.processChildren(children, env);
99
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
100
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
101
+ /* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
43
102
  sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
44
103
  itemChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
45
- ] }),
46
- /* @__PURE__ */ jsxs(EntityListSubTree, { entities: columns, children: [
47
- columnsSortableBy && /* @__PURE__ */ jsx(Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
48
- columnChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
49
- ] })
50
- ] });
51
- });
52
- const RelativeDynamicBoard = Component(({ field, orderBy, limit, offset, columns, columnsSortableBy, discriminationField, sortableBy, sortScope, children }) => {
53
- const itemsAccessor = useEntityList({ field, orderBy, limit, offset });
54
- const columnsAccessor = useEntityListSubTree({ entities: columns });
55
- const [data, methods] = useDynamicBoard({
56
- columnEntities: columnsAccessor,
57
- itemEntities: itemsAccessor,
58
- columns,
59
- sortableBy,
60
- sortScope,
61
- columnsSortableBy,
62
- discriminationField
63
- });
64
- return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
65
- }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, columnsSortableBy, children }, env) => {
66
- const childrenByType = boardAnalyzer.processChildren(children, env);
67
- const columnChildren = childrenByType.filter((it) => it.type === "column").map((it) => it.children);
68
- const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
69
- return /* @__PURE__ */ jsxs(Fragment, { children: [
70
- /* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
71
- /* @__PURE__ */ jsx(HasOne, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
104
+ ] }) });
105
+ }
106
+ );
107
+ const RelativeStaticBoard = Component(
108
+ ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
109
+ const itemsAccessor = useEntityList({ field, orderBy, limit, offset });
110
+ const [data, methods] = useStaticBoard({
111
+ itemEntities: itemsAccessor,
112
+ columns,
113
+ sortableBy,
114
+ sortScope,
115
+ discriminationField
116
+ });
117
+ return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
118
+ },
119
+ ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
120
+ const childrenByType = boardAnalyzer.processChildren(children, env);
121
+ const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
122
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
123
+ /* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
72
124
  sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
73
125
  itemChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
74
- ] }),
75
- /* @__PURE__ */ jsxs(EntityListSubTree, { entities: columns, children: [
76
- columnsSortableBy && /* @__PURE__ */ jsx(Field, { ...typeof columnsSortableBy === "string" ? { field: columnsSortableBy } : columnsSortableBy }),
77
- columnChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
78
- ] })
79
- ] });
80
- });
81
- const BoardQualifiedStatic = Component(({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
82
- const itemsAccessor = useEntityListSubTree({ entities, orderBy, limit, offset });
83
- const [data, methods] = useStaticBoard({
84
- itemEntities: itemsAccessor,
85
- columns,
86
- sortableBy,
87
- sortScope,
88
- discriminationField
89
- });
90
- return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
91
- }, ({ entities, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
92
- const childrenByType = boardAnalyzer.processChildren(children, env);
93
- const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
94
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(EntityListSubTree, { entities, orderBy, limit, offset, children: [
95
- /* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
96
- sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
97
- itemChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
98
- ] }) });
99
- });
100
- const RelativeStaticBoard = Component(({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, sortScope, children }) => {
101
- const itemsAccessor = useEntityList({ field, orderBy, limit, offset });
102
- const [data, methods] = useStaticBoard({
103
- itemEntities: itemsAccessor,
104
- columns,
105
- sortableBy,
106
- sortScope,
107
- discriminationField
108
- });
109
- return /* @__PURE__ */ jsx(BoardMethodsContext.Provider, { value: methods, children: /* @__PURE__ */ jsx(BoardColumnsContext.Provider, { value: data.columns, children }) });
110
- }, ({ field, orderBy, limit, offset, columns, discriminationField, sortableBy, children }, env) => {
111
- const childrenByType = boardAnalyzer.processChildren(children, env);
112
- const itemChildren = childrenByType.filter((it) => it.type === "item").map((it) => it.children);
113
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(HasMany, { field, orderBy, limit, offset, children: [
114
- /* @__PURE__ */ jsx(Field, { ...typeof discriminationField === "string" ? { field: discriminationField } : discriminationField }),
115
- sortableBy && /* @__PURE__ */ jsx(Field, { ...typeof sortableBy === "string" ? { field: sortableBy } : sortableBy }),
116
- itemChildren.map((it, index) => /* @__PURE__ */ jsx(Fragment$1, { children: it }, index))
117
- ] }) });
118
- });
126
+ ] }) });
127
+ }
128
+ );
119
129
  export {
120
130
  Board
121
131
  };