@alicloud/console-components-search 0.1.1 → 0.2.0

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.
Files changed (64) hide show
  1. package/README.md +104 -138
  2. package/demos/demo1.demo.tsx +91 -94
  3. package/doc-dist/0.js +1917 -16
  4. package/doc-dist/1.js +16 -1917
  5. package/doc-dist/10.js +1 -1
  6. package/doc-dist/11.js +1 -1
  7. package/doc-dist/12.js +1 -1
  8. package/doc-dist/13.js +1 -1
  9. package/doc-dist/14.js +1 -1
  10. package/doc-dist/15.js +1 -1
  11. package/doc-dist/3.js +5 -5
  12. package/doc-dist/4.js +1 -1
  13. package/doc-dist/5.js +2 -2
  14. package/doc-dist/6.js +1 -1
  15. package/doc-dist/7.js +1 -1
  16. package/doc-dist/8.js +1 -1
  17. package/doc-dist/9.js +1 -1
  18. package/doc-dist/deps/main.css +1 -1
  19. package/doc-dist/deps/main.js +8 -8
  20. package/doc-dist/deps/main.os.css +1 -1
  21. package/doc-dist/index.js +3 -3
  22. package/doc-dist/log-deps-build.log +1 -1
  23. package/es/index.js +1 -1
  24. package/es/modeSingleSingle/InputPrefix.js +29 -0
  25. package/es/modeSingleSingle/index2.js +342 -0
  26. package/es/search.js +2 -3
  27. package/es/searchTagList/index.js +5 -10
  28. package/es/style.js +1 -1
  29. package/es/useCssVar.js +38 -0
  30. package/lib/index.d.ts +1 -1
  31. package/lib/index.js +1 -1
  32. package/lib/modeSingleSingle/InputPrefix.d.ts +2 -0
  33. package/lib/modeSingleSingle/InputPrefix.js +43 -0
  34. package/lib/modeSingleSingle/index2.d.ts +4 -0
  35. package/lib/modeSingleSingle/index2.js +372 -0
  36. package/lib/search.js +2 -4
  37. package/lib/searchTagList/index.d.ts +3 -1
  38. package/lib/searchTagList/index.js +5 -11
  39. package/lib/style.js +1 -1
  40. package/lib/types/IRcSearchOptions.type.d.ts +3 -2
  41. package/lib/types/IRcSearchProps.type.d.ts +24 -34
  42. package/lib/types/IRcSearchTagItemProps.type.d.ts +1 -1
  43. package/lib/types/IRcSearchTagListProps.type.d.ts +3 -3
  44. package/lib/useCssVar.d.ts +1 -0
  45. package/lib/useCssVar.js +52 -0
  46. package/package.json +3 -2
  47. package/demos/demo2.demo.tsx +0 -83
  48. package/demos/demo3.demo.tsx +0 -87
  49. package/demos/demo4.demo.tsx +0 -142
  50. package/dist/index.css +0 -1
  51. package/dist/index.js +0 -60
  52. package/doc-dist/16.js +0 -6
  53. package/doc-dist/17.js +0 -6
  54. package/doc-dist/18.js +0 -6
  55. package/doc-dist/19.js +0 -6
  56. package/doc-dist/20.js +0 -6
  57. package/docs/markdown-render.doc.md +0 -21
  58. package/docs/test.doc.md +0 -8
  59. package/es/modeSingleMulti/index.js +0 -825
  60. package/es/modeSingleSingle/index.js +0 -217
  61. package/lib/modeSingleMulti/index.d.ts +0 -2
  62. package/lib/modeSingleMulti/index.js +0 -850
  63. package/lib/modeSingleSingle/index.d.ts +0 -2
  64. package/lib/modeSingleSingle/index.js +0 -242
@@ -1,825 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
- import _regeneratorRuntime from "@babel/runtime/regenerator";
6
-
7
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
-
9
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
10
-
11
- import React, { useState, useEffect } from "react";
12
- import classNames from 'classnames';
13
- import { Button, Icon, Tag, Select, ConfigProvider } from '@alicloud/console-components';
14
- import { getHistoryTag as getHistoryTagUtil, setHistoryTag as setHistoryTagUtil, removeHistoryTagItem as removeHistoryTagItemUtils, getTagByFileds, checkNoIndexListFormat, getSelectOptionAdatp } from "../utils";
15
- import { SearchWarp, MultiBtnWarp, MenuContentWrap } from "../style";
16
- var TagGroup = Tag.Group,
17
- ClosableTag = Tag.Closeable;
18
- var AutoComplete = Select.AutoComplete;
19
-
20
- var ModeSingleSingle = function ModeSingleSingle(props) {
21
- var options = props.options,
22
- defaultDataIndex = props.defaultDataIndex,
23
- defaultPlaceholder = props.defaultPlaceholder,
24
- tags = props.tags,
25
- onSuggest = props.onSuggest,
26
- onSuggestNoDataIndex = props.onSuggestNoDataIndex,
27
- onSearch = props.onSearch,
28
- prefix = props.prefix;
29
-
30
- var _useState = useState({}),
31
- _useState2 = _slicedToArray(_useState, 2),
32
- allFileds = _useState2[0],
33
- setAllFileds = _useState2[1];
34
-
35
- var _useState3 = useState({}),
36
- _useState4 = _slicedToArray(_useState3, 2),
37
- curOptionItem = _useState4[0],
38
- setCurOptionItem = _useState4[1];
39
-
40
- var _useState5 = useState({}),
41
- _useState6 = _slicedToArray(_useState5, 2),
42
- defaultOptionItem = _useState6[0],
43
- setDefaultOptionItem = _useState6[1];
44
-
45
- var _useState7 = useState(''),
46
- _useState8 = _slicedToArray(_useState7, 2),
47
- defaultInputValue = _useState8[0],
48
- setDefaultValue = _useState8[1];
49
-
50
- var _useState9 = useState(''),
51
- _useState10 = _slicedToArray(_useState9, 2),
52
- inputValue = _useState10[0],
53
- setInputValue = _useState10[1];
54
-
55
- var _useState11 = useState([]),
56
- _useState12 = _slicedToArray(_useState11, 2),
57
- inputDataSource = _useState12[0],
58
- setInputDataSource = _useState12[1];
59
-
60
- var _useState13 = useState(false),
61
- _useState14 = _slicedToArray(_useState13, 2),
62
- visible = _useState14[0],
63
- setVisible = _useState14[1];
64
-
65
- var _useState15 = useState(false),
66
- _useState16 = _slicedToArray(_useState15, 2),
67
- defaultVisible = _useState16[0],
68
- setDefaultVisible = _useState16[1];
69
-
70
- var _useState17 = useState(false),
71
- _useState18 = _slicedToArray(_useState17, 2),
72
- clearLevel1Show = _useState18[0],
73
- setClearLevel1Show = _useState18[1];
74
-
75
- var _useState19 = useState([]),
76
- _useState20 = _slicedToArray(_useState19, 2),
77
- multipleValues = _useState20[0],
78
- setMultipleValues = _useState20[1];
79
-
80
- var _useState21 = useState([]),
81
- _useState22 = _slicedToArray(_useState21, 2),
82
- tagList = _useState22[0],
83
- setTagList = _useState22[1];
84
-
85
- var _useState23 = useState([]),
86
- _useState24 = _slicedToArray(_useState23, 2),
87
- historyList = _useState24[0],
88
- setHistoryList = _useState24[1];
89
-
90
- var _useState25 = useState(''),
91
- _useState26 = _slicedToArray(_useState25, 2),
92
- curType = _useState26[0],
93
- setCurType = _useState26[1]; // defalut/nodefault/item
94
-
95
-
96
- var _useState27 = useState(''),
97
- _useState28 = _slicedToArray(_useState27, 2),
98
- focusClass = _useState28[0],
99
- setFocusClass = _useState28[1]; // focus/''
100
-
101
-
102
- console.log('prefix', prefix);
103
- useEffect(function () {
104
- var initHisTags = getHistoryTagUtil();
105
-
106
- if (initHisTags) {
107
- setHistoryList(initHisTags);
108
- }
109
-
110
- initCurType();
111
- }, []);
112
-
113
- function initCurType() {
114
- var initCurType = '';
115
-
116
- if (defaultDataIndex && defaultDataIndex !== '') {
117
- initCurType = 'default';
118
- var defaultItem = options.find(function (x) {
119
- return x.dataIndex === defaultDataIndex;
120
- });
121
-
122
- if (defaultItem) {
123
- // console.log(defaultItem)
124
- setDefaultOptionItem(defaultItem);
125
- } else {
126
- initCurType = 'nodefault';
127
- }
128
- } else {
129
- initCurType = 'nodefault';
130
- } // console.log('initCurType', initCurType)
131
-
132
-
133
- setCurType(initCurType);
134
- }
135
-
136
- var level1DataSourceTemp = [{
137
- label: '选择筛选条件',
138
- children: options.map(function (l1) {
139
- return {
140
- label: l1.label,
141
- value: l1.dataIndex
142
- };
143
- })
144
- }];
145
-
146
- var _useState29 = useState(level1DataSourceTemp),
147
- _useState30 = _slicedToArray(_useState29, 2),
148
- level1DataSource = _useState30[0],
149
- setLevel1DataSource = _useState30[1];
150
-
151
- var menuPropsLevel1 = {
152
- focusable: false,
153
- header: /*#__PURE__*/React.createElement(MenuContentWrap, {
154
- prefix: ""
155
- }, defaultDataIndex && defaultDataIndex !== '' && historyList && historyList.length > 0 && defaultInputValue === '' && /*#__PURE__*/React.createElement("li", {
156
- role: "option",
157
- title: "\u5386\u53F2\u641C\u7D22\u8BB0\u5F55",
158
- className: "".concat(prefix, "menu-group-label")
159
- }, /*#__PURE__*/React.createElement("div", {
160
- className: "".concat(prefix, "menu-item-inner")
161
- }, "\u5386\u53F2\u641C\u7D22\u8BB0\u5F55")), defaultDataIndex && defaultDataIndex !== '' && historyList && historyList.length > 0 && defaultInputValue === '' && /*#__PURE__*/React.createElement(TagGroup, {
162
- style: {
163
- paddingLeft: '20px'
164
- }
165
- }, historyList.map(function (tag, index) {
166
- return tag ? /*#__PURE__*/React.createElement(ClosableTag, {
167
- size: "small",
168
- key: tag.dataIndex + tag.value + index,
169
- onClose: function onClose() {
170
- onRemoveHisTag(tag);
171
- return true;
172
- },
173
- onClick: function onClick() {
174
- onSelectHisTag(tag);
175
- }
176
- }, tag.label, ":", tag.valueShow) : '';
177
- }))),
178
- footer: null
179
- }; // 多选
180
-
181
- var menuProps = {
182
- focusable: false,
183
- header: null,
184
- footer: /*#__PURE__*/React.createElement(MultiBtnWarp, {
185
- prefix: prefix
186
- }, /*#__PURE__*/React.createElement(Button, {
187
- size: "small",
188
- className: classNames("pri-btn"),
189
- disabled: multipleValues.length === 0,
190
- type: "primary",
191
- onClick: function onClick() {
192
- onPrimaryMultiple(curOptionItem.dataIndex);
193
- }
194
- }, "\u786E\u5B9A"), /*#__PURE__*/React.createElement(Button, {
195
- size: "small",
196
- className: classNames("cancel-btn"),
197
- type: "normal",
198
- onClick: function onClick() {
199
- setVisible(false);
200
- setMultipleValues([]);
201
- }
202
- }, "\u53D6\u6D88"))
203
- };
204
-
205
- var itemRender = function itemRender(item, searchKey) {
206
- var label = item.label;
207
-
208
- if (searchKey && searchKey.length) {
209
- var key = searchKey.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&');
210
- var reg = new RegExp("(".concat(key, ")"), 'ig');
211
- label = label.replace(reg, function (x) {
212
- return "<span class=\"".concat(prefix, "select-highlight\" style=\"background-color: #EFF3F8;font-weight: 500;\">").concat(x, "</span>");
213
- });
214
- }
215
-
216
- return /*#__PURE__*/React.createElement("span", {
217
- dangerouslySetInnerHTML: {
218
- __html: label
219
- }
220
- });
221
- };
222
-
223
- var itemRenderMulti = function itemRenderMulti(item) {
224
- var isChecked = false;
225
-
226
- if (multipleValues.find(function (v) {
227
- return v === item.value;
228
- })) {
229
- isChecked = true;
230
- }
231
-
232
- return /*#__PURE__*/React.createElement("label", {
233
- className: classNames("".concat(prefix, "-checkbox-wrapper"), 'multi-lable', isChecked ? 'checked' : ''),
234
- style: {
235
- paddingLeft: '8px'
236
- }
237
- }, /*#__PURE__*/React.createElement("span", {
238
- className: "".concat(prefix, "checkbox")
239
- }, /*#__PURE__*/React.createElement("span", {
240
- className: "".concat(prefix, "checkbox-inner")
241
- }, /*#__PURE__*/React.createElement("i", {
242
- className: "".concat(prefix, "icon ").concat(prefix, "icon-select ").concat(prefix, "xs ").concat(prefix, "checkbox-select-icon")
243
- })), /*#__PURE__*/React.createElement("input", {
244
- type: "checkbox",
245
- className: "".concat(prefix, "checkbox-input"),
246
- defaultChecked: isChecked
247
- })), /*#__PURE__*/React.createElement("span", {
248
- className: "".concat(prefix, "checkbox-label")
249
- }, item.label));
250
- };
251
-
252
- function onRemoveHisTag(tagItem) {
253
- var newHisTags = removeHistoryTagItemUtils(tagItem);
254
- setHistoryList(newHisTags);
255
- }
256
-
257
- function onSelectHisTag(tagItem) {
258
- var changeFileds = Object.create({});
259
- var tempAllFileds = Object.create({});
260
- changeFileds[tagItem.dataIndex] = tagItem.value;
261
- tempAllFileds = changeFileds;
262
- onChangeItem(changeFileds, tempAllFileds);
263
- }
264
-
265
- function updateHistory() {
266
- var allFiledsTagList = _toConsumableArray(tagList);
267
-
268
- var rtHisTags = setHistoryTagUtil(allFiledsTagList);
269
- setHistoryList(rtHisTags);
270
- }
271
-
272
- function checkAllFromTags(allFileds) {
273
- var allFiledsAdapt = _objectSpread({}, allFileds);
274
-
275
- if (tags && Array.isArray(tags) && tags.length >= 0) {
276
- allFiledsAdapt = {};
277
- tags.forEach(function (tag) {
278
- if (allFileds[tag.dataIndex]) {
279
- allFiledsAdapt[tag.dataIndex] = allFileds[tag.dataIndex];
280
- }
281
- });
282
- }
283
-
284
- return allFiledsAdapt;
285
- } // 某一类别确定时,修改filed
286
-
287
-
288
- function onChangeItem(changeFileds, allFileds) {
289
- setDefaultVisible(false);
290
- setAllFileds(allFileds); // todo
291
-
292
- if (onSearch) {
293
- onSearch(getTagByFileds(allFileds, options));
294
- } // 仅仅清空值, 保留类别
295
-
296
-
297
- setVisible(false);
298
- setInputValue('');
299
- setFocusClass('');
300
- setClearLevel1Show(true);
301
- }
302
-
303
- function clearLevel1() {
304
- // 清空类别
305
- var initCurType = '';
306
-
307
- if (defaultDataIndex && defaultDataIndex !== '' && defaultOptionItem) {
308
- initCurType = 'default';
309
- var defaultItem = options.find(function (x) {
310
- return x.dataIndex === defaultDataIndex;
311
- });
312
-
313
- if (defaultItem) {
314
- // console.log(defaultItem)
315
- setDefaultOptionItem(defaultItem);
316
- } else {
317
- initCurType = 'nodefault';
318
- }
319
- } else {
320
- initCurType = 'nodefault';
321
- }
322
-
323
- setCurType(initCurType);
324
- setClearLevel1Show(false);
325
- } // 多选的确定
326
-
327
-
328
- function onPrimaryMultiple(dataIndex) {
329
- // multipleValues
330
- setVisible(false);
331
-
332
- if (onChangeItem) {
333
- var changeFileds = Object.create({});
334
- changeFileds[dataIndex] = multipleValues;
335
- setAllFileds(changeFileds);
336
- onChangeItem(changeFileds, changeFileds);
337
- setMultipleValues([]);
338
- }
339
- } // 多选的change,仅改变state
340
-
341
-
342
- function onMultipleChange(values) {
343
- // console.log('value', values);
344
- if (values) {
345
- setMultipleValues(values);
346
- } else {
347
- setMultipleValues([]);
348
- }
349
- } // 第一级选择某个具体的类别
350
-
351
-
352
- function onLevel1Change(_x, _x2, _x3) {
353
- return _onLevel1Change.apply(this, arguments);
354
- }
355
-
356
- function _onLevel1Change() {
357
- _onLevel1Change = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(value, actionType, item) {
358
- var curOptItem;
359
- return _regeneratorRuntime.wrap(function _callee$(_context) {
360
- while (1) {
361
- switch (_context.prev = _context.next) {
362
- case 0:
363
- setClearLevel1Show(true);
364
-
365
- if (!(actionType === 'itemClick')) {
366
- _context.next = 5;
367
- break;
368
- }
369
-
370
- // 判断是level选择还是直接输入的suggest---- 选了一个类别
371
- if (!defaultInputValue) {
372
- // level1 的选择
373
- curOptItem = options.find(function (x) {
374
- return x.dataIndex === value;
375
- });
376
-
377
- if (curOptItem) {
378
- setCurOptionItem(curOptItem);
379
- setCurType('item');
380
- } // 当第一次选择了筛选类别后,需自动进入激活状态,无需再次点击;(自动获取焦点)自动弹窗
381
-
382
-
383
- setVisible(true);
384
- } else if (curType === 'default' && defaultDataIndex && defaultDataIndex !== '') {
385
- inputChange(value, 'itemClick', defaultDataIndex);
386
- setDefaultValue('');
387
- setLevel1DataSource(level1DataSourceTemp);
388
- } else if (curType === 'nodefault') {
389
- if (item && item.dataIndex) {
390
- inputChange(value, 'itemClick', item.dataIndex);
391
- setDefaultValue('');
392
- setLevel1DataSource(level1DataSourceTemp);
393
- }
394
- }
395
-
396
- _context.next = 24;
397
- break;
398
-
399
- case 5:
400
- if (!(actionType === 'change')) {
401
- _context.next = 24;
402
- break;
403
- }
404
-
405
- if (!(!value || value === '')) {
406
- _context.next = 11;
407
- break;
408
- }
409
-
410
- // 如果是删除为空的情况,需要还原 AutoComplete 中的 dataSource
411
- setLevel1DataSource(level1DataSourceTemp);
412
- setDefaultVisible(true);
413
- _context.next = 23;
414
- break;
415
-
416
- case 11:
417
- if (!(defaultDataIndex && defaultDataIndex !== '' && onSuggest)) {
418
- _context.next = 16;
419
- break;
420
- }
421
-
422
- _context.next = 14;
423
- return setDefSuggest(value);
424
-
425
- case 14:
426
- _context.next = 23;
427
- break;
428
-
429
- case 16:
430
- if (!onSuggestNoDataIndex) {
431
- _context.next = 21;
432
- break;
433
- }
434
-
435
- _context.next = 19;
436
- return setNoDefSuggest(value);
437
-
438
- case 19:
439
- _context.next = 23;
440
- break;
441
-
442
- case 21:
443
- setLevel1DataSource([]);
444
- setDefaultVisible(false);
445
-
446
- case 23:
447
- setDefaultValue(value);
448
-
449
- case 24:
450
- case "end":
451
- return _context.stop();
452
- }
453
- }
454
- }, _callee);
455
- }));
456
- return _onLevel1Change.apply(this, arguments);
457
- }
458
-
459
- function onClearLevel1() {
460
- clearLevel1();
461
- }
462
-
463
- function setDefSuggest(_x4) {
464
- return _setDefSuggest.apply(this, arguments);
465
- }
466
-
467
- function _setDefSuggest() {
468
- _setDefSuggest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(value) {
469
- var list, newDataSource;
470
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
471
- while (1) {
472
- switch (_context2.prev = _context2.next) {
473
- case 0:
474
- if (!(onSuggest && defaultDataIndex && defaultDataIndex !== '')) {
475
- _context2.next = 7;
476
- break;
477
- }
478
-
479
- _context2.next = 3;
480
- return onSuggest(value, defaultDataIndex);
481
-
482
- case 3:
483
- list = _context2.sent;
484
- newDataSource = [{
485
- label: defaultOptionItem.label,
486
- children: list
487
- }];
488
- setLevel1DataSource(newDataSource);
489
- setDefaultVisible(true);
490
-
491
- case 7:
492
- case "end":
493
- return _context2.stop();
494
- }
495
- }
496
- }, _callee2);
497
- }));
498
- return _setDefSuggest.apply(this, arguments);
499
- }
500
-
501
- function setNoDefSuggest(_x5) {
502
- return _setNoDefSuggest.apply(this, arguments);
503
- }
504
-
505
- function _setNoDefSuggest() {
506
- _setNoDefSuggest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(value) {
507
- var list;
508
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
509
- while (1) {
510
- switch (_context3.prev = _context3.next) {
511
- case 0:
512
- if (!onSuggestNoDataIndex) {
513
- _context3.next = 7;
514
- break;
515
- }
516
-
517
- _context3.next = 3;
518
- return onSuggestNoDataIndex(value);
519
-
520
- case 3:
521
- list = _context3.sent;
522
- // console.log(list)
523
- checkNoIndexListFormat(list);
524
- setLevel1DataSource(_toConsumableArray(list));
525
- setDefaultVisible(true);
526
-
527
- case 7:
528
- case "end":
529
- return _context3.stop();
530
- }
531
- }
532
- }, _callee3);
533
- }));
534
- return _setNoDefSuggest.apply(this, arguments);
535
- }
536
-
537
- function onDeFaultEnter(e) {
538
- var dataIndex = defaultDataIndex;
539
- var value = defaultInputValue;
540
-
541
- if (curType === 'item' && curOptionItem.template === 'input') {
542
- dataIndex = curOptionItem.dataIndex;
543
- value = inputValue;
544
- }
545
-
546
- if (e.keyCode === 13 && value !== '') {
547
- if (curOptionItem.template === 'multiple') {
548
- return;
549
- }
550
-
551
- if (defaultDataIndex && defaultDataIndex !== '' && onSuggest) {
552
- // fuzzyDisable
553
- if (!curOptionItem.templateProps || !curOptionItem.templateProps.fuzzyDisable) {
554
- inputChange(value, 'enter', defaultDataIndex);
555
- setDefaultVisible(false);
556
- setDefaultValue('');
557
- }
558
- }
559
- }
560
- }
561
- /**
562
- * 当某一类别是, 输入类型时触发
563
- * 接收一个promise
564
- */
565
-
566
-
567
- function inputChange(_x6, _x7, _x8) {
568
- return _inputChange.apply(this, arguments);
569
- } // 单选或多选的change,
570
-
571
-
572
- function _inputChange() {
573
- _inputChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(value, actionType, dataIndex) {
574
- var changeFileds, list, newDataSource;
575
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
576
- while (1) {
577
- switch (_context4.prev = _context4.next) {
578
- case 0:
579
- if (!((actionType === 'itemClick' || actionType === 'enter') && onChangeItem)) {
580
- _context4.next = 10;
581
- break;
582
- }
583
-
584
- changeFileds = Object.create({});
585
- changeFileds[dataIndex] = value;
586
- setAllFileds(changeFileds);
587
- onChangeItem(changeFileds, changeFileds);
588
- setVisible(false);
589
- setDefaultVisible(false);
590
- setInputDataSource([]);
591
- _context4.next = 20;
592
- break;
593
-
594
- case 10:
595
- if (value === '') {
596
- setInputDataSource([]);
597
- setClearLevel1Show(true);
598
- } else {
599
- setClearLevel1Show(false);
600
- }
601
-
602
- setInputValue(value);
603
-
604
- if (!(value !== '' && onSuggest)) {
605
- _context4.next = 20;
606
- break;
607
- }
608
-
609
- _context4.next = 15;
610
- return onSuggest(value, dataIndex);
611
-
612
- case 15:
613
- list = _context4.sent;
614
- // console.log('res suggest', list);
615
- newDataSource = [{
616
- label: curOptionItem.label,
617
- children: list
618
- }];
619
- setInputDataSource(newDataSource);
620
- setVisible(true);
621
- setDefaultVisible(true);
622
-
623
- case 20:
624
- case "end":
625
- return _context4.stop();
626
- }
627
- }
628
- }, _callee4);
629
- }));
630
- return _inputChange.apply(this, arguments);
631
- }
632
-
633
- function selectChange(value, dataIndex) {
634
- setVisible(false);
635
- setFocusClass('');
636
-
637
- if (onChangeItem) {
638
- var changeFileds = Object.create({});
639
- changeFileds[dataIndex] = value;
640
- setAllFileds(changeFileds);
641
- onChangeItem(changeFileds, changeFileds);
642
- }
643
- } // 提交按钮
644
-
645
-
646
- function onCommonSearch() {
647
- if (onSearch) {
648
- var checkAllFileds = checkAllFromTags(allFileds);
649
- onSearch(checkAllFileds); // todo: 只有搜索了才会被记录到,根据页面的路由为key,history
650
-
651
- updateHistory();
652
- }
653
- }
654
-
655
- return /*#__PURE__*/React.createElement(SearchWarp, {
656
- prefix: prefix
657
- }, /*#__PURE__*/React.createElement("div", {
658
- className: classNames('left-wrap', "".concat(prefix, "input"), focusClass)
659
- }, /*#__PURE__*/React.createElement("div", {
660
- className: classNames('condition')
661
- }, curType === 'item' && /*#__PURE__*/React.createElement("div", {
662
- className: classNames('condition-item')
663
- }, /*#__PURE__*/React.createElement("span", {
664
- className: classNames('condition-item-txt')
665
- }, curOptionItem.label), /*#__PURE__*/React.createElement(Icon, {
666
- type: "caret-down",
667
- size: "xxs"
668
- }), /*#__PURE__*/React.createElement(Select, {
669
- className: classNames('condition-select'),
670
- hasBorder: false,
671
- dataSource: level1DataSource,
672
- onChange: onLevel1Change,
673
- autoWidth: false
674
- }))), /*#__PURE__*/React.createElement("div", {
675
- className: classNames('forms'),
676
- onKeyUp: onDeFaultEnter
677
- }, curType === 'default' && defaultOptionItem && /*#__PURE__*/React.createElement(AutoComplete, {
678
- className: classNames('main-input', 'multi'),
679
- placeholder: "\u9ED8\u8BA4\u6309".concat(defaultOptionItem.label, "\u641C\u7D22"),
680
- hasClear: true,
681
- hasBorder: false,
682
- menuProps: menuPropsLevel1,
683
- dataSource: level1DataSource // @ts-ignore
684
- ,
685
- itemRender: itemRender,
686
- onChange: onLevel1Change,
687
- popupStyle: historyList && historyList.length > 0 ? {} : {
688
- width: 'auto'
689
- },
690
- visible: defaultVisible,
691
- onFocus: function onFocus() {
692
- setDefaultVisible(true);
693
- setFocusClass('focus');
694
- },
695
- onBlur: function onBlur() {
696
- setDefaultVisible(false);
697
- setFocusClass('');
698
- },
699
- value: defaultInputValue
700
- }), curType === 'nodefault' && /*#__PURE__*/React.createElement(AutoComplete, {
701
- className: classNames('main-input', 'multi'),
702
- placeholder: defaultPlaceholder || "\u8BF7\u641C\u7D22",
703
- hasClear: true,
704
- hasBorder: false,
705
- menuProps: menuPropsLevel1,
706
- popupStyle: historyList && historyList.length > 0 ? {} : {
707
- width: 'auto'
708
- } // @ts-ignore
709
- ,
710
- itemRender: itemRender,
711
- dataSource: level1DataSource,
712
- onChange: onLevel1Change,
713
- visible: defaultVisible,
714
- onFocus: function onFocus() {
715
- setDefaultVisible(true);
716
- setFocusClass('focus');
717
- },
718
- onBlur: function onBlur() {
719
- setDefaultVisible(false);
720
- setFocusClass('');
721
- },
722
- value: defaultInputValue
723
- }), curType === 'item' && curOptionItem.template === 'input' && /*#__PURE__*/React.createElement(AutoComplete, {
724
- className: classNames('main-input', 'multi'),
725
- placeholder: curOptionItem.templateProps.placeholder || "\u9ED8\u8BA4\u6309".concat(curOptionItem.label, "\u641C\u7D22"),
726
- hasClear: true,
727
- hasBorder: false // @ts-ignore
728
- ,
729
- itemRender: itemRender,
730
- visible: visible && inputDataSource.length > 0,
731
- dataSource: inputDataSource,
732
- autoFocus: true,
733
- value: inputValue,
734
- onFocus: function onFocus() {
735
- setVisible(true);
736
- setFocusClass('focus');
737
- },
738
- onBlur: function onBlur() {
739
- setVisible(false);
740
- setFocusClass('');
741
- },
742
- onChange: function onChange(value, actionType) {
743
- inputChange(value, actionType, curOptionItem.dataIndex);
744
- }
745
- }), curType === 'item' && curOptionItem.template === 'select' && /*#__PURE__*/React.createElement(Select, {
746
- className: classNames('main-input', 'select'),
747
- placeholder: curOptionItem.templateProps.placeholder || "\u8BF7\u9009\u62E9".concat(curOptionItem.label),
748
- hasClear: true,
749
- hasBorder: false,
750
- dataSource: getSelectOptionAdatp(curOptionItem.label, curOptionItem.templateProps.dataSource),
751
- onChange: function onChange(value) {
752
- selectChange(value, curOptionItem.dataIndex);
753
- },
754
- popupStyle: {
755
- width: 'auto'
756
- },
757
- autoFocus: true,
758
- visible: visible,
759
- value: undefined,
760
- onClick: function onClick() {
761
- setVisible(true);
762
- setFocusClass('focus');
763
- },
764
- onFocus: function onFocus() {
765
- setVisible(true);
766
- setFocusClass('focus');
767
- },
768
- onBlur: function onBlur() {
769
- setVisible(false);
770
- setFocusClass('');
771
- }
772
- }), curType === 'item' && curOptionItem.template === 'multiple' && /*#__PURE__*/React.createElement(Select, {
773
- className: classNames('main-input', 'multi'),
774
- placeholder: curOptionItem.templateProps.placeholder || "\u8BF7\u9009\u62E9".concat(curOptionItem.label),
775
- hasClear: true,
776
- mode: "multiple",
777
- maxTagCount: 0,
778
- hasBorder: false,
779
- autoFocus: true,
780
- menuProps: menuProps,
781
- value: multipleValues,
782
- onFocus: function onFocus() {
783
- setVisible(true);
784
- setFocusClass('focus');
785
- },
786
- onClick: function onClick() {
787
- setVisible(true);
788
- setFocusClass('focus');
789
- },
790
- onBlur: function onBlur() {
791
- setVisible(false);
792
- setFocusClass('');
793
- },
794
- itemRender: itemRenderMulti,
795
- popupClassName: "xconsole-rcsearch-multi-pop",
796
- visible: visible,
797
- dataSource: getSelectOptionAdatp(curOptionItem.label, curOptionItem.templateProps.dataSource),
798
- onChange: function onChange(value) {
799
- onMultipleChange(value);
800
- },
801
- popupStyle: {
802
- width: 'auto'
803
- }
804
- }), clearLevel1Show && /*#__PURE__*/React.createElement("div", {
805
- className: "clear-level1",
806
- onClick: onClearLevel1
807
- }, /*#__PURE__*/React.createElement("span", {
808
- className: "".concat(prefix, "input-control")
809
- }, /*#__PURE__*/React.createElement("span", {
810
- className: "".concat(prefix, "input-hint-wrap")
811
- }, /*#__PURE__*/React.createElement("i", {
812
- role: "button",
813
- "aria-label": "\u6E05\u9664",
814
- className: "".concat(prefix, "icon ").concat(prefix, "icon-delete-filling ").concat(prefix, "medium ").concat(prefix, "input-hint ").concat(prefix, "input-clear-icon")
815
- })))))), /*#__PURE__*/React.createElement("div", {
816
- className: classNames('right-wrap')
817
- }, /*#__PURE__*/React.createElement(Button, {
818
- className: classNames('search-btn'),
819
- onClick: onCommonSearch
820
- }, /*#__PURE__*/React.createElement(Icon, {
821
- type: "search"
822
- }))));
823
- };
824
-
825
- export default ConfigProvider.config(ModeSingleSingle);