@baishuyun/ui-business 6.0.7 → 6.1.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 (94) hide show
  1. package/dist/DeptsMemberSelector/Department-lQJcetBA.js +267 -0
  2. package/dist/DeptsMemberSelector/DeptsMemberSelector-DmwD1Ls_.js +1336 -0
  3. package/dist/DeptsMemberSelector/DeptsUser-wWfkuBDp.js +974 -0
  4. package/dist/DeptsMemberSelector/Member-K4kgwY7b.js +603 -0
  5. package/dist/DeptsMemberSelector/MemberPanel-Cm1Hv-GV.js +698 -0
  6. package/dist/DeptsMemberSelector/OrganizationPanel-2QDNfFtJ.js +401 -0
  7. package/dist/DeptsMemberSelector/RelationShipList-DkF9XivU.js +75 -0
  8. package/dist/DeptsMemberSelector/index.js +12 -14
  9. package/dist/DeptsMemberSelector/services/contact/selector.service-BUQcY5DZ.js +380 -0
  10. package/dist/DeptsMemberSelector/subcomponents/Entity/Department/index.js +4 -5
  11. package/dist/DeptsMemberSelector/subcomponents/Entity/DeptsUser/index.js +6 -8
  12. package/dist/DeptsMemberSelector/subcomponents/Entity/Member/index.js +4 -5
  13. package/dist/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.js +2 -2
  14. package/dist/DeptsMemberSelector/useDeptsMemberSelector-CHK0U3R4.js +155 -0
  15. package/dist/DeptsMemberSelector/useOutsiderGroupPanelState-d2EiLVaV.js +648 -0
  16. package/dist/DeptsMemberSelector/utils/index.js +2 -87
  17. package/dist/DeptsMemberSelector/utils-BVfGpRu5.js +103 -0
  18. package/dist/components/DeptsMemberSelector/context/DeptsMemberContext.d.ts +17 -1
  19. package/dist/components/DeptsMemberSelector/hooks/useDeptsMemberSelector.d.ts +5 -0
  20. package/dist/components/DeptsMemberSelector/hooks/useOutsiderGroupPanelState.d.ts +19 -0
  21. package/dist/components/DeptsMemberSelector/hooks/useSlidingTabIndicator.d.ts +29 -0
  22. package/dist/components/DeptsMemberSelector/index.d.ts +2 -0
  23. package/dist/components/DeptsMemberSelector/subcomponents/Entity/Member/MemberSearch/useMemberSearchData.d.ts +2 -2
  24. package/dist/components/DeptsMemberSelector/subcomponents/Entity/Member/MemerList/MemberListCheckboxRow.d.ts +17 -0
  25. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersExtraContactPanel/useDeptUsersExtraContactPanelData.d.ts +11 -5
  26. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersPositionPanel/useDeptUsersPositionPanelData.d.ts +5 -1
  27. package/dist/components/DeptsMemberSelector/subcomponents/Panels/DeptUsersRolePanel/useDeptUsersRolePanelData.d.ts +2 -1
  28. package/dist/components/DeptsMemberSelector/subcomponents/Panels/ExtraConcactPanel/useExtraContactPanelData.d.ts +8 -10
  29. package/dist/components/DeptsMemberSelector/subcomponents/Panels/ExtraContactGroupPanel/ExtraContactGroupPanel.d.ts +2 -2
  30. package/dist/components/DeptsMemberSelector/subcomponents/Panels/FlowCreatorPanel/FlowCreatorPanel.d.ts +2 -0
  31. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/ExternalMember/ExternalMember.d.ts +2 -0
  32. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/asideFallback.d.ts +26 -0
  33. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/resolveMemberPanelShowSidebar.d.ts +13 -0
  34. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberPanel/useMemberPanelData.d.ts +6 -1
  35. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipList/index.d.ts +4 -12
  36. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/types.d.ts +1 -13
  37. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/useMemberRelationShipPanelData.d.ts +7 -36
  38. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/ExternalOrganization/ExternalOrganization.d.ts +2 -1
  39. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/InternalOrganization/InternalOrganization.d.ts +2 -1
  40. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/utils/treeExpandedKeys.d.ts +23 -0
  41. package/dist/components/DeptsMemberSelector/subcomponents/Panels/OrganizationPanel/utils/useOrganizationTreeExpandedKeys.d.ts +9 -0
  42. package/dist/components/DeptsMemberSelector/subcomponents/Panels/PositionPanel/usePositionPanelData.d.ts +5 -0
  43. package/dist/components/DeptsMemberSelector/subcomponents/Panels/RolePanel/useRolePanelData.d.ts +1 -1
  44. package/dist/components/DeptsMemberSelector/subcomponents/SelectedItemIcon/SelectedItemIcon.d.ts +8 -0
  45. package/dist/components/DeptsMemberSelector/subcomponents/SelectionTabs/SelectionTabList/SelectionTabList.d.ts +4 -0
  46. package/dist/components/DeptsMemberSelector/subcomponents/SelectionTabs/useSelectorType.d.ts +1 -0
  47. package/dist/components/DeptsMemberSelector/subcomponents/SlidingTabIndicatorBar/SlidingTabIndicatorBar.d.ts +10 -0
  48. package/dist/components/DeptsMemberSelector/subcomponents/TagIcon/TagIcon.d.ts +9 -3
  49. package/dist/components/DeptsMemberSelector/types/selector.d.ts +90 -3
  50. package/dist/components/DeptsMemberSelector/utils/constants.d.ts +27 -0
  51. package/dist/components/DeptsMemberSelector/utils/currentUserDepts.d.ts +21 -0
  52. package/dist/components/DeptsMemberSelector/utils/departmentSearchVisibility.d.ts +9 -0
  53. package/dist/components/DeptsMemberSelector/utils/deptUsersRelationSearchGroup.d.ts +37 -0
  54. package/dist/components/DeptsMemberSelector/utils/deptUsersSearchVisibility.d.ts +30 -0
  55. package/dist/components/DeptsMemberSelector/utils/entityItemType.d.ts +32 -0
  56. package/dist/components/DeptsMemberSelector/utils/flowCreator.d.ts +8 -0
  57. package/dist/components/DeptsMemberSelector/utils/index.d.ts +10 -2
  58. package/dist/components/DeptsMemberSelector/utils/jobTitleDepartmentLimit.d.ts +3 -0
  59. package/dist/components/DeptsMemberSelector/utils/memberBadgeText.d.ts +20 -0
  60. package/dist/components/DeptsMemberSelector/utils/memberStatus.d.ts +4 -0
  61. package/dist/components/DeptsMemberSelector/utils/memberUsersDepartmentLimit.d.ts +7 -0
  62. package/dist/components/DeptsMemberSelector/utils/normalizeIdList.d.ts +2 -0
  63. package/dist/components/DeptsMemberSelector/utils/outsiderGroupBuckets.d.ts +18 -0
  64. package/dist/components/DeptsMemberSelector/utils/requestContext.d.ts +4 -2
  65. package/dist/components/DeptsMemberSelector/utils/resolveExternalMemberUserType.d.ts +6 -0
  66. package/dist/components/DeptsMemberSelector/utils/resolveOutsiderFlatMemberMode.d.ts +4 -0
  67. package/dist/components/DeptsMemberSelector/utils/resolveOutsiderGroupTabs.d.ts +21 -0
  68. package/dist/components/DeptsMemberSelector/utils/resolveSelectedItemVisual.d.ts +10 -0
  69. package/dist/components/DeptsMemberSelector/utils/widgetRequestLimits.d.ts +1 -0
  70. package/dist/index.css +1 -1
  71. package/dist/index.js +50 -35
  72. package/dist/lang/en-US.json.d.ts +5 -3
  73. package/dist/lang/zh-CN.json.d.ts +5 -3
  74. package/dist/lang/zh-TW.json.d.ts +5 -3
  75. package/dist/services/contact/selector.service.d.ts +34 -12
  76. package/dist/vendors/lodash-es.js +689 -175
  77. package/dist/vendors/simplebar-react.js +2 -2
  78. package/package.json +3 -3
  79. package/dist/DeptsMemberSelector/Department-6R-BZNZ4.js +0 -252
  80. package/dist/DeptsMemberSelector/DeptsMemberSelector-CC32KXc8.js +0 -1064
  81. package/dist/DeptsMemberSelector/DeptsUser-9Lf7ytTr.js +0 -981
  82. package/dist/DeptsMemberSelector/Member-BY8mtQb0.js +0 -517
  83. package/dist/DeptsMemberSelector/MemberPanel-Dw1b2J3V.js +0 -510
  84. package/dist/DeptsMemberSelector/OrganizationPanel-Di4dqUlZ.js +0 -366
  85. package/dist/DeptsMemberSelector/RelationShipDepts-__eb4oDP.js +0 -55
  86. package/dist/DeptsMemberSelector/RelationShipList-CS5uhLos.js +0 -52
  87. package/dist/DeptsMemberSelector/TabGroup-Dht9ylk4.js +0 -114
  88. package/dist/DeptsMemberSelector/services/contact/selector.service-BFwBe9fo.js +0 -346
  89. package/dist/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipDepts/index.d.ts +0 -4
  90. package/dist/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipDepts/index.js +0 -6
  91. package/dist/DeptsMemberSelector/useDeptsMemberSelector-B2Un1d5r.js +0 -123
  92. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipDepts/index.d.ts +0 -7
  93. package/dist/components/DeptsMemberSelector/subcomponents/Panels/MemberRelationShipPanel/RelationShipMember/RelationShipMember.d.ts +0 -9
  94. package/dist/vendors/useLocale.js +0 -209
@@ -1,1064 +0,0 @@
1
- import { t as e } from "../vendors/simplebar-react.js";
2
- import { t } from "../vendors/clsx.js";
3
- import { a as n, o as r } from "../vendors/lodash-es.js";
4
- import { a as i, c as a, i as o, l as s, n as c, o as l, r as u, s as d, t as f, u as p } from "./useDeptsMemberSelector-B2Un1d5r.js";
5
- import { b as m, d as h, f as g, h as _, p as v, t as y } from "./services/contact/selector.service-BFwBe9fo.js";
6
- import { a as b, i as x, n as S, r as C } from "./TabGroup-Dht9ylk4.js";
7
- import { t as w } from "../vendors/useLocale.js";
8
- import { findNodeInTree as T, getColorByName as E, getMemberDisplayName as D } from "./utils/index.js";
9
- import { t as O } from "./DeptsUser-9Lf7ytTr.js";
10
- import { t as k } from "./Member-BY8mtQb0.js";
11
- import { n as A, t as ee } from "./Department-6R-BZNZ4.js";
12
- import { forwardRef as j, useCallback as te, useEffect as M, useImperativeHandle as ne, useMemo as N, useRef as P, useState as F } from "react";
13
- import { Avatar as I, Button as L, Spin as R } from "antd";
14
- import { Icon as z, Tree as B } from "@baishuyun/ui-base";
15
- import { createPortal as re } from "react-dom";
16
- import { AnimatePresence as ie, motion as ae } from "motion/react";
17
- import { useControllableValue as V, useRequest as H, useToggle as oe } from "ahooks";
18
- import { jsx as U, jsxs as W } from "react/jsx-runtime";
19
- import { produce as se } from "immer";
20
- //#region src/components/DeptsMemberSelector/subcomponents/SelectionArea/SelectionArea.module.scss
21
- var G = {
22
- "selection-area": "_selection-area_7ti3u_1",
23
- "selection-area__container": "_selection-area__container_7ti3u_4",
24
- "selection-area__container--expanded": "_selection-area__container--expanded_7ti3u_11",
25
- "selection-area__container--animating": "_selection-area__container--animating_7ti3u_14",
26
- "selection-area__body": "_selection-area__body_7ti3u_19",
27
- "selection-area__body--expanded": "_selection-area__body--expanded_7ti3u_26",
28
- "selection-area__scroll-gutter": "_selection-area__scroll-gutter_7ti3u_34",
29
- "selection-area__scroll": "_selection-area__scroll_7ti3u_34",
30
- "selection-area__button": "_selection-area__button_7ti3u_41",
31
- "selection-area__measure-group": "_selection-area__measure-group_7ti3u_53",
32
- "selection-area__mask": "_selection-area__mask_7ti3u_61",
33
- "selection-area__measure-wrapper": "_selection-area__measure-wrapper_7ti3u_67"
34
- }, ce = "bsy_dept_member", le = "preset_bsy_dept_member";
35
- function ue(e, t) {
36
- try {
37
- let n = e.includes("-relationSub-") ? "relationSub" : e.includes("-relationUser-") ? "relationUser" : e.includes("-relation-") ? "relation" : null;
38
- if (!n) return t;
39
- let r = e.split("-")[0], i, a = sessionStorage.getItem(le);
40
- if (a && (i = JSON.parse(a).find((e) => String(e._id) === r)), !i) {
41
- let e = sessionStorage.getItem(ce);
42
- e && (i = JSON.parse(e).find((e) => String(e._id) === r));
43
- }
44
- if (!i) return t;
45
- switch (n) {
46
- case "relationSub": return `${i.name}及子部门 - ${t}`;
47
- case "relation": return `${i.name} - ${t}`;
48
- case "relationUser": return `${i.nickname} - ${t}`;
49
- default: return t;
50
- }
51
- } catch (e) {
52
- return console.error("获取关联节点名称时发生错误:", e), t;
53
- }
54
- }
55
- //#endregion
56
- //#region src/components/DeptsMemberSelector/subcomponents/SelectionArea/PreviewSelectedItems/PreviewSelectedItems.module.scss
57
- var de = "_anticon_184kl_76", K = {
58
- "preview-selected-items": "_preview-selected-items_184kl_1",
59
- "preview-selected-items--measure": "_preview-selected-items--measure_184kl_4",
60
- "preview-selected-items__wrapper": "_preview-selected-items__wrapper_184kl_13",
61
- "preview-selected-items__list": "_preview-selected-items__list_184kl_16",
62
- "preview-selected-items__item": "_preview-selected-items__item_184kl_23",
63
- "preview-selected-items__item--user": "_preview-selected-items__item--user_184kl_34",
64
- "preview-selected-items__item--department": "_preview-selected-items__item--department_184kl_37",
65
- "preview-selected-items__item--relation": "_preview-selected-items__item--relation_184kl_40",
66
- "preview-selected-items__item--public": "_preview-selected-items__item--public_184kl_43",
67
- "preview-selected-items__content": "_preview-selected-items__content_184kl_46",
68
- "preview-selected-items__text": "_preview-selected-items__text_184kl_52",
69
- "preview-selected-items__name": "_preview-selected-items__name_184kl_57",
70
- "preview-selected-items__badge": "_preview-selected-items__badge_184kl_64",
71
- "preview-selected-items__close": "_preview-selected-items__close_184kl_69",
72
- anticon: de,
73
- "preview-selected-items__more": "_preview-selected-items__more_184kl_83",
74
- "preview-selected-items__more-button": "_preview-selected-items__more-button_184kl_89"
75
- }, q = j((e, n) => {
76
- let { isMeasure: i = !1, showEllipsisButton: a = !1, onToggle: o, hiddenCount: s = 0, previewCount: c = 0 } = e, { t: l } = w(), { value: u = [], setValue: d, type: p } = f(), m = P(null), h = P(null), g = {
77
- dockcorp: l("department.externalContactGroup"),
78
- dockcorpdept: l("department.contact")
79
- }, _ = (e) => d?.(u.filter((t) => t._id !== e));
80
- return ne(n, () => ({
81
- measureRef: m.current,
82
- ellipsisButtonRef: h.current
83
- })), /* @__PURE__ */ U("div", {
84
- className: t(K["preview-selected-items"], { [K["preview-selected-items--measure"]]: i }),
85
- children: /* @__PURE__ */ W("ul", {
86
- className: K["preview-selected-items__list"],
87
- ref: i ? m : void 0,
88
- "data-role": i ? "measure-list" : "preview-list",
89
- children: [u.slice(0, c)?.map((e, n) => {
90
- let a = D(e), o = e.type ? e.type : Object.prototype.hasOwnProperty.call(e, "departmentId") ? null : "group", s = [
91
- "relation",
92
- "relationSub",
93
- "relationUser"
94
- ].some((t) => e._id.includes(t)), c = s ? ue(e._id, a) : a, l = s ? "relation" : o, u = !!e.nickname;
95
- return /* @__PURE__ */ W("li", {
96
- className: t(K["preview-selected-items__item"], {
97
- [K["preview-selected-items__item--user"]]: [b.USER, b.USER_GROUP].includes(p),
98
- [K["preview-selected-items__item--department"]]: [b.DEPARMENT, b.DEPARMENT_GROUP].includes(p),
99
- [K["preview-selected-items__item--relation"]]: s,
100
- [K["preview-selected-items__item--public"]]: e.type === "public"
101
- }),
102
- children: [
103
- /* @__PURE__ */ U("div", {
104
- className: K["preview-selected-items__content"],
105
- children: u ? e.avatarurl ? /* @__PURE__ */ U(I, {
106
- src: e.avatarurl,
107
- size: 20
108
- }) : /* @__PURE__ */ U(I, {
109
- style: {
110
- backgroundColor: E(c),
111
- fontSize: "12px",
112
- lineHeight: "13px",
113
- width: "20px",
114
- height: "20px"
115
- },
116
- children: c?.charAt(0) || "?"
117
- }) : /* @__PURE__ */ U(x, { type: l })
118
- }),
119
- /* @__PURE__ */ W("div", {
120
- className: K["preview-selected-items__text"],
121
- "data-type": e.type,
122
- children: [/* @__PURE__ */ U("span", {
123
- className: K["preview-selected-items__name"],
124
- title: c,
125
- children: c
126
- }), e.type === "dockcorpdept" || e.type === "dockcorp" ? /* @__PURE__ */ W("span", {
127
- className: K["preview-selected-items__badge"],
128
- children: [
129
- "(",
130
- g[e.type],
131
- ")"
132
- ]
133
- }) : null]
134
- }),
135
- /* @__PURE__ */ U("div", {
136
- role: "button",
137
- className: K["preview-selected-items__close"],
138
- onClick: i ? r : () => _(e._id),
139
- children: /* @__PURE__ */ U(z, {
140
- name: "close",
141
- color: "#666"
142
- })
143
- })
144
- ]
145
- }, n);
146
- }), a && !i && /* @__PURE__ */ U("li", {
147
- ref: h,
148
- className: K["preview-selected-items__more"],
149
- "data-button": "ellipsis-button",
150
- children: /* @__PURE__ */ W("div", {
151
- role: "button",
152
- className: K["preview-selected-items__more-button"],
153
- onClick: () => {
154
- o?.();
155
- },
156
- children: [/* @__PURE__ */ U("span", { children: l("common.viewAll", { count: s }) }), /* @__PURE__ */ U(z, { name: "arrow-down" })]
157
- })
158
- })]
159
- })
160
- });
161
- }), fe = () => {
162
- let { value: n = [], type: r } = f(), { t: i } = w(), [a, o] = F(0), [s, { toggle: c }] = oe(!1), [l, u] = F(!1), [d, p] = F(null), m = P(null), h = P(null), g = [b.DEPARMENT, b.USER].includes(r) ? 30 : 68;
163
- M(() => {
164
- s && u(!0);
165
- }, [s]);
166
- let _ = () => {
167
- s || u(!1);
168
- }, [v, y] = F(!1);
169
- M(() => {
170
- if (!m.current || !h.current) return;
171
- let e = () => {
172
- requestAnimationFrame(() => {
173
- if (y(!1), !m.current || !h.current) return;
174
- let t = m.current.clientWidth, r = h.current.querySelector("[data-role=\"measure-list\"]"), i = r ? r.querySelectorAll("li") : [], s = h.current.querySelector("[data-button=\"ellipsis-button\"]");
175
- if (i.length === 0) {
176
- o(n.length);
177
- return;
178
- }
179
- if (i.length !== n.length) {
180
- requestAnimationFrame(() => e());
181
- return;
182
- }
183
- let c = 0, l = 0, u = 0, d = 0;
184
- for (; d < i.length;) {
185
- let e = i[d].clientWidth + 8;
186
- if (u + e <= t) u += e, c = d + 1, d++;
187
- else break;
188
- }
189
- l = d, u = 0;
190
- let f = s?.offsetWidth || 110;
191
- for (let e = l; e < i.length; e++) {
192
- let n = i[e].clientWidth + 8, r = f;
193
- if (u + n + r < t) u += n, c = e + 1;
194
- else {
195
- y(!0);
196
- break;
197
- }
198
- }
199
- a !== c && o(c);
200
- });
201
- };
202
- e();
203
- }, [a, n]);
204
- let x = n.length - a, S = v && !s, C = N(() => s && h?.current?.querySelector("[data-role=\"measure-list\"]")?.clientHeight || g, [g, s]);
205
- return /* @__PURE__ */ U("div", {
206
- className: G["selection-area"],
207
- style: { height: l ? "90px" : "auto" },
208
- children: /* @__PURE__ */ W("div", {
209
- className: t(G["selection-area__container"], {
210
- [G["selection-area__container--expanded"]]: s,
211
- [G["selection-area__container--animating"]]: l
212
- }),
213
- children: [
214
- /* @__PURE__ */ W("div", {
215
- className: t(G["selection-area__body"], { [G["selection-area__body--expanded"]]: s }),
216
- ref: h,
217
- children: [/* @__PURE__ */ U(q, {
218
- isMeasure: !0,
219
- previewCount: n.length
220
- }), /* @__PURE__ */ U(e, {
221
- style: { maxHeight: "400px" },
222
- children: /* @__PURE__ */ U("div", {
223
- className: G["selection-area__scroll-gutter"],
224
- children: /* @__PURE__ */ U("div", {
225
- className: G["selection-area__scroll"],
226
- ref: m,
227
- style: { height: C + "px" },
228
- children: /* @__PURE__ */ U(q, {
229
- previewCount: s ? n.length : a,
230
- showEllipsisButton: S,
231
- hiddenCount: x,
232
- onToggle: () => {
233
- p(document.querySelector("[data-teleport=\"DeptsMemberSelector\"]")), c();
234
- }
235
- })
236
- })
237
- })
238
- })]
239
- }),
240
- d && re(/* @__PURE__ */ U(ie, { children: s && /* @__PURE__ */ U(ae.div, {
241
- className: G["selection-area__mask"],
242
- initial: {
243
- opacity: 0,
244
- backdropFilter: "blur(0px)"
245
- },
246
- animate: {
247
- opacity: 1,
248
- backdropFilter: "blur(.5px)"
249
- },
250
- exit: {
251
- opacity: 0,
252
- backdropFilter: "blur(0px)"
253
- },
254
- transition: {
255
- duration: .3,
256
- ease: "easeIn"
257
- },
258
- onAnimationComplete: _
259
- }) }), d),
260
- /* @__PURE__ */ U(ie, {
261
- mode: "wait",
262
- children: s && /* @__PURE__ */ U(ae.div, {
263
- className: G["selection-area__button"],
264
- initial: { opacity: 1 },
265
- exit: { opacity: 0 },
266
- transition: { duration: .3 },
267
- onAnimationComplete: _,
268
- children: /* @__PURE__ */ W(L, {
269
- type: "link",
270
- onClick: () => c(),
271
- children: [i("common.collapseAll"), /* @__PURE__ */ U(z, { name: "arrow-up" })]
272
- })
273
- })
274
- })
275
- ]
276
- })
277
- });
278
- }, J = {
279
- "selection-tab-list": "_selection-tab-list_ujxba_1",
280
- "selection-tab-list__tabs-wrapper": "_selection-tab-list__tabs-wrapper_ujxba_8",
281
- "selection-tab-list__tabs": "_selection-tab-list__tabs_ujxba_8",
282
- "selection-tab-list__indicator": "_selection-tab-list__indicator_ujxba_18",
283
- "selection-tab-list__item": "_selection-tab-list__item_ujxba_25",
284
- "selection-tab-list__item--active": "_selection-tab-list__item--active_ujxba_35",
285
- "selection-tab-list__search": "_selection-tab-list__search_ujxba_38",
286
- "selection-tab-list__search-field": "_selection-tab-list__search-field_ujxba_43",
287
- "selection-tab-list__input": "_selection-tab-list__input_ujxba_47",
288
- "selection-tab-list__search-icon": "_selection-tab-list__search-icon_ujxba_64"
289
- }, pe = (e) => {
290
- let [r, i] = V(e, { defaultValue: e.tabs.length ? e.tabs[0].key : void 0 }), [a, o] = F(""), s = P(/* @__PURE__ */ new Map()), [c, l] = F({
291
- width: 0,
292
- transform: "translateX(0)"
293
- }), u = P(n((t) => e.onSearch?.(t), 250)).current;
294
- M(() => () => {
295
- u.cancel();
296
- }, [u]);
297
- let d = (e) => {
298
- let t = s.current.get(e);
299
- if (t) {
300
- let { width: e, left: n } = t.getBoundingClientRect();
301
- l({
302
- width: e,
303
- transform: `translateX(${n - (t.parentElement?.getBoundingClientRect().left || 0)}px)`
304
- });
305
- }
306
- };
307
- return M(() => {
308
- let t = r && e.tabs.some((e) => e.key === r) ? r : e.tabs.length ? e.tabs[0].key : void 0;
309
- t && d(t);
310
- }, [e.tabs, r]), /* @__PURE__ */ W("div", {
311
- className: J["selection-tab-list"],
312
- children: [/* @__PURE__ */ W("div", {
313
- className: J["selection-tab-list__tabs-wrapper"],
314
- children: [/* @__PURE__ */ U("div", {
315
- className: J["selection-tab-list__indicator"],
316
- style: {
317
- width: `${c.width}px`,
318
- transform: c.transform
319
- }
320
- }), /* @__PURE__ */ U("ul", {
321
- className: J["selection-tab-list__tabs"],
322
- children: e.tabs.map((e) => /* @__PURE__ */ U("li", {
323
- ref: (t) => {
324
- t && s.current.set(e.key, t);
325
- },
326
- onClick: () => i(e.key),
327
- className: t(J["selection-tab-list__item"], { [J["selection-tab-list__item--active"]]: r === e.key }),
328
- children: e.label
329
- }, e.key))
330
- })]
331
- }), /* @__PURE__ */ U("div", {
332
- className: J["selection-tab-list__search"],
333
- children: /* @__PURE__ */ W("div", {
334
- className: J["selection-tab-list__search-field"],
335
- children: [/* @__PURE__ */ U("input", {
336
- type: "text",
337
- value: a,
338
- onChange: (e) => {
339
- o(e.target.value), u(e.target.value);
340
- },
341
- placeholder: e.searchPlaceholder,
342
- className: J["selection-tab-list__input"]
343
- }), /* @__PURE__ */ U(z, {
344
- name: "search",
345
- className: J["selection-tab-list__search-icon"]
346
- })]
347
- })
348
- })]
349
- });
350
- }, me = { "selection-tab-panel": "_selection-tab-panel_f6iav_1" }, he = (e) => {
351
- let { containerHeight: n } = f();
352
- return /* @__PURE__ */ U("div", {
353
- className: t(me["selection-tab-panel"]),
354
- style: { height: n + "px" },
355
- children: e.children
356
- });
357
- }, ge = { "selection-tabs": "_selection-tabs_88491_1" }, Y = {
358
- "member-search": "_member-search_162pf_1",
359
- "member-search__tree-wrapper": "_member-search__tree-wrapper_162pf_6",
360
- "member-search__tree-content": "_member-search__tree-content_162pf_9",
361
- "member-search__tree-title": "_member-search__tree-title_162pf_12",
362
- "member-search__tree-name": "_member-search__tree-name_162pf_20",
363
- "member-search__tree-extra": "_member-search__tree-extra_162pf_27",
364
- "member-search__switch-icon": "_member-search__switch-icon_162pf_36",
365
- "member-search__switch-icon--expanded": "_member-search__switch-icon--expanded_162pf_41",
366
- "member-search__empty": "_member-search__empty_162pf_44",
367
- "member-search__empty-text": "_member-search__empty-text_162pf_51"
368
- }, X = ({ avatarurl: e, randomColor: t, name: n, extra: r }) => /* @__PURE__ */ W("div", {
369
- className: Y["member-search__tree-title"],
370
- children: [
371
- e ? /* @__PURE__ */ U(I, {
372
- src: e,
373
- size: 20,
374
- style: { flexShrink: 0 }
375
- }) : /* @__PURE__ */ U(I, {
376
- style: {
377
- backgroundColor: t,
378
- fontSize: "12px",
379
- lineHeight: "13px",
380
- width: "20px",
381
- height: "20px",
382
- flexShrink: 0
383
- },
384
- children: n.charAt(0)
385
- }),
386
- /* @__PURE__ */ U("span", {
387
- className: Y["member-search__tree-name"],
388
- children: n
389
- }),
390
- r
391
- ]
392
- }), _e = ({ wd: e }) => {
393
- let t = f(), { type: n, dispatch: r, value: i, containerHeight: a, requestContext: o, limits: c } = t, u = t.memberPanelRequestGuard ?? l, d = t.memberPanelVisibility ?? s, { t: p } = w(), m = d.member, _ = d.externalContact, { data: v, loading: x } = H(async () => !u.enabled || !_ ? [] : (await g({
394
- requestContext: o,
395
- keyword: e,
396
- groupLimit: c?.groupLimit || [],
397
- memberLimit: c?.memberLimit || [],
398
- limit: 1e4
399
- })).list || [], { refreshDeps: [
400
- e,
401
- o?.appId,
402
- o?.entryId,
403
- u.enabled,
404
- _
405
- ] }), { data: S, loading: C } = H(async () => {
406
- if (!u.enabled || !m) return [];
407
- let t = await h({
408
- requestContext: o,
409
- keyword: e,
410
- limit: y,
411
- memberSearchLimit: c?.memberSearchLimit
412
- });
413
- return [...t.users || [], ...t.dock_user_list || []];
414
- }, { refreshDeps: [
415
- e,
416
- o?.appId,
417
- o?.entryId,
418
- u.enabled,
419
- m
420
- ] }), O = v || [], k = S || [], A = [_ ? {
421
- title: p("externalContact.title"),
422
- value: "waibulianxiren",
423
- children: O.map((e) => {
424
- let t = D(e), n = E(t);
425
- return {
426
- ...e,
427
- name: t,
428
- title: /* @__PURE__ */ U(X, {
429
- avatarurl: e.avatarurl,
430
- randomColor: n,
431
- name: t,
432
- extra: /* @__PURE__ */ W("span", {
433
- className: Y["member-search__tree-extra"],
434
- children: [
435
- "(",
436
- p("externalContact.title"),
437
- ":",
438
- e.groupname,
439
- ")"
440
- ]
441
- })
442
- }),
443
- value: e._id
444
- };
445
- })
446
- } : void 0, m ? {
447
- title: p("member.title"),
448
- value: "chengyuan",
449
- children: k.map((e) => {
450
- let t = D(e), n = E(t);
451
- return {
452
- ...e,
453
- name: t,
454
- title: /* @__PURE__ */ U(X, {
455
- avatarurl: e.avatarurl,
456
- randomColor: n,
457
- name: t,
458
- extra: /* @__PURE__ */ U("span", {
459
- className: Y["member-search__tree-extra"],
460
- children: e.user_type === "dock_user" ? `(${p("department.external")}:${e.dock_corpname})` : e.deptnames
461
- })
462
- }),
463
- value: e._id
464
- };
465
- })
466
- } : void 0].filter((e) => !!e?.children.length);
467
- return {
468
- containerHeight: a,
469
- treeData: A,
470
- defaultExpandedKeys: A.map((e) => e.value),
471
- defaultSelectedKeys: i?.map((e) => e._id),
472
- isLoading: C || x,
473
- checkType: n === b.USER ? "radio" : "checkbox",
474
- handleSelectMember: (e) => {
475
- if (b.USER === n) {
476
- let t = T(e, A);
477
- t && r({
478
- type: "insertOnly",
479
- payload: { ...t }
480
- });
481
- }
482
- if (b.USER_GROUP === n) {
483
- let t = T(e, A);
484
- if (!t) return;
485
- r({
486
- type: "addOne",
487
- payload: t
488
- });
489
- }
490
- },
491
- handleDeSelectMember: (e) => {
492
- b.USER !== n && r({
493
- type: "deleteOne",
494
- payload: e
495
- });
496
- }
497
- };
498
- }, ve = (n) => {
499
- let { t: r } = w(), i = _e({ wd: n.wd });
500
- return /* @__PURE__ */ W("div", {
501
- className: Y["member-search"],
502
- children: [/* @__PURE__ */ U(R, {
503
- spinning: i.isLoading,
504
- children: /* @__PURE__ */ U(e, {
505
- style: { height: i.containerHeight - 8 },
506
- className: Y["member-search__tree-wrapper"],
507
- children: i.treeData.length && !i.isLoading ? /* @__PURE__ */ U("div", {
508
- className: Y["member-search__tree-content"],
509
- children: /* @__PURE__ */ U(B, {
510
- data: i.treeData,
511
- checkType: i.checkType,
512
- defaultSelectedKeys: i.defaultSelectedKeys,
513
- defaultExpandedKeys: i.defaultExpandedKeys,
514
- switcherIcon: (e) => /* @__PURE__ */ U(z, {
515
- name: "xiangxiazhankai-11",
516
- className: t(Y["member-search__switch-icon"], { [Y["member-search__switch-icon--expanded"]]: e })
517
- }),
518
- onSelect: i.handleSelectMember,
519
- onDeSelect: i.handleDeSelectMember
520
- })
521
- }) : null
522
- })
523
- }), !i.treeData.length && !i.isLoading && /* @__PURE__ */ U("div", {
524
- className: Y["member-search__empty"],
525
- children: /* @__PURE__ */ U("span", {
526
- className: Y["member-search__empty-text"],
527
- children: r("member.noAvailable")
528
- })
529
- })]
530
- });
531
- }, Z = {
532
- "department-search": "_department-search_i1rya_1",
533
- "department-search__scroll": "_department-search__scroll_i1rya_5",
534
- "department-search__tree-content": "_department-search__tree-content_i1rya_8",
535
- "department-search__title": "_department-search__title_i1rya_11",
536
- "department-search__name": "_department-search__name_i1rya_16",
537
- "department-search__extra": "_department-search__extra_i1rya_23",
538
- "department-search__icon": "_department-search__icon_i1rya_31",
539
- "department-search__switch-icon": "_department-search__switch-icon_i1rya_34",
540
- "department-search__switch-icon--expanded": "_department-search__switch-icon--expanded_i1rya_39",
541
- "department-search__empty": "_department-search__empty_i1rya_42",
542
- "department-search__empty-text": "_department-search__empty-text_i1rya_49"
543
- }, ye = ({ wd: e }) => {
544
- let { type: t, dispatch: n, value: r, containerHeight: i, requestContext: a, limits: s, departmentSelectableRange: c, departmentPanelRequestGuard: l } = f(), { t: d } = w(), p = N(() => A(c), [c]), { data: m, loading: h } = H(() => o(l, () => v({
545
- requestContext: a,
546
- limits: s,
547
- departmentSelectableRange: c,
548
- keyword: e
549
- })), { refreshDeps: [
550
- e,
551
- a,
552
- s,
553
- c,
554
- l
555
- ] }), { data: g, loading: y } = H(() => u(l, () => p.externalContactGroup ? _({
556
- requestContext: a,
557
- limits: s,
558
- departmentSelectableRange: c
559
- }) : Promise.resolve({ list: [] })), { refreshDeps: [
560
- a,
561
- s,
562
- c,
563
- p.externalContactGroup,
564
- l
565
- ] }), T = g?.list || [], E = S(m?.departments || []), D = (m?.label_corp_list || []).filter((e) => e.type !== "dockcorpdept" && C(e)), O = [...E, ...D].filter((e) => e.type !== "label"), k = [p.externalContactGroup ? {
566
- title: d("externalContact.group"),
567
- _id: "waibulianxiren",
568
- children: T.filter((t) => t.status === 1 && t.name?.includes(e)).map((e) => ({
569
- ...e,
570
- title: /* @__PURE__ */ W("span", {
571
- className: Z["department-search__title"],
572
- children: [/* @__PURE__ */ U(x, {
573
- type: "group",
574
- size: 16
575
- }), /* @__PURE__ */ U("span", {
576
- className: Z["department-search__name"],
577
- children: e.name
578
- })]
579
- })
580
- }))
581
- } : null, p.organizational ? {
582
- title: d("department.title"),
583
- _id: "bumen",
584
- children: O.map((e) => ({
585
- ...e,
586
- title: /* @__PURE__ */ W("span", {
587
- className: Z["department-search__title"],
588
- children: [
589
- /* @__PURE__ */ U(z, {
590
- name: "dept-one",
591
- className: Z["department-search__icon"],
592
- size: 16
593
- }),
594
- /* @__PURE__ */ U("span", {
595
- className: Z["department-search__name"],
596
- children: e.name
597
- }),
598
- [
599
- "dockdept",
600
- "dockcorp",
601
- "dockcorpdept"
602
- ].includes(e.type) && /* @__PURE__ */ W("span", {
603
- className: Z["department-search__extra"],
604
- children: [
605
- "(",
606
- d("department.external"),
607
- ")"
608
- ]
609
- })
610
- ]
611
- })
612
- }))
613
- } : null].filter((e) => !!e?.children.length);
614
- return {
615
- containerHeight: i,
616
- treeData: k,
617
- defaultExpandedKeys: k.map((e) => e._id),
618
- selectedKeys: r?.map((e) => e._id),
619
- isLoading: h || y,
620
- checkType: t === b.DEPARMENT ? "radio" : "checkbox",
621
- handleSelectDepartment: (e, r) => {
622
- if (!r) return;
623
- if (t === b.DEPARMENT) {
624
- n({
625
- type: "insertOnly",
626
- payload: {
627
- ...r,
628
- type: r.departmentId ? "dockdept" : "group"
629
- }
630
- });
631
- return;
632
- }
633
- let i = T.some((e) => e._id === r._id);
634
- n({
635
- type: "addOne",
636
- payload: {
637
- ...r,
638
- _id: r._id,
639
- type: i ? "group" : "dockdept"
640
- }
641
- });
642
- },
643
- handleDeSelectDepartment: (e) => n({
644
- type: "deleteOne",
645
- payload: e
646
- })
647
- };
648
- }, be = (n) => {
649
- let { t: r } = w(), i = ye({ wd: n.wd });
650
- return /* @__PURE__ */ W("div", {
651
- className: Z["department-search"],
652
- children: [/* @__PURE__ */ U(R, {
653
- spinning: i.isLoading,
654
- children: /* @__PURE__ */ U(e, {
655
- style: { height: i.containerHeight - 8 },
656
- className: Z["department-search__scroll"],
657
- children: i.treeData.length && !i.isLoading ? /* @__PURE__ */ U("div", {
658
- className: Z["department-search__tree-content"],
659
- children: /* @__PURE__ */ U(B, {
660
- data: i.treeData,
661
- checkType: i.checkType,
662
- selectedKeys: i.selectedKeys,
663
- fieldNames: {
664
- title: "title",
665
- children: "children",
666
- value: "_id"
667
- },
668
- defaultExpandedKeys: i.defaultExpandedKeys,
669
- switcherIcon: (e) => /* @__PURE__ */ U(z, {
670
- name: "xiangxiazhankai-11",
671
- className: t(Z["department-search__switch-icon"], { [Z["department-search__switch-icon--expanded"]]: e })
672
- }),
673
- onSelect: i.handleSelectDepartment,
674
- onDeSelect: i.handleDeSelectDepartment
675
- })
676
- }) : null
677
- })
678
- }), !i.treeData.length && !i.isLoading && /* @__PURE__ */ U("div", {
679
- className: Z["department-search__empty"],
680
- children: /* @__PURE__ */ U("span", {
681
- className: Z["department-search__empty-text"],
682
- children: r("department.noAvailable")
683
- })
684
- })]
685
- });
686
- }, xe = ({ wd: e, t, memberTabItems: n }) => ({
687
- raw: /* @__PURE__ */ U(ve, { wd: e }),
688
- placeholder: t("tabs.searchMember"),
689
- tabItems: n
690
- }), Se = ({ wd: e, t, departmentTabItems: n }) => ({
691
- raw: /* @__PURE__ */ U(be, { wd: e }),
692
- placeholder: t("tabs.searchDepartment"),
693
- tabItems: n
694
- }), Ce = {
695
- user: xe,
696
- usergroup: xe,
697
- dept: Se,
698
- deptgroup: Se,
699
- deptusers: ({ wd: e, t, deptUserTabItems: n }) => ({
700
- raw: /* @__PURE__ */ U(be, { wd: e }),
701
- placeholder: t("common.searchPlaceholder"),
702
- tabItems: n
703
- })
704
- }, we = (e, t) => {
705
- let n = k(), r = ee(), i = O(), { t: a } = w(), o = Ce[e];
706
- if (!o) throw Error(`No search strategy found for type: ${e}`);
707
- return { config: o({
708
- wd: t,
709
- t: a,
710
- memberTabItems: n,
711
- departmentTabItems: r,
712
- deptUserTabItems: i
713
- }) };
714
- }, Te = () => {
715
- let { type: e } = f(), [n, r] = F(), { config: i } = we(e, n), { tabItems: a } = i, [o, s] = F(a[0].key);
716
- M(() => {
717
- a.length && (a.some((e) => e.key === o) || (s(a[0].key), r(void 0)));
718
- }, [a, o]);
719
- let c = (e) => {
720
- s(e), r(void 0);
721
- }, l = a.find((e) => e.key === o)?.view, u = (e) => {
722
- if (!e.trim().length) {
723
- r(void 0);
724
- return;
725
- }
726
- r(e);
727
- }, d = n ? i.raw : l, p = i.placeholder;
728
- return /* @__PURE__ */ W("div", {
729
- className: t(ge["selection-tabs"]),
730
- children: [/* @__PURE__ */ U(pe, {
731
- value: o,
732
- onChange: c,
733
- onSearch: u,
734
- tabs: a,
735
- searchPlaceholder: p
736
- }), /* @__PURE__ */ U(he, { children: d })]
737
- });
738
- }, Ee = (e, t) => se(e, (e) => {
739
- switch (t.type) {
740
- case "addOne": {
741
- let n = t.payload;
742
- ~e.findIndex((e) => e._id === n._id) || e.push(n);
743
- break;
744
- }
745
- case "addMany":
746
- t.payload.forEach((t) => {
747
- ~e.findIndex((e) => e._id === t._id) || e.push(t);
748
- });
749
- break;
750
- case "removeMany": {
751
- let n = t.payload;
752
- e.filter((e) => n.includes(e._id)).forEach((t) => {
753
- let n = e.findIndex((e) => e._id === t._id);
754
- ~n && e.splice(n, 1);
755
- });
756
- break;
757
- }
758
- case "removeAll":
759
- e.splice(0, e.length);
760
- break;
761
- case "insertOnly": {
762
- let n = t.payload;
763
- e.length &&= 0, e.push(n);
764
- break;
765
- }
766
- case "deleteOne": {
767
- let n = t.payload, r = e.findIndex((e) => e._id === n);
768
- ~r && e.splice(r, 1);
769
- break;
770
- }
771
- case "deleteAndInsert": {
772
- let { newItems: n, oldIds: r } = t.payload;
773
- r.forEach((t) => {
774
- let n = e.findIndex((e) => e._id === t);
775
- ~n && e.splice(n, 1);
776
- }), n.forEach((t) => {
777
- ~e.findIndex((e) => e._id === t._id) || e.push(t);
778
- });
779
- }
780
- }
781
- }), Q = {
782
- "depts-member": "_depts-member_s7xsa_1",
783
- "depts-member__body": "_depts-member__body_s7xsa_6",
784
- "depts-member__content": "_depts-member__content_s7xsa_9",
785
- "depts-member__state": "_depts-member__state_s7xsa_15",
786
- "depts-member__footer": "_depts-member__footer_s7xsa_23",
787
- "depts-member__clear-area": "_depts-member__clear-area_s7xsa_28",
788
- "depts-member__clear-button": "_depts-member__clear-button_s7xsa_32",
789
- "depts-member__actions": "_depts-member__actions_s7xsa_43",
790
- "depts-member__cancel-button": "_depts-member__cancel-button_s7xsa_50",
791
- "depts-member__confirm-button": "_depts-member__confirm-button_s7xsa_53"
792
- }, De = () => {
793
- if (!(typeof window > "u")) return window.FX?.STATIC?.user;
794
- }, Oe = (e) => {
795
- let t = e?._id ?? e?.id;
796
- return t == null || t === "" ? "" : String(t);
797
- }, ke = (e) => {
798
- let t = /* @__PURE__ */ new Set();
799
- return e.filter((e) => {
800
- let n = Oe(e);
801
- return !n || t.has(n) ? !1 : (t.add(n), !0);
802
- });
803
- }, Ae = (e) => ({
804
- current_departments: e?.current_departments || [],
805
- current_sub_departments: e?.current_sub_departments || [],
806
- dock_current_departments: e?.dock_current_departments || [],
807
- dock_current_sub_departments: e?.dock_current_sub_departments || []
808
- }), je = (e) => {
809
- if (!e) return [];
810
- let t = e.name ?? e.nickname ?? e.username ?? "";
811
- return ke([Oe(e), e.dock_userid === void 0 || e.dock_userid === null || e.dock_userid === "" ? "" : String(e.dock_userid)].filter(Boolean).map((n) => ({
812
- ...e,
813
- _id: n,
814
- id: n,
815
- name: t
816
- })));
817
- }, Me = (e) => typeof e == "string" ? e.trim().length > 0 : !e || Array.isArray(e) ? !1 : Object.keys(e).length > 0, Ne = (e, t) => !["user", "usergroup"].includes(e) || !t ? l : Me(t.limitWidget) && Array.isArray(t.limit) ? t.limit.length === 0 ? {
818
- enabled: !1,
819
- reason: a.LIMIT_WIDGET_EMPTY_ARRAY
820
- } : {
821
- enabled: !0,
822
- reason: a.ALLOWED
823
- } : l, Pe = (e) => {
824
- let t = De(), n = Ae(t), r = e.type || "user";
825
- return {
826
- type: r,
827
- auth: {
828
- publicPermissionEnable: e.auth?.publicPermissionEnable || !1,
829
- managerPermissionEnable: e.auth?.managerPermissionEnable || !1
830
- },
831
- requestContext: {
832
- appId: e.requestContext?.appId,
833
- entryId: e.requestContext?.entryId
834
- },
835
- limits: m({
836
- type: r,
837
- widgetAttr: e.widgetAttr
838
- }),
839
- departmentSelectableRange: i({
840
- type: r,
841
- widgetAttr: e.widgetAttr
842
- }),
843
- currentContext: n,
844
- currentUsers: je(t),
845
- memberPanelVisibility: p(r, e.widgetAttr),
846
- memberPanelRequestGuard: Ne(r, e.widgetAttr)
847
- };
848
- }, Fe = [
849
- "departs",
850
- "dockcorpValue",
851
- "dockdeptValue",
852
- "outsiderGroup"
853
- ], Ie = (e) => Array.isArray(e) && e.some((e) => e != null && e !== ""), Le = (e) => e == null ? !0 : Array.isArray(e) ? !Ie(e) : typeof e == "object" ? !Fe.some((t) => Ie(e[t])) : !0, Re = (e) => e === "dept" || e === "deptgroup", ze = ({ type: e, widgetAttr: t, status: n, hasRequestHandler: r }) => {
854
- if (!Re(e) || !t || !r || n !== "idle" || t.valueOption !== 0 || !Le(t.limit)) return !1;
855
- let i = t.rely;
856
- return !i || typeof i != "object" ? !1 : i.data != null;
857
- }, Be = ({ type: e, widgetAttr: t, requestContext: n }) => ({
858
- type: e,
859
- widgetName: t?.widgetName,
860
- rely: t?.rely,
861
- valueOption: t?.valueOption,
862
- subform: t?.subform,
863
- subformName: t?.subformName,
864
- rowIdx: t?.rowIdx,
865
- value: t?.value,
866
- items: t?.items,
867
- requestContext: n,
868
- widgetAttr: t
869
- }), $ = (e) => Array.isArray(e) ? e.map($) : e && typeof e == "object" ? Object.keys(e).sort().reduce((t, n) => (t[n] = $(e[n]), t), {}) : e ?? null, Ve = (e) => JSON.stringify($(e)), He = (e) => {
870
- if (e) return {
871
- type: e.type,
872
- widgetName: e.widgetName,
873
- limit: e.limit,
874
- limitWidget: e.limitWidget,
875
- valueOption: e.valueOption,
876
- rely: e.rely,
877
- subform: e.subform,
878
- subformName: e.subformName,
879
- rowIdx: e.rowIdx,
880
- appId: e.appId,
881
- formId: e.formId,
882
- entryId: e.entryId,
883
- __departmentRelyLimit: e.__departmentRelyLimit
884
- };
885
- }, Ue = ({ type: e, requestContext: t, widgetAttr: n }) => Ve({
886
- type: e,
887
- requestContext: {
888
- appId: t?.appId,
889
- entryId: t?.entryId
890
- },
891
- widgetAttr: He(n)
892
- }), We = ({ type: e, requestContext: t, widgetAttr: n }) => ({
893
- type: e,
894
- requestContext: {
895
- appId: t?.appId,
896
- entryId: t?.entryId
897
- },
898
- widgetAttr: He(n)
899
- }), Ge = (e) => ({
900
- publicPermissionEnable: e?.publicPermissionEnable || !1,
901
- managerPermissionEnable: e?.managerPermissionEnable || !1
902
- }), Ke = (e) => {
903
- let { onRequestRelyLimit: t } = e, [n, r] = F(), [i, a] = F(!1), [o, s] = F("idle"), c = P(!0), l = e.type || e.widgetAttr?.type || "user", u = P(), f = ze({
904
- type: l,
905
- widgetAttr: e.widgetAttr,
906
- status: o,
907
- hasRequestHandler: !!t
908
- }), p = Ue({
909
- type: l,
910
- requestContext: e.requestContext,
911
- widgetAttr: e.widgetAttr
912
- });
913
- u.current?.key !== p && (u.current = {
914
- key: p,
915
- value: Re(l) ? Be({
916
- type: l,
917
- widgetAttr: e.widgetAttr,
918
- requestContext: e.requestContext
919
- }) : void 0
920
- });
921
- let m = u.current.value;
922
- M(() => (c.current = !0, () => {
923
- c.current = !1;
924
- }), []), M(() => {
925
- !f || !t || !m || (s("loading"), Promise.resolve(t(m)).then((e) => {
926
- if (!c.current) return;
927
- let t = Array.isArray(e) && e.length > 0 && e.every((e) => typeof e == "string");
928
- a(t), t && r([...e]), s("resolved");
929
- }).catch(() => {
930
- c.current && s("failed");
931
- }));
932
- }, [
933
- m,
934
- t,
935
- f
936
- ]);
937
- let h = N(() => n === void 0 ? e.widgetAttr : {
938
- ...e.widgetAttr,
939
- limit: n,
940
- __departmentRelyLimit: !0
941
- }, [e.widgetAttr, n]), g = N(() => o === "resolved" && !i ? {
942
- enabled: !1,
943
- reason: d.RELY_EMPTY_LIMIT
944
- } : {
945
- enabled: !0,
946
- reason: d.DEFAULT
947
- }, [i, o]);
948
- return {
949
- effectiveWidgetAttr: h,
950
- status: o,
951
- isLoading: f || o === "loading",
952
- isFailed: o === "failed",
953
- shouldBlockContent: f || o === "loading" || o === "failed",
954
- departmentPanelRequestGuard: g
955
- };
956
- }, qe = (e) => {
957
- let { onCancel: t, onConfirm: n, onChange: r, defaultValue: i } = e, a = e.auth?.publicPermissionEnable, o = e.auth?.managerPermissionEnable, { t: s } = w(), [l, u] = V(e, { defaultValue: i || [] }), d = te((e) => {
958
- let t = Ee(l, e);
959
- u(t), r?.(t);
960
- }, [
961
- u,
962
- l,
963
- r
964
- ]), { effectiveWidgetAttr: f, isLoading: p, isFailed: m, departmentPanelRequestGuard: h } = Ke(e), g = P(), _ = Ue({
965
- type: e.type,
966
- requestContext: e.requestContext,
967
- widgetAttr: f
968
- });
969
- g.current?.key !== _ && (g.current = {
970
- key: _,
971
- value: We({
972
- type: e.type,
973
- requestContext: e.requestContext,
974
- widgetAttr: f
975
- })
976
- });
977
- let v = g.current.value, y = N(() => Pe(v), [v]), x = N(() => Ge({
978
- publicPermissionEnable: a,
979
- managerPermissionEnable: o
980
- }), [o, a]), { type: S, currentUsers: C, requestContext: T, limits: E, departmentSelectableRange: D, currentContext: O, memberPanelVisibility: k, memberPanelRequestGuard: A } = y, ee = N(() => ({
981
- type: S,
982
- value: l,
983
- setValue: u,
984
- dispatch: d,
985
- currentUsers: C,
986
- requestContext: T,
987
- limits: E,
988
- departmentSelectableRange: D,
989
- currentContext: O,
990
- memberPanelVisibility: k,
991
- memberPanelRequestGuard: A,
992
- departmentPanelRequestGuard: h,
993
- auth: x,
994
- containerHeight: [b.USER_GROUP, b.DEPARMENT_GROUP].includes(S) ? 355 : 395
995
- }), [
996
- S,
997
- l,
998
- u,
999
- d,
1000
- C,
1001
- T,
1002
- E,
1003
- D,
1004
- O,
1005
- k,
1006
- A,
1007
- h,
1008
- x
1009
- ]), j = () => p ? /* @__PURE__ */ U("div", {
1010
- className: Q["depts-member__state"],
1011
- children: "加载中"
1012
- }) : m ? /* @__PURE__ */ U("div", {
1013
- className: Q["depts-member__state"],
1014
- children: "可选范围加载失败"
1015
- }) : /* @__PURE__ */ W(c.Provider, {
1016
- value: ee,
1017
- children: [/* @__PURE__ */ U(fe, {}), /* @__PURE__ */ U(Te, {})]
1018
- });
1019
- return /* @__PURE__ */ W("div", {
1020
- className: Q["depts-member"],
1021
- children: [/* @__PURE__ */ U("div", {
1022
- className: Q["depts-member__body"],
1023
- children: /* @__PURE__ */ U("div", {
1024
- className: Q["depts-member__content"],
1025
- "data-teleport": "DeptsMemberSelector",
1026
- children: j()
1027
- })
1028
- }), /* @__PURE__ */ W("div", {
1029
- className: Q["depts-member__footer"],
1030
- children: [[
1031
- b.DEPARMENT_GROUP,
1032
- b.USER_GROUP,
1033
- b.DEPT_USERS
1034
- ].includes(S) && /* @__PURE__ */ U("div", {
1035
- className: Q["depts-member__clear-area"],
1036
- children: /* @__PURE__ */ W("div", {
1037
- className: Q["depts-member__clear-button"],
1038
- onClick: () => {
1039
- u([]);
1040
- },
1041
- children: [/* @__PURE__ */ U(z, {
1042
- name: "clearTree",
1043
- size: 20,
1044
- style: { verticalAlign: "sub" }
1045
- }), /* @__PURE__ */ U("span", { children: s("common.clearAll") })]
1046
- })
1047
- }), /* @__PURE__ */ W("div", {
1048
- className: Q["depts-member__actions"],
1049
- children: [/* @__PURE__ */ U(L, {
1050
- onClick: t,
1051
- className: Q["depts-member__cancel-button"],
1052
- children: s("common.cancel")
1053
- }), /* @__PURE__ */ U(L, {
1054
- type: "primary",
1055
- className: Q["depts-member__confirm-button"],
1056
- onClick: () => n?.(l),
1057
- children: s("common.confirm")
1058
- })]
1059
- })]
1060
- })]
1061
- });
1062
- };
1063
- //#endregion
1064
- export { ue as n, qe as t };