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