@chaoswise/ui 2.3.8 → 2.3.10

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.
@@ -34,6 +34,7 @@ import DragSvg from "./assets/Drag";
34
34
  import { getLocale } from "./locale";
35
35
  import "./index.less";
36
36
  import { createTitle, KMPMatch } from "../QuickTransfer/utils";
37
+ import { createTree } from "./utils";
37
38
  var TreeNode = _Tree.TreeNode,
38
39
  DirectoryTree = _Tree.DirectoryTree;
39
40
  var SubMenu = _Menu.SubMenu;
@@ -115,40 +116,8 @@ function CWTree(_ref) {
115
116
  });
116
117
  });
117
118
  }
118
- var createTree = function createTree(list, searchValue, caseSensitive, isAppend) {
119
- return list.reduce(function (t, c) {
120
- var children = c.children,
121
- title = c.title;
122
- var isHit = KMPMatch(caseSensitive ? title.toLowerCase() : title, caseSensitive ? searchValue.toLowerCase() : searchValue) > -1;
123
- if (children && children.length) {
124
- var res = createTree(children, searchValue, caseSensitive, isAppend);
125
- if (isHit) {
126
- if (res.length > 0) {
127
- return t.concat(_objectSpread(_objectSpread({}, c), {}, {
128
- children: res
129
- }));
130
- } else {
131
- return isAppend ? t.concat(_objectSpread({}, c)) : t.concat(_objectSpread(_objectSpread({}, c), {}, {
132
- children: undefined
133
- }));
134
- }
135
- } else {
136
- if (res.length > 0) {
137
- return t.concat(_objectSpread(_objectSpread({}, c), {}, {
138
- children: res
139
- }));
140
- } else {
141
- return t;
142
- }
143
- }
144
- }
145
- return isHit ? t.concat(c) : t;
146
- }, []);
147
- };
148
119
  var _treeData = useMemo(function () {
149
- var addRootTreeData = addRoot(treeData, "/");
150
- if (!searchHighlight) return addRootTreeData;
151
- return createTree(addRootTreeData, searchValue, caseSensitive, rest.checkable);
120
+ return createTree(treeData, searchValue, caseSensitive, rest.checkable);
152
121
  }, [searchHighlight, treeData, searchValue, rest.checkable, caseSensitive]);
153
122
  function buildMenu(array) {
154
123
  // 递归构建菜单解构
@@ -0,0 +1,48 @@
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
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
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
+ import { KMPMatch } from "../../QuickTransfer/utils";
8
+ import isUndefined from "lodash-es/isUndefined";
9
+ export var createTree = function createTree(list, searchValue, caseSensitive, isAppend) {
10
+ return list.reduce(function (t, c) {
11
+ var children = c.children,
12
+ title = c.title,
13
+ isLeaf = c.isLeaf;
14
+ var finalTitle = caseSensitive ? title : title.toLowerCase();
15
+ var finalSearchValue = caseSensitive ? searchValue : searchValue.toLowerCase();
16
+ var isHit = KMPMatch(finalTitle, finalSearchValue) > -1;
17
+ var leafNode = isUndefined(isLeaf) ? !Boolean(Array.isArray(children)) : isLeaf;
18
+ if (children && children.length) {
19
+ var res = createTree(children, searchValue, caseSensitive, isAppend);
20
+ if (isHit) {
21
+ if (res.length > 0) {
22
+ return t.concat(_objectSpread(_objectSpread({}, c), {}, {
23
+ children: res
24
+ }));
25
+ } else {
26
+ return isAppend ? t.concat(_objectSpread(_objectSpread({}, c), {}, {
27
+ isLeaf: leafNode
28
+ })) : t.concat(_objectSpread(_objectSpread({}, c), {}, {
29
+ isLeaf: leafNode,
30
+ children: undefined
31
+ }));
32
+ }
33
+ } else {
34
+ if (res.length > 0) {
35
+ return t.concat(_objectSpread(_objectSpread({}, c), {}, {
36
+ isLeaf: leafNode,
37
+ children: res
38
+ }));
39
+ } else {
40
+ return t;
41
+ }
42
+ }
43
+ }
44
+ return isHit ? t.concat(_objectSpread(_objectSpread({}, c), {}, {
45
+ isLeaf: leafNode
46
+ })) : t;
47
+ }, []);
48
+ };
@@ -39,7 +39,8 @@ var FormItem = function FormItem(_ref) {
39
39
  }, labelCol),
40
40
  wrapperCol: _objectSpread({
41
41
  style: {
42
- flex: 1
42
+ flex: 1,
43
+ width: 0 // csshack修复flex:1分摊剩余空间有问题
43
44
  }
44
45
  }, wrapperCol),
45
46
  label: !label && label !== '' && !showLabelWidth ? label : /*#__PURE__*/React.createElement(_Tooltip, {
@@ -66,7 +66,12 @@ var NotDragList = function NotDragList(_ref) {
66
66
  title: localeObj["dragAndDrop"]
67
67
  }, /*#__PURE__*/React.createElement(DragSvg, {
68
68
  className: "cw-transfer-right-content-drag"
69
- })), /*#__PURE__*/React.createElement("div", null, type === "table" ? renderTable(labelValue) : render(value)), /*#__PURE__*/React.createElement(_Icon, {
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, {
70
75
  type: "close",
71
76
  className: "cw-transfer-right-content-del",
72
77
  onClick: function onClick() {
@@ -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"],
@@ -45,6 +45,7 @@ import { getLocale } from "./locale";
45
45
  import "./index.less";
46
46
  import { isEqual } from "@chaoswise/utils";
47
47
  import NoDrag from "./NoDrag";
48
+ import { createTree } from "../CWTree/utils";
48
49
  var Search = _Input.Search;
49
50
 
50
51
  /**
@@ -71,7 +72,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
71
72
  rightContentRender = props.rightContentRender,
72
73
  _props$render = props.render,
73
74
  render = _props$render === void 0 ? function (text) {
74
- return /*#__PURE__*/React.createElement("span", null, text);
75
+ return /*#__PURE__*/React.createElement(_TooltipText, null, /*#__PURE__*/React.createElement("span", null, text));
75
76
  } : _props$render,
76
77
  _props$handlePreviewL = props.handlePreviewList,
77
78
  _handlePreviewList = _props$handlePreviewL === void 0 ? function () {} : _props$handlePreviewL,
@@ -164,7 +165,6 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
164
165
  _useState6 = _slicedToArray(_useState5, 2),
165
166
  checkedKeys = _useState6[0],
166
167
  setCheckedKeys = _useState6[1];
167
-
168
168
  // 列表左侧判断全选状态实际选中的key,重新搜索之后会改变
169
169
  var _useState7 = useState([]),
170
170
  _useState8 = _slicedToArray(_useState7, 2),
@@ -270,7 +270,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
270
270
  if (type === "tree") {
271
271
  //根据父子节点不同的关联关系设置右侧的列表
272
272
  if (treeSelect === "leafNode") {
273
- setCheckValue(renderLeafNodetree(targetKeys, dataSource));
273
+ setCheckValue(renderLeafNodetree(targetKeys, createTree(renderTreeData(dataSource), '', undefined, undefined)));
274
274
  } else {
275
275
  setCheckValue(renderRelationNode(targetKeys, dataSource));
276
276
  }
@@ -314,8 +314,10 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
314
314
  return newCheckedValue;
315
315
  };
316
316
  var searchCheckedValue = useMemo(function () {
317
- return handleRightSearch(saveSearchValueRight);
318
- }, [checkValue, saveSearchValueRight]);
317
+ return type === "tree" ? handleRightSearch(saveSearchValueRight).filter(function (i) {
318
+ return Boolean(i.isLeaf);
319
+ }) : handleRightSearch(saveSearchValueRight);
320
+ }, [checkValue, saveSearchValueRight, type]);
319
321
  // type为list下全选框按钮的样式统一处理
320
322
  var setListCheckedStyle = function setListCheckedStyle(listCheckedKeys, dataSource) {
321
323
  // 设置列表左侧判断全选状态实际选中的key,重新搜索之后会改变
@@ -431,10 +433,16 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
431
433
  var clearAll = function clearAll() {
432
434
  var newCheckedValue = [];
433
435
  var newCheckedKey = [];
436
+ var disabledKeys = searchCheckedValue.filter(function (item) {
437
+ return item.disabled;
438
+ }).map(function (item) {
439
+ return item.key;
440
+ });
434
441
  newCheckedValue = checkValue.filter(function (i) {
435
- return !Boolean(searchCheckedValue.find(function (item) {
436
- return item.key == i.key && !item.disabled;
437
- }));
442
+ if (disabledKeys.includes(i.key)) {
443
+ return true;
444
+ }
445
+ return false;
438
446
  });
439
447
  newCheckedKey = newCheckedValue.map(function (item) {
440
448
  return item.key;
@@ -468,7 +476,8 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
468
476
  var _e$node$props = e.node.props,
469
477
  eventKey = _e$node$props.eventKey,
470
478
  children = _e$node$props.children,
471
- originTitle = _e$node$props.originTitle;
479
+ originTitle = _e$node$props.originTitle,
480
+ record = _e$node$props.record;
472
481
  //当前选中的节点和传到右侧列表的的value
473
482
  var newCheckKey = [eventKey];
474
483
  var newCheckValue = [{
@@ -532,10 +541,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
532
541
  } else if (!children) {
533
542
  //当前是叶子节点
534
543
  setCheckedKeys([].concat(_toConsumableArray(checkedKeys), [eventKey]));
535
- setCheckValue([].concat(_toConsumableArray(checkValue), [{
536
- key: eventKey,
537
- title: originTitle
538
- }]));
544
+ setCheckValue([].concat(_toConsumableArray(checkValue), [record]));
539
545
  }
540
546
  } else {
541
547
  //取消选中的情况
@@ -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
  }
@@ -220,32 +220,44 @@ export var getBottomKey = function getBottomKey(arr) {
220
220
  return keys;
221
221
  };
222
222
  export var renderLeafNodetree = function renderLeafNodetree(targetKeys, dataSource) {
223
- var newArr = [];
224
- var finalCheckValue = [];
225
- dataSource.map(function (item) {
226
- if (item.children) {
227
- newArr = newArr.concat(renderLeafNodetree(targetKeys, item.children));
228
- } else {
229
- newArr.push({
230
- key: item.key,
231
- title: item.title,
232
- disabled: item.disabled
233
- });
234
- }
235
- });
236
- targetKeys.forEach(function (item) {
237
- var findValue = newArr.find(function (i) {
238
- return i.key == item;
239
- });
240
- findValue && finalCheckValue.push(findValue);
241
- });
242
- finalCheckValue = finalCheckValue.filter(function (i) {
243
- return i.disabled;
244
- }).concat(finalCheckValue.filter(function (i) {
245
- return !i.disabled;
246
- }));
223
+ // let newArr = []
224
+ // let finalCheckValue = [];
225
+ // dataSource.map(item => {
226
+ // if (item.children) {
227
+ // newArr = newArr.concat(renderLeafNodetree(targetKeys, item.children))
228
+ // } else {
229
+ // newArr.push({
230
+ // key: item.key,
231
+ // title: item.title,
232
+ // disabled: item.disabled
233
+ // })
234
+ // }
235
+ // })
236
+ // targetKeys.forEach(item => {
237
+ // let findValue = newArr.find(i => i.key == item);
238
+ // findValue && finalCheckValue.push(findValue);
239
+ // })
240
+ // finalCheckValue = finalCheckValue.filter(i => i.disabled).concat(finalCheckValue.filter(i => !i.disabled));
247
241
  // return newArr.filter(item=>targetKeys.includes(item.key))
248
- return finalCheckValue;
242
+ // return finalCheckValue
243
+ var flatDataSource = function flatDataSource(list) {
244
+ return list.reduce(function (t, c) {
245
+ var children = c.children;
246
+ if (Array.isArray(children) && children.length > 0) {
247
+ return [].concat(_toConsumableArray(t), [c], _toConsumableArray(flatDataSource(children)));
248
+ } else {
249
+ return t.concat(c);
250
+ }
251
+ }, []);
252
+ };
253
+ var data = flatDataSource(dataSource);
254
+ return targetKeys.reduce(function (t, c) {
255
+ var item = data.find(function (d) {
256
+ return d.key === c;
257
+ });
258
+ var disabled = item.disabled;
259
+ return disabled ? [item].concat(_toConsumableArray(t)) : [].concat(_toConsumableArray(t), [item]);
260
+ }, []);
249
261
  };
250
262
  //将树和表格扁平化,通用方法
251
263
  export var renderRelationNode = function renderRelationNode(targetKeys, dataSource) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chaoswise/ui",
3
- "version": "2.3.8",
3
+ "version": "2.3.10",
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": "5c3d424c7a7595e63664d10264230b8b3132e023"
143
+ "gitHead": "08c3f2cabbbf26304f03b36797f1dccd60fc8647"
144
144
  }