@baishuyun/ui-business 6.1.0 → 6.2.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/dist/BubbleChart/{AutoGridEChart-CJVgpqeo.js → AutoGridEChart-VA8BTIj4.js} +2 -2
- package/dist/BubbleChart/{BubbleChart-CavI9Qnb.js → BubbleChart-CGLJJHYy.js} +23 -14
- package/dist/BubbleChart/index.js +2 -2
- package/dist/ConfigProvider/index.js +1 -1
- package/dist/DeptsMemberSelector/CorpDeptMemberList-CStcWBzB.js +102 -0
- package/dist/DeptsMemberSelector/CorpDeptTree-B4EEUTqQ.js +51 -0
- package/dist/DeptsMemberSelector/CorpFlatList-Cn8-KRFi.js +86 -0
- package/dist/DeptsMemberSelector/CorpLabelTree-iQ_7Ux_J.js +212 -0
- package/dist/DeptsMemberSelector/{Department-lQJcetBA.js → Department-DXD3xoiS.js} +15 -14
- package/dist/DeptsMemberSelector/DeptsMemberSelector-DXpd9aCn.js +1935 -0
- package/dist/DeptsMemberSelector/DeptsUser-DO-SQexg.js +1317 -0
- package/dist/DeptsMemberSelector/EnterpriseLabelList-BtB8AjXO.js +85 -0
- package/dist/DeptsMemberSelector/{Member-K4kgwY7b.js → Member-BrNFIHZy.js} +234 -238
- package/dist/DeptsMemberSelector/OrganizationPanel-hray3UWA.js +671 -0
- package/dist/DeptsMemberSelector/{RelationShipList-DkF9XivU.js → RelationShipList-DcgaMOyr.js} +1 -1
- package/dist/DeptsMemberSelector/TagIcon-CYklI9Ar.js +259 -0
- package/dist/DeptsMemberSelector/filterLabelCorpFlatNodes-BrRZqDkm.js +36 -0
- package/dist/DeptsMemberSelector/index.js +20 -11
- package/dist/DeptsMemberSelector/services/contact/{selector.service-BUQcY5DZ.js → selector.service-CQopqiTw.js} +86 -60
- package/dist/DeptsMemberSelector/subcomponents/Entity/Department/index.js +8 -4
- package/dist/DeptsMemberSelector/subcomponents/Entity/DeptsUser/index.js +15 -6
- package/dist/DeptsMemberSelector/subcomponents/Entity/Member/index.js +7 -4
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptMemberList/index.d.ts +4 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptMemberList/index.js +5 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptTree/index.d.ts +4 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptTree/index.js +6 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpFlatList/index.d.ts +4 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpFlatList/index.js +5 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpLabelTree/index.d.ts +4 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpLabelTree/index.js +9 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/EnterpriseLabelList/index.d.ts +4 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/EnterpriseLabelList/index.js +5 -0
- package/dist/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.js +2 -2
- package/dist/DeptsMemberSelector/{useDeptsMemberSelector-CHK0U3R4.js → useDeptsMemberSelector-B6XZHqd5.js} +11 -3
- package/dist/DeptsMemberSelector/useFilteredMemberList-BE7jRCME.js +807 -0
- package/dist/DeptsMemberSelector/useOutsiderGroupPanelState-BULTXv3n.js +205 -0
- package/dist/DeptsMemberSelector/useTreeExpandedKeys-oLUTUYkP.js +45 -0
- package/dist/DeptsMemberSelector/utils/index.js +1 -1
- package/dist/DeptsMemberSelector/{utils-BVfGpRu5.js → utils-Bb473LZ3.js} +21 -19
- package/dist/Scatterplot/{Scatterplot-D4GhWpFa.js → Scatterplot-R66_f3TZ.js} +6 -4
- package/dist/Scatterplot/index.js +2 -2
- package/dist/components/DeptsMemberSelector/context/DeptsMemberContext.d.ts +5 -2
- package/dist/components/DeptsMemberSelector/hooks/useDeptsMemberSelector.d.ts +1 -1
- package/dist/components/DeptsMemberSelector/hooks/useFilteredMemberList.d.ts +6 -0
- package/dist/components/DeptsMemberSelector/hooks/useTabListScrollOffset.d.ts +18 -0
- package/dist/components/DeptsMemberSelector/hooks/useTreeExpandedKeys.d.ts +9 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Entity/DeptsUser/DeptUsersSearch/DeptUsersSearch.d.ts +5 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Entity/DeptsUser/DeptUsersSearch/useDeptUsersSearchData.d.ts +19 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Entity/Member/MemberSearch/TreeNodeTitle.d.ts +7 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptMemberList/index.d.ts +6 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptTree/index.d.ts +6 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/DeptUsersCorpDeptPanel.d.ts +2 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/buildCorpDeptTreeData.d.ts +7 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/types.d.ts +45 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/useCorpDeptPanelData.d.ts +17 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpFlatList/index.d.ts +12 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpLabelTree/index.d.ts +2 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/DeptUsersCorpPanel.d.ts +2 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/alignDockCorpSelectedKeys.d.ts +27 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/buildCorpLabelTreeData.d.ts +18 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/useCorpLabelTreePanelData.d.ts +11 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/useCorpPanelData.d.ts +11 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/DeptUsersEnterpriseLabelPanel.d.ts +2 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/EnterpriseLabelList/index.d.ts +11 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/types.d.ts +5 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/useDeptUsersEnterpriseLabelPanelData.d.ts +10 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersPositionPanel/useDeptUsersPositionPanelData.d.ts +8 -8
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersRolePanel/InternalRolePickTree.d.ts +21 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersRolePanel/useDeptUsersRolePanelData.d.ts +14 -11
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/useMemberPagedList.d.ts +40 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/useMemberPanelData.d.ts +88 -3
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/DeptScope/DeptScopeOptions.d.ts +13 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/DeptScope/DeptScopePanel.d.ts +8 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/DeptScope/useDeptScopePanelData.d.ts +41 -0
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/PositionPanel/usePositionPanelData.d.ts +1 -1
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/RolePanel/useRolePanelData.d.ts +1 -1
- package/dist/components/DeptsMemberSelector/subcomponents/SelectionArea/PreviewSelectedItems/PreviewSelectedItems.d.ts +1 -5
- package/dist/components/DeptsMemberSelector/testUtils/domMeasureMocks.d.ts +7 -0
- package/dist/components/DeptsMemberSelector/types/selector.d.ts +62 -3
- package/dist/components/DeptsMemberSelector/utils/constants.d.ts +36 -3
- package/dist/components/DeptsMemberSelector/utils/corpList.d.ts +13 -0
- package/dist/components/DeptsMemberSelector/utils/departmentIdentity.d.ts +14 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersCorpDeptSearchGroup.d.ts +31 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersCorpSearchGroup.d.ts +23 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersDockCacheKeys.d.ts +16 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersEnterpriseLabelSearchGroup.d.ts +22 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersOrgDepartmentsData.d.ts +30 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersOrganizationSearchGroup.d.ts +25 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersRelationSearchGroup.d.ts +4 -16
- package/dist/components/DeptsMemberSelector/utils/deptUsersRoleModel.d.ts +43 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersRoleSearchGroup.d.ts +24 -0
- package/dist/components/DeptsMemberSelector/utils/deptUsersSearchDimensions.d.ts +30 -0
- package/dist/components/DeptsMemberSelector/utils/domMeasure.d.ts +14 -0
- package/dist/components/DeptsMemberSelector/utils/entityItemType.d.ts +5 -2
- package/dist/components/DeptsMemberSelector/utils/filterLabelCorpFlatNodes.d.ts +56 -0
- package/dist/components/DeptsMemberSelector/utils/flattenDockUserList.d.ts +7 -0
- package/dist/components/DeptsMemberSelector/utils/flowCreator.d.ts +17 -2
- package/dist/components/DeptsMemberSelector/utils/index.d.ts +5 -1
- package/dist/components/DeptsMemberSelector/utils/memberSearchTreeTitle.d.ts +9 -0
- package/dist/components/DeptsMemberSelector/utils/resolveDeptUsersExternalMembers.d.ts +7 -0
- package/dist/components/DeptsMemberSelector/utils/resolveDeptUsersOrganizationEntryVisibility.d.ts +19 -0
- package/dist/components/DeptsMemberSelector/utils/resolveDockCorpId.d.ts +15 -0
- package/dist/components/DeptsMemberSelector/{subcomponents/Panels/OrganizationPanel/utils → utils}/treeExpandedKeys.d.ts +8 -3
- package/dist/components/DeptsMemberSelector/utils/useDeptUsersOrgDepartmentsPrefetch.d.ts +16 -0
- package/dist/index.css +1 -1
- package/dist/index.js +22 -13
- package/dist/lang/en-US.json.d.ts +13 -1
- package/dist/lang/zh-CN.json.d.ts +13 -1
- package/dist/lang/zh-TW.json.d.ts +13 -1
- package/dist/services/contact/selector.service.d.ts +43 -2
- package/dist/vendors/useLocale.js +251 -0
- package/package.json +3 -3
- package/dist/DeptsMemberSelector/DeptsMemberSelector-DmwD1Ls_.js +0 -1336
- package/dist/DeptsMemberSelector/DeptsUser-wWfkuBDp.js +0 -974
- package/dist/DeptsMemberSelector/MemberPanel-Cm1Hv-GV.js +0 -698
- package/dist/DeptsMemberSelector/OrganizationPanel-2QDNfFtJ.js +0 -401
- package/dist/DeptsMemberSelector/useOutsiderGroupPanelState-d2EiLVaV.js +0 -648
- package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/utils/useOrganizationTreeExpandedKeys.d.ts +0 -9
- package/dist/components/DeptsMemberSelector/utils/deptUsersSearchVisibility.d.ts +0 -30
- /package/dist/ConfigProvider/{ConfigProvider-CU5Z39Ex.js → ConfigProvider-51iupuCp.js} +0 -0
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { t as e } from "../vendors/clsx.js";
|
|
2
|
+
import { useCallback as t, useEffect as n, useLayoutEffect as r, useMemo as i, useRef as a, useState as o } from "react";
|
|
3
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/DeptsMemberSelector/utils/domMeasure.ts
|
|
5
|
+
var l = .5, u = (e, t, n = l) => Math.abs(e - t) < n, d = (e, t, n) => e.querySelector(`[${t}="${CSS.escape(n)}"]`), f = (e, t) => {
|
|
6
|
+
if (!t.offsetParent && t.getBoundingClientRect().width === 0) return null;
|
|
7
|
+
if (t.offsetWidth > 0) {
|
|
8
|
+
let n = 0, r = t;
|
|
9
|
+
for (; r && r !== e;) {
|
|
10
|
+
n += r.offsetLeft;
|
|
11
|
+
let e = r.offsetParent instanceof HTMLElement ? r.offsetParent : null;
|
|
12
|
+
if (!e) break;
|
|
13
|
+
r = e;
|
|
14
|
+
}
|
|
15
|
+
if (r === e) return {
|
|
16
|
+
width: t.offsetWidth,
|
|
17
|
+
left: n
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect();
|
|
21
|
+
return r.width === 0 ? null : {
|
|
22
|
+
width: r.width,
|
|
23
|
+
left: r.left - n.left
|
|
24
|
+
};
|
|
25
|
+
}, p = (e) => {
|
|
26
|
+
e.current !== null && (cancelAnimationFrame(e.current), e.current = null);
|
|
27
|
+
}, m = (e, t, n) => e.map((e) => `${t(e)}:${n(e)}`).join("|"), h = (e, t) => u(e.width, t.width) && u(e.left, t.left), g = (e, t) => {
|
|
28
|
+
let n = t.parentElement;
|
|
29
|
+
return t.offsetParent !== e || !n || n === e || t.offsetWidth <= 0 || n.offsetWidth <= 0 ? null : {
|
|
30
|
+
width: t.offsetWidth,
|
|
31
|
+
left: n.offsetLeft + (n.offsetWidth - t.offsetWidth) / 2
|
|
32
|
+
};
|
|
33
|
+
}, _ = 2, v = .02, y = (e) => {
|
|
34
|
+
let t = e.getBoundingClientRect();
|
|
35
|
+
return e.offsetWidth > 0 ? t.width / e.offsetWidth : null;
|
|
36
|
+
}, b = (e) => e === null || Math.abs(e - 1) <= v, x = (e) => {
|
|
37
|
+
let { activeKey: i, tabsKey: s, measureAttribute: c = "data-tab-key", observeMeasureTargets: l = !1 } = e, u = a(null), m = a({
|
|
38
|
+
width: 0,
|
|
39
|
+
left: 0
|
|
40
|
+
}), v = a(i), x = a(!1), S = a(null), C = a(null), w = a(!1), T = a(null), E = a(c), D = a(l), O = a(() => {});
|
|
41
|
+
E.current = c, D.current = l;
|
|
42
|
+
let [k, A] = o(!1), [j, M] = o(!1), [N, P] = o({
|
|
43
|
+
width: 0,
|
|
44
|
+
left: 0
|
|
45
|
+
});
|
|
46
|
+
v.current = i;
|
|
47
|
+
let F = t(() => {
|
|
48
|
+
let e = u.current;
|
|
49
|
+
if (!e || !b(y(e))) return null;
|
|
50
|
+
let t = v.current, n = d(e, E.current, t);
|
|
51
|
+
if (!n) return null;
|
|
52
|
+
if (D.current) {
|
|
53
|
+
let t = g(e, n);
|
|
54
|
+
if (t) return t;
|
|
55
|
+
}
|
|
56
|
+
return f(e, n);
|
|
57
|
+
}, []), I = t(() => {
|
|
58
|
+
let e = F();
|
|
59
|
+
!e || h(m.current, e) || (m.current = e, P(e));
|
|
60
|
+
}, [F]), L = t(() => {
|
|
61
|
+
x.current || (x.current = !0, M(!0), A(!1), requestAnimationFrame(() => {
|
|
62
|
+
A(!0);
|
|
63
|
+
}));
|
|
64
|
+
}, []), R = t((e) => {
|
|
65
|
+
C.current = requestAnimationFrame(() => {
|
|
66
|
+
if (C.current = null, I(), e > 1) {
|
|
67
|
+
R(e - 1);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
let t = u.current;
|
|
71
|
+
if (!b(t ? y(t) : null)) {
|
|
72
|
+
O.current();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (m.current.width <= 0) {
|
|
76
|
+
O.current();
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
L();
|
|
80
|
+
});
|
|
81
|
+
}, [L, I]), z = t(() => {
|
|
82
|
+
if (S.current !== null) {
|
|
83
|
+
w.current = !0;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
S.current = requestAnimationFrame(() => {
|
|
87
|
+
S.current = null, requestAnimationFrame(() => {
|
|
88
|
+
I(), R(_), w.current && (w.current = !1, z());
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
}, [R, I]);
|
|
92
|
+
return O.current = z, r(() => {
|
|
93
|
+
m.current = {
|
|
94
|
+
width: 0,
|
|
95
|
+
left: 0
|
|
96
|
+
}, x.current = !1, M(!1), A(!1);
|
|
97
|
+
}, [s]), r(() => (w.current = !1, I(), z(), () => {
|
|
98
|
+
p(S), p(C), w.current = !1;
|
|
99
|
+
}), [
|
|
100
|
+
z,
|
|
101
|
+
s,
|
|
102
|
+
i,
|
|
103
|
+
I
|
|
104
|
+
]), r(() => {
|
|
105
|
+
let e = u.current;
|
|
106
|
+
if (!e) return;
|
|
107
|
+
let t = new ResizeObserver(() => z());
|
|
108
|
+
return t.observe(e), D.current && e.querySelectorAll(`[${E.current}]`).forEach((n) => {
|
|
109
|
+
n.parentElement && n.parentElement !== e && t.observe(n.parentElement);
|
|
110
|
+
}), () => t.disconnect();
|
|
111
|
+
}, [s, z]), n(() => {
|
|
112
|
+
let e = document.fonts;
|
|
113
|
+
if (!e?.ready) return;
|
|
114
|
+
let t = !1;
|
|
115
|
+
return e.ready.then(() => {
|
|
116
|
+
!t && T.current !== s && (T.current = s, z());
|
|
117
|
+
}), () => {
|
|
118
|
+
t = !0;
|
|
119
|
+
};
|
|
120
|
+
}, [s, z]), {
|
|
121
|
+
containerRef: u,
|
|
122
|
+
indicatorStyle: N,
|
|
123
|
+
enableTransition: k,
|
|
124
|
+
indicatorVisible: j
|
|
125
|
+
};
|
|
126
|
+
}, S = ({ className: t, animatedClassName: n, enableTransition: r, indicatorVisible: i, indicatorStyle: a }) => /* @__PURE__ */ s("div", {
|
|
127
|
+
className: e(t, { [n]: r }),
|
|
128
|
+
style: {
|
|
129
|
+
width: `${a.width}px`,
|
|
130
|
+
transform: `translateX(${a.left}px)`,
|
|
131
|
+
opacity: i ? 1 : 0,
|
|
132
|
+
visibility: i ? "visible" : "hidden",
|
|
133
|
+
transition: r ? void 0 : "none"
|
|
134
|
+
}
|
|
135
|
+
}), C = "_active_131fx_15", w = {
|
|
136
|
+
"tabgroup-container": "_tabgroup-container_131fx_1",
|
|
137
|
+
"tabgroup-container__tab-item": "_tabgroup-container__tab-item_131fx_7",
|
|
138
|
+
active: C,
|
|
139
|
+
"tabgroup-container__indicator": "_tabgroup-container__indicator_131fx_18",
|
|
140
|
+
"tabgroup-container__indicator--animated": "_tabgroup-container__indicator--animated_131fx_26"
|
|
141
|
+
}, T = (t) => {
|
|
142
|
+
let { tabs: n, value: r, onChange: a } = t, { containerRef: o, indicatorStyle: l, enableTransition: u, indicatorVisible: d } = x({
|
|
143
|
+
activeKey: r,
|
|
144
|
+
tabsKey: i(() => m(n, (e) => e.value, (e) => e.label), [n]),
|
|
145
|
+
observeMeasureTargets: !0
|
|
146
|
+
});
|
|
147
|
+
return /* @__PURE__ */ c("div", {
|
|
148
|
+
className: w["tabgroup-container"],
|
|
149
|
+
ref: o,
|
|
150
|
+
children: [/* @__PURE__ */ s(S, {
|
|
151
|
+
className: w["tabgroup-container__indicator"],
|
|
152
|
+
animatedClassName: w["tabgroup-container__indicator--animated"],
|
|
153
|
+
enableTransition: u,
|
|
154
|
+
indicatorVisible: d,
|
|
155
|
+
indicatorStyle: l
|
|
156
|
+
}), n.map((t) => /* @__PURE__ */ s("div", {
|
|
157
|
+
className: e(w["tabgroup-container__tab-item"], { [w.active]: r === t.value }),
|
|
158
|
+
onClick: () => a(t.value),
|
|
159
|
+
children: /* @__PURE__ */ s("span", {
|
|
160
|
+
"data-tab-key": t.value,
|
|
161
|
+
children: t.label
|
|
162
|
+
})
|
|
163
|
+
}, t.value))]
|
|
164
|
+
});
|
|
165
|
+
}, E = (e) => e?._id ?? "", D = (e) => typeof e?.name == "string" ? e.name : "", O = (e) => e.find((e) => E(e) && D(e)), k = [], A = (e = {}) => String(e.type) === "1", j = (e) => {
|
|
166
|
+
let t = e.order ?? e.sort, n = Number(t);
|
|
167
|
+
return Number.isFinite(n) ? n : 2 ** 53 - 1;
|
|
168
|
+
}, M = (e) => [...e].sort((e, t) => j(e) - j(t)), N = (e = []) => ({
|
|
169
|
+
defaultGroups: e.filter(A),
|
|
170
|
+
customGroups: e.filter((e) => !A(e))
|
|
171
|
+
}), P = (e = []) => N(M(e)), F = ({ defaultGroups: e, customGroups: t, activeKey: n, labels: r }) => {
|
|
172
|
+
let i = [...e.length > 0 ? [{
|
|
173
|
+
key: "default",
|
|
174
|
+
label: r.default
|
|
175
|
+
}] : [], ...t.length > 0 ? [{
|
|
176
|
+
key: "custom",
|
|
177
|
+
label: r.custom
|
|
178
|
+
}] : []], a = i.length === 0, o = i.some((e) => e.key === n) ? n : i[0]?.key ?? "default";
|
|
179
|
+
return {
|
|
180
|
+
tabs: i,
|
|
181
|
+
isPanelEmpty: a,
|
|
182
|
+
activeKey: o,
|
|
183
|
+
currentGroups: o === "default" ? e : t
|
|
184
|
+
};
|
|
185
|
+
}, I = ({ groups: e = k, labels: t, initialActiveKey: n = "default", ordered: r = !1 }) => {
|
|
186
|
+
let [a, s] = o(n), { defaultGroups: c, customGroups: l } = i(() => r ? P(e) : N(e), [e, r]);
|
|
187
|
+
return {
|
|
188
|
+
...i(() => F({
|
|
189
|
+
defaultGroups: c,
|
|
190
|
+
customGroups: l,
|
|
191
|
+
activeKey: a,
|
|
192
|
+
labels: t
|
|
193
|
+
}), [
|
|
194
|
+
a,
|
|
195
|
+
l,
|
|
196
|
+
c,
|
|
197
|
+
t
|
|
198
|
+
]),
|
|
199
|
+
setActiveKey: s,
|
|
200
|
+
defaultGroups: c,
|
|
201
|
+
customGroups: l
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
//#endregion
|
|
205
|
+
export { T as a, x as c, f as d, u as f, D as i, p as l, O as n, S as o, E as r, m as s, I as t, d as u };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { n as e } from "../vendors/lodash-es.js";
|
|
2
|
+
import { useEffect as t, useRef as n, useState as r } from "react";
|
|
3
|
+
//#region src/components/DeptsMemberSelector/utils/deptUsersDockCacheKeys.ts
|
|
4
|
+
var i = "deptUsersCorps", a = "deptUsersCorpLabelTree", o = "deptUsersCorpDeptTree", s = "deptUsersRelations", c = "deptUsersRoleLeaves", l = "deptUsersOrgInternal", u = "deptUsersOrgExternal", d = (e, t, n = !0) => `${e}:${t?.appId ?? ""}:${t?.entryId ?? ""}:${!!n}`, f = (e, t) => {
|
|
5
|
+
if (t === "none" || e.length === 0) return [];
|
|
6
|
+
if (t === "single-root-only") {
|
|
7
|
+
let t = e[0]._id;
|
|
8
|
+
return e.length === 1 && t != null ? [t] : [];
|
|
9
|
+
}
|
|
10
|
+
return e.map((e) => e._id).filter((e) => e != null);
|
|
11
|
+
}, p = (e, t, n = []) => {
|
|
12
|
+
for (let r of e) {
|
|
13
|
+
if (r._id === void 0 || r._id === null) continue;
|
|
14
|
+
let e = [...n, r._id];
|
|
15
|
+
if (r._id === t) return e;
|
|
16
|
+
if (r.children?.length) {
|
|
17
|
+
let n = p(r.children, t, e);
|
|
18
|
+
if (n) return n;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}, m = (t, n = []) => {
|
|
23
|
+
let r = [];
|
|
24
|
+
return n.forEach((e) => {
|
|
25
|
+
let n = p(t, e);
|
|
26
|
+
n && r.push(...n.slice(0, -1));
|
|
27
|
+
}), e(r);
|
|
28
|
+
}, h = (t, n) => {
|
|
29
|
+
let r = f(t, n.baselineMode), i = n.selectionExpandKeys ?? [];
|
|
30
|
+
return e([...r, ...i]);
|
|
31
|
+
}, g = (e, t) => {
|
|
32
|
+
if (e.length !== t.length) return !1;
|
|
33
|
+
let n = new Set(t.map(String));
|
|
34
|
+
return e.every((e) => n.has(String(e)));
|
|
35
|
+
}, _ = (e) => {
|
|
36
|
+
let [i, a] = r(null), o = n(e);
|
|
37
|
+
return t(() => {
|
|
38
|
+
g(e, o.current) || (o.current = e, a(null));
|
|
39
|
+
}, [e]), {
|
|
40
|
+
expandedKeys: i ?? e,
|
|
41
|
+
onExpand: a
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
export { i as a, u as c, c as d, d as f, h as i, l, p as n, o, m as r, a as s, _ as t, s as u };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../utils-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../utils-Bb473LZ3.js";
|
|
2
2
|
export { c as ENTITY_COLORS, i as buildDeptTree, o as buildTree, n as findNodeInTree, e as getAvatarText, a as getColorByName, t as getMemberBadgeLabels, s as getMemberDisplayName, r as resolveMemberBadgeText };
|
|
@@ -6,7 +6,7 @@ var t = (e, t) => `(${t.external}:${e})`, n = (e) => ({
|
|
|
6
6
|
}), r = (e, n, r) => {
|
|
7
7
|
if (e.type === "dockrole") return e.name ? t(e.name, n) : void 0;
|
|
8
8
|
if (e.type === "role") return e.name ? `(${n.member}:${e.name})` : void 0;
|
|
9
|
-
if (e.user_type === "dock_user"
|
|
9
|
+
if (e.user_type === "dock_user" && e.dock_corpname) return t(e.dock_corpname, n);
|
|
10
10
|
if (e.deptnames) return e.deptnames;
|
|
11
11
|
if (r?.allowDockCorpFallback && e.dock_corpname) return t(e.dock_corpname, n);
|
|
12
12
|
}, i = [
|
|
@@ -65,39 +65,41 @@ var t = (e, t) => `(${t.external}:${e})`, n = (e) => ({
|
|
|
65
65
|
}
|
|
66
66
|
return null;
|
|
67
67
|
};
|
|
68
|
-
function f(e) {
|
|
69
|
-
let t = {},
|
|
68
|
+
function f(e, t) {
|
|
69
|
+
let { sortByOrder: n = !0 } = t ?? {}, r = {}, i = [], a = (e) => e == null ? "" : String(e), o = (e) => {
|
|
70
70
|
if (e === "" || e == null) return Infinity;
|
|
71
71
|
let t = Number(e);
|
|
72
72
|
return Number.isFinite(t) ? t : Infinity;
|
|
73
|
-
},
|
|
74
|
-
let n =
|
|
73
|
+
}, s = (e) => e.sort((e, t) => {
|
|
74
|
+
let n = o(e.order), r = o(t.order);
|
|
75
75
|
return n === r ? 0 : n - r;
|
|
76
76
|
});
|
|
77
77
|
return e.forEach((e) => {
|
|
78
|
-
let
|
|
79
|
-
|
|
78
|
+
let t = a(e.departmentId);
|
|
79
|
+
t && (r[t] = {
|
|
80
80
|
...e,
|
|
81
81
|
title: e.name,
|
|
82
82
|
key: e.departmentId,
|
|
83
83
|
children: []
|
|
84
84
|
});
|
|
85
|
-
}),
|
|
86
|
-
let
|
|
87
|
-
if (!
|
|
88
|
-
|
|
85
|
+
}), e.forEach((e) => {
|
|
86
|
+
let t = a(e.departmentId), n = r[t];
|
|
87
|
+
if (!n) return;
|
|
88
|
+
let o = a(n.parentId);
|
|
89
|
+
if (!o || o === "0") {
|
|
90
|
+
i.push(n);
|
|
89
91
|
return;
|
|
90
92
|
}
|
|
91
|
-
if (
|
|
92
|
-
let
|
|
93
|
-
if (
|
|
94
|
-
|
|
93
|
+
if (o === t) return;
|
|
94
|
+
let s = r[o];
|
|
95
|
+
if (s) {
|
|
96
|
+
s.children.push(n);
|
|
95
97
|
return;
|
|
96
98
|
}
|
|
97
|
-
|
|
98
|
-
}), Object.values(
|
|
99
|
-
|
|
100
|
-
}),
|
|
99
|
+
i.push(n);
|
|
100
|
+
}), n && (Object.values(r).forEach((e) => {
|
|
101
|
+
s(e.children);
|
|
102
|
+
}), s(i)), i;
|
|
101
103
|
}
|
|
102
104
|
//#endregion
|
|
103
105
|
export { s as a, n as c, d as i, r as l, f as n, c as o, u as r, l as s, i as t };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "../BubbleChart/AutoGridEChart-
|
|
1
|
+
import { t as e } from "../BubbleChart/AutoGridEChart-VA8BTIj4.js";
|
|
2
2
|
import { forwardRef as t, useImperativeHandle as n, useRef as r } from "react";
|
|
3
3
|
import { jsx as i } from "react/jsx-runtime";
|
|
4
4
|
var a = t((t, a) => {
|
|
@@ -25,7 +25,7 @@ var a = t((t, a) => {
|
|
|
25
25
|
xAxis: {
|
|
26
26
|
axisLabel: {
|
|
27
27
|
color: f,
|
|
28
|
-
fontSize:
|
|
28
|
+
fontSize: 12,
|
|
29
29
|
show: !0,
|
|
30
30
|
hideOverlap: !t.options.xAxis?.label?.step,
|
|
31
31
|
rotate: t.options.xAxis?.label?.rotation?.toString() || "45"
|
|
@@ -50,7 +50,7 @@ var a = t((t, a) => {
|
|
|
50
50
|
yAxis: {
|
|
51
51
|
axisLabel: {
|
|
52
52
|
color: f,
|
|
53
|
-
fontSize:
|
|
53
|
+
fontSize: 12,
|
|
54
54
|
show: !0,
|
|
55
55
|
hideOverlap: !t.options.yAxis?.label?.step,
|
|
56
56
|
rotate: t.options.yAxis?.label?.rotation?.toString() || "45"
|
|
@@ -129,7 +129,7 @@ var a = t((t, a) => {
|
|
|
129
129
|
},
|
|
130
130
|
label: {
|
|
131
131
|
show: !0,
|
|
132
|
-
position: "insideEndTop",
|
|
132
|
+
position: e.field === t.options.xFields[0].tag ? "insideEndTop" : "insideStartTop",
|
|
133
133
|
formatter: (t) => {
|
|
134
134
|
if (e.is_label_visible && e.is_value_visible) return e.label + ":" + t.value;
|
|
135
135
|
if (e.is_label_visible) return e.label;
|
|
@@ -154,6 +154,8 @@ var a = t((t, a) => {
|
|
|
154
154
|
fontWeight: 500
|
|
155
155
|
}
|
|
156
156
|
},
|
|
157
|
+
hoverAnimation: !1,
|
|
158
|
+
emphasis: { disabled: !0 },
|
|
157
159
|
type: "scatter"
|
|
158
160
|
}))
|
|
159
161
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "../vendors/echarts.js";
|
|
2
|
-
import "../BubbleChart/AutoGridEChart-
|
|
3
|
-
import { t as e } from "./Scatterplot-
|
|
2
|
+
import "../BubbleChart/AutoGridEChart-VA8BTIj4.js";
|
|
3
|
+
import { t as e } from "./Scatterplot-R66_f3TZ.js";
|
|
4
4
|
//#region src/components/Scatterplot/index.ts
|
|
5
5
|
var t = e;
|
|
6
6
|
//#endregion
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SetStateAction } from 'react';
|
|
2
1
|
import { Action } from '../types/context';
|
|
3
2
|
import { CurrentContext, DepartmentSelectableRange, DepartmentPanelRequestGuard, DeptUsersPanelConfig, FlowCreator, MemberPanelRequestGuard, MemberPanelVisibility, RequestContext, SelectorLimits, SelectorType } from '../types/selector';
|
|
4
3
|
declare const DeptsMemberContext: import('react').Context<{
|
|
@@ -8,7 +7,6 @@ declare const DeptsMemberContext: import('react').Context<{
|
|
|
8
7
|
* @description 无论单选还是多选,value 都统一按数组存储,避免面板层再分叉处理状态结构
|
|
9
8
|
*/
|
|
10
9
|
value?: any[];
|
|
11
|
-
setValue: (v: SetStateAction<any[]>, ...args: any[]) => void;
|
|
12
10
|
dispatch: (action: Action) => void;
|
|
13
11
|
containerHeight: number;
|
|
14
12
|
currentUsers?: Record<string, unknown>[];
|
|
@@ -39,5 +37,10 @@ declare const DeptsMemberContext: import('react').Context<{
|
|
|
39
37
|
* 为 true 时整个弹窗统一走单选(radio + insertOnly),由主组件派生注入。
|
|
40
38
|
*/
|
|
41
39
|
isSingleSelect?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* 成员黑名单 id Set。仅 type === 'deptusers' 时由主组件从 props.excludedMemberIds 派生;
|
|
42
|
+
* 其它 type 或未传时为空 Set。命中 `_id` / `id` / `dock_userid` 的成员不展示。
|
|
43
|
+
*/
|
|
44
|
+
excludedMemberIdSet?: ReadonlySet<string>;
|
|
42
45
|
}>;
|
|
43
46
|
export default DeptsMemberContext;
|
|
@@ -3,7 +3,6 @@ export declare const useDeptsMemberSelector: () => {
|
|
|
3
3
|
departmentPanelRequestGuard: import('../types/selector').DepartmentPanelRequestGuard;
|
|
4
4
|
type: import('..').SelectorType;
|
|
5
5
|
value?: any[];
|
|
6
|
-
setValue: (v: import('react').SetStateAction<any[]>, ...args: any[]) => void;
|
|
7
6
|
dispatch: (action: import('../types/context').Action) => void;
|
|
8
7
|
containerHeight: number;
|
|
9
8
|
currentUsers?: Record<string, unknown>[];
|
|
@@ -21,4 +20,5 @@ export declare const useDeptsMemberSelector: () => {
|
|
|
21
20
|
hasDock?: boolean;
|
|
22
21
|
hasDeptDock?: boolean;
|
|
23
22
|
isSingleSelect?: boolean;
|
|
23
|
+
excludedMemberIdSet?: ReadonlySet<string>;
|
|
24
24
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 成员列表出口统一过滤:transfer 剔除当前登录用户;excludedMemberIdSet 非空时剔除黑名单成员。
|
|
3
|
+
* 从 Context 读取 type / currentUsers / excludedMemberIdSet 并 memo 化结果。仅用于渲染期调用点;
|
|
4
|
+
* useRequest 异步回调内请直接使用 filterMemberListCandidates。
|
|
5
|
+
*/
|
|
6
|
+
export declare const useFilteredMemberList: <T extends Record<string, unknown>>(list: T[]) => T[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type UseTabListScrollOffsetOptions = {
|
|
2
|
+
/** 可视窗口 ref(与 useSlidingTabIndicator 的 containerRef 共用同一节点) */
|
|
3
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
4
|
+
/** 承担横向偏移的 track ref,用于读取 offsetWidth */
|
|
5
|
+
trackRef: React.RefObject<HTMLDivElement>;
|
|
6
|
+
/** 当前激活的 tab key */
|
|
7
|
+
activeKey: string;
|
|
8
|
+
/** `${key}:${label}|...`,tab 结构或文案变化时触发重算 */
|
|
9
|
+
tabsKey: string;
|
|
10
|
+
/** 测量节点上的 data 属性,默认 `data-tab-key` */
|
|
11
|
+
measureAttribute?: string;
|
|
12
|
+
};
|
|
13
|
+
/** 将激活 tab 居中于可视窗口,结果 clamp 到 [0, maxOffset];未溢出时返回 0。 */
|
|
14
|
+
export declare const computeScrollOffset: (containerWidth: number, trackWidth: number, tabLeft: number, tabWidth: number) => number;
|
|
15
|
+
export declare const useTabListScrollOffset: (options: UseTabListScrollOffsetOptions) => {
|
|
16
|
+
scrollOffset: number;
|
|
17
|
+
};
|
|
18
|
+
export default useTabListScrollOffset;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 树展开态:默认跟随 resolvedExpandedKeys,用户手动折叠/展开后保留 manual 态;
|
|
3
|
+
* resolved 内容变化(数据加载、选中路径变化、Tab 切换)时重置 manual。
|
|
4
|
+
*/
|
|
5
|
+
declare const useTreeExpandedKeys: (resolvedExpandedKeys: Array<string | number>) => {
|
|
6
|
+
expandedKeys: (string | number)[];
|
|
7
|
+
onExpand: import('react').Dispatch<import('react').SetStateAction<(string | number)[] | null>>;
|
|
8
|
+
};
|
|
9
|
+
export { useTreeExpandedKeys };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TreeNodeDefine } from '@baishuyun/ui-base/components/Tree';
|
|
2
|
+
/** deptusers 全局搜索唯一宿主数据层:按维度注册表并集挂载 remote/local 搜索。 */
|
|
3
|
+
declare const useDeptUsersSearchData: ({ wd }: {
|
|
4
|
+
wd?: string;
|
|
5
|
+
}) => {
|
|
6
|
+
containerHeight: number;
|
|
7
|
+
treeData: {
|
|
8
|
+
title: string;
|
|
9
|
+
value: string;
|
|
10
|
+
children: any[];
|
|
11
|
+
}[];
|
|
12
|
+
defaultExpandedKeys: string[];
|
|
13
|
+
selectedKeys: any[];
|
|
14
|
+
isLoading: boolean;
|
|
15
|
+
checkType: "radio" | "checkbox";
|
|
16
|
+
handleSelect: (_id: any, node?: TreeNodeDefine) => void;
|
|
17
|
+
handleDeSelect: (targetValue: any) => void;
|
|
18
|
+
};
|
|
19
|
+
export { useDeptUsersSearchData };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CorpDeptSourceItem, CorpDeptTreeNode } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* 将 department/list(hasDeptDock)返回的扁平 label_corp_list 构建为嵌套树。
|
|
4
|
+
* 节点主键统一为 id(取 departmentId,回退 _id),供右栏成员请求 deptId 使用。
|
|
5
|
+
*/
|
|
6
|
+
declare const buildCorpDeptTreeData: (labelCorpList?: CorpDeptSourceItem[]) => CorpDeptTreeNode[];
|
|
7
|
+
export { buildCorpDeptTreeData };
|
package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/types.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** department/list(hasDeptDock)返回的 label_corp_list 原始节点。 */
|
|
2
|
+
type CorpDeptSourceItem = {
|
|
3
|
+
_id?: string | number;
|
|
4
|
+
name?: string;
|
|
5
|
+
type?: string;
|
|
6
|
+
departmentId?: string | number;
|
|
7
|
+
parentId?: string | number;
|
|
8
|
+
/** 对接企业 id;dockcorp 节点自身即企业,该字段可能缺失。 */
|
|
9
|
+
owner_corpid?: string;
|
|
10
|
+
order?: string | number;
|
|
11
|
+
status?: string;
|
|
12
|
+
children?: CorpDeptSourceItem[];
|
|
13
|
+
};
|
|
14
|
+
/** buildCorpDeptTreeData 产出的树节点,统一暴露 id(= departmentId)作为节点主键。 */
|
|
15
|
+
type CorpDeptTreeNode = CorpDeptSourceItem & {
|
|
16
|
+
id: string | number;
|
|
17
|
+
children?: CorpDeptTreeNode[];
|
|
18
|
+
};
|
|
19
|
+
/** department/member/list 返回的 dock_user_list 分组。 */
|
|
20
|
+
type DockUserGroup = {
|
|
21
|
+
dockCorpid?: string | number;
|
|
22
|
+
dock_corpname?: string;
|
|
23
|
+
userList?: CorpDeptMemberItem[];
|
|
24
|
+
};
|
|
25
|
+
/** 对接人 Tab 右栏对接人 DTO。 */
|
|
26
|
+
type CorpDeptMemberItem = {
|
|
27
|
+
_id: string | number;
|
|
28
|
+
name?: string;
|
|
29
|
+
avatarurl?: string;
|
|
30
|
+
nickname?: string;
|
|
31
|
+
deptnames?: string;
|
|
32
|
+
dock_corpname?: string;
|
|
33
|
+
user_type?: string;
|
|
34
|
+
/** 所属对接企业 id;member/list 接口已返回。 */
|
|
35
|
+
owner_corpid?: string;
|
|
36
|
+
dock_corpid?: string;
|
|
37
|
+
user_id?: string | number;
|
|
38
|
+
type?: string;
|
|
39
|
+
};
|
|
40
|
+
/** 树节点点击是否加载右侧成员:label / dockcorpdept 仅作结构节点。 */
|
|
41
|
+
declare const isMemberLoadingNode: (node?: {
|
|
42
|
+
type?: string;
|
|
43
|
+
} | null) => boolean;
|
|
44
|
+
export type { CorpDeptSourceItem, CorpDeptTreeNode, DockUserGroup, CorpDeptMemberItem };
|
|
45
|
+
export { isMemberLoadingNode };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CorpDeptMemberItem, CorpDeptTreeNode } from './types';
|
|
2
|
+
export declare const useCorpDeptPanelData: () => {
|
|
3
|
+
treeData: CorpDeptTreeNode[];
|
|
4
|
+
treeLoading: boolean;
|
|
5
|
+
activeNode: CorpDeptTreeNode | null;
|
|
6
|
+
members: CorpDeptMemberItem[];
|
|
7
|
+
memberLoading: boolean;
|
|
8
|
+
containerHeight: number;
|
|
9
|
+
selectedMemberIds: any[];
|
|
10
|
+
selectedMemberId: any;
|
|
11
|
+
isSingleSelect: boolean | undefined;
|
|
12
|
+
handleSelectNode: (node: CorpDeptTreeNode | null) => void;
|
|
13
|
+
handleSelectMember: (member: CorpDeptMemberItem) => void;
|
|
14
|
+
handleMemberToggle: (member: CorpDeptMemberItem) => void;
|
|
15
|
+
handleDeselectMember: (memberId: string | number) => void;
|
|
16
|
+
};
|
|
17
|
+
export type CorpDeptPanelData = ReturnType<typeof useCorpDeptPanelData>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CorpListItem } from '../../../../types/selector';
|
|
2
|
+
declare const CorpFlatList: React.FC<{
|
|
3
|
+
corpList?: CorpListItem[];
|
|
4
|
+
selectedIds?: Array<string | number>;
|
|
5
|
+
selectedId?: string | number;
|
|
6
|
+
loading?: boolean;
|
|
7
|
+
isSingleSelect?: boolean;
|
|
8
|
+
respectNoEdit?: boolean;
|
|
9
|
+
onChange?: (values: (string | number)[]) => void;
|
|
10
|
+
onToggle?: (item: CorpListItem) => void;
|
|
11
|
+
}>;
|
|
12
|
+
export default CorpFlatList;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CorpLabelTreeNode } from './buildCorpLabelTreeData';
|
|
2
|
+
export declare const resolveDockCorpBareId: (corpId: string | number | null | undefined) => string;
|
|
3
|
+
/** 裸 id → label_corp 树中的 dockcorp 节点(用于勾选对齐与预览补名)。 */
|
|
4
|
+
export declare const indexDockCorpTreeNodesByBare: (treeData?: CorpLabelTreeNode[]) => Map<string, CorpLabelTreeNode>;
|
|
5
|
+
/**
|
|
6
|
+
* 按裸 id 把已选 dockcorp _id 对齐到 label_corp 树节点真实 _id。
|
|
7
|
+
* 解决 corp_id_list 与树节点 _host/_guest 形态不一致导致的不勾选。
|
|
8
|
+
*/
|
|
9
|
+
export declare const alignDockCorpSelectedKeys: (selectedIds: Array<string | number>, treeData?: CorpLabelTreeNode[]) => Array<string | number>;
|
|
10
|
+
type SelectorLikeItem = {
|
|
11
|
+
_id?: string | number;
|
|
12
|
+
id?: string | number;
|
|
13
|
+
type?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
nickname?: string;
|
|
16
|
+
dock_corpname?: string;
|
|
17
|
+
[key: string]: unknown;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* 用 label_corp 树回填已选 dockcorp:补 name、对齐 _id;不在树中的项视为已删除/不可用并剔除。
|
|
21
|
+
* 对齐旧版 memberSelect:预览名来自树/corpMap,失效企业不展示(或标 deleted)。
|
|
22
|
+
*/
|
|
23
|
+
export declare const reconcileDockCorpSelectionWithTree: <T extends SelectorLikeItem>(items?: T[], treeData?: CorpLabelTreeNode[]) => {
|
|
24
|
+
nextItems: T[];
|
|
25
|
+
changed: boolean;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type CorpLabelSourceItem = {
|
|
2
|
+
_id?: string | number;
|
|
3
|
+
name?: string;
|
|
4
|
+
/** label_corp 接口 dockcorp 节点可能带企业展示名 */
|
|
5
|
+
dock_corpname?: string;
|
|
6
|
+
type?: string;
|
|
7
|
+
departmentId?: string | number;
|
|
8
|
+
parentId?: string | number;
|
|
9
|
+
checkable?: boolean;
|
|
10
|
+
children?: CorpLabelSourceItem[];
|
|
11
|
+
};
|
|
12
|
+
type CorpLabelTreeNode = CorpLabelSourceItem & {
|
|
13
|
+
checkable?: boolean;
|
|
14
|
+
children?: CorpLabelTreeNode[];
|
|
15
|
+
};
|
|
16
|
+
declare const buildCorpLabelTreeData: (labelCorpList?: CorpLabelSourceItem[]) => CorpLabelTreeNode[];
|
|
17
|
+
export { buildCorpLabelTreeData };
|
|
18
|
+
export type { CorpLabelSourceItem, CorpLabelTreeNode };
|