@sheinx/hooks 3.0.0-alpha.2 → 3.0.0-alpha.5
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/cjs/common/type.d.ts +2 -0
- package/cjs/common/type.d.ts.map +1 -1
- package/cjs/common/use-drag-mock/index.d.ts +3 -11
- package/cjs/common/use-drag-mock/index.d.ts.map +1 -1
- package/cjs/common/use-drag-mock/index.js +27 -56
- package/cjs/common/use-drag-mock/use-drag-mock.d.ts +11 -0
- package/cjs/common/use-drag-mock/use-drag-mock.d.ts.map +1 -0
- package/cjs/common/use-drag-mock/use-drag-mock.js +61 -0
- package/cjs/common/use-drag-mock/use-drag-move.d.ts +11 -0
- package/cjs/common/use-drag-mock/use-drag-move.d.ts.map +1 -0
- package/cjs/common/use-drag-mock/use-drag-move.js +73 -0
- package/cjs/common/use-drag-mock/use-drag-resize.d.ts +15 -0
- package/cjs/common/use-drag-mock/use-drag-resize.d.ts.map +1 -0
- package/cjs/common/use-drag-mock/use-drag-resize.js +89 -0
- package/cjs/common/use-filter/index.d.ts +2 -0
- package/cjs/common/use-filter/index.d.ts.map +1 -0
- package/cjs/common/use-filter/index.js +19 -0
- package/cjs/common/use-filter/use-filter.d.ts +19 -0
- package/cjs/common/use-filter/use-filter.d.ts.map +1 -0
- package/cjs/common/use-filter/use-filter.js +153 -0
- package/cjs/common/use-filter/use-filter.type.d.ts +17 -0
- package/cjs/common/use-filter/use-filter.type.d.ts.map +1 -0
- package/cjs/common/use-filter/use-filter.type.js +5 -0
- package/cjs/common/use-position-style/index.d.ts.map +1 -1
- package/cjs/common/use-position-style/index.js +5 -0
- package/cjs/components/use-button/use-button.d.ts +1 -1
- package/cjs/components/use-button/use-button.d.ts.map +1 -1
- package/cjs/components/use-button/use-button.js +2 -2
- package/cjs/components/use-cascader/index.d.ts +3 -0
- package/cjs/components/use-cascader/index.d.ts.map +1 -0
- package/cjs/components/use-cascader/index.js +19 -0
- package/cjs/components/use-cascader/use-cascader.d.ts +36 -0
- package/cjs/components/use-cascader/use-cascader.d.ts.map +1 -0
- package/cjs/components/use-cascader/use-cascader.js +46 -0
- package/cjs/components/use-cascader/use-cascader.type.d.ts +14 -0
- package/cjs/components/use-cascader/use-cascader.type.d.ts.map +1 -0
- package/cjs/components/use-cascader/use-cascader.type.js +5 -0
- package/cjs/components/use-collapse/index.d.ts +5 -0
- package/cjs/components/use-collapse/index.d.ts.map +1 -0
- package/cjs/components/use-collapse/index.js +26 -0
- package/cjs/components/use-collapse/use-collapse-item.d.ts +22 -0
- package/cjs/components/use-collapse/use-collapse-item.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse-item.js +72 -0
- package/cjs/components/use-collapse/use-collapse-item.type.d.ts +12 -0
- package/cjs/components/use-collapse/use-collapse-item.type.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse-item.type.js +5 -0
- package/cjs/components/use-collapse/use-collapse.d.ts +8 -0
- package/cjs/components/use-collapse/use-collapse.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse.js +51 -0
- package/cjs/components/use-collapse/use-collapse.type.d.ts +8 -0
- package/cjs/components/use-collapse/use-collapse.type.d.ts.map +1 -0
- package/cjs/components/use-collapse/use-collapse.type.js +5 -0
- package/cjs/components/use-descriptions/index.d.ts +3 -0
- package/cjs/components/use-descriptions/index.d.ts.map +1 -0
- package/cjs/components/use-descriptions/index.js +19 -0
- package/cjs/components/use-descriptions/use-descriptions.d.ts +6 -0
- package/cjs/components/use-descriptions/use-descriptions.d.ts.map +1 -0
- package/cjs/components/use-descriptions/use-descriptions.js +77 -0
- package/cjs/components/use-descriptions/use-descriptions.type.d.ts +24 -0
- package/cjs/components/use-descriptions/use-descriptions.type.d.ts.map +1 -0
- package/cjs/components/use-descriptions/use-descriptions.type.js +5 -0
- package/cjs/components/use-select/index.d.ts +1 -0
- package/cjs/components/use-select/index.d.ts.map +1 -1
- package/cjs/components/use-select/index.js +8 -1
- package/cjs/components/use-select/use-select-group.d.ts +7 -0
- package/cjs/components/use-select/use-select-group.d.ts.map +1 -0
- package/cjs/components/use-select/use-select-group.js +51 -0
- package/cjs/components/use-select/use-select-group.type.d.ts +5 -0
- package/cjs/components/use-select/use-select-group.type.d.ts.map +1 -0
- package/cjs/components/use-select/use-select-group.type.js +5 -0
- package/cjs/components/use-select/use-select.d.ts.map +1 -1
- package/cjs/components/use-select/use-select.js +4 -4
- package/cjs/components/use-select/use-select.type.d.ts +5 -1
- package/cjs/components/use-select/use-select.type.d.ts.map +1 -1
- package/cjs/components/use-slider/use-slider.d.ts +2 -2
- package/cjs/components/use-slider/use-slider.js +4 -4
- package/cjs/components/use-tree/use-tree-node.d.ts +2 -1
- package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree-node.js +7 -7
- package/cjs/components/use-tree/use-tree-node.type.d.ts +2 -2
- package/cjs/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.d.ts +33 -10
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +86 -42
- package/cjs/components/use-tree/use-tree.type.d.ts +16 -13
- package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/cjs/components/use-treeselect/index.d.ts +4 -0
- package/cjs/components/use-treeselect/index.d.ts.map +1 -0
- package/cjs/components/use-treeselect/index.js +26 -0
- package/cjs/components/use-treeselect/use-tiled.d.ts +13 -0
- package/cjs/components/use-treeselect/use-tiled.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-tiled.js +99 -0
- package/cjs/components/use-treeselect/use-tiled.type.d.ts +15 -0
- package/cjs/components/use-treeselect/use-tiled.type.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-tiled.type.js +5 -0
- package/cjs/components/use-treeselect/use-treeselect.d.ts +7 -0
- package/cjs/components/use-treeselect/use-treeselect.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-treeselect.js +29 -0
- package/cjs/components/use-treeselect/use-treeselect.type.d.ts +9 -0
- package/cjs/components/use-treeselect/use-treeselect.type.d.ts.map +1 -0
- package/cjs/components/use-treeselect/use-treeselect.type.js +5 -0
- package/cjs/index.d.ts +5 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +60 -0
- package/cjs/utils/dom/element.d.ts +2 -1
- package/cjs/utils/dom/element.d.ts.map +1 -1
- package/cjs/utils/dom/element.js +9 -1
- package/cjs/utils/dom/index.d.ts +3 -0
- package/cjs/utils/dom/index.d.ts.map +1 -1
- package/cjs/utils/dom/index.js +32 -10
- package/cjs/utils/dom/responsiveObserve.d.ts +13 -0
- package/cjs/utils/dom/responsiveObserve.d.ts.map +1 -0
- package/cjs/utils/dom/responsiveObserve.js +89 -0
- package/cjs/utils/dom/responsiveObserve.type.d.ts +5 -0
- package/cjs/utils/dom/responsiveObserve.type.d.ts.map +1 -0
- package/cjs/utils/dom/responsiveObserve.type.js +5 -0
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/utils/index.js +12 -0
- package/cjs/utils/is.d.ts +1 -0
- package/cjs/utils/is.d.ts.map +1 -1
- package/cjs/utils/is.js +5 -1
- package/cjs/utils/render.d.ts.map +1 -1
- package/cjs/utils/tree.d.ts +14 -0
- package/cjs/utils/tree.d.ts.map +1 -0
- package/cjs/utils/tree.js +93 -0
- package/esm/common/type.d.ts +2 -0
- package/esm/common/type.d.ts.map +1 -1
- package/esm/common/use-drag-mock/index.d.ts +3 -11
- package/esm/common/use-drag-mock/index.d.ts.map +1 -1
- package/esm/common/use-drag-mock/index.js +27 -56
- package/esm/common/use-drag-mock/use-drag-mock.d.ts +11 -0
- package/esm/common/use-drag-mock/use-drag-mock.d.ts.map +1 -0
- package/esm/common/use-drag-mock/use-drag-mock.js +61 -0
- package/esm/common/use-drag-mock/use-drag-move.d.ts +11 -0
- package/esm/common/use-drag-mock/use-drag-move.d.ts.map +1 -0
- package/esm/common/use-drag-mock/use-drag-move.js +73 -0
- package/esm/common/use-drag-mock/use-drag-resize.d.ts +15 -0
- package/esm/common/use-drag-mock/use-drag-resize.d.ts.map +1 -0
- package/esm/common/use-drag-mock/use-drag-resize.js +89 -0
- package/esm/common/use-filter/index.d.ts +2 -0
- package/esm/common/use-filter/index.d.ts.map +1 -0
- package/esm/common/use-filter/index.js +19 -0
- package/esm/common/use-filter/use-filter.d.ts +19 -0
- package/esm/common/use-filter/use-filter.d.ts.map +1 -0
- package/esm/common/use-filter/use-filter.js +153 -0
- package/esm/common/use-filter/use-filter.type.d.ts +17 -0
- package/esm/common/use-filter/use-filter.type.d.ts.map +1 -0
- package/esm/common/use-filter/use-filter.type.js +5 -0
- package/esm/common/use-position-style/index.d.ts.map +1 -1
- package/esm/common/use-position-style/index.js +5 -0
- package/esm/components/use-button/use-button.d.ts +1 -1
- package/esm/components/use-button/use-button.d.ts.map +1 -1
- package/esm/components/use-button/use-button.js +2 -2
- package/esm/components/use-cascader/index.d.ts +3 -0
- package/esm/components/use-cascader/index.d.ts.map +1 -0
- package/esm/components/use-cascader/index.js +19 -0
- package/esm/components/use-cascader/use-cascader.d.ts +36 -0
- package/esm/components/use-cascader/use-cascader.d.ts.map +1 -0
- package/esm/components/use-cascader/use-cascader.js +46 -0
- package/esm/components/use-cascader/use-cascader.type.d.ts +14 -0
- package/esm/components/use-cascader/use-cascader.type.d.ts.map +1 -0
- package/esm/components/use-cascader/use-cascader.type.js +5 -0
- package/esm/components/use-collapse/index.d.ts +5 -0
- package/esm/components/use-collapse/index.d.ts.map +1 -0
- package/esm/components/use-collapse/index.js +26 -0
- package/esm/components/use-collapse/use-collapse-item.d.ts +22 -0
- package/esm/components/use-collapse/use-collapse-item.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse-item.js +72 -0
- package/esm/components/use-collapse/use-collapse-item.type.d.ts +12 -0
- package/esm/components/use-collapse/use-collapse-item.type.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse-item.type.js +5 -0
- package/esm/components/use-collapse/use-collapse.d.ts +8 -0
- package/esm/components/use-collapse/use-collapse.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse.js +51 -0
- package/esm/components/use-collapse/use-collapse.type.d.ts +8 -0
- package/esm/components/use-collapse/use-collapse.type.d.ts.map +1 -0
- package/esm/components/use-collapse/use-collapse.type.js +5 -0
- package/esm/components/use-descriptions/index.d.ts +3 -0
- package/esm/components/use-descriptions/index.d.ts.map +1 -0
- package/esm/components/use-descriptions/index.js +19 -0
- package/esm/components/use-descriptions/use-descriptions.d.ts +6 -0
- package/esm/components/use-descriptions/use-descriptions.d.ts.map +1 -0
- package/esm/components/use-descriptions/use-descriptions.js +77 -0
- package/esm/components/use-descriptions/use-descriptions.type.d.ts +24 -0
- package/esm/components/use-descriptions/use-descriptions.type.d.ts.map +1 -0
- package/esm/components/use-descriptions/use-descriptions.type.js +5 -0
- package/esm/components/use-select/index.d.ts +1 -0
- package/esm/components/use-select/index.d.ts.map +1 -1
- package/esm/components/use-select/index.js +8 -1
- package/esm/components/use-select/use-select-group.d.ts +7 -0
- package/esm/components/use-select/use-select-group.d.ts.map +1 -0
- package/esm/components/use-select/use-select-group.js +51 -0
- package/esm/components/use-select/use-select-group.type.d.ts +5 -0
- package/esm/components/use-select/use-select-group.type.d.ts.map +1 -0
- package/esm/components/use-select/use-select-group.type.js +5 -0
- package/esm/components/use-select/use-select.d.ts.map +1 -1
- package/esm/components/use-select/use-select.js +4 -4
- package/esm/components/use-select/use-select.type.d.ts +5 -1
- package/esm/components/use-select/use-select.type.d.ts.map +1 -1
- package/esm/components/use-slider/use-slider.d.ts +2 -2
- package/esm/components/use-slider/use-slider.js +4 -4
- package/esm/components/use-tree/use-tree-node.d.ts +2 -1
- package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree-node.js +7 -7
- package/esm/components/use-tree/use-tree-node.type.d.ts +2 -2
- package/esm/components/use-tree/use-tree-node.type.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.d.ts +33 -10
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +86 -42
- package/esm/components/use-tree/use-tree.type.d.ts +16 -13
- package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
- package/esm/components/use-treeselect/index.d.ts +4 -0
- package/esm/components/use-treeselect/index.d.ts.map +1 -0
- package/esm/components/use-treeselect/index.js +26 -0
- package/esm/components/use-treeselect/use-tiled.d.ts +13 -0
- package/esm/components/use-treeselect/use-tiled.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-tiled.js +99 -0
- package/esm/components/use-treeselect/use-tiled.type.d.ts +15 -0
- package/esm/components/use-treeselect/use-tiled.type.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-tiled.type.js +5 -0
- package/esm/components/use-treeselect/use-treeselect.d.ts +7 -0
- package/esm/components/use-treeselect/use-treeselect.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-treeselect.js +29 -0
- package/esm/components/use-treeselect/use-treeselect.type.d.ts +9 -0
- package/esm/components/use-treeselect/use-treeselect.type.d.ts.map +1 -0
- package/esm/components/use-treeselect/use-treeselect.type.js +5 -0
- package/esm/index.d.ts +5 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +60 -0
- package/esm/utils/dom/element.d.ts +2 -1
- package/esm/utils/dom/element.d.ts.map +1 -1
- package/esm/utils/dom/element.js +9 -1
- package/esm/utils/dom/index.d.ts +3 -0
- package/esm/utils/dom/index.d.ts.map +1 -1
- package/esm/utils/dom/index.js +32 -10
- package/esm/utils/dom/responsiveObserve.d.ts +13 -0
- package/esm/utils/dom/responsiveObserve.d.ts.map +1 -0
- package/esm/utils/dom/responsiveObserve.js +89 -0
- package/esm/utils/dom/responsiveObserve.type.d.ts +5 -0
- package/esm/utils/dom/responsiveObserve.type.d.ts.map +1 -0
- package/esm/utils/dom/responsiveObserve.type.js +5 -0
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +12 -0
- package/esm/utils/is.d.ts +1 -0
- package/esm/utils/is.d.ts.map +1 -1
- package/esm/utils/is.js +5 -1
- package/esm/utils/render.d.ts.map +1 -1
- package/esm/utils/tree.d.ts +14 -0
- package/esm/utils/tree.d.ts.map +1 -0
- package/esm/utils/tree.js +93 -0
- package/package.json +3 -2
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-select-group.d.ts","sourceRoot":"","sources":["use-select-group.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAG9D,QAAA,MAAM,cAAc;;;CAoCnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
9
|
+
require("core-js/modules/es.array.reduce.js");
|
10
|
+
require("core-js/modules/es.array.concat.js");
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
13
|
+
var _react = require("react");
|
14
|
+
var _utils = require("../../utils");
|
15
|
+
var UseSelectGroup = function UseSelectGroup(props) {
|
16
|
+
var _props$data = props.data,
|
17
|
+
dataProp = _props$data === void 0 ? [] : _props$data,
|
18
|
+
groupBy = props.groupBy;
|
19
|
+
var _useState = (0, _react.useState)([]),
|
20
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
21
|
+
data = _useState2[0],
|
22
|
+
setData = _useState2[1];
|
23
|
+
var groupKey = (0, _react.useRef)('');
|
24
|
+
var initGroupData = function initGroupData() {
|
25
|
+
if (typeof groupBy !== 'function') {
|
26
|
+
setData(dataProp);
|
27
|
+
return;
|
28
|
+
}
|
29
|
+
var groupData = {};
|
30
|
+
dataProp.forEach(function (item, index) {
|
31
|
+
var group = groupBy(item, index, dataProp);
|
32
|
+
if (!groupData[group]) groupData[group || ''] = group ? [(0, _defineProperty2.default)({}, groupKey.current, group)] : [];
|
33
|
+
groupData[group].push(item);
|
34
|
+
});
|
35
|
+
var newData = Object.keys(groupData).reduce(function (p, v) {
|
36
|
+
return v ? p.concat(groupData[v]) : groupData[v].concat(p);
|
37
|
+
}, []);
|
38
|
+
setData(newData);
|
39
|
+
};
|
40
|
+
(0, _react.useEffect)(function () {
|
41
|
+
if (!groupBy) return;
|
42
|
+
groupKey.current = (0, _utils.getUidStr)();
|
43
|
+
initGroupData();
|
44
|
+
}, [dataProp]);
|
45
|
+
return {
|
46
|
+
data: data,
|
47
|
+
groupKey: groupKey.current
|
48
|
+
};
|
49
|
+
};
|
50
|
+
var _default = UseSelectGroup;
|
51
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-select-group.type.d.ts","sourceRoot":"","sources":["use-select-group.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB,CAAC,QAAQ;IAC3C,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;CACzE"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"use-select.d.ts","sourceRoot":"","sources":["use-select.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCd,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.default = void 0;
|
7
7
|
var _useInputAble2 = require("../../common/use-input-able");
|
8
8
|
var _useListSelect = require("../../common/use-list-select");
|
9
|
-
// import { getKey } from '../../utils';
|
10
|
-
// import { KeygenResult } from '../../common/type';
|
11
|
-
|
12
9
|
var useSelect = function useSelect(props) {
|
13
10
|
var data = props.data,
|
11
|
+
treeData = props.treeData,
|
12
|
+
separator = props.separator,
|
14
13
|
control = props.control,
|
15
14
|
defaultValue = props.defaultValue,
|
16
15
|
beforeChange = props.beforeChange,
|
@@ -30,7 +29,8 @@ var useSelect = function useSelect(props) {
|
|
30
29
|
value = _useInputAble.value,
|
31
30
|
onChange = _useInputAble.onChange;
|
32
31
|
var datum = (0, _useListSelect.useListSelect)({
|
33
|
-
data: data,
|
32
|
+
data: data || treeData,
|
33
|
+
separator: separator,
|
34
34
|
format: format,
|
35
35
|
value: value,
|
36
36
|
multiple: multiple,
|
@@ -1,14 +1,18 @@
|
|
1
1
|
import { ObjectKey } from '../../common/type';
|
2
2
|
export interface BaseSelectProps<DataItem, Value> {
|
3
3
|
value?: Value;
|
4
|
-
data
|
4
|
+
data?: DataItem[];
|
5
|
+
treeData?: DataItem[];
|
5
6
|
defaultValue?: Value;
|
6
7
|
control: boolean;
|
8
|
+
separator?: string;
|
7
9
|
multiple?: boolean;
|
10
|
+
childrenKey?: keyof DataItem;
|
8
11
|
disabled?: boolean | ((data: DataItem) => boolean);
|
9
12
|
prediction?: (value: Value, Data: DataItem) => boolean;
|
10
13
|
format?: ((data: DataItem) => Value extends (infer U)[] ? U : Value) | ObjectKey<DataItem>;
|
11
14
|
beforeChange?: (value: Value) => any;
|
12
15
|
onChange?: (value: Value, data?: DataItem | DataItem[], checked?: boolean) => void;
|
16
|
+
groupBy?: (item: DataItem, index?: number, data?: DataItem[]) => string;
|
13
17
|
}
|
14
18
|
//# sourceMappingURL=use-select.type.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,QAAQ,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"use-select.type.d.ts","sourceRoot":"","sources":["use-select.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvD,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3F,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAC;CACzE"}
|
@@ -13,15 +13,15 @@ export declare const useSlider: <Value extends number | number[]>(props: UseSlid
|
|
13
13
|
startValue: number;
|
14
14
|
endValue: number;
|
15
15
|
innerStyle: {
|
16
|
-
top: string;
|
17
16
|
bottom: string;
|
17
|
+
top: string;
|
18
18
|
left?: undefined;
|
19
19
|
right?: undefined;
|
20
20
|
} | {
|
21
21
|
left: string;
|
22
22
|
right: string;
|
23
|
-
top?: undefined;
|
24
23
|
bottom?: undefined;
|
24
|
+
top?: undefined;
|
25
25
|
};
|
26
26
|
};
|
27
27
|
export default useSlider;
|
@@ -93,7 +93,7 @@ var useSlider = function useSlider(props) {
|
|
93
93
|
var newRate = (0, _toConsumableArray2.default)(r);
|
94
94
|
var v = context.dragIndex === 0 ? r[0] : r[1];
|
95
95
|
var max = props.vertical ? target.clientHeight : target.clientWidth;
|
96
|
-
var delta = props.vertical ? deltaY : deltaX;
|
96
|
+
var delta = props.vertical ? deltaY * -1 : deltaX;
|
97
97
|
var rate = Math.max(v + delta / max, 0);
|
98
98
|
if (rate > 1) {
|
99
99
|
rate = 1;
|
@@ -126,7 +126,7 @@ var useSlider = function useSlider(props) {
|
|
126
126
|
if (context.clickLock) return;
|
127
127
|
var target = e.currentTarget;
|
128
128
|
var rect = target.getBoundingClientRect();
|
129
|
-
var rate = !props.vertical ? (e.clientX - rect.left) / rect.width : (
|
129
|
+
var rate = !props.vertical ? (e.clientX - rect.left) / rect.width : (rect.bottom - e.clientY) / rect.height;
|
130
130
|
var value = getValueFromRate(rate, scale, step);
|
131
131
|
if (props.range) {
|
132
132
|
var _start = startValue;
|
@@ -145,8 +145,8 @@ var useSlider = function useSlider(props) {
|
|
145
145
|
});
|
146
146
|
var getTrackInnerStyle = function getTrackInnerStyle(start, end) {
|
147
147
|
if (props.vertical) return {
|
148
|
-
|
149
|
-
|
148
|
+
bottom: start * 100 + '%',
|
149
|
+
top: (1 - end) * 100 + '%'
|
150
150
|
};
|
151
151
|
return {
|
152
152
|
left: start * 100 + '%',
|
@@ -1,12 +1,13 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { BaseTreeNodeProps } from './use-tree-node.type';
|
3
|
-
declare const useTreeNode: <DataItem>(props: BaseTreeNodeProps<DataItem>) => {
|
3
|
+
declare const useTreeNode: <DataItem, Value>(props: BaseTreeNodeProps<DataItem, Value>) => {
|
4
4
|
update: (key: string, value: boolean) => void;
|
5
5
|
active: boolean;
|
6
6
|
expanded: boolean;
|
7
7
|
fetching: boolean;
|
8
8
|
isLeaf: () => boolean;
|
9
9
|
setFetching: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
10
|
+
setExpanded: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
10
11
|
onToggle: () => void;
|
11
12
|
};
|
12
13
|
export default useTreeNode;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tree-node.d.ts","sourceRoot":"","sources":["use-tree-node.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,WAAW;kBAMmB,MAAM,SAAS,OAAO
|
1
|
+
{"version":3,"file":"use-tree-node.d.ts","sourceRoot":"","sources":["use-tree-node.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,QAAA,MAAM,WAAW;kBAMmB,MAAM,SAAS,OAAO;;;;;;;;CAmDzD,CAAC;AACF,eAAe,WAAW,CAAC"}
|
@@ -13,8 +13,7 @@ var useTreeNode = function useTreeNode(props) {
|
|
13
13
|
data = props.data,
|
14
14
|
bindNode = props.bindNode,
|
15
15
|
childrenKey = props.childrenKey,
|
16
|
-
loader = props.loader
|
17
|
-
onToggle = props.onToggle;
|
16
|
+
loader = props.loader;
|
18
17
|
var _useState = (0, _react.useState)(false),
|
19
18
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
20
19
|
active = _useState2[0],
|
@@ -45,9 +44,9 @@ var useTreeNode = function useTreeNode(props) {
|
|
45
44
|
}
|
46
45
|
});
|
47
46
|
var handleToggle = function handleToggle() {
|
48
|
-
|
49
|
-
setExpanded(newExpand);
|
50
|
-
if (onToggle) onToggle(id, newExpand);
|
47
|
+
// const newExpand = !expanded;
|
48
|
+
// setExpanded(newExpand);
|
49
|
+
// if (onToggle) onToggle(id, newExpand);
|
51
50
|
};
|
52
51
|
var isLeaf = function isLeaf() {
|
53
52
|
var children = data[childrenKey];
|
@@ -60,9 +59,9 @@ var useTreeNode = function useTreeNode(props) {
|
|
60
59
|
(0, _react.useEffect)(function () {
|
61
60
|
var _bindNode = bindNode(id, update),
|
62
61
|
active = _bindNode.active,
|
63
|
-
|
62
|
+
nextExpanded = _bindNode.expanded;
|
64
63
|
setActive(active);
|
65
|
-
setExpanded(
|
64
|
+
setExpanded(nextExpanded);
|
66
65
|
}, []);
|
67
66
|
return {
|
68
67
|
update: update,
|
@@ -71,6 +70,7 @@ var useTreeNode = function useTreeNode(props) {
|
|
71
70
|
fetching: fetching,
|
72
71
|
isLeaf: isLeaf,
|
73
72
|
setFetching: setFetching,
|
73
|
+
setExpanded: setExpanded,
|
74
74
|
onToggle: handleToggle
|
75
75
|
};
|
76
76
|
};
|
@@ -7,7 +7,7 @@ export interface NodeState {
|
|
7
7
|
expanded: boolean;
|
8
8
|
fetching: boolean;
|
9
9
|
}
|
10
|
-
export interface BaseTreeNodeProps<DataItem> {
|
10
|
+
export interface BaseTreeNodeProps<DataItem, Value> {
|
11
11
|
id: KeygenResult;
|
12
12
|
data: DataItem;
|
13
13
|
childrenKey: keyof DataItem;
|
@@ -20,7 +20,7 @@ export interface BaseTreeNodeProps<DataItem> {
|
|
20
20
|
};
|
21
21
|
content: HTMLDivElement | null;
|
22
22
|
loader?: (key: KeygenResult, data: DataItem) => void;
|
23
|
-
onToggle?: (id:
|
23
|
+
onToggle?: (id: Value, expanded: boolean) => void;
|
24
24
|
onDrop?: (data: DataItem[], key: KeygenResult, targetKey: KeygenResult, position: number) => void;
|
25
25
|
}
|
26
26
|
//# sourceMappingURL=use-tree-node.type.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tree-node.type.d.ts","sourceRoot":"","sources":["use-tree-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,oBAAY,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,oBAAY,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ;
|
1
|
+
{"version":3,"file":"use-tree-node.type.d.ts","sourceRoot":"","sources":["use-tree-node.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,oBAAY,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAE5D,oBAAY,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,KAAK;IAChD,EAAE,EAAE,YAAY,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,QAAQ,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;IAC3D,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,QAAQ,EAAE,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,KAAK;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3F,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACnG"}
|
@@ -22,22 +22,45 @@ export declare const MODE: {
|
|
22
22
|
*/
|
23
23
|
MODE_4: number;
|
24
24
|
};
|
25
|
-
declare const useTree: <DataItem>(props: BaseTreeProps<DataItem>) => {
|
26
|
-
|
27
|
-
get: (id:
|
28
|
-
set: (id:
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
25
|
+
declare const useTree: <DataItem, Value extends KeygenResult>(props: BaseTreeProps<DataItem, Value>) => {
|
26
|
+
datum: {
|
27
|
+
get: (id: Value) => CheckedStatusType | undefined;
|
28
|
+
set: (id: Value, checked: CheckedStatusType, direction?: 'asc' | 'desc') => CheckedStatusType;
|
29
|
+
childrenKey: keyof DataItem & string;
|
30
|
+
data: DataItem[];
|
31
|
+
getPath: (id: Value) => TreePathType<Value> | undefined;
|
32
|
+
getValue: () => Value[];
|
33
|
+
getChecked: (id: Value) => boolean | "indeterminate";
|
34
|
+
getKey: (item: DataItem, id?: KeygenResult, index?: number) => Value;
|
35
|
+
getDataByValues: (values: Value | Value[]) => NonNullable<DataItem> | {
|
36
|
+
IS_NOT_MATCHED_VALUE: boolean;
|
37
|
+
value: KeygenResult;
|
38
|
+
} | (NonNullable<DataItem> | {
|
39
|
+
IS_NOT_MATCHED_VALUE: boolean;
|
40
|
+
value: KeygenResult;
|
41
|
+
} | null)[] | null;
|
42
|
+
setValue: (value?: Value[] | undefined) => void;
|
43
|
+
setData: (data?: DataItem[] | undefined) => void;
|
44
|
+
isDisabled: (id: Value) => boolean;
|
33
45
|
bindNode: (id: KeygenResult, update: UpdateFunc) => {
|
34
46
|
active: boolean;
|
35
47
|
expanded: boolean;
|
36
48
|
};
|
49
|
+
getDataById: (id: KeygenResult) => NonNullable<DataItem> | {
|
50
|
+
IS_NOT_MATCHED_VALUE: boolean;
|
51
|
+
value: KeygenResult;
|
52
|
+
} | null;
|
37
53
|
};
|
38
|
-
|
54
|
+
getKey: (item: DataItem, id?: KeygenResult, index?: number) => Value;
|
55
|
+
getDataById: (id: KeygenResult) => NonNullable<DataItem> | {
|
56
|
+
IS_NOT_MATCHED_VALUE: boolean;
|
57
|
+
value: KeygenResult;
|
58
|
+
} | null;
|
59
|
+
expanded: KeygenResult[] | undefined;
|
60
|
+
onExpand: (value: KeygenResult[]) => void;
|
61
|
+
pathMap: Map<Value, TreePathType<Value>>;
|
39
62
|
dataMap: Map<KeygenResult, DataItem>;
|
40
|
-
valueMap: Map<
|
63
|
+
valueMap: Map<Value, CheckedStatusType>;
|
41
64
|
updateMap: Map<KeygenResult, UpdateFunc>;
|
42
65
|
};
|
43
66
|
export default useTree;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,iBAAiB,EAEjB,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;kCA8SsB,iBAAiB,cAAc,KAAK,GAAG,MAAM;;;;;;sCA9O1C,YAAY,UAAe,MAAM;;;;;;;;;;;uBAf/C,YAAY,UAAU,UAAU;;;;0BAoF7B,YAAY;;;;;kCArED,YAAY,UAAe,MAAM;sBAqE5C,YAAY;;;;;;;;;;CAiQtC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -11,11 +11,12 @@ require("core-js/modules/es.map.js");
|
|
11
11
|
require("core-js/modules/web.dom-collections.iterator.js");
|
12
12
|
require("core-js/modules/es.array.index-of.js");
|
13
13
|
require("core-js/modules/web.dom-collections.for-each.js");
|
14
|
+
require("core-js/modules/es.array.map.js");
|
14
15
|
require("core-js/modules/es.array.concat.js");
|
15
16
|
require("core-js/modules/es.array.filter.js");
|
16
|
-
require("core-js/modules/es.set.js");
|
17
17
|
var _react = require("react");
|
18
18
|
var _useLatestObj = _interopRequireDefault(require("../../common/use-latest-obj"));
|
19
|
+
var _useInputAble2 = require("../../common/use-input-able");
|
19
20
|
var _is = require("../../utils/is");
|
20
21
|
var MODE = {
|
21
22
|
/**
|
@@ -51,17 +52,39 @@ var useTree = function useTree(props) {
|
|
51
52
|
keygen = props.keygen,
|
52
53
|
mode = props.mode,
|
53
54
|
activeProp = props.active,
|
54
|
-
|
55
|
-
|
55
|
+
expandedProp = props.expanded,
|
56
|
+
_props$defaultExpande = props.defaultExpanded,
|
57
|
+
defaultExpanded = _props$defaultExpande === void 0 ? [] : _props$defaultExpande,
|
56
58
|
defaultExpandAll = props.defaultExpandAll,
|
57
|
-
disabledProps = props.disabled
|
59
|
+
disabledProps = props.disabled,
|
60
|
+
unmatch = props.unmatch,
|
61
|
+
isControlled = props.isControlled,
|
62
|
+
onExpandProp = props.onExpand;
|
63
|
+
|
64
|
+
// const {} = useInputAble({
|
65
|
+
// value: props.value,
|
66
|
+
// defaultValue: props.defaultValue,
|
67
|
+
// control: props.control,
|
68
|
+
// onChange: props.onChange,
|
69
|
+
// beforeChange: props.beforeChange,
|
70
|
+
// });
|
71
|
+
|
72
|
+
var _useInputAble = (0, _useInputAble2.useInputAble)({
|
73
|
+
value: expandedProp,
|
74
|
+
defaultValue: defaultExpanded,
|
75
|
+
control: isControlled,
|
76
|
+
onChange: onExpandProp,
|
77
|
+
beforeChange: undefined
|
78
|
+
}),
|
79
|
+
expanded = _useInputAble.value,
|
80
|
+
onExpand = _useInputAble.onChange;
|
58
81
|
var _useRef = (0, _react.useRef)({
|
59
82
|
pathMap: new Map(),
|
60
83
|
dataMap: new Map(),
|
61
84
|
valueMap: new Map(),
|
62
85
|
updateMap: new Map(),
|
63
86
|
disabled: false,
|
64
|
-
value:
|
87
|
+
value: undefined,
|
65
88
|
data: [],
|
66
89
|
cachedValue: []
|
67
90
|
}),
|
@@ -84,9 +107,9 @@ var useTree = function useTree(props) {
|
|
84
107
|
expanded: !!(expandeds && expandeds.indexOf(id) >= 0)
|
85
108
|
};
|
86
109
|
};
|
87
|
-
function get(id) {
|
110
|
+
var get = function get(id) {
|
88
111
|
return context.valueMap.get(id);
|
89
|
-
}
|
112
|
+
};
|
90
113
|
var getKey = function getKey(item) {
|
91
114
|
var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
92
115
|
var index = arguments.length > 2 ? arguments[2] : undefined;
|
@@ -133,6 +156,7 @@ var useTree = function useTree(props) {
|
|
133
156
|
default:
|
134
157
|
}
|
135
158
|
});
|
159
|
+
context.cachedValue = values;
|
136
160
|
return values;
|
137
161
|
};
|
138
162
|
var getPath = function getPath(id) {
|
@@ -152,12 +176,21 @@ var useTree = function useTree(props) {
|
|
152
176
|
if (value === 2) checked = 'indeterminate';
|
153
177
|
return checked;
|
154
178
|
};
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
179
|
+
var getDataById = function getDataById(id) {
|
180
|
+
var oroginData = context.dataMap.get(id);
|
181
|
+
if (oroginData) return oroginData;
|
182
|
+
if (!unmatch) return null;
|
183
|
+
return {
|
184
|
+
IS_NOT_MATCHED_VALUE: true,
|
185
|
+
value: id
|
186
|
+
};
|
187
|
+
};
|
188
|
+
var getDataByValues = function getDataByValues(values) {
|
189
|
+
if ((0, _is.isArray)(values)) {
|
190
|
+
return values.map(getDataById);
|
191
|
+
}
|
192
|
+
return getDataById(values);
|
193
|
+
};
|
161
194
|
var setValueMap = function setValueMap(id, checked) {
|
162
195
|
context.valueMap.set(id, checked);
|
163
196
|
};
|
@@ -169,6 +202,7 @@ var useTree = function useTree(props) {
|
|
169
202
|
var id = getKey(item, path[path.length - 1], i);
|
170
203
|
// 重复 id 警告
|
171
204
|
if (context.dataMap.get(id)) {
|
205
|
+
console.error("There is already a key \"".concat(id, "\" exists. The key must be unique."));
|
172
206
|
return;
|
173
207
|
}
|
174
208
|
// 制作 data mapping
|
@@ -177,32 +211,32 @@ var useTree = function useTree(props) {
|
|
177
211
|
if (_isDisabled === false && (0, _is.isFunc)(context.disabled)) {
|
178
212
|
_isDisabled = context.disabled(item);
|
179
213
|
}
|
180
|
-
ids.push(id);
|
181
214
|
var indexPath = [].concat((0, _toConsumableArray2.default)(index), [i]);
|
215
|
+
ids.push(id);
|
182
216
|
var children = [];
|
183
217
|
if (Array.isArray(item[childrenKey])) {
|
184
218
|
var _children = initData(item[childrenKey], [].concat((0, _toConsumableArray2.default)(path), [id]), mode === MODE.MODE_4 ? disabled : _isDisabled, indexPath);
|
185
219
|
if (_children) children = _children;
|
186
220
|
}
|
187
221
|
context.pathMap.set(id, {
|
188
|
-
index: i,
|
189
|
-
path: path,
|
190
222
|
children: children,
|
223
|
+
path: path,
|
191
224
|
isDisabled: _isDisabled,
|
192
|
-
indexPath: indexPath
|
225
|
+
indexPath: indexPath,
|
226
|
+
index: i
|
193
227
|
});
|
194
228
|
}
|
195
229
|
return ids;
|
196
230
|
};
|
197
231
|
var initValue = function initValue(ids_outer, forceCheck) {
|
198
232
|
var ids = ids_outer;
|
199
|
-
if (!data || !value) {
|
233
|
+
if (!context.data || !context.value) {
|
200
234
|
return undefined;
|
201
235
|
}
|
202
236
|
if (!ids) {
|
203
237
|
ids = [];
|
204
|
-
context.pathMap.forEach(function (
|
205
|
-
if (
|
238
|
+
context.pathMap.forEach(function (item, index) {
|
239
|
+
if (item.path.length === 0) {
|
206
240
|
ids.push(index);
|
207
241
|
}
|
208
242
|
});
|
@@ -219,13 +253,13 @@ var useTree = function useTree(props) {
|
|
219
253
|
if (forceCheck) {
|
220
254
|
setValueMap(item, 1);
|
221
255
|
initValue(children, forceCheck);
|
222
|
-
|
256
|
+
continue;
|
223
257
|
}
|
224
|
-
var childChecked = value.indexOf(item) >= 0 ? 1 : 0;
|
258
|
+
var childChecked = context.value.indexOf(item) >= 0 ? 1 : 0;
|
225
259
|
|
226
260
|
// 选中且非 mode 1 和 mode 4,则需要将其子选项统统强制选中
|
227
261
|
if (childChecked === 1 && mode !== MODE.MODE_1 && mode !== MODE.MODE_4) {
|
228
|
-
|
262
|
+
initValue(children, true);
|
229
263
|
}
|
230
264
|
// mode 2 mode 3 mode 的情况下,需要根据 children 内容来决定是否选中
|
231
265
|
else if (children.length > 0) {
|
@@ -234,7 +268,7 @@ var useTree = function useTree(props) {
|
|
234
268
|
}
|
235
269
|
// 没有子节点的情况下,需要根据 value 来决定是否选中
|
236
270
|
else {
|
237
|
-
childChecked = value.indexOf(item) >= 0 ? 1 : 0;
|
271
|
+
childChecked = context.value.indexOf(item) >= 0 ? 1 : 0;
|
238
272
|
}
|
239
273
|
|
240
274
|
// 同步状态至 map 中
|
@@ -289,7 +323,7 @@ var useTree = function useTree(props) {
|
|
289
323
|
setValueMap(id, checked);
|
290
324
|
}
|
291
325
|
|
292
|
-
//
|
326
|
+
// const data = getDataById(id);
|
293
327
|
|
294
328
|
if (mode === MODE.MODE_4) {
|
295
329
|
return 0;
|
@@ -322,34 +356,44 @@ var useTree = function useTree(props) {
|
|
322
356
|
}
|
323
357
|
return current;
|
324
358
|
};
|
325
|
-
|
326
|
-
var temp = new Set(expanded);
|
327
|
-
context.updateMap.forEach(function (update, id) {
|
328
|
-
update('expanded', temp.has(id));
|
329
|
-
});
|
330
|
-
};
|
331
|
-
(0, _react.useEffect)(function () {
|
359
|
+
if (firstRender.current) {
|
332
360
|
setValue(value);
|
333
361
|
setData(data);
|
334
|
-
|
335
|
-
|
336
|
-
});
|
337
|
-
}, [data]);
|
362
|
+
firstRender.current = false;
|
363
|
+
}
|
338
364
|
(0, _react.useEffect)(function () {
|
339
|
-
if (
|
340
|
-
|
341
|
-
|
342
|
-
|
365
|
+
if (defaultExpandAll) {
|
366
|
+
var nextExpanded = [];
|
367
|
+
context.dataMap.forEach(function (item, k) {
|
368
|
+
if (item[childrenKey]) {
|
369
|
+
nextExpanded.push(k);
|
370
|
+
}
|
371
|
+
});
|
372
|
+
onExpand(nextExpanded);
|
373
|
+
}
|
374
|
+
}, []);
|
375
|
+
var datum = (0, _useLatestObj.default)({
|
343
376
|
get: get,
|
344
377
|
set: set,
|
378
|
+
childrenKey: childrenKey,
|
379
|
+
data: data,
|
345
380
|
getPath: getPath,
|
346
381
|
getValue: getValue,
|
347
382
|
getChecked: getChecked,
|
383
|
+
getKey: getKey,
|
384
|
+
getDataByValues: getDataByValues,
|
385
|
+
setValue: setValue,
|
386
|
+
setData: setData,
|
348
387
|
isDisabled: isDisabled,
|
349
|
-
bindNode: bindNode
|
388
|
+
bindNode: bindNode,
|
389
|
+
getDataById: getDataById
|
350
390
|
});
|
351
391
|
return {
|
352
|
-
|
392
|
+
datum: datum,
|
393
|
+
getKey: getKey,
|
394
|
+
getDataById: getDataById,
|
395
|
+
expanded: expanded,
|
396
|
+
onExpand: onExpand,
|
353
397
|
pathMap: context.pathMap,
|
354
398
|
dataMap: context.dataMap,
|
355
399
|
valueMap: context.valueMap,
|
@@ -1,36 +1,39 @@
|
|
1
|
-
import {
|
1
|
+
import { StructKeygenStringType, KeygenResult } from '../../common/type';
|
2
2
|
export declare type CheckedStatusType = 0 | 1 | 2;
|
3
3
|
export declare type TreeModeType = 0 | 1 | 2 | 3 | 4;
|
4
4
|
export declare type UpdateFunc = (name: string, active: boolean) => void;
|
5
|
-
export interface TreeContext<DataItem> {
|
6
|
-
pathMap: Map<
|
5
|
+
export interface TreeContext<DataItem, Value> {
|
6
|
+
pathMap: Map<Value, TreePathType<Value>>;
|
7
7
|
dataMap: Map<KeygenResult, DataItem>;
|
8
|
-
valueMap: Map<
|
8
|
+
valueMap: Map<Value, CheckedStatusType>;
|
9
9
|
updateMap: Map<KeygenResult, UpdateFunc>;
|
10
10
|
disabled: boolean | ((item: DataItem) => boolean);
|
11
|
-
value?:
|
12
|
-
cachedValue:
|
11
|
+
value?: Value[];
|
12
|
+
cachedValue: Value[];
|
13
13
|
data?: DataItem[];
|
14
14
|
}
|
15
|
-
export interface TreePathType {
|
16
|
-
children:
|
17
|
-
path:
|
15
|
+
export interface TreePathType<Value> {
|
16
|
+
children: Value[];
|
17
|
+
path: Value[];
|
18
18
|
isDisabled: boolean;
|
19
19
|
indexPath: number[];
|
20
20
|
index: number;
|
21
21
|
}
|
22
|
-
export interface BaseTreeProps<DataItem
|
22
|
+
export interface BaseTreeProps<DataItem, Value extends KeygenResult> {
|
23
|
+
isControlled: boolean;
|
23
24
|
active?: KeygenResult;
|
24
|
-
value?:
|
25
|
-
defaultValue?:
|
25
|
+
value?: Value[];
|
26
|
+
defaultValue?: Value[];
|
26
27
|
data: DataItem[];
|
27
28
|
expanded?: KeygenResult[];
|
28
29
|
defaultExpanded?: KeygenResult[];
|
29
30
|
defaultExpandAll?: boolean;
|
30
31
|
disabled?: boolean | ((item: DataItem) => boolean);
|
31
32
|
keygen: StructKeygenStringType<DataItem>;
|
32
|
-
childrenKey?: keyof DataItem;
|
33
|
+
childrenKey?: keyof DataItem & string;
|
33
34
|
mode?: TreeModeType;
|
34
35
|
dataUpdate?: boolean;
|
36
|
+
unmatch?: boolean;
|
37
|
+
onExpand?: (value: KeygenResult[]) => void;
|
35
38
|
}
|
36
39
|
//# 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,
|
1
|
+
{"version":3,"file":"use-tree.type.d.ts","sourceRoot":"","sources":["use-tree.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzE,oBAAY,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE1C,oBAAY,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7C,oBAAY,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAEjE,MAAM,WAAW,WAAW,CAAC,QAAQ,EAAE,KAAK;IAC1C,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACxC,SAAS,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY,CAAC,KAAK;IACjC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa,CAAC,QAAQ,EAAE,KAAK,SAAS,YAAY;IACjE,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;IACvB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC;IACtC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;CAC5C"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|