@chaoswise/ui 2.3.10 → 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 -59
- package/lib/QuickTransfer/index.js +40 -30
- package/lib/QuickTransfer/index.less +1 -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,85 +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", {
|
|
70
|
-
style: {
|
|
71
|
-
flex: 1,
|
|
72
|
-
width: 0
|
|
73
|
-
}
|
|
74
|
-
}, type === "table" ? renderTable(labelValue) : render(value)), /*#__PURE__*/React.createElement(_Icon, {
|
|
31
|
+
}, type === "table" ? renderTable(listItem) : render(title)), !disabled && /*#__PURE__*/React.createElement(_Icon, {
|
|
75
32
|
type: "close",
|
|
76
33
|
className: "cw-transfer-right-content-del",
|
|
77
34
|
onClick: function onClick() {
|
|
78
|
-
return
|
|
35
|
+
return handleDelete(listItem);
|
|
79
36
|
}
|
|
80
37
|
}));
|
|
81
|
-
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div",
|
|
38
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
82
39
|
className: classnames("cw-transfer-right-content-main")
|
|
83
|
-
},
|
|
40
|
+
}, renderItemContent));
|
|
84
41
|
};
|
|
85
42
|
export default NotDragList;
|
|
@@ -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";
|
|
@@ -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
|
});
|
|
@@ -433,16 +443,10 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
433
443
|
var clearAll = function clearAll() {
|
|
434
444
|
var newCheckedValue = [];
|
|
435
445
|
var newCheckedKey = [];
|
|
436
|
-
var disabledKeys = searchCheckedValue.filter(function (item) {
|
|
437
|
-
return item.disabled;
|
|
438
|
-
}).map(function (item) {
|
|
439
|
-
return item.key;
|
|
440
|
-
});
|
|
441
446
|
newCheckedValue = checkValue.filter(function (i) {
|
|
442
|
-
|
|
443
|
-
return
|
|
444
|
-
}
|
|
445
|
-
return false;
|
|
447
|
+
return !Boolean(handleRightSearch(saveSearchValueRight).find(function (item) {
|
|
448
|
+
return item.key == i.key && !item.disabled;
|
|
449
|
+
}));
|
|
446
450
|
});
|
|
447
451
|
newCheckedKey = newCheckedValue.map(function (item) {
|
|
448
452
|
return item.key;
|
|
@@ -641,6 +645,22 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
641
645
|
};
|
|
642
646
|
var allSelectedText = "".concat(localeObj.checkAll, "\uFF08").concat(listCheckedKeys.length, "\uFF09");
|
|
643
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
|
+
};
|
|
644
664
|
var transferContent = function transferContent(data) {
|
|
645
665
|
if (type === "list") {
|
|
646
666
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -650,11 +670,6 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
650
670
|
onChange: onCheckAllChange,
|
|
651
671
|
checked: checkAll
|
|
652
672
|
}, allSelectedTextRender ? allSelectedTextRender(listCheckedKeys, data) : allSelectedText), data.map(function (value) {
|
|
653
|
-
var _createTitle = createTitle(caseSensitive, saveSearchValueLeft, value.title),
|
|
654
|
-
index = _createTitle.index,
|
|
655
|
-
beforeTitle = _createTitle.beforeTitle,
|
|
656
|
-
afterTitle = _createTitle.afterTitle,
|
|
657
|
-
searchStr = _createTitle.searchStr;
|
|
658
673
|
return /*#__PURE__*/React.createElement(_Checkbox, {
|
|
659
674
|
key: value.key,
|
|
660
675
|
checked: listCheckedKeys.includes(value.key),
|
|
@@ -665,11 +680,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
665
680
|
}, /*#__PURE__*/React.createElement(_TooltipText, {
|
|
666
681
|
title: value.title,
|
|
667
682
|
placement: 'topLeft'
|
|
668
|
-
},
|
|
669
|
-
style: {
|
|
670
|
-
color: "#F5222D"
|
|
671
|
-
}
|
|
672
|
-
}, searchStr), afterTitle) : value.title)));
|
|
683
|
+
}, getFinalTitle(value.title)));
|
|
673
684
|
}));
|
|
674
685
|
}
|
|
675
686
|
if (type === "table") {
|
|
@@ -698,16 +709,18 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
698
709
|
}, treeRest));
|
|
699
710
|
}
|
|
700
711
|
};
|
|
712
|
+
// todo - react-dnd:DndProvider的问题拖拽和非拖拽需要分开写
|
|
701
713
|
var renderRightList = searchCheckedValue.length === 0 ? /*#__PURE__*/React.createElement(_Empty, {
|
|
702
714
|
description: localeObj["pleaseSelectFromLeft"]
|
|
703
|
-
}) :
|
|
715
|
+
}) : dragList ? /*#__PURE__*/React.createElement(Drag, {
|
|
704
716
|
checkValue: searchCheckedValue,
|
|
705
717
|
handleDelete: handleDelete,
|
|
706
718
|
type: type,
|
|
707
719
|
render: render,
|
|
708
720
|
renderColumns: renderColumns ? renderColumns : newRenderColumns,
|
|
709
721
|
dragList: dragList,
|
|
710
|
-
handlePreviewList: handlePreviewList
|
|
722
|
+
handlePreviewList: handlePreviewList,
|
|
723
|
+
useDndProvider: useDndProvider
|
|
711
724
|
}) : /*#__PURE__*/React.createElement(NoDrag, {
|
|
712
725
|
checkValue: searchCheckedValue,
|
|
713
726
|
handleDelete: handleDelete,
|
|
@@ -715,7 +728,8 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
715
728
|
render: render,
|
|
716
729
|
renderColumns: renderColumns ? renderColumns : newRenderColumns,
|
|
717
730
|
dragList: dragList,
|
|
718
|
-
handlePreviewList: handlePreviewList
|
|
731
|
+
handlePreviewList: handlePreviewList,
|
|
732
|
+
useDndProvider: useDndProvider
|
|
719
733
|
});
|
|
720
734
|
return /*#__PURE__*/React.createElement("div", {
|
|
721
735
|
className: classnames("cw-transfer-main", {
|
|
@@ -774,11 +788,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
774
788
|
});
|
|
775
789
|
QuickTransfer.propTypes = {
|
|
776
790
|
/**
|
|
777
|
-
*
|
|
778
|
-
*/
|
|
779
|
-
showSearch: PropTypes.bool,
|
|
780
|
-
/**
|
|
781
|
-
* showSearch开启后搜索框的props属性,指出antd的Input.Search所有属性
|
|
791
|
+
* 搜索框的props属性,指出antd的Input.Search所有属性
|
|
782
792
|
*/
|
|
783
793
|
searchProps: PropTypes.object,
|
|
784
794
|
/**
|
|
@@ -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
|
}
|