@chaoswise/ui 2.3.9 → 2.3.11
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/CWTree/index.js +12 -2
- package/lib/CWTree/utils/index.js +8 -2
- package/lib/Form/FormItem.js +1 -2
- package/lib/Pagination/index.js +4 -4
- package/lib/Pagination/index.less +1 -9
- package/lib/QuickTransfer/Drag.js +55 -0
- package/lib/QuickTransfer/DragList.js +98 -0
- package/lib/QuickTransfer/NoDrag.js +14 -31
- package/lib/QuickTransfer/NotDragList.js +16 -54
- package/lib/QuickTransfer/index.js +41 -25
- package/lib/QuickTransfer/index.less +2 -1
- package/lib/QuickTransfer/utils.js +7 -1
- package/package.json +2 -2
package/lib/CWTree/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import _ConfigProvider from "@chaoswise/ui/lib/ConfigProvider";
|
|
|
9
9
|
import _Menu from "@chaoswise/ui/lib/Menu";
|
|
10
10
|
import "antd/es/tree/style";
|
|
11
11
|
import _Tree from "antd/es/tree";
|
|
12
|
-
var _excluded = ["children", "treeData", "menuData", "extendType", "onClickMenu", "menuStyle", "menuRender", "extraFooter", "tooltipPlacement", "searchValue", "multiple", "selectedKeys", "defaultSelectedKeys", "onSelect", "searchHighlight", "draggable", "isDrawer", "searchHighlightStyle", "className", "caseSensitive", "onExpand"],
|
|
12
|
+
var _excluded = ["children", "treeData", "menuData", "extendType", "onClickMenu", "menuStyle", "menuRender", "extraFooter", "tooltipPlacement", "searchValue", "multiple", "selectedKeys", "defaultSelectedKeys", "onSelect", "searchHighlight", "draggable", "isDrawer", "searchHighlightStyle", "className", "caseSensitive", "onExpand", "renderItem"],
|
|
13
13
|
_excluded2 = ["icon", "title", "key", "children"];
|
|
14
14
|
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); }
|
|
15
15
|
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; }
|
|
@@ -75,6 +75,7 @@ function CWTree(_ref) {
|
|
|
75
75
|
caseSensitive = _ref$caseSensitive === void 0 ? false : _ref$caseSensitive,
|
|
76
76
|
_ref$onExpand = _ref.onExpand,
|
|
77
77
|
onExpand = _ref$onExpand === void 0 ? function () {} : _ref$onExpand,
|
|
78
|
+
renderItem = _ref.renderItem,
|
|
78
79
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
79
80
|
var _useState = useState(""),
|
|
80
81
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -235,6 +236,11 @@ function CWTree(_ref) {
|
|
|
235
236
|
style: searchHighlightStyle
|
|
236
237
|
}, searchStr), afterTitle) : /*#__PURE__*/React.createElement("span", null, title);
|
|
237
238
|
}
|
|
239
|
+
|
|
240
|
+
// renderItem 自定义
|
|
241
|
+
if (renderItem) {
|
|
242
|
+
_title = renderItem(_title, _props);
|
|
243
|
+
}
|
|
238
244
|
return /*#__PURE__*/React.createElement(TreeNode, _extends({
|
|
239
245
|
className: "cw-tree-treenode",
|
|
240
246
|
record: _props,
|
|
@@ -407,7 +413,11 @@ CWTree.propTypes = {
|
|
|
407
413
|
/**
|
|
408
414
|
* 使用抽屉扩展功能
|
|
409
415
|
*/
|
|
410
|
-
isDrawer: PropTypes.bool
|
|
416
|
+
isDrawer: PropTypes.bool,
|
|
417
|
+
/**
|
|
418
|
+
* 自定义render node节点
|
|
419
|
+
*/
|
|
420
|
+
renderItem: PropTypes.func
|
|
411
421
|
};
|
|
412
422
|
CWTree.TreeNode = TreeNode;
|
|
413
423
|
CWTree.DirectoryTree = DirectoryTree;
|
|
@@ -6,13 +6,19 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
6
6
|
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); }
|
|
7
7
|
import { KMPMatch } from "../../QuickTransfer/utils";
|
|
8
8
|
import isUndefined from "lodash-es/isUndefined";
|
|
9
|
+
var getFinalStr = function getFinalStr(con) {
|
|
10
|
+
if (typeof con === "string") {
|
|
11
|
+
return con.toLowerCase();
|
|
12
|
+
}
|
|
13
|
+
return con;
|
|
14
|
+
};
|
|
9
15
|
export var createTree = function createTree(list, searchValue, caseSensitive, isAppend) {
|
|
10
16
|
return list.reduce(function (t, c) {
|
|
11
17
|
var children = c.children,
|
|
12
18
|
title = c.title,
|
|
13
19
|
isLeaf = c.isLeaf;
|
|
14
|
-
var finalTitle = caseSensitive ? title : title
|
|
15
|
-
var finalSearchValue = caseSensitive ? searchValue : searchValue
|
|
20
|
+
var finalTitle = caseSensitive ? title : getFinalStr(title);
|
|
21
|
+
var finalSearchValue = caseSensitive ? searchValue : getFinalStr(searchValue);
|
|
16
22
|
var isHit = KMPMatch(finalTitle, finalSearchValue) > -1;
|
|
17
23
|
var leafNode = isUndefined(isLeaf) ? !Boolean(Array.isArray(children)) : isLeaf;
|
|
18
24
|
if (children && children.length) {
|
package/lib/Form/FormItem.js
CHANGED
|
@@ -39,8 +39,7 @@ var FormItem = function FormItem(_ref) {
|
|
|
39
39
|
}, labelCol),
|
|
40
40
|
wrapperCol: _objectSpread({
|
|
41
41
|
style: {
|
|
42
|
-
flex: 1
|
|
43
|
-
width: 0 // csshack修复flex:1分摊剩余空间有问题
|
|
42
|
+
flex: 1
|
|
44
43
|
}
|
|
45
44
|
}, wrapperCol),
|
|
46
45
|
label: !label && label !== '' && !showLabelWidth ? label : /*#__PURE__*/React.createElement(_Tooltip, {
|
package/lib/Pagination/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
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); }
|
|
2
|
+
import "@chaoswise/ui/lib/Form/index.less";
|
|
3
|
+
import _Form from "@chaoswise/ui/lib/Form";
|
|
2
4
|
import "antd/es/pagination/style";
|
|
3
5
|
import _Pagination from "antd/es/pagination";
|
|
4
6
|
import "@chaoswise/ui/lib/SimplePagination/index.less";
|
|
5
7
|
import _SimplePagination from "@chaoswise/ui/lib/SimplePagination";
|
|
6
|
-
import "@chaoswise/ui/lib/Form/index.less";
|
|
7
|
-
import _Form from "@chaoswise/ui/lib/Form";
|
|
8
8
|
import "@chaoswise/ui/lib/Input/index.less";
|
|
9
9
|
import _Input from "@chaoswise/ui/lib/Input";
|
|
10
10
|
import _ConfigProvider from "@chaoswise/ui/lib/ConfigProvider";
|
|
@@ -256,7 +256,7 @@ function CWPagination(props) {
|
|
|
256
256
|
marginLeft: 16
|
|
257
257
|
},
|
|
258
258
|
ref: inputRef
|
|
259
|
-
}, /*#__PURE__*/React.createElement("span", null, localeObj["goto"]), /*#__PURE__*/React.createElement(
|
|
259
|
+
}, /*#__PURE__*/React.createElement("span", null, localeObj["goto"]), /*#__PURE__*/React.createElement(_Input, {
|
|
260
260
|
value: value,
|
|
261
261
|
size: size === "small" ? "small" : "default",
|
|
262
262
|
onPressEnter: inputEnterHandle,
|
|
@@ -264,7 +264,7 @@ function CWPagination(props) {
|
|
|
264
264
|
className: "cw-pagination-jump-input",
|
|
265
265
|
onChange: inputChange,
|
|
266
266
|
type: "text"
|
|
267
|
-
})
|
|
267
|
+
}), /*#__PURE__*/React.createElement("span", null, localeObj.page)) : null;
|
|
268
268
|
var finalRenderPagination = /*#__PURE__*/React.createElement("div", {
|
|
269
269
|
className: "cw-pagination-wrapper",
|
|
270
270
|
style: {
|
|
@@ -103,19 +103,11 @@
|
|
|
103
103
|
// border: 1px solid #d9d9d9;
|
|
104
104
|
// border-radius: 8px;
|
|
105
105
|
line-height: @pagination-item-size;
|
|
106
|
-
.@{ant-prefix}-form-item{
|
|
107
|
-
margin-bottom: 0;
|
|
108
|
-
}
|
|
109
|
-
.@{ant-prefix}-form-horizontal{
|
|
110
|
-
padding: 0 8px;
|
|
111
|
-
}
|
|
112
|
-
.@{ant-prefix}-form-item-control{
|
|
113
|
-
line-height: 0;
|
|
114
|
-
}
|
|
115
106
|
.cw-pagination-jump-input{
|
|
116
107
|
width: 42px;
|
|
117
108
|
// height: 32px;
|
|
118
109
|
padding: 7px 9px;
|
|
110
|
+
margin: 0 8px;
|
|
119
111
|
background: @component-background;
|
|
120
112
|
border-radius: @border-radius-base;
|
|
121
113
|
border: @border-width-base @border-style-base @border-color-base;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
+
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."); }
|
|
3
|
+
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); }
|
|
4
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
5
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
6
|
+
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; }
|
|
7
|
+
import React, { Fragment, useMemo } from "react";
|
|
8
|
+
import DragList from "./DragList";
|
|
9
|
+
import { DndProvider } from "react-dnd";
|
|
10
|
+
import { HTML5Backend } from "react-dnd-html5-backend";
|
|
11
|
+
var Drag = function Drag(props) {
|
|
12
|
+
var checkValue = props.checkValue,
|
|
13
|
+
handleDelete = props.handleDelete,
|
|
14
|
+
handlePreviewList = props.handlePreviewList,
|
|
15
|
+
type = props.type,
|
|
16
|
+
render = props.render,
|
|
17
|
+
renderColumns = props.renderColumns,
|
|
18
|
+
dragList = props.dragList,
|
|
19
|
+
useDndProvider = props.useDndProvider;
|
|
20
|
+
var moveList = function moveList(dragIndex, hoverIndex) {
|
|
21
|
+
var tmp = checkValue[dragIndex]; //临时储存文件
|
|
22
|
+
checkValue.splice(dragIndex, 1); //移除拖拽项
|
|
23
|
+
checkValue.splice(hoverIndex, 0, tmp); //插入放置项
|
|
24
|
+
handlePreviewList(_toConsumableArray(checkValue)); //更新修改后的列表
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
var hasPrefixIcon = useMemo(function () {
|
|
28
|
+
var isLockSort = checkValue.filter(function (item) {
|
|
29
|
+
return item.disabled;
|
|
30
|
+
}).length;
|
|
31
|
+
return Boolean(isLockSort || dragList);
|
|
32
|
+
}, [checkValue, dragList]);
|
|
33
|
+
var renderList = function renderList(item, index) {
|
|
34
|
+
return /*#__PURE__*/React.createElement(DragList, {
|
|
35
|
+
key: item.key,
|
|
36
|
+
index: index,
|
|
37
|
+
listItem: item,
|
|
38
|
+
type: type,
|
|
39
|
+
renderColumns: renderColumns,
|
|
40
|
+
render: render,
|
|
41
|
+
handleDelete: handleDelete,
|
|
42
|
+
moveList: moveList,
|
|
43
|
+
dragList: dragList,
|
|
44
|
+
hasPrefixIcon: hasPrefixIcon
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
return /*#__PURE__*/React.createElement(Fragment, null, useDndProvider ? /*#__PURE__*/React.createElement(DndProvider, {
|
|
48
|
+
backend: HTML5Backend
|
|
49
|
+
}, checkValue.map(function (item, index) {
|
|
50
|
+
return renderList(item, index);
|
|
51
|
+
})) : checkValue.map(function (item, index) {
|
|
52
|
+
return renderList(item, index);
|
|
53
|
+
}));
|
|
54
|
+
};
|
|
55
|
+
export default Drag;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import _Icon from "@chaoswise/ui/lib/Antd/Icon";
|
|
2
|
+
import "@chaoswise/ui/lib/Tooltip/index.less";
|
|
3
|
+
import _Tooltip from "@chaoswise/ui/lib/Tooltip";
|
|
4
|
+
import _ConfigProvider from "@chaoswise/ui/lib/ConfigProvider";
|
|
5
|
+
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); }
|
|
6
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
7
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
8
|
+
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); }
|
|
9
|
+
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; }
|
|
10
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
11
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
+
import React, { Fragment, useRef } from "react";
|
|
13
|
+
import { useDrag, useDrop } from "react-dnd";
|
|
14
|
+
import classnames from "classnames";
|
|
15
|
+
import { getLocale } from "./locale";
|
|
16
|
+
import LockSvg from "./assets/LockSvg";
|
|
17
|
+
import DragSvg from "./assets/DragSvg";
|
|
18
|
+
var DragList = function DragList(_ref) {
|
|
19
|
+
var index = _ref.index,
|
|
20
|
+
listItem = _ref.listItem,
|
|
21
|
+
type = _ref.type,
|
|
22
|
+
renderColumns = _ref.renderColumns,
|
|
23
|
+
render = _ref.render,
|
|
24
|
+
handleDelete = _ref.handleDelete,
|
|
25
|
+
moveList = _ref.moveList,
|
|
26
|
+
dragList = _ref.dragList,
|
|
27
|
+
hasPrefixIcon = _ref.hasPrefixIcon;
|
|
28
|
+
var title = listItem.title,
|
|
29
|
+
disabled = listItem.disabled;
|
|
30
|
+
// 获取当前语言
|
|
31
|
+
var _ConfigProvider$useLo = _ConfigProvider.useLocale(),
|
|
32
|
+
_ConfigProvider$useLo2 = _ConfigProvider$useLo.locale,
|
|
33
|
+
locale = _ConfigProvider$useLo2 === void 0 ? "zh" : _ConfigProvider$useLo2;
|
|
34
|
+
var localeObj = getLocale(locale);
|
|
35
|
+
var dragRef = useRef(null);
|
|
36
|
+
var _useDrag = useDrag({
|
|
37
|
+
item: {
|
|
38
|
+
type: "transferDrag",
|
|
39
|
+
index: index
|
|
40
|
+
}
|
|
41
|
+
}),
|
|
42
|
+
_useDrag2 = _slicedToArray(_useDrag, 2),
|
|
43
|
+
drag = _useDrag2[1];
|
|
44
|
+
var _useDrop = useDrop({
|
|
45
|
+
accept: "transferDrag",
|
|
46
|
+
hover: function hover(item) {
|
|
47
|
+
//拖拽目标的Index
|
|
48
|
+
var dragIndex = item.index;
|
|
49
|
+
//放置目标Index
|
|
50
|
+
var hoverIndex = index;
|
|
51
|
+
// 如果拖拽目标和放置目标相同的话,停止执行
|
|
52
|
+
if (dragIndex === hoverIndex) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
moveList(dragIndex, hoverIndex); //调用方法完成交换
|
|
56
|
+
item.index = hoverIndex; //重新赋值index,否则会出现无限交换情况
|
|
57
|
+
}
|
|
58
|
+
}),
|
|
59
|
+
_useDrop2 = _slicedToArray(_useDrop, 2),
|
|
60
|
+
_ = _useDrop2[0],
|
|
61
|
+
drop = _useDrop2[1];
|
|
62
|
+
var renderTable = function renderTable(listItem) {
|
|
63
|
+
return /*#__PURE__*/React.createElement("div", null, renderColumns.map(function (item, index) {
|
|
64
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
65
|
+
style: {
|
|
66
|
+
marginRight: "8px"
|
|
67
|
+
},
|
|
68
|
+
key: index
|
|
69
|
+
}, render(listItem[item]));
|
|
70
|
+
}));
|
|
71
|
+
};
|
|
72
|
+
var renderPrefixIcon = /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
className: "cw-transfer-right-content-item-prefix-icon-wrapper"
|
|
74
|
+
}, disabled ? /*#__PURE__*/React.createElement(LockSvg, null) : /*#__PURE__*/React.createElement(_Tooltip, {
|
|
75
|
+
title: localeObj["dragAndDrop"]
|
|
76
|
+
}, /*#__PURE__*/React.createElement(DragSvg, null)));
|
|
77
|
+
var renderItemContent = /*#__PURE__*/React.createElement("div", {
|
|
78
|
+
className: "cw-transfer-right-content-item"
|
|
79
|
+
}, hasPrefixIcon && renderPrefixIcon, /*#__PURE__*/React.createElement("div", {
|
|
80
|
+
className: "cw-transfer-right-content-item-text-wrapper"
|
|
81
|
+
}, type === "table" ? renderTable(listItem) : render(title)), !disabled && /*#__PURE__*/React.createElement(_Icon, {
|
|
82
|
+
type: "close",
|
|
83
|
+
className: "cw-transfer-right-content-del",
|
|
84
|
+
onClick: function onClick() {
|
|
85
|
+
return handleDelete(listItem);
|
|
86
|
+
}
|
|
87
|
+
}));
|
|
88
|
+
var dragProps = dragList && !disabled ? {
|
|
89
|
+
ref: drag(drop(dragRef)),
|
|
90
|
+
style: {
|
|
91
|
+
cursor: "move"
|
|
92
|
+
}
|
|
93
|
+
} : {};
|
|
94
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", _extends({
|
|
95
|
+
className: classnames("cw-transfer-right-content-main")
|
|
96
|
+
}, dragProps), renderItemContent));
|
|
97
|
+
};
|
|
98
|
+
export default DragList;
|
|
@@ -1,47 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
-
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."); }
|
|
4
|
-
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); }
|
|
5
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
-
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; }
|
|
8
|
-
import React, { Fragment } from 'react';
|
|
1
|
+
import React, { Fragment, useMemo } from "react";
|
|
9
2
|
import NotDragList from "./NotDragList";
|
|
10
3
|
var NoDrag = function NoDrag(props) {
|
|
11
4
|
var checkValue = props.checkValue,
|
|
12
5
|
handleDelete = props.handleDelete,
|
|
13
|
-
handlePreviewList = props.handlePreviewList,
|
|
14
6
|
type = props.type,
|
|
15
7
|
render = props.render,
|
|
16
8
|
renderColumns = props.renderColumns,
|
|
17
|
-
dragList = props.dragList
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
var isLockSort = checkValue.filter(function (item) {
|
|
27
|
-
return item.disabled;
|
|
28
|
-
}).length;
|
|
9
|
+
dragList = props.dragList;
|
|
10
|
+
var hasPrefixIcon = useMemo(function () {
|
|
11
|
+
var isLockSort = checkValue.filter(function (item) {
|
|
12
|
+
return item.disabled;
|
|
13
|
+
}).length;
|
|
14
|
+
return Boolean(isLockSort);
|
|
15
|
+
}, [checkValue]);
|
|
29
16
|
var renderList = function renderList(item, index) {
|
|
30
|
-
return /*#__PURE__*/React.createElement(NotDragList,
|
|
31
|
-
|
|
17
|
+
return /*#__PURE__*/React.createElement(NotDragList, {
|
|
18
|
+
key: item.key,
|
|
19
|
+
index: index,
|
|
20
|
+
listItem: item,
|
|
32
21
|
type: type,
|
|
33
22
|
renderColumns: renderColumns,
|
|
34
|
-
label: item.key,
|
|
35
|
-
value: item.title && item.title,
|
|
36
|
-
index: index,
|
|
37
23
|
render: render,
|
|
38
|
-
key: item.key,
|
|
39
24
|
handleDelete: handleDelete,
|
|
40
|
-
moveList: moveList,
|
|
41
25
|
dragList: dragList,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}, item));
|
|
26
|
+
hasPrefixIcon: hasPrefixIcon
|
|
27
|
+
});
|
|
45
28
|
};
|
|
46
29
|
return /*#__PURE__*/React.createElement(Fragment, null, checkValue.map(function (item, index) {
|
|
47
30
|
return renderList(item, index);
|
|
@@ -1,80 +1,42 @@
|
|
|
1
1
|
import _Icon from "@chaoswise/ui/lib/Antd/Icon";
|
|
2
|
-
import "@chaoswise/ui/lib/Tooltip/index.less";
|
|
3
|
-
import _Tooltip from "@chaoswise/ui/lib/Tooltip";
|
|
4
|
-
import _ConfigProvider from "@chaoswise/ui/lib/ConfigProvider";
|
|
5
|
-
var _excluded = ["label", "value", "index", "handleDelete", "labelValue", "type", "renderColumns", "render", "dragList", "disabled", "isLockSort"];
|
|
6
|
-
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); }
|
|
7
|
-
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; }
|
|
8
|
-
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; }
|
|
9
2
|
import React, { Fragment } from "react";
|
|
10
3
|
import classnames from "classnames";
|
|
11
|
-
import { getLocale } from "./locale";
|
|
12
4
|
import LockSvg from "./assets/LockSvg";
|
|
13
|
-
import DragSvg from "./assets/DragSvg";
|
|
14
5
|
var NotDragList = function NotDragList(_ref) {
|
|
15
|
-
var
|
|
16
|
-
value = _ref.value,
|
|
17
|
-
index = _ref.index,
|
|
18
|
-
handleDelete = _ref.handleDelete,
|
|
19
|
-
labelValue = _ref.labelValue,
|
|
6
|
+
var listItem = _ref.listItem,
|
|
20
7
|
type = _ref.type,
|
|
21
8
|
renderColumns = _ref.renderColumns,
|
|
22
9
|
render = _ref.render,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var _ConfigProvider$useLo = _ConfigProvider.useLocale(),
|
|
29
|
-
_ConfigProvider$useLo2 = _ConfigProvider$useLo.locale,
|
|
30
|
-
locale = _ConfigProvider$useLo2 === void 0 ? "zh" : _ConfigProvider$useLo2;
|
|
31
|
-
var localeObj = getLocale(locale);
|
|
32
|
-
var handleDeleted = function handleDeleted(labelValue) {
|
|
33
|
-
handleDelete(labelValue);
|
|
34
|
-
};
|
|
35
|
-
var renderTable = function renderTable(labelValue) {
|
|
10
|
+
handleDelete = _ref.handleDelete,
|
|
11
|
+
hasPrefixIcon = _ref.hasPrefixIcon;
|
|
12
|
+
var title = listItem.title,
|
|
13
|
+
disabled = listItem.disabled;
|
|
14
|
+
var renderTable = function renderTable(listItem) {
|
|
36
15
|
return /*#__PURE__*/React.createElement("div", null, renderColumns.map(function (item, index) {
|
|
37
16
|
return /*#__PURE__*/React.createElement("span", {
|
|
38
17
|
style: {
|
|
39
18
|
marginRight: "8px"
|
|
40
19
|
},
|
|
41
20
|
key: index
|
|
42
|
-
}, render(
|
|
21
|
+
}, render(listItem[item]));
|
|
43
22
|
}));
|
|
44
23
|
};
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
} : {};
|
|
50
|
-
var lockSortContent = /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
var renderPrefixIcon = /*#__PURE__*/React.createElement("div", {
|
|
25
|
+
className: "cw-transfer-right-content-item-prefix-icon-wrapper"
|
|
26
|
+
}, disabled && /*#__PURE__*/React.createElement(LockSvg, null));
|
|
27
|
+
var renderItemContent = /*#__PURE__*/React.createElement("div", {
|
|
51
28
|
className: "cw-transfer-right-content-item"
|
|
52
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
53
|
-
className: "cw-transfer-right-content-item-drag-wrapper"
|
|
54
|
-
}, disabled ? /*#__PURE__*/React.createElement(LockSvg, null) : /*#__PURE__*/React.createElement(_Tooltip, {
|
|
55
|
-
title: localeObj["dragAndDrop"]
|
|
56
|
-
}, /*#__PURE__*/React.createElement(DragSvg, null))), /*#__PURE__*/React.createElement("div", {
|
|
29
|
+
}, hasPrefixIcon && renderPrefixIcon, /*#__PURE__*/React.createElement("div", {
|
|
57
30
|
className: "cw-transfer-right-content-item-text-wrapper"
|
|
58
|
-
}, type === "table" ? renderTable(
|
|
59
|
-
type: "close",
|
|
60
|
-
className: "cw-transfer-right-content-del",
|
|
61
|
-
onClick: function onClick() {
|
|
62
|
-
return handleDeleted(labelValue);
|
|
63
|
-
}
|
|
64
|
-
}));
|
|
65
|
-
var renderItemContent = isLockSort ? lockSortContent : /*#__PURE__*/React.createElement(Fragment, null, dragList && /*#__PURE__*/React.createElement(_Tooltip, {
|
|
66
|
-
title: localeObj["dragAndDrop"]
|
|
67
|
-
}, /*#__PURE__*/React.createElement(DragSvg, {
|
|
68
|
-
className: "cw-transfer-right-content-drag"
|
|
69
|
-
})), /*#__PURE__*/React.createElement("div", null, type === "table" ? renderTable(labelValue) : render(value)), /*#__PURE__*/React.createElement(_Icon, {
|
|
31
|
+
}, type === "table" ? renderTable(listItem) : render(title)), !disabled && /*#__PURE__*/React.createElement(_Icon, {
|
|
70
32
|
type: "close",
|
|
71
33
|
className: "cw-transfer-right-content-del",
|
|
72
34
|
onClick: function onClick() {
|
|
73
|
-
return
|
|
35
|
+
return handleDelete(listItem);
|
|
74
36
|
}
|
|
75
37
|
}));
|
|
76
|
-
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div",
|
|
38
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
77
39
|
className: classnames("cw-transfer-right-content-main")
|
|
78
|
-
},
|
|
40
|
+
}, renderItemContent));
|
|
79
41
|
};
|
|
80
42
|
export default NotDragList;
|
|
@@ -5,11 +5,11 @@ import "@chaoswise/ui/lib/CWTree/index.less";
|
|
|
5
5
|
import _CWTree from "@chaoswise/ui/lib/CWTree";
|
|
6
6
|
import "@chaoswise/ui/lib/CWTable/index.less";
|
|
7
7
|
import _CWTable from "@chaoswise/ui/lib/CWTable";
|
|
8
|
-
import "@chaoswise/ui/lib/TooltipText/index.less";
|
|
9
|
-
import _TooltipText from "@chaoswise/ui/lib/TooltipText";
|
|
10
8
|
import "@chaoswise/ui/lib/Checkbox/index.less";
|
|
11
9
|
import _Checkbox from "@chaoswise/ui/lib/Checkbox";
|
|
12
10
|
import _ConfigProvider from "@chaoswise/ui/lib/ConfigProvider";
|
|
11
|
+
import "@chaoswise/ui/lib/TooltipText/index.less";
|
|
12
|
+
import _TooltipText from "@chaoswise/ui/lib/TooltipText";
|
|
13
13
|
import "@chaoswise/ui/lib/Input/index.less";
|
|
14
14
|
import _Input from "@chaoswise/ui/lib/Input";
|
|
15
15
|
var _excluded = ["onChange", "showLeftSearch", "value"],
|
|
@@ -39,7 +39,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
39
39
|
import React, { useState, useEffect, Fragment, forwardRef, useMemo } from "react";
|
|
40
40
|
import { filterTreeByName, filterTree, filterTreeByNameTable, filterObj, getNotSelectKeys, getKeysAndTitle, getBottomKey, renderLeafNodetree, renderRelationNode, createTitle } from "./utils";
|
|
41
41
|
import classnames from "classnames";
|
|
42
|
-
import
|
|
42
|
+
import Drag from "./Drag";
|
|
43
43
|
import PropTypes from "prop-types";
|
|
44
44
|
import { getLocale } from "./locale";
|
|
45
45
|
import "./index.less";
|
|
@@ -72,7 +72,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
72
72
|
rightContentRender = props.rightContentRender,
|
|
73
73
|
_props$render = props.render,
|
|
74
74
|
render = _props$render === void 0 ? function (text) {
|
|
75
|
-
return /*#__PURE__*/React.createElement("span", null, text);
|
|
75
|
+
return /*#__PURE__*/React.createElement(_TooltipText, null, /*#__PURE__*/React.createElement("span", null, text));
|
|
76
76
|
} : _props$render,
|
|
77
77
|
_props$handlePreviewL = props.handlePreviewList,
|
|
78
78
|
_handlePreviewList = _props$handlePreviewL === void 0 ? function () {} : _props$handlePreviewL,
|
|
@@ -295,12 +295,22 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
295
295
|
getTargetKeys(checkedKeys);
|
|
296
296
|
}
|
|
297
297
|
}, [checkedKeys]);
|
|
298
|
+
var isMath = function isMath(title, searchValue) {
|
|
299
|
+
if (!searchValue) {
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
if (typeof title === 'string' && typeof searchValue === 'string') {
|
|
303
|
+
return title.toLowerCase().indexOf(searchValue.toLowerCase()) > -1;
|
|
304
|
+
}
|
|
305
|
+
return false;
|
|
306
|
+
};
|
|
307
|
+
|
|
298
308
|
// 内置的右侧搜索框内容改变触发搜索
|
|
299
309
|
var handleRightSearch = function handleRightSearch(searchValue) {
|
|
300
310
|
var newCheckedValue = [];
|
|
301
311
|
if (type === "list") {
|
|
302
312
|
checkValue.forEach(function (item, index) {
|
|
303
|
-
if (item.title
|
|
313
|
+
if (isMath(item.title, searchValue)) {
|
|
304
314
|
newCheckedValue.push(checkValue[index]);
|
|
305
315
|
}
|
|
306
316
|
});
|
|
@@ -332,7 +342,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
332
342
|
var listCheckedKeys_ = [];
|
|
333
343
|
if (type === "list") {
|
|
334
344
|
dataSource.forEach(function (item, index) {
|
|
335
|
-
if (item.title
|
|
345
|
+
if (isMath(item.title, searchValue)) {
|
|
336
346
|
newData.push(dataSource[index]);
|
|
337
347
|
}
|
|
338
348
|
});
|
|
@@ -434,7 +444,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
434
444
|
var newCheckedValue = [];
|
|
435
445
|
var newCheckedKey = [];
|
|
436
446
|
newCheckedValue = checkValue.filter(function (i) {
|
|
437
|
-
return !Boolean(
|
|
447
|
+
return !Boolean(handleRightSearch(saveSearchValueRight).find(function (item) {
|
|
438
448
|
return item.key == i.key && !item.disabled;
|
|
439
449
|
}));
|
|
440
450
|
});
|
|
@@ -635,6 +645,22 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
635
645
|
};
|
|
636
646
|
var allSelectedText = "".concat(localeObj.checkAll, "\uFF08").concat(listCheckedKeys.length, "\uFF09");
|
|
637
647
|
// 根据不同的type渲染不同的列表类型,目前支持list tree table
|
|
648
|
+
|
|
649
|
+
var getFinalTitle = function getFinalTitle(title) {
|
|
650
|
+
if (typeof title === 'string') {
|
|
651
|
+
var _createTitle = createTitle(caseSensitive, saveSearchValueLeft, title),
|
|
652
|
+
index = _createTitle.index,
|
|
653
|
+
beforeTitle = _createTitle.beforeTitle,
|
|
654
|
+
afterTitle = _createTitle.afterTitle,
|
|
655
|
+
searchStr = _createTitle.searchStr;
|
|
656
|
+
return /*#__PURE__*/React.createElement("span", null, index > -1 ? /*#__PURE__*/React.createElement(React.Fragment, null, beforeTitle, /*#__PURE__*/React.createElement("span", {
|
|
657
|
+
style: {
|
|
658
|
+
color: "#F5222D"
|
|
659
|
+
}
|
|
660
|
+
}, searchStr), afterTitle) : value.title);
|
|
661
|
+
}
|
|
662
|
+
return title;
|
|
663
|
+
};
|
|
638
664
|
var transferContent = function transferContent(data) {
|
|
639
665
|
if (type === "list") {
|
|
640
666
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -644,11 +670,6 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
644
670
|
onChange: onCheckAllChange,
|
|
645
671
|
checked: checkAll
|
|
646
672
|
}, allSelectedTextRender ? allSelectedTextRender(listCheckedKeys, data) : allSelectedText), data.map(function (value) {
|
|
647
|
-
var _createTitle = createTitle(caseSensitive, saveSearchValueLeft, value.title),
|
|
648
|
-
index = _createTitle.index,
|
|
649
|
-
beforeTitle = _createTitle.beforeTitle,
|
|
650
|
-
afterTitle = _createTitle.afterTitle,
|
|
651
|
-
searchStr = _createTitle.searchStr;
|
|
652
673
|
return /*#__PURE__*/React.createElement(_Checkbox, {
|
|
653
674
|
key: value.key,
|
|
654
675
|
checked: listCheckedKeys.includes(value.key),
|
|
@@ -659,11 +680,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
659
680
|
}, /*#__PURE__*/React.createElement(_TooltipText, {
|
|
660
681
|
title: value.title,
|
|
661
682
|
placement: 'topLeft'
|
|
662
|
-
},
|
|
663
|
-
style: {
|
|
664
|
-
color: "#F5222D"
|
|
665
|
-
}
|
|
666
|
-
}, searchStr), afterTitle) : value.title)));
|
|
683
|
+
}, getFinalTitle(value.title)));
|
|
667
684
|
}));
|
|
668
685
|
}
|
|
669
686
|
if (type === "table") {
|
|
@@ -692,16 +709,18 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
692
709
|
}, treeRest));
|
|
693
710
|
}
|
|
694
711
|
};
|
|
712
|
+
// todo - react-dnd:DndProvider的问题拖拽和非拖拽需要分开写
|
|
695
713
|
var renderRightList = searchCheckedValue.length === 0 ? /*#__PURE__*/React.createElement(_Empty, {
|
|
696
714
|
description: localeObj["pleaseSelectFromLeft"]
|
|
697
|
-
}) :
|
|
715
|
+
}) : dragList ? /*#__PURE__*/React.createElement(Drag, {
|
|
698
716
|
checkValue: searchCheckedValue,
|
|
699
717
|
handleDelete: handleDelete,
|
|
700
718
|
type: type,
|
|
701
719
|
render: render,
|
|
702
720
|
renderColumns: renderColumns ? renderColumns : newRenderColumns,
|
|
703
721
|
dragList: dragList,
|
|
704
|
-
handlePreviewList: handlePreviewList
|
|
722
|
+
handlePreviewList: handlePreviewList,
|
|
723
|
+
useDndProvider: useDndProvider
|
|
705
724
|
}) : /*#__PURE__*/React.createElement(NoDrag, {
|
|
706
725
|
checkValue: searchCheckedValue,
|
|
707
726
|
handleDelete: handleDelete,
|
|
@@ -709,7 +728,8 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
709
728
|
render: render,
|
|
710
729
|
renderColumns: renderColumns ? renderColumns : newRenderColumns,
|
|
711
730
|
dragList: dragList,
|
|
712
|
-
handlePreviewList: handlePreviewList
|
|
731
|
+
handlePreviewList: handlePreviewList,
|
|
732
|
+
useDndProvider: useDndProvider
|
|
713
733
|
});
|
|
714
734
|
return /*#__PURE__*/React.createElement("div", {
|
|
715
735
|
className: classnames("cw-transfer-main", {
|
|
@@ -768,11 +788,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
768
788
|
});
|
|
769
789
|
QuickTransfer.propTypes = {
|
|
770
790
|
/**
|
|
771
|
-
*
|
|
772
|
-
*/
|
|
773
|
-
showSearch: PropTypes.bool,
|
|
774
|
-
/**
|
|
775
|
-
* showSearch开启后搜索框的props属性,指出antd的Input.Search所有属性
|
|
791
|
+
* 搜索框的props属性,指出antd的Input.Search所有属性
|
|
776
792
|
*/
|
|
777
793
|
searchProps: PropTypes.object,
|
|
778
794
|
/**
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
align-items: center;
|
|
181
181
|
width: 100%;
|
|
182
182
|
|
|
183
|
-
.cw-transfer-right-content-item-
|
|
183
|
+
.cw-transfer-right-content-item-prefix-icon-wrapper {
|
|
184
184
|
display: flex;
|
|
185
185
|
justify-content: center;
|
|
186
186
|
align-items: center;
|
|
@@ -191,6 +191,7 @@
|
|
|
191
191
|
|
|
192
192
|
.cw-transfer-right-content-item-text-wrapper {
|
|
193
193
|
flex: 1;
|
|
194
|
+
width: 0;
|
|
194
195
|
}
|
|
195
196
|
}
|
|
196
197
|
}
|
|
@@ -67,8 +67,14 @@ export var KMPMatch = function KMPMatch(str, pattern) {
|
|
|
67
67
|
return -1;
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
|
+
var getFinalStr = function getFinalStr(con) {
|
|
71
|
+
if (typeof con === "string") {
|
|
72
|
+
return con.toLowerCase();
|
|
73
|
+
}
|
|
74
|
+
return con;
|
|
75
|
+
};
|
|
70
76
|
export var createTitle = function createTitle(caseSensitive, searchValue, title) {
|
|
71
|
-
var index = caseSensitive ? KMPMatch(title, searchValue) : KMPMatch(title
|
|
77
|
+
var index = caseSensitive ? KMPMatch(title, searchValue) : KMPMatch(getFinalStr(title), getFinalStr(searchValue));
|
|
72
78
|
var beforeTitle = title.substr(0, index);
|
|
73
79
|
var searchStr = title.substr(index, searchValue.length);
|
|
74
80
|
var afterTitle = title.substr(index + searchValue.length);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chaoswise/ui",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.11",
|
|
4
4
|
"description": "公共UI库",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui",
|
|
@@ -140,5 +140,5 @@
|
|
|
140
140
|
"access": "public"
|
|
141
141
|
},
|
|
142
142
|
"license": "MIT",
|
|
143
|
-
"gitHead": "
|
|
143
|
+
"gitHead": "b43201bccc63f00e99a7144afec62280ec3465fc"
|
|
144
144
|
}
|