@rytass/bpm-core-react 0.3.8 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/CHANGELOG.md +154 -0
  2. package/README.md +69 -4
  3. package/dist/chunks/approval-instance-list-page-BF2r5D2-.js +278 -0
  4. package/dist/chunks/approval-instance-list-page-BF2r5D2-.js.map +1 -0
  5. package/dist/chunks/approval-instance-list-page-C5ZKPHdA.cjs +2 -0
  6. package/dist/chunks/approval-instance-list-page-C5ZKPHdA.cjs.map +1 -0
  7. package/dist/chunks/auth-provider-4BeCw7cI.cjs +2 -0
  8. package/dist/chunks/auth-provider-4BeCw7cI.cjs.map +1 -0
  9. package/dist/chunks/auth-provider-B5oPmvk2.js +83 -0
  10. package/dist/chunks/auth-provider-B5oPmvk2.js.map +1 -0
  11. package/dist/chunks/{builder-D950gct_.js → builder-BLVnnpnP.js} +474 -478
  12. package/dist/chunks/builder-BLVnnpnP.js.map +1 -0
  13. package/dist/chunks/builder-DVE9zIKH.cjs +3 -0
  14. package/dist/chunks/builder-DVE9zIKH.cjs.map +1 -0
  15. package/dist/chunks/categories-B6QZKZRt.cjs +2 -0
  16. package/dist/chunks/categories-B6QZKZRt.cjs.map +1 -0
  17. package/dist/chunks/categories-DBPoSrsi.js +382 -0
  18. package/dist/chunks/categories-DBPoSrsi.js.map +1 -0
  19. package/dist/chunks/chunk-CMqjfN_6.cjs +1 -0
  20. package/dist/chunks/dashboard-page-CddG1MnK.cjs +2 -0
  21. package/dist/chunks/dashboard-page-CddG1MnK.cjs.map +1 -0
  22. package/dist/chunks/dashboard-page-Ib8srCMy.js +119 -0
  23. package/dist/chunks/dashboard-page-Ib8srCMy.js.map +1 -0
  24. package/dist/chunks/delegations-C2wLWsDQ.cjs +2 -0
  25. package/dist/chunks/delegations-C2wLWsDQ.cjs.map +1 -0
  26. package/dist/chunks/delegations-DDEk-WI6.cjs +2 -0
  27. package/dist/chunks/delegations-DDEk-WI6.cjs.map +1 -0
  28. package/dist/chunks/delegations-ZNtodFaD.js +568 -0
  29. package/dist/chunks/delegations-ZNtodFaD.js.map +1 -0
  30. package/dist/chunks/delegations-iVnRi3QE.js +641 -0
  31. package/dist/chunks/delegations-iVnRi3QE.js.map +1 -0
  32. package/dist/chunks/detail-Dcr5mM8g.cjs +2 -0
  33. package/dist/chunks/detail-Dcr5mM8g.cjs.map +1 -0
  34. package/dist/chunks/detail-u9DdLhDW.js +1518 -0
  35. package/dist/chunks/detail-u9DdLhDW.js.map +1 -0
  36. package/dist/chunks/format-date-time-XxBzF0F5.cjs +2 -0
  37. package/dist/chunks/{format-date-time-26_pFvv4.cjs.map → format-date-time-XxBzF0F5.cjs.map} +1 -1
  38. package/dist/chunks/login-9bCXyjbX.cjs +2 -0
  39. package/dist/chunks/{login-CQ9MfwcC.cjs.map → login-9bCXyjbX.cjs.map} +1 -1
  40. package/dist/chunks/{login-C20yVxbc.js → login-BKxpLibd.js} +3 -2
  41. package/dist/chunks/{login-C20yVxbc.js.map → login-BKxpLibd.js.map} +1 -1
  42. package/dist/chunks/notifications-BKs4--96.cjs +2 -0
  43. package/dist/chunks/notifications-BKs4--96.cjs.map +1 -0
  44. package/dist/chunks/notifications-CSulztkU.js +193 -0
  45. package/dist/chunks/notifications-CSulztkU.js.map +1 -0
  46. package/dist/chunks/orgs-BIiqzHvb.cjs +2 -0
  47. package/dist/chunks/orgs-BIiqzHvb.cjs.map +1 -0
  48. package/dist/chunks/orgs-Cc18umVt.js +1944 -0
  49. package/dist/chunks/orgs-Cc18umVt.js.map +1 -0
  50. package/dist/chunks/router-adapter--gYs13E8.cjs +2 -0
  51. package/dist/chunks/router-adapter--gYs13E8.cjs.map +1 -0
  52. package/dist/chunks/router-adapter-DftlFTOd.js +23 -0
  53. package/dist/chunks/router-adapter-DftlFTOd.js.map +1 -0
  54. package/dist/chunks/templates-D44FSB46.js +380 -0
  55. package/dist/chunks/templates-D44FSB46.js.map +1 -0
  56. package/dist/chunks/templates-w96t83N-.cjs +2 -0
  57. package/dist/chunks/templates-w96t83N-.cjs.map +1 -0
  58. package/dist/chunks/users-CUY139DF.js +214 -0
  59. package/dist/chunks/users-CUY139DF.js.map +1 -0
  60. package/dist/chunks/users-qghSMtLn.cjs +2 -0
  61. package/dist/chunks/users-qghSMtLn.cjs.map +1 -0
  62. package/dist/components/approval-instance-list-page.d.ts +1 -2
  63. package/dist/components/bpm-notification-bell-button.d.ts +22 -0
  64. package/dist/components/dashboard-page.d.ts +1 -4
  65. package/dist/index.cjs +1 -1
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.css +1 -0
  68. package/dist/index.d.ts +3 -1
  69. package/dist/index.js +206 -97
  70. package/dist/index.js.map +1 -1
  71. package/dist/lib/notification-drawer-provider.d.ts +3 -2
  72. package/dist/lib/notification-unread-provider.d.ts +6 -5
  73. package/dist/lib/providers.d.ts +3 -2
  74. package/dist/lib/use-bpm-logout.d.ts +12 -0
  75. package/dist/lib/use-bpm-member.d.ts +11 -0
  76. package/dist/next/BPMNextProviders.d.ts +1 -1
  77. package/dist/next/index.cjs +1 -1
  78. package/dist/next/index.cjs.map +1 -1
  79. package/dist/next/index.js +13 -23
  80. package/dist/next/index.js.map +1 -1
  81. package/dist/pages/admin/delegations/index.cjs +1 -1
  82. package/dist/pages/admin/delegations/index.js +1 -1
  83. package/dist/pages/admin/orgs/index.cjs +1 -1
  84. package/dist/pages/admin/orgs/index.js +1 -1
  85. package/dist/pages/admin/users/index.cjs +1 -1
  86. package/dist/pages/admin/users/index.js +1 -1
  87. package/dist/pages/delegations/index.cjs +1 -1
  88. package/dist/pages/delegations/index.js +1 -1
  89. package/dist/pages/forms/builder/index.cjs +1 -1
  90. package/dist/pages/forms/builder/index.js +1 -1
  91. package/dist/pages/instances/detail/index.cjs +1 -1
  92. package/dist/pages/instances/detail/index.js +1 -1
  93. package/dist/pages/login/index.cjs +1 -1
  94. package/dist/pages/login/index.js +1 -1
  95. package/dist/pages/settings/notifications/index.cjs +1 -1
  96. package/dist/pages/settings/notifications/index.js +1 -1
  97. package/dist/pages/templates/categories/index.cjs +1 -1
  98. package/dist/pages/templates/categories/index.js +1 -1
  99. package/dist/pages/templates/index.cjs +1 -1
  100. package/dist/pages/templates/index.js +1 -1
  101. package/dist/views/admin/delegations/AdminDelegationsView.d.ts +1 -4
  102. package/dist/views/admin/delegations/index.cjs +1 -1
  103. package/dist/views/admin/delegations/index.js +1 -1
  104. package/dist/views/admin/index.cjs +1 -1
  105. package/dist/views/admin/index.js +3 -3
  106. package/dist/views/admin/orgs/AdminOrgsView.d.ts +1 -4
  107. package/dist/views/admin/orgs/index.cjs +1 -1
  108. package/dist/views/admin/orgs/index.js +1 -1
  109. package/dist/views/admin/users/AdminUsersView.d.ts +1 -4
  110. package/dist/views/admin/users/index.cjs +1 -1
  111. package/dist/views/admin/users/index.js +1 -1
  112. package/dist/views/cc/CcView.d.ts +1 -3
  113. package/dist/views/cc/index.cjs +1 -1
  114. package/dist/views/cc/index.cjs.map +1 -1
  115. package/dist/views/cc/index.js +2 -3
  116. package/dist/views/cc/index.js.map +1 -1
  117. package/dist/views/dashboard/DashboardView.d.ts +1 -3
  118. package/dist/views/dashboard/index.cjs +1 -1
  119. package/dist/views/dashboard/index.cjs.map +1 -1
  120. package/dist/views/dashboard/index.js +3 -3
  121. package/dist/views/dashboard/index.js.map +1 -1
  122. package/dist/views/delegations/DelegationsView.d.ts +1 -4
  123. package/dist/views/delegations/index.cjs +1 -1
  124. package/dist/views/delegations/index.js +1 -1
  125. package/dist/views/forms/FormsView.d.ts +1 -3
  126. package/dist/views/forms/builder/index.cjs +1 -1
  127. package/dist/views/forms/builder/index.js +1 -1
  128. package/dist/views/forms/index.cjs +1 -1
  129. package/dist/views/forms/index.cjs.map +1 -1
  130. package/dist/views/forms/index.js +95 -99
  131. package/dist/views/forms/index.js.map +1 -1
  132. package/dist/views/inbox/InboxView.d.ts +1 -3
  133. package/dist/views/inbox/index.cjs +1 -1
  134. package/dist/views/inbox/index.cjs.map +1 -1
  135. package/dist/views/inbox/index.js +91 -94
  136. package/dist/views/inbox/index.js.map +1 -1
  137. package/dist/views/instances/detail/index.cjs +1 -1
  138. package/dist/views/instances/detail/index.js +1 -1
  139. package/dist/views/instances/new/index.cjs +1 -1
  140. package/dist/views/instances/new/index.cjs.map +1 -1
  141. package/dist/views/instances/new/index.js +71 -77
  142. package/dist/views/instances/new/index.js.map +1 -1
  143. package/dist/views/login/index.cjs +1 -1
  144. package/dist/views/login/index.js +1 -1
  145. package/dist/views/root/RootView.d.ts +1 -3
  146. package/dist/views/search/SearchView.d.ts +1 -3
  147. package/dist/views/search/index.cjs +1 -1
  148. package/dist/views/search/index.cjs.map +1 -1
  149. package/dist/views/search/index.js +2 -3
  150. package/dist/views/search/index.js.map +1 -1
  151. package/dist/views/sent/SentView.d.ts +1 -3
  152. package/dist/views/sent/index.cjs +1 -1
  153. package/dist/views/sent/index.cjs.map +1 -1
  154. package/dist/views/sent/index.js +2 -3
  155. package/dist/views/sent/index.js.map +1 -1
  156. package/dist/views/settings/index.cjs +1 -1
  157. package/dist/views/settings/index.js +1 -1
  158. package/dist/views/settings/notifications/SettingsNotificationsView.d.ts +1 -4
  159. package/dist/views/settings/notifications/index.cjs +1 -1
  160. package/dist/views/settings/notifications/index.js +1 -1
  161. package/dist/views/templates/TemplatesView.d.ts +1 -4
  162. package/dist/views/templates/categories/TemplateCategoriesView.d.ts +1 -4
  163. package/dist/views/templates/categories/index.cjs +1 -1
  164. package/dist/views/templates/categories/index.js +1 -1
  165. package/dist/views/templates/designer/TemplateDesignerView.d.ts +1 -2
  166. package/dist/views/templates/designer/index.cjs +7 -7
  167. package/dist/views/templates/designer/index.cjs.map +1 -1
  168. package/dist/views/templates/designer/index.js +707 -711
  169. package/dist/views/templates/designer/index.js.map +1 -1
  170. package/dist/views/templates/index.cjs +1 -1
  171. package/dist/views/templates/index.js +2 -2
  172. package/dist/views/templates/versions/TemplateVersionsView.d.ts +1 -2
  173. package/dist/views/templates/versions/index.cjs +1 -1
  174. package/dist/views/templates/versions/index.cjs.map +1 -1
  175. package/dist/views/templates/versions/index.js +45 -49
  176. package/dist/views/templates/versions/index.js.map +1 -1
  177. package/package.json +2 -2
  178. package/dist/app-navigation.css +0 -1
  179. package/dist/chunks/app-navigation-BSkMsEhy.js +0 -268
  180. package/dist/chunks/app-navigation-BSkMsEhy.js.map +0 -1
  181. package/dist/chunks/app-navigation-KnlJCUp1.cjs +0 -2
  182. package/dist/chunks/app-navigation-KnlJCUp1.cjs.map +0 -1
  183. package/dist/chunks/approval-instance-list-page-CVXgE2K3.cjs +0 -2
  184. package/dist/chunks/approval-instance-list-page-CVXgE2K3.cjs.map +0 -1
  185. package/dist/chunks/approval-instance-list-page-CqNdoZqx.js +0 -282
  186. package/dist/chunks/approval-instance-list-page-CqNdoZqx.js.map +0 -1
  187. package/dist/chunks/auth-provider-BV8Iiwfb.cjs +0 -2
  188. package/dist/chunks/auth-provider-BV8Iiwfb.cjs.map +0 -1
  189. package/dist/chunks/auth-provider-Bnox5gsx.js +0 -98
  190. package/dist/chunks/auth-provider-Bnox5gsx.js.map +0 -1
  191. package/dist/chunks/builder-CMlJfQHE.cjs +0 -3
  192. package/dist/chunks/builder-CMlJfQHE.cjs.map +0 -1
  193. package/dist/chunks/builder-D950gct_.js.map +0 -1
  194. package/dist/chunks/categories-5yEM3p3N.cjs +0 -2
  195. package/dist/chunks/categories-5yEM3p3N.cjs.map +0 -1
  196. package/dist/chunks/categories-BIpOG451.js +0 -387
  197. package/dist/chunks/categories-BIpOG451.js.map +0 -1
  198. package/dist/chunks/dashboard-page-Bx1-Ys3e.js +0 -122
  199. package/dist/chunks/dashboard-page-Bx1-Ys3e.js.map +0 -1
  200. package/dist/chunks/dashboard-page-CQNRbMkJ.cjs +0 -2
  201. package/dist/chunks/dashboard-page-CQNRbMkJ.cjs.map +0 -1
  202. package/dist/chunks/delegations-B2j-wNEO.js +0 -646
  203. package/dist/chunks/delegations-B2j-wNEO.js.map +0 -1
  204. package/dist/chunks/delegations-CsB9ozLu.cjs +0 -2
  205. package/dist/chunks/delegations-CsB9ozLu.cjs.map +0 -1
  206. package/dist/chunks/delegations-CvtwTXNP.cjs +0 -2
  207. package/dist/chunks/delegations-CvtwTXNP.cjs.map +0 -1
  208. package/dist/chunks/delegations-dKodb0WW.js +0 -573
  209. package/dist/chunks/delegations-dKodb0WW.js.map +0 -1
  210. package/dist/chunks/detail-BcGAqJ_R.js +0 -1523
  211. package/dist/chunks/detail-BcGAqJ_R.js.map +0 -1
  212. package/dist/chunks/detail-CqjqLd65.cjs +0 -2
  213. package/dist/chunks/detail-CqjqLd65.cjs.map +0 -1
  214. package/dist/chunks/format-date-time-26_pFvv4.cjs +0 -2
  215. package/dist/chunks/login-CQ9MfwcC.cjs +0 -2
  216. package/dist/chunks/notifications-2swRqDPF.js +0 -198
  217. package/dist/chunks/notifications-2swRqDPF.js.map +0 -1
  218. package/dist/chunks/notifications-BaYDebFt.cjs +0 -2
  219. package/dist/chunks/notifications-BaYDebFt.cjs.map +0 -1
  220. package/dist/chunks/orgs-CuHxxd_n.js +0 -1949
  221. package/dist/chunks/orgs-CuHxxd_n.js.map +0 -1
  222. package/dist/chunks/orgs-YMiVLNvL.cjs +0 -2
  223. package/dist/chunks/orgs-YMiVLNvL.cjs.map +0 -1
  224. package/dist/chunks/templates-DTkbSgFY.cjs +0 -2
  225. package/dist/chunks/templates-DTkbSgFY.cjs.map +0 -1
  226. package/dist/chunks/templates-DoDWM68t.js +0 -384
  227. package/dist/chunks/templates-DoDWM68t.js.map +0 -1
  228. package/dist/chunks/users-3ySyUW4u.cjs +0 -2
  229. package/dist/chunks/users-3ySyUW4u.cjs.map +0 -1
  230. package/dist/chunks/users-sMfrSjRQ.js +0 -219
  231. package/dist/chunks/users-sMfrSjRQ.js.map +0 -1
  232. package/dist/components/app-navigation.d.ts +0 -41
@@ -1,646 +0,0 @@
1
- "use client";
2
- import { n as e } from "./auth-provider-Bnox5gsx.js";
3
- import { t } from "./format-date-time-CB-LxzqT.js";
4
- import { t as n } from "./app-navigation-BSkMsEhy.js";
5
- import { r } from "./routes-config-dxahImVe.js";
6
- import { t as i } from "./bpm-form-field-Cao0rMol.js";
7
- import { useCallback as a, useEffect as o, useMemo as s, useState as c } from "react";
8
- import { AutoComplete as ee, Badge as l, Button as te, DateTimePicker as u, Filter as d, FilterArea as ne, FilterLine as re, FormField as f, Input as ie, Modal as ae, PageHeader as oe, Section as se, SectionGroup as ce, Select as le, Tab as ue, TabItem as de, Table as fe, Tooltip as p, Typography as m } from "@mezzanine-ui/react";
9
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
10
- import { createDelegationRule as pe, listDelegationRulesPage as me, revokeDelegationRule as he, searchMembers as ge } from "@rytass/bpm-core-client/workflow";
11
- import { PlusIcon as _e } from "@mezzanine-ui/icons";
12
- import ve from "@mezzanine-ui/react/ContentHeader";
13
- import { FormFieldLayout as _ } from "@mezzanine-ui/core/form";
14
- import { listApprovalTemplates as ye } from "@rytass/bpm-core-client/template";
15
- import '../delegations.css';var v = {
16
- delegationModalFields: "bpm_delegationModalFields_gUlCQ",
17
- delegationFilterArea: "bpm_delegationFilterArea_QDZkw",
18
- memberNameWithTooltip: "bpm_memberNameWithTooltip_RggTW"
19
- }, be = _.HORIZONTAL, xe = [
20
- 10,
21
- 20,
22
- 50
23
- ], Se = [
24
- {
25
- key: "ALL",
26
- label: "全部"
27
- },
28
- {
29
- key: "ACTIVE",
30
- label: "啟用中"
31
- },
32
- {
33
- key: "REVOKED",
34
- label: "已撤銷"
35
- },
36
- {
37
- key: "EXPIRED",
38
- label: "已過期"
39
- }
40
- ], y = [{
41
- id: "ALL",
42
- name: "全部簽核"
43
- }, {
44
- id: "TEMPLATE_LIST",
45
- name: "指定模板"
46
- }], b = [
47
- {
48
- id: "ALL_SCOPES",
49
- name: "全部範圍",
50
- scopeType: null
51
- },
52
- {
53
- id: "ALL",
54
- name: "全部簽核",
55
- scopeType: "ALL"
56
- },
57
- {
58
- id: "TEMPLATE_LIST",
59
- name: "指定模板",
60
- scopeType: "TEMPLATE_LIST"
61
- }
62
- ];
63
- function x({ activeHref: l } = {}) {
64
- let p = r(), be = l ?? p.adminDelegations(), { member: x } = e(), w = x?.memberId ?? null, [T, E] = c(null), [D, O] = c(""), [k, j] = c(null), [Ie, Le] = c(!0), [M, N] = c(!1), [P, F] = c([]), [I, Re] = c(null), [L, ze] = c(null), [Be, R] = c(!1), [z, Ve] = c(null), [B, He] = c("100"), [V, H] = c(1), [U, Ue] = c(10), [W, We] = c("ALL"), [Ge, Ke] = c(0), [qe, Je] = c([]), [Ye, Xe] = c(!1), [G, Ze] = c([]), [K, Qe] = c(b[0]), [$e, et] = c(y[0]), [q, tt] = c(""), [nt, rt] = c(!1), [it, J] = c([]), Y = a(async () => {
65
- Le(!0), j(null);
66
- try {
67
- let [e, t] = await Promise.all([me({
68
- agentMemberId: L?.id ?? null,
69
- includeInactive: !0,
70
- page: V,
71
- pageSize: U,
72
- principalMemberId: I?.id ?? null,
73
- scopeType: K.scopeType,
74
- status: W === "ALL" ? null : W
75
- }), ge("")]);
76
- Je(e.rules), Ke(e.totalCount), F(t.map(C));
77
- } catch (e) {
78
- j(A(e));
79
- } finally {
80
- Le(!1);
81
- }
82
- }, [
83
- L,
84
- I,
85
- V,
86
- U,
87
- W,
88
- K
89
- ]);
90
- o(() => {
91
- Y();
92
- }, [Y]);
93
- let X = s(() => new Map(P.map((e) => [e.id, e])), [P]), at = s(() => qe.map((e) => ({
94
- ...e,
95
- agentEmail: X.get(e.agentMemberId)?.email ?? null,
96
- agentName: X.get(e.agentMemberId)?.displayName ?? e.agentMemberId,
97
- key: e.id,
98
- principalEmail: X.get(e.principalMemberId)?.email ?? null,
99
- principalName: X.get(e.principalMemberId)?.displayName ?? e.principalMemberId,
100
- scopeLabel: Ae(e)
101
- })), [X, qe]), Z = y.find((e) => e.id === $e.id) ?? y[0], ot = s(() => [
102
- {
103
- key: "principal",
104
- render: (e) => /* @__PURE__ */ h(Ce, {
105
- email: e.principalEmail,
106
- name: e.principalName
107
- }),
108
- title: "原簽核人",
109
- width: 220
110
- },
111
- {
112
- key: "agent",
113
- render: (e) => /* @__PURE__ */ h(Ce, {
114
- email: e.agentEmail,
115
- name: e.agentName
116
- }),
117
- title: "代理人",
118
- width: 220
119
- },
120
- {
121
- dataIndex: "scopeLabel",
122
- key: "scope",
123
- title: "代理範圍",
124
- width: 220
125
- },
126
- {
127
- key: "status",
128
- render: (e) => /* @__PURE__ */ h(je, { status: e.status }),
129
- title: "狀態",
130
- width: 120
131
- },
132
- {
133
- dataIndex: "priority",
134
- key: "priority",
135
- title: "優先序",
136
- width: 100
137
- },
138
- {
139
- key: "startAt",
140
- render: (e) => /* @__PURE__ */ h(m, {
141
- component: "span",
142
- variant: "body",
143
- children: t(e.startAt)
144
- }),
145
- title: "開始時間",
146
- width: 220
147
- },
148
- {
149
- key: "endAt",
150
- render: (e) => /* @__PURE__ */ h(m, {
151
- component: "span",
152
- variant: "body",
153
- children: e.endAt ? t(e.endAt) : "-"
154
- }),
155
- title: "結束時間",
156
- width: 220
157
- }
158
- ], []), st = a(async (e) => {
159
- if (w) {
160
- j(null);
161
- try {
162
- await he({
163
- id: e,
164
- revokedByMemberId: w
165
- }), await Y();
166
- } catch (e) {
167
- j(A(e));
168
- }
169
- }
170
- }, [w, Y]), ct = s(() => ({
171
- render: (e) => e.status === "ACTIVE" ? [{
172
- name: "撤銷",
173
- onClick: () => void st(e.id)
174
- }] : [],
175
- variant: "destructive-secondary",
176
- width: 88
177
- }), [st]);
178
- async function Q(e) {
179
- N(!0);
180
- try {
181
- F((await ge(e)).map(C));
182
- } catch (e) {
183
- j(A(e));
184
- } finally {
185
- N(!1);
186
- }
187
- }
188
- async function $(e, t = G) {
189
- rt(!0);
190
- try {
191
- J(De(t, Ee((await ye()).map(we), e)));
192
- } catch (e) {
193
- j(A(e));
194
- } finally {
195
- rt(!1);
196
- }
197
- }
198
- function lt() {
199
- E(null), O(""), Ve(null), He("100"), Ze([]), et(y[0]), tt(""), J([]), $("", []), R(!0);
200
- }
201
- function ut() {
202
- Ye || R(!1);
203
- }
204
- async function dt() {
205
- if (w) {
206
- if (!z || !T) {
207
- j("請選擇原簽核人與代理人");
208
- return;
209
- }
210
- if (Z.id === "TEMPLATE_LIST" && G.length < 1) {
211
- j("請選擇至少一個簽核模板");
212
- return;
213
- }
214
- if (Fe(q, D)) {
215
- j("結束時間必須晚於起始時間");
216
- return;
217
- }
218
- Xe(!0), j(null);
219
- try {
220
- await pe({
221
- agentMemberId: T.id,
222
- createdByMemberId: w,
223
- endAt: D || null,
224
- principalMemberId: z.id,
225
- priority: Number(B) || 100,
226
- requiresConfirmation: !1,
227
- scopeConditionCel: null,
228
- scopeTemplateIds: Z.id === "TEMPLATE_LIST" ? G.map((e) => e.id) : [],
229
- scopeType: Z.id,
230
- startAt: q || null
231
- }), R(!1), V === 1 ? await Y() : H(1);
232
- } catch (e) {
233
- j(A(e));
234
- } finally {
235
- Xe(!1);
236
- }
237
- }
238
- }
239
- return /* @__PURE__ */ g(n, {
240
- activeHref: be,
241
- children: [
242
- /* @__PURE__ */ h(oe, { children: /* @__PURE__ */ h(ve, {
243
- description: "設定簽核代理規則,讓符合範圍的待簽任務自動改派給代理人。",
244
- title: "代理設定",
245
- children: /* @__PURE__ */ h(te, {
246
- icon: _e,
247
- iconType: "leading",
248
- onClick: lt,
249
- variant: "base-primary",
250
- children: "建立代理"
251
- })
252
- }) }),
253
- /* @__PURE__ */ h(ce, { children: /* @__PURE__ */ g(se, {
254
- filterArea: /* @__PURE__ */ h(ne, {
255
- className: v.delegationFilterArea,
256
- children: /* @__PURE__ */ g(re, { children: [
257
- /* @__PURE__ */ h(d, {
258
- span: 2,
259
- children: /* @__PURE__ */ h(S, {
260
- hideLabel: !0,
261
- label: "原簽核人",
262
- loading: M,
263
- name: "principalFilterMemberId",
264
- onChange: (e) => {
265
- Re(e), H(1);
266
- },
267
- onSearch: Q,
268
- options: P,
269
- required: !1,
270
- layout: _.VERTICAL,
271
- size: "sub",
272
- value: I
273
- })
274
- }),
275
- /* @__PURE__ */ h(d, {
276
- span: 2,
277
- children: /* @__PURE__ */ h(S, {
278
- hideLabel: !0,
279
- label: "代理人",
280
- loading: M,
281
- name: "agentFilterMemberId",
282
- onChange: (e) => {
283
- ze(e), H(1);
284
- },
285
- onSearch: Q,
286
- options: P,
287
- required: !1,
288
- layout: _.VERTICAL,
289
- size: "sub",
290
- value: L
291
- })
292
- }),
293
- /* @__PURE__ */ h(d, {
294
- span: 2,
295
- children: /* @__PURE__ */ h(f, {
296
- fullWidth: !0,
297
- layout: _.VERTICAL,
298
- name: "scopeFilterType",
299
- children: /* @__PURE__ */ h(le, {
300
- clearable: !1,
301
- fullWidth: !0,
302
- onChange: (e) => {
303
- Qe(ke(e)), H(1);
304
- },
305
- options: [...b],
306
- placeholder: "代理範圍",
307
- size: "sub",
308
- value: K
309
- })
310
- })
311
- })
312
- ] })
313
- }),
314
- tab: /* @__PURE__ */ h(ue, {
315
- activeKey: W,
316
- onChange: (e) => {
317
- We(Me(e)), H(1);
318
- },
319
- children: Se.map((e) => /* @__PURE__ */ h(de, { children: e.label }, e.key))
320
- }),
321
- children: [k ? /* @__PURE__ */ h(m, {
322
- color: "text-error",
323
- variant: "body",
324
- children: k
325
- }) : null, /* @__PURE__ */ h(fe, {
326
- actions: ct,
327
- columns: ot,
328
- dataSource: at,
329
- fullWidth: !0,
330
- loading: Ie,
331
- pagination: {
332
- current: V,
333
- onChange: (e) => {
334
- H(e);
335
- },
336
- onChangePageSize: (e) => {
337
- H(1), Ue(e);
338
- },
339
- pageSize: U,
340
- pageSizeLabel: "每頁筆數",
341
- pageSizeOptions: xe,
342
- renderResultSummary: (e, t, n) => `顯示 ${e}-${t} 筆,共 ${n} 筆`,
343
- showPageSizeOptions: !0,
344
- total: Ge
345
- }
346
- })]
347
- }) }),
348
- /* @__PURE__ */ h(ae, {
349
- cancelText: "取消",
350
- confirmButtonProps: { disabled: !z || !T },
351
- confirmText: "建立代理",
352
- loading: Ye,
353
- modalType: "standard",
354
- onCancel: ut,
355
- onClose: ut,
356
- onConfirm: () => void dt(),
357
- open: Be,
358
- showModalFooter: !0,
359
- showModalHeader: !0,
360
- size: "regular",
361
- supportingText: "代理生效後,後續建立的待簽任務會依範圍自動指派。",
362
- title: "建立代理",
363
- children: /* @__PURE__ */ g("div", {
364
- className: v.delegationModalFields,
365
- children: [
366
- /* @__PURE__ */ h(S, {
367
- label: "原簽核人",
368
- loading: M,
369
- name: "principalMemberId",
370
- onChange: Ve,
371
- onSearch: Q,
372
- options: P,
373
- value: z
374
- }),
375
- /* @__PURE__ */ h(S, {
376
- label: "代理人",
377
- loading: M,
378
- name: "agentMemberId",
379
- onChange: E,
380
- onSearch: Q,
381
- options: P,
382
- value: T
383
- }),
384
- /* @__PURE__ */ h(i, {
385
- label: "代理範圍",
386
- name: "scopeType",
387
- required: !0,
388
- children: /* @__PURE__ */ h(le, {
389
- clearable: !1,
390
- fullWidth: !0,
391
- onChange: (e) => et(Oe(e)),
392
- options: [...y],
393
- value: Z
394
- })
395
- }),
396
- Z.id === "TEMPLATE_LIST" ? /* @__PURE__ */ h(i, {
397
- label: "簽核模板",
398
- name: "scopeTemplateIds",
399
- required: !0,
400
- children: /* @__PURE__ */ h(ee, {
401
- asyncData: !0,
402
- disabledOptionsFilter: !0,
403
- emptyText: "沒有符合的模板",
404
- inputProps: {
405
- autoCapitalize: "none",
406
- autoCorrect: "off",
407
- name: "scopeTemplateIds",
408
- spellCheck: !1
409
- },
410
- loading: nt,
411
- loadingText: "搜尋模板中...",
412
- mode: "multiple",
413
- onChange: (e) => {
414
- let t = Te(e);
415
- Ze(t), J((e) => De(t, e));
416
- },
417
- onSearch: $,
418
- onVisibilityChange: (e) => {
419
- e && $("");
420
- },
421
- options: [...it],
422
- overflowStrategy: "wrap",
423
- placeholder: "搜尋並選取簽核模板",
424
- searchDebounceTime: 300,
425
- value: [...G]
426
- })
427
- }) : null,
428
- /* @__PURE__ */ h(i, {
429
- label: "優先序",
430
- name: "priority",
431
- children: /* @__PURE__ */ h(ie, {
432
- fullWidth: !0,
433
- onChange: (e) => He(e.target.value),
434
- value: B,
435
- variant: "base"
436
- })
437
- }),
438
- /* @__PURE__ */ h(i, {
439
- label: "起始時間",
440
- name: "startAt",
441
- children: /* @__PURE__ */ h(u, {
442
- formatDate: "YYYY-MM-DD",
443
- formatTime: "HH:mm",
444
- fullWidth: !0,
445
- hideSecond: !0,
446
- onChange: (e) => tt(Pe(e)),
447
- placeholderLeft: "留空立即生效",
448
- placeholderRight: "選擇時間",
449
- value: Ne(q)
450
- })
451
- }),
452
- /* @__PURE__ */ h(i, {
453
- label: "結束時間",
454
- name: "endAt",
455
- children: /* @__PURE__ */ h(u, {
456
- formatDate: "YYYY-MM-DD",
457
- formatTime: "HH:mm",
458
- fullWidth: !0,
459
- hideSecond: !0,
460
- onChange: (e) => O(Pe(e)),
461
- placeholderLeft: "可留空",
462
- placeholderRight: "選擇時間",
463
- value: Ne(D)
464
- })
465
- })
466
- ]
467
- })
468
- })
469
- ]
470
- });
471
- }
472
- function S({ hideLabel: e = !1, label: t, layout: n = be, loading: r, name: a, onChange: o, onSearch: s, options: c, required: l = !0, size: te, value: u }) {
473
- let d = /* @__PURE__ */ h(ee, {
474
- asyncData: !0,
475
- disabledOptionsFilter: !0,
476
- emptyText: "沒有符合的成員",
477
- inputProps: {
478
- autoCapitalize: "none",
479
- autoCorrect: "off",
480
- name: a,
481
- spellCheck: !1
482
- },
483
- loading: r,
484
- loadingText: "搜尋成員中...",
485
- mode: "single",
486
- onChange: (e) => o(w(e)),
487
- onSearch: s,
488
- onSearchTextChange: (e) => o(T(e, c)),
489
- onVisibilityChange: (e) => {
490
- e && s("");
491
- },
492
- options: [...c],
493
- placeholder: e ? t : "搜尋姓名或信箱",
494
- searchDebounceTime: 300,
495
- size: te,
496
- value: u
497
- });
498
- return e ? /* @__PURE__ */ h(f, {
499
- fullWidth: !0,
500
- layout: n,
501
- name: a,
502
- children: d
503
- }) : /* @__PURE__ */ h(i, {
504
- label: t,
505
- layout: n,
506
- name: a,
507
- required: l,
508
- children: d
509
- });
510
- }
511
- function C(e) {
512
- return {
513
- displayName: e.name,
514
- email: e.email,
515
- id: e.memberId,
516
- name: `${e.name} · ${e.email}`
517
- };
518
- }
519
- function w(e) {
520
- if (!j(e)) return null;
521
- let t = e.id, n = e.name, r = e.email, i = e.displayName;
522
- return typeof t == "string" && typeof n == "string" ? {
523
- displayName: typeof i == "string" ? i : n,
524
- email: typeof r == "string" ? r : null,
525
- id: t,
526
- name: n
527
- } : null;
528
- }
529
- function Ce({ email: e, name: t }) {
530
- return e ? /* @__PURE__ */ h(p, {
531
- title: e,
532
- children: ({ onMouseEnter: e, onMouseLeave: n, ref: r }) => /* @__PURE__ */ h("span", {
533
- className: v.memberNameWithTooltip,
534
- onMouseEnter: e,
535
- onMouseLeave: n,
536
- ref: r,
537
- children: t
538
- })
539
- }) : /* @__PURE__ */ h("span", { children: t });
540
- }
541
- function T(e, t) {
542
- let n = e.trim().toLocaleLowerCase();
543
- if (!n) return null;
544
- let r = t.filter((e) => [
545
- e.id,
546
- e.name,
547
- e.email ?? ""
548
- ].some((e) => e.toLocaleLowerCase().includes(n)));
549
- return r.length === 1 ? r[0] ?? null : null;
550
- }
551
- function we(e) {
552
- return {
553
- id: e.id,
554
- name: e.name
555
- };
556
- }
557
- function Te(e) {
558
- return e.flatMap((e) => {
559
- if (!j(e)) return [];
560
- let t = e.id, n = e.name;
561
- return typeof t == "string" && typeof n == "string" ? [{
562
- id: t,
563
- name: n
564
- }] : [];
565
- });
566
- }
567
- function Ee(e, t) {
568
- let n = t.trim().toLocaleLowerCase();
569
- return n ? e.filter((e) => [e.id, e.name].some((e) => e.toLocaleLowerCase().includes(n))) : e;
570
- }
571
- function De(e, t) {
572
- return [...e, ...t].reduce((e, t) => e.some((e) => e.id === t.id) ? e : [...e, t], []);
573
- }
574
- function Oe(e) {
575
- return !j(e) || !E(e.id) ? y[0] : y.find((t) => t.id === e.id) ?? y[0];
576
- }
577
- function ke(e) {
578
- if (!j(e)) return b[0];
579
- let t = e.id;
580
- return b.find((e) => e.id === t) ?? b[0];
581
- }
582
- function E(e) {
583
- return e === "ALL" || e === "TEMPLATE_LIST";
584
- }
585
- function Ae(e) {
586
- return e.scopeType === "ALL" ? "全部簽核" : e.scopeType === "TEMPLATE_LIST" ? `指定模板:${e.scopeTemplateIds.length}` : e.scopeConditionCel ? `條件:${e.scopeConditionCel}` : "條件式";
587
- }
588
- function je({ status: e }) {
589
- return e === "ACTIVE" ? /* @__PURE__ */ h(l, {
590
- size: "sub",
591
- text: "啟用中",
592
- variant: "dot-success"
593
- }) : e === "REVOKED" ? /* @__PURE__ */ h(l, {
594
- size: "sub",
595
- text: "已撤銷",
596
- variant: "dot-inactive"
597
- }) : e === "EXPIRED" ? /* @__PURE__ */ h(l, {
598
- size: "sub",
599
- text: "已過期",
600
- variant: "dot-warning"
601
- }) : /* @__PURE__ */ h(l, {
602
- size: "sub",
603
- text: e,
604
- variant: "dot-info"
605
- });
606
- }
607
- function Me(e) {
608
- return e === "ACTIVE" || e === "REVOKED" || e === "EXPIRED" ? e : "ALL";
609
- }
610
- function Ne(e) {
611
- let t = e ? D(e) : null;
612
- return t ? `${O(t)}T${k(t.getHours())}:${k(t.getMinutes())}` : void 0;
613
- }
614
- function Pe(e) {
615
- let t = e ? D(e) : null;
616
- return t ? t.toISOString() : "";
617
- }
618
- function Fe(e, t) {
619
- if (!e || !t) return !1;
620
- let n = D(e), r = D(t);
621
- return !!n && !!r && r.getTime() <= n.getTime();
622
- }
623
- function D(e) {
624
- if (e.endsWith("Z") || /[+-]\d{2}:\d{2}$/.test(e)) {
625
- let t = new Date(e);
626
- return Number.isNaN(t.getTime()) ? null : t;
627
- }
628
- let [t = "", n = "00:00"] = e.split("T"), [r = 0, i = 1, a = 1] = t.split("-").map(Number), [o = 0, s = 0] = n.split(":").map(Number), c = new Date(r, i - 1, a, o, s);
629
- return Number.isNaN(c.getTime()) ? null : c;
630
- }
631
- function O(e) {
632
- return `${e.getFullYear()}-${k(e.getMonth() + 1)}-${k(e.getDate())}`;
633
- }
634
- function k(e) {
635
- return String(e).padStart(2, "0");
636
- }
637
- function A(e) {
638
- return e instanceof Error ? e.message : "發生未知錯誤";
639
- }
640
- function j(e) {
641
- return typeof e == "object" && !!e;
642
- }
643
- //#endregion
644
- export { x as t };
645
-
646
- //# sourceMappingURL=delegations-B2j-wNEO.js.map