@sheinx/hooks 3.6.0-beta.2 → 3.6.0-beta.4
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/common/use-filter/use-filter.d.ts.map +1 -1
- package/cjs/components/use-cascader/use-cascader.d.ts.map +1 -1
- package/cjs/components/use-cascader/use-cascader.type.d.ts +2 -1
- package/cjs/components/use-cascader/use-cascader.type.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.d.ts +2 -2
- package/cjs/components/use-form/use-form.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.js +46 -8
- package/cjs/components/use-form/use-form.type.d.ts +3 -1
- package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.d.ts.map +1 -1
- package/cjs/components/use-input/use-input-format.js +12 -4
- package/cjs/components/use-table/use-table-sort.d.ts +5 -0
- package/cjs/components/use-table/use-table-sort.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-sort.js +5 -1
- package/cjs/components/use-table/use-table-tree.d.ts +13 -0
- package/cjs/components/use-table/use-table-tree.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-tree.js +68 -1
- package/cjs/components/use-table/use-table-virtual.js +3 -3
- package/cjs/components/use-tree/index.d.ts +2 -1
- package/cjs/components/use-tree/index.d.ts.map +1 -1
- package/cjs/components/use-tree/index.js +7 -0
- package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-node.js +1 -5
- package/cjs/components/use-tree/use-tree-node.type.d.ts +18 -0
- package/cjs/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-virtual-node.d.ts +13 -0
- package/cjs/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
- package/cjs/components/use-tree/use-tree-virtual-node.js +92 -0
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +179 -7
- package/cjs/components/use-tree/use-tree.type.d.ts +31 -1
- package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/cjs/utils/is.d.ts +2 -0
- package/cjs/utils/is.d.ts.map +1 -1
- package/cjs/utils/is.js +5 -2
- package/cjs/utils/object.d.ts +12 -0
- package/cjs/utils/object.d.ts.map +1 -1
- package/cjs/utils/object.js +34 -1
- package/cjs/utils/warning.js +5 -5
- package/esm/common/use-filter/use-filter.d.ts.map +1 -1
- package/esm/components/use-cascader/use-cascader.d.ts.map +1 -1
- package/esm/components/use-cascader/use-cascader.type.d.ts +2 -1
- package/esm/components/use-cascader/use-cascader.type.d.ts.map +1 -1
- package/esm/components/use-form/use-form.d.ts +2 -2
- package/esm/components/use-form/use-form.d.ts.map +1 -1
- package/esm/components/use-form/use-form.js +47 -9
- package/esm/components/use-form/use-form.type.d.ts +3 -1
- package/esm/components/use-form/use-form.type.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.d.ts.map +1 -1
- package/esm/components/use-input/use-input-format.js +12 -4
- package/esm/components/use-table/use-table-sort.d.ts +5 -0
- package/esm/components/use-table/use-table-sort.d.ts.map +1 -1
- package/esm/components/use-table/use-table-sort.js +5 -1
- package/esm/components/use-table/use-table-tree.d.ts +13 -0
- package/esm/components/use-table/use-table-tree.d.ts.map +1 -1
- package/esm/components/use-table/use-table-tree.js +67 -0
- package/esm/components/use-table/use-table-virtual.js +3 -3
- package/esm/components/use-tree/index.d.ts +2 -1
- package/esm/components/use-tree/index.d.ts.map +1 -1
- package/esm/components/use-tree/index.js +2 -1
- package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-node.js +1 -5
- package/esm/components/use-tree/use-tree-node.type.d.ts +18 -0
- package/esm/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-virtual-node.d.ts +13 -0
- package/esm/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
- package/esm/components/use-tree/use-tree-virtual-node.js +85 -0
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +181 -9
- package/esm/components/use-tree/use-tree.type.d.ts +31 -1
- package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/esm/utils/is.d.ts +2 -0
- package/esm/utils/is.d.ts.map +1 -1
- package/esm/utils/is.js +4 -1
- package/esm/utils/object.d.ts +12 -0
- package/esm/utils/object.d.ts.map +1 -1
- package/esm/utils/object.js +34 -1
- package/esm/utils/warning.js +5 -5
- package/package.json +1 -1
@@ -1,3 +1,9 @@
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
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(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
1
7
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
8
|
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
9
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
@@ -11,15 +17,15 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
17
|
import { useState, useEffect, useRef } from 'react';
|
12
18
|
import useLatestObj from "../../common/use-latest-obj";
|
13
19
|
import { useInputAble } from "../../common/use-input-able";
|
20
|
+
import { getExpandVirtualData } from "../use-table/use-table-tree";
|
14
21
|
import { usePersistFn } from "../../common/use-persist-fn";
|
15
|
-
import { isFunc, isString, isNumber, isArray, isUnMatchedData } from "../../utils/is";
|
16
|
-
import { devUseWarning } from "../../utils";
|
22
|
+
import { isFunc, isString, isNumber, isArray, isUnMatchedData, isOptionalDisabled } from "../../utils/is";
|
23
|
+
import { devUseWarning, produce } from "../../utils";
|
17
24
|
function toArray(value) {
|
18
25
|
if (!value) return [];
|
19
26
|
if (!Array.isArray(value)) return [value];
|
20
27
|
return value;
|
21
28
|
}
|
22
|
-
var global_tree_map = new Map();
|
23
29
|
export var MODE = {
|
24
30
|
/**
|
25
31
|
* 返回全选数据,包含父节点和子节点
|
@@ -52,6 +58,7 @@ var useTree = function useTree(props) {
|
|
52
58
|
childrenKey = _props$childrenKey === void 0 ? 'children' : _props$childrenKey,
|
53
59
|
keygen = props.keygen,
|
54
60
|
mode = props.mode,
|
61
|
+
virtual = props.virtual,
|
55
62
|
activeProp = props.active,
|
56
63
|
expandedProp = props.expanded,
|
57
64
|
_props$dataUpdate = props.dataUpdate,
|
@@ -59,14 +66,19 @@ var useTree = function useTree(props) {
|
|
59
66
|
_props$defaultExpande = props.defaultExpanded,
|
60
67
|
defaultExpanded = _props$defaultExpande === void 0 ? [] : _props$defaultExpande,
|
61
68
|
defaultExpandAll = props.defaultExpandAll,
|
62
|
-
disabledProps = props.disabled,
|
63
69
|
unmatch = props.unmatch,
|
64
70
|
isControlled = props.isControlled,
|
65
71
|
onExpandProp = props.onExpand;
|
72
|
+
var disabledProps = isOptionalDisabled(props.disabled) ? props.disabled.disabled : props.disabled;
|
73
|
+
var isRealtime = isOptionalDisabled(props.disabled) ? props.disabled.isRealtime : false;
|
66
74
|
var _useState = useState(false),
|
67
75
|
_useState2 = _slicedToArray(_useState, 2),
|
68
76
|
inited = _useState2[0],
|
69
77
|
setInited = _useState2[1];
|
78
|
+
var _useState3 = useState([]),
|
79
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
80
|
+
dataFlat = _useState4[0],
|
81
|
+
setDataFlat = _useState4[1];
|
70
82
|
var _useInputAble = useInputAble({
|
71
83
|
value: expandedProp,
|
72
84
|
defaultValue: defaultExpanded,
|
@@ -79,6 +91,8 @@ var useTree = function useTree(props) {
|
|
79
91
|
var _useRef = useRef({
|
80
92
|
pathMap: new Map(),
|
81
93
|
dataMap: new Map(),
|
94
|
+
dataFlatStatusMap: new Map(),
|
95
|
+
dataFlat: [],
|
82
96
|
forceUpdateMap: new Map(),
|
83
97
|
valueMap: new Map(),
|
84
98
|
updateMap: new Map(),
|
@@ -110,11 +124,27 @@ var useTree = function useTree(props) {
|
|
110
124
|
expanded: shouldDefaultExpand
|
111
125
|
};
|
112
126
|
}
|
127
|
+
if (virtual) {
|
128
|
+
return {
|
129
|
+
active: isActive,
|
130
|
+
expanded: context.dataFlatStatusMap.get(id).expanded
|
131
|
+
};
|
132
|
+
}
|
113
133
|
return {
|
114
134
|
active: isActive,
|
115
135
|
expanded: !!(expandeds && expandeds.indexOf(id) >= 0)
|
116
136
|
};
|
117
137
|
};
|
138
|
+
|
139
|
+
// 注册节点
|
140
|
+
var bindVirtualNode = function bindVirtualNode(id, update) {
|
141
|
+
context.updateMap.set(id, update);
|
142
|
+
var isActive = activeProp === id;
|
143
|
+
return {
|
144
|
+
active: isActive,
|
145
|
+
expanded: context.dataFlatStatusMap.get(id).expanded
|
146
|
+
};
|
147
|
+
};
|
118
148
|
var get = function get(id) {
|
119
149
|
return context.valueMap.get(id);
|
120
150
|
};
|
@@ -127,7 +157,6 @@ var useTree = function useTree(props) {
|
|
127
157
|
if (keygen && (isString(keygen) || isNumber(keygen))) {
|
128
158
|
return item[keygen];
|
129
159
|
}
|
130
|
-
|
131
160
|
// 降级处理
|
132
161
|
return id + (id ? ',' : '') + index;
|
133
162
|
};
|
@@ -225,6 +254,8 @@ var useTree = function useTree(props) {
|
|
225
254
|
};
|
226
255
|
var initData = function initData(data, path, disabled) {
|
227
256
|
var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
257
|
+
var level = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
|
258
|
+
var pid = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
|
228
259
|
var ids = [];
|
229
260
|
for (var i = 0; i < data.length; i++) {
|
230
261
|
var item = data[i];
|
@@ -236,6 +267,28 @@ var useTree = function useTree(props) {
|
|
236
267
|
}
|
237
268
|
// 制作 data mapping
|
238
269
|
context.dataMap.set(id, item);
|
270
|
+
if (virtual) {
|
271
|
+
context.dataFlatStatusMap.set(id, {
|
272
|
+
active: false,
|
273
|
+
expanded: defaultExpandAll ? true : (expanded === null || expanded === void 0 ? void 0 : expanded.includes(id)) || false,
|
274
|
+
fetching: false
|
275
|
+
});
|
276
|
+
var node = {
|
277
|
+
id: id,
|
278
|
+
level: level,
|
279
|
+
data: item,
|
280
|
+
pid: pid
|
281
|
+
};
|
282
|
+
if (defaultExpandAll) {
|
283
|
+
context.dataFlat.push(node);
|
284
|
+
} else {
|
285
|
+
if (level === 1) {
|
286
|
+
context.dataFlat.push(node);
|
287
|
+
} else if (expanded && pid !== null && expanded.indexOf(pid) >= 0) {
|
288
|
+
context.dataFlat.push(node);
|
289
|
+
}
|
290
|
+
}
|
291
|
+
}
|
239
292
|
var _isDisabled = !!disabled;
|
240
293
|
if (_isDisabled === false) {
|
241
294
|
_isDisabled = getDisabled()(item);
|
@@ -244,7 +297,7 @@ var useTree = function useTree(props) {
|
|
244
297
|
ids.push(id);
|
245
298
|
var children = [];
|
246
299
|
if (Array.isArray(item[childrenKey])) {
|
247
|
-
var _children = initData(item[childrenKey], [].concat(_toConsumableArray(path), [id]), mode === MODE.MODE_4 ? disabled : _isDisabled, indexPath);
|
300
|
+
var _children = initData(item[childrenKey], [].concat(_toConsumableArray(path), [id]), mode === MODE.MODE_4 ? disabled : _isDisabled, indexPath, level + 1, id);
|
248
301
|
if (_children) children = _children;
|
249
302
|
}
|
250
303
|
context.pathMap.set(id, {
|
@@ -322,7 +375,15 @@ var useTree = function useTree(props) {
|
|
322
375
|
var isDisabled = function isDisabled(id) {
|
323
376
|
if (isFunc(disabledProps)) {
|
324
377
|
var node = context.pathMap.get(id);
|
325
|
-
if (node)
|
378
|
+
if (node) {
|
379
|
+
if (isRealtime) {
|
380
|
+
var item = context.dataMap.get(id);
|
381
|
+
if (!item) return false;
|
382
|
+
return getDisabled()(item);
|
383
|
+
} else {
|
384
|
+
return node.isDisabled;
|
385
|
+
}
|
386
|
+
}
|
326
387
|
return false;
|
327
388
|
}
|
328
389
|
return !!disabledProps;
|
@@ -352,11 +413,20 @@ var useTree = function useTree(props) {
|
|
352
413
|
context.cachedValue = [];
|
353
414
|
context.pathMap = new Map();
|
354
415
|
context.dataMap = new Map();
|
416
|
+
context.dataFlat = [];
|
417
|
+
context.dataFlatStatusMap = new Map();
|
355
418
|
context.valueMap = new Map();
|
356
419
|
context.unmatchedValueMap = new Map();
|
357
420
|
context.data = toArray(data);
|
421
|
+
if (virtual) {
|
422
|
+
context.dataFlat = [];
|
423
|
+
setDataFlat([]);
|
424
|
+
}
|
358
425
|
if (!data) return;
|
359
426
|
initData(context.data, []);
|
427
|
+
if (virtual) {
|
428
|
+
setDataFlat(context.dataFlat);
|
429
|
+
}
|
360
430
|
initValue();
|
361
431
|
setValue(prevValue);
|
362
432
|
|
@@ -402,6 +472,101 @@ var useTree = function useTree(props) {
|
|
402
472
|
}
|
403
473
|
return current;
|
404
474
|
};
|
475
|
+
var appendChildrenExpanded = function appendChildrenExpanded(child, level, pid, insertData) {
|
476
|
+
if (!child) return;
|
477
|
+
child.forEach(function (item, i) {
|
478
|
+
var _context$dataFlatStat;
|
479
|
+
var childId = getKey(item, pid, i);
|
480
|
+
var node = {
|
481
|
+
id: childId,
|
482
|
+
level: level,
|
483
|
+
data: item,
|
484
|
+
pid: pid
|
485
|
+
};
|
486
|
+
insertData.push(node);
|
487
|
+
if ((_context$dataFlatStat = context.dataFlatStatusMap.get(childId)) !== null && _context$dataFlatStat !== void 0 && _context$dataFlatStat.expanded && item[childrenKey]) {
|
488
|
+
appendChildrenExpanded(item[childrenKey], level + 1, childId, insertData);
|
489
|
+
}
|
490
|
+
});
|
491
|
+
};
|
492
|
+
var insertFlat = function insertFlat(id) {
|
493
|
+
var item = getDataById(id);
|
494
|
+
if (isUnMatchedData(item)) return;
|
495
|
+
if (!item) return;
|
496
|
+
var status = context.dataFlatStatusMap.get(id);
|
497
|
+
if (!status) return;
|
498
|
+
var childrenData = item[childrenKey];
|
499
|
+
var insertStartNode = dataFlat.find(function (item) {
|
500
|
+
return item.id === id;
|
501
|
+
});
|
502
|
+
context.dataFlatStatusMap.set(id, _objectSpread(_objectSpread({}, status), {}, {
|
503
|
+
expanded: true,
|
504
|
+
fetching: false
|
505
|
+
}));
|
506
|
+
if (!insertStartNode) return;
|
507
|
+
var insertData = [];
|
508
|
+
appendChildrenExpanded(childrenData, insertStartNode.level + 1, id, insertData);
|
509
|
+
var insertIndex = dataFlat.indexOf(insertStartNode);
|
510
|
+
var nextDataFlat = produce(dataFlat, function (draft) {
|
511
|
+
draft.splice.apply(draft, [insertIndex + 1, 0].concat(_toConsumableArray(insertData)));
|
512
|
+
});
|
513
|
+
setDataFlat(nextDataFlat);
|
514
|
+
};
|
515
|
+
var removeFlat = function removeFlat(id) {
|
516
|
+
var item = getDataById(id);
|
517
|
+
if (isUnMatchedData(item)) return;
|
518
|
+
if (!item) return;
|
519
|
+
var removeNode = dataFlat.find(function (item) {
|
520
|
+
return item.id === id;
|
521
|
+
});
|
522
|
+
if (!removeNode) return;
|
523
|
+
var status = context.dataFlatStatusMap.get(id);
|
524
|
+
if (!status) return;
|
525
|
+
context.dataFlatStatusMap.set(id, _objectSpread(_objectSpread({}, status), {}, {
|
526
|
+
fetching: false,
|
527
|
+
expanded: false
|
528
|
+
}));
|
529
|
+
var removeStartIndex = dataFlat.indexOf(removeNode);
|
530
|
+
var removeEndIndex = 0;
|
531
|
+
for (var i = removeStartIndex + 1; i < dataFlat.length; i++) {
|
532
|
+
if (dataFlat[i].level <= removeNode.level) {
|
533
|
+
removeEndIndex = i;
|
534
|
+
break;
|
535
|
+
}
|
536
|
+
if (i === dataFlat.length - 1) {
|
537
|
+
removeEndIndex = i + 1;
|
538
|
+
break;
|
539
|
+
}
|
540
|
+
}
|
541
|
+
var nextDataFlat = produce(dataFlat, function (draft) {
|
542
|
+
draft.splice(removeStartIndex + 1, removeEndIndex - removeStartIndex - 1);
|
543
|
+
});
|
544
|
+
setDataFlat(nextDataFlat);
|
545
|
+
};
|
546
|
+
var expandedFlat = function expandedFlat(expanded) {
|
547
|
+
if (!context.data) return;
|
548
|
+
context.dataFlatStatusMap.forEach(function (status, id) {
|
549
|
+
context.dataFlatStatusMap.set(id, _objectSpread(_objectSpread({}, status), {}, {
|
550
|
+
expanded: false
|
551
|
+
}));
|
552
|
+
});
|
553
|
+
expanded.forEach(function (id) {
|
554
|
+
var status = context.dataFlatStatusMap.get(id);
|
555
|
+
if (!status) return;
|
556
|
+
context.dataFlatStatusMap.set(id, _objectSpread(_objectSpread({}, status), {}, {
|
557
|
+
expanded: true
|
558
|
+
}));
|
559
|
+
});
|
560
|
+
var _getExpandVirtualData = getExpandVirtualData(context.data, expanded, getKey, childrenKey),
|
561
|
+
treeDataInfo = _getExpandVirtualData.treeDataInfo;
|
562
|
+
if (!treeDataInfo) {
|
563
|
+
return;
|
564
|
+
}
|
565
|
+
setDataFlat(treeDataInfo);
|
566
|
+
};
|
567
|
+
var getFlatData = function getFlatData() {
|
568
|
+
return context.dataFlat;
|
569
|
+
};
|
405
570
|
useEffect(function () {
|
406
571
|
if (defaultExpandAll) {
|
407
572
|
var nextExpanded = [];
|
@@ -412,7 +577,7 @@ var useTree = function useTree(props) {
|
|
412
577
|
});
|
413
578
|
onExpand(nextExpanded);
|
414
579
|
}
|
415
|
-
}, []);
|
580
|
+
}, [context.dataMap]);
|
416
581
|
useEffect(function () {
|
417
582
|
if (props.datum) return;
|
418
583
|
if (!dataUpdate) return;
|
@@ -428,25 +593,32 @@ var useTree = function useTree(props) {
|
|
428
593
|
var datum = useLatestObj({
|
429
594
|
get: get,
|
430
595
|
set: set,
|
596
|
+
insertFlat: insertFlat,
|
597
|
+
removeFlat: removeFlat,
|
598
|
+
expandedFlat: expandedFlat,
|
431
599
|
getPath: getPath,
|
432
600
|
getValue: getValue,
|
433
601
|
getChecked: getChecked,
|
434
602
|
getKey: getKey,
|
603
|
+
getFlatData: getFlatData,
|
435
604
|
getDataByValues: getDataByValues,
|
436
605
|
setValue: setValue,
|
437
606
|
setData: setData,
|
438
607
|
isDisabled: isDisabled,
|
439
608
|
bindNode: bindNode,
|
609
|
+
bindVirtualNode: bindVirtualNode,
|
440
610
|
getDataById: getDataById,
|
441
611
|
bindUpdate: bindUpdate,
|
442
612
|
unBindUpdate: unBindUpdate,
|
443
613
|
isUnMatched: isUnMatched,
|
444
614
|
childrenKey: childrenKey,
|
445
615
|
data: data,
|
616
|
+
dataFlat: dataFlat,
|
446
617
|
pathMap: context.pathMap,
|
447
618
|
dataMap: context.dataMap,
|
448
619
|
valueMap: context.valueMap,
|
449
|
-
updateMap: context.updateMap
|
620
|
+
updateMap: context.updateMap,
|
621
|
+
dataFlatStatusMap: context.dataFlatStatusMap
|
450
622
|
});
|
451
623
|
return {
|
452
624
|
inited: inited,
|
@@ -2,9 +2,22 @@ import { StructKeygenStringType, KeygenResult, ObjectKey } from '../../common/ty
|
|
2
2
|
export type CheckedStatusType = 0 | 1 | 2;
|
3
3
|
export type TreeModeType = 0 | 1 | 2 | 3 | 4;
|
4
4
|
export type UpdateFunc = (name: string, active: boolean) => void;
|
5
|
+
export type FlatNodeType<DataItem> = {
|
6
|
+
id: KeygenResult;
|
7
|
+
data: DataItem;
|
8
|
+
level: number;
|
9
|
+
pid?: KeygenResult | null;
|
10
|
+
};
|
11
|
+
export type FlatMapType = {
|
12
|
+
active: boolean;
|
13
|
+
expanded: boolean;
|
14
|
+
fetching: boolean;
|
15
|
+
};
|
5
16
|
export interface TreeContext<DataItem> {
|
6
17
|
pathMap: Map<KeygenResult, TreePathType>;
|
7
18
|
dataMap: Map<KeygenResult, DataItem>;
|
19
|
+
dataFlat: FlatNodeType<DataItem>[];
|
20
|
+
dataFlatStatusMap: Map<KeygenResult, FlatMapType>;
|
8
21
|
valueMap: Map<KeygenResult, CheckedStatusType>;
|
9
22
|
unmatchedValueMap: Map<any, any>;
|
10
23
|
updateMap: Map<KeygenResult, UpdateFunc>;
|
@@ -21,6 +34,10 @@ export interface TreePathType {
|
|
21
34
|
indexPath: number[];
|
22
35
|
index: number;
|
23
36
|
}
|
37
|
+
export interface DisabledOption<DataItem> {
|
38
|
+
disabled: (data: DataItem) => boolean;
|
39
|
+
isRealtime: boolean;
|
40
|
+
}
|
24
41
|
export interface BaseTreeProps<DataItem> {
|
25
42
|
/**
|
26
43
|
* @private 内部属性
|
@@ -63,7 +80,7 @@ export interface BaseTreeProps<DataItem> {
|
|
63
80
|
* @cn 显示选择框时有效,为 true 时,所有节点禁用选择,为函数时,根据函数返回结果确定是否禁用
|
64
81
|
* @default false
|
65
82
|
*/
|
66
|
-
disabled?: boolean | ((item: DataItem) => boolean)
|
83
|
+
disabled?: boolean | ((item: DataItem) => boolean) | DisabledOption<DataItem>;
|
67
84
|
/**
|
68
85
|
* @en Auxiliary method for generating key. When it is a function, use the return value of this function. When it is a string, use the data value corresponding to this string. For example, "id" is the same thing as (d) => d.id
|
69
86
|
* @cn 生成 key 的辅助方法, 为函数时,使用此函数返回值, 为 string 时,使用这个 string 对应的数据值。如 "id",相当于 (d) => d.id
|
@@ -106,10 +123,17 @@ export interface BaseTreeProps<DataItem> {
|
|
106
123
|
* @private 内部数据处理
|
107
124
|
*/
|
108
125
|
datum?: TreeDatum<DataItem>;
|
126
|
+
/**
|
127
|
+
* @private 是否虚拟化
|
128
|
+
*/
|
129
|
+
virtual?: boolean;
|
109
130
|
}
|
110
131
|
export interface TreeDatum<DataItem> {
|
111
132
|
get: (id: KeygenResult) => CheckedStatusType | undefined;
|
112
133
|
set: (id: KeygenResult, checked: CheckedStatusType, direction?: 'asc' | 'desc') => CheckedStatusType | null;
|
134
|
+
insertFlat: (id: KeygenResult) => void;
|
135
|
+
removeFlat: (id: KeygenResult) => void;
|
136
|
+
expandedFlat: (id: KeygenResult[]) => void;
|
113
137
|
getPath: (id: KeygenResult) => TreePathType | undefined;
|
114
138
|
getValue: () => KeygenResult[];
|
115
139
|
getChecked: (id: KeygenResult) => boolean | 'indeterminate';
|
@@ -122,6 +146,10 @@ export interface TreeDatum<DataItem> {
|
|
122
146
|
active: boolean;
|
123
147
|
expanded: boolean;
|
124
148
|
};
|
149
|
+
bindVirtualNode: (id: KeygenResult, update: UpdateFunc, data: DataItem) => {
|
150
|
+
active: boolean;
|
151
|
+
expanded: boolean;
|
152
|
+
};
|
125
153
|
getDataById: (id: KeygenResult) => DataItem | {
|
126
154
|
IS_NOT_MATCHED_VALUE: boolean;
|
127
155
|
value: KeygenResult | null;
|
@@ -132,8 +160,10 @@ export interface TreeDatum<DataItem> {
|
|
132
160
|
updateMap: Map<KeygenResult, UpdateFunc>;
|
133
161
|
childrenKey: string;
|
134
162
|
data: DataItem[];
|
163
|
+
dataFlat: FlatNodeType<DataItem>[];
|
135
164
|
pathMap: Map<KeygenResult, TreePathType>;
|
136
165
|
dataMap: Map<KeygenResult, DataItem>;
|
137
166
|
valueMap: Map<KeygenResult, CheckedStatusType>;
|
167
|
+
dataFlatStatusMap: Map<KeygenResult, FlatMapType>;
|
138
168
|
}
|
139
169
|
//# sourceMappingURL=use-tree.type.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tree.type.d.ts","sourceRoot":"","sources":["use-tree.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,WAAW,CAAC,QAAQ;IACnC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAC/C,iBAAiB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACzC,cAAc,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa,CAAC,QAAQ;IACrC;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B;;;OAGG;IACH,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"use-tree.type.d.ts","sourceRoot":"","sources":["use-tree.type.ts"],"names":[],"mappings":"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"}
|
package/esm/utils/is.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import { ObjectType } from '../common/type';
|
2
|
+
import { DisabledOption } from '../components/use-tree/use-tree.type';
|
2
3
|
import { UnMatchedData } from '../common/use-list-select/use-list.type';
|
3
4
|
import React from 'react';
|
4
5
|
export declare function isBrowser(): boolean;
|
@@ -25,4 +26,5 @@ export declare function isNamedComponent(type: any): type is React.ForwardRefExo
|
|
25
26
|
export declare const isMacOS: () => boolean;
|
26
27
|
export declare const isFirefox: () => boolean;
|
27
28
|
export declare function isDomElement(element: any): element is HTMLElement;
|
29
|
+
export declare const isOptionalDisabled: <DataItem>(disabled: unknown) => disabled is DisabledOption<DataItem>;
|
28
30
|
//# sourceMappingURL=is.d.ts.map
|
package/esm/utils/is.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["is.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,SAAS,YAExB;AASD,eAAO,MAAM,OAAO,4BAAgB,CAAC;AACrC,eAAO,MAAM,QAAQ,QAAS,OAAO,sBACc,CAAC;AACpD,eAAO,MAAM,MAAM,QAAS,OAAO,gBAAqC,CAAC;AACzE,eAAO,MAAM,SAAS,QAAS,OAAO,mBAA2C,CAAC;AAClF,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OAA+B,CAAC;AACvE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAAgC,CAAC;AACzE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,WAAW,QAAS,GAAG,qBAAwC,CAAC;AAC7E,eAAO,MAAM,KAAK,QAjBsB,OAAO,mBAiBb,CAAC;AACnC,eAAO,MAAM,KAAK,QAlBsB,OAAO,mBAkBb,CAAC;AACnC,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAUvC,CAAC;AACF,eAAO,MAAM,eAAe,QAAS,OAAO,yBAE3C,CAAC;AACF,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,OAS1C,CAAC;AAEF,eAAO,MAAM,MAAM,MAAO,OAAO,kBAA2C,CAAC;AAE7E,eAAO,MAAM,SAAS,MAAO,OAAO,YACiC,CAAC;AAGtE,eAAO,MAAM,KAAK,MAAO,OAAO,KAAG,OAAkB,CAAC;AAEtD,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OActC,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,OAAO,6EASjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAE5F;AAED,eAAO,MAAM,OAAO,QAAO,OACqC,CAAC;AAEjE,eAAO,MAAM,SAAS,QAAO,OAG5B,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,WAAW,CAQjE"}
|
1
|
+
{"version":3,"file":"is.d.ts","sourceRoot":"","sources":["is.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,SAAS,YAExB;AASD,eAAO,MAAM,OAAO,4BAAgB,CAAC;AACrC,eAAO,MAAM,QAAQ,QAAS,OAAO,sBACc,CAAC;AACpD,eAAO,MAAM,MAAM,QAAS,OAAO,gBAAqC,CAAC;AACzE,eAAO,MAAM,SAAS,QAAS,OAAO,mBAA2C,CAAC;AAClF,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OAA+B,CAAC;AACvE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAAgC,CAAC;AACzE,eAAO,MAAM,QAAQ,MAAO,OAAO,gBAAuC,CAAC;AAC3E,eAAO,MAAM,WAAW,QAAS,GAAG,qBAAwC,CAAC;AAC7E,eAAO,MAAM,KAAK,QAjBsB,OAAO,mBAiBb,CAAC;AACnC,eAAO,MAAM,KAAK,QAlBsB,OAAO,mBAkBb,CAAC;AACnC,eAAO,MAAM,QAAQ,QAAS,OAAO,KAAG,OAUvC,CAAC;AACF,eAAO,MAAM,eAAe,QAAS,OAAO,yBAE3C,CAAC;AACF,eAAO,MAAM,WAAW,QAAS,OAAO,KAAG,OAS1C,CAAC;AAEF,eAAO,MAAM,MAAM,MAAO,OAAO,kBAA2C,CAAC;AAE7E,eAAO,MAAM,SAAS,MAAO,OAAO,YACiC,CAAC;AAGtE,eAAO,MAAM,KAAK,MAAO,OAAO,KAAG,OAAkB,CAAC;AAEtD,eAAO,MAAM,OAAO,QAAS,OAAO,KAAG,OActC,CAAC;AAEF,eAAO,MAAM,MAAM,OAAQ,OAAO,6EASjC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAE5F;AAED,eAAO,MAAM,OAAO,QAAO,OACqC,CAAC;AAEjE,eAAO,MAAM,SAAS,QAAO,OAG5B,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,WAAW,CAQjE;AAED,eAAO,MAAM,kBAAkB,uBACnB,OAAO,yCAGlB,CAAC"}
|
package/esm/utils/is.js
CHANGED
@@ -98,4 +98,7 @@ export var isFirefox = function isFirefox() {
|
|
98
98
|
export function isDomElement(element) {
|
99
99
|
return (typeof HTMLElement === "undefined" ? "undefined" : _typeof(HTMLElement)) === 'object' ? element instanceof HTMLElement // DOM2
|
100
100
|
: element && _typeof(element) === 'object' && element !== null && element.nodeType === 1 && typeof element.nodeName === 'string';
|
101
|
-
}
|
101
|
+
}
|
102
|
+
export var isOptionalDisabled = function isOptionalDisabled(disabled) {
|
103
|
+
return isObject(disabled) && disabled.hasOwnProperty('isRealtime');
|
104
|
+
};
|
package/esm/utils/object.d.ts
CHANGED
@@ -33,5 +33,17 @@ export declare const removeProps: <T extends ObjectType, K extends ObjectType>(t
|
|
33
33
|
* console.log(keys); // ['a.b.c', 'a.b', 'a']
|
34
34
|
*/
|
35
35
|
export declare const getAllKeyPaths: (obj: ObjectType, parentKey?: string) => string[];
|
36
|
+
/**
|
37
|
+
* 获取完整的字段key
|
38
|
+
* @param fields 字段key
|
39
|
+
* @param allFields 所有字段key
|
40
|
+
* @returns 完整的字段key
|
41
|
+
* @example
|
42
|
+
* const fields = ['user']
|
43
|
+
* const allFields = ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
44
|
+
* const completeFields = getCompleteFieldKeys(fields, allFields)
|
45
|
+
* console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
46
|
+
*/
|
47
|
+
export declare const getCompleteFieldKeys: (fields: string | string[], allFields: string[]) => string[];
|
36
48
|
export {};
|
37
49
|
//# sourceMappingURL=object.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC"}
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC;AAGF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,WAAY,MAAM,GAAG,MAAM,EAAE,aAAa,MAAM,EAAE,KAAG,MAAM,EAmB3F,CAAA"}
|
package/esm/utils/object.js
CHANGED
@@ -10,7 +10,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
10
10
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
11
11
|
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); }
|
12
12
|
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; }
|
13
|
-
import { isMergeable, isObject } from "./is";
|
13
|
+
import { isMergeable, isObject, isArray } from "./is";
|
14
14
|
export function insertPoint(name) {
|
15
15
|
var reg = /(\[\d+\])/gi;
|
16
16
|
return name.replace(reg, function (s, m, i) {
|
@@ -292,4 +292,37 @@ export var getAllKeyPaths = function getAllKeyPaths(obj) {
|
|
292
292
|
}
|
293
293
|
return keys.concat(obj[key] !== null && _typeof(obj[key]) === 'object' ? getAllKeyPaths(obj[key], newKey) : newKey);
|
294
294
|
}, []);
|
295
|
+
};
|
296
|
+
|
297
|
+
/**
|
298
|
+
* 获取完整的字段key
|
299
|
+
* @param fields 字段key
|
300
|
+
* @param allFields 所有字段key
|
301
|
+
* @returns 完整的字段key
|
302
|
+
* @example
|
303
|
+
* const fields = ['user']
|
304
|
+
* const allFields = ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
305
|
+
* const completeFields = getCompleteFieldKeys(fields, allFields)
|
306
|
+
* console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
|
307
|
+
*/
|
308
|
+
export var getCompleteFieldKeys = function getCompleteFieldKeys(fields, allFields) {
|
309
|
+
var fieldsArray = isArray(fields) ? fields : [fields];
|
310
|
+
var completeFields = [];
|
311
|
+
fieldsArray.forEach(function (field) {
|
312
|
+
var na = "".concat(field, "[");
|
313
|
+
if (field.endsWith(']')) {
|
314
|
+
na = field;
|
315
|
+
}
|
316
|
+
var no = "".concat(field, ".");
|
317
|
+
completeFields.push(field);
|
318
|
+
var childFields = allFields.filter(function (f) {
|
319
|
+
return f.startsWith(na) || f.startsWith(no);
|
320
|
+
});
|
321
|
+
if (childFields.length) {
|
322
|
+
completeFields.push.apply(completeFields, _toConsumableArray(childFields));
|
323
|
+
}
|
324
|
+
});
|
325
|
+
|
326
|
+
// 返回之前去重
|
327
|
+
return Array.from(new Set(completeFields));
|
295
328
|
};
|
package/esm/utils/warning.js
CHANGED
@@ -9,29 +9,29 @@ var shouldShowMessage = function shouldShowMessage(message) {
|
|
9
9
|
var deprecated = function deprecated(prop, newProp, component, extraMessage) {
|
10
10
|
if (process.env.NODE_ENV !== 'production') {
|
11
11
|
var msg = "[shineout] '".concat(prop, "' in ").concat(component, " component is deprecated, please use '").concat(newProp, "' instead. ").concat(extraMessage);
|
12
|
-
shouldShowMessage(msg)
|
12
|
+
if (shouldShowMessage(msg)) console.error(msg);
|
13
13
|
}
|
14
14
|
};
|
15
15
|
var breakingChange = function breakingChange(message) {
|
16
16
|
if (process.env.NODE_ENV !== 'production') {
|
17
17
|
var msg = "[shineout] ".concat(message);
|
18
|
-
shouldShowMessage(msg)
|
18
|
+
if (shouldShowMessage(msg)) console.error(msg);
|
19
19
|
}
|
20
20
|
};
|
21
21
|
var devWarn = function devWarn(message) {
|
22
22
|
if (process.env.NODE_ENV !== 'production') {
|
23
|
-
shouldShowMessage(message)
|
23
|
+
if (shouldShowMessage(message)) console.warn("[shineout] ".concat(message));
|
24
24
|
}
|
25
25
|
};
|
26
26
|
var conflictWarning = function conflictWarning(component, prop1, prop2) {
|
27
27
|
if (process.env.NODE_ENV !== 'production') {
|
28
28
|
var msg = "[shineout] ".concat(prop1, " and ").concat(prop2, " cannot be used at the same time in ").concat(component, ".");
|
29
|
-
shouldShowMessage(msg)
|
29
|
+
if (shouldShowMessage(msg)) console.warn(msg);
|
30
30
|
}
|
31
31
|
};
|
32
32
|
var error = function error(message) {
|
33
33
|
var msg = new Error("[shineout] ".concat(message));
|
34
|
-
shouldShowMessage(msg.message)
|
34
|
+
if (shouldShowMessage(msg.message)) console.error(msg);
|
35
35
|
};
|
36
36
|
export var devUseWarning = {
|
37
37
|
error: error,
|