@chaoswise/ui 2.2.9 → 2.3.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/lib/AbreastLayout/index.js +5 -1
- package/lib/BasicLayout/Sider.js +8 -3
- package/lib/BasicLayout/index.js +10 -2
- package/lib/Button/index.js +0 -8
- package/lib/CWCascader/Cascader/index.js +207 -0
- package/lib/CWCascader/index.js +60 -0
- package/lib/CWCascader/index.less +31 -0
- package/lib/CWCascader/rc-cascader/Cascader.js +353 -0
- package/lib/CWCascader/rc-cascader/OptionList/Checkbox.js +22 -0
- package/lib/CWCascader/rc-cascader/OptionList/Column.js +276 -0
- package/lib/CWCascader/rc-cascader/OptionList/index.js +221 -0
- package/lib/CWCascader/rc-cascader/OptionList/useActive.js +33 -0
- package/lib/CWCascader/rc-cascader/OptionList/useKeyboard.js +173 -0
- package/lib/CWCascader/rc-cascader/context.js +3 -0
- package/lib/CWCascader/rc-cascader/hooks/useDisplayValues.js +85 -0
- package/lib/CWCascader/rc-cascader/hooks/useEntities.js +40 -0
- package/lib/CWCascader/rc-cascader/hooks/useMissingValues.js +19 -0
- package/lib/CWCascader/rc-cascader/hooks/useRefFunc.js +13 -0
- package/lib/CWCascader/rc-cascader/hooks/useSearchConfig.js +30 -0
- package/lib/CWCascader/rc-cascader/hooks/useSearchOptions.js +74 -0
- package/lib/CWCascader/rc-cascader/index.js +2 -0
- package/lib/CWCascader/rc-cascader/utils/commonUtil.js +54 -0
- package/lib/CWCascader/rc-cascader/utils/treeUtil.js +81 -0
- package/lib/CWCascader/rc-cascader/utils/warningPropsUtil.js +30 -0
- package/lib/CWRangePicker/DropdownMenu/index.js +1 -1
- package/lib/CWRangePicker/DropdownMenu/index.less +11 -7
- package/lib/CWRangePicker/index.js +30 -29
- package/lib/CWSelect/index.js +9 -1
- package/lib/CWSelect/index.less +11 -1
- package/lib/Cascader/index.js +0 -8
- package/lib/Cascader/index.less +23 -0
- package/lib/Cascaders/Cascader/index.js +208 -0
- package/lib/Cascaders/index.js +17 -0
- package/lib/Cascaders/index.less +1 -0
- package/lib/Cascaders/rc-cascader/Cascader.js +326 -0
- package/lib/Cascaders/rc-cascader/OptionList/Checkbox.js +22 -0
- package/lib/Cascaders/rc-cascader/OptionList/Column.js +203 -0
- package/lib/Cascaders/rc-cascader/OptionList/index.js +213 -0
- package/lib/Cascaders/rc-cascader/OptionList/useActive.js +33 -0
- package/lib/Cascaders/rc-cascader/OptionList/useKeyboard.js +171 -0
- package/lib/Cascaders/rc-cascader/context.js +3 -0
- package/lib/Cascaders/rc-cascader/hooks/useDisplayValues.js +56 -0
- package/lib/Cascaders/rc-cascader/hooks/useEntities.js +34 -0
- package/lib/Cascaders/rc-cascader/hooks/useMissingValues.js +19 -0
- package/lib/Cascaders/rc-cascader/hooks/useRefFunc.js +13 -0
- package/lib/Cascaders/rc-cascader/hooks/useSearchConfig.js +25 -0
- package/lib/Cascaders/rc-cascader/hooks/useSearchOptions.js +72 -0
- package/lib/Cascaders/rc-cascader/index.js +2 -0
- package/lib/Cascaders/rc-cascader/utils/commonUtil.js +54 -0
- package/lib/Cascaders/rc-cascader/utils/treeUtil.js +37 -0
- package/lib/Cascaders/rc-cascader/utils/warningPropsUtil.js +30 -0
- package/lib/CitySelect/index.js +2 -2
- package/lib/DropdownDatePicker/DropdownMenu/MoreTimeList/index.js +46 -0
- package/lib/DropdownDatePicker/DropdownMenu/MoreTimeList/index.less +14 -0
- package/lib/DropdownDatePicker/DropdownMenu/index.js +126 -0
- package/lib/DropdownDatePicker/DropdownMenu/index.less +68 -0
- package/lib/DropdownDatePicker/assets/Calendar2.js +15 -0
- package/lib/DropdownDatePicker/assets/live.js +19 -0
- package/lib/DropdownDatePicker/assets/more.js +23 -0
- package/lib/DropdownDatePicker/index.js +281 -0
- package/lib/DropdownDatePicker/index.less +34 -0
- package/lib/DropdownDatePicker/locale/en_US.js +20 -0
- package/lib/DropdownDatePicker/locale/index.js +12 -0
- package/lib/DropdownDatePicker/locale/zh_CN.js +20 -0
- package/lib/DropdownDatePicker/utils/index.js +247 -0
- package/lib/InputNumber/index.js +15 -11
- package/lib/ModuleFederation/ErrorBoundary/index.js +54 -0
- package/lib/ModuleFederation/index.js +10 -0
- package/lib/ModuleFederation/react-dynamic-remote-component/RemoteComponent.js +185 -0
- package/lib/ModuleFederation/react-dynamic-remote-component/attach-script.js +42 -0
- package/lib/ModuleFederation/react-dynamic-remote-component/index.js +1 -0
- package/lib/ModuleFederation/react-dynamic-remote-component/load-module.js +44 -0
- package/lib/ModuleFederation/react-dynamic-remote-component/loading-script.js +35 -0
- package/lib/ModuleFederation/react-dynamic-remote-component/suspend.js +28 -0
- package/lib/ModuleFederation/react-dynamic-remote-component/utils.js +7 -0
- package/lib/QuickTransfer/locale/index.js +1 -4
- package/lib/QuickTransfer/locale/zh_CN.js +0 -8
- package/package.json +4 -3
|
@@ -204,7 +204,11 @@ AbreastLayout.propTypes = {
|
|
|
204
204
|
/**
|
|
205
205
|
* 内容区样式
|
|
206
206
|
*/
|
|
207
|
-
contentStyle: PropTypes.object
|
|
207
|
+
contentStyle: PropTypes.object,
|
|
208
|
+
/**
|
|
209
|
+
* 折叠展开的callback,onCollapse = (collapsed)=>{}
|
|
210
|
+
*/
|
|
211
|
+
onCollapse: PropTypes.func
|
|
208
212
|
};
|
|
209
213
|
AbreastLayout.NavTreeContainer = NavTreeContainer;
|
|
210
214
|
export default AbreastLayout;
|
package/lib/BasicLayout/Sider.js
CHANGED
|
@@ -6,7 +6,7 @@ import "@chaoswise/ui/lib/SiderMenu/index.less";
|
|
|
6
6
|
import _SiderMenu from "@chaoswise/ui/lib/SiderMenu";
|
|
7
7
|
import "antd/es/layout/style";
|
|
8
8
|
import _Layout from "antd/es/layout";
|
|
9
|
-
var _excluded = ["canDrag", "enable", "maxDragWidth", "resizeBarColor", "onResizeStart", "onResizeStop", "siderDragWidth"],
|
|
9
|
+
var _excluded = ["canDrag", "enable", "maxDragWidth", "resizeBarColor", "onResizeStart", "onResizeStop", "onResize", "siderDragWidth"],
|
|
10
10
|
_excluded2 = ["menuData", "resizableProps"];
|
|
11
11
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
12
12
|
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; }
|
|
@@ -38,7 +38,7 @@ function Sider(_ref) {
|
|
|
38
38
|
_menuOptions$resizabl = menuOptions.resizableProps,
|
|
39
39
|
_menuOptions$resizabl2 = _menuOptions$resizabl === void 0 ? {} : _menuOptions$resizabl,
|
|
40
40
|
_menuOptions$resizabl3 = _menuOptions$resizabl2.canDrag,
|
|
41
|
-
canDrag = _menuOptions$resizabl3 === void 0 ?
|
|
41
|
+
canDrag = _menuOptions$resizabl3 === void 0 ? true : _menuOptions$resizabl3,
|
|
42
42
|
enable = _menuOptions$resizabl2.enable,
|
|
43
43
|
_menuOptions$resizabl4 = _menuOptions$resizabl2.maxDragWidth,
|
|
44
44
|
maxDragWidth = _menuOptions$resizabl4 === void 0 ? 264 : _menuOptions$resizabl4,
|
|
@@ -48,6 +48,8 @@ function Sider(_ref) {
|
|
|
48
48
|
_onResizeStart = _menuOptions$resizabl6 === void 0 ? function () {} : _menuOptions$resizabl6,
|
|
49
49
|
_menuOptions$resizabl7 = _menuOptions$resizabl2.onResizeStop,
|
|
50
50
|
_onResizeStop = _menuOptions$resizabl7 === void 0 ? function () {} : _menuOptions$resizabl7,
|
|
51
|
+
_menuOptions$resizabl8 = _menuOptions$resizabl2.onResize,
|
|
52
|
+
_onResize = _menuOptions$resizabl8 === void 0 ? function () {} : _menuOptions$resizabl8,
|
|
51
53
|
siderDragWidth = _menuOptions$resizabl2.siderDragWidth,
|
|
52
54
|
_resizableProps = _objectWithoutProperties(_menuOptions$resizabl2, _excluded),
|
|
53
55
|
_resMenuProps = _objectWithoutProperties(menuOptions, _excluded2);
|
|
@@ -56,7 +58,7 @@ function Sider(_ref) {
|
|
|
56
58
|
maxWidth: collapsed ? siderCollapsedWidth : maxDragWidth,
|
|
57
59
|
onResizeStart: function onResizeStart() {
|
|
58
60
|
setEnableResizable(true);
|
|
59
|
-
_onResizeStart();
|
|
61
|
+
_onResizeStart.apply(void 0, arguments);
|
|
60
62
|
},
|
|
61
63
|
onResizeStop: function onResizeStop(e, direction, ref, d) {
|
|
62
64
|
setEnableResizable(false);
|
|
@@ -66,6 +68,9 @@ function Sider(_ref) {
|
|
|
66
68
|
_setSiderDragWidth(newWidth);
|
|
67
69
|
}
|
|
68
70
|
},
|
|
71
|
+
onResize: function onResize(e, direction, ref, d) {
|
|
72
|
+
_onResize(d.width);
|
|
73
|
+
},
|
|
69
74
|
enable: _objectSpread({
|
|
70
75
|
top: false,
|
|
71
76
|
bottom: false,
|
package/lib/BasicLayout/index.js
CHANGED
|
@@ -98,7 +98,8 @@ var BasicLayout = function BasicLayout(_ref) {
|
|
|
98
98
|
getPrefixCls = _useConfigContext.getPrefixCls;
|
|
99
99
|
var prefixCls = getPrefixCls('basic-layout');
|
|
100
100
|
var _useLocale = useLocale(langConfig),
|
|
101
|
-
langObj = _useLocale.langObj
|
|
101
|
+
langObj = _useLocale.langObj,
|
|
102
|
+
locale = _useLocale.locale;
|
|
102
103
|
var menuData = menuOptions.menuData,
|
|
103
104
|
_menuOptions$resizabl = menuOptions.resizableProps,
|
|
104
105
|
_menuOptions$resizabl2 = _menuOptions$resizabl === void 0 ? {} : _menuOptions$resizabl,
|
|
@@ -123,7 +124,9 @@ var BasicLayout = function BasicLayout(_ref) {
|
|
|
123
124
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
124
125
|
enableResizable = _useState8[0],
|
|
125
126
|
setEnableResizable = _useState8[1];
|
|
126
|
-
|
|
127
|
+
// TODO 优化代码!!!!
|
|
128
|
+
var defaultSiderWidth = locale === 'zh' ? siderWidth : siderWidth + 40;
|
|
129
|
+
var _useState9 = useState(defaultSiderWidth),
|
|
127
130
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
128
131
|
_siderDragWidth = _useState10[0],
|
|
129
132
|
_setSiderDragWidth = _useState10[1];
|
|
@@ -140,6 +143,11 @@ var BasicLayout = function BasicLayout(_ref) {
|
|
|
140
143
|
_setSiderDragWidth(siderDragWidth);
|
|
141
144
|
}
|
|
142
145
|
}, [siderDragWidth]);
|
|
146
|
+
useEffect(function () {
|
|
147
|
+
if (!siderDragWidth) {
|
|
148
|
+
_setSiderDragWidth(defaultSiderWidth);
|
|
149
|
+
}
|
|
150
|
+
}, [locale, defaultSiderWidth]);
|
|
143
151
|
var onFooterLoaded = function onFooterLoaded(args) {
|
|
144
152
|
// 移动footer到指定位置展示 统一布局
|
|
145
153
|
setTimeout(function () {
|
package/lib/Button/index.js
CHANGED
|
@@ -4,14 +4,6 @@ var _excluded = ["mainType", "className"];
|
|
|
4
4
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
5
5
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
6
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
7
|
-
/*
|
|
8
|
-
* @Author: andrew.qiao andrew.qiao@cloudwise.com
|
|
9
|
-
* @Date: 2022-12-27 17:34:03
|
|
10
|
-
* @LastEditors: andrew.qiao andrew.qiao@cloudwise.com
|
|
11
|
-
* @LastEditTime: 2023-01-10 16:22:47
|
|
12
|
-
* @FilePath: /change_01/aops_web_commons/packages/ui/components/Button/index.js
|
|
13
|
-
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
14
|
-
*/
|
|
15
7
|
import React, { forwardRef } from "react";
|
|
16
8
|
import PropTypes from "prop-types";
|
|
17
9
|
import classnames from "classnames";
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
var _excluded = ["prefixCls", "size", "className", "multiple", "bordered", "transitionName", "choiceTransitionName", "popupClassName", "dropdownClassName", "expandIcon", "placement", "showSearch", "allowClear", "notFoundContent", "direction", "getPopupContainer", "status", "showArrow"];
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
9
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
10
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
11
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
12
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
13
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
14
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
15
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
16
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
17
|
+
import LeftOutlined from "@ant-design/icons/LeftOutlined";
|
|
18
|
+
import LoadingOutlined from "@ant-design/icons/LoadingOutlined";
|
|
19
|
+
import RightOutlined from "@ant-design/icons/RightOutlined";
|
|
20
|
+
import classNames from "classnames";
|
|
21
|
+
import RcCascader from "../rc-cascader";
|
|
22
|
+
import omit from "rc-util/lib/omit";
|
|
23
|
+
import * as React from "react";
|
|
24
|
+
import { useContext } from 'react';
|
|
25
|
+
import { ConfigContext } from '../../Antd4/config-provider';
|
|
26
|
+
import SizeContext from '../../Antd4/config-provider/SizeContext';
|
|
27
|
+
import { FormItemInputContext } from '../../Antd4/form4-24-7/context';
|
|
28
|
+
import getIcons from '../../Antd4/select/utils/iconUtil';
|
|
29
|
+
import { getTransitionName, getTransitionDirection } from '../../Antd4/_util/motion';
|
|
30
|
+
import { getMergedStatus, getStatusClassNames } from "../../Antd4/_util/statusUtils";
|
|
31
|
+
var SHOW_CHILD = RcCascader.SHOW_CHILD,
|
|
32
|
+
SHOW_PARENT = RcCascader.SHOW_PARENT;
|
|
33
|
+
function highlightKeyword(str, lowerKeyword, prefixCls) {
|
|
34
|
+
var cells = str.toLowerCase().split(lowerKeyword).reduce(function (list, cur, index) {
|
|
35
|
+
return index === 0 ? [cur] : [].concat(_toConsumableArray(list), [lowerKeyword, cur]);
|
|
36
|
+
}, []);
|
|
37
|
+
var fillCells = [];
|
|
38
|
+
var start = 0;
|
|
39
|
+
cells.forEach(function (cell, index) {
|
|
40
|
+
var end = start + cell.length;
|
|
41
|
+
var originWorld = str.slice(start, end);
|
|
42
|
+
start = end;
|
|
43
|
+
if (index % 2 === 1) {
|
|
44
|
+
originWorld =
|
|
45
|
+
/*#__PURE__*/
|
|
46
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
47
|
+
React.createElement("span", {
|
|
48
|
+
className: "".concat(prefixCls, "-menu-item-keyword"),
|
|
49
|
+
key: "seperator-".concat(index)
|
|
50
|
+
}, originWorld);
|
|
51
|
+
}
|
|
52
|
+
fillCells.push(originWorld);
|
|
53
|
+
});
|
|
54
|
+
return fillCells;
|
|
55
|
+
}
|
|
56
|
+
var defaultSearchRender = function defaultSearchRender(inputValue, path, prefixCls, fieldNames) {
|
|
57
|
+
var optionList = [];
|
|
58
|
+
// We do lower here to save perf
|
|
59
|
+
var lower = inputValue.toLowerCase();
|
|
60
|
+
path.forEach(function (node, index) {
|
|
61
|
+
if (index !== 0) {
|
|
62
|
+
optionList.push(" / ");
|
|
63
|
+
}
|
|
64
|
+
var label = node[fieldNames.label];
|
|
65
|
+
var type = _typeof(label);
|
|
66
|
+
if (type === "string" || type === "number") {
|
|
67
|
+
label = highlightKeyword(String(label), lower, prefixCls);
|
|
68
|
+
}
|
|
69
|
+
optionList.push(label);
|
|
70
|
+
});
|
|
71
|
+
return optionList;
|
|
72
|
+
};
|
|
73
|
+
var Cascader = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
74
|
+
var _classNames2;
|
|
75
|
+
var customizePrefixCls = props.prefixCls,
|
|
76
|
+
customizeSize = props.size,
|
|
77
|
+
className = props.className,
|
|
78
|
+
multiple = props.multiple,
|
|
79
|
+
_props$bordered = props.bordered,
|
|
80
|
+
bordered = _props$bordered === void 0 ? true : _props$bordered,
|
|
81
|
+
transitionName = props.transitionName,
|
|
82
|
+
_props$choiceTransiti = props.choiceTransitionName,
|
|
83
|
+
choiceTransitionName = _props$choiceTransiti === void 0 ? '' : _props$choiceTransiti,
|
|
84
|
+
popupClassName = props.popupClassName,
|
|
85
|
+
dropdownClassName = props.dropdownClassName,
|
|
86
|
+
expandIcon = props.expandIcon,
|
|
87
|
+
placement = props.placement,
|
|
88
|
+
showSearch = props.showSearch,
|
|
89
|
+
_props$allowClear = props.allowClear,
|
|
90
|
+
allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
|
|
91
|
+
notFoundContent = props.notFoundContent,
|
|
92
|
+
direction = props.direction,
|
|
93
|
+
getPopupContainer = props.getPopupContainer,
|
|
94
|
+
customStatus = props.status,
|
|
95
|
+
showArrow = props.showArrow,
|
|
96
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
97
|
+
var restProps = omit(rest, ['suffixIcon']);
|
|
98
|
+
var _useContext = useContext(ConfigContext),
|
|
99
|
+
getContextPopupContainer = _useContext.getPopupContainer,
|
|
100
|
+
getPrefixCls = _useContext.getPrefixCls,
|
|
101
|
+
renderEmpty = _useContext.renderEmpty,
|
|
102
|
+
rootDirection = _useContext.direction;
|
|
103
|
+
var mergedDirection = direction || rootDirection;
|
|
104
|
+
var isRtl = mergedDirection === 'rtl';
|
|
105
|
+
|
|
106
|
+
// =================== Form =====================
|
|
107
|
+
var _useContext2 = useContext(FormItemInputContext),
|
|
108
|
+
contextStatus = _useContext2.status,
|
|
109
|
+
hasFeedback = _useContext2.hasFeedback,
|
|
110
|
+
isFormItemInput = _useContext2.isFormItemInput,
|
|
111
|
+
feedbackIcon = _useContext2.feedbackIcon;
|
|
112
|
+
var mergedStatus = getMergedStatus(contextStatus, customStatus);
|
|
113
|
+
// =================== No Found ====================
|
|
114
|
+
var mergedNotFoundContent = notFoundContent || renderEmpty('Cascader');
|
|
115
|
+
|
|
116
|
+
// ==================== Prefix =====================
|
|
117
|
+
var rootPrefixCls = getPrefixCls();
|
|
118
|
+
var prefixCls = getPrefixCls('select', customizePrefixCls);
|
|
119
|
+
var cascaderPrefixCls = getPrefixCls('cascader', customizePrefixCls);
|
|
120
|
+
// =================== Dropdown ====================
|
|
121
|
+
var mergedDropdownClassName = classNames(dropdownClassName || popupClassName, "".concat(cascaderPrefixCls, "-dropdown"), "cw-cascader-custom-dropdown", _defineProperty({}, "".concat(cascaderPrefixCls, "-dropdown-rtl"), mergedDirection === 'rtl'));
|
|
122
|
+
// ==================== Search =====================
|
|
123
|
+
var mergedShowSearch = React.useMemo(function () {
|
|
124
|
+
if (!showSearch) {
|
|
125
|
+
return showSearch;
|
|
126
|
+
}
|
|
127
|
+
var searchConfig = {
|
|
128
|
+
render: defaultSearchRender
|
|
129
|
+
};
|
|
130
|
+
if (_typeof(showSearch) === 'object') {
|
|
131
|
+
searchConfig = _objectSpread(_objectSpread({}, searchConfig), showSearch);
|
|
132
|
+
}
|
|
133
|
+
return searchConfig;
|
|
134
|
+
}, [showSearch]);
|
|
135
|
+
// ===================== Size ======================
|
|
136
|
+
var size = React.useContext(SizeContext);
|
|
137
|
+
var mergedSize = customizeSize || size;
|
|
138
|
+
// ===================== Icon ======================
|
|
139
|
+
var mergedExpandIcon = expandIcon;
|
|
140
|
+
if (!expandIcon) {
|
|
141
|
+
mergedExpandIcon = isRtl ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null);
|
|
142
|
+
}
|
|
143
|
+
var loadingIcon = /*#__PURE__*/React.createElement("span", {
|
|
144
|
+
className: "".concat(prefixCls, "-menu-item-loading-icon")
|
|
145
|
+
}, /*#__PURE__*/React.createElement(LoadingOutlined, {
|
|
146
|
+
spin: true
|
|
147
|
+
}));
|
|
148
|
+
|
|
149
|
+
// =================== Multiple ====================
|
|
150
|
+
var checkable = React.useMemo(function () {
|
|
151
|
+
return multiple ? /*#__PURE__*/React.createElement("span", {
|
|
152
|
+
className: "".concat(cascaderPrefixCls, "-checkbox-inner")
|
|
153
|
+
}) : false;
|
|
154
|
+
}, [multiple]);
|
|
155
|
+
// ===================== Icons =====================
|
|
156
|
+
var mergedShowArrow = showArrow !== undefined ? showArrow : props.loading || !multiple;
|
|
157
|
+
var _getIcons = getIcons(_objectSpread(_objectSpread({}, props), {}, {
|
|
158
|
+
hasFeedback: hasFeedback,
|
|
159
|
+
feedbackIcon: feedbackIcon,
|
|
160
|
+
showArrow: mergedShowArrow,
|
|
161
|
+
multiple: multiple,
|
|
162
|
+
prefixCls: prefixCls
|
|
163
|
+
})),
|
|
164
|
+
suffixIcon = _getIcons.suffixIcon,
|
|
165
|
+
removeIcon = _getIcons.removeIcon,
|
|
166
|
+
clearIcon = _getIcons.clearIcon;
|
|
167
|
+
// ===================== Placement =====================
|
|
168
|
+
var getPlacement = function getPlacement() {
|
|
169
|
+
if (placement !== undefined) {
|
|
170
|
+
return placement;
|
|
171
|
+
}
|
|
172
|
+
return isRtl ? "bottomRight" : "bottomLeft";
|
|
173
|
+
};
|
|
174
|
+
// ==================== Render =====================
|
|
175
|
+
return /*#__PURE__*/React.createElement(RcCascader, _extends({
|
|
176
|
+
prefixCls: prefixCls,
|
|
177
|
+
className: classNames(!customizePrefixCls && cascaderPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-lg"), mergedSize === 'large'), _defineProperty(_classNames2, "".concat(prefixCls, "-sm"), mergedSize === 'small'), _defineProperty(_classNames2, "".concat(prefixCls, "-rtl"), isRtl), _defineProperty(_classNames2, "".concat(prefixCls, "-borderless"), !bordered), _defineProperty(_classNames2, "".concat(prefixCls, "-in-form-item"), isFormItemInput), _classNames2), getStatusClassNames(prefixCls, mergedStatus, hasFeedback), className)
|
|
178
|
+
}, restProps, {
|
|
179
|
+
direction: mergedDirection,
|
|
180
|
+
placement: getPlacement(),
|
|
181
|
+
notFoundContent: mergedNotFoundContent,
|
|
182
|
+
allowClear: allowClear,
|
|
183
|
+
showSearch: mergedShowSearch,
|
|
184
|
+
expandIcon: mergedExpandIcon,
|
|
185
|
+
inputIcon: suffixIcon,
|
|
186
|
+
removeIcon: removeIcon,
|
|
187
|
+
clearIcon: clearIcon,
|
|
188
|
+
loadingIcon: loadingIcon,
|
|
189
|
+
checkable: checkable,
|
|
190
|
+
dropdownClassName: mergedDropdownClassName,
|
|
191
|
+
dropdownPrefixCls: customizePrefixCls || cascaderPrefixCls,
|
|
192
|
+
choiceTransitionName: getTransitionName(rootPrefixCls, '', choiceTransitionName),
|
|
193
|
+
transitionName: getTransitionName(rootPrefixCls, getTransitionDirection(placement), transitionName),
|
|
194
|
+
getPopupContainer: getPopupContainer || getContextPopupContainer,
|
|
195
|
+
ref: ref,
|
|
196
|
+
showArrow: hasFeedback || showArrow
|
|
197
|
+
}));
|
|
198
|
+
});
|
|
199
|
+
if (process.env.NODE_ENV !== "production") {
|
|
200
|
+
Cascader.displayName = "Cascader";
|
|
201
|
+
}
|
|
202
|
+
// We don't care debug panel
|
|
203
|
+
/* istanbul ignore next */
|
|
204
|
+
Cascader.SHOW_PARENT = SHOW_PARENT;
|
|
205
|
+
Cascader.SHOW_CHILD = SHOW_CHILD;
|
|
206
|
+
Cascader._InternalPanelDoNotUseOrYouWillBeFired = Cascader;
|
|
207
|
+
export default Cascader;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
import React, { forwardRef } from "react";
|
|
3
|
+
import Cascader from "./Cascader";
|
|
4
|
+
import PropTypes from "prop-types";
|
|
5
|
+
import "antd/es/cascader/style/index.less";
|
|
6
|
+
import "../Antd4/cascader/style/index.less";
|
|
7
|
+
import "./index.less";
|
|
8
|
+
var CWCascader = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
9
|
+
return /*#__PURE__*/React.createElement(Cascader, _extends({}, props, {
|
|
10
|
+
ref: ref
|
|
11
|
+
}));
|
|
12
|
+
});
|
|
13
|
+
CWCascader.SHOW_CHILD = Cascader.SHOW_CHILD;
|
|
14
|
+
CWCascader.SHOW_PARENT = Cascader.SHOW_PARENT;
|
|
15
|
+
CWCascader.defaultProps = {
|
|
16
|
+
showColumnSearch: false,
|
|
17
|
+
labelInValue: false,
|
|
18
|
+
showCheckedStrategy: CWCascader.SHOW_PARENT
|
|
19
|
+
};
|
|
20
|
+
CWCascader.propTypes = {
|
|
21
|
+
/**
|
|
22
|
+
* 级联选择器是否每列都可搜索(需要后端搜索时使用),默认为false
|
|
23
|
+
*/
|
|
24
|
+
showColumnSearch: PropTypes.bool,
|
|
25
|
+
/**
|
|
26
|
+
* 是否把每个选项的 label 包装到 value 中,从 array 变为 { value: array, label: string } 的格式,默认为false
|
|
27
|
+
*/
|
|
28
|
+
labelInValue: PropTypes.bool,
|
|
29
|
+
/**
|
|
30
|
+
* 是否重置第一列value
|
|
31
|
+
*/
|
|
32
|
+
isResetInputValue: PropTypes.bool,
|
|
33
|
+
// todo: 后面要完善成为所有value受控状态
|
|
34
|
+
/**
|
|
35
|
+
* 下拉列表中各列项滚动到底部时的回调,onSrollBottom = (e,scrollColumnId) => {}。
|
|
36
|
+
* scrollColumnId第一列为undefined,从第二列开始为前一列的父级id值。
|
|
37
|
+
*/
|
|
38
|
+
onSrollBottom: PropTypes.func,
|
|
39
|
+
/**
|
|
40
|
+
* 下拉列表中各列项文本框值变化的回调,onInputChange = (e,searchColumnId) => {}。
|
|
41
|
+
* searchColumnId第一列为undefined,从第二列开始为前一列的父级id值。
|
|
42
|
+
* --异步加载数据--
|
|
43
|
+
*/
|
|
44
|
+
onInputChange: PropTypes.func,
|
|
45
|
+
/**
|
|
46
|
+
* 下拉列表中各列项自定义下拉框内容,dropdownColumnRender = (columnMenu,columnId,columnLoading) => {}。
|
|
47
|
+
* columnMenu为原始菜单dom。
|
|
48
|
+
* columnId第一列为undefined,从第二列开始为前一列的父级id值。
|
|
49
|
+
* columnLoading是否处于loading状态中。
|
|
50
|
+
* --异步加载数据--
|
|
51
|
+
*/
|
|
52
|
+
dropdownColumnRender: PropTypes.func,
|
|
53
|
+
/**
|
|
54
|
+
* 定义选中项回填的方式。
|
|
55
|
+
* CWCascader.SHOW_CHILD: 只显示选中的子节点。
|
|
56
|
+
* CWCascader.SHOW_PARENT: 只显示父节点(当父节点下所有子节点都选中时)。
|
|
57
|
+
*/
|
|
58
|
+
showCheckedStrategy: PropTypes.oneOf([CWCascader.SHOW_PARENT, CWCascader.SHOW_CHILD])
|
|
59
|
+
};
|
|
60
|
+
export default CWCascader;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@import '../Cascader/index.less';
|
|
2
|
+
|
|
3
|
+
.cw-cascader-custom-dropdown.@{ant-prefix}-select-dropdown {
|
|
4
|
+
overflow: visible !important;
|
|
5
|
+
padding: 0 !important;
|
|
6
|
+
|
|
7
|
+
// .@{ant-prefix}-cascader-menu {
|
|
8
|
+
// max-height: 200px !important;
|
|
9
|
+
// }
|
|
10
|
+
.cw-cascader-column-wrapper {
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
13
|
+
flex: 1;
|
|
14
|
+
align-self: stretch;
|
|
15
|
+
.cw-cascader-column-input{
|
|
16
|
+
width: 100%;
|
|
17
|
+
min-width: 100px;
|
|
18
|
+
}
|
|
19
|
+
.cw-cascader-column-search-loading-wrapper{
|
|
20
|
+
display: flex;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
align-items: center;
|
|
23
|
+
flex: 1;
|
|
24
|
+
}
|
|
25
|
+
.cw-cascader-column-scroll-loading-wrapper{
|
|
26
|
+
display: flex;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
align-items: center;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|