@baishuyun/ui-business 6.1.1 → 6.2.1

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.
Files changed (74) hide show
  1. package/dist/BubbleChart/{AutoGridEChart-VA8BTIj4.js → AutoGridEChart-C8txdGdG.js} +17 -17
  2. package/dist/BubbleChart/{BubbleChart-CGLJJHYy.js → BubbleChart-rOdQW7mB.js} +54 -16
  3. package/dist/BubbleChart/index.js +2 -2
  4. package/dist/DeptsMemberSelector/{CorpDeptTree-Bd9vQiyE.js → CorpDeptTree-B4EEUTqQ.js} +1 -1
  5. package/dist/DeptsMemberSelector/{CorpFlatList-AoU46OJa.js → CorpFlatList-Cn8-KRFi.js} +2 -2
  6. package/dist/DeptsMemberSelector/CorpLabelTree-iQ_7Ux_J.js +212 -0
  7. package/dist/DeptsMemberSelector/{Department-Buo6RYwS.js → Department-DXD3xoiS.js} +4 -4
  8. package/dist/DeptsMemberSelector/DeptsMemberSelector-DXpd9aCn.js +1935 -0
  9. package/dist/DeptsMemberSelector/{DeptsUser-0XtIImLw.js → DeptsUser-DO-SQexg.js} +146 -126
  10. package/dist/DeptsMemberSelector/{EnterpriseLabelList-Dik3GxJY.js → EnterpriseLabelList-BtB8AjXO.js} +2 -2
  11. package/dist/DeptsMemberSelector/{Member-B0yVNXTb.js → Member-BrNFIHZy.js} +22 -22
  12. package/dist/DeptsMemberSelector/OrganizationPanel-hray3UWA.js +671 -0
  13. package/dist/DeptsMemberSelector/{RelationShipList-CpNKR298.js → RelationShipList-DcgaMOyr.js} +1 -1
  14. package/dist/DeptsMemberSelector/{TagIcon-CgEG5XAx.js → TagIcon-CYklI9Ar.js} +40 -40
  15. package/dist/DeptsMemberSelector/{filterLabelCorpFlatNodes-COzZgZE5.js → filterLabelCorpFlatNodes-BrRZqDkm.js} +1 -1
  16. package/dist/DeptsMemberSelector/index.js +15 -15
  17. package/dist/DeptsMemberSelector/services/contact/{selector.service-dmS_qeZo.js → selector.service-CQopqiTw.js} +3 -1
  18. package/dist/DeptsMemberSelector/subcomponents/Entity/Department/index.js +6 -6
  19. package/dist/DeptsMemberSelector/subcomponents/Entity/DeptsUser/index.js +12 -12
  20. package/dist/DeptsMemberSelector/subcomponents/Entity/Member/index.js +5 -5
  21. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpDeptPanel/CorpDeptTree/index.js +2 -2
  22. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpFlatList/index.js +3 -3
  23. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/CorpLabelTree/index.js +5 -5
  24. package/dist/DeptsMemberSelector/subcomponents/Panels/DeptUsersEnterpriseLabelPanel/EnterpriseLabelList/index.js +3 -3
  25. package/dist/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.js +2 -2
  26. package/dist/DeptsMemberSelector/{useDeptsMemberSelector-CiImbq5E.js → useDeptsMemberSelector-B6XZHqd5.js} +2 -3
  27. package/dist/DeptsMemberSelector/useFilteredMemberList-BE7jRCME.js +807 -0
  28. package/dist/DeptsMemberSelector/{useTreeExpandedKeys-BlOuNYZ2.js → useTreeExpandedKeys-oLUTUYkP.js} +13 -13
  29. package/dist/Scatterplot/{Scatterplot-R66_f3TZ.js → Scatterplot-NVg5vMAZ.js} +57 -15
  30. package/dist/Scatterplot/index.js +2 -2
  31. package/dist/components/BubbleChart/AutoGridEChart.d.ts +1 -0
  32. package/dist/components/BubbleChart/BubbleChart.type.d.ts +1 -0
  33. package/dist/components/DeptsMemberSelector/context/DeptsMemberContext.d.ts +3 -5
  34. package/dist/components/DeptsMemberSelector/hooks/useDeptsMemberSelector.d.ts +1 -2
  35. package/dist/components/DeptsMemberSelector/hooks/useFilteredMemberList.d.ts +2 -2
  36. package/dist/components/DeptsMemberSelector/subcomponents/Entity/DeptsUser/DeptUsersSearch/DeptUsersSearch.d.ts +5 -0
  37. package/dist/components/DeptsMemberSelector/subcomponents/Entity/DeptsUser/DeptUsersSearch/useDeptUsersSearchData.d.ts +19 -0
  38. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/alignDockCorpSelectedKeys.d.ts +27 -0
  39. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/buildCorpLabelTreeData.d.ts +2 -0
  40. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersCorpPanel/useCorpLabelTreePanelData.d.ts +1 -1
  41. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersRolePanel/useDeptUsersRolePanelData.d.ts +1 -15
  42. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/useMemberPagedList.d.ts +40 -0
  43. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/useMemberPanelData.d.ts +88 -3
  44. package/dist/components/DeptsMemberSelector/types/selector.d.ts +5 -6
  45. package/dist/components/DeptsMemberSelector/utils/deptUsersCorpDeptSearchGroup.d.ts +3 -16
  46. package/dist/components/DeptsMemberSelector/utils/deptUsersCorpSearchGroup.d.ts +9 -18
  47. package/dist/components/DeptsMemberSelector/utils/deptUsersDockCacheKeys.d.ts +13 -1
  48. package/dist/components/DeptsMemberSelector/utils/deptUsersEnterpriseLabelSearchGroup.d.ts +3 -15
  49. package/dist/components/DeptsMemberSelector/utils/deptUsersOrgDepartmentsData.d.ts +30 -0
  50. package/dist/components/DeptsMemberSelector/utils/deptUsersOrganizationSearchGroup.d.ts +25 -0
  51. package/dist/components/DeptsMemberSelector/utils/deptUsersRelationSearchGroup.d.ts +4 -16
  52. package/dist/components/DeptsMemberSelector/utils/deptUsersRoleModel.d.ts +43 -0
  53. package/dist/components/DeptsMemberSelector/utils/deptUsersRoleSearchGroup.d.ts +24 -0
  54. package/dist/components/DeptsMemberSelector/utils/deptUsersSearchDimensions.d.ts +30 -0
  55. package/dist/components/DeptsMemberSelector/utils/entityItemType.d.ts +5 -2
  56. package/dist/components/DeptsMemberSelector/utils/flattenDockUserList.d.ts +7 -0
  57. package/dist/components/DeptsMemberSelector/utils/flowCreator.d.ts +12 -3
  58. package/dist/components/DeptsMemberSelector/utils/resolveDeptUsersExternalMembers.d.ts +7 -0
  59. package/dist/components/DeptsMemberSelector/utils/resolveDeptUsersOrganizationEntryVisibility.d.ts +1 -1
  60. package/dist/components/DeptsMemberSelector/utils/resolveDockCorpId.d.ts +15 -0
  61. package/dist/components/DeptsMemberSelector/utils/useDeptUsersOrgDepartmentsPrefetch.d.ts +16 -0
  62. package/dist/components/Scatterplot/Scatterplot.type.d.ts +1 -0
  63. package/dist/index.css +1 -1
  64. package/dist/index.js +18 -18
  65. package/dist/lang/en-US.json.d.ts +2 -1
  66. package/dist/lang/zh-CN.json.d.ts +2 -1
  67. package/dist/lang/zh-TW.json.d.ts +2 -1
  68. package/dist/vendors/useLocale.js +12 -3
  69. package/package.json +3 -3
  70. package/dist/DeptsMemberSelector/CorpLabelTree-CNPD4B-g.js +0 -105
  71. package/dist/DeptsMemberSelector/DeptsMemberSelector-DxrheJ9Y.js +0 -1757
  72. package/dist/DeptsMemberSelector/OrganizationPanel-Bcgs46Oo.js +0 -604
  73. package/dist/DeptsMemberSelector/memberStatus-C9tTnu8V.js +0 -717
  74. package/dist/components/DeptsMemberSelector/utils/deptUsersSearchVisibility.d.ts +0 -36
@@ -0,0 +1,1935 @@
1
+ import { t as e } from "../vendors/simplebar-react.js";
2
+ import { t } from "../vendors/clsx.js";
3
+ import { a as n, l as r, o as i } from "../vendors/lodash-es.js";
4
+ import { a, c as o, d as s, i as c, l, n as u, o as d, s as f, t as p, u as m } from "./useDeptsMemberSelector-B6XZHqd5.js";
5
+ import { C as h, S as g, _, a as v, h as y, i as b, l as x, m as S, n as C, p as w, u as T } from "./services/contact/selector.service-CQopqiTw.js";
6
+ import { a as E, c as D, i as O, l as k, n as A, r as j, s as M, t as N, u as ee } from "./TagIcon-CYklI9Ar.js";
7
+ import { t as P } from "../vendors/useLocale.js";
8
+ import { a as F, c as I, i as te, l as ne, o as re, r as ie, s as L } from "./utils-Bb473LZ3.js";
9
+ import { c as ae, d as oe, f as se, l as ce, o as le, s as ue, u as de } from "./useOutsiderGroupPanelState-BULTXv3n.js";
10
+ import { n as fe, o as pe, r as me, s as he } from "./filterLabelCorpFlatNodes-BrRZqDkm.js";
11
+ import { a as ge, i as _e, n as ve, r as ye } from "./OrganizationPanel-hray3UWA.js";
12
+ import { a as be, d as xe, u as Se } from "./useTreeExpandedKeys-oLUTUYkP.js";
13
+ import { a as Ce, i as we, o as Te, r as Ee, t as De } from "./useFilteredMemberList-BE7jRCME.js";
14
+ import { i as Oe, n as ke, r as Ae, t as je } from "./DeptsUser-DO-SQexg.js";
15
+ import { r as Me } from "./CorpFlatList-Cn8-KRFi.js";
16
+ import { t as Ne } from "./Member-BrNFIHZy.js";
17
+ import { n as Pe, r as Fe, t as Ie } from "./Department-DXD3xoiS.js";
18
+ import { useCallback as R, useEffect as z, useLayoutEffect as Le, useMemo as B, useRef as V, useState as H } from "react";
19
+ import { Avatar as Re, Button as ze, Spin as Be } from "antd";
20
+ import { Icon as U, Tree as Ve } from "@baishuyun/ui-base";
21
+ import { createPortal as He } from "react-dom";
22
+ import { AnimatePresence as Ue, motion as We } from "motion/react";
23
+ import { useControllableValue as Ge, useDebounceFn as Ke, useRequest as W, useToggle as qe } from "ahooks";
24
+ import { Fragment as Je, jsx as G, jsxs as K } from "react/jsx-runtime";
25
+ import { produce as Ye } from "immer";
26
+ //#region src/components/DeptsMemberSelector/subcomponents/SelectionArea/SelectionArea.module.scss
27
+ var q = {
28
+ "selection-area": "_selection-area_15kqb_1",
29
+ "selection-area__container": "_selection-area__container_15kqb_5",
30
+ "selection-area__container--expanded": "_selection-area__container--expanded_15kqb_12",
31
+ "selection-area__container--animating": "_selection-area__container--animating_15kqb_15",
32
+ "selection-area__body": "_selection-area__body_15kqb_20",
33
+ "selection-area__body--expanded": "_selection-area__body--expanded_15kqb_27",
34
+ "selection-area__scroll-gutter": "_selection-area__scroll-gutter_15kqb_33",
35
+ "selection-area__scroll": "_selection-area__scroll_15kqb_33",
36
+ "selection-area__button": "_selection-area__button_15kqb_40",
37
+ "selection-area__mask": "_selection-area__mask_15kqb_52"
38
+ }, Xe = "bsy_dept_member", Ze = "preset_bsy_dept_member";
39
+ function Qe(e, t) {
40
+ try {
41
+ let n = e.includes("-relationSub-") ? "relationSub" : e.includes("-relationUser-") ? "relationUser" : e.includes("-relation-") ? "relation" : null;
42
+ if (!n) return t;
43
+ let r = e.split("-")[0], i, a = sessionStorage.getItem(Ze);
44
+ if (a && (i = JSON.parse(a).find((e) => String(e._id) === r)), !i) {
45
+ let e = sessionStorage.getItem(Xe);
46
+ e && (i = JSON.parse(e).find((e) => String(e._id) === r));
47
+ }
48
+ if (!i) return t;
49
+ switch (n) {
50
+ case "relationSub": return `${i.name}及子部门 - ${t}`;
51
+ case "relation": return `${i.name} - ${t}`;
52
+ case "relationUser": return `${i.nickname} - ${t}`;
53
+ default: return t;
54
+ }
55
+ } catch (e) {
56
+ return console.error("获取关联节点名称时发生错误:", e), t;
57
+ }
58
+ }
59
+ //#endregion
60
+ //#region src/components/DeptsMemberSelector/utils/resolveSelectedItemVisual.ts
61
+ var $e = new Set([A.USER, A.OUTSIDER]), et = (e, t) => {
62
+ let n = String(O(e, t));
63
+ return $e.has(n) ? { kind: "avatar" } : {
64
+ kind: "tag",
65
+ tagType: n
66
+ };
67
+ }, tt = ({ item: e, name: t, size: n = 20 }) => {
68
+ let r = et(e.type, e);
69
+ if (r.kind === "avatar") {
70
+ let r = [e.avatarurl, e.avatarUrl].find((e) => i(e));
71
+ return r ? /* @__PURE__ */ G(Re, {
72
+ src: r,
73
+ size: n
74
+ }) : /* @__PURE__ */ G(Re, {
75
+ style: {
76
+ backgroundColor: re(t),
77
+ fontSize: "12px",
78
+ lineHeight: "13px",
79
+ width: `${n}px`,
80
+ height: `${n}px`
81
+ },
82
+ children: F(t)
83
+ });
84
+ }
85
+ return /* @__PURE__ */ G(N, {
86
+ type: r.tagType,
87
+ size: n
88
+ });
89
+ }, nt = "_anticon_zglpy_72", J = {
90
+ "preview-selected-items": "_preview-selected-items_zglpy_1",
91
+ "preview-selected-items--measure": "_preview-selected-items--measure_zglpy_4",
92
+ "preview-selected-items__list": "_preview-selected-items__list_zglpy_13",
93
+ "preview-selected-items__item": "_preview-selected-items__item_zglpy_19",
94
+ "preview-selected-items__item--user": "_preview-selected-items__item--user_zglpy_30",
95
+ "preview-selected-items__item--department": "_preview-selected-items__item--department_zglpy_33",
96
+ "preview-selected-items__item--relation": "_preview-selected-items__item--relation_zglpy_36",
97
+ "preview-selected-items__item--public": "_preview-selected-items__item--public_zglpy_39",
98
+ "preview-selected-items__content": "_preview-selected-items__content_zglpy_42",
99
+ "preview-selected-items__text": "_preview-selected-items__text_zglpy_48",
100
+ "preview-selected-items__name": "_preview-selected-items__name_zglpy_53",
101
+ "preview-selected-items__badge": "_preview-selected-items__badge_zglpy_60",
102
+ "preview-selected-items__close": "_preview-selected-items__close_zglpy_65",
103
+ anticon: nt,
104
+ "preview-selected-items__more": "_preview-selected-items__more_zglpy_79",
105
+ "preview-selected-items__more-button": "_preview-selected-items__more-button_zglpy_85"
106
+ }, rt = (e, t) => {
107
+ let n = L(e), r = O(e.type, e);
108
+ return {
109
+ item: e,
110
+ name: r === A.RELATION ? Qe(String(e._id), n) : n,
111
+ canonicalType: r,
112
+ isMemberType: [
113
+ E.USER,
114
+ E.USER_GROUP,
115
+ E.TRANSFER
116
+ ].includes(t)
117
+ };
118
+ }, it = (e, n, r, i) => t(J["preview-selected-items__item"], {
119
+ [J["preview-selected-items__item--user"]]: i || [E.DEPT_USERS].includes(n) || e.nickname,
120
+ [J["preview-selected-items__item--department"]]: [E.DEPARMENT, E.DEPARMENT_GROUP].includes(n),
121
+ [J["preview-selected-items__item--relation"]]: r === A.RELATION,
122
+ [J["preview-selected-items__item--public"]]: r === A.PUBLIC
123
+ }), at = (e) => {
124
+ let { isMeasure: n = !1, showEllipsisButton: i = !1, onToggle: a, hiddenCount: o = 0, previewCount: s = 0 } = e, { t: c } = P(), { value: l = [], dispatch: u, type: d } = p(), f = {
125
+ dockcorp: c("department.externalContactGroup"),
126
+ dockcorpdept: c("department.contact")
127
+ }, m = (e) => u({
128
+ type: "deleteOne",
129
+ payload: e
130
+ }), h = B(() => l.slice(0, s).map((e) => rt(e, d)), [
131
+ l,
132
+ s,
133
+ d
134
+ ]), g = (e, t) => /* @__PURE__ */ K(Je, { children: [
135
+ /* @__PURE__ */ G("div", {
136
+ className: J["preview-selected-items__content"],
137
+ children: /* @__PURE__ */ G(tt, {
138
+ item: e,
139
+ name: t,
140
+ size: 20
141
+ })
142
+ }),
143
+ /* @__PURE__ */ K("div", {
144
+ className: J["preview-selected-items__text"],
145
+ "data-type": e.type,
146
+ children: [/* @__PURE__ */ G("span", {
147
+ className: J["preview-selected-items__name"],
148
+ title: t,
149
+ children: t
150
+ }), e.type === "dockcorpdept" || e.type === "dockcorp" ? /* @__PURE__ */ K("span", {
151
+ className: J["preview-selected-items__badge"],
152
+ children: [
153
+ "(",
154
+ f[e.type],
155
+ ")"
156
+ ]
157
+ }) : null]
158
+ }),
159
+ /* @__PURE__ */ G("div", {
160
+ role: "button",
161
+ className: J["preview-selected-items__close"],
162
+ onClick: n ? r : () => m(e._id),
163
+ children: /* @__PURE__ */ G(U, {
164
+ name: "close",
165
+ color: "#666"
166
+ })
167
+ })
168
+ ] });
169
+ return /* @__PURE__ */ G("div", {
170
+ className: t(J["preview-selected-items"], { [J["preview-selected-items--measure"]]: n }),
171
+ children: /* @__PURE__ */ K("ul", {
172
+ className: J["preview-selected-items__list"],
173
+ "data-role": n ? "measure-list" : "preview-list",
174
+ children: [
175
+ n ? h.map(({ item: e, name: t, canonicalType: n, isMemberType: r }, i) => /* @__PURE__ */ G("li", {
176
+ className: it(e, d, n, r),
177
+ children: g(e, t)
178
+ }, i)) : null,
179
+ n ? null : h.map(({ item: e, name: t, canonicalType: n, isMemberType: r }) => /* @__PURE__ */ G("li", {
180
+ className: it(e, d, n, r),
181
+ children: g(e, t)
182
+ }, e._id)),
183
+ !n && i ? /* @__PURE__ */ G("li", {
184
+ className: J["preview-selected-items__more"],
185
+ "data-button": "ellipsis-button",
186
+ children: /* @__PURE__ */ K("div", {
187
+ role: "button",
188
+ className: J["preview-selected-items__more-button"],
189
+ onClick: () => {
190
+ a?.();
191
+ },
192
+ children: [/* @__PURE__ */ G("span", { children: c("common.viewAll", { count: o }) }), /* @__PURE__ */ G(U, { name: "arrow-down" })]
193
+ })
194
+ }) : null
195
+ ]
196
+ })
197
+ });
198
+ }, ot = 5, st = () => {
199
+ let { value: n = [], type: r } = p(), { t: i } = P(), [a, o] = H(0), [s, { toggle: c }] = qe(!1), [l, u] = H(!1), [d, f] = H(null), m = [E.DEPARMENT, E.USER].includes(r) ? 30 : 68, [h, g] = H(m), _ = V(null), v = V(null), y = V(0), b = V(!1), x = V(!1), S = () => {
200
+ s || u(!1);
201
+ }, [C, w] = H(!1), [T, O] = H(0);
202
+ y.current = a, b.current = s, x.current = C;
203
+ let A = n.length - a, j = T === n.length, N = C && !s && n.length > 0 && j;
204
+ z(() => {
205
+ if (s || !_.current || !v.current) return;
206
+ let e = (t = 0) => {
207
+ requestAnimationFrame(() => {
208
+ if (!_.current || !v.current || b.current) return;
209
+ let r = _.current.clientWidth, i = v.current.querySelector("[data-role=\"measure-list\"]"), a = i ? i.querySelectorAll("li") : [], s = v.current.querySelector("[data-button=\"ellipsis-button\"]");
210
+ if (a.length === 0) {
211
+ o(0), w(!1), O(0);
212
+ return;
213
+ }
214
+ if (a.length !== n.length) {
215
+ t < ot && requestAnimationFrame(() => e(t + 1));
216
+ return;
217
+ }
218
+ let c = 0, l = 0, u = 0, d = 0;
219
+ for (; d < a.length;) {
220
+ let e = a[d].clientWidth + 8;
221
+ if (u + e <= r) u += e, c = d + 1, d++;
222
+ else break;
223
+ }
224
+ l = d, u = 0;
225
+ let f = s?.offsetWidth || 110, p = !1;
226
+ for (let e = l; e < a.length; e++) {
227
+ let t = a[e].clientWidth + 8, n = f;
228
+ if (u + t + n < r) u += t, c = e + 1;
229
+ else {
230
+ p = !0;
231
+ break;
232
+ }
233
+ }
234
+ y.current !== c && o(c), x.current !== p && w(p), O(n.length);
235
+ });
236
+ };
237
+ e();
238
+ }, [n, s]), Le(() => {
239
+ if (!s) {
240
+ g(m);
241
+ return;
242
+ }
243
+ g(v.current?.querySelector("[data-role=\"measure-list\"]")?.clientHeight || m);
244
+ }, [
245
+ s,
246
+ n,
247
+ m
248
+ ]);
249
+ let F = k(m), I = R(() => {
250
+ f(document.querySelector("[data-teleport=\"DeptsMemberSelector\"]")), u(!0), c();
251
+ }, [c]), te = R(() => {
252
+ c();
253
+ }, [c]);
254
+ return /* @__PURE__ */ G("div", {
255
+ className: q["selection-area"],
256
+ style: {
257
+ height: `${F}px`,
258
+ ...ee()
259
+ },
260
+ children: /* @__PURE__ */ K("div", {
261
+ className: t(q["selection-area__container"], {
262
+ [q["selection-area__container--expanded"]]: s,
263
+ [q["selection-area__container--animating"]]: l
264
+ }),
265
+ children: [
266
+ /* @__PURE__ */ K("div", {
267
+ className: t(q["selection-area__body"], { [q["selection-area__body--expanded"]]: s }),
268
+ ref: v,
269
+ children: [/* @__PURE__ */ G(at, {
270
+ isMeasure: !0,
271
+ previewCount: n.length
272
+ }), /* @__PURE__ */ G(e, {
273
+ style: { maxHeight: "400px" },
274
+ children: /* @__PURE__ */ G("div", {
275
+ className: q["selection-area__scroll-gutter"],
276
+ children: /* @__PURE__ */ G("div", {
277
+ className: q["selection-area__scroll"],
278
+ ref: _,
279
+ style: { height: h + "px" },
280
+ children: /* @__PURE__ */ G(at, {
281
+ previewCount: s ? n.length : a,
282
+ showEllipsisButton: N,
283
+ hiddenCount: A,
284
+ onToggle: I
285
+ })
286
+ })
287
+ })
288
+ })]
289
+ }),
290
+ d && He(/* @__PURE__ */ G(Ue, { children: s && /* @__PURE__ */ G(We.div, {
291
+ className: q["selection-area__mask"],
292
+ initial: {
293
+ opacity: 0,
294
+ backdropFilter: "blur(0px)"
295
+ },
296
+ animate: {
297
+ opacity: 1,
298
+ backdropFilter: "blur(.5px)"
299
+ },
300
+ exit: {
301
+ opacity: 0,
302
+ backdropFilter: "blur(0px)"
303
+ },
304
+ transition: D,
305
+ onAnimationComplete: S
306
+ }) }), d),
307
+ /* @__PURE__ */ G(Ue, { children: s && /* @__PURE__ */ G(We.div, {
308
+ className: q["selection-area__button"],
309
+ initial: M.initial,
310
+ animate: M.animate,
311
+ exit: M.exit,
312
+ transition: D,
313
+ onAnimationComplete: S,
314
+ children: /* @__PURE__ */ K(ze, {
315
+ type: "link",
316
+ onClick: te,
317
+ children: [i("common.collapseAll"), /* @__PURE__ */ G(U, { name: "arrow-up" })]
318
+ })
319
+ }) })
320
+ ]
321
+ })
322
+ });
323
+ }, ct = (e, t, n, r) => {
324
+ let i = Math.max(0, t - e);
325
+ if (i === 0) return 0;
326
+ let a = n + r / 2 - e / 2;
327
+ return Math.max(0, Math.min(a, i));
328
+ }, lt = (e) => {
329
+ let { containerRef: t, trackRef: n, activeKey: r, tabsKey: i, measureAttribute: a = "data-tab-key" } = e, [o, s] = H(0), c = V(0), l = V(i), u = V(r), d = V(a), f = V(null), p = V(!1), m = V(() => {});
330
+ u.current = r, d.current = a;
331
+ let h = R(() => {
332
+ let e = t.current, r = n.current;
333
+ if (!e || !r) return null;
334
+ let i = e.clientWidth, a = r.offsetWidth, o = u.current, s = de(e, d.current, o);
335
+ if (!s) return null;
336
+ let c = oe(r, s);
337
+ return c ? ct(i, a, c.left, c.width) : null;
338
+ }, [t, n]), g = R(() => {
339
+ let e = h();
340
+ e === null || se(c.current, e) || (c.current = e, s(e));
341
+ }, [h]), _ = R(() => {
342
+ if (f.current !== null) {
343
+ p.current = !0;
344
+ return;
345
+ }
346
+ f.current = requestAnimationFrame(() => {
347
+ f.current = null, requestAnimationFrame(() => {
348
+ g(), p.current && (p.current = !1, _());
349
+ });
350
+ });
351
+ }, [g]);
352
+ return m.current = _, Le(() => (l.current !== i && (l.current = i, c.current = 0, s(0)), p.current = !1, g(), _(), () => {
353
+ ce(f), p.current = !1;
354
+ }), [
355
+ _,
356
+ i,
357
+ r,
358
+ g
359
+ ]), z(() => {
360
+ let e = t.current, r = n.current;
361
+ if (!e || !r) return;
362
+ let i = new ResizeObserver(() => m.current());
363
+ return i.observe(e), i.observe(r), () => i.disconnect();
364
+ }, [
365
+ t,
366
+ n,
367
+ i
368
+ ]), { scrollOffset: o };
369
+ }, Y = {
370
+ "selection-tab-list": "_selection-tab-list_1odyj_1",
371
+ "selection-tab-list__tabs-wrapper": "_selection-tab-list__tabs-wrapper_1odyj_8",
372
+ "selection-tab-list__tabs-track": "_selection-tab-list__tabs-track_1odyj_14",
373
+ "selection-tab-list__tabs": "_selection-tab-list__tabs_1odyj_8",
374
+ "selection-tab-list__indicator": "_selection-tab-list__indicator_1odyj_28",
375
+ "selection-tab-list__indicator--animated": "_selection-tab-list__indicator--animated_1odyj_36",
376
+ "selection-tab-list__item": "_selection-tab-list__item_1odyj_39",
377
+ "selection-tab-list__item--active": "_selection-tab-list__item--active_1odyj_51",
378
+ "selection-tab-list__search": "_selection-tab-list__search_1odyj_54",
379
+ "selection-tab-list__search-field": "_selection-tab-list__search-field_1odyj_60",
380
+ "selection-tab-list__input": "_selection-tab-list__input_1odyj_64",
381
+ "selection-tab-list__search-icon": "_selection-tab-list__search-icon_1odyj_81"
382
+ }, ut = (e) => {
383
+ let n = e.searchEnabled ?? !0, [r, i] = Ge(e, { defaultValue: e.tabs.length ? e.tabs[0].key : void 0 }), [a, o] = H(""), { run: s, cancel: c } = Ke((t) => {
384
+ e.onSearch?.(t);
385
+ }, {
386
+ wait: 400,
387
+ trailing: !0,
388
+ leading: !1
389
+ });
390
+ z(() => {
391
+ o(""), c();
392
+ }, [r, c]), z(() => {
393
+ n || (o(""), c());
394
+ }, [n, c]);
395
+ let l = B(() => r && e.tabs.some((e) => e.key === r) ? r : e.tabs[0]?.key ?? "", [e.tabs, r]), u = B(() => ue(e.tabs, (e) => e.key, (e) => e.label), [e.tabs]), { containerRef: d, indicatorStyle: f, enableTransition: p, indicatorVisible: m } = ae({
396
+ activeKey: l,
397
+ tabsKey: u
398
+ }), h = V(null), { scrollOffset: g } = lt({
399
+ containerRef: d,
400
+ trackRef: h,
401
+ activeKey: l,
402
+ tabsKey: u
403
+ });
404
+ return /* @__PURE__ */ K("div", {
405
+ className: Y["selection-tab-list"],
406
+ children: [/* @__PURE__ */ G("div", {
407
+ ref: d,
408
+ className: Y["selection-tab-list__tabs-wrapper"],
409
+ children: /* @__PURE__ */ K("div", {
410
+ ref: h,
411
+ className: Y["selection-tab-list__tabs-track"],
412
+ style: { transform: `translateX(${-g}px)` },
413
+ children: [/* @__PURE__ */ G(le, {
414
+ className: Y["selection-tab-list__indicator"],
415
+ animatedClassName: Y["selection-tab-list__indicator--animated"],
416
+ enableTransition: p,
417
+ indicatorVisible: m,
418
+ indicatorStyle: f
419
+ }), /* @__PURE__ */ G("ul", {
420
+ className: Y["selection-tab-list__tabs"],
421
+ children: e.tabs.map((e) => /* @__PURE__ */ G("li", {
422
+ "data-tab-key": e.key,
423
+ onClick: () => i(e.key),
424
+ className: t(Y["selection-tab-list__item"], { [Y["selection-tab-list__item--active"]]: r === e.key }),
425
+ children: e.label
426
+ }, e.key))
427
+ })]
428
+ })
429
+ }), n ? /* @__PURE__ */ G("div", {
430
+ className: Y["selection-tab-list__search"],
431
+ children: /* @__PURE__ */ K("div", {
432
+ className: Y["selection-tab-list__search-field"],
433
+ children: [/* @__PURE__ */ G("input", {
434
+ type: "text",
435
+ value: a,
436
+ onChange: (e) => {
437
+ o(e.target.value), s(e.target.value);
438
+ },
439
+ placeholder: e.searchPlaceholder,
440
+ className: Y["selection-tab-list__input"]
441
+ }), /* @__PURE__ */ G(U, {
442
+ name: "search",
443
+ className: Y["selection-tab-list__search-icon"]
444
+ })]
445
+ })
446
+ }) : null]
447
+ });
448
+ }, dt = { "selection-tab-panel": "_selection-tab-panel_f6iav_1" }, ft = (e) => {
449
+ let { containerHeight: n } = p();
450
+ return /* @__PURE__ */ G("div", {
451
+ className: t(dt["selection-tab-panel"]),
452
+ style: { height: n + "px" },
453
+ children: e.children
454
+ });
455
+ }, pt = { "selection-tabs": "_selection-tabs_88491_1" }, X = {
456
+ "member-search": "_member-search_why78_1",
457
+ "member-search__tree-wrapper": "_member-search__tree-wrapper_why78_6",
458
+ "member-search__tree-content": "_member-search__tree-content_why78_9",
459
+ "member-search__tree-title": "_member-search__tree-title_why78_14",
460
+ "member-search__tree-name": "_member-search__tree-name_why78_21",
461
+ "member-search__tree-extra": "_member-search__tree-extra_why78_29",
462
+ "member-search__switch-icon": "_member-search__switch-icon_why78_38",
463
+ "member-search__switch-icon--expanded": "_member-search__switch-icon--expanded_why78_43",
464
+ "member-search__empty": "_member-search__empty_why78_46",
465
+ "member-search__empty-text": "_member-search__empty-text_why78_53"
466
+ }, mt = ({ avatarurl: e, randomColor: t, name: n, extra: r }) => /* @__PURE__ */ K("div", {
467
+ className: X["member-search__tree-title"],
468
+ children: [
469
+ e ? /* @__PURE__ */ G(Re, {
470
+ src: e,
471
+ size: 20,
472
+ style: { flexShrink: 0 }
473
+ }) : /* @__PURE__ */ G(Re, {
474
+ style: {
475
+ backgroundColor: t,
476
+ fontSize: "12px",
477
+ lineHeight: "13px",
478
+ width: "20px",
479
+ height: "20px",
480
+ flexShrink: 0
481
+ },
482
+ children: F(n)
483
+ }),
484
+ /* @__PURE__ */ G("span", {
485
+ className: X["member-search__tree-name"],
486
+ title: n,
487
+ children: n
488
+ }),
489
+ r
490
+ ]
491
+ }), ht = (e, t, n) => {
492
+ let r = L(e), i = ne(e, t);
493
+ return /* @__PURE__ */ G(mt, {
494
+ avatarurl: e.avatarurl,
495
+ randomColor: re(r),
496
+ name: r,
497
+ extra: i ? /* @__PURE__ */ G("span", {
498
+ className: n,
499
+ title: i,
500
+ children: i
501
+ }) : void 0
502
+ });
503
+ }, gt = ({ wd: e }) => {
504
+ let t = p(), { type: n, dispatch: r, value: i, containerHeight: a, requestContext: o, limits: s, isSingleSelect: c } = t, l = t.memberPanelRequestGuard ?? f, u = t.memberPanelVisibility ?? m, { t: d } = P(), h = u.externalContact, { data: g, loading: _ } = W(async () => !l.enabled || !h ? [] : Ee((await S({
505
+ requestContext: o,
506
+ keyword: e,
507
+ groupLimit: s?.groupLimit || [],
508
+ memberLimit: s?.memberLimit || [],
509
+ limit: 100
510
+ })).list || []), { refreshDeps: [
511
+ e,
512
+ o?.appId,
513
+ o?.entryId,
514
+ l.enabled,
515
+ h
516
+ ] }), { data: v, loading: y } = W(async () => {
517
+ if (!l.enabled) return [];
518
+ let t = s?.memberSearchLimit, r = window.FX?.STATIC?.user?._id, i = await w({
519
+ requestContext: o,
520
+ keyword: e,
521
+ limit: 100,
522
+ memberSearchLimit: t && u.currentUser && !u.member && !u.role && !u.job && !u.externalContact && r ? {
523
+ ...t,
524
+ users: [...t.users, r]
525
+ } : t,
526
+ selectorType: n
527
+ });
528
+ return Ee([
529
+ ...i.users || [],
530
+ ...i.dock_user_list || [],
531
+ ...i.mappedRoles || [],
532
+ ...i.mappedDockRoles || []
533
+ ]);
534
+ }, { refreshDeps: [
535
+ e,
536
+ o?.appId,
537
+ o?.entryId,
538
+ l.enabled,
539
+ !0
540
+ ] }), b = De(g || []), x = De(v || []), C = I(d), T = h ? {
541
+ title: d("externalContact.title"),
542
+ value: "waibulianxiren",
543
+ children: b.map((e) => {
544
+ let t = L(e), n = re(t);
545
+ return {
546
+ ...e,
547
+ name: t,
548
+ title: /* @__PURE__ */ G(mt, {
549
+ avatarurl: e.avatarurl,
550
+ randomColor: n,
551
+ name: t,
552
+ extra: /* @__PURE__ */ K("span", {
553
+ className: X["member-search__tree-extra"],
554
+ title: `(${d("externalContact.title")}:${e.groupname})`,
555
+ children: [
556
+ "(",
557
+ d("externalContact.title"),
558
+ ":",
559
+ e.groupname,
560
+ ")"
561
+ ]
562
+ })
563
+ }),
564
+ value: e._id
565
+ };
566
+ })
567
+ } : void 0, D = [{
568
+ title: d("member.title"),
569
+ value: "chengyuan",
570
+ children: x.map((e) => {
571
+ let t = L(e);
572
+ return {
573
+ ...e,
574
+ name: t,
575
+ title: ht(e, C, X["member-search__tree-extra"]),
576
+ value: e._id
577
+ };
578
+ })
579
+ }, T].filter((e) => !!e?.children.length), O = (e) => e?.type === "role" || e?.type === "dockrole" ? A.ROLE : e?.type === "outsider" || e?.type === "outsiderMember" ? A.OUTSIDER : A.USER;
580
+ return {
581
+ containerHeight: a,
582
+ treeData: D,
583
+ defaultExpandedKeys: D.map((e) => e.value),
584
+ selectedKeys: (i || []).map((e) => e._id),
585
+ isLoading: y || _,
586
+ checkType: n === E.USER || n === E.TRANSFER || c ? "radio" : "checkbox",
587
+ handleSelectMember: (e) => {
588
+ let t = te(e, D);
589
+ if (t) {
590
+ if (E.USER === n || E.TRANSFER === n || c) {
591
+ r({
592
+ type: "insertOnly",
593
+ payload: j({
594
+ ...t,
595
+ type: O(t)
596
+ })
597
+ });
598
+ return;
599
+ }
600
+ E.USER_GROUP === n && r({
601
+ type: "addOne",
602
+ payload: j({
603
+ ...t,
604
+ type: O(t)
605
+ })
606
+ });
607
+ }
608
+ },
609
+ handleDeSelectMember: (e) => {
610
+ E.USER === n || E.TRANSFER === n || c || r({
611
+ type: "deleteOne",
612
+ payload: e
613
+ });
614
+ }
615
+ };
616
+ }, _t = (n) => {
617
+ let { t: r } = P(), i = gt({ wd: n.wd });
618
+ return /* @__PURE__ */ K("div", {
619
+ className: X["member-search"],
620
+ children: [/* @__PURE__ */ G(Be, {
621
+ spinning: i.isLoading,
622
+ children: /* @__PURE__ */ G(e, {
623
+ style: { height: i.containerHeight - 8 },
624
+ className: X["member-search__tree-wrapper"],
625
+ children: i.treeData.length && !i.isLoading ? /* @__PURE__ */ G("div", {
626
+ className: X["member-search__tree-content"],
627
+ children: /* @__PURE__ */ G(Ve, {
628
+ data: i.treeData,
629
+ checkType: i.checkType,
630
+ selectedKeys: i.selectedKeys,
631
+ defaultExpandedKeys: i.defaultExpandedKeys,
632
+ switcherIcon: (e) => /* @__PURE__ */ G(U, {
633
+ name: "xiangxiazhankai-11",
634
+ className: t(X["member-search__switch-icon"], { [X["member-search__switch-icon--expanded"]]: e })
635
+ }),
636
+ onSelect: i.handleSelectMember,
637
+ onDeSelect: i.handleDeSelectMember
638
+ })
639
+ }) : null
640
+ })
641
+ }), !i.treeData.length && !i.isLoading && /* @__PURE__ */ G("div", {
642
+ className: X["member-search__empty"],
643
+ children: /* @__PURE__ */ G("span", {
644
+ className: X["member-search__empty-text"],
645
+ children: r("member.noAvailable")
646
+ })
647
+ })]
648
+ });
649
+ }, Z = {
650
+ "department-search": "_department-search_1lzam_1",
651
+ "department-search__scroll": "_department-search__scroll_1lzam_5",
652
+ "department-search__tree-content": "_department-search__tree-content_1lzam_8",
653
+ "department-search__title": "_department-search__title_1lzam_11",
654
+ "department-search__name": "_department-search__name_1lzam_17",
655
+ "department-search__extra": "_department-search__extra_1lzam_25",
656
+ "department-search__icon": "_department-search__icon_1lzam_33",
657
+ "department-search__switch-icon": "_department-search__switch-icon_1lzam_37",
658
+ "department-search__switch-icon--expanded": "_department-search__switch-icon--expanded_1lzam_42",
659
+ "department-search__empty": "_department-search__empty_1lzam_45",
660
+ "department-search__empty-text": "_department-search__empty-text_1lzam_52"
661
+ }, vt = (e) => ({
662
+ showOrganizationalSearch: e.organizational,
663
+ showOutsiderGroupSearch: e.externalContactGroup,
664
+ showCurrentUserDeptLocalSearch: e.currentDepartment
665
+ }), yt = (e) => {
666
+ let t = e._id ?? e.id;
667
+ return t == null || t === "" ? "" : String(t);
668
+ }, bt = (e, t) => e?.type === A.GROUP || e?.type === "1" || e?.type === "2" ? !0 : t.some((t) => t._id === e._id), xt = ({ wd: e }) => {
669
+ let { type: t, dispatch: n, value: r, containerHeight: i, requestContext: o, limits: s, currentContext: l, departmentSelectableRange: u, departmentPanelRequestGuard: d, isSingleSelect: f } = p(), { t: m } = P(), h = B(() => Pe(u), [u]), g = B(() => vt(h), [h]), v = g.showOrganizationalSearch, b = g.showOutsiderGroupSearch, x = g.showCurrentUserDeptLocalSearch, S = B(() => {
670
+ if (!x || !e?.trim()) return [];
671
+ let t = Fe({
672
+ currentContext: l,
673
+ departmentSelectableRange: u,
674
+ departmentPanelRequestGuard: d
675
+ }), n = e.toLowerCase();
676
+ return t.filter((e) => String(e?.name || "").toLowerCase().includes(n));
677
+ }, [
678
+ x,
679
+ e,
680
+ l,
681
+ u,
682
+ d
683
+ ]), { data: C, loading: w } = W(() => v ? a(d, () => y({
684
+ requestContext: o,
685
+ limits: s,
686
+ departmentSelectableRange: u,
687
+ keyword: e
688
+ })) : Promise.resolve({
689
+ departments: [],
690
+ label_corp_list: [],
691
+ departments_count: 0,
692
+ label_corp_count: 0
693
+ }), { refreshDeps: [
694
+ e,
695
+ o,
696
+ s,
697
+ u,
698
+ d,
699
+ v
700
+ ] }), { data: T, loading: D } = W(() => b ? c(d, () => _({
701
+ requestContext: o,
702
+ limits: s,
703
+ departmentSelectableRange: u
704
+ })) : Promise.resolve({ list: [] }), { refreshDeps: [
705
+ o,
706
+ s,
707
+ u,
708
+ b,
709
+ d
710
+ ] }), O = T?.list || [], k = B(() => {
711
+ let e = pe(C?.departments || []), t = (C?.label_corp_list || []).filter((e) => e.type !== "dockcorpdept" && he(e));
712
+ return [...e, ...t].filter((e) => e.type !== "label");
713
+ }, [C]), M = B(() => {
714
+ let e = /* @__PURE__ */ new Map();
715
+ for (let t of k) {
716
+ let n = yt(t);
717
+ n && e.set(n, t);
718
+ }
719
+ for (let t of S) {
720
+ let n = yt(t);
721
+ n && !e.has(n) && e.set(n, t);
722
+ }
723
+ return Array.from(e.values());
724
+ }, [k, S]), ee = v || x && S.length > 0, F = [b ? {
725
+ title: m("externalContact.group"),
726
+ _id: "waibulianxiren",
727
+ children: O.filter((t) => t.status === 1 && t.name?.includes(e)).map((e) => ({
728
+ ...e,
729
+ type: A.GROUP,
730
+ title: /* @__PURE__ */ K("span", {
731
+ className: Z["department-search__title"],
732
+ children: [/* @__PURE__ */ G(N, {
733
+ type: "group",
734
+ size: 16
735
+ }), /* @__PURE__ */ G("span", {
736
+ className: Z["department-search__name"],
737
+ title: e.name,
738
+ children: e.name
739
+ })]
740
+ })
741
+ }))
742
+ } : null, ee ? {
743
+ title: m("department.title"),
744
+ _id: "bumen",
745
+ children: M.map((e) => ({
746
+ ...e,
747
+ title: /* @__PURE__ */ K("span", {
748
+ className: Z["department-search__title"],
749
+ children: [
750
+ /* @__PURE__ */ G(U, {
751
+ name: "dept-one",
752
+ className: Z["department-search__icon"],
753
+ size: 16
754
+ }),
755
+ /* @__PURE__ */ G("span", {
756
+ className: Z["department-search__name"],
757
+ title: e.name,
758
+ children: e.name
759
+ }),
760
+ [
761
+ "dockdept",
762
+ "dockcorp",
763
+ "dockcorpdept"
764
+ ].includes(e.type) && /* @__PURE__ */ K("span", {
765
+ className: Z["department-search__extra"],
766
+ children: [
767
+ "(",
768
+ m("department.external"),
769
+ ")"
770
+ ]
771
+ })
772
+ ]
773
+ })
774
+ }))
775
+ } : null].filter((e) => !!e?.children.length);
776
+ return {
777
+ containerHeight: i,
778
+ treeData: F,
779
+ defaultExpandedKeys: F.map((e) => e._id),
780
+ selectedKeys: r?.map((e) => e._id),
781
+ isLoading: w || D,
782
+ checkType: t === E.DEPARMENT || f ? "radio" : "checkbox",
783
+ handleSelectDepartment: (e, r) => {
784
+ if (!r) return;
785
+ let i = bt(r, O);
786
+ if (t === E.DEPARMENT || f) {
787
+ n({
788
+ type: "insertOnly",
789
+ payload: j({
790
+ ...r,
791
+ type: i ? A.GROUP : r.type || (r.departmentId ? A.DEPARTMENTS : A.GROUP)
792
+ })
793
+ });
794
+ return;
795
+ }
796
+ n({
797
+ type: "addOne",
798
+ payload: j({
799
+ ...r,
800
+ _id: r._id,
801
+ type: i ? A.GROUP : r.type || A.DEPARTMENTS
802
+ })
803
+ });
804
+ },
805
+ handleDeSelectDepartment: (e) => n({
806
+ type: "deleteOne",
807
+ payload: e
808
+ })
809
+ };
810
+ }, St = (n) => {
811
+ let { t: r } = P(), i = xt({ wd: n.wd });
812
+ return /* @__PURE__ */ K("div", {
813
+ className: Z["department-search"],
814
+ children: [/* @__PURE__ */ G(Be, {
815
+ spinning: i.isLoading,
816
+ children: /* @__PURE__ */ G(e, {
817
+ style: { height: i.containerHeight - 8 },
818
+ className: Z["department-search__scroll"],
819
+ children: i.treeData.length && !i.isLoading ? /* @__PURE__ */ G("div", {
820
+ className: Z["department-search__tree-content"],
821
+ children: /* @__PURE__ */ G(Ve, {
822
+ data: i.treeData,
823
+ checkType: i.checkType,
824
+ selectedKeys: i.selectedKeys,
825
+ fieldNames: {
826
+ title: "title",
827
+ children: "children",
828
+ value: "_id"
829
+ },
830
+ defaultExpandedKeys: i.defaultExpandedKeys,
831
+ switcherIcon: (e) => /* @__PURE__ */ G(U, {
832
+ name: "xiangxiazhankai-11",
833
+ className: t(Z["department-search__switch-icon"], { [Z["department-search__switch-icon--expanded"]]: e })
834
+ }),
835
+ onSelect: i.handleSelectDepartment,
836
+ onDeSelect: i.handleDeSelectDepartment
837
+ })
838
+ }) : null
839
+ })
840
+ }), !i.treeData.length && !i.isLoading && /* @__PURE__ */ G("div", {
841
+ className: Z["department-search__empty"],
842
+ children: /* @__PURE__ */ G("span", {
843
+ className: Z["department-search__empty-text"],
844
+ children: r("department.noAvailable")
845
+ })
846
+ })]
847
+ });
848
+ }, Q = {
849
+ "dept-users-search": "_dept-users-search_1urw3_1",
850
+ "dept-users-search__tree-wrapper": "_dept-users-search__tree-wrapper_1urw3_6",
851
+ "dept-users-search__tree-content": "_dept-users-search__tree-content_1urw3_9",
852
+ "dept-users-search__title": "_dept-users-search__title_1urw3_14",
853
+ "dept-users-search__name": "_dept-users-search__name_1urw3_20",
854
+ "dept-users-search__extra": "_dept-users-search__extra_1urw3_28",
855
+ "dept-users-search__icon": "_dept-users-search__icon_1urw3_36",
856
+ "dept-users-search__switch-icon": "_dept-users-search__switch-icon_1urw3_40",
857
+ "dept-users-search__switch-icon--expanded": "_dept-users-search__switch-icon--expanded_1urw3_45",
858
+ "dept-users-search__empty": "_dept-users-search__empty_1urw3_48",
859
+ "dept-users-search__empty-text": "_dept-users-search__empty-text_1urw3_55"
860
+ }, Ct = [
861
+ {
862
+ id: "department",
863
+ tabKey: "organizational",
864
+ mode: "local",
865
+ when: (e) => (e?.organizationEnable ?? !0) && e?.deptChildEnable !== !0
866
+ },
867
+ {
868
+ id: "member",
869
+ tabKey: "member",
870
+ mode: "remote",
871
+ when: (e) => e?.memberEnable ?? !0
872
+ },
873
+ {
874
+ id: "outsiderGroup",
875
+ tabKey: "extraContact",
876
+ mode: "local",
877
+ when: (e) => (e?.externalContactEnable ?? !0) && (e?.outsiderGroupEnable ?? !0)
878
+ },
879
+ {
880
+ id: "outsiderMember",
881
+ tabKey: "extraContact",
882
+ mode: "remote",
883
+ when: (e) => (e?.externalContactEnable ?? !0) && (e?.outsiderMemberEnable ?? !0)
884
+ },
885
+ {
886
+ id: "relation",
887
+ tabKey: "relation",
888
+ mode: "local",
889
+ when: (e) => e?.relationEnable ?? !1
890
+ },
891
+ {
892
+ id: "enterpriseLabel",
893
+ tabKey: "enterpriseLabel",
894
+ mode: "local",
895
+ when: (e) => e?.corpCoopLabelEnable ?? !1
896
+ },
897
+ {
898
+ id: "corp",
899
+ tabKey: "corp",
900
+ mode: "local",
901
+ when: (e) => e?.corpEnable ?? !1
902
+ },
903
+ {
904
+ id: "corpDept",
905
+ tabKey: "corpDept",
906
+ mode: "remote",
907
+ when: (e) => e?.corpDeptEnable ?? !1
908
+ },
909
+ {
910
+ id: "role",
911
+ tabKey: "role",
912
+ mode: "local",
913
+ when: (e) => e?.roleEnable ?? !0
914
+ }
915
+ ], wt = (e) => Ct.filter((t) => t.when(e)), Tt = (e) => new Set(wt(e).map((e) => e.id)), Et = (e, t) => {
916
+ let n = wt(e);
917
+ if (!n.length) return !1;
918
+ if (!t?.length) return !0;
919
+ let r = new Set(t);
920
+ return n.some((e) => r.has(e.tabKey));
921
+ }, Dt = (e, t) => {
922
+ let n = t?.trim();
923
+ return n ? e.filter((e) => e.name?.includes(n)) : [];
924
+ };
925
+ function Ot({ enabled: e, requestContext: t, wd: n, groupTitle: r }) {
926
+ let { data: i, loading: a } = W(() => x({ requestContext: t }), {
927
+ ready: e && !!t?.appId,
928
+ cacheKey: `${Se}:${t?.appId ?? ""}:${t?.entryId ?? ""}`,
929
+ refreshDeps: [t?.appId, t?.entryId]
930
+ });
931
+ return {
932
+ searchGroup: B(() => {
933
+ if (!e) return null;
934
+ let t = Dt(i?.list || [], n).map((e) => ({
935
+ ...e,
936
+ value: e._id,
937
+ type: A.RELATION,
938
+ title: /* @__PURE__ */ K("span", {
939
+ className: X["member-search__tree-title"],
940
+ children: [/* @__PURE__ */ G(N, {
941
+ type: "relation",
942
+ size: 16
943
+ }), /* @__PURE__ */ G("span", {
944
+ className: X["member-search__tree-name"],
945
+ title: e.name,
946
+ children: e.name
947
+ })]
948
+ })
949
+ }));
950
+ return t.length ? {
951
+ title: r,
952
+ value: "relation",
953
+ children: t
954
+ } : null;
955
+ }, [
956
+ i?.list,
957
+ e,
958
+ r,
959
+ n
960
+ ]),
961
+ loading: e ? a : !1
962
+ };
963
+ }
964
+ //#endregion
965
+ //#region src/components/DeptsMemberSelector/utils/deptUsersEnterpriseLabelSearchGroup.tsx
966
+ var kt = "deptUsersLabels", At = (e, t) => {
967
+ let n = t?.trim();
968
+ return n ? e.filter((e) => e.name?.includes(n)) : [];
969
+ };
970
+ function jt({ enabled: e, wd: t, groupTitle: n }) {
971
+ let { data: r, loading: i } = W(() => b(), {
972
+ ready: e,
973
+ cacheKey: kt
974
+ });
975
+ return {
976
+ searchGroup: B(() => {
977
+ if (!e) return null;
978
+ let i = At(r?.list || [], t).map((e) => ({
979
+ ...e,
980
+ value: e._id,
981
+ type: A.LABEL,
982
+ title: /* @__PURE__ */ K("span", {
983
+ className: X["member-search__tree-title"],
984
+ children: [/* @__PURE__ */ G(N, {
985
+ type: "label",
986
+ size: 16
987
+ }), /* @__PURE__ */ G("span", {
988
+ className: X["member-search__tree-name"],
989
+ title: e.name,
990
+ children: e.name
991
+ })]
992
+ })
993
+ }));
994
+ return i.length ? {
995
+ title: n,
996
+ value: "enterpriseLabel",
997
+ children: i
998
+ } : null;
999
+ }, [
1000
+ r?.list,
1001
+ e,
1002
+ n,
1003
+ t
1004
+ ]),
1005
+ loading: e ? i : !1
1006
+ };
1007
+ }
1008
+ //#endregion
1009
+ //#region src/components/DeptsMemberSelector/utils/deptUsersCorpSearchGroup.tsx
1010
+ var Mt = "corp", Nt = (e, t) => {
1011
+ let n = t?.trim();
1012
+ return n ? e.filter((e) => e.name?.includes(n)) : [];
1013
+ };
1014
+ function Pt({ enabled: e, wd: t, groupTitle: n }) {
1015
+ let { deptUsersPanelConfig: r } = p(), i = r?.corpPanel?.respectNoEdit ?? !1, { data: a, loading: o } = W(() => C(), {
1016
+ ready: e,
1017
+ cacheKey: be
1018
+ });
1019
+ return {
1020
+ searchGroup: B(() => {
1021
+ if (!e) return null;
1022
+ let r = Nt(a?.list || [], t).map((e) => ({
1023
+ ...e,
1024
+ value: e._id,
1025
+ type: A.DOCKCORP,
1026
+ disabled: Me(e, i),
1027
+ title: /* @__PURE__ */ K("span", {
1028
+ className: X["member-search__tree-title"],
1029
+ children: [/* @__PURE__ */ G(N, {
1030
+ type: A.DOCKCORP,
1031
+ size: 16
1032
+ }), /* @__PURE__ */ G("span", {
1033
+ className: X["member-search__tree-name"],
1034
+ title: e.name,
1035
+ children: e.name
1036
+ })]
1037
+ })
1038
+ }));
1039
+ return r.length ? {
1040
+ title: n,
1041
+ value: Mt,
1042
+ children: r
1043
+ } : null;
1044
+ }, [
1045
+ a?.list,
1046
+ e,
1047
+ n,
1048
+ i,
1049
+ t
1050
+ ]),
1051
+ loading: e ? o : !1
1052
+ };
1053
+ }
1054
+ //#endregion
1055
+ //#region src/components/DeptsMemberSelector/utils/deptUsersCorpDeptSearchGroup.tsx
1056
+ var Ft = "corpDept";
1057
+ function It({ enabled: e, requestContext: t, hasDock: n, wd: r, groupTitle: i }) {
1058
+ let { t: a } = P(), { type: o, currentUsers: s, excludedMemberIdSet: c } = p(), l = B(() => I(a), [a]), u = X["member-search__tree-extra"], { data: d, loading: f } = W(async () => Ce(Ee(we((await v({
1059
+ requestContext: t,
1060
+ filter: r,
1061
+ hasDock: n ?? !0,
1062
+ limit: 100,
1063
+ skip: 0
1064
+ })).dock_user_list)), {
1065
+ type: o,
1066
+ currentUsers: s,
1067
+ excludedMemberIdSet: c
1068
+ }), {
1069
+ ready: e && !!r?.trim(),
1070
+ refreshDeps: [
1071
+ r,
1072
+ t?.appId,
1073
+ t?.entryId,
1074
+ n,
1075
+ o,
1076
+ c
1077
+ ]
1078
+ });
1079
+ return {
1080
+ searchGroup: B(() => {
1081
+ if (!e) return null;
1082
+ let t = (d ?? []).map((e) => {
1083
+ let t = L(e);
1084
+ return {
1085
+ ...e,
1086
+ value: e._id,
1087
+ type: A.USER,
1088
+ name: t,
1089
+ owner_corpid: e.owner_corpid || "",
1090
+ title: ht(e, l, u)
1091
+ };
1092
+ });
1093
+ return t.length ? {
1094
+ title: i,
1095
+ value: Ft,
1096
+ children: t
1097
+ } : null;
1098
+ }, [
1099
+ l,
1100
+ d,
1101
+ e,
1102
+ i,
1103
+ u
1104
+ ]),
1105
+ loading: e ? f : !1
1106
+ };
1107
+ }
1108
+ //#endregion
1109
+ //#region src/components/DeptsMemberSelector/utils/deptUsersRoleSearchGroup.tsx
1110
+ var Lt = "role", Rt = (e, t) => {
1111
+ let n = t?.trim();
1112
+ return n ? e.filter((e) => e.name?.includes(n)) : [];
1113
+ }, zt = ({ enabled: e, requestContext: t, hasDock: n, wd: r, groupTitle: i }) => {
1114
+ let a = n !== !1, { data: o, loading: s } = W(async () => {
1115
+ let e = await T({
1116
+ requestContext: t,
1117
+ hasDock: a
1118
+ });
1119
+ return ke(ie(Array.isArray(e?.roles) ? e.roles.map(Ae) : [], {
1120
+ children: "children",
1121
+ title: "name",
1122
+ value: "role_id",
1123
+ parentId: "parent"
1124
+ }));
1125
+ }, {
1126
+ ready: e,
1127
+ cacheKey: `${xe}:${t?.appId ?? ""}:${t?.entryId ?? ""}:${a}`,
1128
+ refreshDeps: [
1129
+ t?.appId,
1130
+ t?.entryId,
1131
+ a
1132
+ ]
1133
+ });
1134
+ return {
1135
+ searchGroup: B(() => {
1136
+ if (!e) return null;
1137
+ let t = Rt(o || [], r).map((e) => {
1138
+ let t = Oe(e), n = t.type === "rolegroup" ? "rolegroup" : "role";
1139
+ return {
1140
+ ...t,
1141
+ title: /* @__PURE__ */ K("span", {
1142
+ className: Q["dept-users-search__title"],
1143
+ children: [/* @__PURE__ */ G(N, {
1144
+ type: n,
1145
+ size: 16
1146
+ }), /* @__PURE__ */ G("span", {
1147
+ className: Q["dept-users-search__name"],
1148
+ title: t.name,
1149
+ children: t.name
1150
+ })]
1151
+ })
1152
+ };
1153
+ });
1154
+ return t.length ? {
1155
+ title: i,
1156
+ value: Lt,
1157
+ children: t
1158
+ } : null;
1159
+ }, [
1160
+ o,
1161
+ e,
1162
+ i,
1163
+ r
1164
+ ]),
1165
+ loading: e ? s : !1
1166
+ };
1167
+ }, Bt = "bumen", Vt = new Set([
1168
+ "dockdept",
1169
+ "dockcorp",
1170
+ "dockcorpdept"
1171
+ ]), Ht = (e, t) => e.filter((e) => typeof e.name == "string" && e.name.includes(t)), Ut = ({ enabled: e, wd: t, groupTitle: n, externalLabel: r }) => {
1172
+ let { requestContext: i, hasDock: a, hasDeptDock: o, departmentPanelRequestGuard: s, deptUsersPanelConfig: c } = p(), { readyInternal: l, readyExternal: u, dockEnabled: d } = _e({
1173
+ hasDock: a,
1174
+ hasDeptDock: o,
1175
+ readyGate: e
1176
+ }), { internalData: f, externalData: m, internalLoading: h, externalLoading: g } = ve({
1177
+ readyInternal: l,
1178
+ readyExternal: u,
1179
+ requestContext: i,
1180
+ dockEnabled: d,
1181
+ departmentPanelRequestGuard: s
1182
+ });
1183
+ return {
1184
+ searchGroup: B(() => {
1185
+ if (!e) return null;
1186
+ let i = t?.trim();
1187
+ if (!i) return null;
1188
+ let { departmentsCount: s, labelCorpCount: l } = ye(f, m), u = ge({
1189
+ hasDock: a,
1190
+ hasDeptDock: o,
1191
+ deptChildEnable: c?.deptChildEnable,
1192
+ departmentsCount: s,
1193
+ labelCorpCount: l
1194
+ }), d = u.showInternal === !1 ? [] : Ht(pe(f?.departments || []), i), p = u.showExternal === !1 ? [] : Ht(me(pe(m?.label_corp_list || []), fe.organizationExternal), i), h = [...d, ...p].map((e) => ({
1195
+ ...e,
1196
+ value: e._id,
1197
+ title: /* @__PURE__ */ K("span", {
1198
+ className: Q["dept-users-search__title"],
1199
+ children: [
1200
+ /* @__PURE__ */ G(U, {
1201
+ name: "dept-one",
1202
+ className: Q["dept-users-search__icon"],
1203
+ size: 16
1204
+ }),
1205
+ /* @__PURE__ */ G("span", {
1206
+ className: Q["dept-users-search__name"],
1207
+ title: e.name,
1208
+ children: e.name
1209
+ }),
1210
+ Vt.has(e.type) && /* @__PURE__ */ K("span", {
1211
+ className: Q["dept-users-search__extra"],
1212
+ children: [
1213
+ "(",
1214
+ r,
1215
+ ")"
1216
+ ]
1217
+ })
1218
+ ]
1219
+ })
1220
+ }));
1221
+ return h.length ? {
1222
+ title: n,
1223
+ value: Bt,
1224
+ children: h
1225
+ } : null;
1226
+ }, [
1227
+ e,
1228
+ t,
1229
+ f,
1230
+ m,
1231
+ a,
1232
+ o,
1233
+ c?.deptChildEnable,
1234
+ n,
1235
+ r
1236
+ ]),
1237
+ loading: e ? h || g : !1
1238
+ };
1239
+ }, Wt = [], Gt = ({ wd: e }) => {
1240
+ let t = p(), { dispatch: n, value: r, containerHeight: i, requestContext: a, limits: o, departmentSelectableRange: s, departmentPanelRequestGuard: l, isSingleSelect: u, deptUsersPanelConfig: d, hasDock: m } = t, h = t.memberPanelRequestGuard ?? f, { t: g } = P(), y = B(() => Tt(d), [d]), b = y.has("department"), x = y.has("outsiderGroup"), C = y.has("member"), w = y.has("outsiderMember"), T = y.has("relation"), E = y.has("enterpriseLabel"), D = y.has("corp"), O = y.has("corpDept"), k = y.has("role"), M = !!e?.trim(), ee = I(g), { searchGroup: F, loading: ne } = Ut({
1241
+ enabled: b && M,
1242
+ wd: e,
1243
+ groupTitle: g("department.title"),
1244
+ externalLabel: g("department.external")
1245
+ }), { data: ie, loading: ae } = W(() => c(l, () => _({
1246
+ requestContext: a,
1247
+ limits: o,
1248
+ departmentSelectableRange: s
1249
+ })), {
1250
+ ready: x,
1251
+ refreshDeps: [
1252
+ a,
1253
+ o,
1254
+ s,
1255
+ x,
1256
+ l
1257
+ ]
1258
+ }), { data: oe, loading: se } = W(async () => {
1259
+ let t = await v({
1260
+ requestContext: a,
1261
+ filter: e,
1262
+ hasDock: m ?? !0,
1263
+ limit: 100,
1264
+ skip: 0
1265
+ });
1266
+ return Ee([...t.users || [], ...we(t.dock_user_list)]);
1267
+ }, {
1268
+ ready: C && M && h.enabled,
1269
+ refreshDeps: [
1270
+ e,
1271
+ a?.appId,
1272
+ a?.entryId,
1273
+ h.enabled,
1274
+ C,
1275
+ m
1276
+ ]
1277
+ }), { data: ce, loading: le } = W(async () => Ee((await S({
1278
+ requestContext: a,
1279
+ keyword: e,
1280
+ groupLimit: o?.groupLimit || [],
1281
+ memberLimit: o?.memberLimit || [],
1282
+ limit: 100
1283
+ })).list || []), {
1284
+ ready: w && M && h.enabled,
1285
+ refreshDeps: [
1286
+ e,
1287
+ a?.appId,
1288
+ a?.entryId,
1289
+ h.enabled,
1290
+ w
1291
+ ]
1292
+ }), { searchGroup: ue, loading: de } = Ot({
1293
+ enabled: T && M,
1294
+ requestContext: a,
1295
+ wd: e,
1296
+ groupTitle: g("member.relation")
1297
+ }), { searchGroup: fe, loading: pe } = jt({
1298
+ enabled: E && M,
1299
+ wd: e,
1300
+ groupTitle: g("enterpriseLabel.title")
1301
+ }), { searchGroup: me, loading: he } = Pt({
1302
+ enabled: D && M,
1303
+ wd: e,
1304
+ groupTitle: g("corp.title")
1305
+ }), { searchGroup: ge, loading: _e } = It({
1306
+ enabled: O && M,
1307
+ requestContext: a,
1308
+ hasDock: m,
1309
+ wd: e,
1310
+ groupTitle: g("corpDept.title")
1311
+ }), { searchGroup: ve, loading: ye } = zt({
1312
+ enabled: k && M,
1313
+ requestContext: a,
1314
+ hasDock: m,
1315
+ wd: e,
1316
+ groupTitle: g("role.title")
1317
+ }), be = B(() => Array.isArray(ie?.list) ? ie.list : Wt, [ie?.list]), xe = De(oe ?? Wt), Se = De(ce ?? Wt), Ce = B(() => !x || !M ? [] : be.filter((t) => t.status === 1 && t.name?.includes(e)).map((e) => ({
1318
+ ...e,
1319
+ value: e._id,
1320
+ type: A.GROUP,
1321
+ title: /* @__PURE__ */ K("span", {
1322
+ className: Q["dept-users-search__title"],
1323
+ children: [/* @__PURE__ */ G(N, {
1324
+ type: "group",
1325
+ size: 16
1326
+ }), /* @__PURE__ */ G("span", {
1327
+ className: Q["dept-users-search__name"],
1328
+ title: e.name,
1329
+ children: e.name
1330
+ })]
1331
+ })
1332
+ })), [
1333
+ x,
1334
+ M,
1335
+ be,
1336
+ e
1337
+ ]), Te = B(() => C ? {
1338
+ title: g("member.title"),
1339
+ value: "chengyuan",
1340
+ children: xe.map((e) => {
1341
+ let t = L(e);
1342
+ return {
1343
+ ...e,
1344
+ name: t,
1345
+ title: ht(e, ee, Q["dept-users-search__extra"]),
1346
+ value: e._id
1347
+ };
1348
+ })
1349
+ } : null, [
1350
+ C,
1351
+ g,
1352
+ xe,
1353
+ ee
1354
+ ]), Oe = B(() => w ? {
1355
+ title: g("externalContact.title"),
1356
+ value: "waibulianxiren-member",
1357
+ children: Se.map((e) => {
1358
+ let t = L(e), n = re(t);
1359
+ return {
1360
+ ...e,
1361
+ name: t,
1362
+ title: /* @__PURE__ */ G(mt, {
1363
+ avatarurl: e.avatarurl,
1364
+ randomColor: n,
1365
+ name: t,
1366
+ extra: /* @__PURE__ */ K("span", {
1367
+ className: Q["dept-users-search__extra"],
1368
+ title: `(${g("externalContact.title")}:${e.groupname})`,
1369
+ children: [
1370
+ "(",
1371
+ g("externalContact.title"),
1372
+ ":",
1373
+ e.groupname,
1374
+ ")"
1375
+ ]
1376
+ })
1377
+ }),
1378
+ value: e._id
1379
+ };
1380
+ })
1381
+ } : null, [
1382
+ w,
1383
+ g,
1384
+ Se
1385
+ ]), ke = B(() => x && Ce.length ? {
1386
+ title: g("externalContact.group"),
1387
+ value: "waibulianxiren-group",
1388
+ children: Ce
1389
+ } : null, [
1390
+ x,
1391
+ Ce,
1392
+ g
1393
+ ]), Ae = B(() => [
1394
+ F,
1395
+ Te,
1396
+ ue,
1397
+ fe,
1398
+ me,
1399
+ ge,
1400
+ ve,
1401
+ ke,
1402
+ Oe
1403
+ ].filter((e) => !!e?.children?.length), [
1404
+ F,
1405
+ Te,
1406
+ ue,
1407
+ fe,
1408
+ me,
1409
+ ge,
1410
+ ve,
1411
+ ke,
1412
+ Oe
1413
+ ]), je = (e) => e?.type === A.RELATION ? A.RELATION : e?.type === A.LABEL ? A.LABEL : e?.type === A.DOCKCORP ? A.DOCKCORP : e?.type === A.ROLE || e?.type === "role" || e?.type === "dockrole" ? A.ROLE : e?.type === "outsider" || e?.type === "outsiderMember" ? A.OUTSIDER : e?.type === A.GROUP || e?.type === "group" || e?.type === "1" || e?.type === "2" || be.some((t) => t._id === e?._id) ? A.GROUP : e?.type === A.DEPARTMENTS || e?.type === "department" || e?.departmentId || [
1414
+ "dockdept",
1415
+ "dockcorp",
1416
+ "dockcorpdept"
1417
+ ].includes(e?.type) ? e.type === "dockcorp" ? A.DOCKCORP : e.type || A.DEPARTMENTS : e?.type === A.USER || !e?.type ? A.USER : e.type;
1418
+ return {
1419
+ containerHeight: i,
1420
+ treeData: Ae,
1421
+ defaultExpandedKeys: Ae.map((e) => e.value),
1422
+ selectedKeys: (r || []).map((e) => e._id),
1423
+ isLoading: b && ne || x && ae || C && se || w && le || de || pe || he || _e || ye,
1424
+ checkType: u ? "radio" : "checkbox",
1425
+ handleSelect: (e, t) => {
1426
+ let r = t || te(e, Ae);
1427
+ if (!r) return;
1428
+ let i = je(r), a = j({
1429
+ ...r,
1430
+ _id: r._id ?? e,
1431
+ type: i,
1432
+ ...i === A.USER && r.owner_corpid ? { owner_corpid: r.owner_corpid } : {}
1433
+ });
1434
+ n({
1435
+ type: u ? "insertOnly" : "addOne",
1436
+ payload: a
1437
+ });
1438
+ },
1439
+ handleDeSelect: (e) => {
1440
+ u || n({
1441
+ type: "deleteOne",
1442
+ payload: e
1443
+ });
1444
+ }
1445
+ };
1446
+ }, Kt = (n) => {
1447
+ let { t: r } = P(), i = Gt({ wd: n.wd });
1448
+ return /* @__PURE__ */ K("div", {
1449
+ className: Q["dept-users-search"],
1450
+ children: [/* @__PURE__ */ G(Be, {
1451
+ spinning: i.isLoading,
1452
+ children: /* @__PURE__ */ G(e, {
1453
+ style: { height: i.containerHeight - 8 },
1454
+ className: Q["dept-users-search__tree-wrapper"],
1455
+ children: i.treeData.length && !i.isLoading ? /* @__PURE__ */ G("div", {
1456
+ className: Q["dept-users-search__tree-content"],
1457
+ children: /* @__PURE__ */ G(Ve, {
1458
+ data: i.treeData,
1459
+ checkType: i.checkType,
1460
+ selectedKeys: i.selectedKeys,
1461
+ defaultExpandedKeys: i.defaultExpandedKeys,
1462
+ switcherIcon: (e) => /* @__PURE__ */ G(U, {
1463
+ name: "xiangxiazhankai-11",
1464
+ className: t(Q["dept-users-search__switch-icon"], { [Q["dept-users-search__switch-icon--expanded"]]: e })
1465
+ }),
1466
+ onSelect: i.handleSelect,
1467
+ onDeSelect: i.handleDeSelect
1468
+ })
1469
+ }) : null
1470
+ })
1471
+ }), !i.treeData.length && !i.isLoading && /* @__PURE__ */ G("div", {
1472
+ className: Q["dept-users-search__empty"],
1473
+ children: /* @__PURE__ */ G("span", {
1474
+ className: Q["dept-users-search__empty-text"],
1475
+ children: r("member.noAvailable")
1476
+ })
1477
+ })]
1478
+ });
1479
+ }, qt = ({ wd: e, t, memberTabItems: n }) => ({
1480
+ raw: /* @__PURE__ */ G(_t, { wd: e }),
1481
+ placeholder: t("tabs.searchMember"),
1482
+ tabItems: n
1483
+ }), Jt = ({ wd: e, t, departmentTabItems: n }) => ({
1484
+ raw: /* @__PURE__ */ G(St, { wd: e }),
1485
+ placeholder: t("tabs.searchDepartment"),
1486
+ tabItems: n
1487
+ }), Yt = {
1488
+ user: qt,
1489
+ usergroup: qt,
1490
+ dept: Jt,
1491
+ deptgroup: Jt,
1492
+ deptusers: ({ wd: e, t, deptUserTabItems: n }) => ({
1493
+ raw: /* @__PURE__ */ G(Kt, { wd: e }),
1494
+ placeholder: t("common.searchPlaceholder"),
1495
+ tabItems: n
1496
+ }),
1497
+ transfer: qt
1498
+ }, Xt = (e, t) => {
1499
+ let n = Ne(), r = Ie(), i = je(), { deptUsersPanelConfig: a } = p(), { t: o } = P(), s = Yt[e];
1500
+ if (!s) throw Error(`No search strategy found for type: ${e}`);
1501
+ return {
1502
+ config: s({
1503
+ wd: t,
1504
+ t: o,
1505
+ memberTabItems: n,
1506
+ departmentTabItems: r,
1507
+ deptUserTabItems: i
1508
+ }),
1509
+ searchEntryVisible: e === "deptusers" ? Et(a, i.map((e) => e.key)) : !0
1510
+ };
1511
+ }, Zt = () => {
1512
+ let { type: e } = p(), [n, r] = H(), [i, a] = H(""), { config: o, searchEntryVisible: s } = Xt(e, n), { tabItems: c } = o;
1513
+ z(() => {
1514
+ s || r(void 0);
1515
+ }, [s]), z(() => {
1516
+ c.length && (c.some((e) => e.key === i) || (a(c[0].key), r(void 0)));
1517
+ }, [c, i]);
1518
+ let l = (e) => {
1519
+ a(e), r(void 0);
1520
+ }, u = c.find((e) => e.key === i)?.view, d = (e) => {
1521
+ r(e.trim().length ? e : void 0);
1522
+ }, f = s && n ? o.raw : u, m = o.placeholder;
1523
+ return /* @__PURE__ */ K("div", {
1524
+ className: t(pt["selection-tabs"]),
1525
+ children: [/* @__PURE__ */ G(ut, {
1526
+ value: i,
1527
+ onChange: l,
1528
+ onSearch: d,
1529
+ tabs: c,
1530
+ searchPlaceholder: m,
1531
+ searchEnabled: s
1532
+ }), /* @__PURE__ */ G(ft, { children: f })]
1533
+ });
1534
+ }, Qt = (e) => j(e), $t = (e) => {
1535
+ switch (e.type) {
1536
+ case "addOne":
1537
+ case "insertOnly": return {
1538
+ ...e,
1539
+ payload: Qt(e.payload)
1540
+ };
1541
+ case "addMany": return {
1542
+ ...e,
1543
+ payload: e.payload.map(Qt)
1544
+ };
1545
+ case "deleteAndInsert": return {
1546
+ ...e,
1547
+ payload: {
1548
+ ...e.payload,
1549
+ newItems: e.payload.newItems.map(Qt)
1550
+ }
1551
+ };
1552
+ default: return e;
1553
+ }
1554
+ }, en = (e, t) => {
1555
+ let n = $t(t);
1556
+ return Ye(e, (e) => {
1557
+ switch (n.type) {
1558
+ case "addOne": {
1559
+ let t = n.payload;
1560
+ ~e.findIndex((e) => e._id === t._id) || e.push(t);
1561
+ break;
1562
+ }
1563
+ case "addMany": {
1564
+ let t = new Set(e.map((e) => e._id));
1565
+ n.payload.forEach((n) => {
1566
+ t.has(n._id) || (e.push(n), t.add(n._id));
1567
+ });
1568
+ break;
1569
+ }
1570
+ case "removeMany": {
1571
+ let t = new Set(n.payload);
1572
+ for (let n = e.length - 1; n >= 0; --n) t.has(e[n]._id) && e.splice(n, 1);
1573
+ break;
1574
+ }
1575
+ case "removeAll":
1576
+ e.splice(0, e.length);
1577
+ break;
1578
+ case "insertOnly": {
1579
+ let t = n.payload;
1580
+ e.length &&= 0, e.push(t);
1581
+ break;
1582
+ }
1583
+ case "deleteOne": {
1584
+ let t = n.payload, r = e.findIndex((e) => e._id === t);
1585
+ ~r && e.splice(r, 1);
1586
+ break;
1587
+ }
1588
+ case "deleteAndInsert": {
1589
+ let { newItems: t, oldIds: r } = n.payload;
1590
+ r.forEach((t) => {
1591
+ let n = e.findIndex((e) => e._id === t);
1592
+ ~n && e.splice(n, 1);
1593
+ }), t.forEach((t) => {
1594
+ ~e.findIndex((e) => e._id === t._id) || e.push(t);
1595
+ });
1596
+ }
1597
+ }
1598
+ });
1599
+ }, $ = {
1600
+ "depts-member": "_depts-member_s7xsa_1",
1601
+ "depts-member__body": "_depts-member__body_s7xsa_6",
1602
+ "depts-member__content": "_depts-member__content_s7xsa_9",
1603
+ "depts-member__state": "_depts-member__state_s7xsa_15",
1604
+ "depts-member__footer": "_depts-member__footer_s7xsa_23",
1605
+ "depts-member__clear-area": "_depts-member__clear-area_s7xsa_28",
1606
+ "depts-member__clear-button": "_depts-member__clear-button_s7xsa_32",
1607
+ "depts-member__actions": "_depts-member__actions_s7xsa_43",
1608
+ "depts-member__cancel-button": "_depts-member__cancel-button_s7xsa_50",
1609
+ "depts-member__confirm-button": "_depts-member__confirm-button_s7xsa_53"
1610
+ }, tn = () => {
1611
+ if (!(typeof window > "u")) return window.FX?.STATIC?.user;
1612
+ }, nn = (e) => {
1613
+ let t = e?._id ?? e?.id;
1614
+ return t == null || t === "" ? "" : String(t);
1615
+ }, rn = (e) => ({
1616
+ current_departments: e?.current_departments || [],
1617
+ current_sub_departments: e?.current_sub_departments || [],
1618
+ dock_current_departments: e?.dock_current_departments || [],
1619
+ dock_current_sub_departments: e?.dock_current_sub_departments || []
1620
+ }), an = (e) => {
1621
+ if (!e) return [];
1622
+ let t = e.name ?? e.nickname ?? e.username ?? "", n = nn(e), r = (e.dock_userid === void 0 || e.dock_userid === null || e.dock_userid === "" ? "" : String(e.dock_userid)) || n;
1623
+ return r ? [{
1624
+ ...e,
1625
+ _id: r,
1626
+ id: r,
1627
+ name: t
1628
+ }] : [];
1629
+ }, on = (e) => typeof e == "string" ? e.trim().length > 0 : !e || Array.isArray(e) ? !1 : Object.keys(e).length > 0, sn = (e, t) => !["user", "usergroup"].includes(e) || !t ? f : on(t.limitWidget) && Array.isArray(t.limit) ? t.limit.length === 0 ? {
1630
+ enabled: !1,
1631
+ reason: l.LIMIT_WIDGET_EMPTY_ARRAY
1632
+ } : {
1633
+ enabled: !0,
1634
+ reason: l.ALLOWED
1635
+ } : f, cn = (e) => {
1636
+ let t = tn(), n = rn(t), r = e.type || "user", i = an(t);
1637
+ return {
1638
+ type: r,
1639
+ auth: {
1640
+ publicPermissionEnable: e.auth?.publicPermissionEnable || !1,
1641
+ managerPermissionEnable: e.auth?.managerPermissionEnable || !1
1642
+ },
1643
+ deptUsersPanelConfig: {
1644
+ organizationEnable: !0,
1645
+ memberEnable: !0,
1646
+ positionEnable: !1,
1647
+ relationEnable: !1,
1648
+ corpCoopLabelEnable: !1,
1649
+ corpEnable: !1,
1650
+ corpPanel: {
1651
+ mode: "listAll",
1652
+ respectNoEdit: !1
1653
+ },
1654
+ corpDeptEnable: !1,
1655
+ roleEnable: !0,
1656
+ roleChildEnable: !1,
1657
+ externalContactEnable: !0
1658
+ },
1659
+ requestContext: {
1660
+ appId: e.requestContext?.appId,
1661
+ entryId: e.requestContext?.entryId
1662
+ },
1663
+ limits: g({
1664
+ type: r,
1665
+ widgetAttr: e.widgetAttr
1666
+ }),
1667
+ departmentSelectableRange: d({
1668
+ type: r,
1669
+ widgetAttr: e.widgetAttr
1670
+ }),
1671
+ currentContext: n,
1672
+ currentUsers: i,
1673
+ flowCreator: Te({
1674
+ type: r,
1675
+ flowCreator: e.flowCreator,
1676
+ currentUsers: i
1677
+ }),
1678
+ memberPanelVisibility: s(r, e.widgetAttr),
1679
+ memberPanelRequestGuard: sn(r, e.widgetAttr)
1680
+ };
1681
+ }, ln = [
1682
+ "departs",
1683
+ "dockcorpValue",
1684
+ "dockdeptValue",
1685
+ "outsiderGroup"
1686
+ ], un = (e) => e == null ? !0 : Array.isArray(e) ? n(h(e)) : typeof e == "object" ? ln.every((t) => n(h(e[t]))) : !0, dn = (e) => e === "dept" || e === "deptgroup", fn = ({ type: e, widgetAttr: t, status: n, hasRequestHandler: r }) => {
1687
+ if (!dn(e) || !t || !r || n !== "idle" || t.valueOption !== 0 || !un(t.limit)) return !1;
1688
+ let i = t.rely;
1689
+ return !i || typeof i != "object" ? !1 : i.data != null;
1690
+ }, pn = ({ type: e, widgetAttr: t, requestContext: n }) => ({
1691
+ type: e,
1692
+ widgetName: t?.widgetName,
1693
+ rely: t?.rely,
1694
+ valueOption: t?.valueOption,
1695
+ subform: t?.subform,
1696
+ subformName: t?.subformName,
1697
+ rowIdx: t?.rowIdx,
1698
+ value: t?.value,
1699
+ items: t?.items,
1700
+ requestContext: n,
1701
+ widgetAttr: t
1702
+ }), mn = (e) => Array.isArray(e) ? e.map(mn) : e && typeof e == "object" ? Object.keys(e).sort().reduce((t, n) => (t[n] = mn(e[n]), t), {}) : e ?? null, hn = (e) => JSON.stringify(mn(e)), gn = (e) => {
1703
+ if (e) return {
1704
+ type: e.type,
1705
+ widgetName: e.widgetName,
1706
+ limit: e.limit,
1707
+ limitWidget: e.limitWidget,
1708
+ valueOption: e.valueOption,
1709
+ rely: e.rely,
1710
+ subform: e.subform,
1711
+ subformName: e.subformName,
1712
+ rowIdx: e.rowIdx,
1713
+ appId: e.appId,
1714
+ formId: e.formId,
1715
+ entryId: e.entryId,
1716
+ __departmentRelyLimit: e.__departmentRelyLimit,
1717
+ is_dock_form: e.is_dock_form
1718
+ };
1719
+ }, _n = ({ type: e, requestContext: t, widgetAttr: n }) => hn({
1720
+ type: e,
1721
+ requestContext: {
1722
+ appId: t?.appId,
1723
+ entryId: t?.entryId
1724
+ },
1725
+ widgetAttr: gn(n)
1726
+ }), vn = ({ type: e, requestContext: t, widgetAttr: n }) => ({
1727
+ type: e,
1728
+ requestContext: {
1729
+ appId: t?.appId,
1730
+ entryId: t?.entryId
1731
+ },
1732
+ widgetAttr: gn(n)
1733
+ }), yn = (e) => ({
1734
+ publicPermissionEnable: e?.publicPermissionEnable || !1,
1735
+ managerPermissionEnable: e?.managerPermissionEnable || !1
1736
+ }), bn = (e) => {
1737
+ let { onRequestRelyLimit: t } = e, [n, r] = H(), [i, a] = H(!1), [s, c] = H("idle"), l = V(!0), u = e.type || e.widgetAttr?.type || "user", d = V(), f = fn({
1738
+ type: u,
1739
+ widgetAttr: e.widgetAttr,
1740
+ status: s,
1741
+ hasRequestHandler: !!t
1742
+ }), p = _n({
1743
+ type: u,
1744
+ requestContext: e.requestContext,
1745
+ widgetAttr: e.widgetAttr
1746
+ });
1747
+ d.current?.key !== p && (d.current = {
1748
+ key: p,
1749
+ value: dn(u) ? pn({
1750
+ type: u,
1751
+ widgetAttr: e.widgetAttr,
1752
+ requestContext: e.requestContext
1753
+ }) : void 0
1754
+ });
1755
+ let m = d.current.value;
1756
+ z(() => (l.current = !0, () => {
1757
+ l.current = !1;
1758
+ }), []), z(() => {
1759
+ !f || !t || !m || (c("loading"), Promise.resolve(t(m)).then((e) => {
1760
+ if (!l.current) return;
1761
+ let t = Array.isArray(e) && e.length > 0 && e.every((e) => typeof e == "string");
1762
+ a(t), t && r([...e]), c("resolved");
1763
+ }).catch(() => {
1764
+ l.current && c("failed");
1765
+ }));
1766
+ }, [
1767
+ m,
1768
+ t,
1769
+ f
1770
+ ]);
1771
+ let h = B(() => n === void 0 ? e.widgetAttr : {
1772
+ ...e.widgetAttr,
1773
+ limit: n,
1774
+ __departmentRelyLimit: !0
1775
+ }, [e.widgetAttr, n]), g = B(() => s === "resolved" && !i ? {
1776
+ enabled: !1,
1777
+ reason: o.RELY_EMPTY_LIMIT
1778
+ } : {
1779
+ enabled: !0,
1780
+ reason: o.DEFAULT
1781
+ }, [i, s]);
1782
+ return {
1783
+ effectiveWidgetAttr: h,
1784
+ status: s,
1785
+ isLoading: f || s === "loading",
1786
+ isFailed: s === "failed",
1787
+ shouldBlockContent: f || s === "loading" || s === "failed",
1788
+ departmentPanelRequestGuard: g
1789
+ };
1790
+ }, xn = (e) => {
1791
+ let { onCancel: t, onConfirm: n, defaultValue: r } = e, i = e.auth?.publicPermissionEnable, a = e.auth?.managerPermissionEnable, { t: o } = P(), [s, c] = Ge(e, { defaultValue: r || [] }), l = B(() => (s || []).map((e) => j(e)), [s]), d = R((e) => {
1792
+ c((t) => en((t || []).map((e) => j(e)), e));
1793
+ }, [c]), { effectiveWidgetAttr: f, isLoading: p, isFailed: m, departmentPanelRequestGuard: h } = bn(e), g = V(), _ = _n({
1794
+ type: e.type,
1795
+ requestContext: e.requestContext,
1796
+ widgetAttr: f
1797
+ });
1798
+ g.current?.key !== _ && (g.current = {
1799
+ key: _,
1800
+ value: vn({
1801
+ type: e.type,
1802
+ requestContext: e.requestContext,
1803
+ widgetAttr: f
1804
+ })
1805
+ });
1806
+ let v = g.current.value, y = B(() => cn({
1807
+ ...v,
1808
+ flowCreator: e.flowCreator
1809
+ }), [v, e.flowCreator]), b = B(() => yn({
1810
+ publicPermissionEnable: i,
1811
+ managerPermissionEnable: a
1812
+ }), [a, i]), x = B(() => {
1813
+ let t = e.deptUsersPanelConfig;
1814
+ return {
1815
+ organizationEnable: t?.organizationEnable ?? !0,
1816
+ memberEnable: t?.memberEnable ?? !0,
1817
+ positionEnable: t?.positionEnable ?? !1,
1818
+ relationEnable: t?.relationEnable ?? !1,
1819
+ corpCoopLabelEnable: t?.corpCoopLabelEnable ?? !1,
1820
+ corpEnable: t?.corpEnable ?? !1,
1821
+ corpPanel: {
1822
+ mode: t?.corpPanel?.mode ?? "listAll",
1823
+ respectNoEdit: t?.corpPanel?.respectNoEdit ?? !1
1824
+ },
1825
+ corpDeptEnable: t?.corpDeptEnable ?? !1,
1826
+ roleEnable: t?.roleEnable ?? !0,
1827
+ roleChildEnable: t?.roleChildEnable ?? !1,
1828
+ deptChildEnable: t?.deptChildEnable ?? !1,
1829
+ externalContactEnable: t?.externalContactEnable ?? !0,
1830
+ outsiderGroupEnable: t?.outsiderGroupEnable ?? !0,
1831
+ outsiderMemberEnable: t?.outsiderMemberEnable ?? !0
1832
+ };
1833
+ }, [e.deptUsersPanelConfig]), S = e.hasDock ?? !0, C = e.hasDeptDock ?? !1, w = e.multiple ?? !0, { type: T, currentUsers: D, flowCreator: O, requestContext: k, limits: A, departmentSelectableRange: M, currentContext: N, memberPanelVisibility: ee, memberPanelRequestGuard: F } = y, I = T === E.DEPT_USERS && w === !1, te = B(() => {
1834
+ if (T !== E.DEPT_USERS) return /* @__PURE__ */ new Set();
1835
+ let t = e.excludedMemberIds;
1836
+ return t?.length ? new Set(t.filter((e) => e !== "").map(String)) : /* @__PURE__ */ new Set();
1837
+ }, [T, e.excludedMemberIds]), ne = B(() => ({
1838
+ type: T,
1839
+ value: l,
1840
+ dispatch: d,
1841
+ currentUsers: D,
1842
+ flowCreator: O,
1843
+ requestContext: k,
1844
+ limits: A,
1845
+ departmentSelectableRange: M,
1846
+ currentContext: N,
1847
+ memberPanelVisibility: ee,
1848
+ memberPanelRequestGuard: F,
1849
+ departmentPanelRequestGuard: h,
1850
+ auth: b,
1851
+ deptUsersPanelConfig: x,
1852
+ hasDock: S,
1853
+ hasDeptDock: C,
1854
+ isSingleSelect: I,
1855
+ excludedMemberIdSet: te,
1856
+ containerHeight: [
1857
+ E.USER_GROUP,
1858
+ E.DEPARMENT_GROUP,
1859
+ E.TRANSFER
1860
+ ].includes(T) ? 355 : 395
1861
+ }), [
1862
+ T,
1863
+ l,
1864
+ d,
1865
+ D,
1866
+ O,
1867
+ k,
1868
+ A,
1869
+ M,
1870
+ N,
1871
+ ee,
1872
+ F,
1873
+ h,
1874
+ b,
1875
+ x,
1876
+ S,
1877
+ C,
1878
+ I,
1879
+ te
1880
+ ]), re = () => p ? /* @__PURE__ */ G("div", {
1881
+ className: $["depts-member__state"],
1882
+ children: "加载中"
1883
+ }) : m ? /* @__PURE__ */ G("div", {
1884
+ className: $["depts-member__state"],
1885
+ children: "可选范围加载失败"
1886
+ }) : /* @__PURE__ */ K(u.Provider, {
1887
+ value: ne,
1888
+ children: [/* @__PURE__ */ G(st, {}), /* @__PURE__ */ G(Zt, {})]
1889
+ });
1890
+ return /* @__PURE__ */ K("div", {
1891
+ className: $["depts-member"],
1892
+ children: [/* @__PURE__ */ G("div", {
1893
+ className: $["depts-member__body"],
1894
+ children: /* @__PURE__ */ G("div", {
1895
+ className: $["depts-member__content"],
1896
+ "data-teleport": "DeptsMemberSelector",
1897
+ children: re()
1898
+ })
1899
+ }), /* @__PURE__ */ K("div", {
1900
+ className: $["depts-member__footer"],
1901
+ children: [[
1902
+ E.DEPARMENT_GROUP,
1903
+ E.USER_GROUP,
1904
+ E.DEPT_USERS
1905
+ ].includes(T) && !I && /* @__PURE__ */ G("div", {
1906
+ className: $["depts-member__clear-area"],
1907
+ children: /* @__PURE__ */ K("div", {
1908
+ className: $["depts-member__clear-button"],
1909
+ onClick: () => {
1910
+ d({ type: "removeAll" });
1911
+ },
1912
+ children: [/* @__PURE__ */ G(U, {
1913
+ name: "clearTree",
1914
+ size: 20,
1915
+ style: { verticalAlign: "sub" }
1916
+ }), /* @__PURE__ */ G("span", { children: o("common.clearAll") })]
1917
+ })
1918
+ }), /* @__PURE__ */ K("div", {
1919
+ className: $["depts-member__actions"],
1920
+ children: [/* @__PURE__ */ G(ze, {
1921
+ onClick: t,
1922
+ className: $["depts-member__cancel-button"],
1923
+ children: o("common.cancel")
1924
+ }), /* @__PURE__ */ G(ze, {
1925
+ type: "primary",
1926
+ className: $["depts-member__confirm-button"],
1927
+ onClick: () => n?.(l),
1928
+ children: o("common.confirm")
1929
+ })]
1930
+ })]
1931
+ })]
1932
+ });
1933
+ };
1934
+ //#endregion
1935
+ export { Qe as n, xn as t };