@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.
@@ -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(AutoComplete, _extends({}, init(SEARCH_FILTER_FIELD, {
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 _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
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(AutoComplete, (0, _extends2.default)({}, init(_constants.SEARCH_FILTER_FIELD, {
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.36",
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"