@contember/react-select 1.3.0-alpha.23 → 1.3.0-alpha.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/components/MultiSelect.cjs +7 -13
- package/dist/development/components/MultiSelect.cjs.map +1 -1
- package/dist/development/components/MultiSelect.js +8 -14
- package/dist/development/components/MultiSelect.js.map +1 -1
- package/dist/development/components/Select.cjs +7 -13
- package/dist/development/components/Select.cjs.map +1 -1
- package/dist/development/components/Select.js +8 -14
- package/dist/development/components/Select.js.map +1 -1
- package/dist/development/components/SelectDataView.cjs +3 -7
- package/dist/development/components/SelectDataView.cjs.map +1 -1
- package/dist/development/components/SelectDataView.js +4 -8
- package/dist/development/components/SelectDataView.js.map +1 -1
- package/dist/development/components/SortableMultiSelect.cjs +9 -15
- package/dist/development/components/SortableMultiSelect.cjs.map +1 -1
- package/dist/development/components/SortableMultiSelect.js +10 -16
- package/dist/development/components/SortableMultiSelect.js.map +1 -1
- package/dist/development/contexts.cjs +0 -5
- package/dist/development/contexts.cjs.map +1 -1
- package/dist/development/contexts.js +1 -6
- package/dist/development/contexts.js.map +1 -1
- package/dist/development/index.cjs +0 -4
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +2 -6
- package/dist/development/index.js.map +1 -1
- package/dist/production/components/MultiSelect.cjs +2 -4
- package/dist/production/components/MultiSelect.cjs.map +1 -1
- package/dist/production/components/MultiSelect.js +3 -5
- package/dist/production/components/MultiSelect.js.map +1 -1
- package/dist/production/components/Select.cjs +2 -4
- package/dist/production/components/Select.cjs.map +1 -1
- package/dist/production/components/Select.js +3 -5
- package/dist/production/components/Select.js.map +1 -1
- package/dist/production/components/SelectDataView.cjs +2 -6
- package/dist/production/components/SelectDataView.cjs.map +1 -1
- package/dist/production/components/SelectDataView.js +3 -7
- package/dist/production/components/SelectDataView.js.map +1 -1
- package/dist/production/components/SortableMultiSelect.cjs +2 -4
- package/dist/production/components/SortableMultiSelect.cjs.map +1 -1
- package/dist/production/components/SortableMultiSelect.js +3 -5
- package/dist/production/components/SortableMultiSelect.js.map +1 -1
- package/dist/production/contexts.cjs +0 -5
- package/dist/production/contexts.cjs.map +1 -1
- package/dist/production/contexts.js +1 -6
- package/dist/production/contexts.js.map +1 -1
- package/dist/production/index.cjs +0 -4
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +2 -6
- package/dist/production/index.js.map +1 -1
- package/dist/types/components/MultiSelect.d.ts +2 -3
- package/dist/types/components/MultiSelect.d.ts.map +1 -1
- package/dist/types/components/Select.d.ts +2 -3
- package/dist/types/components/Select.d.ts.map +1 -1
- package/dist/types/components/SelectDataView.d.ts.map +1 -1
- package/dist/types/components/SortableMultiSelect.d.ts +2 -3
- package/dist/types/components/SortableMultiSelect.d.ts.map +1 -1
- package/dist/types/contexts.d.ts +0 -4
- package/dist/types/contexts.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +1 -1
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/components/MultiSelect.tsx +3 -8
- package/src/components/Select.tsx +2 -7
- package/src/components/SelectDataView.tsx +2 -5
- package/src/components/SortableMultiSelect.tsx +3 -8
- package/src/contexts.ts +0 -5
- package/src/hooks/index.ts +1 -1
- package/dist/development/hooks/useSelectFilter.cjs +0 -31
- package/dist/development/hooks/useSelectFilter.cjs.map +0 -1
- package/dist/development/hooks/useSelectFilter.js +0 -31
- package/dist/development/hooks/useSelectFilter.js.map +0 -1
- package/dist/production/hooks/useSelectFilter.cjs +0 -31
- package/dist/production/hooks/useSelectFilter.cjs.map +0 -1
- package/dist/production/hooks/useSelectFilter.js +0 -31
- package/dist/production/hooks/useSelectFilter.js.map +0 -1
- package/dist/types/hooks/useSelectFilter.d.ts +0 -8
- package/dist/types/hooks/useSelectFilter.d.ts.map +0 -1
- package/src/hooks/useSelectFilter.ts +0 -35
|
@@ -5,11 +5,9 @@ const react = require("react");
|
|
|
5
5
|
const contexts = require("../contexts.cjs");
|
|
6
6
|
const reactBinding = require("@contember/react-binding");
|
|
7
7
|
const reactUtils = require("@contember/react-utils");
|
|
8
|
-
const
|
|
9
|
-
const MultiSelect = reactBinding.Component(({ field, children, options, onSelect, onUnselect, filterField }) => {
|
|
8
|
+
const MultiSelect = reactBinding.Component(({ field, children, options, onSelect, onUnselect }) => {
|
|
10
9
|
const entities = reactBinding.useEntityList({ field });
|
|
11
10
|
options ?? (options = entities.name);
|
|
12
|
-
const filter = useSelectFilter.useSelectFilter({ filterField, marker: entities.getMarker() });
|
|
13
11
|
const entitiesArr = react.useMemo(() => Array.from(entities), [entities]);
|
|
14
12
|
const selectedEntities = react.useMemo(() => Array.from(entities).map((it) => it.id), [entities]);
|
|
15
13
|
const handler = reactUtils.useReferentiallyStableCallback((entity, action = "toggle") => {
|
|
@@ -28,31 +26,27 @@ const MultiSelect = reactBinding.Component(({ field, children, options, onSelect
|
|
|
28
26
|
const isSelected = react.useCallback((entity) => {
|
|
29
27
|
return selectedEntities.includes(entity.id);
|
|
30
28
|
}, [selectedEntities]);
|
|
31
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectOptionsContext.Provider, { value: options, children
|
|
29
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectOptionsContext.Provider, { value: options, children }, void 0, false, {
|
|
32
30
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
33
|
-
lineNumber:
|
|
34
|
-
columnNumber: 7
|
|
35
|
-
}, void 0) }, void 0, false, {
|
|
36
|
-
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
37
|
-
lineNumber: 45,
|
|
31
|
+
lineNumber: 42,
|
|
38
32
|
columnNumber: 6
|
|
39
33
|
}, void 0) }, void 0, false, {
|
|
40
34
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
41
|
-
lineNumber:
|
|
35
|
+
lineNumber: 41,
|
|
42
36
|
columnNumber: 5
|
|
43
37
|
}, void 0) }, void 0, false, {
|
|
44
38
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
45
|
-
lineNumber:
|
|
39
|
+
lineNumber: 40,
|
|
46
40
|
columnNumber: 4
|
|
47
41
|
}, void 0) }, void 0, false, {
|
|
48
42
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
49
|
-
lineNumber:
|
|
43
|
+
lineNumber: 39,
|
|
50
44
|
columnNumber: 3
|
|
51
45
|
}, void 0);
|
|
52
46
|
}, ({ field, children }) => {
|
|
53
47
|
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.HasMany, { field, expectedMutation: "connectOrDisconnect", children }, void 0, false, {
|
|
54
48
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
55
|
-
lineNumber:
|
|
49
|
+
lineNumber: 51,
|
|
56
50
|
columnNumber: 3
|
|
57
51
|
}, void 0);
|
|
58
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.cjs","sources":["../../../src/components/MultiSelect.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext
|
|
1
|
+
{"version":3,"file":"MultiSelect.cjs","sources":["../../../src/components/MultiSelect.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext } from '../contexts'\nimport { Component, EntityAccessor, HasMany, SugaredQualifiedEntityList, SugaredRelativeEntityList, useEntityList } from '@contember/react-binding'\nimport { useReferentiallyStableCallback } from '@contember/react-utils'\nimport { SelectEvents } from '../types'\n\nexport type MultiSelectProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tfield: SugaredRelativeEntityList['field']\n\t\toptions?: SugaredQualifiedEntityList['entities']\n\t}\n\t& SelectEvents\n\nexport const MultiSelect = Component(({ field, children, options, onSelect, onUnselect }: MultiSelectProps) => {\n\tconst entities = useEntityList({ field })\n\toptions ??= entities.name\n\tconst entitiesArr = useMemo(() => Array.from(entities), [entities])\n\tconst selectedEntities = useMemo(() => Array.from(entities).map(it => it.id), [entities])\n\n\tconst handler = useReferentiallyStableCallback<SelectHandler>((entity, action = 'toggle') => {\n\t\tconst isSelected = selectedEntities.includes(entity.id)\n\t\tif (action === 'toggle') {\n\t\t\taction = isSelected ? 'unselect' : 'select'\n\t\t}\n\t\tif (action === 'unselect' && isSelected) {\n\t\t\tentities.disconnectEntity(entity)\n\t\t\tonUnselect?.(entity)\n\t\t} else if (action === 'select' && !isSelected) {\n\t\t\tentities.connectEntity(entity)\n\t\t\tonSelect?.(entity)\n\t\t}\n\t})\n\tconst isSelected = useCallback((entity: EntityAccessor) => {\n\t\treturn selectedEntities.includes(entity.id)\n\t}, [selectedEntities])\n\n\treturn (\n\t\t<SelectCurrentEntitiesContext.Provider value={entitiesArr}>\n\t\t\t<SelectIsSelectedContext.Provider value={isSelected}>\n\t\t\t\t<SelectHandleSelectContext.Provider value={handler}>\n\t\t\t\t\t<SelectOptionsContext.Provider value={options}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</SelectOptionsContext.Provider>\n\t\t\t\t</SelectHandleSelectContext.Provider>\n\t\t\t</SelectIsSelectedContext.Provider>\n\t\t</SelectCurrentEntitiesContext.Provider>\n\t)\n}, ({ field, children }) => {\n\treturn (\n\t\t<HasMany field={field} expectedMutation=\"connectOrDisconnect\">\n\t\t\t{children}\n\t\t</HasMany>\n\t)\n})\n\n"],"names":["Component","useEntityList","useMemo","useReferentiallyStableCallback","isSelected","useCallback","jsxDEV","SelectCurrentEntitiesContext","SelectIsSelectedContext","SelectHandleSelectContext","SelectOptionsContext","this","HasMany"],"mappings":";;;;;;;AAca,MAAA,cAAcA,aAAAA,UAAU,CAAC,EAAE,OAAO,UAAU,SAAS,UAAU,iBAAmC;AAC9G,QAAM,WAAWC,aAAAA,cAAc,EAAE,MAAO,CAAA;AACxC,wBAAY,SAAS;AACf,QAAA,cAAcC,cAAQ,MAAM,MAAM,KAAK,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAClE,QAAM,mBAAmBA,MAAA,QAAQ,MAAM,MAAM,KAAK,QAAQ,EAAE,IAAI,CAAA,OAAM,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC;AAExF,QAAM,UAAUC,WAAA,+BAA8C,CAAC,QAAQ,SAAS,aAAa;AAC5F,UAAMC,cAAa,iBAAiB,SAAS,OAAO,EAAE;AACtD,QAAI,WAAW,UAAU;AACxB,eAASA,cAAa,aAAa;AAAA,IACpC;AACI,QAAA,WAAW,cAAcA,aAAY;AACxC,eAAS,iBAAiB,MAAM;AAChC,mBAAa,MAAM;AAAA,IACT,WAAA,WAAW,YAAY,CAACA,aAAY;AAC9C,eAAS,cAAc,MAAM;AAC7B,iBAAW,MAAM;AAAA,IAClB;AAAA,EAAA,CACA;AACK,QAAA,aAAaC,kBAAY,CAAC,WAA2B;AACnD,WAAA,iBAAiB,SAAS,OAAO,EAAE;AAAA,EAAA,GACxC,CAAC,gBAAgB,CAAC;AAGpB,SAAAC,8BAAA,OAACC,SAA6B,6BAAA,UAA7B,EAAsC,OAAO,aAC7C,UAACD,8BAAAA,OAAAE,SAAAA,wBAAwB,UAAxB,EAAiC,OAAO,YACxC,+CAACC,mCAA0B,UAA1B,EAAmC,OAAO,SAC1C,UAAAH,8BAAA,OAACI,8BAAqB,UAArB,EAA8B,OAAO,SACpC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAQA,GAAAA,MAAA;AAEF,GAAG,CAAC,EAAE,OAAO,eAAe;AAC3B,SACEL,8BAAA,OAAAM,sBAAA,EAAQ,OAAc,kBAAiB,uBACtC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAD,MAAA;AAEF,CAAC;;"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { useMemo, useCallback } from "react";
|
|
3
|
-
import { SelectCurrentEntitiesContext, SelectIsSelectedContext, SelectHandleSelectContext, SelectOptionsContext
|
|
3
|
+
import { SelectCurrentEntitiesContext, SelectIsSelectedContext, SelectHandleSelectContext, SelectOptionsContext } from "../contexts.js";
|
|
4
4
|
import { Component, useEntityList, HasMany } from "@contember/react-binding";
|
|
5
5
|
import { useReferentiallyStableCallback } from "@contember/react-utils";
|
|
6
|
-
|
|
7
|
-
const MultiSelect = Component(({ field, children, options, onSelect, onUnselect, filterField }) => {
|
|
6
|
+
const MultiSelect = Component(({ field, children, options, onSelect, onUnselect }) => {
|
|
8
7
|
const entities = useEntityList({ field });
|
|
9
8
|
options ?? (options = entities.name);
|
|
10
|
-
const filter = useSelectFilter({ filterField, marker: entities.getMarker() });
|
|
11
9
|
const entitiesArr = useMemo(() => Array.from(entities), [entities]);
|
|
12
10
|
const selectedEntities = useMemo(() => Array.from(entities).map((it) => it.id), [entities]);
|
|
13
11
|
const handler = useReferentiallyStableCallback((entity, action = "toggle") => {
|
|
@@ -26,31 +24,27 @@ const MultiSelect = Component(({ field, children, options, onSelect, onUnselect,
|
|
|
26
24
|
const isSelected = useCallback((entity) => {
|
|
27
25
|
return selectedEntities.includes(entity.id);
|
|
28
26
|
}, [selectedEntities]);
|
|
29
|
-
return /* @__PURE__ */ jsxDEV(SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDEV(SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDEV(SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDEV(SelectOptionsContext.Provider, { value: options, children
|
|
27
|
+
return /* @__PURE__ */ jsxDEV(SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDEV(SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDEV(SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDEV(SelectOptionsContext.Provider, { value: options, children }, void 0, false, {
|
|
30
28
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
31
|
-
lineNumber:
|
|
32
|
-
columnNumber: 7
|
|
33
|
-
}, void 0) }, void 0, false, {
|
|
34
|
-
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
35
|
-
lineNumber: 45,
|
|
29
|
+
lineNumber: 42,
|
|
36
30
|
columnNumber: 6
|
|
37
31
|
}, void 0) }, void 0, false, {
|
|
38
32
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
39
|
-
lineNumber:
|
|
33
|
+
lineNumber: 41,
|
|
40
34
|
columnNumber: 5
|
|
41
35
|
}, void 0) }, void 0, false, {
|
|
42
36
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
43
|
-
lineNumber:
|
|
37
|
+
lineNumber: 40,
|
|
44
38
|
columnNumber: 4
|
|
45
39
|
}, void 0) }, void 0, false, {
|
|
46
40
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
47
|
-
lineNumber:
|
|
41
|
+
lineNumber: 39,
|
|
48
42
|
columnNumber: 3
|
|
49
43
|
}, void 0);
|
|
50
44
|
}, ({ field, children }) => {
|
|
51
45
|
return /* @__PURE__ */ jsxDEV(HasMany, { field, expectedMutation: "connectOrDisconnect", children }, void 0, false, {
|
|
52
46
|
fileName: "/__w/interface/interface/packages/react-select/src/components/MultiSelect.tsx",
|
|
53
|
-
lineNumber:
|
|
47
|
+
lineNumber: 51,
|
|
54
48
|
columnNumber: 3
|
|
55
49
|
}, void 0);
|
|
56
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext
|
|
1
|
+
{"version":3,"file":"MultiSelect.js","sources":["../../../src/components/MultiSelect.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext } from '../contexts'\nimport { Component, EntityAccessor, HasMany, SugaredQualifiedEntityList, SugaredRelativeEntityList, useEntityList } from '@contember/react-binding'\nimport { useReferentiallyStableCallback } from '@contember/react-utils'\nimport { SelectEvents } from '../types'\n\nexport type MultiSelectProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tfield: SugaredRelativeEntityList['field']\n\t\toptions?: SugaredQualifiedEntityList['entities']\n\t}\n\t& SelectEvents\n\nexport const MultiSelect = Component(({ field, children, options, onSelect, onUnselect }: MultiSelectProps) => {\n\tconst entities = useEntityList({ field })\n\toptions ??= entities.name\n\tconst entitiesArr = useMemo(() => Array.from(entities), [entities])\n\tconst selectedEntities = useMemo(() => Array.from(entities).map(it => it.id), [entities])\n\n\tconst handler = useReferentiallyStableCallback<SelectHandler>((entity, action = 'toggle') => {\n\t\tconst isSelected = selectedEntities.includes(entity.id)\n\t\tif (action === 'toggle') {\n\t\t\taction = isSelected ? 'unselect' : 'select'\n\t\t}\n\t\tif (action === 'unselect' && isSelected) {\n\t\t\tentities.disconnectEntity(entity)\n\t\t\tonUnselect?.(entity)\n\t\t} else if (action === 'select' && !isSelected) {\n\t\t\tentities.connectEntity(entity)\n\t\t\tonSelect?.(entity)\n\t\t}\n\t})\n\tconst isSelected = useCallback((entity: EntityAccessor) => {\n\t\treturn selectedEntities.includes(entity.id)\n\t}, [selectedEntities])\n\n\treturn (\n\t\t<SelectCurrentEntitiesContext.Provider value={entitiesArr}>\n\t\t\t<SelectIsSelectedContext.Provider value={isSelected}>\n\t\t\t\t<SelectHandleSelectContext.Provider value={handler}>\n\t\t\t\t\t<SelectOptionsContext.Provider value={options}>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</SelectOptionsContext.Provider>\n\t\t\t\t</SelectHandleSelectContext.Provider>\n\t\t\t</SelectIsSelectedContext.Provider>\n\t\t</SelectCurrentEntitiesContext.Provider>\n\t)\n}, ({ field, children }) => {\n\treturn (\n\t\t<HasMany field={field} expectedMutation=\"connectOrDisconnect\">\n\t\t\t{children}\n\t\t</HasMany>\n\t)\n})\n\n"],"names":["isSelected","this"],"mappings":";;;;;AAca,MAAA,cAAc,UAAU,CAAC,EAAE,OAAO,UAAU,SAAS,UAAU,iBAAmC;AAC9G,QAAM,WAAW,cAAc,EAAE,MAAO,CAAA;AACxC,wBAAY,SAAS;AACf,QAAA,cAAc,QAAQ,MAAM,MAAM,KAAK,QAAQ,GAAG,CAAC,QAAQ,CAAC;AAClE,QAAM,mBAAmB,QAAQ,MAAM,MAAM,KAAK,QAAQ,EAAE,IAAI,CAAA,OAAM,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC;AAExF,QAAM,UAAU,+BAA8C,CAAC,QAAQ,SAAS,aAAa;AAC5F,UAAMA,cAAa,iBAAiB,SAAS,OAAO,EAAE;AACtD,QAAI,WAAW,UAAU;AACxB,eAASA,cAAa,aAAa;AAAA,IACpC;AACI,QAAA,WAAW,cAAcA,aAAY;AACxC,eAAS,iBAAiB,MAAM;AAChC,mBAAa,MAAM;AAAA,IACT,WAAA,WAAW,YAAY,CAACA,aAAY;AAC9C,eAAS,cAAc,MAAM;AAC7B,iBAAW,MAAM;AAAA,IAClB;AAAA,EAAA,CACA;AACK,QAAA,aAAa,YAAY,CAAC,WAA2B;AACnD,WAAA,iBAAiB,SAAS,OAAO,EAAE;AAAA,EAAA,GACxC,CAAC,gBAAgB,CAAC;AAGpB,SAAA,uBAAC,6BAA6B,UAA7B,EAAsC,OAAO,aAC7C,UAAC,uBAAA,wBAAwB,UAAxB,EAAiC,OAAO,YACxC,iCAAC,0BAA0B,UAA1B,EAAmC,OAAO,SAC1C,UAAA,uBAAC,qBAAqB,UAArB,EAA8B,OAAO,SACpC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAQA,GAAAA,MAAA;AAEF,GAAG,CAAC,EAAE,OAAO,eAAe;AAC3B,SACE,uBAAA,SAAA,EAAQ,OAAc,kBAAiB,uBACtC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAA,MAAA;AAEF,CAAC;"}
|
|
@@ -5,12 +5,10 @@ const react = require("react");
|
|
|
5
5
|
const contexts = require("../contexts.cjs");
|
|
6
6
|
const reactBinding = require("@contember/react-binding");
|
|
7
7
|
const reactUtils = require("@contember/react-utils");
|
|
8
|
-
const
|
|
9
|
-
const Select = reactBinding.Component(({ field, children, onUnselect, onSelect, options, filterField }) => {
|
|
8
|
+
const Select = reactBinding.Component(({ field, children, onUnselect, onSelect, options }) => {
|
|
10
9
|
const entity = reactBinding.useEntity();
|
|
11
10
|
const selectedEntity = entity.getEntity({ field });
|
|
12
11
|
options ?? (options = selectedEntity.name);
|
|
13
|
-
const filter = useSelectFilter.useSelectFilter({ filterField, marker: selectedEntity.getMarker() });
|
|
14
12
|
const entityExists = selectedEntity.existsOnServer || selectedEntity.hasUnpersistedChanges;
|
|
15
13
|
const entitiesArr = react.useMemo(() => entityExists ? [selectedEntity] : [], [entityExists, selectedEntity]);
|
|
16
14
|
const handleSelect = reactUtils.useReferentiallyStableCallback((selected, action = "toggle") => {
|
|
@@ -26,31 +24,27 @@ const Select = reactBinding.Component(({ field, children, onUnselect, onSelect,
|
|
|
26
24
|
}
|
|
27
25
|
});
|
|
28
26
|
const isSelected = react.useCallback((entity2) => entity2.id === selectedEntity.id, [selectedEntity.id]);
|
|
29
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectHandleSelectContext.Provider, { value: handleSelect, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectOptionsContext.Provider, { value: options, children
|
|
27
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectHandleSelectContext.Provider, { value: handleSelect, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectOptionsContext.Provider, { value: options, children }, void 0, false, {
|
|
30
28
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
31
|
-
lineNumber:
|
|
32
|
-
columnNumber: 7
|
|
33
|
-
}, void 0) }, void 0, false, {
|
|
34
|
-
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
35
|
-
lineNumber: 44,
|
|
29
|
+
lineNumber: 41,
|
|
36
30
|
columnNumber: 6
|
|
37
31
|
}, void 0) }, void 0, false, {
|
|
38
32
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
39
|
-
lineNumber:
|
|
33
|
+
lineNumber: 40,
|
|
40
34
|
columnNumber: 5
|
|
41
35
|
}, void 0) }, void 0, false, {
|
|
42
36
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
43
|
-
lineNumber:
|
|
37
|
+
lineNumber: 39,
|
|
44
38
|
columnNumber: 4
|
|
45
39
|
}, void 0) }, void 0, false, {
|
|
46
40
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
47
|
-
lineNumber:
|
|
41
|
+
lineNumber: 38,
|
|
48
42
|
columnNumber: 3
|
|
49
43
|
}, void 0);
|
|
50
44
|
}, ({ field, children }) => {
|
|
51
45
|
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.HasOne, { field, expectedMutation: "connectOrDisconnect", children }, void 0, false, {
|
|
52
46
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
53
|
-
lineNumber:
|
|
47
|
+
lineNumber: 50,
|
|
54
48
|
columnNumber: 3
|
|
55
49
|
}, void 0);
|
|
56
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.cjs","sources":["../../../src/components/Select.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext
|
|
1
|
+
{"version":3,"file":"Select.cjs","sources":["../../../src/components/Select.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext } from '../contexts'\nimport { Component, EntityAccessor, HasOne, SugaredQualifiedEntityList, SugaredRelativeSingleEntity, useEntity } from '@contember/react-binding'\nimport { useReferentiallyStableCallback } from '@contember/react-utils'\nimport { SelectEvents } from '../types'\n\nexport type SelectProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tfield: SugaredRelativeSingleEntity['field']\n\t\toptions?: SugaredQualifiedEntityList['entities']\n\t}\n\t& SelectEvents\n\nexport const Select = Component(({ field, children, onUnselect, onSelect, options }: SelectProps) => {\n\tconst entity = useEntity()\n\tconst selectedEntity = entity.getEntity({ field })\n\toptions ??= selectedEntity.name\n\n\tconst entityExists = selectedEntity.existsOnServer || selectedEntity.hasUnpersistedChanges\n\tconst entitiesArr = useMemo(() => entityExists ? [selectedEntity] : [], [entityExists, selectedEntity])\n\n\tconst handleSelect = useReferentiallyStableCallback<SelectHandler>((selected, action = 'toggle') => {\n\t\tif (action === 'toggle') {\n\t\t\taction = selected.id === selectedEntity.id ? 'unselect' : 'select'\n\t\t}\n\t\tif (action === 'unselect') {\n\t\t\tentity.disconnectEntityAtField({ field })\n\t\t\tonUnselect?.(selected)\n\t\t} else if (action === 'select') {\n\t\t\tentity.connectEntityAtField({ field }, selected)\n\t\t\tonSelect?.(selected)\n\t\t}\n\t})\n\tconst isSelected = useCallback((entity: EntityAccessor) => entity.id === selectedEntity.id, [selectedEntity.id])\n\n\treturn (\n\t\t<SelectCurrentEntitiesContext.Provider value={entitiesArr}>\n\t\t\t<SelectIsSelectedContext.Provider value={isSelected}>\n\t\t\t\t<SelectHandleSelectContext.Provider value={handleSelect}>\n\t\t\t\t\t<SelectOptionsContext.Provider value={options}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t</SelectOptionsContext.Provider>\n\t\t\t\t</SelectHandleSelectContext.Provider>\n\t\t\t</SelectIsSelectedContext.Provider>\n\t\t</SelectCurrentEntitiesContext.Provider>\n\t)\n}, ({ field, children }) => {\n\treturn (\n\t\t<HasOne field={field} expectedMutation=\"connectOrDisconnect\">\n\t\t\t{children}\n\t\t</HasOne>\n\t)\n})\n\n"],"names":["Component","useEntity","useMemo","useReferentiallyStableCallback","useCallback","entity","jsxDEV","SelectCurrentEntitiesContext","SelectIsSelectedContext","SelectHandleSelectContext","SelectOptionsContext","this","HasOne"],"mappings":";;;;;;;AAca,MAAA,SAASA,aAAAA,UAAU,CAAC,EAAE,OAAO,UAAU,YAAY,UAAU,cAA2B;AACpG,QAAM,SAASC,aAAAA;AACf,QAAM,iBAAiB,OAAO,UAAU,EAAE,MAAO,CAAA;AACjD,wBAAY,eAAe;AAErB,QAAA,eAAe,eAAe,kBAAkB,eAAe;AACrE,QAAM,cAAcC,MAAAA,QAAQ,MAAM,eAAe,CAAC,cAAc,IAAI,CAAA,GAAI,CAAC,cAAc,cAAc,CAAC;AAEtG,QAAM,eAAeC,WAAA,+BAA8C,CAAC,UAAU,SAAS,aAAa;AACnG,QAAI,WAAW,UAAU;AACxB,eAAS,SAAS,OAAO,eAAe,KAAK,aAAa;AAAA,IAC3D;AACA,QAAI,WAAW,YAAY;AACnB,aAAA,wBAAwB,EAAE,MAAA,CAAO;AACxC,mBAAa,QAAQ;AAAA,IAAA,WACX,WAAW,UAAU;AAC/B,aAAO,qBAAqB,EAAE,MAAM,GAAG,QAAQ;AAC/C,iBAAW,QAAQ;AAAA,IACpB;AAAA,EAAA,CACA;AACK,QAAA,aAAaC,MAAAA,YAAY,CAACC,YAA2BA,QAAO,OAAO,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;AAG9G,SAAAC,8BAAA,OAACC,SAA6B,6BAAA,UAA7B,EAAsC,OAAO,aAC7C,UAACD,8BAAAA,OAAAE,SAAAA,wBAAwB,UAAxB,EAAiC,OAAO,YACxC,+CAACC,mCAA0B,UAA1B,EAAmC,OAAO,cAC1C,UAAAH,8BAAA,OAACI,8BAAqB,UAArB,EAA8B,OAAO,SACnC,SADH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAQA,GAAAA,MAAA;AAEF,GAAG,CAAC,EAAE,OAAO,eAAe;AAC3B,SACEL,8BAAA,OAAAM,qBAAA,EAAO,OAAc,kBAAiB,uBACrC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAD,MAAA;AAEF,CAAC;;"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { useMemo, useCallback } from "react";
|
|
3
|
-
import { SelectCurrentEntitiesContext, SelectIsSelectedContext, SelectHandleSelectContext, SelectOptionsContext
|
|
3
|
+
import { SelectCurrentEntitiesContext, SelectIsSelectedContext, SelectHandleSelectContext, SelectOptionsContext } from "../contexts.js";
|
|
4
4
|
import { Component, useEntity, HasOne } from "@contember/react-binding";
|
|
5
5
|
import { useReferentiallyStableCallback } from "@contember/react-utils";
|
|
6
|
-
|
|
7
|
-
const Select = Component(({ field, children, onUnselect, onSelect, options, filterField }) => {
|
|
6
|
+
const Select = Component(({ field, children, onUnselect, onSelect, options }) => {
|
|
8
7
|
const entity = useEntity();
|
|
9
8
|
const selectedEntity = entity.getEntity({ field });
|
|
10
9
|
options ?? (options = selectedEntity.name);
|
|
11
|
-
const filter = useSelectFilter({ filterField, marker: selectedEntity.getMarker() });
|
|
12
10
|
const entityExists = selectedEntity.existsOnServer || selectedEntity.hasUnpersistedChanges;
|
|
13
11
|
const entitiesArr = useMemo(() => entityExists ? [selectedEntity] : [], [entityExists, selectedEntity]);
|
|
14
12
|
const handleSelect = useReferentiallyStableCallback((selected, action = "toggle") => {
|
|
@@ -24,31 +22,27 @@ const Select = Component(({ field, children, onUnselect, onSelect, options, filt
|
|
|
24
22
|
}
|
|
25
23
|
});
|
|
26
24
|
const isSelected = useCallback((entity2) => entity2.id === selectedEntity.id, [selectedEntity.id]);
|
|
27
|
-
return /* @__PURE__ */ jsxDEV(SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDEV(SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDEV(SelectHandleSelectContext.Provider, { value: handleSelect, children: /* @__PURE__ */ jsxDEV(SelectOptionsContext.Provider, { value: options, children
|
|
25
|
+
return /* @__PURE__ */ jsxDEV(SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDEV(SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDEV(SelectHandleSelectContext.Provider, { value: handleSelect, children: /* @__PURE__ */ jsxDEV(SelectOptionsContext.Provider, { value: options, children }, void 0, false, {
|
|
28
26
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
29
|
-
lineNumber:
|
|
30
|
-
columnNumber: 7
|
|
31
|
-
}, void 0) }, void 0, false, {
|
|
32
|
-
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
33
|
-
lineNumber: 44,
|
|
27
|
+
lineNumber: 41,
|
|
34
28
|
columnNumber: 6
|
|
35
29
|
}, void 0) }, void 0, false, {
|
|
36
30
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
37
|
-
lineNumber:
|
|
31
|
+
lineNumber: 40,
|
|
38
32
|
columnNumber: 5
|
|
39
33
|
}, void 0) }, void 0, false, {
|
|
40
34
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
41
|
-
lineNumber:
|
|
35
|
+
lineNumber: 39,
|
|
42
36
|
columnNumber: 4
|
|
43
37
|
}, void 0) }, void 0, false, {
|
|
44
38
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
45
|
-
lineNumber:
|
|
39
|
+
lineNumber: 38,
|
|
46
40
|
columnNumber: 3
|
|
47
41
|
}, void 0);
|
|
48
42
|
}, ({ field, children }) => {
|
|
49
43
|
return /* @__PURE__ */ jsxDEV(HasOne, { field, expectedMutation: "connectOrDisconnect", children }, void 0, false, {
|
|
50
44
|
fileName: "/__w/interface/interface/packages/react-select/src/components/Select.tsx",
|
|
51
|
-
lineNumber:
|
|
45
|
+
lineNumber: 50,
|
|
52
46
|
columnNumber: 3
|
|
53
47
|
}, void 0);
|
|
54
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../../src/components/Select.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../../src/components/Select.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext } from '../contexts'\nimport { Component, EntityAccessor, HasOne, SugaredQualifiedEntityList, SugaredRelativeSingleEntity, useEntity } from '@contember/react-binding'\nimport { useReferentiallyStableCallback } from '@contember/react-utils'\nimport { SelectEvents } from '../types'\n\nexport type SelectProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tfield: SugaredRelativeSingleEntity['field']\n\t\toptions?: SugaredQualifiedEntityList['entities']\n\t}\n\t& SelectEvents\n\nexport const Select = Component(({ field, children, onUnselect, onSelect, options }: SelectProps) => {\n\tconst entity = useEntity()\n\tconst selectedEntity = entity.getEntity({ field })\n\toptions ??= selectedEntity.name\n\n\tconst entityExists = selectedEntity.existsOnServer || selectedEntity.hasUnpersistedChanges\n\tconst entitiesArr = useMemo(() => entityExists ? [selectedEntity] : [], [entityExists, selectedEntity])\n\n\tconst handleSelect = useReferentiallyStableCallback<SelectHandler>((selected, action = 'toggle') => {\n\t\tif (action === 'toggle') {\n\t\t\taction = selected.id === selectedEntity.id ? 'unselect' : 'select'\n\t\t}\n\t\tif (action === 'unselect') {\n\t\t\tentity.disconnectEntityAtField({ field })\n\t\t\tonUnselect?.(selected)\n\t\t} else if (action === 'select') {\n\t\t\tentity.connectEntityAtField({ field }, selected)\n\t\t\tonSelect?.(selected)\n\t\t}\n\t})\n\tconst isSelected = useCallback((entity: EntityAccessor) => entity.id === selectedEntity.id, [selectedEntity.id])\n\n\treturn (\n\t\t<SelectCurrentEntitiesContext.Provider value={entitiesArr}>\n\t\t\t<SelectIsSelectedContext.Provider value={isSelected}>\n\t\t\t\t<SelectHandleSelectContext.Provider value={handleSelect}>\n\t\t\t\t\t<SelectOptionsContext.Provider value={options}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t</SelectOptionsContext.Provider>\n\t\t\t\t</SelectHandleSelectContext.Provider>\n\t\t\t</SelectIsSelectedContext.Provider>\n\t\t</SelectCurrentEntitiesContext.Provider>\n\t)\n}, ({ field, children }) => {\n\treturn (\n\t\t<HasOne field={field} expectedMutation=\"connectOrDisconnect\">\n\t\t\t{children}\n\t\t</HasOne>\n\t)\n})\n\n"],"names":["entity","this"],"mappings":";;;;;AAca,MAAA,SAAS,UAAU,CAAC,EAAE,OAAO,UAAU,YAAY,UAAU,cAA2B;AACpG,QAAM,SAAS;AACf,QAAM,iBAAiB,OAAO,UAAU,EAAE,MAAO,CAAA;AACjD,wBAAY,eAAe;AAErB,QAAA,eAAe,eAAe,kBAAkB,eAAe;AACrE,QAAM,cAAc,QAAQ,MAAM,eAAe,CAAC,cAAc,IAAI,CAAA,GAAI,CAAC,cAAc,cAAc,CAAC;AAEtG,QAAM,eAAe,+BAA8C,CAAC,UAAU,SAAS,aAAa;AACnG,QAAI,WAAW,UAAU;AACxB,eAAS,SAAS,OAAO,eAAe,KAAK,aAAa;AAAA,IAC3D;AACA,QAAI,WAAW,YAAY;AACnB,aAAA,wBAAwB,EAAE,MAAA,CAAO;AACxC,mBAAa,QAAQ;AAAA,IAAA,WACX,WAAW,UAAU;AAC/B,aAAO,qBAAqB,EAAE,MAAM,GAAG,QAAQ;AAC/C,iBAAW,QAAQ;AAAA,IACpB;AAAA,EAAA,CACA;AACK,QAAA,aAAa,YAAY,CAACA,YAA2BA,QAAO,OAAO,eAAe,IAAI,CAAC,eAAe,EAAE,CAAC;AAG9G,SAAA,uBAAC,6BAA6B,UAA7B,EAAsC,OAAO,aAC7C,UAAC,uBAAA,wBAAwB,UAAxB,EAAiC,OAAO,YACxC,iCAAC,0BAA0B,UAA1B,EAAmC,OAAO,cAC1C,UAAA,uBAAC,qBAAqB,UAArB,EAA8B,OAAO,SACnC,SADH,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAQA,GAAAA,MAAA;AAEF,GAAG,CAAC,EAAE,OAAO,eAAe;AAC3B,SACE,uBAAA,QAAA,EAAO,OAAc,kBAAiB,uBACrC,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAA,MAAA;AAEF,CAAC;"}
|
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxDevRuntime = require("react/jsx-dev-runtime");
|
|
4
|
-
const react = require("react");
|
|
5
4
|
const contexts = require("../contexts.cjs");
|
|
6
5
|
const reactDataview = require("@contember/react-dataview");
|
|
7
6
|
const SelectDataView = (props) => {
|
|
8
7
|
const handleSelect = contexts.useSelectHandleSelect();
|
|
9
8
|
const entities = contexts.useSelectOptions();
|
|
10
|
-
const filter = contexts.useSelectOptionsFilter();
|
|
11
|
-
const defaultFilterTypes = react.useMemo(() => filter ? { query: filter } : {}, [filter]);
|
|
12
9
|
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(
|
|
13
10
|
reactDataview.DataView,
|
|
14
11
|
{
|
|
15
|
-
filterTypes: defaultFilterTypes,
|
|
16
|
-
...props,
|
|
17
12
|
onSelectHighlighted: handleSelect,
|
|
18
13
|
entities,
|
|
19
14
|
filteringStateStorage: "null",
|
|
20
15
|
sortingStateStorage: "null",
|
|
21
|
-
currentPageStateStorage: "null"
|
|
16
|
+
currentPageStateStorage: "null",
|
|
17
|
+
...props
|
|
22
18
|
},
|
|
23
19
|
void 0,
|
|
24
20
|
false,
|
|
25
21
|
{
|
|
26
22
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SelectDataView.tsx",
|
|
27
|
-
lineNumber:
|
|
23
|
+
lineNumber: 16,
|
|
28
24
|
columnNumber: 3
|
|
29
25
|
},
|
|
30
26
|
void 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDataView.cjs","sources":["../../../src/components/SelectDataView.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from 'react'\nimport { useSelectHandleSelect, useSelectOptions
|
|
1
|
+
{"version":3,"file":"SelectDataView.cjs","sources":["../../../src/components/SelectDataView.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from 'react'\nimport { useSelectHandleSelect, useSelectOptions } from '../contexts'\nimport { DataViewProps, DataView, DataViewFilterHandlerRegistry } from '@contember/react-dataview'\n\nexport type SelectDataViewProps =\n\t& Omit<DataViewProps, 'entities'>\n\t& {\n\t\tchildren: ReactNode\n\t}\n\nexport const SelectDataView = (props: SelectDataViewProps) => {\n\tconst handleSelect = useSelectHandleSelect()\n\tconst entities = useSelectOptions()\n\n\treturn (\n\t\t<DataView\n\t\t\tonSelectHighlighted={handleSelect}\n\t\t\tentities={entities}\n\t\t\tfilteringStateStorage=\"null\"\n\t\t\tsortingStateStorage=\"null\"\n\t\t\tcurrentPageStateStorage=\"null\"\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["useSelectHandleSelect","useSelectOptions","jsxDEV","DataView","this"],"mappings":";;;;;AAUa,MAAA,iBAAiB,CAAC,UAA+B;AAC7D,QAAM,eAAeA,SAAAA;AACrB,QAAM,WAAWC,SAAAA;AAGhB,SAAAC,8BAAA;AAAA,IAACC,cAAA;AAAA,IAAA;AAAA,MACA,qBAAqB;AAAA,MACrB;AAAA,MACA,uBAAsB;AAAA,MACtB,qBAAoB;AAAA,MACpB,yBAAwB;AAAA,MACvB,GAAG;AAAA,IAAA;AAAA,IANL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAC;AAAAA,EAAA;AASF;;"}
|
|
@@ -1,28 +1,24 @@
|
|
|
1
1
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { useSelectHandleSelect, useSelectOptions, useSelectOptionsFilter } from "../contexts.js";
|
|
2
|
+
import { useSelectHandleSelect, useSelectOptions } from "../contexts.js";
|
|
4
3
|
import { DataView } from "@contember/react-dataview";
|
|
5
4
|
const SelectDataView = (props) => {
|
|
6
5
|
const handleSelect = useSelectHandleSelect();
|
|
7
6
|
const entities = useSelectOptions();
|
|
8
|
-
const filter = useSelectOptionsFilter();
|
|
9
|
-
const defaultFilterTypes = useMemo(() => filter ? { query: filter } : {}, [filter]);
|
|
10
7
|
return /* @__PURE__ */ jsxDEV(
|
|
11
8
|
DataView,
|
|
12
9
|
{
|
|
13
|
-
filterTypes: defaultFilterTypes,
|
|
14
|
-
...props,
|
|
15
10
|
onSelectHighlighted: handleSelect,
|
|
16
11
|
entities,
|
|
17
12
|
filteringStateStorage: "null",
|
|
18
13
|
sortingStateStorage: "null",
|
|
19
|
-
currentPageStateStorage: "null"
|
|
14
|
+
currentPageStateStorage: "null",
|
|
15
|
+
...props
|
|
20
16
|
},
|
|
21
17
|
void 0,
|
|
22
18
|
false,
|
|
23
19
|
{
|
|
24
20
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SelectDataView.tsx",
|
|
25
|
-
lineNumber:
|
|
21
|
+
lineNumber: 16,
|
|
26
22
|
columnNumber: 3
|
|
27
23
|
},
|
|
28
24
|
void 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectDataView.js","sources":["../../../src/components/SelectDataView.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from 'react'\nimport { useSelectHandleSelect, useSelectOptions
|
|
1
|
+
{"version":3,"file":"SelectDataView.js","sources":["../../../src/components/SelectDataView.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from 'react'\nimport { useSelectHandleSelect, useSelectOptions } from '../contexts'\nimport { DataViewProps, DataView, DataViewFilterHandlerRegistry } from '@contember/react-dataview'\n\nexport type SelectDataViewProps =\n\t& Omit<DataViewProps, 'entities'>\n\t& {\n\t\tchildren: ReactNode\n\t}\n\nexport const SelectDataView = (props: SelectDataViewProps) => {\n\tconst handleSelect = useSelectHandleSelect()\n\tconst entities = useSelectOptions()\n\n\treturn (\n\t\t<DataView\n\t\t\tonSelectHighlighted={handleSelect}\n\t\t\tentities={entities}\n\t\t\tfilteringStateStorage=\"null\"\n\t\t\tsortingStateStorage=\"null\"\n\t\t\tcurrentPageStateStorage=\"null\"\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["this"],"mappings":";;;AAUa,MAAA,iBAAiB,CAAC,UAA+B;AAC7D,QAAM,eAAe;AACrB,QAAM,WAAW;AAGhB,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,qBAAqB;AAAA,MACrB;AAAA,MACA,uBAAsB;AAAA,MACtB,qBAAoB;AAAA,MACpB,yBAAwB;AAAA,MACvB,GAAG;AAAA,IAAA;AAAA,IANL;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAAA;AAAAA,EAAA;AASF;"}
|
|
@@ -6,8 +6,7 @@ const contexts = require("../contexts.cjs");
|
|
|
6
6
|
const reactBinding = require("@contember/react-binding");
|
|
7
7
|
const reactUtils = require("@contember/react-utils");
|
|
8
8
|
const reactRepeater = require("@contember/react-repeater");
|
|
9
|
-
const
|
|
10
|
-
const SortableMultiSelect = reactBinding.Component(({ field, children, sortableBy, connectAt, options, onSelect, onUnselect, filterField }) => {
|
|
9
|
+
const SortableMultiSelect = reactBinding.Component(({ field, children, sortableBy, connectAt, options, onSelect, onUnselect }) => {
|
|
11
10
|
const list = reactBinding.useEntityList({ field });
|
|
12
11
|
const entitiesArr = react.useMemo(() => Array.from(list), [list]);
|
|
13
12
|
const optionsMarker = react.useMemo(() => {
|
|
@@ -24,7 +23,6 @@ const SortableMultiSelect = reactBinding.Component(({ field, children, sortableB
|
|
|
24
23
|
return marker;
|
|
25
24
|
}, [connectAt, list]);
|
|
26
25
|
options ?? (options = optionsMarker.environment.getSubTreeNode().entity.name);
|
|
27
|
-
const filter = useSelectFilter.useSelectFilter({ filterField, marker: optionsMarker });
|
|
28
26
|
const selectedEntities = react.useMemo(() => Array.from(list).map((it) => it.getEntity({ field: connectAt }).id), [connectAt, list]);
|
|
29
27
|
const handler = reactUtils.useReferentiallyStableCallback((entity, action = "toggle") => {
|
|
30
28
|
const isSelected2 = selectedEntities.includes(entity.id);
|
|
@@ -44,39 +42,35 @@ const SortableMultiSelect = reactBinding.Component(({ field, children, sortableB
|
|
|
44
42
|
const isSelected = react.useCallback((entity) => {
|
|
45
43
|
return selectedEntities.includes(entity.id);
|
|
46
44
|
}, [selectedEntities]);
|
|
47
|
-
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactRepeater.Repeater, { field, sortableBy, initialEntityCount: 0, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectOptionsContext.Provider, { value: options, children
|
|
45
|
+
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactRepeater.Repeater, { field, sortableBy, initialEntityCount: 0, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(contexts.SelectOptionsContext.Provider, { value: options, children }, void 0, false, {
|
|
48
46
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
49
|
-
lineNumber:
|
|
50
|
-
columnNumber: 8
|
|
51
|
-
}, void 0) }, void 0, false, {
|
|
52
|
-
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
53
|
-
lineNumber: 81,
|
|
47
|
+
lineNumber: 78,
|
|
54
48
|
columnNumber: 7
|
|
55
49
|
}, void 0) }, void 0, false, {
|
|
56
50
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
57
|
-
lineNumber:
|
|
51
|
+
lineNumber: 77,
|
|
58
52
|
columnNumber: 6
|
|
59
53
|
}, void 0) }, void 0, false, {
|
|
60
54
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
61
|
-
lineNumber:
|
|
55
|
+
lineNumber: 76,
|
|
62
56
|
columnNumber: 5
|
|
63
57
|
}, void 0) }, void 0, false, {
|
|
64
58
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
65
|
-
lineNumber:
|
|
59
|
+
lineNumber: 75,
|
|
66
60
|
columnNumber: 4
|
|
67
61
|
}, void 0) }, void 0, false, {
|
|
68
62
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
69
|
-
lineNumber:
|
|
63
|
+
lineNumber: 74,
|
|
70
64
|
columnNumber: 3
|
|
71
65
|
}, void 0);
|
|
72
66
|
}, ({ children, field, sortableBy, connectAt }) => {
|
|
73
67
|
return /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactRepeater.Repeater, { field, sortableBy, initialEntityCount: 0, children: /* @__PURE__ */ jsxDevRuntime.jsxDEV(reactBinding.HasOne, { field: connectAt, expectedMutation: "connectOrDisconnect", children }, void 0, false, {
|
|
74
68
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
75
|
-
lineNumber:
|
|
69
|
+
lineNumber: 89,
|
|
76
70
|
columnNumber: 4
|
|
77
71
|
}, void 0) }, void 0, false, {
|
|
78
72
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
79
|
-
lineNumber:
|
|
73
|
+
lineNumber: 88,
|
|
80
74
|
columnNumber: 3
|
|
81
75
|
}, void 0);
|
|
82
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortableMultiSelect.cjs","sources":["../../../src/components/SortableMultiSelect.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext
|
|
1
|
+
{"version":3,"file":"SortableMultiSelect.cjs","sources":["../../../src/components/SortableMultiSelect.tsx"],"sourcesContent":["import React, { ReactNode, useCallback, useMemo } from 'react'\nimport { SelectCurrentEntitiesContext, SelectHandler, SelectHandleSelectContext, SelectIsSelectedContext, SelectOptionsContext } from '../contexts'\nimport {\n\tComponent,\n\tEntityAccessor,\n\tFieldMarker,\n\tHasOne,\n\tMeaningfulMarker,\n\tPlaceholderGenerator,\n\tQueryLanguage,\n\tSugaredQualifiedEntityList,\n\tSugaredRelativeEntityList,\n\tSugaredRelativeSingleEntity,\n\tSugaredRelativeSingleField,\n\tuseEntityList,\n} from '@contember/react-binding'\nimport { useReferentiallyStableCallback } from '@contember/react-utils'\nimport { Repeater } from '@contember/react-repeater'\nimport { SelectEvents } from '../types'\n\nexport type SortableMultiSelectProps =\n\t& {\n\t\tchildren: ReactNode\n\t\tfield: SugaredRelativeEntityList['field']\n\t\toptions?: SugaredQualifiedEntityList['entities']\n\t\tsortableBy: SugaredRelativeSingleField['field']\n\t\tconnectAt: SugaredRelativeSingleEntity['field']\n\t}\n\t& SelectEvents\n\nexport const SortableMultiSelect = Component(({ field, children, sortableBy, connectAt, options, onSelect, onUnselect }: SortableMultiSelectProps) => {\n\tconst list = useEntityList({ field })\n\tconst entitiesArr = useMemo(() => Array.from(list), [list])\n\n\tconst optionsMarker = useMemo(() => {\n\t\tconst desugared = QueryLanguage.desugarRelativeSingleEntity({ field: connectAt }, list.environment)\n\t\tlet marker: Exclude<MeaningfulMarker, FieldMarker> = list.getMarker()\n\t\tfor (let relation of desugared.hasOneRelationPath) {\n\t\t\tconst placeholder = PlaceholderGenerator.getHasOneRelationPlaceholder(relation)\n\t\t\tconst relationMarker = marker.fields.markers.get(placeholder)\n\t\t\tif (!relationMarker || relationMarker instanceof FieldMarker) {\n\t\t\t\tthrow new Error('Invalid marker')\n\t\t\t}\n\t\t\tmarker = relationMarker\n\t\t}\n\t\treturn marker\n\t}, [connectAt, list])\n\n\toptions ??= optionsMarker.environment.getSubTreeNode().entity.name\n\n\n\tconst selectedEntities = useMemo(() => Array.from(list).map(it => it.getEntity({ field: connectAt }).id), [connectAt, list])\n\n\tconst handler = useReferentiallyStableCallback<SelectHandler>((entity, action = 'toggle') => {\n\t\tconst isSelected = selectedEntities.includes(entity.id)\n\t\tif (action === 'toggle') {\n\t\t\taction = isSelected ? 'unselect' : 'select'\n\t\t}\n\t\tif (action === 'unselect' && isSelected) {\n\t\t\tArray.from(list).find(it => it.getEntity({ field: connectAt }).id === entity.id)?.deleteEntity()\n\t\t\tonUnselect?.(entity)\n\t\t} else if (action === 'select' && !isSelected) {\n\t\t\tlist.createNewEntity(getEntity => {\n\t\t\t\tgetEntity().connectEntityAtField({ field: connectAt }, entity)\n\t\t\t\tonSelect?.(entity)\n\t\t\t})\n\t\t}\n\t})\n\tconst isSelected = useCallback((entity: EntityAccessor) => {\n\t\treturn selectedEntities.includes(entity.id)\n\t}, [selectedEntities])\n\n\treturn (\n\t\t<Repeater field={field} sortableBy={sortableBy} initialEntityCount={0}>\n\t\t\t<SelectCurrentEntitiesContext.Provider value={entitiesArr}>\n\t\t\t\t<SelectIsSelectedContext.Provider value={isSelected}>\n\t\t\t\t\t<SelectHandleSelectContext.Provider value={handler}>\n\t\t\t\t\t\t<SelectOptionsContext.Provider value={options}>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</SelectOptionsContext.Provider>\n\t\t\t\t\t</SelectHandleSelectContext.Provider>\n\t\t\t\t</SelectIsSelectedContext.Provider>\n\t\t\t</SelectCurrentEntitiesContext.Provider>\n\t\t</Repeater>\n\t)\n}, ({ children, field, sortableBy, connectAt }) => {\n\treturn (\n\t\t<Repeater field={field} sortableBy={sortableBy} initialEntityCount={0}>\n\t\t\t<HasOne field={connectAt} expectedMutation=\"connectOrDisconnect\">\n\t\t\t\t{children}\n\t\t\t</HasOne>\n\t\t</Repeater>\n\t)\n})\n\n"],"names":["Component","useEntityList","useMemo","QueryLanguage","PlaceholderGenerator","FieldMarker","useReferentiallyStableCallback","isSelected","useCallback","jsxDEV","Repeater","SelectCurrentEntitiesContext","SelectIsSelectedContext","SelectHandleSelectContext","SelectOptionsContext","this","HasOne"],"mappings":";;;;;;;;AA8Ba,MAAA,sBAAsBA,aAAU,UAAA,CAAC,EAAE,OAAO,UAAU,YAAY,WAAW,SAAS,UAAU,iBAA2C;AACrJ,QAAM,OAAOC,aAAAA,cAAc,EAAE,MAAO,CAAA;AAC9B,QAAA,cAAcC,cAAQ,MAAM,MAAM,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC;AAEpD,QAAA,gBAAgBA,MAAAA,QAAQ,MAAM;AAC7B,UAAA,YAAYC,2BAAc,4BAA4B,EAAE,OAAO,UAAU,GAAG,KAAK,WAAW;AAC9F,QAAA,SAAiD,KAAK;AACjD,aAAA,YAAY,UAAU,oBAAoB;AAC5C,YAAA,cAAcC,aAAAA,qBAAqB,6BAA6B,QAAQ;AAC9E,YAAM,iBAAiB,OAAO,OAAO,QAAQ,IAAI,WAAW;AACxD,UAAA,CAAC,kBAAkB,0BAA0BC,0BAAa;AACvD,cAAA,IAAI,MAAM,gBAAgB;AAAA,MACjC;AACS,eAAA;AAAA,IACV;AACO,WAAA;AAAA,EAAA,GACL,CAAC,WAAW,IAAI,CAAC;AAEpB,wBAAY,cAAc,YAAY,eAAe,EAAE,OAAO;AAGxD,QAAA,mBAAmBH,cAAQ,MAAM,MAAM,KAAK,IAAI,EAAE,IAAI,CAAM,OAAA,GAAG,UAAU,EAAE,OAAO,WAAW,EAAE,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC;AAE3H,QAAM,UAAUI,WAAA,+BAA8C,CAAC,QAAQ,SAAS,aAAa;AAC5F,UAAMC,cAAa,iBAAiB,SAAS,OAAO,EAAE;AACtD,QAAI,WAAW,UAAU;AACxB,eAASA,cAAa,aAAa;AAAA,IACpC;AACI,QAAA,WAAW,cAAcA,aAAY;AACxC,YAAM,KAAK,IAAI,EAAE,KAAK,CAAA,OAAM,GAAG,UAAU,EAAE,OAAO,UAAW,CAAA,EAAE,OAAO,OAAO,EAAE,GAAG;AAClF,mBAAa,MAAM;AAAA,IACT,WAAA,WAAW,YAAY,CAACA,aAAY;AAC9C,WAAK,gBAAgB,CAAa,cAAA;AACjC,kBAAA,EAAY,qBAAqB,EAAE,OAAO,UAAA,GAAa,MAAM;AAC7D,mBAAW,MAAM;AAAA,MAAA,CACjB;AAAA,IACF;AAAA,EAAA,CACA;AACK,QAAA,aAAaC,kBAAY,CAAC,WAA2B;AACnD,WAAA,iBAAiB,SAAS,OAAO,EAAE;AAAA,EAAA,GACxC,CAAC,gBAAgB,CAAC;AAErB,SACEC,8BAAAA,OAAAC,cAAAA,UAAA,EAAS,OAAc,YAAwB,oBAAoB,GACnE,UAACD,8BAAAA,OAAAE,SAAAA,6BAA6B,UAA7B,EAAsC,OAAO,aAC7C,+CAACC,SAAwB,wBAAA,UAAxB,EAAiC,OAAO,YACxC,UAAAH,qCAACI,SAAAA,0BAA0B,UAA1B,EAAmC,OAAO,SAC1C,UAAAJ,8BAAA,OAACK,8BAAqB,UAArB,EAA8B,OAAO,SACpC,YADF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAC,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAIA,EALD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAMA,EAPD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAA,MAQA,EATD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAUA,GAAAA,MAAA;AAEF,GAAG,CAAC,EAAE,UAAU,OAAO,YAAY,gBAAgB;AAClD,SACEN,8BAAA,OAAAC,cAAA,UAAA,EAAS,OAAc,YAAwB,oBAAoB,GACnE,UAACD,8BAAA,OAAAO,aAAA,QAAA,EAAO,OAAO,WAAW,kBAAiB,uBACzC,YADF,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAAA,GAAAD,MAEA,EAHD,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAIA,GAAAA,MAAA;AAEF,CAAC;;"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
2
2
|
import { useMemo, useCallback } from "react";
|
|
3
|
-
import { SelectCurrentEntitiesContext, SelectIsSelectedContext, SelectHandleSelectContext, SelectOptionsContext
|
|
3
|
+
import { SelectCurrentEntitiesContext, SelectIsSelectedContext, SelectHandleSelectContext, SelectOptionsContext } from "../contexts.js";
|
|
4
4
|
import { Component, useEntityList, QueryLanguage, PlaceholderGenerator, FieldMarker, HasOne } from "@contember/react-binding";
|
|
5
5
|
import { useReferentiallyStableCallback } from "@contember/react-utils";
|
|
6
6
|
import { Repeater } from "@contember/react-repeater";
|
|
7
|
-
|
|
8
|
-
const SortableMultiSelect = Component(({ field, children, sortableBy, connectAt, options, onSelect, onUnselect, filterField }) => {
|
|
7
|
+
const SortableMultiSelect = Component(({ field, children, sortableBy, connectAt, options, onSelect, onUnselect }) => {
|
|
9
8
|
const list = useEntityList({ field });
|
|
10
9
|
const entitiesArr = useMemo(() => Array.from(list), [list]);
|
|
11
10
|
const optionsMarker = useMemo(() => {
|
|
@@ -22,7 +21,6 @@ const SortableMultiSelect = Component(({ field, children, sortableBy, connectAt,
|
|
|
22
21
|
return marker;
|
|
23
22
|
}, [connectAt, list]);
|
|
24
23
|
options ?? (options = optionsMarker.environment.getSubTreeNode().entity.name);
|
|
25
|
-
const filter = useSelectFilter({ filterField, marker: optionsMarker });
|
|
26
24
|
const selectedEntities = useMemo(() => Array.from(list).map((it) => it.getEntity({ field: connectAt }).id), [connectAt, list]);
|
|
27
25
|
const handler = useReferentiallyStableCallback((entity, action = "toggle") => {
|
|
28
26
|
const isSelected2 = selectedEntities.includes(entity.id);
|
|
@@ -42,39 +40,35 @@ const SortableMultiSelect = Component(({ field, children, sortableBy, connectAt,
|
|
|
42
40
|
const isSelected = useCallback((entity) => {
|
|
43
41
|
return selectedEntities.includes(entity.id);
|
|
44
42
|
}, [selectedEntities]);
|
|
45
|
-
return /* @__PURE__ */ jsxDEV(Repeater, { field, sortableBy, initialEntityCount: 0, children: /* @__PURE__ */ jsxDEV(SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDEV(SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDEV(SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDEV(SelectOptionsContext.Provider, { value: options, children
|
|
43
|
+
return /* @__PURE__ */ jsxDEV(Repeater, { field, sortableBy, initialEntityCount: 0, children: /* @__PURE__ */ jsxDEV(SelectCurrentEntitiesContext.Provider, { value: entitiesArr, children: /* @__PURE__ */ jsxDEV(SelectIsSelectedContext.Provider, { value: isSelected, children: /* @__PURE__ */ jsxDEV(SelectHandleSelectContext.Provider, { value: handler, children: /* @__PURE__ */ jsxDEV(SelectOptionsContext.Provider, { value: options, children }, void 0, false, {
|
|
46
44
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
47
|
-
lineNumber:
|
|
48
|
-
columnNumber: 8
|
|
49
|
-
}, void 0) }, void 0, false, {
|
|
50
|
-
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
51
|
-
lineNumber: 81,
|
|
45
|
+
lineNumber: 78,
|
|
52
46
|
columnNumber: 7
|
|
53
47
|
}, void 0) }, void 0, false, {
|
|
54
48
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
55
|
-
lineNumber:
|
|
49
|
+
lineNumber: 77,
|
|
56
50
|
columnNumber: 6
|
|
57
51
|
}, void 0) }, void 0, false, {
|
|
58
52
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
59
|
-
lineNumber:
|
|
53
|
+
lineNumber: 76,
|
|
60
54
|
columnNumber: 5
|
|
61
55
|
}, void 0) }, void 0, false, {
|
|
62
56
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
63
|
-
lineNumber:
|
|
57
|
+
lineNumber: 75,
|
|
64
58
|
columnNumber: 4
|
|
65
59
|
}, void 0) }, void 0, false, {
|
|
66
60
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
67
|
-
lineNumber:
|
|
61
|
+
lineNumber: 74,
|
|
68
62
|
columnNumber: 3
|
|
69
63
|
}, void 0);
|
|
70
64
|
}, ({ children, field, sortableBy, connectAt }) => {
|
|
71
65
|
return /* @__PURE__ */ jsxDEV(Repeater, { field, sortableBy, initialEntityCount: 0, children: /* @__PURE__ */ jsxDEV(HasOne, { field: connectAt, expectedMutation: "connectOrDisconnect", children }, void 0, false, {
|
|
72
66
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
73
|
-
lineNumber:
|
|
67
|
+
lineNumber: 89,
|
|
74
68
|
columnNumber: 4
|
|
75
69
|
}, void 0) }, void 0, false, {
|
|
76
70
|
fileName: "/__w/interface/interface/packages/react-select/src/components/SortableMultiSelect.tsx",
|
|
77
|
-
lineNumber:
|
|
71
|
+
lineNumber: 88,
|
|
78
72
|
columnNumber: 3
|
|
79
73
|
}, void 0);
|
|
80
74
|
});
|