@kne/entry-selector 0.1.2 → 0.1.4

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 CHANGED
@@ -18,7 +18,7 @@ npm i --save @kne/entry-selector
18
18
 
19
19
  EntrySelector 是一个用于选择和管理条目列表的 React 组件。它提供了一个直观的界面,允许用户从可选列表中选择条目,并对已选条目进行管理,包括排序、搜索和删除等操作。
20
20
 
21
- #### 主要功能
21
+ ### 主要功能
22
22
 
23
23
  - **双列表展示**:清晰地分离已选条目和可选条目
24
24
  - **拖拽排序**:支持对已选条目进行拖拽排序
@@ -27,7 +27,7 @@ EntrySelector 是一个用于选择和管理条目列表的 React 组件。它
27
27
  - **国际化支持**:内置中文和英文语言支持
28
28
  - **添加新条目**:支持添加不在预设列表中的新条目
29
29
 
30
- #### 使用场景
30
+ ### 使用场景
31
31
 
32
32
  EntrySelector 适用于需要从预定义列表中选择多个条目并进行排序的场景,例如:
33
33
 
@@ -36,9 +36,10 @@ EntrySelector 适用于需要从预定义列表中选择多个条目并进行排
36
36
  - 配置用户权限
37
37
  - 选择并排序展示项目
38
38
 
39
- #### 基本原理
39
+ ### 基本原理
40
40
 
41
- 组件内部维护已选条目列表和可选条目列表两个状态,通过用户交互在这两个列表之间移动条目。组件使用 react-sortablejs 实现拖拽排序功能,并支持通过搜索框过滤条目列表。
41
+ 组件内部维护已选条目列表和可选条目列表两个状态,通过用户交互在这两个列表之间移动条目。组件使用 react-sortablejs
42
+ 实现拖拽排序功能,并支持通过搜索框过滤条目列表。
42
43
 
43
44
 
44
45
  ### 示例
@@ -87,7 +88,7 @@ const BaseExample = () => {
87
88
  id: 3,
88
89
  title: '请分享一次你快速作出决定的经验,当时的情况怎样?你是怎么处理的?'
89
90
  }
90
- ]
91
+ ].filter(({ title }) => !(data?.params?.title && title.indexOf(data.params.title) === -1))
91
92
  };
92
93
  }
93
94
  }}
@@ -134,34 +135,39 @@ render(<BaseExample />);
134
135
 
135
136
  ### API
136
137
 
137
- | 属性名 | 类型 | 默认值 | 说明 |
138
- |-------|------|-------|------|
139
- | value | Array | [] | 已选条目列表,每个条目应包含唯一id属性 |
140
- | onChange | Function | - | 值变化时的回调函数,参数为新的value值 |
141
- | onAdd | Function | - | 添加新条目的回调函数,参数为包含fetchApi、value和onChange的对象 |
142
- | api | Function | - | 获取条目列表的API函数,用于加载可选条目数据 |
143
- | options | Array | - | 条目操作选项列表,用于ButtonGroup组件 |
144
- | renderSelectedItem | Function | - | 自定义渲染已选条目的函数,参数为条目数据和包含el、target、fetchApi、onChange的对象 |
145
- | renderItem | Function | - | 自定义渲染可选条目的函数,参数为条目数据和包含fetchApi、el的对象 |
146
- | renderOptions | Function | - | 自定义渲染操作选项的函数,参数为包含fetchApi、options的对象 |
147
- | getSearchProps | Function | - | 获取搜索属性的函数,用于配置搜索功能 |
148
- | searchPlaceholder | String | - | 搜索框占位文本,未设置时使用国际化文本 |
149
-
150
- #### 国际化支持
138
+ ### 组件属性
139
+
140
+ | 属性名 | 类型 | 默认值 | 说明 |
141
+ |--------------------|----------|-----|-----------------------------------------------------------------------|
142
+ | value | Array | [] | 已选条目列表,每个条目应包含唯一id属性 |
143
+ | onChange | Function | - | 值变化时的回调函数,参数为新的value值 |
144
+ | onAdd | Function | - | 添加新条目的回调函数,参数为包含fetchApi、value和onChange的对象 |
145
+ | api | Function | - | 获取条目列表的API函数,用于加载可选条目数据 |
146
+ | options | Array | - | 条目操作选项列表,用于ButtonGroup组件 |
147
+ | renderSelectedItem | Function | - | 自定义渲染已选条目的函数,参数为条目数据和包含el、target、fetchApi、onChange的对象 |
148
+ | renderItem | Function | - | 自定义渲染可选条目的函数,参数为条目数据和包含fetchApi、el的对象 |
149
+ | renderOptions | Function | - | 自定义渲染操作选项的函数,参数为条目数据和包含searchProps、setSearchProps、fetchApi、options的对象 |
150
+ | getSearchProps | Function | - | 获取搜索属性的函数,用于配置搜索功能 |
151
+ | searchPlaceholder | String | - | 搜索框占位文本,未设置时使用国际化文本 |
152
+ | selectedTitle | String | - | 自定义已选列表的标题,未设置时使用国际化文本 |
153
+ | listTitle | String | - | 自定义可选列表的标题,未设置时使用国际化文本 |
154
+ | renderListTitle | Function | - | 自定义渲染列表标题的函数,参数为包含fetchApi、searchProps、setSearchProps的对象 |
155
+ | maxScrollerHeight | Number | 800 | 设置滚动区域的最大高度(单位:像素) |
156
+
157
+ ### 国际化支持
151
158
 
152
159
  组件内置中文和英文两种语言,默认使用中文。可通过createWithIntlProvider配置国际化。
153
160
 
154
- | 语言 | 代码 |
155
- |------|------|
161
+ | 语言 | 代码 |
162
+ |----|-------|
156
163
  | 中文 | zh-CN |
157
164
  | 英文 | en-US |
158
165
 
159
- #### 国际化文本键值
166
+ ### 国际化文本键值
160
167
 
161
- | 键名 | 中文 | 英文 |
162
- |------|------|------|
163
- | add | 添加 | Add |
164
- | selected | 已选 | Selected |
165
- | list | 列表 | List |
168
+ | 键名 | 中文 | 英文 |
169
+ |-------------------|--------|----------------------|
170
+ | add | 添加 | Add |
171
+ | selected | 已选 | Selected |
172
+ | list | 列表 | List |
166
173
  | searchPlaceholder | 请输入关键字 | Please input keyword |
167
-
package/dist/index.js CHANGED
@@ -56,7 +56,7 @@ const locale = {
56
56
 
57
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"};
58
58
 
59
- const _excluded = ["onAdd", "api", "options", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
59
+ const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
60
60
  const EntrySelector = reactIntl.createWithIntlProvider({
61
61
  defaultLocale: 'zh-CN',
62
62
  messages: {
@@ -69,6 +69,9 @@ const EntrySelector = reactIntl.createWithIntlProvider({
69
69
  onAdd,
70
70
  api,
71
71
  options,
72
+ selectedTitle,
73
+ listTitle,
74
+ renderListTitle,
72
75
  renderSelectedItem,
73
76
  renderItem,
74
77
  renderOptions,
@@ -83,6 +86,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
83
86
  formatMessage
84
87
  } = reactIntl.useIntl();
85
88
  const ref = React.useRef(null);
89
+ const selectedMappingRef = React.useRef(new Map());
86
90
  return /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
87
91
  vertical: true,
88
92
  gap: 8,
@@ -126,7 +130,10 @@ const EntrySelector = reactIntl.createWithIntlProvider({
126
130
  pageData: [],
127
131
  totalCount: 0
128
132
  }, data);
129
- const listMapping = new Map(pageData.map(item => [item.id, item]));
133
+ pageData.forEach(item => {
134
+ selectedMappingRef.current.set(item.id, item);
135
+ });
136
+ const listMapping = selectedMappingRef.current;
130
137
  const currentList = (value || []).map(_ref3 => {
131
138
  let {
132
139
  id
@@ -136,12 +143,12 @@ const EntrySelector = reactIntl.createWithIntlProvider({
136
143
  return /*#__PURE__*/React__default["default"].createElement(antd.Row, {
137
144
  gutter: [12, 12]
138
145
  }, /*#__PURE__*/React__default["default"].createElement(antd.Col, {
139
- span: totalCount > 0 ? 12 : 24
146
+ span: 12
140
147
  }, /*#__PURE__*/React__default["default"].createElement("div", {
141
148
  className: style['list-outer']
142
149
  }, totalCount > 0 && /*#__PURE__*/React__default["default"].createElement("div", {
143
150
  className: style['list-header']
144
- }, formatMessage({
151
+ }, selectedTitle || formatMessage({
145
152
  id: 'selected'
146
153
  })), /*#__PURE__*/React__default["default"].createElement(SimpleBar__default["default"], {
147
154
  className: style['list-scroll'],
@@ -193,6 +200,8 @@ const EntrySelector = reactIntl.createWithIntlProvider({
193
200
  el: defaultItem,
194
201
  target: item,
195
202
  fetchApi,
203
+ searchProps,
204
+ setSearchProps,
196
205
  onChange: item => {
197
206
  return onChange(value => {
198
207
  const newValue = (value || []).slice(0);
@@ -214,7 +223,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
214
223
  className: style['list'],
215
224
  justify: "center",
216
225
  align: "center"
217
- }, /*#__PURE__*/React__default["default"].createElement(antd.Empty, null))))), totalCount > 0 && /*#__PURE__*/React__default["default"].createElement(antd.Col, {
226
+ }, /*#__PURE__*/React__default["default"].createElement(antd.Empty, null))))), /*#__PURE__*/React__default["default"].createElement(antd.Col, {
218
227
  span: 12
219
228
  }, /*#__PURE__*/React__default["default"].createElement("div", {
220
229
  className: style['list-outer']
@@ -223,7 +232,11 @@ const EntrySelector = reactIntl.createWithIntlProvider({
223
232
  justify: "space-between"
224
233
  }, /*#__PURE__*/React__default["default"].createElement("div", {
225
234
  className: style['list-header-title']
226
- }, formatMessage({
235
+ }, listTitle || typeof renderListTitle === 'function' && renderListTitle({
236
+ fetchApi,
237
+ searchProps,
238
+ setSearchProps
239
+ }) || formatMessage({
227
240
  id: 'list'
228
241
  })), /*#__PURE__*/React__default["default"].createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React__default["default"].createElement(SearchInput__default["default"], {
229
242
  size: "small",
@@ -252,6 +265,8 @@ const EntrySelector = reactIntl.createWithIntlProvider({
252
265
  className: 'list-item-title'
253
266
  }, item.title);
254
267
  const targetOptions = typeof renderOptions === 'function' ? renderOptions(item, {
268
+ searchProps,
269
+ setSearchProps,
255
270
  fetchApi,
256
271
  options
257
272
  }) : options;
@@ -288,7 +303,9 @@ const EntrySelector = reactIntl.createWithIntlProvider({
288
303
  flex: 1
289
304
  }, typeof renderItem === 'function' ? renderItem(item, {
290
305
  fetchApi,
291
- el: defaultItem
306
+ el: defaultItem,
307
+ searchProps,
308
+ setSearchProps
292
309
  }) : defaultItem), targetOptions && /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
293
310
  flex: '0 0 50px',
294
311
  onClick: e => {
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, 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 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 const listMapping = new Map(pageData.map(item => [item.id, item]));\n const currentList = (value || []).map(({ id }) => listMapping.get(id)).filter(item => !!item);\n return (\n <Row gutter={[12, 12]}>\n <Col span={totalCount > 0 ? 12 : 24}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{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 {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .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 onChange: item => {\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 item === 'function' ? item(currentItem) : item));\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 {totalCount > 0 && (\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']}>{formatMessage({ id: 'list' })}</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 )}\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 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({ id: item.id });\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 })\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","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","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","listMapping","Map","map","item","currentList","_ref3","get","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","_ref4","_ref5","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","newValue","slice","findIndex","_ref6","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","_ref7","dataSource","targetOptions","_ref8","push","Checkbox","checked","_ref9","e","stopPropagation","ButtonGroup","more","icon","MoreOutlined"],"mappings":"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"}
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(({ id }) => listMapping.get(id)).filter(item => !!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 {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .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: item => {\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 item === 'function' ? item(currentItem) : item));\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({ id: item.id });\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","_ref3","get","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","_ref4","_ref5","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","newValue","slice","findIndex","_ref6","currentItem","splice","justify","align","Empty","SearchInput","placeholder","searchText","onSearch","_ref7","dataSource","targetOptions","_ref8","push","Checkbox","checked","_ref9","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;MAC9C,MAAMkB,WAAW,GAAG,CAAC3C,KAAK,IAAI,EAAE,EAAE4C,GAAG,CAACC,KAAA,IAAA;QAAA,IAAC;AAAEnB,UAAAA,EAAAA;AAAG,SAAC,GAAAmB,KAAA,CAAA;AAAA,QAAA,OAAKH,WAAW,CAACI,GAAG,CAACpB,EAAE,CAAC,CAAA;OAAC,CAAA,CAACqB,MAAM,CAACP,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CAAA;AAC7F,MAAA,oBACE5B,yBAAA,CAAAC,aAAA,CAACmC,QAAG,EAAA;AAACC,QAAAA,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAA;AAAE,OAAA,eACpBrC,yBAAA,CAAAC,aAAA,CAACqC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTvC,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,CAACuC,6BAAS,EAAA;AAACnC,QAAAA,SAAS,EAAEC,KAAK,CAAC,aAAa,CAAE;AAACY,QAAAA,QAAQ,EAAE,KAAA;AAAM,OAAA,EACzD9B,KAAK,IAAIA,KAAK,CAACqD,MAAM,GAAG,CAAC,gBACxBzC,yBAAA,CAAAC,aAAA,CAACyC,SAAI,EAAA;AAACrC,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACG,QAAAA,IAAI,EAAC,OAAA;AAAO,OAAA,eAC1CT,yBAAA,CAAAC,aAAA,CAAC0C,6BAAa,EAAA;AACZR,QAAAA,MAAM,EAAC,kBAAkB;AACzBS,QAAAA,SAAS,EAAEtC,KAAK,CAAC,eAAe,CAAE;AAClCuC,QAAAA,UAAU,EAAEvC,KAAK,CAAC,gBAAgB,CAAE;QACpCwC,aAAa,EAAA,IAAA;AACbC,QAAAA,SAAS,EAAE,GAAI;QACfC,iBAAiB,EAAA,IAAA;AACjBC,QAAAA,KAAK,EAAE,CAAE;AACTrF,QAAAA,IAAI,EAAEmE,WAAY;QAClBmB,OAAO,EAAEtF,IAAI,IAAI;UACfyB,QAAQ,CAACD,KAAK,IAAI;YAChB,MAAM+D,OAAO,GAAG,IAAIpD,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,CAACoB,KAAA,IAAY;cAAA,IAAX;AAAEtC,gBAAAA,EAAAA;AAAG,eAAC,GAAAsC,KAAA,CAAA;AACrB,cAAA,OAAOD,OAAO,CAACjB,GAAG,CAACpB,EAAE,CAAC,CAAA;AACxB,aAAC,CAAC,CAAA;AACJ,WAAC,CAAC,CAAA;AACJ,SAAA;AAAE,OAAA,EAED,CAAC1B,KAAK,IAAI,EAAE,EACV4C,GAAG,CAACqB,KAAA,IAAA;QAAA,IAAC;AAAEvC,UAAAA,EAAAA;AAAG,SAAC,GAAAuC,KAAA,CAAA;AAAA,QAAA,OAAKvB,WAAW,CAACI,GAAG,CAACpB,EAAE,CAAC,CAAA;AAAA,OAAA,CAAC,CACpCqB,MAAM,CAACP,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CACtBI,GAAG,CAAC,CAACJ,IAAI,EAAE0B,KAAK,KAAK;AACpB,QAAA,MAAMC,WAAW,gBAAGvD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBuB,EAAAA,IAAI,CAAC4B,KAAY,CAAC,CAAA;QAC3E,MAAML,OAAO,GAAG,IAAIpD,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,CAACyC,SAAI,CAACe,IAAI,EAAA;UAACC,GAAG,EAAE9B,IAAI,CAACd,EAAG;UAACT,SAAS,EAAEsD,8BAAU,CAACrD,KAAK,CAAC,8BAA8B,CAAC,EAAEA,KAAK,CAAC,SAAS,CAAC,CAAA;AAAE,SAAA,eACtGN,yBAAA,CAAAC,aAAA,CAAC2D,oBAAc,EAAA;UAACvD,SAAS,EAAEC,KAAK,CAAC,mCAAmC,CAAA;AAAE,SAAE,CAAC,eACzEN,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;UAAKI,SAAS,EAAEC,KAAK,CAAC,YAAY,CAAA;SAAIgD,EAAAA,KAAK,GAAG,CAAO,CAAC,eACtDtD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;UAACC,QAAQ,EAAA,IAAA;AAAC0D,UAAAA,IAAI,EAAE,CAAA;AAAE,SAAA,EACpB,OAAOjF,kBAAkB,KAAK,UAAU,GACrCA,kBAAkB,CAACuE,OAAO,CAACjB,GAAG,CAACN,IAAI,CAACd,EAAE,CAAC,EAAE;AACvCgD,UAAAA,EAAE,EAAEP,WAAW;AACfQ,UAAAA,MAAM,EAAEnC,IAAI;UACZhB,QAAQ;UACRrB,WAAW;UACXC,cAAc;UACdH,QAAQ,EAAEuC,IAAI,IAAI;YAChB,OAAOvC,QAAQ,CAACD,KAAK,IAAI;cACvB,MAAM4E,QAAQ,GAAG,CAAC5E,KAAK,IAAI,EAAE,EAAE6E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAACC,KAAA,IAAA;gBAAA,IAAC;AAAErD,kBAAAA,EAAAA;AAAG,iBAAC,GAAAqD,KAAA,CAAA;AAAA,gBAAA,OAAKrD,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,MAAMsD,WAAW,GAAGJ,QAAQ,CAACV,KAAK,CAAC,CAAA;AACnC,cAAA,IAAIA,KAAK,GAAG,CAAC,CAAC,EAAE;gBACdU,QAAQ,CAACK,MAAM,CAACf,KAAK,EAAE,CAAC,EAAE7B,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE,OAAOE,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACwC,WAAW,CAAC,GAAGxC,IAAI,CAAC,CAAC,CAAA;AACrG,eAAA;AACA,cAAA,OAAOoC,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AACF,SAAC,CAAC,GACFT,WACA,CACG,CAAC,CAAA;OAEf,CACU,CACX,CAAC,gBAEPvD,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AAACG,QAAAA,SAAS,EAAEC,KAAK,CAAC,MAAM,CAAE;AAACgE,QAAAA,OAAO,EAAC,QAAQ;AAACC,QAAAA,KAAK,EAAC,QAAA;AAAQ,OAAA,eAC7DvE,yBAAA,CAAAC,aAAA,CAACuE,UAAK,MAAE,CACJ,CAEC,CACR,CACF,CAAC,eACNxE,yBAAA,CAAAC,aAAA,CAACqC,QAAG,EAAA;AAACC,QAAAA,IAAI,EAAE,EAAA;OACTvC,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;AAACgE,QAAAA,OAAO,EAAC,eAAA;OAC7CtE,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,CAACwE,+BAAW,EAAA;AACVhE,QAAAA,IAAI,EAAC,OAAO;AACZiE,QAAAA,WAAW,EAAE7G,iBAAiB,IAAI6B,aAAa,CAAC;AAAEoB,UAAAA,EAAE,EAAE,mBAAA;AAAoB,SAAC,CAAE;QAC7E1B,KAAK,EAAEG,WAAW,CAACoF,UAAW;QAC9BC,QAAQ,EAAExF,KAAK,IAAI;UACjBI,cAAc,CAACD,WAAW,IAAIkC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEnC,WAAW,EAAE;AAAEoF,YAAAA,UAAU,EAAEvF,KAAAA;AAAM,WAAC,CAAC,CAAC,CAAA;AACtF,SAAA;AAAE,OACH,CAEA,CACD,CAAC,EACNiC,QACE,CACF,CACF,CAAC,CAAA;AAEV,KAAA;AAAE,GAAA,CAAA,EAEDwD,KAAA,IAAwB;IAAA,IAAvB;MAAEjE,QAAQ;AAAEhD,MAAAA,IAAAA;AAAK,KAAC,GAAAiH,KAAA,CAAA;AAClB,IAAA,oBACE7E,yBAAA,CAAAC,aAAA,CAACyC,SAAI,EAAA;AACHrC,MAAAA,SAAS,EAAEsD,8BAAU,CAACrD,KAAK,CAAC,MAAM,CAAC,EAAEA,KAAK,CAAC,UAAU,CAAC,CAAE;AACxDG,MAAAA,IAAI,EAAC,OAAO;AACZqE,MAAAA,UAAU,EAAElH,IAAK;MACjBiB,UAAU,EAAE+C,IAAI,IAAI;AAClB,QAAA,MAAM2B,WAAW,gBAAGvD,yBAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMI,UAAAA,SAAS,EAAE,iBAAA;SAAoBuB,EAAAA,IAAI,CAAC4B,KAAY,CAAC,CAAA;QAC3E,MAAMuB,aAAa,GACjB,OAAOjG,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,CAACyC,SAAI,CAACe,IAAI,EAAA;UACRC,GAAG,EAAE9B,IAAI,CAACd,EAAG;UACbH,OAAO,EAAEA,MAAM;YACbtB,QAAQ,CAACD,KAAK,IAAI;cAChB,MAAM4E,QAAQ,GAAG,CAAC5E,KAAK,IAAI,EAAE,EAAE6E,KAAK,CAAC,CAAC,CAAC,CAAA;AACvC,cAAA,MAAMX,KAAK,GAAGU,QAAQ,CAACE,SAAS,CAACc,KAAA,IAAA;gBAAA,IAAC;AAAElE,kBAAAA,EAAAA;AAAG,iBAAC,GAAAkE,KAAA,CAAA;AAAA,gBAAA,OAAKlE,EAAE,KAAKc,IAAI,CAACd,EAAE,CAAA;eAAC,CAAA,CAAA;AAC5D,cAAA,IAAIwC,KAAK,GAAG,CAAC,CAAC,EAAE;AACdU,gBAAAA,QAAQ,CAACK,MAAM,CAACf,KAAK,EAAE,CAAC,CAAC,CAAA;AAC3B,eAAC,MAAM;gBACLU,QAAQ,CAACiB,IAAI,CAAC;kBAAEnE,EAAE,EAAEc,IAAI,CAACd,EAAAA;AAAG,iBAAC,CAAC,CAAA;AAChC,eAAA;AAEA,cAAA,OAAOkD,QAAQ,CAAA;AACjB,aAAC,CAAC,CAAA;AACJ,WAAA;AAAE,SAAA,eAEFhE,yBAAA,CAAAC,aAAA,CAACiF,aAAQ,EAAA;UAACC,OAAO,EAAE,CAAC/F,KAAK,IAAI,EAAE,EAAE8E,SAAS,CAACkB,KAAA,IAAA;YAAA,IAAC;AAAEtE,cAAAA,EAAAA;AAAG,aAAC,GAAAsE,KAAA,CAAA;AAAA,YAAA,OAAKtE,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;AAAC0D,UAAAA,IAAI,EAAE,CAAA;SAClB,EAAA,OAAOhF,UAAU,KAAK,UAAU,GAC7BA,UAAU,CAAC+C,IAAI,EAAE;UACfhB,QAAQ;AACRkD,UAAAA,EAAE,EAAEP,WAAW;UACfhE,WAAW;AACXC,UAAAA,cAAAA;SACD,CAAC,GACF+D,WACA,CAAC,EACNwB,aAAa,iBACZ/E,yBAAA,CAAAC,aAAA,CAACC,SAAI,EAAA;AACH2D,UAAAA,IAAI,EAAE,UAAW;UACjBlD,OAAO,EAAE0E,CAAC,IAAI;YACZA,CAAC,CAACC,eAAe,EAAE,CAAA;AACrB,WAAA;AAAE,SAAA,eAEFtF,yBAAA,CAAAC,aAAA,CAACsF,+BAAW,EAAA;AAACC,UAAAA,IAAI,eAAExF,yBAAA,CAAAC,aAAA,CAACM,WAAM,EAAA;AAACG,YAAAA,IAAI,EAAC,MAAM;AAAC+E,YAAAA,IAAI,eAAEzF,yBAAA,CAAAC,aAAA,CAACyF,kBAAY,EAAE,IAAA,CAAA;AAAE,WAAE,CAAE;AAAC9H,UAAAA,IAAI,EAAEmH,aAAAA;SAAgB,CACrF,CAEC,CAAC,CAAA;AAEhB,OAAA;AAAE,KACH,CAAC,CAAA;AAEN,GACiB,CACf,CAAC,CAAA;AAEX,CAAC;;;;"}
@@ -47,7 +47,7 @@ const locale = {
47
47
 
48
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"};
49
49
 
50
- const _excluded = ["onAdd", "api", "options", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
50
+ const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
51
51
  const EntrySelector = createWithIntlProvider({
52
52
  defaultLocale: 'zh-CN',
53
53
  messages: {
@@ -60,6 +60,9 @@ const EntrySelector = createWithIntlProvider({
60
60
  onAdd,
61
61
  api,
62
62
  options,
63
+ selectedTitle,
64
+ listTitle,
65
+ renderListTitle,
63
66
  renderSelectedItem,
64
67
  renderItem,
65
68
  renderOptions,
@@ -74,6 +77,7 @@ const EntrySelector = createWithIntlProvider({
74
77
  formatMessage
75
78
  } = useIntl();
76
79
  const ref = useRef(null);
80
+ const selectedMappingRef = useRef(new Map());
77
81
  return /*#__PURE__*/React.createElement(Flex, {
78
82
  vertical: true,
79
83
  gap: 8,
@@ -116,19 +120,22 @@ const EntrySelector = createWithIntlProvider({
116
120
  pageData: [],
117
121
  totalCount: 0
118
122
  }, data);
119
- const listMapping = new Map(pageData.map(item => [item.id, item]));
123
+ pageData.forEach(item => {
124
+ selectedMappingRef.current.set(item.id, item);
125
+ });
126
+ const listMapping = selectedMappingRef.current;
120
127
  const currentList = (value || []).map(({
121
128
  id
122
129
  }) => listMapping.get(id)).filter(item => !!item);
123
130
  return /*#__PURE__*/React.createElement(Row, {
124
131
  gutter: [12, 12]
125
132
  }, /*#__PURE__*/React.createElement(Col, {
126
- span: totalCount > 0 ? 12 : 24
133
+ span: 12
127
134
  }, /*#__PURE__*/React.createElement("div", {
128
135
  className: style['list-outer']
129
136
  }, totalCount > 0 && /*#__PURE__*/React.createElement("div", {
130
137
  className: style['list-header']
131
- }, formatMessage({
138
+ }, selectedTitle || formatMessage({
132
139
  id: 'selected'
133
140
  })), /*#__PURE__*/React.createElement(SimpleBar, {
134
141
  className: style['list-scroll'],
@@ -176,6 +183,8 @@ const EntrySelector = createWithIntlProvider({
176
183
  el: defaultItem,
177
184
  target: item,
178
185
  fetchApi,
186
+ searchProps,
187
+ setSearchProps,
179
188
  onChange: item => {
180
189
  return onChange(value => {
181
190
  const newValue = (value || []).slice(0);
@@ -194,7 +203,7 @@ const EntrySelector = createWithIntlProvider({
194
203
  className: style['list'],
195
204
  justify: "center",
196
205
  align: "center"
197
- }, /*#__PURE__*/React.createElement(Empty, null))))), totalCount > 0 && /*#__PURE__*/React.createElement(Col, {
206
+ }, /*#__PURE__*/React.createElement(Empty, null))))), /*#__PURE__*/React.createElement(Col, {
198
207
  span: 12
199
208
  }, /*#__PURE__*/React.createElement("div", {
200
209
  className: style['list-outer']
@@ -203,7 +212,11 @@ const EntrySelector = createWithIntlProvider({
203
212
  justify: "space-between"
204
213
  }, /*#__PURE__*/React.createElement("div", {
205
214
  className: style['list-header-title']
206
- }, formatMessage({
215
+ }, listTitle || typeof renderListTitle === 'function' && renderListTitle({
216
+ fetchApi,
217
+ searchProps,
218
+ setSearchProps
219
+ }) || formatMessage({
207
220
  id: 'list'
208
221
  })), /*#__PURE__*/React.createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React.createElement(SearchInput, {
209
222
  size: "small",
@@ -231,6 +244,8 @@ const EntrySelector = createWithIntlProvider({
231
244
  className: 'list-item-title'
232
245
  }, item.title);
233
246
  const targetOptions = typeof renderOptions === 'function' ? renderOptions(item, {
247
+ searchProps,
248
+ setSearchProps,
234
249
  fetchApi,
235
250
  options
236
251
  }) : options;
@@ -261,7 +276,9 @@ const EntrySelector = createWithIntlProvider({
261
276
  flex: 1
262
277
  }, typeof renderItem === 'function' ? renderItem(item, {
263
278
  fetchApi,
264
- el: defaultItem
279
+ el: defaultItem,
280
+ searchProps,
281
+ setSearchProps
265
282
  }) : defaultItem), targetOptions && /*#__PURE__*/React.createElement(Flex, {
266
283
  flex: '0 0 50px',
267
284
  onClick: e => {
@@ -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, 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 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 const listMapping = new Map(pageData.map(item => [item.id, item]));\n const currentList = (value || []).map(({ id }) => listMapping.get(id)).filter(item => !!item);\n return (\n <Row gutter={[12, 12]}>\n <Col span={totalCount > 0 ? 12 : 24}>\n <div className={style['list-outer']}>\n {totalCount > 0 && <div className={style['list-header']}>{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 {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .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 onChange: item => {\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 item === 'function' ? item(currentItem) : item));\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 {totalCount > 0 && (\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']}>{formatMessage({ id: 'list' })}</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 )}\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 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({ id: item.id });\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 })\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","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","_objectWithoutPropertiesLoose","_excluded","value","onChange","useControllerValue","searchProps","setSearchProps","useState","formatMessage","useIntl","ref","useRef","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","listMapping","Map","map","item","currentList","get","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","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 } 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(({ id }) => listMapping.get(id)).filter(item => !!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 {(value || [])\n .map(({ id }) => listMapping.get(id))\n .filter(item => !!item)\n .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: item => {\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 item === 'function' ? item(currentItem) : item));\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({ id: item.id });\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","filter","Row","gutter","Col","span","SimpleBar","length","List","ReactSortable","dragClass","ghostClass","forceFallback","animation","delayOnTouchStart","delay","setList","mapping","index","defaultItem","title","Item","key","classnames","HolderOutlined","flex","el","target","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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kne/entry-selector",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "EntrySelector是一个用于选择和管理条目列表的 React 组件。它提供了一个直观的界面,允许用户从可选列表中选择条目,并对已选条目进行管理,包括排序、搜索和删除等操作。",
5
5
  "syntax": {
6
6
  "esmodules": true
@@ -91,7 +91,7 @@
91
91
  "@kne/button-group": "^0.1.16",
92
92
  "@kne/react-fetch": "^1.5.5",
93
93
  "@kne/react-intl": "^0.1.9",
94
- "@kne/scroll-loader": "^0.1.9",
94
+ "@kne/scroll-loader": "^0.1.11",
95
95
  "@kne/search-input": "^0.1.0",
96
96
  "@kne/use-control-value": "^0.1.9",
97
97
  "classnames": "^2.5.1",