@hi-ui/cascader 4.0.0-alpha.6 → 4.0.0-beta.0
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/README.md +108 -7
- package/lib/cjs/Cascader.js +222 -134
- package/lib/cjs/Cascader.js.map +1 -1
- package/lib/cjs/context.js.map +1 -1
- package/lib/cjs/hooks/use-async-switch.js +10 -34
- package/lib/cjs/hooks/use-async-switch.js.map +1 -1
- package/lib/cjs/hooks/{use-cache.js → use-cache/lib/esm/index.js} +12 -5
- package/lib/cjs/hooks/use-cache/lib/esm/index.js.map +1 -0
- package/lib/cjs/hooks/use-select.js +3 -1
- package/lib/cjs/hooks/use-select.js.map +1 -1
- package/lib/cjs/icons/index.js +20 -34
- package/lib/cjs/icons/index.js.map +1 -1
- package/lib/cjs/index.js +0 -4
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/styles/index.scss.js +1 -1
- package/lib/cjs/use-cascader.js +40 -72
- package/lib/cjs/use-cascader.js.map +1 -1
- package/lib/cjs/utils/index.js +35 -27
- package/lib/cjs/utils/index.js.map +1 -1
- package/lib/esm/Cascader.js +216 -127
- package/lib/esm/Cascader.js.map +1 -1
- package/lib/esm/context.js.map +1 -1
- package/lib/esm/hooks/use-async-switch.js +11 -36
- package/lib/esm/hooks/use-async-switch.js.map +1 -1
- package/lib/esm/hooks/{use-cache.js → use-cache/lib/esm/index.js} +12 -5
- package/lib/esm/hooks/use-cache/lib/esm/index.js.map +1 -0
- package/lib/esm/hooks/use-select.js +2 -1
- package/lib/esm/hooks/use-select.js.map +1 -1
- package/lib/esm/icons/index.js +20 -34
- package/lib/esm/icons/index.js.map +1 -1
- package/lib/esm/index.js +1 -2
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/styles/index.scss.js +1 -1
- package/lib/esm/use-cascader.js +35 -66
- package/lib/esm/use-cascader.js.map +1 -1
- package/lib/esm/utils/index.js +33 -25
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/types/Cascader.d.ts +20 -46
- package/lib/types/context.d.ts +25 -558
- package/lib/types/hooks/index.d.ts +0 -2
- package/lib/types/hooks/use-async-switch.d.ts +2 -2
- package/lib/types/hooks/use-select.d.ts +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/types.d.ts +14 -10
- package/lib/types/use-cascader.d.ts +52 -280
- package/lib/types/utils/index.d.ts +4 -7
- package/package.json +22 -16
- package/lib/cjs/CascaderPanel.js +0 -81
- package/lib/cjs/CascaderPanel.js.map +0 -1
- package/lib/cjs/hooks/use-cache.js.map +0 -1
- package/lib/cjs/hooks/use-search.js +0 -116
- package/lib/cjs/hooks/use-search.js.map +0 -1
- package/lib/esm/CascaderPanel.js +0 -58
- package/lib/esm/CascaderPanel.js.map +0 -1
- package/lib/esm/hooks/use-cache.js.map +0 -1
- package/lib/esm/hooks/use-search.js +0 -107
- package/lib/esm/hooks/use-search.js.map +0 -1
- package/lib/types/CascaderPanel.d.ts +0 -142
- package/lib/types/hooks/use-cache.d.ts +0 -8
- package/lib/types/hooks/use-search.d.ts +0 -9
@@ -9,9 +9,10 @@
|
|
9
9
|
*/
|
10
10
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
11
11
|
import { __awaiter } from 'tslib';
|
12
|
-
import { useCallback
|
12
|
+
import { useCallback } from 'react';
|
13
13
|
import { useLatestCallback } from '@hi-ui/use-latest';
|
14
|
-
import { cloneTree, addChildrenById } from '@hi-ui/tree-utils';
|
14
|
+
import { cloneTree, addChildrenById, getTopDownAncestors } from '@hi-ui/tree-utils';
|
15
|
+
import { useCheckState } from '@hi-ui/use-check-state';
|
15
16
|
|
16
17
|
var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadChildren) {
|
17
18
|
var onLoadChildrenLatest = useLatestCallback(onLoadChildren); // 加载节点
|
@@ -24,7 +25,10 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
|
|
24
25
|
switch (_context.prev = _context.next) {
|
25
26
|
case 0:
|
26
27
|
_context.next = 2;
|
27
|
-
return onLoadChildrenLatest(node)
|
28
|
+
return onLoadChildrenLatest(node, getTopDownAncestors(node).map(function (_ref) {
|
29
|
+
var id = _ref.id;
|
30
|
+
return id;
|
31
|
+
}));
|
28
32
|
|
29
33
|
case 2:
|
30
34
|
childrenNodes = _context.sent;
|
@@ -46,10 +50,10 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
|
|
46
50
|
}));
|
47
51
|
}, [onLoadChildrenLatest, setCascaderData]);
|
48
52
|
|
49
|
-
var
|
50
|
-
|
51
|
-
addLoadingIds =
|
52
|
-
removeLoadingIds =
|
53
|
+
var _useCheckState = useCheckState(),
|
54
|
+
isLoadingId = _useCheckState.has,
|
55
|
+
addLoadingIds = _useCheckState.add,
|
56
|
+
removeLoadingIds = _useCheckState.remove;
|
53
57
|
|
54
58
|
var onExpandLatest = useLatestCallback(onExpand);
|
55
59
|
var onNodeSwitch = useCallback(function (node, onlyExpand) {
|
@@ -111,37 +115,8 @@ var useAsyncSwitch = function useAsyncSwitch(setCascaderData, onExpand, onLoadCh
|
|
111
115
|
}, _callee2, null, [[8, 14]]);
|
112
116
|
}));
|
113
117
|
}, [loadChildren, onLoadChildren, onExpandLatest, addLoadingIds, removeLoadingIds]);
|
114
|
-
|
115
|
-
var isLoadingId = function isLoadingId(id) {
|
116
|
-
return loadingIds.indexOf(id) !== -1;
|
117
|
-
};
|
118
|
-
|
119
118
|
return [isLoadingId, onNodeSwitch];
|
120
119
|
};
|
121
120
|
|
122
|
-
var useList = function useList(initialValue) {
|
123
|
-
if (initialValue === void 0) {
|
124
|
-
initialValue = [];
|
125
|
-
}
|
126
|
-
|
127
|
-
var _useState = useState(initialValue),
|
128
|
-
keyList = _useState[0],
|
129
|
-
setKeyList = _useState[1];
|
130
|
-
|
131
|
-
var remove = useCallback(function (targetKey) {
|
132
|
-
setKeyList(function (prev) {
|
133
|
-
return prev.filter(function (key) {
|
134
|
-
return key !== targetKey;
|
135
|
-
});
|
136
|
-
});
|
137
|
-
}, []);
|
138
|
-
var add = useCallback(function (targetKey) {
|
139
|
-
setKeyList(function (prev) {
|
140
|
-
return prev.indexOf(targetKey) === -1 ? prev.concat(targetKey) : prev;
|
141
|
-
});
|
142
|
-
}, []);
|
143
|
-
return [keyList, add, remove];
|
144
|
-
};
|
145
|
-
|
146
121
|
export { useAsyncSwitch };
|
147
122
|
//# sourceMappingURL=use-async-switch.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-async-switch.js","sources":["../../../src/hooks/use-async-switch.ts"],"sourcesContent":[null],"names":["useAsyncSwitch","setCascaderData","onExpand","onLoadChildren","onLoadChildrenLatest","useLatestCallback","loadChildren","useCallback","node","
|
1
|
+
{"version":3,"file":"use-async-switch.js","sources":["../../../src/hooks/use-async-switch.ts"],"sourcesContent":[null],"names":["useAsyncSwitch","setCascaderData","onExpand","onLoadChildren","onLoadChildrenLatest","useLatestCallback","loadChildren","useCallback","node","getTopDownAncestors","map","id","childrenNodes","Array","isArray","prev","nextTreeData","cloneTree","addChildrenById","useCheckState","isLoadingId","has","addLoadingIds","add","removeLoadingIds","remove","onExpandLatest","onNodeSwitch","onlyExpand","children","isLeaf"],"mappings":";;;;;;;;;;;;;;;;IAMaA,cAAc,GAAG,SAAjBA,cAAiB,CAC5BC,eAD4B,EAE5BC,QAF4B,EAG5BC,cAH4B;MAQtBC,oBAAoB,GAAGC,iBAAiB,CAACF,cAAD;;MAGxCG,YAAY,GAAGC,WAAW,CAC9B,UAAOC,IAAP;;;;;;;;qBAC8BJ,oBAAoB,CAC9CI,IAD8C,EAE9CC,mBAAmB,CAACD,IAAD,CAAnBC,CAA0BC,GAA1BD,CAA8B,cAAA;oBAAGE,EAAH,QAAGA;uBAASA;AAA1C,eAAAF,CAF8C;;;AAA1CG,cAAAA,6BAAAA;;kBAKFC,KAAK,CAACC,OAAND,CAAcD,aAAdC,GAA8B;AAChCZ,gBAAAA,eAAe,CAAC,UAACc,IAAD;sBACRC,YAAY,GAAGC,SAAS,CAACF,IAAD;AAC9BG,kBAAAA,eAAe,CAACF,YAAD,EAAeR,IAAI,CAACG,EAApB,EAAwBC,aAAxB,CAAfM;yBACOF;AAHM,iBAAA,CAAff;;;;;;;;;;AAR0B,GAAA,EAe9B,CAACG,oBAAD,EAAuBH,eAAvB,CAf8B;;uBAkB2CkB,aAAa;MAA3EC,WAAb,kBAAQC;MAAuBC,aAA/B,kBAA0BC;MAA4BC,gBAAtD,kBAA8CC;;MACxCC,cAAc,GAAGrB,iBAAiB,CAACH,QAAD;MAElCyB,YAAY,GAAGpB,WAAW,CAC9B,UAAOC,IAAP,EAAoCoB,UAApC;QAAoCA,UAApC;AAAoCA,MAAAA,UAApC,GAAiD,KAAbA;;;;;;;;;;AAElCF,cAAAA,cAAc,CAAClB,IAAD,EAAOoB,UAAP,CAAdF;AAEQf,cAAAA,KAAyBH,KAAzBG,EAAAA,EAAIkB,WAAqBrB,KAArBqB,QAAJlB,EAAcmB,SAAWtB,KAAXsB,MAAdnB;;mBAEJkB;;;;;;;;mBAIAC;;;;;;;;mBAIA3B;;;;;AACFmB,cAAAA,aAAa,CAACX,EAAD,CAAbW;;;qBAEQhB,YAAY,CAACE,IAAD;;;AAClBgB,cAAAA,gBAAgB,CAACb,EAAD,CAAhBa;;;;;;;AAEAA,cAAAA,gBAAgB,CAACb,EAAD,CAAhBa;;;;;;;;;AArBwB,GAAA,EAyB9B,CAAClB,YAAD,EAAeH,cAAf,EAA+BuB,cAA/B,EAA+CJ,aAA/C,EAA8DE,gBAA9D,CAzB8B;SA4BzB,CAACJ,WAAD,EAAcO,YAAd;;;"}
|
@@ -8,11 +8,18 @@
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
10
|
import { useState, useEffect } from 'react';
|
11
|
-
/**
|
12
|
-
*
|
11
|
+
/** @LICENSE
|
12
|
+
* @hi-ui/use-cache
|
13
|
+
* https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-cache#readme
|
13
14
|
*
|
14
|
-
* @
|
15
|
-
*
|
15
|
+
* Copyright (c) HIUI <mi-hiui@xiaomi.com>.
|
16
|
+
*
|
17
|
+
* This source code is licensed under the MIT license found in the
|
18
|
+
* LICENSE file in the root directory of this source tree.
|
19
|
+
*/
|
20
|
+
|
21
|
+
/**
|
22
|
+
* A hook using for data cache that compatible with the controlled and uncontrolled modes coexist.
|
16
23
|
*/
|
17
24
|
|
18
25
|
var useCache = function useCache(data) {
|
@@ -27,4 +34,4 @@ var useCache = function useCache(data) {
|
|
27
34
|
};
|
28
35
|
|
29
36
|
export { useCache };
|
30
|
-
//# sourceMappingURL=
|
37
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../hooks/use-cache/lib/esm/index.js"],"sourcesContent":["/** @LICENSE\n * @hi-ui/use-cache\n * https://github.com/XiaoMi/hiui/tree/master/packages/hooks/use-cache#readme\n *\n * Copyright (c) HIUI <mi-hiui@xiaomi.com>.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { useState, useEffect } from 'react';\n/**\n * A hook using for data cache that compatible with the controlled and uncontrolled modes coexist.\n */\n\nvar useCache = function useCache(data) {\n var _useState = useState(data),\n internalData = _useState[0],\n setInternalData = _useState[1];\n\n useEffect(function () {\n setInternalData(data);\n }, [data]);\n return [internalData, setInternalData];\n};\n\nexport { useCache };\n//# sourceMappingURL=index.js.map\n"],"names":["useCache","data","useState","internalData","_useState","setInternalData","useEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;AAEA;;;;IAGaA,QAAQ,GAAG,SAAXA,QAAW,CAAAC,IAAA,EAAA;kBACkBC,QAAQ,CAAAD,IAAA;MAAzCE,YAAP,GAAAC,SAAA,CAAA,CAAA;MAAqBC,eAArB,GAAAD,SAAA,CAAA,CAAA;;AAEAE,EAAAA,SAAS,CAAC,YAAA;AACRD,IAAAA,eAAe,CAAfA,IAAe,CAAfA;AADO,GAAA,EAEN,CAFHC,IAEG,CAFM,CAATA;SAIO,CAAAH,YAAA,EAAAE,eAAA;;;"}
|
@@ -9,7 +9,8 @@
|
|
9
9
|
*/
|
10
10
|
import { useState, useCallback } from 'react';
|
11
11
|
import { useLatestCallback } from '@hi-ui/use-latest';
|
12
|
-
import { getTopDownAncestors
|
12
|
+
import { getTopDownAncestors } from '@hi-ui/tree-utils';
|
13
|
+
import { checkCanLoadChildren } from '../utils/index.js';
|
13
14
|
/**
|
14
15
|
* 用于选中的 hook
|
15
16
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-select.js","sources":["../../../src/hooks/use-select.ts"],"sourcesContent":[null],"names":["useSelect","disabled","onSelect","changeOnSelect","onLoadChildren","onSelectLatest","useLatestCallback","useState","selectedId","setSelectedId","proxyOnSelect","useCallback","selectOption","optionPaths","getTopDownAncestors","canLoadChildren","checkCanLoadChildren","onItemSelect","targetItem","onlyExpand","id"],"mappings":"
|
1
|
+
{"version":3,"file":"use-select.js","sources":["../../../src/hooks/use-select.ts"],"sourcesContent":[null],"names":["useSelect","disabled","onSelect","changeOnSelect","onLoadChildren","onSelectLatest","useLatestCallback","useState","selectedId","setSelectedId","proxyOnSelect","useCallback","selectOption","optionPaths","getTopDownAncestors","canLoadChildren","checkCanLoadChildren","onItemSelect","targetItem","onlyExpand","id"],"mappings":";;;;;;;;;;;;;AAMA;;;;IAGaA,SAAS,GAAG,SAAZA,SAAY,CACvBC,QADuB,EAEvBC,QAFuB,EAOvBC,cAPuB,EAQvBC,cARuB;MAUjBC,cAAc,GAAGC,iBAAiB,CAACJ,QAAD;;kBAEJK,QAAQ,CAAkB,EAAlB;MAArCC,UAAP;MAAmBC,aAAnB;;MAEMC,aAAa,GAAGC,WAAW,CAC/B,UAACH,UAAD,EAA8BI,YAA9B;QACQC,WAAW,GAAGC,mBAAmB,CAACF,YAAD;;QAEnCT,gBAAgB;;AAElBE,MAAAA,cAAc,CAACG,UAAD,EAAaI,YAAb,EAA2BC,WAA3B,CAAdR;AAFF,WAGO;;UAECU,eAAe,GAAGC,oBAAoB,CAACJ,YAAD,EAAeR,cAAf;UACxCW,iBAAiB;AAErBV,MAAAA,cAAc,CAACG,UAAD,EAAaI,YAAb,EAA2BC,WAA3B,CAAdR;;AAZ2B,GAAA,EAe/B,CAACF,cAAD,EAAiBC,cAAjB,EAAiCC,cAAjC,CAf+B;MAkB3BY,YAAY,GAAGN,WAAW,CAC9B,UAACO,UAAD,EAAoCC,UAApC;QACMlB,UAAU;QACViB,UAAU,CAACjB,UAAU;;QAErBkB,YAAY;;UAERJ,eAAe,GAAGC,oBAAoB,CAACE,UAAD,EAAad,cAAb;;UAExCW,iBAAiB;AACnBN,QAAAA,aAAa,CAACS,UAAU,CAACE,EAAZ,CAAbX;;AALJ,WAOO;AACLA,MAAAA,aAAa,CAACS,UAAU,CAACE,EAAZ,CAAbX;AACAC,MAAAA,aAAa,CAACQ,UAAU,CAACE,EAAZ,EAAgBF,UAAhB,CAAbR;;AAd0B,GAAA,EAiB9B,CAACT,QAAD,EAAWS,aAAX,EAA0BN,cAA1B,CAjB8B;SAoBzB,CAACI,UAAD,EAAaS,YAAb,EAA2BR,aAA3B;;;"}
|
package/lib/esm/icons/index.js
CHANGED
@@ -16,39 +16,25 @@ var defaultLeafIcon = /*#__PURE__*/React.createElement("span", {
|
|
16
16
|
width: 16
|
17
17
|
}
|
18
18
|
});
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}, /*#__PURE__*/React.createElement("
|
34
|
-
|
35
|
-
}
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
}, /*#__PURE__*/React.createElement("g", {
|
40
|
-
transform: "translate(0.000000, 4.000000)"
|
41
|
-
}, /*#__PURE__*/React.createElement("g", {
|
42
|
-
transform: "translate(5.000000, 4.000000)"
|
43
|
-
}, /*#__PURE__*/React.createElement("g", {
|
44
|
-
transform: "translate(0.000000, 4.000000)"
|
45
|
-
}, /*#__PURE__*/React.createElement("g", {
|
46
|
-
transform: "translate(1.000000, 1.000000)"
|
47
|
-
}, /*#__PURE__*/React.createElement("path", {
|
48
|
-
d: "M7,14 C10.8659932,14 14,10.8659932 14,7 C14,3.13400675 10.8659932,0 7,0 C3.13400675,0 0,3.13400675 0,7 C0,10.8659932 3.13400675,14 7,14 Z M7,12 C4.23857625,12 2,9.76142375 2,7 C2,4.23857625 4.23857625,2 7,2 C9.76142375,2 12,4.23857625 12,7 C12,9.76142375 9.76142375,12 7,12 Z",
|
49
|
-
fillOpacity: "0.2"
|
50
|
-
}), /*#__PURE__*/React.createElement("path", {
|
51
|
-
d: "M1.7016758,2.42516242 C0.611099326,3.68724484 0,5.29767398 0,7 C0,10.8659932 3.13400675,14 7,14 C7.55228475,14 8,13.5522847 8,13 C8,12.4477153 7.55228475,12 7,12 C4.23857625,12 2,9.76142375 2,7 C2,5.78244469 2.43544044,4.63492915 3.21496813,3.73281158 C3.57606547,3.31492744 3.53003068,2.68343818 3.11214655,2.32234084 C2.69426241,1.96124349 2.06277315,2.00727828 1.7016758,2.42516242 Z"
|
52
|
-
})))))))))));
|
19
|
+
|
20
|
+
function IconLoading(_ref) {
|
21
|
+
var _ref$size = _ref.size,
|
22
|
+
size = _ref$size === void 0 ? '0.8em' : _ref$size;
|
23
|
+
return /*#__PURE__*/React.createElement("i", {
|
24
|
+
className: "hi-v4-cascader__icon--loading"
|
25
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
26
|
+
viewBox: "0 0 18 18",
|
27
|
+
width: size,
|
28
|
+
height: size,
|
29
|
+
fill: "currentColor"
|
30
|
+
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("path", {
|
31
|
+
d: "m9 18c-4.9706 0-9-4.0294-9-9 0-4.9706 4.0294-9 9-9 4.9706 0 9 4.0294 9 9 0 4.9706-4.0294 9-9 9zm0-2c3.866 0 7-3.134 7-7 0-3.866-3.134-7-7-7-3.866 0-7 3.134-7 7 0 3.866 3.134 7 7 7z",
|
32
|
+
opacity: ".15"
|
33
|
+
}), /*#__PURE__*/React.createElement("path", {
|
34
|
+
d: "m15.547 2.8242c0.37904 0.40168 0.36068 1.0346-0.040996 1.4136-0.40168 0.37904-1.0346 0.36068-1.4136-0.040996-1.315-1.3935-3.1381-2.1969-5.0922-2.1969-3.866 0-7 3.134-7 7 0 0.55228-0.44772 1-1 1s-1-0.44772-1-1c0-4.9706 4.0294-9 9-9 2.5103 0 4.8578 1.0343 6.5468 2.8242z"
|
35
|
+
}))));
|
36
|
+
}
|
37
|
+
|
38
|
+
var defaultLoadingIcon = /*#__PURE__*/React.createElement(IconLoading, null);
|
53
39
|
export { defaultLeafIcon, defaultLoadingIcon, defaultSuffixIcon };
|
54
40
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/icons/index.tsx"],"sourcesContent":[null],"names":["defaultSuffixIcon","React","DownOutlined","defaultLeafIcon","style","display","width","
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/icons/index.tsx"],"sourcesContent":[null],"names":["defaultSuffixIcon","React","DownOutlined","defaultLeafIcon","style","display","width","IconLoading","size","className","viewBox","height","fill","d","opacity","defaultLoadingIcon"],"mappings":";;;;;;;;;;;IAGaA,iBAAiB,gBAAGC,mBAAAA,CAACC,YAADD,MAAAA;IAEpBE,eAAe,gBAAGF,mBAAAA,OAAAA;AAAMG,EAAAA,KAAK,EAAE;AAAEC,IAAAA,OAAO,EAAE,cAAX;AAA2BC,IAAAA,KAAK,EAAE;AAAlC;CAAbL;;AAE/B,SAASM,WAAT,KAAA;uBAAuBC;MAAAA,8BAAO;sBAE1BP,mBAAAA,IAAAA;AAAGQ,IAAAA,SAAS,EAAC;GAAbR,eACEA,mBAAAA,MAAAA;AAAKS,IAAAA,OAAO,EAAC;AAAYJ,IAAAA,KAAK,EAAEE;AAAMG,IAAAA,MAAM,EAAEH;AAAMI,IAAAA,IAAI,EAAC;GAAzDX,eACEA,mBAAAA,IAAAA,MAAAA,eACEA,mBAAAA,OAAAA;AACEY,IAAAA,CAAC,EAAC;AACFC,IAAAA,OAAO,EAAC;GAFVb,CADFA,eAKEA,mBAAAA,OAAAA;AAAMY,IAAAA,CAAC,EAAC;GAARZ,CALFA,CADFA,CADFA;;;IAcSc,kBAAkB,gBAAGd,mBAAAA,CAACM,WAADN,MAAAA;"}
|
package/lib/esm/index.js
CHANGED
@@ -8,6 +8,5 @@
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
10
|
import './styles/index.scss.js';
|
11
|
-
export { Cascader, CascaderMenu, CascaderMenuList,
|
12
|
-
export { CascaderPanel } from './CascaderPanel.js';
|
11
|
+
export { Cascader, CascaderMenu, CascaderMenuList, Cascader as default } from './Cascader.js';
|
13
12
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
@@ -7,7 +7,7 @@
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
|
-
var css_248z = ".hi-v4-
|
10
|
+
var css_248z = "@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n@use 'sass:map';\n.hi-v4-cascader__popper .hi-v4-picker__body {\n padding-left: 0;\n padding-right: 0; }\n.hi-v4-cascader-panel {\n white-space: nowrap;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n color: #1f2733;\n color: var(--hi-v4-color-gray-700, #1f2733); }\n.hi-v4-cascader-search {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0 10px 10px;\n position: relative; }\n.hi-v4-cascader-search .hi-v4-input__prefix {\n font-size: 16px;\n padding-left: 0; }\n.hi-v4-cascader-search__empty {\n display: inline-block;\n margin-top: 20px;\n font-size: 14px;\n font-weight: 400;\n color: #999;\n line-height: 20px; }\n.hi-v4-cascader-menu-list {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n overflow-x: auto; }\n.hi-v4-cascader-menu-list--flatted .hi-v4-cascader-menu {\n -ms-flex-preferred-size: 100%;\n flex-basis: 100%; }\n.hi-v4-cascader-menu {\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none;\n width: auto;\n box-sizing: border-box;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n display: inline-block;\n min-width: 140px;\n max-height: 260px;\n overflow: auto;\n padding: 4px 8px;\n border-right: 1px solid #ebedf0;\n border-right: var(--hi-v4-border-size-normal, 1px solid) var(--hi-v4-color-gray-200, #ebedf0); }\n.hi-v4-cascader-menu:last-of-type {\n border: none; }\n.hi-v4-cascader-menu-item {\n width: 100%;\n padding: 4px 0;\n padding: var(--hi-v4-spacing-2, 4px) 0;\n position: relative;\n cursor: pointer;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex; }\n.hi-v4-cascader-menu-option {\n padding: 0 8px;\n padding: 0 var(--hi-v4-spacing-4, 8px);\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n height: 32px;\n width: 100%;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n position: relative;\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n justify-content: space-between;\n border-radius: 4px;\n border-radius: var(--hi-v4-border-radius-normal, 4px); }\n.hi-v4-cascader-menu-option:hover {\n background-color: #f2f4f7;\n background-color: var(--hi-v4-color-gray-100, #f2f4f7); }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--selected {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe);\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--selected .hi-v4-cascader-menu-switcher {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-option--focused {\n background-color: #e2f3fe;\n background-color: var(--hi-v4-color-brandblue-50, #e2f3fe); }\n.hi-v4-cascader-menu-option--checked {\n font-weight: 700; }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled {\n cursor: not-allowed;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6);\n background: transparent; }\n.hi-v4-cascader-menu-option.hi-v4-cascader-menu-option--disabled .hi-v4-cascader-menu-switcher {\n color: #c9ced6;\n color: var(--hi-v4-color-gray-400, #c9ced6); }\n.hi-v4-cascader-menu .title__text {\n -webkit-box-flex: 1;\n -ms-flex: 1 1;\n flex: 1 1; }\n.hi-v4-cascader-menu .title__text--cols {\n display: block;\n width: 100%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n font-size: 0.875rem;\n font-size: var(--hi-v4-text-size-normal, 0.875rem);\n vertical-align: middle;\n list-style: none; }\n.hi-v4-cascader-menu .title__text--col {\n display: inline-block; }\n.hi-v4-cascader-menu .title__text--col::after {\n content: '\\00a0/\\00a0'; }\n.hi-v4-cascader-menu .title__text--col:last-child::after {\n content: none; }\n.hi-v4-cascader-menu .title__text--matched {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-switcher {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n font-size: 16px;\n color: #929aa6;\n color: var(--hi-v4-color-gray-500, #929aa6); }\n.hi-v4-cascader-menu-switcher--loading {\n color: #237ffa;\n color: var(--hi-v4-color-brandblue-500, #237ffa); }\n.hi-v4-cascader-menu-switcher--arrow {\n -webkit-transform: rotate(-90deg);\n transform: rotate(-90deg); }\n.hi-v4-cascader__icon--loading {\n display: inline-block;\n width: 1em;\n height: 1em;\n stroke: none;\n cursor: default;\n fill: currentColor; }\n.hi-v4-cascader__icon--loading svg {\n -webkit-animation-name: hi-rotate;\n animation-name: hi-rotate;\n -webkit-animation-duration: 2s;\n animation-duration: 2s;\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite; }\n@-webkit-keyframes rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n@keyframes rotate {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg); } }\n";
|
11
11
|
|
12
12
|
var __styleInject__ = require('style-inject/dist/style-inject.es.js')["default"];
|
13
13
|
|
package/lib/esm/use-cascader.js
CHANGED
@@ -10,13 +10,12 @@
|
|
10
10
|
import { __rest } from 'tslib';
|
11
11
|
import { useMemo, useCallback } from 'react';
|
12
12
|
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
13
|
+
import { useCache } from './hooks/use-cache/lib/esm/index.js';
|
13
14
|
import { flattenTreeData, getActiveNodePaths, checkCanLoadChildren, getFlattedMenus, getActiveMenus } from './utils/index.js';
|
14
|
-
import { useSearch } from './hooks/use-search.js';
|
15
15
|
import { useSelect } from './hooks/use-select.js';
|
16
|
-
import { useCache } from './hooks/use-cache.js';
|
17
16
|
import { useAsyncSwitch } from './hooks/use-async-switch.js';
|
18
17
|
var NOOP_ARRAY = [];
|
19
|
-
var NOOP_VALUE =
|
18
|
+
var NOOP_VALUE = [];
|
20
19
|
|
21
20
|
var useCascader = function useCascader(_a) {
|
22
21
|
var _a$defaultValue = _a.defaultValue,
|
@@ -30,47 +29,47 @@ var useCascader = function useCascader(_a) {
|
|
30
29
|
_a$changeOnSelect = _a.changeOnSelect,
|
31
30
|
changeOnSelect = _a$changeOnSelect === void 0 ? false : _a$changeOnSelect,
|
32
31
|
_a$flatted = _a.flatted,
|
33
|
-
|
34
|
-
|
35
|
-
upMatch = _a$upMatch === void 0 ? false : _a$upMatch,
|
36
|
-
_a$expandTrigger = _a.expandTrigger,
|
37
|
-
expandTrigger = _a$expandTrigger === void 0 ? 'click' : _a$expandTrigger,
|
38
|
-
_a$emptyContent = _a.emptyContent,
|
39
|
-
emptyContent = _a$emptyContent === void 0 ? '无匹配选项' : _a$emptyContent,
|
40
|
-
placeholder = _a.placeholder,
|
41
|
-
searchPlaceholder = _a.searchPlaceholder,
|
42
|
-
onSelect = _a.onSelect,
|
43
|
-
titleRender = _a.titleRender,
|
44
|
-
displayRender = _a.displayRender,
|
32
|
+
flatted = _a$flatted === void 0 ? false : _a$flatted,
|
33
|
+
onSelectProp = _a.onSelect,
|
45
34
|
onLoadChildren = _a.onLoadChildren,
|
46
|
-
|
35
|
+
cascaderDataProp = _a.cascaderData,
|
36
|
+
setCascaderDataProp = _a.setCascaderData,
|
37
|
+
flattedDataProp = _a.flattedData,
|
38
|
+
fieldNames = _a.fieldNames,
|
39
|
+
rest = __rest(_a, ["defaultValue", "value", "onChange", "data", "disabled", "changeOnSelect", "flatted", "onSelect", "onLoadChildren", "cascaderData", "setCascaderData", "flattedData", "fieldNames"]);
|
47
40
|
|
48
41
|
var _useCache = useCache(data),
|
49
|
-
|
50
|
-
|
42
|
+
cacheData = _useCache[0],
|
43
|
+
setCacheData = _useCache[1];
|
51
44
|
|
45
|
+
var cascaderData = cascaderDataProp !== null && cascaderDataProp !== void 0 ? cascaderDataProp : cacheData;
|
46
|
+
var setCascaderData = setCascaderDataProp !== null && setCascaderDataProp !== void 0 ? setCascaderDataProp : setCacheData;
|
52
47
|
var flattedData = useMemo(function () {
|
53
|
-
return flattenTreeData(cascaderData);
|
54
|
-
}, [cascaderData]);
|
48
|
+
return flattedDataProp !== null && flattedDataProp !== void 0 ? flattedDataProp : flattenTreeData(cascaderData, fieldNames);
|
49
|
+
}, [cascaderData, flattedDataProp, fieldNames]);
|
55
50
|
|
56
51
|
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChangeProp),
|
57
52
|
value = _useUncontrolledState[0],
|
58
53
|
tryChangeValue = _useUncontrolledState[1];
|
59
54
|
|
60
|
-
var
|
61
|
-
tryChangeValue(
|
62
|
-
|
63
|
-
|
55
|
+
var onSelect = function onSelect(value, item, itemPaths) {
|
56
|
+
tryChangeValue(itemPaths.map(function (_ref) {
|
57
|
+
var id = _ref.id;
|
58
|
+
return id;
|
59
|
+
}));
|
60
|
+
onSelectProp === null || onSelectProp === void 0 ? void 0 : onSelectProp(value, item, itemPaths);
|
61
|
+
}; // 单击选中某项
|
62
|
+
|
64
63
|
|
65
|
-
var _useSelect = useSelect(disabled,
|
64
|
+
var _useSelect = useSelect(disabled, onSelect, changeOnSelect, onLoadChildren),
|
66
65
|
selectedId = _useSelect[0],
|
67
66
|
onOptionSelect = _useSelect[1],
|
68
67
|
setSelectedId = _useSelect[2]; // 选中 id 路径
|
69
68
|
|
70
69
|
|
71
70
|
var selectedIds = useMemo(function () {
|
72
|
-
return getActiveNodePaths(flattedData, selectedId).map(function (
|
73
|
-
var id =
|
71
|
+
return getActiveNodePaths(flattedData, selectedId).map(function (_ref2) {
|
72
|
+
var id = _ref2.id;
|
74
73
|
return id;
|
75
74
|
});
|
76
75
|
}, [flattedData, selectedId]); // 存在异步加载数据的情况时,单击选中时需要控制异步加载状态
|
@@ -86,26 +85,12 @@ var useCascader = function useCascader(_a) {
|
|
86
85
|
var isCanLoadChildren = useCallback(function (option) {
|
87
86
|
return checkCanLoadChildren(option, onLoadChildren);
|
88
87
|
}, [onLoadChildren]);
|
89
|
-
|
90
|
-
var _useSearch = useSearch(flattedData, upMatch, isCanLoadChildren),
|
91
|
-
inSearch = _useSearch[0],
|
92
|
-
matchedItems = _useSearch[1],
|
93
|
-
inputProps = _useSearch[2],
|
94
|
-
isEmpty = _useSearch[3],
|
95
|
-
resetSearch = _useSearch[4];
|
96
|
-
|
97
88
|
var menuList = useMemo(function () {
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
}, [inSearch, flattedProp, matchedItems, flattedData, selectedId, isCanLoadChildren]); // 搜索的结果列表也采用 flatted 模式进行展示
|
104
|
-
|
105
|
-
var flatted = flattedProp || inSearch;
|
106
|
-
var getCascaderItemRequiredProps = useCallback(function (_ref2) {
|
107
|
-
var id = _ref2.id,
|
108
|
-
depth = _ref2.depth;
|
89
|
+
return flatted ? getFlattedMenus(flattedData, isCanLoadChildren) : getActiveMenus(flattedData, selectedId);
|
90
|
+
}, [flatted, flattedData, selectedId, isCanLoadChildren]);
|
91
|
+
var getItemRequiredProps = useCallback(function (_ref3) {
|
92
|
+
var id = _ref3.id,
|
93
|
+
depth = _ref3.depth;
|
109
94
|
return {
|
110
95
|
selected: flatted ? selectedId === id : selectedIds[depth] === id,
|
111
96
|
loading: isLoadingId(id),
|
@@ -113,39 +98,23 @@ var useCascader = function useCascader(_a) {
|
|
113
98
|
focused: false
|
114
99
|
};
|
115
100
|
}, [flatted, selectedId, selectedIds, isLoadingId]);
|
116
|
-
var getSearchInputProps = useCallback(function () {
|
117
|
-
return {
|
118
|
-
placeholder: searchPlaceholder,
|
119
|
-
value: inputProps.value,
|
120
|
-
onChange: inputProps.onChange
|
121
|
-
};
|
122
|
-
}, [searchPlaceholder, inputProps]);
|
123
101
|
var reset = useCallback(function () {
|
124
|
-
|
125
|
-
|
126
|
-
}, [resetSearch, setSelectedId, value]);
|
102
|
+
setSelectedId(value[value.length - 1]);
|
103
|
+
}, [setSelectedId, value]);
|
127
104
|
return {
|
128
105
|
rootProps: rest,
|
129
106
|
reset: reset,
|
130
107
|
flattedData: flattedData,
|
131
108
|
value: value,
|
132
109
|
tryChangeValue: tryChangeValue,
|
133
|
-
|
134
|
-
expandTrigger: expandTrigger,
|
110
|
+
getItemRequiredProps: getItemRequiredProps,
|
135
111
|
flatted: flatted,
|
136
112
|
onItemClick: onItemExpand,
|
137
113
|
onItemHover: onItemHover,
|
138
114
|
changeOnSelect: changeOnSelect,
|
139
115
|
onLoadChildren: onLoadChildren,
|
140
|
-
keyword: inputProps.value,
|
141
116
|
disabled: disabled,
|
142
|
-
menuList: menuList
|
143
|
-
isEmpty: isEmpty,
|
144
|
-
placeholder: placeholder,
|
145
|
-
displayRender: displayRender,
|
146
|
-
titleRender: titleRender,
|
147
|
-
emptyContent: emptyContent,
|
148
|
-
getSearchInputProps: getSearchInputProps
|
117
|
+
menuList: menuList
|
149
118
|
};
|
150
119
|
};
|
151
120
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","
|
1
|
+
{"version":3,"file":"use-cascader.js","sources":["../../src/use-cascader.ts"],"sourcesContent":[null],"names":["NOOP_ARRAY","NOOP_VALUE","useCascader","_a","defaultValue","valueProp","value","onChangeProp","onChange","data","disabled","changeOnSelect","flatted","onSelectProp","onSelect","onLoadChildren","cascaderDataProp","cascaderData","setCascaderDataProp","setCascaderData","flattedDataProp","flattedData","fieldNames","rest","useCache","cacheData","setCacheData","useMemo","flattenTreeData","useUncontrolledState","tryChangeValue","item","itemPaths","map","id","useSelect","selectedId","onOptionSelect","setSelectedId","selectedIds","getActiveNodePaths","useAsyncSwitch","isLoadingId","onItemExpand","onItemHover","useCallback","option","isCanLoadChildren","checkCanLoadChildren","menuList","getFlattedMenus","getActiveMenus","getItemRequiredProps","depth","selected","loading","focused","reset","length","rootProps","onItemClick"],"mappings":"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"}
|
package/lib/esm/utils/index.js
CHANGED
@@ -7,33 +7,41 @@
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
9
9
|
*/
|
10
|
-
import {
|
10
|
+
import { baseFlattenTree, getTopDownAncestors } from '@hi-ui/tree-utils';
|
11
|
+
import { isArrayNonEmpty } from '@hi-ui/type-assertion';
|
11
12
|
/**
|
12
13
|
* 扁平化树数据结构,基于前序遍历
|
13
14
|
*/
|
14
15
|
|
15
|
-
var flattenTreeData = function flattenTreeData(treeData) {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
flattedNode.disabled = disabled;
|
27
|
-
return flattedNode;
|
28
|
-
});
|
29
|
-
};
|
30
|
-
/**
|
31
|
-
* 获取自顶向下的祖先节点,包括自己
|
32
|
-
*/
|
16
|
+
var flattenTreeData = function flattenTreeData(treeData, fieldNames) {
|
17
|
+
/**
|
18
|
+
* 转换对象
|
19
|
+
*/
|
20
|
+
var getKeyFields = function getKeyFields(node, key) {
|
21
|
+
if (fieldNames) {
|
22
|
+
return node[fieldNames[key] || key];
|
23
|
+
}
|
24
|
+
|
25
|
+
return node[key];
|
26
|
+
};
|
33
27
|
|
28
|
+
return baseFlattenTree({
|
29
|
+
tree: treeData,
|
30
|
+
childrenFieldName: function childrenFieldName(node) {
|
31
|
+
return getKeyFields(node, 'children');
|
32
|
+
},
|
33
|
+
transform: function transform(node) {
|
34
|
+
var _a, _b;
|
34
35
|
|
35
|
-
var
|
36
|
-
|
36
|
+
var flattedNode = node;
|
37
|
+
var raw = node.raw;
|
38
|
+
flattedNode.id = getKeyFields(raw, 'id');
|
39
|
+
flattedNode.title = getKeyFields(raw, 'title');
|
40
|
+
flattedNode.disabled = (_a = getKeyFields(raw, 'disabled')) !== null && _a !== void 0 ? _a : false;
|
41
|
+
flattedNode.isLeaf = (_b = getKeyFields(raw, 'isLeaf')) !== null && _b !== void 0 ? _b : false;
|
42
|
+
return flattedNode;
|
43
|
+
}
|
44
|
+
});
|
37
45
|
};
|
38
46
|
/**
|
39
47
|
* 获取选中节点的节点路径,包含选中节点
|
@@ -86,13 +94,13 @@ var getFlattedMenus = function getFlattedMenus(data, filter) {
|
|
86
94
|
};
|
87
95
|
|
88
96
|
var checkCanLoadChildren = function checkCanLoadChildren(node, onLoadChildren) {
|
89
|
-
var hasChildren = node.children
|
90
|
-
return hasChildren || onLoadChildren && !node.
|
97
|
+
var hasChildren = isArrayNonEmpty(node.children);
|
98
|
+
return hasChildren || onLoadChildren && !node.isLeaf && !node.children;
|
91
99
|
};
|
92
100
|
|
93
|
-
function
|
101
|
+
function getItemEventData(node, requiredProps) {
|
94
102
|
return Object.assign(Object.assign({}, node), requiredProps);
|
95
103
|
}
|
96
104
|
|
97
|
-
export { checkCanLoadChildren, flattenTreeData, getActiveMenus, getActiveNodePaths,
|
105
|
+
export { checkCanLoadChildren, flattenTreeData, getActiveMenus, getActiveNodePaths, getFlattedMenus, getItemEventData };
|
98
106
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":[null],"names":["flattenTreeData","treeData","fieldNames","getKeyFields","node","key","baseFlattenTree","tree","childrenFieldName","transform","flattedNode","raw","id","title","disabled","isLeaf","getActiveNodePaths","flattedData","selectedId","length","selectedOption","find","getTopDownAncestors","getActiveMenus","root","parent","menu","children","push","reverse","getFlattedMenus","data","filter","item","checkCanLoadChildren","onLoadChildren","hasChildren","isArrayNonEmpty","getItemEventData","requiredProps"],"mappings":"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"}
|