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