@alicloud/console-components-search 0.2.36 → 0.2.37-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/demos/demo1.demo.tsx +91 -82
- package/dist/index.js +358 -370
- package/es/ComplexSearch/InputPrefix.js +18 -3
- package/es/ComplexSearch/index.js +22 -5
- package/es/search.js +0 -2
- package/lib/ComplexSearch/InputPrefix.js +17 -2
- package/lib/ComplexSearch/index.js +22 -6
- package/lib/search.js +0 -2
- package/lib/types/IRcSearchProps.type.d.ts +11 -0
- package/package.json +4 -1
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["defaultValue", "dataSource", "label"];
|
|
3
|
+
var _excluded = ["defaultValue", "dataSource", "label", "type"];
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import classNames from 'classnames';
|
|
6
|
-
import { Icon, Select } from '@alicloud/console-components';
|
|
6
|
+
import { Icon, Select, CascaderSelect } from '@alicloud/console-components';
|
|
7
7
|
var SearchConditionSelectPrefix = function SearchConditionSelectPrefix(props) {
|
|
8
8
|
var _dataSource$, _dataSource$$children;
|
|
9
9
|
var defaultValue = props.defaultValue,
|
|
10
10
|
_props$dataSource = props.dataSource,
|
|
11
11
|
dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
|
|
12
12
|
label = props.label,
|
|
13
|
+
type = props.type,
|
|
13
14
|
reset = _objectWithoutProperties(props, _excluded);
|
|
14
15
|
var noSelect = dataSource.length < 2 && ((_dataSource$ = dataSource[0]) === null || _dataSource$ === void 0 ? void 0 : (_dataSource$$children = _dataSource$.children) === null || _dataSource$$children === void 0 ? void 0 : _dataSource$$children.length) < 2;
|
|
15
16
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -19,7 +20,7 @@ var SearchConditionSelectPrefix = function SearchConditionSelectPrefix(props) {
|
|
|
19
20
|
}, label), noSelect ? null : /*#__PURE__*/React.createElement(Icon, {
|
|
20
21
|
type: "caret-down",
|
|
21
22
|
size: "xxs"
|
|
22
|
-
}), /*#__PURE__*/React.createElement(Select, _extends({
|
|
23
|
+
}), type === 'select' ? /*#__PURE__*/React.createElement(Select, _extends({
|
|
23
24
|
className: classNames('condition-select', {
|
|
24
25
|
'rc-search-prefix-no-select': noSelect
|
|
25
26
|
}),
|
|
@@ -38,6 +39,20 @@ var SearchConditionSelectPrefix = function SearchConditionSelectPrefix(props) {
|
|
|
38
39
|
}, reset, {
|
|
39
40
|
autoWidth: false,
|
|
40
41
|
popupClassName: "rc-search-prefix"
|
|
42
|
+
})) : /*#__PURE__*/React.createElement(CascaderSelect, _extends({
|
|
43
|
+
className: classNames('condition-select', {
|
|
44
|
+
'rc-search-prefix-no-select': noSelect
|
|
45
|
+
}),
|
|
46
|
+
defaultValue: defaultValue,
|
|
47
|
+
hasBorder: false,
|
|
48
|
+
disabled: noSelect,
|
|
49
|
+
autoHighlightFirstItem: false,
|
|
50
|
+
dataSource: dataSource
|
|
51
|
+
// itemRender={({ label, value }) => (<span data-value={value}>{label}</span>)}
|
|
52
|
+
}, reset, {
|
|
53
|
+
autoWidth: false,
|
|
54
|
+
popupClassName: "rc-search-prefix",
|
|
55
|
+
canOnlyCheckLeaf: true
|
|
41
56
|
})));
|
|
42
57
|
};
|
|
43
58
|
export default SearchConditionSelectPrefix;
|
|
@@ -9,7 +9,7 @@ import cloneDeep from 'lodash/cloneDeep';
|
|
|
9
9
|
import groupBy from 'lodash/groupBy';
|
|
10
10
|
import isArray from 'lodash/isArray';
|
|
11
11
|
import React, { useState, useRef } from 'react';
|
|
12
|
-
import { Button, Icon, Select, ConfigProvider, Field, Checkbox } from '@alicloud/console-components';
|
|
12
|
+
import { Button, Icon, Select, ConfigProvider, Field, Checkbox, CascaderSelect } from '@alicloud/console-components';
|
|
13
13
|
import { isPlainObject, template } from 'lodash';
|
|
14
14
|
import { SearchWarp, MultiBtnWarp } from '../style';
|
|
15
15
|
import SearchConditionSelectPrefix from './InputPrefix';
|
|
@@ -109,7 +109,10 @@ var ComplexSearch = function ComplexSearch(props) {
|
|
|
109
109
|
_props$suggestions = props.suggestions,
|
|
110
110
|
suggestions = _props$suggestions === void 0 ? [] : _props$suggestions,
|
|
111
111
|
_props$prefix = props.prefix,
|
|
112
|
-
prefix = _props$prefix === void 0 ? 'next-' : _props$prefix
|
|
112
|
+
prefix = _props$prefix === void 0 ? 'next-' : _props$prefix,
|
|
113
|
+
_props$prefixSelectMo = props.prefixSelectMode,
|
|
114
|
+
prefixSelectMode = _props$prefixSelectMo === void 0 ? 'select' : _props$prefixSelectMo,
|
|
115
|
+
prefixSelectItemRender = props.prefixSelectItemRender;
|
|
113
116
|
var _useState = useState(options.find(function (o) {
|
|
114
117
|
return o.dataIndex === defaultSelectedDataIndex;
|
|
115
118
|
})),
|
|
@@ -325,15 +328,29 @@ var ComplexSearch = function ComplexSearch(props) {
|
|
|
325
328
|
}, /*#__PURE__*/React.createElement("div", {
|
|
326
329
|
className: classNames('condition')
|
|
327
330
|
}, selectedFilterType ? /*#__PURE__*/React.createElement(SearchConditionSelectPrefix, {
|
|
331
|
+
type: prefixSelectMode,
|
|
328
332
|
dataSource: normalizeOptions(options),
|
|
329
333
|
label: selectedFilterType === null || selectedFilterType === void 0 ? void 0 : selectedFilterType.label,
|
|
330
334
|
defaultValue: selectedFilterType === null || selectedFilterType === void 0 ? void 0 : selectedFilterType.dataIndex,
|
|
331
335
|
onChange: function onChange(value) {
|
|
336
|
+
console.log(value);
|
|
332
337
|
handlerFilterTypeChange(value);
|
|
333
|
-
}
|
|
338
|
+
},
|
|
339
|
+
itemRender: prefixSelectItemRender
|
|
334
340
|
}) : null), /*#__PURE__*/React.createElement("div", {
|
|
335
341
|
className: classNames('forms')
|
|
336
|
-
}, !selectedFilterType ? /*#__PURE__*/React.createElement(
|
|
342
|
+
}, !selectedFilterType && prefixSelectMode === 'cascader' ? /*#__PURE__*/React.createElement(CascaderSelect, {
|
|
343
|
+
className: classNames('main-input', 'multi'),
|
|
344
|
+
hasBorder: false,
|
|
345
|
+
dataSource: normalizeOptions(options),
|
|
346
|
+
placeholder: placeholder || (defaultFilter !== null && defaultFilter !== void 0 && defaultFilter.label ? template(message.defaultPlaceHolder)({
|
|
347
|
+
value: defaultFilter === null || defaultFilter === void 0 ? void 0 : defaultFilter.label
|
|
348
|
+
}) : ''),
|
|
349
|
+
onChange: function onChange(value) {
|
|
350
|
+
handlerFilterTypeChange(value);
|
|
351
|
+
},
|
|
352
|
+
itemRender: prefixSelectItemRender
|
|
353
|
+
}) : null, !selectedFilterType && prefixSelectMode === 'select' ? /*#__PURE__*/React.createElement(AutoComplete, _extends({}, init(SEARCH_FILTER_FIELD, {
|
|
337
354
|
props: {
|
|
338
355
|
// @ts-ignore
|
|
339
356
|
onChange: function onChange(value, actionType, option) {
|
|
@@ -344,7 +361,7 @@ var ComplexSearch = function ComplexSearch(props) {
|
|
|
344
361
|
autoHighlightFirstItem: false
|
|
345
362
|
// @ts-ignore
|
|
346
363
|
,
|
|
347
|
-
itemRender: highlightItem,
|
|
364
|
+
itemRender: prefixSelectItemRender || highlightItem,
|
|
348
365
|
placeholder: placeholder || (defaultFilter !== null && defaultFilter !== void 0 && defaultFilter.label ? template(message.defaultPlaceHolder)({
|
|
349
366
|
value: defaultFilter === null || defaultFilter === void 0 ? void 0 : defaultFilter.label
|
|
350
367
|
}) : ''),
|
package/es/search.js
CHANGED
|
@@ -9,8 +9,6 @@ var SearchWrap = styled.div.withConfig({
|
|
|
9
9
|
})(["height:32px;width:400px;display:inline-block;vertical-align:top;"]);
|
|
10
10
|
export var Search = function Search(props) {
|
|
11
11
|
var className = props.className,
|
|
12
|
-
_props$simple = props.simple,
|
|
13
|
-
simple = _props$simple === void 0 ? false : _props$simple,
|
|
14
12
|
style = props.style;
|
|
15
13
|
var windThemeClass = useWindTheme();
|
|
16
14
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SearchWrap, {
|
|
@@ -10,13 +10,14 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
12
|
var _consoleComponents = require("@alicloud/console-components");
|
|
13
|
-
var _excluded = ["defaultValue", "dataSource", "label"];
|
|
13
|
+
var _excluded = ["defaultValue", "dataSource", "label", "type"];
|
|
14
14
|
var SearchConditionSelectPrefix = function SearchConditionSelectPrefix(props) {
|
|
15
15
|
var _dataSource$, _dataSource$$children;
|
|
16
16
|
var defaultValue = props.defaultValue,
|
|
17
17
|
_props$dataSource = props.dataSource,
|
|
18
18
|
dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
|
|
19
19
|
label = props.label,
|
|
20
|
+
type = props.type,
|
|
20
21
|
reset = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
21
22
|
var noSelect = dataSource.length < 2 && ((_dataSource$ = dataSource[0]) === null || _dataSource$ === void 0 ? void 0 : (_dataSource$$children = _dataSource$.children) === null || _dataSource$$children === void 0 ? void 0 : _dataSource$$children.length) < 2;
|
|
22
23
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -26,7 +27,7 @@ var SearchConditionSelectPrefix = function SearchConditionSelectPrefix(props) {
|
|
|
26
27
|
}, label), noSelect ? null : /*#__PURE__*/_react.default.createElement(_consoleComponents.Icon, {
|
|
27
28
|
type: "caret-down",
|
|
28
29
|
size: "xxs"
|
|
29
|
-
}), /*#__PURE__*/_react.default.createElement(_consoleComponents.Select, (0, _extends2.default)({
|
|
30
|
+
}), type === 'select' ? /*#__PURE__*/_react.default.createElement(_consoleComponents.Select, (0, _extends2.default)({
|
|
30
31
|
className: (0, _classnames.default)('condition-select', {
|
|
31
32
|
'rc-search-prefix-no-select': noSelect
|
|
32
33
|
}),
|
|
@@ -45,6 +46,20 @@ var SearchConditionSelectPrefix = function SearchConditionSelectPrefix(props) {
|
|
|
45
46
|
}, reset, {
|
|
46
47
|
autoWidth: false,
|
|
47
48
|
popupClassName: "rc-search-prefix"
|
|
49
|
+
})) : /*#__PURE__*/_react.default.createElement(_consoleComponents.CascaderSelect, (0, _extends2.default)({
|
|
50
|
+
className: (0, _classnames.default)('condition-select', {
|
|
51
|
+
'rc-search-prefix-no-select': noSelect
|
|
52
|
+
}),
|
|
53
|
+
defaultValue: defaultValue,
|
|
54
|
+
hasBorder: false,
|
|
55
|
+
disabled: noSelect,
|
|
56
|
+
autoHighlightFirstItem: false,
|
|
57
|
+
dataSource: dataSource
|
|
58
|
+
// itemRender={({ label, value }) => (<span data-value={value}>{label}</span>)}
|
|
59
|
+
}, reset, {
|
|
60
|
+
autoWidth: false,
|
|
61
|
+
popupClassName: "rc-search-prefix",
|
|
62
|
+
canOnlyCheckLeaf: true
|
|
48
63
|
})));
|
|
49
64
|
};
|
|
50
65
|
var _default = exports.default = SearchConditionSelectPrefix;
|
|
@@ -21,8 +21,7 @@ var _style = require("../style");
|
|
|
21
21
|
var _InputPrefix = _interopRequireDefault(require("./InputPrefix"));
|
|
22
22
|
var _constants = require("../constants");
|
|
23
23
|
var _message = _interopRequireDefault(require("../message"));
|
|
24
|
-
function
|
|
25
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
24
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
26
25
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
27
26
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
27
|
var AutoComplete = _consoleComponents.Select.AutoComplete;
|
|
@@ -119,7 +118,10 @@ var ComplexSearch = function ComplexSearch(props) {
|
|
|
119
118
|
_props$suggestions = props.suggestions,
|
|
120
119
|
suggestions = _props$suggestions === void 0 ? [] : _props$suggestions,
|
|
121
120
|
_props$prefix = props.prefix,
|
|
122
|
-
prefix = _props$prefix === void 0 ? 'next-' : _props$prefix
|
|
121
|
+
prefix = _props$prefix === void 0 ? 'next-' : _props$prefix,
|
|
122
|
+
_props$prefixSelectMo = props.prefixSelectMode,
|
|
123
|
+
prefixSelectMode = _props$prefixSelectMo === void 0 ? 'select' : _props$prefixSelectMo,
|
|
124
|
+
prefixSelectItemRender = props.prefixSelectItemRender;
|
|
123
125
|
var _useState = (0, _react.useState)(options.find(function (o) {
|
|
124
126
|
return o.dataIndex === defaultSelectedDataIndex;
|
|
125
127
|
})),
|
|
@@ -335,15 +337,29 @@ var ComplexSearch = function ComplexSearch(props) {
|
|
|
335
337
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
336
338
|
className: (0, _classnames.default)('condition')
|
|
337
339
|
}, selectedFilterType ? /*#__PURE__*/_react.default.createElement(_InputPrefix.default, {
|
|
340
|
+
type: prefixSelectMode,
|
|
338
341
|
dataSource: normalizeOptions(options),
|
|
339
342
|
label: selectedFilterType === null || selectedFilterType === void 0 ? void 0 : selectedFilterType.label,
|
|
340
343
|
defaultValue: selectedFilterType === null || selectedFilterType === void 0 ? void 0 : selectedFilterType.dataIndex,
|
|
341
344
|
onChange: function onChange(value) {
|
|
345
|
+
console.log(value);
|
|
342
346
|
handlerFilterTypeChange(value);
|
|
343
|
-
}
|
|
347
|
+
},
|
|
348
|
+
itemRender: prefixSelectItemRender
|
|
344
349
|
}) : null), /*#__PURE__*/_react.default.createElement("div", {
|
|
345
350
|
className: (0, _classnames.default)('forms')
|
|
346
|
-
}, !selectedFilterType ? /*#__PURE__*/_react.default.createElement(
|
|
351
|
+
}, !selectedFilterType && prefixSelectMode === 'cascader' ? /*#__PURE__*/_react.default.createElement(_consoleComponents.CascaderSelect, {
|
|
352
|
+
className: (0, _classnames.default)('main-input', 'multi'),
|
|
353
|
+
hasBorder: false,
|
|
354
|
+
dataSource: normalizeOptions(options),
|
|
355
|
+
placeholder: placeholder || (defaultFilter !== null && defaultFilter !== void 0 && defaultFilter.label ? (0, _lodash.template)(_message.default.defaultPlaceHolder)({
|
|
356
|
+
value: defaultFilter === null || defaultFilter === void 0 ? void 0 : defaultFilter.label
|
|
357
|
+
}) : ''),
|
|
358
|
+
onChange: function onChange(value) {
|
|
359
|
+
handlerFilterTypeChange(value);
|
|
360
|
+
},
|
|
361
|
+
itemRender: prefixSelectItemRender
|
|
362
|
+
}) : null, !selectedFilterType && prefixSelectMode === 'select' ? /*#__PURE__*/_react.default.createElement(AutoComplete, (0, _extends2.default)({}, init(_constants.SEARCH_FILTER_FIELD, {
|
|
347
363
|
props: {
|
|
348
364
|
// @ts-ignore
|
|
349
365
|
onChange: function onChange(value, actionType, option) {
|
|
@@ -354,7 +370,7 @@ var ComplexSearch = function ComplexSearch(props) {
|
|
|
354
370
|
autoHighlightFirstItem: false
|
|
355
371
|
// @ts-ignore
|
|
356
372
|
,
|
|
357
|
-
itemRender: highlightItem,
|
|
373
|
+
itemRender: prefixSelectItemRender || highlightItem,
|
|
358
374
|
placeholder: placeholder || (defaultFilter !== null && defaultFilter !== void 0 && defaultFilter.label ? (0, _lodash.template)(_message.default.defaultPlaceHolder)({
|
|
359
375
|
value: defaultFilter === null || defaultFilter === void 0 ? void 0 : defaultFilter.label
|
|
360
376
|
}) : ''),
|
package/lib/search.js
CHANGED
|
@@ -16,8 +16,6 @@ var SearchWrap = _styledComponents.default.div.withConfig({
|
|
|
16
16
|
})(["height:32px;width:400px;display:inline-block;vertical-align:top;"]);
|
|
17
17
|
var Search = exports.Search = function Search(props) {
|
|
18
18
|
var className = props.className,
|
|
19
|
-
_props$simple = props.simple,
|
|
20
|
-
simple = _props$simple === void 0 ? false : _props$simple,
|
|
21
19
|
style = props.style;
|
|
22
20
|
var windThemeClass = (0, _useCssVar.useWindTheme)();
|
|
23
21
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(SearchWrap, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
/**
|
|
2
3
|
* 这是IRcSearchProps的说明。breezr-docs支持从源码中提取接口信息并文档化,因此你可以使用接口来定义Props,从而能便捷地将Props的信息通过文档透出。
|
|
3
4
|
*
|
|
@@ -63,4 +64,14 @@ export interface IRcSearchProps {
|
|
|
63
64
|
* 样式 class 前缀
|
|
64
65
|
*/
|
|
65
66
|
prefix?: string;
|
|
67
|
+
/**
|
|
68
|
+
* 前缀选择器类型
|
|
69
|
+
*/
|
|
70
|
+
prefixSelectMode?: 'select' | 'cascader';
|
|
71
|
+
/**
|
|
72
|
+
* 前缀选择器 item 渲染
|
|
73
|
+
* @param item
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
prefixSelectItemRender?: (item: any) => React.ReactNode;
|
|
66
77
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alicloud/console-components-search",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.37-alpha.1",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"types": "lib/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
"@alicloud/console-toolkit-preset-component": "^1.2.8",
|
|
10
10
|
"@alicloud/console-toolkit-preset-docs": "^1.0.34",
|
|
11
11
|
"@alifd/next": "^1.27.29",
|
|
12
|
+
"@babel/core": "^7.28.0",
|
|
12
13
|
"@types/classnames": "^2.3.4",
|
|
13
14
|
"@types/js-cookie": "^3.0.1",
|
|
14
15
|
"@types/react": "^17.0.0",
|
|
@@ -17,6 +18,8 @@
|
|
|
17
18
|
"prettier": "^2.2.1",
|
|
18
19
|
"react": "^17.0.1",
|
|
19
20
|
"react-dom": "^17.0.1",
|
|
21
|
+
"react-router": "^5.0.0",
|
|
22
|
+
"react-router-dom": "^5.0.0",
|
|
20
23
|
"serve": "^11.3.2",
|
|
21
24
|
"styled-components": "^5.2.1",
|
|
22
25
|
"typescript": "^4.1.3"
|