@kne/entry-selector 0.2.3 → 0.2.5

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
@@ -1,19 +1,15 @@
1
-
2
1
  # entry-selector
3
2
 
4
-
5
3
  ### 描述
6
4
 
7
5
  EntrySelector是一个用于选择和管理条目列表的 React 组件。它提供了一个直观的界面,允许用户从可选列表中选择条目,并对已选条目进行管理,包括排序、搜索和删除等操作。
8
6
 
9
-
10
7
  ### 安装
11
8
 
12
9
  ```shell
13
10
  npm i --save @kne/entry-selector
14
11
  ```
15
12
 
16
-
17
13
  ### 概述
18
14
 
19
15
  EntrySelector 是一个用于选择和管理条目列表的 React 组件。它提供了一个直观的界面,允许用户从可选列表中选择条目,并对已选条目进行管理,包括排序、搜索和删除等操作。
@@ -44,7 +40,6 @@ EntrySelector 适用于需要从预定义列表中选择多个条目并进行排
44
40
 
45
41
  ### 示例
46
42
 
47
-
48
43
  #### 示例样式
49
44
 
50
45
  ```scss
@@ -57,82 +52,412 @@ EntrySelector 适用于需要从预定义列表中选择多个条目并进行排
57
52
 
58
53
  #### 示例代码
59
54
 
60
- - 这里填写示例标题
61
- - 这里填写示例说明
55
+ - 基础用法
56
+ - 展示EntrySelector组件的基本使用,包括条目选择、搜索过滤和拖拽排序功能
62
57
  - _EntrySelector(@kne/current-lib_entry-selector)[import * as _EntrySelector from "@kne/entry-selector"],(@kne/current-lib_entry-selector/dist/index.css),antd(antd)
63
58
 
64
59
  ```jsx
65
60
  const { default: EntrySelector } = _EntrySelector;
66
- const { Switch, Flex } = antd;
61
+ const { useState } = React;
62
+ const { message } = antd;
63
+
64
+ // 模拟面试题库数据
65
+ const mockQuestionDatabase = [
66
+ { id: 1, title: '请简单介绍一下你自己', category: '个人介绍', difficulty: '简单' },
67
+ { id: 2, title: '你认为自己最大的优点和缺点是什么?', category: '性格分析', difficulty: '简单' },
68
+ { id: 3, title: '请描述一次你成功解决团队冲突的经历', category: '团队协作', difficulty: '中等' },
69
+ { id: 4, title: '你如何处理工作中的高压情况?请举例说明', category: '压力管理', difficulty: '中等' },
70
+ { id: 5, title: '请分享一次你快速作出决策的经验', category: '决策能力', difficulty: '中等' },
71
+ { id: 6, title: '你如何看待加班?如何平衡工作与生活?', category: '工作态度', difficulty: '简单' },
72
+ { id: 7, title: '描述一次你主动承担责任并超出预期的项目', category: '主动性', difficulty: '困难' },
73
+ { id: 8, title: '你如何让团队成员有效高质完成工作?', category: '团队管理', difficulty: '困难' }
74
+ ];
67
75
 
68
76
  const BaseExample = () => {
77
+ const [selectedQuestions, setSelectedQuestions] = useState([
78
+ { id: 1, title: '请简单介绍一下你自己' }
79
+ ]);
80
+
81
+ return (
82
+ <EntrySelector
83
+ value={selectedQuestions}
84
+ onChange={value => {
85
+ setSelectedQuestions(value);
86
+ message.success(&#96;已选择 ${value.length} 道题目&#96;);
87
+ }}
88
+ pagination={{ paramsType: 'params' }}
89
+ api={{
90
+ loader: async ({ params }) => {
91
+ // 模拟API请求延迟
92
+ await new Promise(resolve => setTimeout(resolve, 300));
93
+
94
+ const { title } = params || {};
95
+ let filteredData = mockQuestionDatabase;
96
+
97
+ // 根据搜索关键词过滤
98
+ if (title) {
99
+ filteredData = filteredData.filter(
100
+ item => item.title.includes(title) || item.category.includes(title)
101
+ );
102
+ }
103
+
104
+ return {
105
+ totalCount: filteredData.length,
106
+ pageData: filteredData
107
+ };
108
+ }
109
+ }}
110
+ getSearchProps={({ searchText }) => {
111
+ return { title: searchText };
112
+ }}
113
+ searchPlaceholder="搜索题目或分类"
114
+ selectedTitle="已选题目(可拖拽排序)"
115
+ listTitle="题目库"
116
+ maxScrollerHeight={600}
117
+ />
118
+ );
119
+ };
120
+
121
+ render(<BaseExample />);
122
+
123
+ ```
124
+
125
+ - 自定义渲染
126
+ - 展示如何自定义渲染已选条目和可选条目,实现更丰富的交互功能
127
+ - _EntrySelector(@kne/current-lib_entry-selector)[import * as _EntrySelector from "@kne/entry-selector"],(@kne/current-lib_entry-selector/dist/index.css),antd(antd)
128
+
129
+ ```jsx
130
+ const { default: EntrySelector } = _EntrySelector;
131
+ const { useState } = React;
132
+ const { Tag, Switch, Flex, message } = antd;
133
+
134
+ // 模拟产品特性数据
135
+ const mockFeatures = [
136
+ { id: 1, title: '用户注册登录', status: '已完成', priority: 'high', category: '基础功能' },
137
+ { id: 2, title: '商品搜索与筛选', status: '开发中', priority: 'high', category: '核心功能' },
138
+ { id: 3, title: '购物车功能', status: '已完成', priority: 'high', category: '核心功能' },
139
+ { id: 4, title: '订单管理', status: '待开发', priority: 'medium', category: '核心功能' },
140
+ { id: 5, title: '支付集成', status: '待开发', priority: 'high', category: '核心功能' },
141
+ { id: 6, title: '用户评价系统', status: '开发中', priority: 'medium', category: '增值功能' },
142
+ { id: 7, title: '数据统计面板', status: '待开发', priority: 'low', category: '增值功能' },
143
+ { id: 8, title: '消息推送', status: '已完成', priority: 'medium', category: '增值功能' }
144
+ ];
145
+
146
+ const priorityColors = {
147
+ high: 'red',
148
+ medium: 'orange',
149
+ low: 'blue'
150
+ };
151
+
152
+ const statusColors = {
153
+ '已完成': 'green',
154
+ '开发中': 'blue',
155
+ '待开发': 'default'
156
+ };
157
+
158
+ const CustomRenderExample = () => {
159
+ const [selectedFeatures, setSelectedFeatures] = useState([]);
160
+
161
+ return (
162
+ <EntrySelector
163
+ value={selectedFeatures}
164
+ onChange={setSelectedFeatures}
165
+ pagination={{ paramsType: 'params' }}
166
+ api={{
167
+ loader: async ({ params }) => {
168
+ await new Promise(resolve => setTimeout(resolve, 300));
169
+
170
+ const { title } = params || {};
171
+ let filteredData = mockFeatures;
172
+
173
+ if (title) {
174
+ filteredData = filteredData.filter(
175
+ item => item.title.includes(title) || item.category.includes(title)
176
+ );
177
+ }
178
+
179
+ return {
180
+ totalCount: filteredData.length,
181
+ pageData: filteredData
182
+ };
183
+ }
184
+ }}
185
+ getSearchProps={({ searchText }) => ({ title: searchText })}
186
+ searchPlaceholder="搜索特性名称或分类"
187
+ selectedTitle="已选特性(需排期开发)"
188
+ // 自定义渲染已选条目:展示优先级开关
189
+ renderSelectedItem={(item, { el, onReplace }) => {
190
+ return (
191
+ <Flex vertical gap={4} style={{ width: '100%' }}>
192
+ {el}
193
+ <Flex align="center" gap={8}>
194
+ <span style={{ fontSize: '12px' }}>高优先级</span>
195
+ <Switch
196
+ size="small"
197
+ checked={item.isPriority}
198
+ onChange={checked => {
199
+ onReplace({ ...item, isPriority: checked });
200
+ message.info(&#96;已${checked ? '开启' : '关闭'} "${item.title}" 的优先级&#96;);
201
+ }}
202
+ />
203
+ </Flex>
204
+ </Flex>
205
+ );
206
+ }}
207
+ // 自定义渲染可选条目:展示标签和状态
208
+ renderItem={(item, { el }) => {
209
+ return (
210
+ <Flex vertical gap={4}>
211
+ {el}
212
+ <Flex gap={4}>
213
+ <Tag color={statusColors[item.status]} style={{ margin: 0 }}>
214
+ {item.status}
215
+ </Tag>
216
+ <Tag color={priorityColors[item.priority]} style={{ margin: 0 }}>
217
+ {item.priority === 'high' ? '高' : item.priority === 'medium' ? '中' : '低'}
218
+ </Tag>
219
+ <Tag color="purple" style={{ margin: 0 }}>
220
+ {item.category}
221
+ </Tag>
222
+ </Flex>
223
+ </Flex>
224
+ );
225
+ }}
226
+ // 自定义渲染操作选项
227
+ renderOptions={(item, { fetchApi }) => {
228
+ return [
229
+ {
230
+ children: '查看详情',
231
+ onClick: () => {
232
+ message.info(&#96;查看特性:${item.title}&#96;);
233
+ }
234
+ },
235
+ {
236
+ children: '编辑',
237
+ onClick: () => {
238
+ message.info(&#96;编辑特性:${item.title}&#96;);
239
+ }
240
+ }
241
+ ];
242
+ }}
243
+ maxScrollerHeight={600}
244
+ />
245
+ );
246
+ };
247
+
248
+ render(<CustomRenderExample />);
249
+
250
+ ```
251
+
252
+ - 完整功能
253
+ - 展示EntrySelector的完整功能,包括添加新条目、操作选项、自定义标题等
254
+ - _EntrySelector(@kne/current-lib_entry-selector)[import * as _EntrySelector from "@kne/entry-selector"],(@kne/current-lib_entry-selector/dist/index.css),antd(antd),remoteLoader(@kne/remote-loader)
255
+
256
+ ```jsx
257
+ const { default: EntrySelector } = _EntrySelector;
258
+ const { createWithRemoteLoader } = remoteLoader;
259
+ const { useState } = React;
260
+ const { Button, Modal, Form, Input, Select, message, Tag, Flex } = antd;
261
+
262
+ // 模拟候选人技能数据
263
+ const mockSkillsDatabase = [
264
+ { id: 1, title: 'JavaScript', level: 'advanced', category: '前端开发' },
265
+ { id: 2, title: 'TypeScript', level: 'advanced', category: '前端开发' },
266
+ { id: 3, title: 'React', level: 'advanced', category: '前端框架' },
267
+ { id: 4, title: 'Vue.js', level: 'intermediate', category: '前端框架' },
268
+ { id: 5, title: 'Node.js', level: 'advanced', category: '后端开发' },
269
+ { id: 6, title: 'Python', level: 'intermediate', category: '后端开发' },
270
+ { id: 7, title: 'MySQL', level: 'advanced', category: '数据库' },
271
+ { id: 8, title: 'MongoDB', level: 'intermediate', category: '数据库' },
272
+ { id: 9, title: 'Docker', level: 'intermediate', category: '运维工具' },
273
+ { id: 10, title: 'Git', level: 'advanced', category: '版本控制' }
274
+ ];
275
+
276
+ const levelColors = {
277
+ advanced: 'green',
278
+ intermediate: 'blue',
279
+ beginner: 'orange'
280
+ };
281
+
282
+ const levelLabels = {
283
+ advanced: '精通',
284
+ intermediate: '熟练',
285
+ beginner: '了解'
286
+ };
287
+
288
+ const FullFeaturesExample = createWithRemoteLoader({
289
+ modules: ['components-core:Global@PureGlobal']
290
+ })(({ remoteModules }) => {
291
+ const [PureGlobal] = remoteModules;
292
+ const [selectedSkills, setSelectedSkills] = useState([]);
293
+ const [modalVisible, setModalVisible] = useState(false);
294
+ const [form] = Form.useForm();
295
+
296
+ // 处理添加新技能
297
+ const handleAdd = ({ fetchApi, onChange }) => {
298
+ setModalVisible(true);
299
+ };
300
+
301
+ // 提交新技能
302
+ const handleSubmit = async () => {
303
+ try {
304
+ const values = await form.validateFields();
305
+ const newSkill = {
306
+ id: Date.now(),
307
+ ...values,
308
+ isNew: true
309
+ };
310
+ onChange(prev => [...prev, newSkill]);
311
+ message.success(&#96;已添加技能:${values.title}&#96;);
312
+ setModalVisible(false);
313
+ form.resetFields();
314
+ } catch (error) {
315
+ console.error('表单验证失败:', error);
316
+ }
317
+ };
318
+
69
319
  return (
70
- <div>
320
+ <PureGlobal
321
+ preset={{
322
+ ajax: async api => {
323
+ return { data: { code: 0, data: api.loader() } };
324
+ }
325
+ }}
326
+ >
71
327
  <EntrySelector
328
+ value={selectedSkills}
329
+ onChange={setSelectedSkills}
330
+ // 添加新条目功能
331
+ onAdd={handleAdd}
332
+ // API配置
72
333
  pagination={{ paramsType: 'params' }}
73
334
  api={{
74
- loader: data => {
75
- console.log('fetch props:', data);
335
+ loader: async ({ params }) => {
336
+ await new Promise(resolve => setTimeout(resolve, 300));
337
+
338
+ const { title } = params || {};
339
+ let filteredData = mockSkillsDatabase;
340
+
341
+ if (title) {
342
+ filteredData = filteredData.filter(
343
+ item => item.title.toLowerCase().includes(title.toLowerCase()) ||
344
+ item.category.includes(title)
345
+ );
346
+ }
347
+
76
348
  return {
77
- totalCount: 3,
78
- pageData: [
79
- {
80
- id: 1,
81
- title: '你是什么性格的人?有哪些方面的不足?需要怎样改进?'
82
- },
83
- {
84
- id: 2,
85
- title: '你认为如何可以让一个员工有效高质的完成他的工作?'
86
- },
87
- {
88
- id: 3,
89
- title: '请分享一次你快速作出决定的经验,当时的情况怎样?你是怎么处理的?'
90
- }
91
- ].filter(({ title }) => !(data?.params?.title && title.indexOf(data.params.title) === -1))
349
+ totalCount: filteredData.length,
350
+ pageData: filteredData
92
351
  };
93
352
  }
94
353
  }}
95
- getSearchProps={({ searchText }) => {
96
- return { title: searchText };
97
- }}
98
- renderSelectedItem={(item, { el, onReplace }) => {
99
- return (
100
- <>
101
- {el}
102
- <Flex align="center" gap={8}>
103
- <span>开启追问</span>
104
- <Switch
105
- size="small"
106
- checked={item.hasProbe}
107
- onChange={checked => {
108
- onReplace(Object.assign({}, item, { hasProbe: checked }));
109
- }}
110
- />
111
- </Flex>
112
- </>
113
- );
114
- }}
115
- onChange={value => {
116
- console.log('>>>>>>>>', value);
117
- }}
354
+ // 搜索配置
355
+ getSearchProps={({ searchText }) => ({ title: searchText })}
356
+ searchPlaceholder="搜索技能名称或分类"
357
+ // 自定义标题
358
+ selectedTitle="候选人技能清单(可拖拽调整顺序)"
359
+ renderListTitle={({ fetchApi, searchProps, setSearchProps }) => (
360
+ <Flex justify="space-between" align="center" style={{ width: '100%' }}>
361
+ <span style={{ fontWeight: 'bold', fontSize: '14px' }}>
362
+ 技能库 ({fetchApi.data?.totalCount || 0} 项)
363
+ </span>
364
+ </Flex>
365
+ )}
366
+ // 自定义渲染已选条目
367
+ renderSelectedItem={(item, { el, onReplace }) => (
368
+ <Flex vertical gap={4} style={{ width: '100%' }}>
369
+ {el}
370
+ {item.isNew && <Tag color="cyan" style={{ margin: 0 }}>新增</Tag>}
371
+ </Flex>
372
+ )}
373
+ // 自定义渲染可选条目
374
+ renderItem={(item, { el }) => (
375
+ <Flex vertical gap={4}>
376
+ {el}
377
+ <Flex gap={4}>
378
+ <Tag color={levelColors[item.level]} style={{ margin: 0 }}>
379
+ {levelLabels[item.level]}
380
+ </Tag>
381
+ <Tag color="purple" style={{ margin: 0 }}>
382
+ {item.category}
383
+ </Tag>
384
+ </Flex>
385
+ </Flex>
386
+ )}
387
+ // 操作选项
118
388
  options={[
119
389
  {
120
- children: '操作1'
390
+ children: '查看详情',
391
+ onClick: (e, item) => {
392
+ Modal.info({
393
+ title: item.title,
394
+ content: (
395
+ <div>
396
+ <p>技能等级:{levelLabels[item.level]}</p>
397
+ <p>所属分类:{item.category}</p>
398
+ </div>
399
+ )
400
+ });
401
+ }
121
402
  },
122
403
  {
123
- children: '操作2'
404
+ children: '添加到收藏',
405
+ onClick: (e, item) => {
406
+ message.success(&#96;已收藏技能:${item.title}&#96;);
407
+ }
124
408
  }
125
409
  ]}
410
+ maxScrollerHeight={600}
126
411
  />
127
- </div>
412
+
413
+ {/* 添加新技能的弹窗 */}
414
+ <Modal
415
+ title="添加新技能"
416
+ open={modalVisible}
417
+ onOk={handleSubmit}
418
+ onCancel={() => {
419
+ setModalVisible(false);
420
+ form.resetFields();
421
+ }}
422
+ okText="确定"
423
+ cancelText="取消"
424
+ >
425
+ <Form form={form} layout="vertical">
426
+ <Form.Item
427
+ label="技能名称"
428
+ name="title"
429
+ rules={[{ required: true, message: '请输入技能名称' }]}
430
+ >
431
+ <Input placeholder="例如:GraphQL" />
432
+ </Form.Item>
433
+ <Form.Item
434
+ label="熟练程度"
435
+ name="level"
436
+ rules={[{ required: true, message: '请选择熟练程度' }]}
437
+ >
438
+ <Select placeholder="请选择">
439
+ <Select.Option value="beginner">了解</Select.Option>
440
+ <Select.Option value="intermediate">熟练</Select.Option>
441
+ <Select.Option value="advanced">精通</Select.Option>
442
+ </Select>
443
+ </Form.Item>
444
+ <Form.Item
445
+ label="所属分类"
446
+ name="category"
447
+ rules={[{ required: true, message: '请输入所属分类' }]}
448
+ >
449
+ <Input placeholder="例如:前端开发、后端开发" />
450
+ </Form.Item>
451
+ </Form>
452
+ </Modal>
453
+ </PureGlobal>
128
454
  );
129
- };
455
+ });
130
456
 
131
- render(<BaseExample />);
457
+ render(<FullFeaturesExample />);
132
458
 
133
459
  ```
134
460
 
135
-
136
461
  ### API
137
462
 
138
463
  ### 组件属性
@@ -170,4 +495,4 @@ render(<BaseExample />);
170
495
  | add | 添加 | Add |
171
496
  | selected | 已选 | Selected |
172
497
  | list | 列表 | List |
173
- | searchPlaceholder | 请输入关键字 | Please input keyword |
498
+ | searchPlaceholder | 请输入关键字 | Please input keyword |
package/dist/index.css CHANGED
@@ -1,52 +1,65 @@
1
- ._TIU4- {
1
+ .kne-entry-selector_TIU4- {
2
2
  background: #f6f7f9;
3
3
  border-radius: 12px;
4
4
  padding: 16px;
5
5
  }
6
6
 
7
- ._ZXEhy {
7
+ .kne-entry-selector_ZXEhy {
8
8
  background: #ffffff;
9
9
  border-radius: 12px;
10
10
  height: 100%;
11
11
  overflow: hidden;
12
12
  }
13
13
 
14
- ._HAF3g {
14
+ .kne-entry-selector_JEs2H {
15
+ padding: 0;
16
+ }
17
+
18
+ .kne-entry-selector_HAF3g {
15
19
  padding: 8px 16px;
16
20
  border-bottom: 1px solid var(--bg-color-grey-3);
17
21
  font-weight: 600;
22
+ white-space: nowrap;
23
+ overflow: hidden;
24
+ text-overflow: ellipsis;
25
+ }
26
+
27
+ .kne-entry-selector_5Xg6J {
28
+ white-space: nowrap;
29
+ overflow: hidden;
30
+ text-overflow: ellipsis;
18
31
  }
19
32
 
20
- ._VO7i- {
33
+ .kne-entry-selector_VO7i- {
21
34
  max-height: var(--max-scroller-height, 800px);
22
35
  }
23
36
 
24
- ._8w58c {
37
+ .kne-entry-selector_8w58c {
25
38
  height: 100%;
26
39
  background: #ffffff;
27
40
  min-height: 150px;
28
41
  }
29
- ._8w58c .ant-list-header {
42
+ .kne-entry-selector_8w58c .ant-list-header {
30
43
  padding: 8px 16px;
31
44
  font-weight: 600;
32
45
  color: var(--primary-color);
33
46
  }
34
- ._8w58c .list-item-title,
35
- ._8w58c .list-item-description {
47
+ .kne-entry-selector_8w58c .list-item-title,
48
+ .kne-entry-selector_8w58c .list-item-description {
36
49
  white-space: pre-wrap;
37
50
  }
38
- ._8w58c .list-item-title {
51
+ .kne-entry-selector_8w58c .list-item-title {
39
52
  font-weight: 600;
40
53
  }
41
- ._8w58c .list-item-description {
54
+ .kne-entry-selector_8w58c .list-item-description {
42
55
  color: var(--font-color-grey);
43
56
  }
44
57
 
45
- ._9m0I0 .ant-list-item {
58
+ .kne-entry-selector_9m0I0 .ant-list-item {
46
59
  cursor: pointer;
47
60
  }
48
61
 
49
- ._P8KYX {
62
+ .kne-entry-selector_P8KYX {
50
63
  width: 20px;
51
64
  height: 20px;
52
65
  background: var(--primary-color);
@@ -59,48 +72,48 @@
59
72
  justify-content: center;
60
73
  }
61
74
 
62
- ._VXH4S .list-item-remove-btn {
75
+ .kne-entry-selector_VXH4S .list-item-remove-btn {
63
76
  opacity: 0;
64
77
  flex: none;
65
78
  }
66
- ._VXH4S:hover .list-item-remove-btn {
79
+ .kne-entry-selector_VXH4S:hover .list-item-remove-btn {
67
80
  opacity: 1;
68
81
  }
69
82
 
70
- ._agPfO {
83
+ .kne-entry-selector_agPfO {
71
84
  padding: 0;
72
85
  }
73
86
 
74
- ._iFzfk {
87
+ .kne-entry-selector_iFzfk {
75
88
  padding: 8px 14px !important;
76
89
  background: #ffffff;
77
90
  transition: box-shadow 500ms;
78
91
  }
79
- ._iFzfk .ant-checkbox-wrapper {
92
+ .kne-entry-selector_iFzfk .ant-checkbox-wrapper {
80
93
  flex: 1;
81
94
  }
82
- ._iFzfk._uB1q2 .sortable-drag-handle {
95
+ .kne-entry-selector_iFzfk.kne-entry-selector_uB1q2 .sortable-drag-handle {
83
96
  cursor: move !important;
84
97
  padding: 12px 2px;
85
98
  }
86
- ._iFzfk._uB1q2 .ant-checkbox-wrapper {
99
+ .kne-entry-selector_iFzfk.kne-entry-selector_uB1q2 .ant-checkbox-wrapper {
87
100
  margin-left: 2px;
88
101
  }
89
- ._iFzfk:not(._uB1q2) .ant-checkbox-wrapper {
102
+ .kne-entry-selector_iFzfk:not(.kne-entry-selector_uB1q2) .ant-checkbox-wrapper {
90
103
  margin-left: 16px;
91
104
  }
92
105
 
93
- ._WHlyH {
106
+ .kne-entry-selector_WHlyH {
94
107
  color: var(--font-color-grey-1);
95
108
  }
96
109
 
97
- ._dxhFH {
110
+ .kne-entry-selector_dxhFH {
98
111
  opacity: 1 !important;
99
112
  background: rgba(255, 255, 255, 0.9);
100
113
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.1);
101
114
  }
102
115
 
103
- ._7ZIH8 {
116
+ .kne-entry-selector_7ZIH8 {
104
117
  background: var(--primary-color-1);
105
118
  border: 1px dashed var(--primary-color) !important;
106
119
  }
@@ -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;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}"]}
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,UAAU;AACZ;;AAEA;EACE,iBAAiB;EACjB,+CAA+C;EAC/C,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;;AAEA;EACE,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;AACzB;;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-search {\n padding: 0;\n}\n\n.list-header {\n padding: 8px 16px;\n border-bottom: 1px solid var(--bg-color-grey-3);\n font-weight: 600;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.list-header-title {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\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
@@ -30,15 +30,6 @@ function _extends() {
30
30
  return n;
31
31
  }, _extends.apply(null, arguments);
32
32
  }
33
- function _objectWithoutPropertiesLoose(r, e) {
34
- if (null == r) return {};
35
- var t = {};
36
- for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
37
- if (-1 !== e.indexOf(n)) continue;
38
- t[n] = r[n];
39
- }
40
- return t;
41
- }
42
33
 
43
34
  const locale$1 = {
44
35
  add: '添加',
@@ -54,9 +45,8 @@ const locale = {
54
45
  searchPlaceholder: 'Please input keyword'
55
46
  };
56
47
 
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"};
48
+ var style = {"entry-selector":"kne-entry-selector_TIU4-","list-outer":"kne-entry-selector_ZXEhy","list-header-search":"kne-entry-selector_JEs2H","list-header":"kne-entry-selector_HAF3g","list-header-title":"kne-entry-selector_5Xg6J","list-scroll":"kne-entry-selector_VO7i-","list":"kne-entry-selector_8w58c","list-lib":"kne-entry-selector_9m0I0","list-index":"kne-entry-selector_P8KYX","list-item-content":"kne-entry-selector_VXH4S","columns-control-content-list":"kne-entry-selector_agPfO","columns-control-content-item":"kne-entry-selector_iFzfk","is-drag":"kne-entry-selector_uB1q2","columns-control-content-item-icon":"kne-entry-selector_WHlyH","sortable-drag":"kne-entry-selector_dxhFH","sortable-ghost":"kne-entry-selector_7ZIH8"};
58
49
 
59
- const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
60
50
  const EntrySelector = reactIntl.createWithIntlProvider({
61
51
  defaultLocale: 'zh-CN',
62
52
  messages: {
@@ -66,20 +56,21 @@ const EntrySelector = reactIntl.createWithIntlProvider({
66
56
  namespace: 'entry-selector'
67
57
  })(_ref => {
68
58
  let {
69
- onAdd,
70
- api,
71
- options,
72
- selectedTitle,
73
- listTitle,
74
- renderListTitle,
75
- renderSelectedItem,
76
- renderItem,
77
- renderOptions,
78
- getSearchProps,
79
- searchPlaceholder,
80
- maxScrollerHeight = 800
81
- } = _ref,
82
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
59
+ className,
60
+ onAdd,
61
+ api,
62
+ options,
63
+ selectedTitle,
64
+ listTitle,
65
+ renderListTitle,
66
+ renderSelectedItem,
67
+ renderItem,
68
+ renderOptions,
69
+ getSearchProps,
70
+ searchPlaceholder,
71
+ maxScrollerHeight = 800,
72
+ ...props
73
+ } = _ref;
83
74
  const [value, onChange] = useControllerValue__default["default"](props);
84
75
  const [searchProps, setSearchProps] = React.useState({});
85
76
  const {
@@ -107,9 +98,9 @@ const EntrySelector = reactIntl.createWithIntlProvider({
107
98
  return /*#__PURE__*/React__default["default"].createElement(antd.Flex, {
108
99
  vertical: true,
109
100
  gap: 8,
110
- className: style['entry-selector'],
101
+ className: classnames__default["default"](className, style['entry-selector']),
111
102
  style: {
112
- '--max-scroller-height': maxScrollerHeight + "px"
103
+ '--max-scroller-height': `${maxScrollerHeight}px`
113
104
  }
114
105
  }, typeof onAdd === 'function' && /*#__PURE__*/React__default["default"].createElement(antd.Flex, null, /*#__PURE__*/React__default["default"].createElement(antd.Button, {
115
106
  shape: "round",
@@ -269,6 +260,7 @@ const EntrySelector = reactIntl.createWithIntlProvider({
269
260
  setSearchProps
270
261
  }) || defaultTitle;
271
262
  })(), /*#__PURE__*/React__default["default"].createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React__default["default"].createElement(SearchInput__default["default"], {
263
+ className: style['list-header-search'],
272
264
  size: "small",
273
265
  placeholder: searchPlaceholder || formatMessage({
274
266
  id: 'searchPlaceholder'
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, 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\" gap={8}>\n {(() => {\n const defaultTitle = <div className={style['list-header-title']}>{formatMessage({ id: 'list' })}</div>;\n return (\n listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n defaultTitle,\n searchProps,\n setSearchProps\n })) ||\n defaultTitle\n );\n })()}\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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"}
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})(({ className, 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={classnames(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\" gap={8}>\n {(() => {\n const defaultTitle = <div className={style['list-header-title']}>{formatMessage({ id: 'list' })}</div>;\n return (\n listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n defaultTitle,\n searchProps,\n setSearchProps\n })) ||\n defaultTitle\n );\n })()}\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n className={style['list-header-search']}\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","className","onAdd","api","options","selectedTitle","listTitle","renderListTitle","renderSelectedItem","renderItem","renderOptions","getSearchProps","maxScrollerHeight","props","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","classnames","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","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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"}
@@ -45,9 +45,9 @@ 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","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"};
48
+ var style = {"entry-selector":"kne-entry-selector_TIU4-","list-outer":"kne-entry-selector_ZXEhy","list-header-search":"kne-entry-selector_JEs2H","list-header":"kne-entry-selector_HAF3g","list-header-title":"kne-entry-selector_5Xg6J","list-scroll":"kne-entry-selector_VO7i-","list":"kne-entry-selector_8w58c","list-lib":"kne-entry-selector_9m0I0","list-index":"kne-entry-selector_P8KYX","list-item-content":"kne-entry-selector_VXH4S","columns-control-content-list":"kne-entry-selector_agPfO","columns-control-content-item":"kne-entry-selector_iFzfk","is-drag":"kne-entry-selector_uB1q2","columns-control-content-item-icon":"kne-entry-selector_WHlyH","sortable-drag":"kne-entry-selector_dxhFH","sortable-ghost":"kne-entry-selector_7ZIH8"};
49
49
 
50
- const _excluded = ["onAdd", "api", "options", "selectedTitle", "listTitle", "renderListTitle", "renderSelectedItem", "renderItem", "renderOptions", "getSearchProps", "searchPlaceholder", "maxScrollerHeight"];
50
+ const _excluded = ["className", "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: {
@@ -57,6 +57,7 @@ const EntrySelector = createWithIntlProvider({
57
57
  namespace: 'entry-selector'
58
58
  })(_ref => {
59
59
  let {
60
+ className,
60
61
  onAdd,
61
62
  api,
62
63
  options,
@@ -95,7 +96,7 @@ const EntrySelector = createWithIntlProvider({
95
96
  return /*#__PURE__*/React.createElement(Flex, {
96
97
  vertical: true,
97
98
  gap: 8,
98
- className: style['entry-selector'],
99
+ className: classnames(className, style['entry-selector']),
99
100
  style: {
100
101
  '--max-scroller-height': `${maxScrollerHeight}px`
101
102
  }
@@ -252,6 +253,7 @@ const EntrySelector = createWithIntlProvider({
252
253
  setSearchProps
253
254
  }) || defaultTitle;
254
255
  })(), /*#__PURE__*/React.createElement("div", null, typeof getSearchProps === 'function' && /*#__PURE__*/React.createElement(SearchInput, {
256
+ className: style['list-header-search'],
255
257
  size: "small",
256
258
  placeholder: searchPlaceholder || formatMessage({
257
259
  id: 'searchPlaceholder'
@@ -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, 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\" gap={8}>\n {(() => {\n const defaultTitle = <div className={style['list-header-title']}>{formatMessage({ id: 'list' })}</div>;\n return (\n listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n defaultTitle,\n searchProps,\n setSearchProps\n })) ||\n defaultTitle\n );\n })()}\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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"}
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})(({ className, 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={classnames(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\" gap={8}>\n {(() => {\n const defaultTitle = <div className={style['list-header-title']}>{formatMessage({ id: 'list' })}</div>;\n return (\n listTitle ||\n (typeof renderListTitle === 'function' &&\n renderListTitle({\n fetchApi,\n defaultTitle,\n searchProps,\n setSearchProps\n })) ||\n defaultTitle\n );\n })()}\n <div>\n {typeof getSearchProps === 'function' && (\n <SearchInput\n className={style['list-header-search']}\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","className","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","classnames","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","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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kne/entry-selector",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "EntrySelector是一个用于选择和管理条目列表的 React 组件。它提供了一个直观的界面,允许用户从可选列表中选择条目,并对已选条目进行管理,包括排序、搜索和删除等操作。",
5
5
  "syntax": {
6
6
  "esmodules": true