@kne/entry-selector 0.1.7 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/index.css +10 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +52 -28
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +43 -19
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -95,7 +95,7 @@ const BaseExample = () => {
|
|
|
95
95
|
getSearchProps={({ searchText }) => {
|
|
96
96
|
return { title: searchText };
|
|
97
97
|
}}
|
|
98
|
-
renderSelectedItem={(item, { el,
|
|
98
|
+
renderSelectedItem={(item, { el, onReplace }) => {
|
|
99
99
|
return (
|
|
100
100
|
<>
|
|
101
101
|
{el}
|
|
@@ -105,7 +105,7 @@ const BaseExample = () => {
|
|
|
105
105
|
size="small"
|
|
106
106
|
checked={item.hasProbe}
|
|
107
107
|
onChange={checked => {
|
|
108
|
-
|
|
108
|
+
onReplace(Object.assign({}, item, { hasProbe: checked }));
|
|
109
109
|
}}
|
|
110
110
|
/>
|
|
111
111
|
</Flex>
|
package/dist/index.css
CHANGED
|
@@ -59,6 +59,14 @@
|
|
|
59
59
|
justify-content: center;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
._VXH4S .list-item-remove-btn {
|
|
63
|
+
opacity: 0;
|
|
64
|
+
flex: none;
|
|
65
|
+
}
|
|
66
|
+
._VXH4S:hover .list-item-remove-btn {
|
|
67
|
+
opacity: 1;
|
|
68
|
+
}
|
|
69
|
+
|
|
62
70
|
._agPfO {
|
|
63
71
|
padding: 0;
|
|
64
72
|
}
|
|
@@ -71,8 +79,9 @@
|
|
|
71
79
|
._iFzfk .ant-checkbox-wrapper {
|
|
72
80
|
flex: 1;
|
|
73
81
|
}
|
|
74
|
-
._iFzfk._uB1q2 {
|
|
82
|
+
._iFzfk._uB1q2 .sortable-drag-handle {
|
|
75
83
|
cursor: move !important;
|
|
84
|
+
padding: 12px 2px;
|
|
76
85
|
}
|
|
77
86
|
._iFzfk._uB1q2 .ant-checkbox-wrapper {
|
|
78
87
|
margin-left: 2px;
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["style.module.scss"],"names":[],"mappings":"AAAA;EACE,mBAAmB;EACnB,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,+CAA+C;EAC/C,gBAAgB;AAClB;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,YAAY;EACZ,mBAAmB;EACnB,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,2BAA2B;AAC7B;AACA;;EAEE,qBAAqB;AACvB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,6BAA6B;AAC/B;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,gCAAgC;EAChC,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,4BAA4B;EAC5B,mBAAmB;EACnB,4BAA4B;AAC9B;AACA;EACE,OAAO;AACT;AACA;EACE,uBAAuB;
|
|
1
|
+
{"version":3,"sources":["style.module.scss"],"names":[],"mappings":"AAAA;EACE,mBAAmB;EACnB,mBAAmB;EACnB,aAAa;AACf;;AAEA;EACE,mBAAmB;EACnB,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,+CAA+C;EAC/C,gBAAgB;AAClB;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,YAAY;EACZ,mBAAmB;EACnB,iBAAiB;AACnB;AACA;EACE,iBAAiB;EACjB,gBAAgB;EAChB,2BAA2B;AAC7B;AACA;;EAEE,qBAAqB;AACvB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,6BAA6B;AAC/B;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,gCAAgC;EAChC,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,aAAa;EACb,cAAc;EACd,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,UAAU;EACV,UAAU;AACZ;AACA;EACE,UAAU;AACZ;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,4BAA4B;EAC5B,mBAAmB;EACnB,4BAA4B;AAC9B;AACA;EACE,OAAO;AACT;AACA;EACE,uBAAuB;EACvB,iBAAiB;AACnB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,iBAAiB;AACnB;;AAEA;EACE,+BAA+B;AACjC;;AAEA;EACE,qBAAqB;EACrB,oCAAoC;EACpC,0CAA0C;AAC5C;;AAEA;EACE,kCAAkC;EAClC,kDAAkD;AACpD","file":"index.css","sourcesContent":[".entry-selector {\n background: #f6f7f9;\n border-radius: 12px;\n padding: 16px;\n}\n\n.list-outer {\n background: #ffffff;\n border-radius: 12px;\n height: 100%;\n overflow: hidden;\n}\n\n.list-header {\n padding: 8px 16px;\n border-bottom: 1px solid var(--bg-color-grey-3);\n font-weight: 600;\n}\n\n.list-scroll {\n max-height: var(--max-scroller-height, 800px);\n}\n\n.list {\n height: 100%;\n background: #ffffff;\n min-height: 150px;\n}\n.list :global .ant-list-header {\n padding: 8px 16px;\n font-weight: 600;\n color: var(--primary-color);\n}\n.list :global .list-item-title,\n.list :global .list-item-description {\n white-space: pre-wrap;\n}\n.list :global .list-item-title {\n font-weight: 600;\n}\n.list :global .list-item-description {\n color: var(--font-color-grey);\n}\n\n.list-lib :global .ant-list-item {\n cursor: pointer;\n}\n\n.list-index {\n width: 20px;\n height: 20px;\n background: var(--primary-color);\n color: #ffffff;\n border-radius: 50%;\n margin: 0 6px;\n display: flex;\n flex: 0 0 20px;\n align-items: center;\n justify-content: center;\n}\n\n.list-item-content :global(.list-item-remove-btn) {\n opacity: 0;\n flex: none;\n}\n.list-item-content:hover :global(.list-item-remove-btn) {\n opacity: 1;\n}\n\n.columns-control-content-list {\n padding: 0;\n}\n\n.columns-control-content-item {\n padding: 8px 14px !important;\n background: #ffffff;\n transition: box-shadow 500ms;\n}\n.columns-control-content-item :global .ant-checkbox-wrapper {\n flex: 1;\n}\n.columns-control-content-item.is-drag :global .sortable-drag-handle {\n cursor: move !important;\n padding: 12px 2px;\n}\n.columns-control-content-item.is-drag :global .ant-checkbox-wrapper {\n margin-left: 2px;\n}\n.columns-control-content-item:not(.is-drag) :global .ant-checkbox-wrapper {\n margin-left: 16px;\n}\n\n.columns-control-content-item-icon {\n color: var(--font-color-grey-1);\n}\n\n.sortable-drag {\n opacity: 1 !important;\n background: rgba(255, 255, 255, 0.9);\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.1);\n}\n\n.sortable-ghost {\n background: var(--primary-color-1);\n border: 1px dashed var(--primary-color) !important;\n}"]}
|
package/dist/index.js
CHANGED
|
@@ -54,7 +54,7 @@ const locale = {
|
|
|
54
54
|
searchPlaceholder: 'Please input keyword'
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
-
var style = {"entry-selector":"_TIU4-","list-outer":"_ZXEhy","list-header":"_HAF3g","list-scroll":"_VO7i-","list":"_8w58c","list-lib":"_9m0I0","list-index":"_P8KYX","columns-control-content-list":"_agPfO","columns-control-content-item":"_iFzfk","is-drag":"_uB1q2","columns-control-content-item-icon":"_WHlyH","sortable-drag":"_dxhFH","sortable-ghost":"_7ZIH8"};
|
|
57
|
+
var style = {"entry-selector":"_TIU4-","list-outer":"_ZXEhy","list-header":"_HAF3g","list-scroll":"_VO7i-","list":"_8w58c","list-lib":"_9m0I0","list-index":"_P8KYX","list-item-content":"_VXH4S","columns-control-content-list":"_agPfO","columns-control-content-item":"_iFzfk","is-drag":"_uB1q2","columns-control-content-item-icon":"_WHlyH","sortable-drag":"_dxhFH","sortable-ghost":"_7ZIH8"};
|
|
58
58
|
|
|
59
59
|
const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
|
|
60
60
|
const EntrySelector = reactIntl.createWithIntlProvider({
|
|
@@ -87,6 +87,23 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
87
87
|
} = reactIntl.useIntl();
|
|
88
88
|
const ref = React.useRef(null);
|
|
89
89
|
const selectedMappingRef = React.useRef(new Map());
|
|
90
|
+
const onSelected = item => {
|
|
91
|
+
return onChange(value => {
|
|
92
|
+
const newValue = (value || []).slice(0);
|
|
93
|
+
const index = newValue.findIndex(_ref2 => {
|
|
94
|
+
let {
|
|
95
|
+
id
|
|
96
|
+
} = _ref2;
|
|
97
|
+
return id === item.id;
|
|
98
|
+
});
|
|
99
|
+
if (index > -1) {
|
|
100
|
+
newValue.splice(index, 1);
|
|
101
|
+
} else {
|
|
102
|
+
newValue.push(Object.assign({}, item));
|
|
103
|
+
}
|
|
104
|
+
return newValue;
|
|
105
|
+
});
|
|
106
|
+
};
|
|
90
107
|
return /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
|
|
91
108
|
vertical: true,
|
|
92
109
|
gap: 8,
|
|
@@ -115,11 +132,11 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
115
132
|
ref: ref,
|
|
116
133
|
className: style['list-scroll'],
|
|
117
134
|
autoHide: false,
|
|
118
|
-
render:
|
|
135
|
+
render: _ref3 => {
|
|
119
136
|
let {
|
|
120
137
|
fetchApi,
|
|
121
138
|
children
|
|
122
|
-
} =
|
|
139
|
+
} = _ref3;
|
|
123
140
|
const {
|
|
124
141
|
data
|
|
125
142
|
} = fetchApi;
|
|
@@ -152,7 +169,8 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
152
169
|
className: style['list'],
|
|
153
170
|
size: "small"
|
|
154
171
|
}, /*#__PURE__*/React__default["default"].createElement(reactSortablejs.ReactSortable, {
|
|
155
|
-
filter: ".ignore-elements",
|
|
172
|
+
filter: ".sortable-ignore-elements",
|
|
173
|
+
handle: ".sortable-drag-handle",
|
|
156
174
|
dragClass: style['sortable-drag'],
|
|
157
175
|
ghostClass: style['sortable-ghost'],
|
|
158
176
|
forceFallback: true,
|
|
@@ -163,10 +181,10 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
163
181
|
setList: list => {
|
|
164
182
|
onChange(value => {
|
|
165
183
|
const mapping = new Map((value || []).map(item => [item.id, item]));
|
|
166
|
-
return list.map(
|
|
184
|
+
return list.map(_ref4 => {
|
|
167
185
|
let {
|
|
168
186
|
id
|
|
169
|
-
} =
|
|
187
|
+
} = _ref4;
|
|
170
188
|
return mapping.get(id);
|
|
171
189
|
});
|
|
172
190
|
});
|
|
@@ -175,30 +193,47 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
175
193
|
const defaultItem = /*#__PURE__*/React__default["default"].createElement("span", {
|
|
176
194
|
className: 'list-item-title'
|
|
177
195
|
}, item.title);
|
|
196
|
+
const removeOption = /*#__PURE__*/React__default["default"].createElement(ButtonGroup.ConfirmButton, {
|
|
197
|
+
color: "danger",
|
|
198
|
+
variant: "filled",
|
|
199
|
+
className: 'list-item-remove-btn',
|
|
200
|
+
icon: /*#__PURE__*/React__default["default"].createElement(icons.DeleteOutlined, null),
|
|
201
|
+
onClick: () => {
|
|
202
|
+
onSelected(item);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
178
205
|
const mapping = new Map((value || []).map(item => [item.id, item]));
|
|
179
206
|
return /*#__PURE__*/React__default["default"].createElement(antd.List.Item, {
|
|
180
207
|
key: item.id,
|
|
181
208
|
className: classnames__default["default"](style['columns-control-content-item'], style['is-drag'])
|
|
182
209
|
}, /*#__PURE__*/React__default["default"].createElement(icons.HolderOutlined, {
|
|
183
|
-
className: style['columns-control-content-item-icon']
|
|
210
|
+
className: classnames__default["default"]('sortable-drag-handle', style['columns-control-content-item-icon'])
|
|
184
211
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
185
212
|
className: style['list-index']
|
|
186
213
|
}, index + 1), /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
|
|
214
|
+
justify: "space-between",
|
|
215
|
+
gap: 8,
|
|
216
|
+
flex: 1,
|
|
217
|
+
className: style['list-item-content']
|
|
218
|
+
}, /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
|
|
187
219
|
vertical: true,
|
|
188
220
|
flex: 1
|
|
189
221
|
}, typeof renderSelectedItem === 'function' ? renderSelectedItem(mapping.get(item.id), {
|
|
190
222
|
el: defaultItem,
|
|
223
|
+
removeOptionEl: removeOption,
|
|
191
224
|
target: item,
|
|
192
225
|
fetchApi,
|
|
193
226
|
searchProps,
|
|
194
227
|
setSearchProps,
|
|
195
|
-
onChange
|
|
228
|
+
onChange,
|
|
229
|
+
onSelected,
|
|
230
|
+
onReplace: targetItem => {
|
|
196
231
|
return onChange(value => {
|
|
197
232
|
const newValue = (value || []).slice(0);
|
|
198
|
-
const index = newValue.findIndex(
|
|
233
|
+
const index = newValue.findIndex(_ref5 => {
|
|
199
234
|
let {
|
|
200
235
|
id
|
|
201
|
-
} =
|
|
236
|
+
} = _ref5;
|
|
202
237
|
return id === item.id;
|
|
203
238
|
});
|
|
204
239
|
const currentItem = newValue[index];
|
|
@@ -208,7 +243,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
208
243
|
return newValue;
|
|
209
244
|
});
|
|
210
245
|
}
|
|
211
|
-
}) : defaultItem));
|
|
246
|
+
}) : defaultItem), removeOption));
|
|
212
247
|
}))) : /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
|
|
213
248
|
className: style['list'],
|
|
214
249
|
justify: "center",
|
|
@@ -224,6 +259,9 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
224
259
|
className: style['list-header-title']
|
|
225
260
|
}, listTitle || typeof renderListTitle === 'function' && renderListTitle({
|
|
226
261
|
fetchApi,
|
|
262
|
+
defaultTitle: formatMessage({
|
|
263
|
+
id: 'list'
|
|
264
|
+
}),
|
|
227
265
|
searchProps,
|
|
228
266
|
setSearchProps
|
|
229
267
|
}) || formatMessage({
|
|
@@ -241,11 +279,11 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
241
279
|
}
|
|
242
280
|
}))), children)));
|
|
243
281
|
}
|
|
244
|
-
}),
|
|
282
|
+
}), _ref6 => {
|
|
245
283
|
let {
|
|
246
284
|
fetchApi,
|
|
247
285
|
list
|
|
248
|
-
} =
|
|
286
|
+
} = _ref6;
|
|
249
287
|
return /*#__PURE__*/React__default["default"].createElement(antd.List, {
|
|
250
288
|
className: classnames__default["default"](style['list'], style['list-lib']),
|
|
251
289
|
size: "small",
|
|
@@ -263,21 +301,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
|
|
|
263
301
|
return /*#__PURE__*/React__default["default"].createElement(antd.List.Item, {
|
|
264
302
|
key: item.id,
|
|
265
303
|
onClick: () => {
|
|
266
|
-
|
|
267
|
-
const newValue = (value || []).slice(0);
|
|
268
|
-
const index = newValue.findIndex(_ref6 => {
|
|
269
|
-
let {
|
|
270
|
-
id
|
|
271
|
-
} = _ref6;
|
|
272
|
-
return id === item.id;
|
|
273
|
-
});
|
|
274
|
-
if (index > -1) {
|
|
275
|
-
newValue.splice(index, 1);
|
|
276
|
-
} else {
|
|
277
|
-
newValue.push(Object.assign({}, item));
|
|
278
|
-
}
|
|
279
|
-
return newValue;
|
|
280
|
-
});
|
|
304
|
+
onSelected(item);
|
|
281
305
|
}
|
|
282
306
|
}, /*#__PURE__*/React__default["default"].createElement(antd.Checkbox, {
|
|
283
307
|
checked: (value || []).findIndex(_ref7 => {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined } from '@ant-design/icons';\nimport ButtonGroup from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, selectedTitle, listTitle, renderListTitle, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n const selectedMappingRef = useRef(new Map());\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n pageData.forEach(item => {\n selectedMappingRef.current.set(item.id, item);\n });\n const listMapping = selectedMappingRef.current;\n const currentList = (value || []).map(item => Object.assign({}, listMapping.get(item.id) || item));\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{selectedTitle || formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".ignore-elements\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {currentList.map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n target: item,\n fetchApi,\n searchProps,\n setSearchProps,\n onChange: targetItem => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof targetItem === 'function' ? targetItem(currentItem) : targetItem));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>\n {listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n searchProps,\n setSearchProps\n })) ||\n formatMessage({ id: 'list' })}\n </div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n searchProps,\n setSearchProps,\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(Object.assign({}, item));\n }\n\n return newValue;\n });\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem,\n searchProps,\n setSearchProps\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","selectedTitle","listTitle","renderListTitle","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","selectedMappingRef","Map","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","id","FetchScrollLoader","_extends","completeTips","autoHide","render","_ref2","children","data","pageData","totalCount","Object","assign","forEach","item","set","listMapping","currentList","map","get","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","filter","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","_ref3","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","targetItem","newValue","slice","findIndex","_ref4","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","_ref5","dataSource","targetOptions","_ref6","push","Checkbox","checked","_ref7","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAMA,QAAM,GAAG;AACbC,EAAAA,GAAG,EAAE,IAAI;AACTC,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,iBAAiB,EAAE,QAAA;AACrB,CAAC;;ACLD,MAAMJ,MAAM,GAAG;AACbC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,QAAQ,EAAE,UAAU;AACpBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,iBAAiB,EAAE,sBAAA;AACrB,CAAC;;;;;ACYKC,MAAAA,aAAa,GAAGC,gCAAsB,CAAC;AAC3CC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,QAAQ,EAAE;AACR,IAAA,OAAO,EAAEC,QAAI;AACb,IAAA,OAAO,EAAEC,MAAAA;GACV;AACDC,EAAAA,SAAS,EAAE,gBAAA;AACb,CAAC,CAAC,CAACC,IAAA,IAA6L;EAAA,IAA5L;MAAEC,KAAK;MAAEC,GAAG;MAAEC,OAAO;MAAEC,aAAa;MAAEC,SAAS;MAAEC,eAAe;MAAEC,kBAAkB;MAAEC,UAAU;MAAEC,aAAa;MAAEC,cAAc;MAAElB,iBAAiB;AAAEmB,MAAAA,iBAAiB,GAAG,GAAA;AAAc,KAAC,GAAAX,IAAA;AAAPY,IAAAA,KAAK,GAAAC,6BAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;EACvL,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,sCAAkB,CAACL,KAAK,CAAC,CAAA;EACnD,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC,CAAA;EAClD,MAAM;AAAEC,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AACnC,EAAA,MAAMC,GAAG,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;EACxB,MAAMC,kBAAkB,GAAGD,YAAM,CAAC,IAAIE,GAAG,EAAE,CAAC,CAAA;AAC5C,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;IACHC,QAAQ,EAAA,IAAA;AACRC,IAAAA,GAAG,EAAE,CAAE;AACPC,IAAAA,SAAS,EAAEC,KAAK,CAAC,gBAAgB,CAAE;AACnCA,IAAAA,KAAK,EAAE;AACL,MAAA,uBAAuB,EAAKtB,iBAAiB,GAAA,IAAA;AAC/C,KAAA;AAAE,GAAA,EAED,OAAOV,KAAK,KAAK,UAAU,iBAC1B0B,yBAAA,CAAAC,aAAA,CAACC,SAAI,EACHF,IAAAA,eAAAA,yBAAA,CAAAC,aAAA,CAACM,WAAM,EAAA;AACLC,IAAAA,KAAK,EAAC,OAAO;AACbC,IAAAA,IAAI,EAAC,OAAO;AACZC,IAAAA,IAAI,EAAC,SAAS;IACdC,OAAO,EAAEA,MAAM;AACbrC,MAAAA,KAAK,CAAC;QAAEsC,QAAQ,EAAEhB,GAAG,CAACiB,OAAO;QAAEzB,KAAK;AAAEC,QAAAA,QAAAA;AAAS,OAAC,CAAC,CAAA;AACnD,KAAA;AAAE,GAAA,EAEDK,aAAa,CAAC;AAAEoB,IAAAA,EAAE,EAAE,KAAA;AAAM,GAAC,CACtB,CACJ,CACP,eACDd,yBAAA,CAAAC,aAAA,CAACc,8BAAiB,EAAAC,QAAA,CAAA,EAAA,EACZ/B,KAAK,EAAA;AACTgC,IAAAA,YAAY,EAAE,IAAK;AACnB1B,IAAAA,WAAW,EAAEA,WAAY;AACzBR,IAAAA,cAAc,EAAEA,cAAe;AAC/BR,IAAAA,GAAG,EAAEA,GAAI;AACTqB,IAAAA,GAAG,EAAEA,GAAI;AACTS,IAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAChCY,IAAAA,QAAQ,EAAE,KAAM;IAChBC,MAAM,EAAEC,KAAA,IAA4B;MAAA,IAA3B;QAAER,QAAQ;AAAES,QAAAA,QAAAA;AAAS,OAAC,GAAAD,KAAA,CAAA;MAC7B,MAAM;AAAEE,QAAAA,IAAAA;AAAK,OAAC,GAAGV,QAAQ,CAAA;MACzB,MAAM;QAAEW,QAAQ;AAAEC,QAAAA,UAAAA;AAAW,OAAC,GAAGC,MAAM,CAACC,MAAM,CAC5C,EAAE,EACF;AACEH,QAAAA,QAAQ,EAAE,EAAE;AACZC,QAAAA,UAAU,EAAE,CAAA;OACb,EACDF,IACF,CAAC,CAAA;AACDC,MAAAA,QAAQ,CAACI,OAAO,CAACC,IAAI,IAAI;QACvB9B,kBAAkB,CAACe,OAAO,CAACgB,GAAG,CAACD,IAAI,CAACd,EAAE,EAAEc,IAAI,CAAC,CAAA;AAC/C,OAAC,CAAC,CAAA;AACF,MAAA,MAAME,WAAW,GAAGhC,kBAAkB,CAACe,OAAO,CAAA;AAC9C,MAAA,MAAMkB,WAAW,GAAG,CAAC3C,KAAK,IAAI,EAAE,EAAE4C,GAAG,CAACJ,IAAI,IAAIH,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEI,WAAW,CAACG,GAAG,CAACL,IAAI,CAACd,EAAE,CAAC,IAAIc,IAAI,CAAC,CAAC,CAAA;AAClG,MAAA,oBACE5B,yBAAA,CAAAC,aAAA,CAACiC,QAAG,EAAA;AAACC,QAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,OAAA,eACpBnC,yBAAA,CAAAC,aAAA,CAACmC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTrC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,EACjCkB,UAAU,GAAG,CAAC,iBAAIxB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAA;OAAI7B,EAAAA,aAAa,IAAIiB,aAAa,CAAC;AAAEoB,QAAAA,EAAE,EAAE,UAAA;AAAW,OAAC,CAAO,CAAC,eACnHd,yBAAA,CAAAC,aAAA,CAACqC,6BAAS,EAAA;AAACjC,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAACY,QAAAA,QAAQ,EAAE,KAAA;AAAM,OAAA,EACzD9B,KAAK,IAAIA,KAAK,CAACmD,MAAM,GAAG,CAAC,gBACxBvC,yBAAA,CAAAC,aAAA,CAACuC,SAAI,EAAA;AAACnC,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACG,QAAAA,IAAI,EAAC,OAAA;AAAO,OAAA,eAC1CT,yBAAA,CAAAC,aAAA,CAACwC,6BAAa,EAAA;AACZC,QAAAA,MAAM,EAAC,kBAAkB;AACzBC,QAAAA,SAAS,EAAErC,KAAK,CAAC,eAAe,CAAE;AAClCsC,QAAAA,UAAU,EAAEtC,KAAK,CAAC,gBAAgB,CAAE;QACpCuC,aAAa,EAAA,IAAA;AACbC,QAAAA,SAAS,EAAE,GAAI;QACfC,iBAAiB,EAAA,IAAA;AACjBC,QAAAA,KAAK,EAAE,CAAE;AACTpF,QAAAA,IAAI,EAAEmE,WAAY;QAClBkB,OAAO,EAAErF,IAAI,IAAI;UACfyB,QAAQ,CAACD,KAAK,IAAI;YAChB,MAAM8D,OAAO,GAAG,IAAInD,GAAG,CAAC,CAACX,KAAK,IAAI,EAAE,EAAE4C,GAAG,CAACJ,IAAI,IAAI,CAACA,IAAI,CAACd,EAAE,EAAEc,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,YAAA,OAAOhE,IAAI,CAACoE,GAAG,CAACmB,KAAA,IAAY;cAAA,IAAX;AAAErC,gBAAAA,EAAAA;AAAG,eAAC,GAAAqC,KAAA,CAAA;AACrB,cAAA,OAAOD,OAAO,CAACjB,GAAG,CAACnB,EAAE,CAAC,CAAA;AACxB,aAAC,CAAC,CAAA;AACJ,WAAC,CAAC,CAAA;AACJ,SAAA;OAECiB,EAAAA,WAAW,CAACC,GAAG,CAAC,CAACJ,IAAI,EAAEwB,KAAK,KAAK;AAChC,QAAA,MAAMC,WAAW,gBAAGrD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBuB,EAAAA,IAAI,CAAC0B,KAAY,CAAC,CAAA;QAC3E,MAAMJ,OAAO,GAAG,IAAInD,GAAG,CAAC,CAACX,KAAK,IAAI,EAAE,EAAE4C,GAAG,CAACJ,IAAI,IAAI,CAACA,IAAI,CAACd,EAAE,EAAEc,IAAI,CAAC,CAAC,CAAC,CAAA;AACnE,QAAA,oBACE5B,yBAAA,CAAAC,aAAA,CAACuC,SAAI,CAACe,IAAI,EAAA;UAACC,GAAG,EAAE5B,IAAI,CAACd,EAAG;UAACT,SAAS,EAAEoD,8BAAU,CAACnD,KAAK,CAAC,8BAA8B,CAAC,EAAEA,KAAK,CAAC,SAAS,CAAC,CAAA;AAAE,SAAA,eACtGN,yBAAA,CAAAC,aAAA,CAACyD,oBAAc,EAAA;UAACrD,SAAS,EAAEC,KAAK,CAAC,mCAAmC,CAAA;AAAE,SAAE,CAAC,eACzEN,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;UAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;SAAI8C,EAAAA,KAAK,GAAG,CAAO,CAAC,eACtDpD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACwD,UAAAA,IAAI,EAAE,CAAA;AAAE,SAAA,EACpB,OAAO/E,kBAAkB,KAAK,UAAU,GACrCA,kBAAkB,CAACsE,OAAO,CAACjB,GAAG,CAACL,IAAI,CAACd,EAAE,CAAC,EAAE;AACvC8C,UAAAA,EAAE,EAAEP,WAAW;AACfQ,UAAAA,MAAM,EAAEjC,IAAI;UACZhB,QAAQ;UACRrB,WAAW;UACXC,cAAc;UACdH,QAAQ,EAAEyE,UAAU,IAAI;YACtB,OAAOzE,QAAQ,CAACD,KAAK,IAAI;cACvB,MAAM2E,QAAQ,GAAG,CAAC3E,KAAK,IAAI,EAAE,EAAE4E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMZ,KAAK,GAAGW,QAAQ,CAACE,SAAS,CAACC,KAAA,IAAA;gBAAA,IAAC;AAAEpD,kBAAAA,EAAAA;AAAG,iBAAC,GAAAoD,KAAA,CAAA;AAAA,gBAAA,OAAKpD,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,MAAMqD,WAAW,GAAGJ,QAAQ,CAACX,KAAK,CAAC,CAAA;AACnC,cAAA,IAAIA,KAAK,GAAG,CAAC,CAAC,EAAE;gBACdW,QAAQ,CAACK,MAAM,CAAChB,KAAK,EAAE,CAAC,EAAE3B,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE,OAAOoC,UAAU,KAAK,UAAU,GAAGA,UAAU,CAACK,WAAW,CAAC,GAAGL,UAAU,CAAC,CAAC,CAAA;AACvH,eAAA;AACA,cAAA,OAAOC,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AACF,SAAC,CAAC,GACFV,WACA,CACG,CAAC,CAAA;OAEf,CACY,CACX,CAAC,gBAEPrD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAAC+D,QAAAA,OAAO,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,QAAA;AAAQ,OAAA,eAC7DtE,yBAAA,CAAAC,aAAA,CAACsE,UAAK,MAAE,CACJ,CAEC,CACR,CACF,CAAC,eACNvE,yBAAA,CAAAC,aAAA,CAACmC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTrC,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;AAAE,OAAA,eAClCN,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAAC+D,QAAAA,OAAO,EAAC,eAAA;OAC7CrE,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;QAAKI,SAAS,EAAEC,KAAK,CAAC,mBAAmB,CAAA;OACtC5B,EAAAA,SAAS,IACP,OAAOC,eAAe,KAAK,UAAU,IACpCA,eAAe,CAAC;QACdiC,QAAQ;QACRrB,WAAW;AACXC,QAAAA,cAAAA;OACD,CAAE,IACLE,aAAa,CAAC;AAAEoB,QAAAA,EAAE,EAAE,MAAA;AAAO,OAAC,CAC3B,CAAC,eACNd,yBAAA,CAAAC,aAAA,CACG,KAAA,EAAA,IAAA,EAAA,OAAOlB,cAAc,KAAK,UAAU,iBACnCiB,yBAAA,CAAAC,aAAA,CAACuE,+BAAW,EAAA;AACV/D,QAAAA,IAAI,EAAC,OAAO;AACZgE,QAAAA,WAAW,EAAE5G,iBAAiB,IAAI6B,aAAa,CAAC;AAAEoB,UAAAA,EAAE,EAAE,mBAAA;AAAoB,SAAC,CAAE;QAC7E1B,KAAK,EAAEG,WAAW,CAACmF,UAAW;QAC9BC,QAAQ,EAAEvF,KAAK,IAAI;UACjBI,cAAc,CAACD,WAAW,IAAIkC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEnC,WAAW,EAAE;AAAEmF,YAAAA,UAAU,EAAEtF,KAAAA;AAAM,WAAC,CAAC,CAAC,CAAA;AACtF,SAAA;AAAE,OACH,CAEA,CACD,CAAC,EACNiC,QACE,CACF,CACF,CAAC,CAAA;AAEV,KAAA;AAAE,GAAA,CAAA,EAEDuD,KAAA,IAAwB;IAAA,IAAvB;MAAEhE,QAAQ;AAAEhD,MAAAA,IAAAA;AAAK,KAAC,GAAAgH,KAAA,CAAA;AAClB,IAAA,oBACE5E,yBAAA,CAAAC,aAAA,CAACuC,SAAI,EAAA;AACHnC,MAAAA,SAAS,EAAEoD,8BAAU,CAACnD,KAAK,CAAC,MAAM,CAAC,EAAEA,KAAK,CAAC,UAAU,CAAC,CAAE;AACxDG,MAAAA,IAAI,EAAC,OAAO;AACZoE,MAAAA,UAAU,EAAEjH,IAAK;MACjBiB,UAAU,EAAE+C,IAAI,IAAI;AAClB,QAAA,MAAMyB,WAAW,gBAAGrD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBuB,EAAAA,IAAI,CAAC0B,KAAY,CAAC,CAAA;QAC3E,MAAMwB,aAAa,GACjB,OAAOhG,aAAa,KAAK,UAAU,GAC/BA,aAAa,CAAC8C,IAAI,EAAE;UAClBrC,WAAW;UACXC,cAAc;UACdoB,QAAQ;AACRpC,UAAAA,OAAAA;SACD,CAAC,GACFA,OAAO,CAAA;AACb,QAAA,oBACEwB,yBAAA,CAAAC,aAAA,CAACuC,SAAI,CAACe,IAAI,EAAA;UACRC,GAAG,EAAE5B,IAAI,CAACd,EAAG;UACbH,OAAO,EAAEA,MAAM;YACbtB,QAAQ,CAACD,KAAK,IAAI;cAChB,MAAM2E,QAAQ,GAAG,CAAC3E,KAAK,IAAI,EAAE,EAAE4E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMZ,KAAK,GAAGW,QAAQ,CAACE,SAAS,CAACc,KAAA,IAAA;gBAAA,IAAC;AAAEjE,kBAAAA,EAAAA;AAAG,iBAAC,GAAAiE,KAAA,CAAA;AAAA,gBAAA,OAAKjE,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,IAAIsC,KAAK,GAAG,CAAC,CAAC,EAAE;AACdW,gBAAAA,QAAQ,CAACK,MAAM,CAAChB,KAAK,EAAE,CAAC,CAAC,CAAA;AAC3B,eAAC,MAAM;AACLW,gBAAAA,QAAQ,CAACiB,IAAI,CAACvD,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEE,IAAI,CAAC,CAAC,CAAA;AACxC,eAAA;AAEA,cAAA,OAAOmC,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AAAE,SAAA,eAEF/D,yBAAA,CAAAC,aAAA,CAACgF,aAAQ,EAAA;UAACC,OAAO,EAAE,CAAC9F,KAAK,IAAI,EAAE,EAAE6E,SAAS,CAACkB,KAAA,IAAA;YAAA,IAAC;AAAErE,cAAAA,EAAAA;AAAG,aAAC,GAAAqE,KAAA,CAAA;AAAA,YAAA,OAAKrE,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;AAAA,WAAA,CAAC,GAAG,CAAC,CAAA;AAAE,SAAE,CAAC,eAC/Ed,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAACwD,UAAAA,IAAI,EAAE,CAAA;SAClB,EAAA,OAAO9E,UAAU,KAAK,UAAU,GAC7BA,UAAU,CAAC+C,IAAI,EAAE;UACfhB,QAAQ;AACRgD,UAAAA,EAAE,EAAEP,WAAW;UACf9D,WAAW;AACXC,UAAAA,cAAAA;SACD,CAAC,GACF6D,WACA,CAAC,EACNyB,aAAa,iBACZ9E,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AACHyD,UAAAA,IAAI,EAAE,UAAW;UACjBhD,OAAO,EAAEyE,CAAC,IAAI;YACZA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,WAAA;AAAE,SAAA,eAEFrF,yBAAA,CAAAC,aAAA,CAACqF,+BAAW,EAAA;AAACC,UAAAA,IAAI,eAAEvF,yBAAA,CAAAC,aAAA,CAACM,WAAM,EAAA;AAACG,YAAAA,IAAI,EAAC,MAAM;AAAC8E,YAAAA,IAAI,eAAExF,yBAAA,CAAAC,aAAA,CAACwF,kBAAY,EAAE,IAAA,CAAA;AAAE,WAAE,CAAE;AAAC7H,UAAAA,IAAI,EAAEkH,aAAAA;SAAgB,CACrF,CAEC,CAAC,CAAA;AAEhB,OAAA;AAAE,KACH,CAAC,CAAA;AAEN,GACiB,CACf,CAAC,CAAA;AAEX,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined, DeleteOutlined } from '@ant-design/icons';\nimport ButtonGroup, { ConfirmButton } from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, selectedTitle, listTitle, renderListTitle, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n const selectedMappingRef = useRef(new Map());\n const onSelected = item => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(Object.assign({}, item));\n }\n\n return newValue;\n });\n };\n\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n pageData.forEach(item => {\n selectedMappingRef.current.set(item.id, item);\n });\n const listMapping = selectedMappingRef.current;\n const currentList = (value || []).map(item => Object.assign({}, listMapping.get(item.id) || item));\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{selectedTitle || formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".sortable-ignore-elements\"\n handle=\".sortable-drag-handle\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {currentList.map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const removeOption = (\n <ConfirmButton\n color=\"danger\"\n variant=\"filled\"\n className={'list-item-remove-btn'}\n icon={<DeleteOutlined />}\n onClick={() => {\n onSelected(item);\n }}\n />\n );\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={classnames('sortable-drag-handle', style['columns-control-content-item-icon'])} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex justify=\"space-between\" gap={8} flex={1} className={style['list-item-content']}>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n removeOptionEl: removeOption,\n target: item,\n fetchApi,\n searchProps,\n setSearchProps,\n onChange,\n onSelected,\n onReplace: targetItem => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof targetItem === 'function' ? targetItem(currentItem) : targetItem));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n {removeOption}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>\n {listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n defaultTitle: formatMessage({ id: 'list' }),\n searchProps,\n setSearchProps\n })) ||\n formatMessage({ id: 'list' })}\n </div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n searchProps,\n setSearchProps,\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onSelected(item);\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem,\n searchProps,\n setSearchProps\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","selectedTitle","listTitle","renderListTitle","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","selectedMappingRef","Map","onSelected","item","newValue","slice","index","findIndex","_ref2","id","splice","push","Object","assign","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","FetchScrollLoader","_extends","completeTips","autoHide","render","_ref3","children","data","pageData","totalCount","forEach","set","listMapping","currentList","map","get","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","filter","handle","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","_ref4","defaultItem","title","removeOption","ConfirmButton","color","variant","icon","DeleteOutlined","Item","key","classnames","HolderOutlined","justify","flex","el","removeOptionEl","target","onReplace","targetItem","_ref5","currentItem","align","Empty","defaultTitle","SearchInput","placeholder","searchText","onSearch","_ref6","dataSource","targetOptions","Checkbox","checked","_ref7","e","stopPropagation","ButtonGroup","more","MoreOutlined"],"mappings":"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"}
|
package/dist/index.modern.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useState, useRef } from 'react';
|
|
2
2
|
import { ReactSortable } from 'react-sortablejs';
|
|
3
3
|
import { createWithIntlProvider, useIntl } from '@kne/react-intl';
|
|
4
|
-
import { MoreOutlined, HolderOutlined } from '@ant-design/icons';
|
|
5
|
-
import ButtonGroup from '@kne/button-group';
|
|
4
|
+
import { MoreOutlined, HolderOutlined, DeleteOutlined } from '@ant-design/icons';
|
|
5
|
+
import ButtonGroup, { ConfirmButton } from '@kne/button-group';
|
|
6
6
|
import useControllerValue from '@kne/use-control-value';
|
|
7
7
|
import { FetchScrollLoader } from '@kne/scroll-loader';
|
|
8
8
|
import classnames from 'classnames';
|
|
@@ -45,7 +45,7 @@ const locale = {
|
|
|
45
45
|
searchPlaceholder: 'Please input keyword'
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
var style = {"entry-selector":"_TIU4-","list-outer":"_ZXEhy","list-header":"_HAF3g","list-scroll":"_VO7i-","list":"_8w58c","list-lib":"_9m0I0","list-index":"_P8KYX","columns-control-content-list":"_agPfO","columns-control-content-item":"_iFzfk","is-drag":"_uB1q2","columns-control-content-item-icon":"_WHlyH","sortable-drag":"_dxhFH","sortable-ghost":"_7ZIH8"};
|
|
48
|
+
var style = {"entry-selector":"_TIU4-","list-outer":"_ZXEhy","list-header":"_HAF3g","list-scroll":"_VO7i-","list":"_8w58c","list-lib":"_9m0I0","list-index":"_P8KYX","list-item-content":"_VXH4S","columns-control-content-list":"_agPfO","columns-control-content-item":"_iFzfk","is-drag":"_uB1q2","columns-control-content-item-icon":"_WHlyH","sortable-drag":"_dxhFH","sortable-ghost":"_7ZIH8"};
|
|
49
49
|
|
|
50
50
|
const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
|
|
51
51
|
const EntrySelector = createWithIntlProvider({
|
|
@@ -78,6 +78,20 @@ const EntrySelector = createWithIntlProvider({
|
|
|
78
78
|
} = useIntl();
|
|
79
79
|
const ref = useRef(null);
|
|
80
80
|
const selectedMappingRef = useRef(new Map());
|
|
81
|
+
const onSelected = item => {
|
|
82
|
+
return onChange(value => {
|
|
83
|
+
const newValue = (value || []).slice(0);
|
|
84
|
+
const index = newValue.findIndex(({
|
|
85
|
+
id
|
|
86
|
+
}) => id === item.id);
|
|
87
|
+
if (index > -1) {
|
|
88
|
+
newValue.splice(index, 1);
|
|
89
|
+
} else {
|
|
90
|
+
newValue.push(Object.assign({}, item));
|
|
91
|
+
}
|
|
92
|
+
return newValue;
|
|
93
|
+
});
|
|
94
|
+
};
|
|
81
95
|
return /*#__PURE__*/React.createElement(Flex, {
|
|
82
96
|
vertical: true,
|
|
83
97
|
gap: 8,
|
|
@@ -142,7 +156,8 @@ const EntrySelector = createWithIntlProvider({
|
|
|
142
156
|
className: style['list'],
|
|
143
157
|
size: "small"
|
|
144
158
|
}, /*#__PURE__*/React.createElement(ReactSortable, {
|
|
145
|
-
filter: ".ignore-elements",
|
|
159
|
+
filter: ".sortable-ignore-elements",
|
|
160
|
+
handle: ".sortable-drag-handle",
|
|
146
161
|
dragClass: style['sortable-drag'],
|
|
147
162
|
ghostClass: style['sortable-ghost'],
|
|
148
163
|
forceFallback: true,
|
|
@@ -164,24 +179,41 @@ const EntrySelector = createWithIntlProvider({
|
|
|
164
179
|
const defaultItem = /*#__PURE__*/React.createElement("span", {
|
|
165
180
|
className: 'list-item-title'
|
|
166
181
|
}, item.title);
|
|
182
|
+
const removeOption = /*#__PURE__*/React.createElement(ConfirmButton, {
|
|
183
|
+
color: "danger",
|
|
184
|
+
variant: "filled",
|
|
185
|
+
className: 'list-item-remove-btn',
|
|
186
|
+
icon: /*#__PURE__*/React.createElement(DeleteOutlined, null),
|
|
187
|
+
onClick: () => {
|
|
188
|
+
onSelected(item);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
167
191
|
const mapping = new Map((value || []).map(item => [item.id, item]));
|
|
168
192
|
return /*#__PURE__*/React.createElement(List.Item, {
|
|
169
193
|
key: item.id,
|
|
170
194
|
className: classnames(style['columns-control-content-item'], style['is-drag'])
|
|
171
195
|
}, /*#__PURE__*/React.createElement(HolderOutlined, {
|
|
172
|
-
className: style['columns-control-content-item-icon']
|
|
196
|
+
className: classnames('sortable-drag-handle', style['columns-control-content-item-icon'])
|
|
173
197
|
}), /*#__PURE__*/React.createElement("div", {
|
|
174
198
|
className: style['list-index']
|
|
175
199
|
}, index + 1), /*#__PURE__*/React.createElement(Flex, {
|
|
200
|
+
justify: "space-between",
|
|
201
|
+
gap: 8,
|
|
202
|
+
flex: 1,
|
|
203
|
+
className: style['list-item-content']
|
|
204
|
+
}, /*#__PURE__*/React.createElement(Flex, {
|
|
176
205
|
vertical: true,
|
|
177
206
|
flex: 1
|
|
178
207
|
}, typeof renderSelectedItem === 'function' ? renderSelectedItem(mapping.get(item.id), {
|
|
179
208
|
el: defaultItem,
|
|
209
|
+
removeOptionEl: removeOption,
|
|
180
210
|
target: item,
|
|
181
211
|
fetchApi,
|
|
182
212
|
searchProps,
|
|
183
213
|
setSearchProps,
|
|
184
|
-
onChange
|
|
214
|
+
onChange,
|
|
215
|
+
onSelected,
|
|
216
|
+
onReplace: targetItem => {
|
|
185
217
|
return onChange(value => {
|
|
186
218
|
const newValue = (value || []).slice(0);
|
|
187
219
|
const index = newValue.findIndex(({
|
|
@@ -194,7 +226,7 @@ const EntrySelector = createWithIntlProvider({
|
|
|
194
226
|
return newValue;
|
|
195
227
|
});
|
|
196
228
|
}
|
|
197
|
-
}) : defaultItem));
|
|
229
|
+
}) : defaultItem), removeOption));
|
|
198
230
|
}))) : /*#__PURE__*/React.createElement(Flex, {
|
|
199
231
|
className: style['list'],
|
|
200
232
|
justify: "center",
|
|
@@ -210,6 +242,9 @@ const EntrySelector = createWithIntlProvider({
|
|
|
210
242
|
className: style['list-header-title']
|
|
211
243
|
}, listTitle || typeof renderListTitle === 'function' && renderListTitle({
|
|
212
244
|
fetchApi,
|
|
245
|
+
defaultTitle: formatMessage({
|
|
246
|
+
id: 'list'
|
|
247
|
+
}),
|
|
213
248
|
searchProps,
|
|
214
249
|
setSearchProps
|
|
215
250
|
}) || formatMessage({
|
|
@@ -248,18 +283,7 @@ const EntrySelector = createWithIntlProvider({
|
|
|
248
283
|
return /*#__PURE__*/React.createElement(List.Item, {
|
|
249
284
|
key: item.id,
|
|
250
285
|
onClick: () => {
|
|
251
|
-
|
|
252
|
-
const newValue = (value || []).slice(0);
|
|
253
|
-
const index = newValue.findIndex(({
|
|
254
|
-
id
|
|
255
|
-
}) => id === item.id);
|
|
256
|
-
if (index > -1) {
|
|
257
|
-
newValue.splice(index, 1);
|
|
258
|
-
} else {
|
|
259
|
-
newValue.push(Object.assign({}, item));
|
|
260
|
-
}
|
|
261
|
-
return newValue;
|
|
262
|
-
});
|
|
286
|
+
onSelected(item);
|
|
263
287
|
}
|
|
264
288
|
}, /*#__PURE__*/React.createElement(Checkbox, {
|
|
265
289
|
checked: (value || []).findIndex(({
|
package/dist/index.modern.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.modern.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined } from '@ant-design/icons';\nimport ButtonGroup from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, selectedTitle, listTitle, renderListTitle, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n const selectedMappingRef = useRef(new Map());\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n pageData.forEach(item => {\n selectedMappingRef.current.set(item.id, item);\n });\n const listMapping = selectedMappingRef.current;\n const currentList = (value || []).map(item => Object.assign({}, listMapping.get(item.id) || item));\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{selectedTitle || formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".ignore-elements\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {currentList.map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n target: item,\n fetchApi,\n searchProps,\n setSearchProps,\n onChange: targetItem => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof targetItem === 'function' ? targetItem(currentItem) : targetItem));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>\n {listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n searchProps,\n setSearchProps\n })) ||\n formatMessage({ id: 'list' })}\n </div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n searchProps,\n setSearchProps,\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(Object.assign({}, item));\n }\n\n return newValue;\n });\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem,\n searchProps,\n setSearchProps\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","selectedTitle","listTitle","renderListTitle","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","selectedMappingRef","Map","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","id","FetchScrollLoader","_extends","completeTips","autoHide","render","children","data","pageData","totalCount","Object","assign","forEach","item","set","listMapping","currentList","map","get","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","filter","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","targetItem","newValue","slice","findIndex","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","dataSource","targetOptions","push","Checkbox","checked","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.modern.js","sources":["../src/locale/zh-CN.js","../src/locale/en-US.js","../src/index.js"],"sourcesContent":["const locale = {\n add: '添加',\n selected: '已选择',\n list: '列表',\n searchPlaceholder: '请输入关键字'\n};\n\nexport default locale;\n","const locale = {\n add: 'Add',\n selected: 'Selected',\n list: 'List',\n searchPlaceholder: 'Please input keyword'\n};\n\nexport default locale;\n","import React, { useRef, useState } from 'react';\nimport zhCn from './locale/zh-CN';\nimport enUS from './locale/en-US';\nimport { ReactSortable } from 'react-sortablejs';\nimport { createWithIntlProvider, useIntl } from '@kne/react-intl';\nimport { MoreOutlined, HolderOutlined, DeleteOutlined } from '@ant-design/icons';\nimport ButtonGroup, { ConfirmButton } from '@kne/button-group';\nimport useControllerValue from '@kne/use-control-value';\nimport { FetchScrollLoader } from '@kne/scroll-loader';\nimport classnames from 'classnames';\nimport SearchInput from '@kne/search-input';\nimport { Flex, Button, Row, Col, List, Empty, Checkbox } from 'antd';\nimport SimpleBar from 'simplebar-react';\nimport 'simplebar/dist/simplebar.min.css';\nimport '@kne/button-group/dist/index.css';\nimport style from './style.module.scss';\n\nconst EntrySelector = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': zhCn,\n 'en-US': enUS\n },\n namespace: 'entry-selector'\n})(({ onAdd, api, options, selectedTitle, listTitle, renderListTitle, renderSelectedItem, renderItem, renderOptions, getSearchProps, searchPlaceholder, maxScrollerHeight = 800, ...props }) => {\n const [value, onChange] = useControllerValue(props);\n const [searchProps, setSearchProps] = useState({});\n const { formatMessage } = useIntl();\n const ref = useRef(null);\n const selectedMappingRef = useRef(new Map());\n const onSelected = item => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n if (index > -1) {\n newValue.splice(index, 1);\n } else {\n newValue.push(Object.assign({}, item));\n }\n\n return newValue;\n });\n };\n\n return (\n <Flex\n vertical\n gap={8}\n className={style['entry-selector']}\n style={{\n '--max-scroller-height': `${maxScrollerHeight}px`\n }}\n >\n {typeof onAdd === 'function' && (\n <Flex>\n <Button\n shape=\"round\"\n size=\"small\"\n type=\"primary\"\n onClick={() => {\n onAdd({ fetchApi: ref.current, value, onChange });\n }}\n >\n {formatMessage({ id: 'add' })}\n </Button>\n </Flex>\n )}\n <FetchScrollLoader\n {...props}\n completeTips={null}\n searchProps={searchProps}\n getSearchProps={getSearchProps}\n api={api}\n ref={ref}\n className={style['list-scroll']}\n autoHide={false}\n render={({ fetchApi, children }) => {\n const { data } = fetchApi;\n const { pageData, totalCount } = Object.assign(\n {},\n {\n pageData: [],\n totalCount: 0\n },\n data\n );\n pageData.forEach(item => {\n selectedMappingRef.current.set(item.id, item);\n });\n const listMapping = selectedMappingRef.current;\n const currentList = (value || []).map(item => Object.assign({}, listMapping.get(item.id) || item));\n return (\n <Row gutter={[12, 12]}>\n <Col span={12}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{selectedTitle || formatMessage({ id: 'selected' })}</div>}\n <SimpleBar className={style['list-scroll']} autoHide={false}>\n {value && value.length > 0 ? (\n <List className={style['list']} size=\"small\">\n <ReactSortable\n filter=\".sortable-ignore-elements\"\n handle=\".sortable-drag-handle\"\n dragClass={style['sortable-drag']}\n ghostClass={style['sortable-ghost']}\n forceFallback\n animation={300}\n delayOnTouchStart\n delay={2}\n list={currentList}\n setList={list => {\n onChange(value => {\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return list.map(({ id }) => {\n return mapping.get(id);\n });\n });\n }}\n >\n {currentList.map((item, index) => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const removeOption = (\n <ConfirmButton\n color=\"danger\"\n variant=\"filled\"\n className={'list-item-remove-btn'}\n icon={<DeleteOutlined />}\n onClick={() => {\n onSelected(item);\n }}\n />\n );\n const mapping = new Map((value || []).map(item => [item.id, item]));\n return (\n <List.Item key={item.id} className={classnames(style['columns-control-content-item'], style['is-drag'])}>\n <HolderOutlined className={classnames('sortable-drag-handle', style['columns-control-content-item-icon'])} />\n <div className={style['list-index']}>{index + 1}</div>\n <Flex justify=\"space-between\" gap={8} flex={1} className={style['list-item-content']}>\n <Flex vertical flex={1}>\n {typeof renderSelectedItem === 'function'\n ? renderSelectedItem(mapping.get(item.id), {\n el: defaultItem,\n removeOptionEl: removeOption,\n target: item,\n fetchApi,\n searchProps,\n setSearchProps,\n onChange,\n onSelected,\n onReplace: targetItem => {\n return onChange(value => {\n const newValue = (value || []).slice(0);\n const index = newValue.findIndex(({ id }) => id === item.id);\n const currentItem = newValue[index];\n if (index > -1) {\n newValue.splice(index, 1, Object.assign({}, typeof targetItem === 'function' ? targetItem(currentItem) : targetItem));\n }\n return newValue;\n });\n }\n })\n : defaultItem}\n </Flex>\n {removeOption}\n </Flex>\n </List.Item>\n );\n })}\n </ReactSortable>\n </List>\n ) : (\n <Flex className={style['list']} justify=\"center\" align=\"center\">\n <Empty />\n </Flex>\n )}\n </SimpleBar>\n </div>\n </Col>\n <Col span={12}>\n <div className={style['list-outer']}>\n <Flex className={style['list-header']} justify=\"space-between\">\n <div className={style['list-header-title']}>\n {listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n defaultTitle: formatMessage({ id: 'list' }),\n searchProps,\n setSearchProps\n })) ||\n formatMessage({ id: 'list' })}\n </div>\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n size=\"small\"\n placeholder={searchPlaceholder || formatMessage({ id: 'searchPlaceholder' })}\n value={searchProps.searchText}\n onSearch={value => {\n setSearchProps(searchProps => Object.assign({}, searchProps, { searchText: value }));\n }}\n />\n )}\n </div>\n </Flex>\n {children}\n </div>\n </Col>\n </Row>\n );\n }}\n >\n {({ fetchApi, list }) => {\n return (\n <List\n className={classnames(style['list'], style['list-lib'])}\n size=\"small\"\n dataSource={list}\n renderItem={item => {\n const defaultItem = <span className={'list-item-title'}>{item.title}</span>;\n const targetOptions =\n typeof renderOptions === 'function'\n ? renderOptions(item, {\n searchProps,\n setSearchProps,\n fetchApi,\n options\n })\n : options;\n return (\n <List.Item\n key={item.id}\n onClick={() => {\n onSelected(item);\n }}\n >\n <Checkbox checked={(value || []).findIndex(({ id }) => id === item.id) > -1} />\n <Flex vertical flex={1}>\n {typeof renderItem === 'function'\n ? renderItem(item, {\n fetchApi,\n el: defaultItem,\n searchProps,\n setSearchProps\n })\n : defaultItem}\n </Flex>\n {targetOptions && (\n <Flex\n flex={'0 0 50px'}\n onClick={e => {\n e.stopPropagation();\n }}\n >\n <ButtonGroup more={<Button type=\"link\" icon={<MoreOutlined />} />} list={targetOptions} />\n </Flex>\n )}\n </List.Item>\n );\n }}\n />\n );\n }}\n </FetchScrollLoader>\n </Flex>\n );\n});\n\nexport default EntrySelector;\n"],"names":["locale","add","selected","list","searchPlaceholder","EntrySelector","createWithIntlProvider","defaultLocale","messages","zhCn","enUS","namespace","_ref","onAdd","api","options","selectedTitle","listTitle","renderListTitle","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","selectedMappingRef","Map","onSelected","item","newValue","slice","index","findIndex","id","splice","push","Object","assign","React","createElement","Flex","vertical","gap","className","style","Button","shape","size","type","onClick","fetchApi","current","FetchScrollLoader","_extends","completeTips","autoHide","render","children","data","pageData","totalCount","forEach","set","listMapping","currentList","map","get","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","filter","handle","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","defaultItem","title","removeOption","ConfirmButton","color","variant","icon","DeleteOutlined","Item","key","classnames","HolderOutlined","justify","flex","el","removeOptionEl","target","onReplace","targetItem","currentItem","align","Empty","defaultTitle","SearchInput","placeholder","searchText","onSearch","dataSource","targetOptions","Checkbox","checked","e","stopPropagation","ButtonGroup","more","MoreOutlined"],"mappings":"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"}
|