@chaoswise/ui 2.3.7 → 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.
@@ -146,7 +146,7 @@ var Refresh = /*#__PURE__*/forwardRef(function (props, ref) {
146
146
  title: localeObj["refresh"]
147
147
  }, /*#__PURE__*/React.createElement(_Button, {
148
148
  onClick: onRefresh,
149
- disabled: isDisabledRefresh || !enableAutoRefresh
149
+ disabled: isDisabledRefresh
150
150
  }, /*#__PURE__*/React.createElement(Refresh1Svg, null))), showAutoRefresh && /*#__PURE__*/React.createElement(_Tooltip, {
151
151
  title: localeObj["autoRefresh"]
152
152
  }, /*#__PURE__*/React.createElement(_Button, {
@@ -33,7 +33,8 @@ import classnames from "classnames";
33
33
  import DragSvg from "./assets/Drag";
34
34
  import { getLocale } from "./locale";
35
35
  import "./index.less";
36
- import { createTitle } from "../QuickTransfer/utils";
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;
@@ -116,34 +117,7 @@ function CWTree(_ref) {
116
117
  });
117
118
  }
118
119
  var _treeData = useMemo(function () {
119
- var addRootTreeData = addRoot(treeData, "/");
120
- if (!searchHighlight) return addRootTreeData;
121
- var loop = function loop(treeData) {
122
- return treeData.map(function (item) {
123
- var index = 0;
124
- if (typeof item.title === "string") {
125
- index = caseSensitive ? item.title.indexOf(searchValue) : item.title.toLowerCase().indexOf(searchValue.toLowerCase());
126
- }
127
- if (item.children && item.children.length > 0) {
128
- var _children = loop(item.children);
129
- return _objectSpread(_objectSpread({}, item), {}, {
130
- title: index > -1 || _children.length ? item.title : null,
131
- children: _children !== null && _children !== void 0 && _children.length ? _children : undefined
132
- });
133
- }
134
- return index > -1 ? _objectSpread({}, item) : _objectSpread(_objectSpread({}, item), {}, {
135
- title: null
136
- });
137
- }).filter(function (item) {
138
- return !!item.title;
139
- });
140
- };
141
- addRootTreeData = loop(addRootTreeData);
142
- return rest.checkable ? treeData.filter(function (i) {
143
- return addRootTreeData.find(function (item) {
144
- return item.key === i.key;
145
- });
146
- }) : addRootTreeData;
120
+ return createTree(treeData, searchValue, caseSensitive, rest.checkable);
147
121
  }, [searchHighlight, treeData, searchValue, rest.checkable, caseSensitive]);
148
122
  function buildMenu(array) {
149
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,重新搜索之后会改变
@@ -344,10 +346,10 @@ var QuickTransfer = /*#__PURE__*/forwardRef(function (props, ref) {
344
346
  setData(newData);
345
347
  setListCheckedStyle(listCheckedKeys_, newData);
346
348
  }
347
- if (type === "tree") {
348
- newData = filterTree(dataSource, searchValue);
349
- setData(newData);
350
- }
349
+ // if (type === "tree") {
350
+ // newData = filterTree(dataSource, searchValue);
351
+ // setData(newData);
352
+ // }
351
353
  if (type === "table") {
352
354
  newData = filterTreeByNameTable(dataSource, searchValue, searchColumns ? searchColumns : newSearchColumns);
353
355
  setData(newData);
@@ -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.7",
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": "a0fef817d7c147bd1f568fdddfccb2da6df5b784"
143
+ "gitHead": "c591ca92a71137b79ee7cc6fca301705dac1b3a5"
144
144
  }