@baishuyun/ui-business 5.1.7 → 5.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.
@@ -0,0 +1,510 @@
1
+ import { t as e } from "../vendors/simplebar-react.js";
2
+ import { t } from "../vendors/clsx.js";
3
+ import { c as n, o as r, t as i } from "./useDeptsMemberSelector-t7b8yu-A.js";
4
+ import { m as a, n as o, p as s, r as c, t as l } from "./services/contact/selector.service-CY5vQea8.js";
5
+ import { a as u, i as d, n as f, t as p } from "./TabGroup-Dht9ylk4.js";
6
+ import { t as m } from "../vendors/useLocale.js";
7
+ import { buildDeptTree as h, buildTree as g, findNodeInTree as _, getColorByName as v, getMemberDisplayName as y } from "./utils/index.js";
8
+ import { useMemo as b, useRef as x, useState as S } from "react";
9
+ import { Avatar as C, Radio as w, Spin as T } from "antd";
10
+ import { Checkbox as E, Icon as D, Tree as O } from "@baishuyun/ui-base";
11
+ import { useRequest as k } from "ahooks";
12
+ import { Fragment as A, jsx as j, jsxs as M } from "react/jsx-runtime";
13
+ import { produce as N } from "immer";
14
+ //#region src/components/DeptsMemberSelector/subcomponents/Entity/Member/MemerList/MemerList.module.scss
15
+ var P = {
16
+ "memer-list__option": "_memer-list__option_1txby_1",
17
+ "memer-list__option--checkbox": "_memer-list__option--checkbox_1txby_9",
18
+ "memer-list__option-inner": "_memer-list__option-inner_1txby_12",
19
+ "memer-list__row": "_memer-list__row_1txby_15",
20
+ "memer-list__name": "_memer-list__name_1txby_20",
21
+ "memer-list__checkbox-row": "_memer-list__checkbox-row_1txby_27",
22
+ "memer-list__selected-summary": "_memer-list__selected-summary_1txby_35",
23
+ "memer-list__radio": "_memer-list__radio_1txby_40",
24
+ "memer-list__checkbox": "_memer-list__checkbox_1txby_27",
25
+ "memer-list__group": "_memer-list__group_1txby_46",
26
+ "memer-list": "_memer-list_1txby_1"
27
+ }, F = (e) => {
28
+ let { list: n, showCheckAll: r = !0 } = e, { t: a } = m(), { value: o, type: s, dispatch: c } = i(), l = s === u.USER, d = s === u.USER_GROUP || s === u.DEPT_USERS, f = o?.[0]?._id, p = (e) => {
29
+ let t = n?.find((t) => t._id === e.target.value);
30
+ t && c({
31
+ type: "insertOnly",
32
+ payload: { ...t }
33
+ });
34
+ }, h = (e) => {
35
+ c({
36
+ type: "deleteOne",
37
+ payload: e
38
+ });
39
+ }, g = o?.map((e) => e._id) || [], _ = n.filter((e) => g.includes(e._id)).length;
40
+ return /* @__PURE__ */ j("div", {
41
+ className: P["memer-list"],
42
+ children: /* @__PURE__ */ M("ul", {
43
+ className: P["memer-list__list"],
44
+ children: [l && /* @__PURE__ */ j(w.Group, {
45
+ value: f,
46
+ onChange: p,
47
+ className: P["memer-list__group"],
48
+ prefixCls: "ant-radio",
49
+ children: n.map((t) => {
50
+ let n = y(t), r = v(n);
51
+ return /* @__PURE__ */ j("li", {
52
+ className: P["memer-list__option"],
53
+ children: /* @__PURE__ */ j(w, {
54
+ value: t._id,
55
+ className: P["memer-list__radio"],
56
+ onClick: (e) => {
57
+ h(e.target?.value);
58
+ },
59
+ children: /* @__PURE__ */ M("div", {
60
+ className: P["memer-list__row"],
61
+ children: [
62
+ t.avatarurl ? /* @__PURE__ */ j(C, {
63
+ src: t.avatarurl,
64
+ size: 20,
65
+ style: { flexShrink: 0 }
66
+ }) : /* @__PURE__ */ j(C, {
67
+ style: {
68
+ backgroundColor: r,
69
+ fontSize: "12px",
70
+ lineHeight: "13px",
71
+ width: "20px",
72
+ height: "20px",
73
+ flexShrink: 0
74
+ },
75
+ children: n.charAt(0)
76
+ }),
77
+ /* @__PURE__ */ j("span", {
78
+ className: P["memer-list__name"],
79
+ children: n
80
+ }),
81
+ e.badge && e.badge(t)
82
+ ]
83
+ })
84
+ })
85
+ }, t._id);
86
+ })
87
+ }), d && /* @__PURE__ */ M(A, { children: [r && /* @__PURE__ */ j("li", {
88
+ className: t(P["memer-list__option"], P["memer-list__option--checkbox"]),
89
+ children: /* @__PURE__ */ j(E, {
90
+ labelPosition: "left",
91
+ checked: _ === n.length,
92
+ indeterminate: _ > 0 && _ < n.length,
93
+ className: P["memer-list__checkbox"],
94
+ onChange: () => {
95
+ _ === n.length ? c({
96
+ type: "removeMany",
97
+ payload: n.map((e) => e._id)
98
+ }) : c({
99
+ type: "addMany",
100
+ payload: n.map((e) => ({ ...e }))
101
+ });
102
+ },
103
+ children: /* @__PURE__ */ j("div", {
104
+ className: P["memer-list__selected-summary"],
105
+ children: /* @__PURE__ */ j("span", { children: a("common.selected", {
106
+ selected: _,
107
+ total: n.length
108
+ }) })
109
+ })
110
+ })
111
+ }), /* @__PURE__ */ j(E.Group, {
112
+ value: g,
113
+ onChange: (e) => {
114
+ let t = [], r = [];
115
+ for (let i = 0; i < n.length; i++) {
116
+ let a = n[i];
117
+ e.includes(a._id) ? t.push(a) : r.push(a);
118
+ }
119
+ c({
120
+ type: "deleteAndInsert",
121
+ payload: {
122
+ oldIds: r.map((e) => e._id),
123
+ newItems: t
124
+ }
125
+ });
126
+ },
127
+ className: P["memer-list__group"],
128
+ children: n.map((n) => {
129
+ let r = y(n), i = v(r);
130
+ return /* @__PURE__ */ j("li", {
131
+ className: t(P["memer-list__option"], P["memer-list__option--checkbox"]),
132
+ children: /* @__PURE__ */ j(E, {
133
+ labelPosition: "left",
134
+ value: n._id,
135
+ className: P["memer-list__checkbox"],
136
+ children: /* @__PURE__ */ M("div", {
137
+ className: P["memer-list__checkbox-row"],
138
+ children: [
139
+ n.avatarurl ? /* @__PURE__ */ j(C, {
140
+ src: n.avatarurl,
141
+ size: 20,
142
+ style: { flexShrink: 0 }
143
+ }) : /* @__PURE__ */ j(C, {
144
+ style: {
145
+ backgroundColor: i,
146
+ fontSize: "12px",
147
+ lineHeight: "13px",
148
+ width: "20px",
149
+ height: "20px",
150
+ flexShrink: 0
151
+ },
152
+ children: r.charAt(0)
153
+ }),
154
+ /* @__PURE__ */ j("span", {
155
+ className: P["memer-list__name"],
156
+ children: r
157
+ }),
158
+ e.badge && e.badge(n)
159
+ ]
160
+ })
161
+ })
162
+ }, n._id);
163
+ })
164
+ })] })]
165
+ })
166
+ });
167
+ }, I = {
168
+ "bsy-external-member__all-option": "_bsy-external-member__all-option_1jd7j_1",
169
+ "bsy-external-member__all-option--selected": "_bsy-external-member__all-option--selected_1jd7j_13",
170
+ "bsy-external-member__icon": "_bsy-external-member__icon_1jd7j_20",
171
+ "bsy-external-member__switcher-icon": "_bsy-external-member__switcher-icon_1jd7j_24",
172
+ "bsy-external-member__switcher-icon--expanded": "_bsy-external-member__switcher-icon--expanded_1jd7j_29",
173
+ "bsy-external-member__content": "_bsy-external-member__content_1jd7j_32"
174
+ }, L = {
175
+ "bsy-all-member__all-option": "_bsy-all-member__all-option_8jfkj_1",
176
+ "bsy-all-member__all-option--selected": "_bsy-all-member__all-option--selected_8jfkj_14"
177
+ }, R = (e) => {
178
+ let { t: n } = m();
179
+ return /* @__PURE__ */ M("div", {
180
+ className: t(L["bsy-all-member__all-option"], { [L["bsy-all-member__all-option--selected"]]: e.selected }),
181
+ onClick: () => e.onSelect(!e.selected),
182
+ children: [/* @__PURE__ */ j("div", {
183
+ className: L["bsy-all-member__all-option-icon"],
184
+ children: e.icon ? e.icon : /* @__PURE__ */ j("svg", {
185
+ width: "20",
186
+ height: "20",
187
+ viewBox: "0 0 20 20",
188
+ fill: "none",
189
+ xmlns: "http://www.w3.org/2000/svg",
190
+ children: /* @__PURE__ */ j("path", {
191
+ d: "M10 1.25C12.3206 1.25 14.5462 2.17187 16.1872 3.81282C17.8281 5.45376 18.75 7.67936 18.75 10C18.75 12.3206 17.8281 14.5462 16.1872 16.1872C14.5462 17.8281 12.3206 18.75 10 18.75C7.67936 18.75 5.45376 17.8281 3.81282 16.1872C2.17187 14.5462 1.25 12.3206 1.25 10C1.25 7.67936 2.17187 5.45376 3.81282 3.81282C5.45376 2.17187 7.67936 1.25 10 1.25ZM9.4325 5H9.325L9.1125 5.00875C7.60875 5.13 7.165 6.5525 7.165 7.37875C7.13187 7.91241 7.22744 8.44621 7.44367 8.93523C7.6599 9.42424 7.99045 9.85415 8.4075 10.1888C8.52 10.3263 8.57625 10.4987 8.5675 10.675C8.53114 10.7896 8.45307 10.8864 8.34875 10.9462C7.645 11.48 5.14875 12.0837 4.99875 13.2712C4.8925 13.7575 4.13625 14.5675 6.59875 14.8713C7.54875 14.9963 8.50625 15.0487 9.4625 15.0325C15.1913 15.0325 14.0013 13.895 13.8412 13.2512L13.7887 13.0675C13.385 12.0588 11.2987 11.505 10.5062 11.0112L10.3837 10.9275L10.39 10.94L10.35 10.86C10.3352 10.8247 10.3231 10.7884 10.3138 10.7512L10.295 10.6375C10.284 10.4912 10.3023 10.3442 10.3488 10.205C10.3488 10.205 11.5912 9.5125 11.5912 7.37875C11.5375 6.515 11.0588 5 9.4325 5ZM12.9838 6.13125H12.785C12.5898 6.14356 12.3995 6.19815 12.2275 6.29125C12.4987 7.26125 12.8775 8.995 11.4163 10.125C10.8825 10.9363 12.7125 11.475 12.4462 11.315C14.1213 12.0725 14.6062 12.665 14.7175 13.2613C14.8238 13.7463 14.8775 14.0725 14.8775 14.0725C15.4241 13.9831 15.9602 13.8382 16.4775 13.64C16.512 13.3512 16.4937 13.0585 16.4237 12.7762L16.44 12.7863L16.4025 12.6213C16.11 11.765 14.355 11.355 13.8488 10.8938C13.7898 10.8138 13.7528 10.7199 13.7413 10.6213C13.7413 10.3488 13.795 10.2963 13.795 10.2963C14.1359 10.0305 14.4038 9.68268 14.5737 9.28524C14.7435 8.8878 14.8098 8.45377 14.7662 8.02375C14.7125 7.32 14.3337 6.13125 12.9838 6.13125ZM5.9225 6.14125H5.87L5.69 6.155C5.24076 6.2117 4.83017 6.43794 4.54227 6.78743C4.25436 7.13691 4.1109 7.58321 4.14125 8.035C4.08125 8.90375 4.44125 9.75 5.1125 10.3062C5.15324 10.4096 5.17156 10.5203 5.16625 10.6313C5.15471 10.7299 5.11766 10.8238 5.05875 10.9037C4.52625 11.3362 2.68 11.8212 2.52125 12.7975C2.49421 13.0668 2.49421 13.3382 2.52125 13.6075C2.93375 13.8025 3.36875 13.9475 3.81625 14.04C3.81625 14.04 3.87 13.7675 3.97625 13.39C4.03 12.8562 4.84 11.875 6.84 11.1125L6.97 11.0675C7.05625 11.035 7.13875 10.9963 7.22 10.9525C7.4375 10.7925 7.65125 10.52 7.22 10.1412C5.81625 8.0875 6.30125 6.73875 6.515 6.2475C6.32423 6.18149 6.12432 6.14564 5.9225 6.14125Z",
192
+ fill: "#0265FF"
193
+ })
194
+ })
195
+ }), /* @__PURE__ */ j("span", { children: e.title || n("member.all") })]
196
+ });
197
+ }, z = /* @__PURE__ */ function(e) {
198
+ return e.DOCK_PERSON_GROUP = "dockcorp", e.DOCK_DEPARTMENT = "dockcorpdept", e;
199
+ }(z || {}), B = (n) => {
200
+ let { loading: r = !1 } = n, { containerHeight: a } = i(), { t: o } = m(), s = [{
201
+ label: o("member.contact"),
202
+ value: z.DOCK_PERSON_GROUP
203
+ }, {
204
+ label: o("department.title"),
205
+ value: z.DOCK_DEPARTMENT
206
+ }], [c, l] = S(z.DOCK_PERSON_GROUP), u = (e, t) => {
207
+ let n = [];
208
+ for (let r of e) if (r.type === t) if (t === "dockcorpdept") n.push({
209
+ ...r,
210
+ children: r.children
211
+ });
212
+ else {
213
+ let e = r.children ? u(r.children, t) : [];
214
+ n.push({
215
+ ...r,
216
+ children: e.length > 0 ? e : void 0
217
+ });
218
+ }
219
+ else {
220
+ let e = r.children ? u(r.children, t) : [];
221
+ e.length > 0 && n.push({
222
+ ...r,
223
+ children: e
224
+ });
225
+ }
226
+ return n;
227
+ }, d = u(n.data, c), f = d?.map((e) => e.departmentId);
228
+ return /* @__PURE__ */ M(A, { children: [/* @__PURE__ */ j(p, {
229
+ tabs: s,
230
+ value: c,
231
+ onChange: l
232
+ }), /* @__PURE__ */ j(e, {
233
+ style: { height: a - 34 },
234
+ classNames: { contentEl: I["bsy-external-member__content"] },
235
+ children: /* @__PURE__ */ M("div", {
236
+ className: I["bsy-external-member__content"],
237
+ children: [/* @__PURE__ */ j(R, {
238
+ title: c === z.DOCK_PERSON_GROUP ? o("member.allContact") : o("department.all"),
239
+ selected: n.selectLevel === n.unique_all,
240
+ onSelect: () => n.onSelect(n.unique_all),
241
+ icon: /* @__PURE__ */ j(D, {
242
+ name: "contactperson",
243
+ size: 20,
244
+ color: "#6f829e"
245
+ })
246
+ }), d.length > 0 && !r && /* @__PURE__ */ j(O, {
247
+ data: d,
248
+ fieldNames: {
249
+ title: "name",
250
+ value: "departmentId",
251
+ children: "children"
252
+ },
253
+ selectedKeys: n.selectLevel ? [n.selectLevel] : [],
254
+ onSelect: (e) => n.onSelect(e),
255
+ parentCheckable: !0,
256
+ defaultExpandedKeys: f.length === 1 ? f : [],
257
+ icon: () => /* @__PURE__ */ j(D, {
258
+ name: "dept-one",
259
+ className: I["bsy-external-member__icon"]
260
+ }),
261
+ switcherIcon: (e) => /* @__PURE__ */ j(D, {
262
+ name: "xiangxiazhankai-11",
263
+ className: t(I["bsy-external-member__switcher-icon"], { [I["bsy-external-member__switcher-icon--expanded"]]: e })
264
+ })
265
+ })]
266
+ })
267
+ }, d.length)] });
268
+ }, V = {
269
+ "internal-member__content": "_internal-member__content_1aszs_1",
270
+ "internal-member__icon": "_internal-member__icon_1aszs_4",
271
+ "internal-member__switcher": "_internal-member__switcher_1aszs_8",
272
+ "internal-member__switcher--expanded": "_internal-member__switcher--expanded_1aszs_13"
273
+ }, H = (n) => {
274
+ let { loading: r, onSelect: a, unique_all: o, selectLevel: s } = n, { containerHeight: c } = i(), l = n.data?.map((e) => e.departmentId);
275
+ return /* @__PURE__ */ M(e, {
276
+ style: {
277
+ height: c - 8,
278
+ padding: "4px"
279
+ },
280
+ classNames: { contentEl: V["internal-member__content"] },
281
+ children: [/* @__PURE__ */ j(R, {
282
+ selected: s === o,
283
+ onSelect: () => a(o)
284
+ }), n.data.length > 0 && !r && /* @__PURE__ */ j(O, {
285
+ data: n.data,
286
+ fieldNames: {
287
+ title: "name",
288
+ value: "departmentId",
289
+ children: "children"
290
+ },
291
+ selectedKeys: n.selectLevel ? [n.selectLevel] : [],
292
+ onSelect: (e) => n.onSelect(e),
293
+ parentCheckable: !0,
294
+ defaultExpandedKeys: l.length === 1 ? l : [],
295
+ icon: () => /* @__PURE__ */ j(D, {
296
+ name: "dept-one",
297
+ className: V["internal-member__icon"],
298
+ size: 16
299
+ }),
300
+ switcherIcon: (e) => /* @__PURE__ */ j(D, {
301
+ name: "xiangxiazhankai-11",
302
+ className: t(V["internal-member__switcher"], { [V["internal-member__switcher--expanded"]]: e })
303
+ })
304
+ })]
305
+ });
306
+ }, U = {
307
+ "member-panel": "_member-panel_1lhyj_1",
308
+ "member-panel__overlay-empty": "_member-panel__overlay-empty_1lhyj_6",
309
+ "member-panel__sidebar": "_member-panel__sidebar_1lhyj_13",
310
+ "member-panel__menu": "_member-panel__menu_1lhyj_18",
311
+ "member-panel__menu-item": "_member-panel__menu-item_1lhyj_23",
312
+ "member-panel__menu-item--active": "_member-panel__menu-item--active_1lhyj_34",
313
+ "member-panel__panel": "_member-panel__panel_1lhyj_38",
314
+ "member-panel__panel--list": "_member-panel__panel--list_1lhyj_42",
315
+ "member-panel__list-wrapper": "_member-panel__list-wrapper_1lhyj_45",
316
+ "member-panel__empty": "_member-panel__empty_1lhyj_48",
317
+ "member-panel__empty-text": "_member-panel__empty-text_1lhyj_55"
318
+ }, W = Symbol("all key"), G = () => {
319
+ let e = i(), { containerHeight: t, type: u, requestContext: p, limits: v } = e, y = e.memberPanelRequestGuard ?? r, { t: C } = m(), [w, T] = S([{
320
+ key: "internal",
321
+ label: C("member.internal"),
322
+ visible: !1
323
+ }, {
324
+ key: "external",
325
+ label: C("member.external"),
326
+ visible: !1
327
+ }]), E = x(!0), D = x({
328
+ internal: !1,
329
+ external: !1
330
+ }), O = x(), [A, M] = S("internal"), [P, F] = S(W), I = JSON.stringify({
331
+ type: u,
332
+ requestContext: p,
333
+ limits: v,
334
+ memberPanelRequestGuardEnabled: y.enabled
335
+ });
336
+ O.current !== I && (O.current = I, E.current = !0, D.current = {
337
+ internal: !1,
338
+ external: !1
339
+ });
340
+ let L = (e) => {
341
+ M(e), F(W);
342
+ }, { data: R, loading: z } = k(async () => u !== "deptusers" && !y.enabled ? {
343
+ departments: [],
344
+ departments_count: 0,
345
+ label_corp_list: [],
346
+ label_corp_count: 0
347
+ } : u === "deptusers" ? o({
348
+ requestContext: p,
349
+ hasDeptDock: A === "external"
350
+ }) : s({
351
+ requestContext: p,
352
+ limits: v,
353
+ hasDeptDock: A === "external"
354
+ }), {
355
+ refreshDeps: [
356
+ A,
357
+ u,
358
+ p,
359
+ v,
360
+ y.enabled
361
+ ],
362
+ onSuccess: (e) => {
363
+ if (!e) return;
364
+ let t = e.departments_count > 0, n = e.label_corp_count > 0, r = {
365
+ internal: D.current.internal || t,
366
+ external: D.current.external || n
367
+ };
368
+ D.current = r, T(N((e) => {
369
+ e[0].visible = r.internal, e[1].visible = r.external;
370
+ })), E.current && (E.current = !1, (t || n) && M(t ? "internal" : "external"));
371
+ }
372
+ }), B = b(() => {
373
+ if (!R) return {
374
+ internal: [],
375
+ external: []
376
+ };
377
+ let e = h(f(R.departments || [])), t = (e) => e.filter((e) => (e.children &&= t(e.children), !((e.type === "label" || e.type === "dockcorpdept") && (!e.children || e.children.length === 0)))).map((e) => ({
378
+ ...e,
379
+ checkable: e.type !== "label" && e.type !== "dockcorpdept",
380
+ icon: /* @__PURE__ */ j(d, {
381
+ type: e.type,
382
+ size: 16
383
+ })
384
+ })), n = f(R.label_corp_list || []), r = n.length ? g(n, {
385
+ value: "departmentId",
386
+ children: "children",
387
+ parentId: "parentId"
388
+ }) : [];
389
+ return {
390
+ internal: e,
391
+ external: t(r.length === 1 && r[0]?.type === "label" ? r[0].children || [] : r)
392
+ };
393
+ }, [R]), V = A === "internal" ? B.internal : B.external, H = b(() => {
394
+ if (!(A !== "external" || P === W)) return _(P, B.external, {
395
+ title: "name",
396
+ parentId: "parentId",
397
+ value: "_id",
398
+ children: "children"
399
+ })?.owner_corpid;
400
+ }, [
401
+ A,
402
+ P,
403
+ B.external
404
+ ]), { data: U, loading: G } = k(async () => {
405
+ if (!A || u !== "deptusers" && !y.enabled) return [];
406
+ if (u === "deptusers") return (await c({
407
+ requestContext: p,
408
+ deptId: P === W ? "" : P,
409
+ limit: 1e4
410
+ })).users || [];
411
+ let e = await a({
412
+ requestContext: p,
413
+ limits: v,
414
+ departmentId: P === W ? null : P,
415
+ limit: l,
416
+ hasDeptDock: A === "external",
417
+ currentCorpId: H
418
+ });
419
+ return A === "external" ? e.dock_user_list || [] : e.users || [];
420
+ }, { refreshDeps: [[
421
+ u,
422
+ A,
423
+ String(P),
424
+ H || "",
425
+ p?.appId || "",
426
+ p?.entryId || ""
427
+ ].join(":"), y.enabled] });
428
+ return {
429
+ containerHeight: t,
430
+ menuItems: w,
431
+ activeKey: A,
432
+ setActiveKey: L,
433
+ selectKey: P,
434
+ setSelectKey: F,
435
+ uniqueAllKey: W,
436
+ treeData: B,
437
+ currentTreeData: V,
438
+ userList: U || [],
439
+ loading: z,
440
+ memberLoading: G,
441
+ showUnavailableOverlay: y.reason === n.LIMIT_WIDGET_EMPTY_ARRAY
442
+ };
443
+ }, K = () => {
444
+ let { t: n } = m(), r = G(), i = r.userList;
445
+ return r.showUnavailableOverlay ? /* @__PURE__ */ j("div", {
446
+ className: U["member-panel"],
447
+ children: /* @__PURE__ */ j("div", {
448
+ className: U["member-panel__overlay-empty"],
449
+ children: /* @__PURE__ */ j("span", {
450
+ className: U["member-panel__empty-text"],
451
+ children: n("member.noAvailable")
452
+ })
453
+ })
454
+ }) : /* @__PURE__ */ M("div", {
455
+ className: U["member-panel"],
456
+ children: [
457
+ /* @__PURE__ */ j("aside", {
458
+ className: U["member-panel__sidebar"],
459
+ children: /* @__PURE__ */ j("ul", {
460
+ className: U["member-panel__menu"],
461
+ children: r.menuItems.filter((e) => e.visible).map((e) => /* @__PURE__ */ j("li", {
462
+ onClick: () => {
463
+ r.setActiveKey(e.key);
464
+ },
465
+ className: t(U["member-panel__menu-item"], { [U["member-panel__menu-item--active"]]: r.activeKey === e.key }),
466
+ children: e.label
467
+ }, e.key))
468
+ })
469
+ }),
470
+ /* @__PURE__ */ j("section", {
471
+ className: U["member-panel__panel"],
472
+ children: /* @__PURE__ */ M(T, {
473
+ spinning: r.loading,
474
+ children: [r.activeKey === "internal" && /* @__PURE__ */ j(H, {
475
+ unique_all: r.uniqueAllKey,
476
+ selectLevel: r.selectKey,
477
+ onSelect: r.setSelectKey,
478
+ data: r.currentTreeData
479
+ }), r.activeKey === "external" && /* @__PURE__ */ j(B, {
480
+ unique_all: r.uniqueAllKey,
481
+ selectLevel: r.selectKey,
482
+ onSelect: r.setSelectKey,
483
+ data: r.currentTreeData
484
+ })]
485
+ })
486
+ }),
487
+ /* @__PURE__ */ M("section", {
488
+ className: t(U["member-panel__panel"], U["member-panel__panel--list"]),
489
+ children: [/* @__PURE__ */ j(T, {
490
+ spinning: r.memberLoading,
491
+ children: /* @__PURE__ */ j(e, {
492
+ style: { height: r.containerHeight - 8 },
493
+ children: i.length > 0 && /* @__PURE__ */ j("div", {
494
+ className: U["member-panel__list-wrapper"],
495
+ children: /* @__PURE__ */ j(F, { list: i })
496
+ })
497
+ })
498
+ }), i.length === 0 && !r.memberLoading && /* @__PURE__ */ j("div", {
499
+ className: U["member-panel__empty"],
500
+ children: /* @__PURE__ */ j("span", {
501
+ className: U["member-panel__empty-text"],
502
+ children: n("member.noAvailable")
503
+ })
504
+ })]
505
+ })
506
+ ]
507
+ });
508
+ };
509
+ //#endregion
510
+ export { F as n, K as t };
@@ -1,16 +1,16 @@
1
1
  import "../vendors/simplebar-react.js";
2
2
  import "./useDeptsMemberSelector-t7b8yu-A.js";
3
3
  import { a as e } from "./TabGroup-Dht9ylk4.js";
4
- import { t } from "./DeptsMemberSelector-DjDAPVIj.js";
4
+ import { t } from "./DeptsMemberSelector-DD3yoWYQ.js";
5
5
  import "../vendors/useLocale.js";
6
6
  import "../ConfigProvider/configContext-kYu9qTM2.js";
7
7
  import { getColorByName as n } from "./utils/index.js";
8
- import "./DeptsUser-Coh1rKPm.js";
8
+ import "./DeptsUser-41XeJOIY.js";
9
9
  import "./OrganizationPanel-CT3v_KVr.js";
10
- import "./ExtraConcactPanel-CWKwVmbx.js";
10
+ import "./MemberPanel-BhuVgJdO.js";
11
11
  import "./RelationShipList-BhiAdVjm.js";
12
12
  import "./RelationShipDepts-kpemRPz1.js";
13
- import "./Member-Ds_Qzw0L.js";
13
+ import "./Member-Bit-zWOE.js";
14
14
  import "./Department-H6zGUr4c.js";
15
15
  //#region src/components/DeptsMemberSelector/index.ts
16
16
  var r = t;
@@ -3,9 +3,9 @@ import "../../../useDeptsMemberSelector-t7b8yu-A.js";
3
3
  import "../../../TabGroup-Dht9ylk4.js";
4
4
  import "../../../../vendors/useLocale.js";
5
5
  import "../../../../ConfigProvider/configContext-kYu9qTM2.js";
6
- import { t as e } from "../../../DeptsUser-Coh1rKPm.js";
6
+ import { t as e } from "../../../DeptsUser-41XeJOIY.js";
7
7
  import "../../../OrganizationPanel-CT3v_KVr.js";
8
- import "../../../ExtraConcactPanel-CWKwVmbx.js";
8
+ import "../../../MemberPanel-BhuVgJdO.js";
9
9
  import "../../../RelationShipList-BhiAdVjm.js";
10
10
  import "../../../RelationShipDepts-kpemRPz1.js";
11
11
  export { e as useDeptUserTabItems };
@@ -3,6 +3,6 @@ import "../../../useDeptsMemberSelector-t7b8yu-A.js";
3
3
  import "../../../TabGroup-Dht9ylk4.js";
4
4
  import "../../../../vendors/useLocale.js";
5
5
  import "../../../../ConfigProvider/configContext-kYu9qTM2.js";
6
- import "../../../ExtraConcactPanel-CWKwVmbx.js";
7
- import { t as e } from "../../../Member-Ds_Qzw0L.js";
6
+ import "../../../MemberPanel-BhuVgJdO.js";
7
+ import { t as e } from "../../../Member-Bit-zWOE.js";
8
8
  export { e as useMemberTabItems };
@@ -50,7 +50,14 @@ var t = [
50
50
  return null;
51
51
  };
52
52
  function o(e) {
53
- let t = {}, n = [], r = (e) => e == null ? "" : String(e);
53
+ let t = {}, n = [], r = (e) => e == null ? "" : String(e), i = (e) => {
54
+ if (e === "" || e == null) return Infinity;
55
+ let t = Number(e);
56
+ return Number.isFinite(t) ? t : Infinity;
57
+ }, a = (e) => e.sort((e, t) => {
58
+ let n = i(e.order), r = i(t.order);
59
+ return n === r ? 0 : n - r;
60
+ });
54
61
  return e.forEach((e) => {
55
62
  let n = r(e.departmentId);
56
63
  n && (t[n] = {
@@ -72,7 +79,9 @@ function o(e) {
72
79
  return;
73
80
  }
74
81
  n.push(e);
75
- }), n;
82
+ }), Object.values(t).forEach((e) => {
83
+ a(e.children);
84
+ }), a(n), n;
76
85
  }
77
86
  //#endregion
78
87
  export { t as ENTITY_COLORS, o as buildDeptTree, i as buildTree, a as findNodeInTree, n as getColorByName, r as getMemberDisplayName };
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance } from '../../services/apiService';
2
- type Locale = 'zh-CN' | 'en-US';
2
+ type Locale = 'zh-CN' | 'zh-TW' | 'en-US';
3
3
  interface PreFetchedNode {
4
4
  _id: string | number;
5
5
  name: string;
@@ -0,0 +1,2 @@
1
+ declare const DeptUsersExtraContactPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ export default DeptUsersExtraContactPanel;
@@ -0,0 +1,40 @@
1
+ type EntryKey = 'group' | 'member';
2
+ type GroupTypeKey = 'default' | 'custom';
3
+ type MenuItem<T extends string> = {
4
+ key: T;
5
+ label: string;
6
+ };
7
+ type DeptUsersOutsiderGroup = {
8
+ _id: string;
9
+ name: string;
10
+ type?: string | number;
11
+ order?: string | number;
12
+ sort?: string | number;
13
+ [key: string]: any;
14
+ };
15
+ type DeptUsersOutsiderMember = {
16
+ _id: string;
17
+ name?: string;
18
+ nickname?: string;
19
+ type?: string;
20
+ [key: string]: any;
21
+ };
22
+ declare const useDeptUsersExtraContactPanelData: () => {
23
+ containerHeight: number;
24
+ menuItems: MenuItem<EntryKey>[];
25
+ groupTypeItems: MenuItem<GroupTypeKey>[];
26
+ activeEntry: EntryKey;
27
+ activeGroupType: GroupTypeKey;
28
+ setActiveEntry: import('react').Dispatch<import('react').SetStateAction<EntryKey>>;
29
+ setActiveGroupType: (nextKey: GroupTypeKey) => void;
30
+ groupId: string | undefined;
31
+ setGroupId: import('react').Dispatch<import('react').SetStateAction<string | undefined>>;
32
+ currentGroups: DeptUsersOutsiderGroup[];
33
+ memberList: DeptUsersOutsiderMember[];
34
+ selectedIdSet: Set<any>;
35
+ groupListLoading: boolean;
36
+ memberLoading: boolean;
37
+ handleGroupToggle: (group: DeptUsersOutsiderGroup, checked: boolean) => void;
38
+ };
39
+ export { useDeptUsersExtraContactPanelData };
40
+ export type { DeptUsersOutsiderGroup, DeptUsersOutsiderMember, EntryKey, GroupTypeKey };
@@ -34,7 +34,7 @@ declare const useDeptUsersRolePanelData: () => {
34
34
  handleSelectInternalRole: (roleId: string | number) => void;
35
35
  handleRoleToggle: (item: DeptUsersRoleSelectionItem, checked: boolean) => void;
36
36
  isRoleGroupNode: (role?: RoleSourceItem | null) => boolean;
37
- defaultExpandedKeys: string[];
37
+ defaultExpandedKeys: never[];
38
38
  };
39
39
  export { useDeptUsersRolePanelData };
40
40
  export type { DeptUsersRoleSelectionItem, DeptUsersRoleOptionItem, RoleSourceItem };