@contember/react-board 2.0.0-alpha.16 → 2.0.0-alpha.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/src/components/BoardEachColumn.cjs +1 -2
- package/dist/development/src/components/BoardEachColumn.cjs.map +1 -1
- package/dist/development/src/components/BoardEachColumn.js +2 -3
- package/dist/development/src/components/BoardEachColumn.js.map +1 -1
- package/dist/development/src/internal/boardAnalyzer.cjs.map +1 -1
- package/dist/development/src/internal/boardAnalyzer.js.map +1 -1
- package/dist/development/src/internal/useDynamicBoard.cjs +2 -2
- package/dist/development/src/internal/useDynamicBoard.cjs.map +1 -1
- package/dist/development/src/internal/useDynamicBoard.js +2 -2
- package/dist/development/src/internal/useDynamicBoard.js.map +1 -1
- package/dist/development/src/internal/useStaticBoard.cjs +2 -2
- package/dist/development/src/internal/useStaticBoard.cjs.map +1 -1
- package/dist/development/src/internal/useStaticBoard.js +2 -2
- package/dist/development/src/internal/useStaticBoard.js.map +1 -1
- package/dist/production/src/components/BoardEachColumn.cjs +1 -2
- package/dist/production/src/components/BoardEachColumn.cjs.map +1 -1
- package/dist/production/src/components/BoardEachColumn.js +2 -3
- package/dist/production/src/components/BoardEachColumn.js.map +1 -1
- package/dist/production/src/internal/boardAnalyzer.cjs.map +1 -1
- package/dist/production/src/internal/boardAnalyzer.js.map +1 -1
- package/dist/production/src/internal/useDynamicBoard.cjs +2 -2
- package/dist/production/src/internal/useDynamicBoard.cjs.map +1 -1
- package/dist/production/src/internal/useDynamicBoard.js +2 -2
- package/dist/production/src/internal/useDynamicBoard.js.map +1 -1
- package/dist/production/src/internal/useStaticBoard.cjs +2 -2
- package/dist/production/src/internal/useStaticBoard.cjs.map +1 -1
- package/dist/production/src/internal/useStaticBoard.js +2 -2
- package/dist/production/src/internal/useStaticBoard.js.map +1 -1
- package/dist/types/internal/boardAnalyzer.d.ts +1 -1
- package/dist/types/internal/boardAnalyzer.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/BoardColumnNode.d.ts +1 -1
- package/dist/types/types/BoardColumnNode.d.ts.map +1 -1
- package/dist/types/types/BoardItemNode.d.ts +1 -1
- package/dist/types/types/BoardItemNode.d.ts.map +1 -1
- package/dist/types/types/BoardMethods.d.ts +1 -1
- package/dist/types/types/BoardMethods.d.ts.map +1 -1
- package/package.json +4 -5
- package/src/components/BoardEachColumn.tsx +2 -2
- package/src/internal/boardAnalyzer.ts +1 -1
- package/src/internal/useDynamicBoard.ts +2 -2
- package/src/internal/useStaticBoard.ts +2 -2
- package/src/tsconfig.json +0 -1
- package/src/types/BoardColumnNode.ts +1 -1
- package/src/types/BoardItemNode.ts +1 -1
- package/src/types/BoardMethods.ts +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
-
const binding = require("@contember/binding");
|
|
5
4
|
const reactBinding = require("@contember/react-binding");
|
|
6
5
|
const contexts = require("../contexts.cjs");
|
|
7
6
|
const BoardColumn = require("./BoardColumn.cjs");
|
|
@@ -12,7 +11,7 @@ const BoardEachColumn = ({ children }) => {
|
|
|
12
11
|
if (column.id === _const.BoardNullColumnPlaceholder) {
|
|
13
12
|
return null;
|
|
14
13
|
}
|
|
15
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.BoardCurrentColumnContext.Provider, { value: column, children: column.value
|
|
14
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.BoardCurrentColumnContext.Provider, { value: column, children: reactBinding.isEntityAccessor(column.value) ? /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.Entity, { accessor: column.value, children }, void 0, false, {
|
|
16
15
|
fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
|
|
17
16
|
lineNumber: 21,
|
|
18
17
|
columnNumber: 7
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardEachColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor } from '@contember/binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{column.value
|
|
1
|
+
{"version":3,"file":"BoardEachColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["useBoardColumns","jsxDEV","Fragment","BoardNullColumnPlaceholder","BoardCurrentColumnContext","isEntityAccessor","Entity","this","BoardColumn"],"mappings":";;;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAUA,SAAAA;AAET,SAAAC,8BAAAA,OAAAC,cAAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAOC,mCAA4B;AACtC,aAAA;AAAA,IACR;AACA,WACEF,8BAAA,OAAAG,SAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAAC,aAAA,iBAAiB,OAAO,KAAK,IAC5BJ,qCAAAK,aAAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SADF,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAEAC,MAAA,IACG,SALmD,GAAA,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAMA,GAAAA,MAAA;AAAA,EAAA,CAED,EAdK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAeP,GAAAA,MAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAAN,8BAAAA,OAACO,YAAAA,eAAa,SAAd,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAuB,GAAAD,MAAA;AAC/B;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { Entity } from "@contember/react-binding";
|
|
2
|
+
import { isEntityAccessor, Entity } from "@contember/react-binding";
|
|
4
3
|
import { useBoardColumns, BoardCurrentColumnContext } from "../contexts.js";
|
|
5
4
|
import { BoardColumn } from "./BoardColumn.js";
|
|
6
5
|
import { BoardNullColumnPlaceholder } from "../const.js";
|
|
@@ -10,7 +9,7 @@ const BoardEachColumn = ({ children }) => {
|
|
|
10
9
|
if (column.id === BoardNullColumnPlaceholder) {
|
|
11
10
|
return null;
|
|
12
11
|
}
|
|
13
|
-
return /* @__PURE__ */ jsxDEV(BoardCurrentColumnContext.Provider, { value: column, children: column.value
|
|
12
|
+
return /* @__PURE__ */ jsxDEV(BoardCurrentColumnContext.Provider, { value: column, children: isEntityAccessor(column.value) ? /* @__PURE__ */ jsxDEV(Entity, { accessor: column.value, children }, void 0, false, {
|
|
14
13
|
fileName: "/home/runner/work/contember/contember/packages/react-board/src/components/BoardEachColumn.tsx",
|
|
15
14
|
lineNumber: 21,
|
|
16
15
|
columnNumber: 7
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardEachColumn.js","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor } from '@contember/binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{column.value
|
|
1
|
+
{"version":3,"file":"BoardEachColumn.js","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["this"],"mappings":";;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAU;AAET,SAAA,uBAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAO,4BAA4B;AACtC,aAAA;AAAA,IACR;AACA,WACE,uBAAA,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,UAAA,iBAAiB,OAAO,KAAK,IAC5B,uBAAA,QAAA,EAAO,UAAU,OAAO,OACvB,SADF,GAAA,QAAA,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA,GAEAA,MAAA,IACG,SALmD,GAAA,OAAO,IAA/D,OAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAMA,GAAAA,MAAA;AAAA,EAAA,CAED,EAdK,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAeP,GAAAA,MAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAA,uBAAC,eAAa,SAAd,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAuB,GAAAA,MAAA;AAC/B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boardAnalyzer.cjs","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAIC,UAAS,SAAA;AACvG,MAAM,aAAa,IAAID,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAIE,YAAW,WAAA;AAEtG,MAAM,gBAAgB,IAAIC,wBAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
|
|
1
|
+
{"version":3,"file":"boardAnalyzer.cjs","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAIC,UAAS,SAAA;AACvG,MAAM,aAAa,IAAID,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAIE,YAAW,WAAA;AAEtG,MAAM,gBAAgB,IAAIC,wBAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boardAnalyzer.js","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAI,SAAS;AACvG,MAAM,aAAa,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAI,WAAW;AAEtG,MAAM,gBAAgB,IAAI,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
|
|
1
|
+
{"version":3,"file":"boardAnalyzer.js","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAI,SAAS;AACvG,MAAM,aAAa,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAI,WAAW;AAEtG,MAAM,gBAAgB,IAAI,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
|
|
@@ -25,7 +25,7 @@ const useDynamicBoard = ({
|
|
|
25
25
|
const columnEntitiesGetter = columnEntities.getAccessor;
|
|
26
26
|
const exitingColumnIds = React.useMemo(() => new Set(Array.from(columnEntities).map((it) => it.id)), [columnEntities]);
|
|
27
27
|
const getDiscriminatorValue = React.useCallback((entity) => {
|
|
28
|
-
const entityId = entity.
|
|
28
|
+
const entityId = entity.getEntity(desugaredDiscriminationField).id;
|
|
29
29
|
return exitingColumnIds.has(entityId) ? entityId : null;
|
|
30
30
|
}, [desugaredDiscriminationField, exitingColumnIds]);
|
|
31
31
|
const groupItemsByColumn = useGroupItemsByColumn.useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
@@ -48,7 +48,7 @@ const useDynamicBoard = ({
|
|
|
48
48
|
}, [columnEntitiesGetter, desugaredColumnSortableByField]);
|
|
49
49
|
const connectItemToColumn = React.useCallback((item, column) => {
|
|
50
50
|
const hasOne = desugaredDiscriminationField.hasOneRelationPath;
|
|
51
|
-
const parentEntity = item.
|
|
51
|
+
const parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) });
|
|
52
52
|
if (column) {
|
|
53
53
|
parentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column);
|
|
54
54
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicBoard.cjs","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.
|
|
1
|
+
{"version":3,"file":"useDynamicBoard.cjs","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":["useCallback","sortEntities","useDesugaredRelativeSingleField","useDesugaredRelativeSingleEntity","useMemo","useGroupItemsByColumn","useCreateBoardColumns","columnEntities","BindingError","addEntityAtIndex","arrayMove","repairEntitiesOrder","useBoardItemsMethods"],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ const useDynamicBoard = ({
|
|
|
23
23
|
const columnEntitiesGetter = columnEntities.getAccessor;
|
|
24
24
|
const exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map((it) => it.id)), [columnEntities]);
|
|
25
25
|
const getDiscriminatorValue = useCallback((entity) => {
|
|
26
|
-
const entityId = entity.
|
|
26
|
+
const entityId = entity.getEntity(desugaredDiscriminationField).id;
|
|
27
27
|
return exitingColumnIds.has(entityId) ? entityId : null;
|
|
28
28
|
}, [desugaredDiscriminationField, exitingColumnIds]);
|
|
29
29
|
const groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
@@ -46,7 +46,7 @@ const useDynamicBoard = ({
|
|
|
46
46
|
}, [columnEntitiesGetter, desugaredColumnSortableByField]);
|
|
47
47
|
const connectItemToColumn = useCallback((item, column) => {
|
|
48
48
|
const hasOne = desugaredDiscriminationField.hasOneRelationPath;
|
|
49
|
-
const parentEntity = item.
|
|
49
|
+
const parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) });
|
|
50
50
|
if (column) {
|
|
51
51
|
parentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column);
|
|
52
52
|
} else {
|
|
@@ -1 +1 @@
|
|
|
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.
|
|
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":"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"}
|
|
@@ -15,7 +15,7 @@ const useStaticBoard = ({
|
|
|
15
15
|
const desugaredSortableByField = reactBinding.useDesugaredRelativeSingleField(sortableBy);
|
|
16
16
|
const desugaredDiscriminationField = reactBinding.useDesugaredRelativeSingleField(discriminationField);
|
|
17
17
|
const getDiscriminatorValue = React.useCallback((entity) => {
|
|
18
|
-
return entity.
|
|
18
|
+
return entity.getField(desugaredDiscriminationField).value;
|
|
19
19
|
}, [desugaredDiscriminationField]);
|
|
20
20
|
const groupItemsByColumn = useGroupItemsByColumn.useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
21
21
|
const columnsResult = useCreateBoardColumns.useCreateBoardColumns({
|
|
@@ -25,7 +25,7 @@ const useStaticBoard = ({
|
|
|
25
25
|
items: itemEntities
|
|
26
26
|
});
|
|
27
27
|
const connectItemToColumn = React.useCallback((item, column) => {
|
|
28
|
-
item.
|
|
28
|
+
item.getField(desugaredDiscriminationField).updateValue(column?.value ?? null);
|
|
29
29
|
}, [desugaredDiscriminationField]);
|
|
30
30
|
const { addItem, moveItem, removeItem } = useBoardItemsMethods.useBoardItemsMethods({
|
|
31
31
|
columnIdGetter: (it) => it.value,
|
|
@@ -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.
|
|
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,iBAAiB,OAAO;AAC5C;;"}
|
|
@@ -13,7 +13,7 @@ const useStaticBoard = ({
|
|
|
13
13
|
const desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy);
|
|
14
14
|
const desugaredDiscriminationField = useDesugaredRelativeSingleField(discriminationField);
|
|
15
15
|
const getDiscriminatorValue = useCallback((entity) => {
|
|
16
|
-
return entity.
|
|
16
|
+
return entity.getField(desugaredDiscriminationField).value;
|
|
17
17
|
}, [desugaredDiscriminationField]);
|
|
18
18
|
const groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
19
19
|
const columnsResult = useCreateBoardColumns({
|
|
@@ -23,7 +23,7 @@ const useStaticBoard = ({
|
|
|
23
23
|
items: itemEntities
|
|
24
24
|
});
|
|
25
25
|
const connectItemToColumn = useCallback((item, column) => {
|
|
26
|
-
item.
|
|
26
|
+
item.getField(desugaredDiscriminationField).updateValue(column?.value ?? null);
|
|
27
27
|
}, [desugaredDiscriminationField]);
|
|
28
28
|
const { addItem, moveItem, removeItem } = useBoardItemsMethods({
|
|
29
29
|
columnIdGetter: (it) => it.value,
|
|
@@ -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.
|
|
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,iBAAiB,OAAO;AAC5C;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
-
const binding = require("@contember/binding");
|
|
5
4
|
const reactBinding = require("@contember/react-binding");
|
|
6
5
|
const contexts = require("../contexts.cjs");
|
|
7
6
|
const BoardColumn = require("./BoardColumn.cjs");
|
|
@@ -12,7 +11,7 @@ const BoardEachColumn = ({ children }) => {
|
|
|
12
11
|
if (column.id === _const.BoardNullColumnPlaceholder) {
|
|
13
12
|
return null;
|
|
14
13
|
}
|
|
15
|
-
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardCurrentColumnContext.Provider, { value: column, children: column.value
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(contexts.BoardCurrentColumnContext.Provider, { value: column, children: reactBinding.isEntityAccessor(column.value) ? /* @__PURE__ */ jsxRuntime.jsx(reactBinding.Entity, { accessor: column.value, children }) : children }, column.id);
|
|
16
15
|
}) });
|
|
17
16
|
};
|
|
18
17
|
BoardEachColumn.staticRender = ({ children }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardEachColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor } from '@contember/binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{column.value
|
|
1
|
+
{"version":3,"file":"BoardEachColumn.cjs","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":["useBoardColumns","jsx","Fragment","BoardNullColumnPlaceholder","BoardCurrentColumnContext","Entity","BoardColumn"],"mappings":";;;;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAUA,SAAAA;AAET,SAAAC,2BAAAA,IAAAC,WAAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAOC,mCAA4B;AACtC,aAAA;AAAA,IACR;AACA,0CACEC,mCAA0B,UAA1B,EAAmC,OAAO,QACzC,wCAAiB,OAAO,KAAK,IAC5BH,+BAAAI,aAAAA,QAAA,EAAO,UAAU,OAAO,OACvB,UACF,IACG,SAAA,GALmD,OAAO,EAM/D;AAAA,EAED,CAAA,EACF,CAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAAJ,+BAACK,YAAAA,eAAa,SAAS,CAAA;AAC/B;;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { Entity } from "@contember/react-binding";
|
|
2
|
+
import { isEntityAccessor, Entity } from "@contember/react-binding";
|
|
4
3
|
import { useBoardColumns, BoardCurrentColumnContext } from "../contexts.js";
|
|
5
4
|
import { BoardColumn } from "./BoardColumn.js";
|
|
6
5
|
import { BoardNullColumnPlaceholder } from "../const.js";
|
|
@@ -10,7 +9,7 @@ const BoardEachColumn = ({ children }) => {
|
|
|
10
9
|
if (column.id === BoardNullColumnPlaceholder) {
|
|
11
10
|
return null;
|
|
12
11
|
}
|
|
13
|
-
return /* @__PURE__ */ jsx(BoardCurrentColumnContext.Provider, { value: column, children: column.value
|
|
12
|
+
return /* @__PURE__ */ jsx(BoardCurrentColumnContext.Provider, { value: column, children: isEntityAccessor(column.value) ? /* @__PURE__ */ jsx(Entity, { accessor: column.value, children }) : children }, column.id);
|
|
14
13
|
}) });
|
|
15
14
|
};
|
|
16
15
|
BoardEachColumn.staticRender = ({ children }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BoardEachColumn.js","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor } from '@contember/binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{column.value
|
|
1
|
+
{"version":3,"file":"BoardEachColumn.js","sources":["../../../../../packages/react-board/src/components/BoardEachColumn.tsx"],"sourcesContent":["import { EntityAccessor, isEntityAccessor } from '@contember/react-binding'\nimport { Entity } from '@contember/react-binding'\nimport { BoardCurrentColumnContext, useBoardColumns } from '../contexts'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from './BoardColumn'\nimport { BoardNullColumnPlaceholder } from '../const'\n\nexport const BoardEachColumn = ({ children }: {\n\tchildren: ReactNode\n}) => {\n\tconst columns = useBoardColumns()\n\n\treturn <>\n\t\t{columns.map(column => {\n\t\t\tif (column.id === BoardNullColumnPlaceholder) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<BoardCurrentColumnContext.Provider value={column} key={column.id}>\n\t\t\t\t\t{isEntityAccessor(column.value) ? (\n\t\t\t\t\t\t<Entity accessor={column.value}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</Entity>\n\t\t\t\t\t) : children}\n\t\t\t\t</BoardCurrentColumnContext.Provider>\n\t\t\t)\n\t\t})}\n\t</>\n}\nBoardEachColumn.staticRender = ({ children }: { children: ReactNode }) => {\n\treturn <BoardColumn>{children}</BoardColumn>\n}\n"],"names":[],"mappings":";;;;;AAOO,MAAM,kBAAkB,CAAC,EAAE,eAE5B;AACL,QAAM,UAAU;AAET,SAAA,oBAAA,UAAA,EACL,UAAQ,QAAA,IAAI,CAAU,WAAA;AAClB,QAAA,OAAO,OAAO,4BAA4B;AACtC,aAAA;AAAA,IACR;AACA,+BACE,0BAA0B,UAA1B,EAAmC,OAAO,QACzC,2BAAiB,OAAO,KAAK,IAC5B,oBAAA,QAAA,EAAO,UAAU,OAAO,OACvB,UACF,IACG,SAAA,GALmD,OAAO,EAM/D;AAAA,EAED,CAAA,EACF,CAAA;AACD;AACA,gBAAgB,eAAe,CAAC,EAAE,eAAwC;AAClE,SAAA,oBAAC,eAAa,SAAS,CAAA;AAC/B;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boardAnalyzer.cjs","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAIC,UAAS,SAAA;AACvG,MAAM,aAAa,IAAID,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAIE,YAAW,WAAA;AAEtG,MAAM,gBAAgB,IAAIC,wBAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
|
|
1
|
+
{"version":3,"file":"boardAnalyzer.cjs","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":["Leaf","BoardItem","BoardColumn","ChildrenAnalyzer"],"mappings":";;;;;AAMA,MAAM,WAAW,IAAIA,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAIC,UAAS,SAAA;AACvG,MAAM,aAAa,IAAID,wBAAK,KAAA,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAIE,YAAW,WAAA;AAEtG,MAAM,gBAAgB,IAAIC,wBAAA,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boardAnalyzer.js","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAI,SAAS;AACvG,MAAM,aAAa,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAI,WAAW;AAEtG,MAAM,gBAAgB,IAAI,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
|
|
1
|
+
{"version":3,"file":"boardAnalyzer.js","sources":["../../../../../packages/react-board/src/internal/boardAnalyzer.ts"],"sourcesContent":["import { Environment } from '@contember/react-binding'\nimport { ChildrenAnalyzer, Leaf } from '@contember/react-multipass-rendering'\nimport { BoardItem } from '../components/BoardItem'\nimport { ReactNode } from 'react'\nimport { BoardColumn } from '../components/BoardColumn'\n\nconst itemLeaf = new Leaf(node => ({ type: 'item' as const, children: node.props.children }), BoardItem)\nconst columnLeaf = new Leaf(node => ({ type: 'column' as const, children: node.props.children }), BoardColumn)\n\nexport const boardAnalyzer = new ChildrenAnalyzer<\n\t{ type: 'column' | 'item'; children: ReactNode },\n\tnever,\n\tEnvironment\n>([itemLeaf, columnLeaf], {\n\tstaticRenderFactoryName: 'staticRender',\n\tstaticContextFactoryName: 'generateEnvironment',\n})\n"],"names":[],"mappings":";;;AAMA,MAAM,WAAW,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,QAAiB,UAAU,KAAK,MAAM,SAAS,IAAI,SAAS;AACvG,MAAM,aAAa,IAAI,KAAK,CAAA,UAAS,EAAE,MAAM,UAAmB,UAAU,KAAK,MAAM,SAAS,IAAI,WAAW;AAEtG,MAAM,gBAAgB,IAAI,iBAI/B,CAAC,UAAU,UAAU,GAAG;AAAA,EACzB,yBAAyB;AAAA,EACzB,0BAA0B;AAC3B,CAAC;"}
|
|
@@ -25,7 +25,7 @@ const useDynamicBoard = ({
|
|
|
25
25
|
const columnEntitiesGetter = columnEntities.getAccessor;
|
|
26
26
|
const exitingColumnIds = React.useMemo(() => new Set(Array.from(columnEntities).map((it) => it.id)), [columnEntities]);
|
|
27
27
|
const getDiscriminatorValue = React.useCallback((entity) => {
|
|
28
|
-
const entityId = entity.
|
|
28
|
+
const entityId = entity.getEntity(desugaredDiscriminationField).id;
|
|
29
29
|
return exitingColumnIds.has(entityId) ? entityId : null;
|
|
30
30
|
}, [desugaredDiscriminationField, exitingColumnIds]);
|
|
31
31
|
const groupItemsByColumn = useGroupItemsByColumn.useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
@@ -48,7 +48,7 @@ const useDynamicBoard = ({
|
|
|
48
48
|
}, [columnEntitiesGetter, desugaredColumnSortableByField]);
|
|
49
49
|
const connectItemToColumn = React.useCallback((item, column) => {
|
|
50
50
|
const hasOne = desugaredDiscriminationField.hasOneRelationPath;
|
|
51
|
-
const parentEntity = item.
|
|
51
|
+
const parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) });
|
|
52
52
|
if (column) {
|
|
53
53
|
parentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column);
|
|
54
54
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDynamicBoard.cjs","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.
|
|
1
|
+
{"version":3,"file":"useDynamicBoard.cjs","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":["useCallback","sortEntities","useDesugaredRelativeSingleField","useDesugaredRelativeSingleEntity","useMemo","useGroupItemsByColumn","useCreateBoardColumns","columnEntities","BindingError","addEntityAtIndex","arrayMove","repairEntitiesOrder","useBoardItemsMethods"],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ const useDynamicBoard = ({
|
|
|
23
23
|
const columnEntitiesGetter = columnEntities.getAccessor;
|
|
24
24
|
const exitingColumnIds = useMemo(() => new Set(Array.from(columnEntities).map((it) => it.id)), [columnEntities]);
|
|
25
25
|
const getDiscriminatorValue = useCallback((entity) => {
|
|
26
|
-
const entityId = entity.
|
|
26
|
+
const entityId = entity.getEntity(desugaredDiscriminationField).id;
|
|
27
27
|
return exitingColumnIds.has(entityId) ? entityId : null;
|
|
28
28
|
}, [desugaredDiscriminationField, exitingColumnIds]);
|
|
29
29
|
const groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
@@ -46,7 +46,7 @@ const useDynamicBoard = ({
|
|
|
46
46
|
}, [columnEntitiesGetter, desugaredColumnSortableByField]);
|
|
47
47
|
const connectItemToColumn = useCallback((item, column) => {
|
|
48
48
|
const hasOne = desugaredDiscriminationField.hasOneRelationPath;
|
|
49
|
-
const parentEntity = item.
|
|
49
|
+
const parentEntity = item.getEntity({ hasOneRelationPath: hasOne.slice(0, -1) });
|
|
50
50
|
if (column) {
|
|
51
51
|
parentEntity.connectEntityAtField(hasOne[hasOne.length - 1].field, column);
|
|
52
52
|
} else {
|
|
@@ -1 +1 @@
|
|
|
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.
|
|
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;AACvB,QAAI,CAAC,gCAAgC;AACpC,UAAI,UAAU,QAAW;AACjBA,eAAAA,gBAAe,gBAAgB,UAAU;AAAA,MACjD;AACM,YAAA,IAAI,aAAa,8DAA8D;AAAA,IACtF;AACA,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,EAAG,CAAA;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,IACrE;AAAA,EAAA,GAEE,CAAC,6BAA6B,kBAAkB,CAAC;AAG9C,QAAA,aAAa,QAA2C,MAAM;AACnE,QAAI,CAAC,gCAAgC;AAC7B,aAAA;AAAA,IACR;AACO,WAAA,CAAC,QAAQ,UAAU;AACnB,YAAA,gBAAgB,iBAAiB,qBAAA,CAAsB;AAC7D,YAAM,eAAe,cAAc,UAAU,QAAM,GAAG,OAAO,OAAO,EAAE;AACtE,YAAM,gBAAgB,UAAU,eAAe,cAAc,KAAK;AAClE,0BAAoB,gCAAgC,aAAa;AAAA,IAAA;AAAA,EAEhE,GAAA,CAAC,sBAAsB,gCAAgC,gBAAgB,CAAC;AAGrE,QAAA,eAAe,YAAqC,CAAU,WAAA;AACnE,WAAO,aAAa;AACpB,QAAI,0BAA0B;AAC7B,0BAAoB,0BAA0B,MAAM,KAAK,qBAAA,CAAsB,CAAC;AAAA,IACjF;AAAA,EAAA,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,iBAAiB,OAAO;AAC5C;"}
|
|
@@ -15,7 +15,7 @@ const useStaticBoard = ({
|
|
|
15
15
|
const desugaredSortableByField = reactBinding.useDesugaredRelativeSingleField(sortableBy);
|
|
16
16
|
const desugaredDiscriminationField = reactBinding.useDesugaredRelativeSingleField(discriminationField);
|
|
17
17
|
const getDiscriminatorValue = React.useCallback((entity) => {
|
|
18
|
-
return entity.
|
|
18
|
+
return entity.getField(desugaredDiscriminationField).value;
|
|
19
19
|
}, [desugaredDiscriminationField]);
|
|
20
20
|
const groupItemsByColumn = useGroupItemsByColumn.useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
21
21
|
const columnsResult = useCreateBoardColumns.useCreateBoardColumns({
|
|
@@ -25,7 +25,7 @@ const useStaticBoard = ({
|
|
|
25
25
|
items: itemEntities
|
|
26
26
|
});
|
|
27
27
|
const connectItemToColumn = React.useCallback((item, column) => {
|
|
28
|
-
item.
|
|
28
|
+
item.getField(desugaredDiscriminationField).updateValue(column?.value ?? null);
|
|
29
29
|
}, [desugaredDiscriminationField]);
|
|
30
30
|
const { addItem, moveItem, removeItem } = useBoardItemsMethods.useBoardItemsMethods({
|
|
31
31
|
columnIdGetter: (it) => it.value,
|
|
@@ -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.
|
|
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,iBAAiB,OAAO;AAC5C;;"}
|
|
@@ -13,7 +13,7 @@ const useStaticBoard = ({
|
|
|
13
13
|
const desugaredSortableByField = useDesugaredRelativeSingleField(sortableBy);
|
|
14
14
|
const desugaredDiscriminationField = useDesugaredRelativeSingleField(discriminationField);
|
|
15
15
|
const getDiscriminatorValue = useCallback((entity) => {
|
|
16
|
-
return entity.
|
|
16
|
+
return entity.getField(desugaredDiscriminationField).value;
|
|
17
17
|
}, [desugaredDiscriminationField]);
|
|
18
18
|
const groupItemsByColumn = useGroupItemsByColumn(getDiscriminatorValue, desugaredSortableByField);
|
|
19
19
|
const columnsResult = useCreateBoardColumns({
|
|
@@ -23,7 +23,7 @@ const useStaticBoard = ({
|
|
|
23
23
|
items: itemEntities
|
|
24
24
|
});
|
|
25
25
|
const connectItemToColumn = useCallback((item, column) => {
|
|
26
|
-
item.
|
|
26
|
+
item.getField(desugaredDiscriminationField).updateValue(column?.value ?? null);
|
|
27
27
|
}, [desugaredDiscriminationField]);
|
|
28
28
|
const { addItem, moveItem, removeItem } = useBoardItemsMethods({
|
|
29
29
|
columnIdGetter: (it) => it.value,
|
|
@@ -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.
|
|
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,iBAAiB,OAAO;AAC5C;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Environment } from '@contember/binding';
|
|
1
|
+
import { Environment } from '@contember/react-binding';
|
|
2
2
|
import { ChildrenAnalyzer } from '@contember/react-multipass-rendering';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
export declare const boardAnalyzer: ChildrenAnalyzer<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boardAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/internal/boardAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"boardAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/internal/boardAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAQ,MAAM,sCAAsC,CAAA;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMjC,eAAO,MAAM,aAAa;UACjB,QAAQ,GAAG,MAAM;cAAY,SAAS;uDAM7C,CAAA"}
|