@chaoswise/ui 2.3.8 → 2.3.9

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, {
@@ -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
  /**
@@ -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,重新搜索之后会改变
@@ -468,7 +470,8 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
468
470
  var _e$node$props = e.node.props,
469
471
  eventKey = _e$node$props.eventKey,
470
472
  children = _e$node$props.children,
471
- originTitle = _e$node$props.originTitle;
473
+ originTitle = _e$node$props.originTitle,
474
+ record = _e$node$props.record;
472
475
  //当前选中的节点和传到右侧列表的的value
473
476
  var newCheckKey = [eventKey];
474
477
  var newCheckValue = [{
@@ -532,10 +535,7 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
532
535
  } else if (!children) {
533
536
  //当前是叶子节点
534
537
  setCheckedKeys([].concat(_toConsumableArray(checkedKeys), [eventKey]));
535
- setCheckValue([].concat(_toConsumableArray(checkValue), [{
536
- key: eventKey,
537
- title: originTitle
538
- }]));
538
+ setCheckValue([].concat(_toConsumableArray(checkValue), [record]));
539
539
  }
540
540
  } else {
541
541
  //取消选中的情况
@@ -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.9",
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": "c591ca92a71137b79ee7cc6fca301705dac1b3a5"
144
144
  }