@rytass/bpm-core-react 0.18.0 → 0.19.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.
- package/CHANGELOG.md +45 -0
- package/dist/chunks/{FormBuilderView-BVKY1j_0.js → FormBuilderView-Djlm3y4S.js} +485 -481
- package/dist/chunks/FormBuilderView-Djlm3y4S.js.map +1 -0
- package/dist/chunks/FormBuilderView-G6uRSywl.cjs +3 -0
- package/dist/chunks/FormBuilderView-G6uRSywl.cjs.map +1 -0
- package/dist/chunks/{FormRendererView-BsTwZkqU.js → FormRendererView-DHfVgbo6.js} +511 -274
- package/dist/chunks/FormRendererView-DHfVgbo6.js.map +1 -0
- package/dist/chunks/FormRendererView-DwfFbaip.cjs +6 -0
- package/dist/chunks/FormRendererView-DwfFbaip.cjs.map +1 -0
- package/dist/chunks/admin-pickers-BjbkBpSJ.cjs +2 -0
- package/dist/chunks/admin-pickers-BjbkBpSJ.cjs.map +1 -0
- package/dist/chunks/{admin-pickers-Djq3h-UR.js → admin-pickers-DfGxsjpp.js} +42 -42
- package/dist/chunks/admin-pickers-DfGxsjpp.js.map +1 -0
- package/dist/chunks/{approval-instance-list-page-CPXMP3PL.js → approval-instance-list-page-BnI4t5mD.js} +7 -8
- package/dist/chunks/{approval-instance-list-page-CPXMP3PL.js.map → approval-instance-list-page-BnI4t5mD.js.map} +1 -1
- package/dist/chunks/{approval-instance-list-page-ax0pm8bt.cjs → approval-instance-list-page-fqvmkBlg.cjs} +2 -2
- package/dist/chunks/{approval-instance-list-page-ax0pm8bt.cjs.map → approval-instance-list-page-fqvmkBlg.cjs.map} +1 -1
- package/dist/chunks/auth-provider-4BeCw7cI.cjs.map +1 -1
- package/dist/chunks/{auth-provider-B5oPmvk2.js → auth-provider-C2b-5mGt.js} +2 -3
- package/dist/chunks/{auth-provider-B5oPmvk2.js.map → auth-provider-C2b-5mGt.js.map} +1 -1
- package/dist/chunks/{bpm-form-field-Cao0rMol.js → bpm-form-field-9B-Det0u.js} +2 -3
- package/dist/chunks/{bpm-form-field-Cao0rMol.js.map → bpm-form-field-9B-Det0u.js.map} +1 -1
- package/dist/chunks/bpm-form-field-Bc6k4ZEO.cjs.map +1 -1
- package/dist/chunks/{categories-riC33J_j.js → categories-BAdxjNSA.js} +14 -15
- package/dist/chunks/{categories-riC33J_j.js.map → categories-BAdxjNSA.js.map} +1 -1
- package/dist/chunks/{categories-AxxhqjLZ.cjs → categories-DQUtVEiV.cjs} +2 -2
- package/dist/chunks/{categories-AxxhqjLZ.cjs.map → categories-DQUtVEiV.cjs.map} +1 -1
- package/dist/chunks/{compose-B1GlrZW9.js → compose-D6zBIc2Z.js} +131 -148
- package/dist/chunks/compose-D6zBIc2Z.js.map +1 -0
- package/dist/chunks/compose-NH6dsFXD.cjs +2 -0
- package/dist/chunks/compose-NH6dsFXD.cjs.map +1 -0
- package/dist/chunks/{dashboard-page-DdBvV6YI.js → dashboard-page-BoqNhjT_.js} +5 -6
- package/dist/chunks/{dashboard-page-DdBvV6YI.js.map → dashboard-page-BoqNhjT_.js.map} +1 -1
- package/dist/chunks/{dashboard-page-BWQBSGDq.cjs → dashboard-page-D7YJ3udk.cjs} +2 -2
- package/dist/chunks/{dashboard-page-BWQBSGDq.cjs.map → dashboard-page-D7YJ3udk.cjs.map} +1 -1
- package/dist/chunks/{delegations-MxF3uJGW.js → delegations-BfhCDz5e.js} +15 -16
- package/dist/chunks/{delegations-MxF3uJGW.js.map → delegations-BfhCDz5e.js.map} +1 -1
- package/dist/chunks/{delegations-Ckf03icM.cjs → delegations-BmFGcuhA.cjs} +2 -2
- package/dist/chunks/{delegations-Ckf03icM.cjs.map → delegations-BmFGcuhA.cjs.map} +1 -1
- package/dist/chunks/{delegations-V9HIe3_P.cjs → delegations-CcS0SHbf.cjs} +2 -2
- package/dist/chunks/{delegations-V9HIe3_P.cjs.map → delegations-CcS0SHbf.cjs.map} +1 -1
- package/dist/chunks/{delegations-xUt1tj8d.js → delegations-DBh5TT6G.js} +16 -17
- package/dist/chunks/{delegations-xUt1tj8d.js.map → delegations-DBh5TT6G.js.map} +1 -1
- package/dist/chunks/designer-Be9UI9Tg.cjs +65 -0
- package/dist/chunks/designer-Be9UI9Tg.cjs.map +1 -0
- package/dist/chunks/{designer-BCLrjb4H.js → designer-uhC_7m2i.js} +1791 -1407
- package/dist/chunks/designer-uhC_7m2i.js.map +1 -0
- package/dist/chunks/detail-6uw5dmTi.cjs +5 -0
- package/dist/chunks/detail-6uw5dmTi.cjs.map +1 -0
- package/dist/chunks/{detail-4F39ggBn.js → detail-_GeKqNC-.js} +1012 -972
- package/dist/chunks/detail-_GeKqNC-.js.map +1 -0
- package/dist/chunks/{format-date-time-CB-LxzqT.js → format-date-time-B0LdmWg4.js} +2 -3
- package/dist/chunks/{format-date-time-CB-LxzqT.js.map → format-date-time-B0LdmWg4.js.map} +1 -1
- package/dist/chunks/format-date-time-D-cx5M8z.cjs.map +1 -1
- package/dist/chunks/{format-member-label-DudVI55w.js → format-member-label-C73FuP-d.js} +2 -3
- package/dist/chunks/{format-member-label-DudVI55w.js.map → format-member-label-C73FuP-d.js.map} +1 -1
- package/dist/chunks/format-member-label-t7ANTF62.cjs.map +1 -1
- package/dist/chunks/{approver-filled-form-Dm3Iw7iw.cjs → instance-error-message-DTARGbGo.cjs} +2 -2
- package/dist/chunks/instance-error-message-DTARGbGo.cjs.map +1 -0
- package/dist/chunks/{approver-filled-form-ZEwpmsHJ.js → instance-error-message-q6gy5evy.js} +50 -38
- package/dist/chunks/instance-error-message-q6gy5evy.js.map +1 -0
- package/dist/chunks/language-provider-Bdnx3Gxl.cjs.map +1 -1
- package/dist/chunks/{language-provider-B3cEbLe4.js → language-provider-phkWOapf.js} +2 -3
- package/dist/chunks/{language-provider-B3cEbLe4.js.map → language-provider-phkWOapf.js.map} +1 -1
- package/dist/chunks/{login-C6qlTC6F.js → login-D6cc3bo7.js} +4 -5
- package/dist/chunks/{login-C6qlTC6F.js.map → login-D6cc3bo7.js.map} +1 -1
- package/dist/chunks/{login-AtVxZBsC.cjs → login-uvVcltrS.cjs} +2 -2
- package/dist/chunks/{login-AtVxZBsC.cjs.map → login-uvVcltrS.cjs.map} +1 -1
- package/dist/chunks/notifications-Bc4mgSds.cjs.map +1 -1
- package/dist/chunks/{notifications-DJ5wzCye.js → notifications-Cvme5Qbl.js} +2 -3
- package/dist/chunks/{notifications-DJ5wzCye.js.map → notifications-Cvme5Qbl.js.map} +1 -1
- package/dist/chunks/orgs-B_2J2tLX.cjs +2 -0
- package/dist/chunks/{orgs-BeeDDWL1.cjs.map → orgs-B_2J2tLX.cjs.map} +1 -1
- package/dist/chunks/{orgs-8hje_l2n.js → orgs-DqxMds26.js} +48 -49
- package/dist/chunks/{orgs-8hje_l2n.js.map → orgs-DqxMds26.js.map} +1 -1
- package/dist/chunks/{providers-B_d5tbCL.js → providers-BbCs23sk.js} +21 -25
- package/dist/chunks/{providers-B_d5tbCL.js.map → providers-BbCs23sk.js.map} +1 -1
- package/dist/chunks/{providers-chuJvMgv.cjs → providers-D_KAgOOu.cjs} +2 -2
- package/dist/chunks/{providers-chuJvMgv.cjs.map → providers-D_KAgOOu.cjs.map} +1 -1
- package/dist/chunks/router-adapter--gYs13E8.cjs.map +1 -1
- package/dist/chunks/{router-adapter-DftlFTOd.js → router-adapter-CkxCyzf5.js} +2 -3
- package/dist/chunks/{router-adapter-DftlFTOd.js.map → router-adapter-CkxCyzf5.js.map} +1 -1
- package/dist/chunks/{routes-config-yZbESPlw.js → routes-config-BcNaWJWJ.js} +2 -3
- package/dist/chunks/{routes-config-yZbESPlw.js.map → routes-config-BcNaWJWJ.js.map} +1 -1
- package/dist/chunks/routes-config-C1j_vFKo.cjs.map +1 -1
- package/dist/chunks/task-decision-3d17ZvZE.js +29 -0
- package/dist/chunks/task-decision-3d17ZvZE.js.map +1 -0
- package/dist/chunks/task-decision-CqZ4WQOC.cjs +2 -0
- package/dist/chunks/task-decision-CqZ4WQOC.cjs.map +1 -0
- package/dist/chunks/{use-bpm-member-D57LKe_u.js → use-bpm-member-BPzcNU1g.js} +3 -4
- package/dist/chunks/{use-bpm-member-D57LKe_u.js.map → use-bpm-member-BPzcNU1g.js.map} +1 -1
- package/dist/chunks/use-bpm-member-DpNAQtNC.cjs.map +1 -1
- package/dist/chunks/{users-Pl6hY5Y5.js → users-BBtiZ9QQ.js} +22 -25
- package/dist/chunks/{users-Pl6hY5Y5.js.map → users-BBtiZ9QQ.js.map} +1 -1
- package/dist/chunks/{users-O2L_M3BK.cjs → users-EqSzDhuj.cjs} +2 -2
- package/dist/chunks/{users-O2L_M3BK.cjs.map → users-EqSzDhuj.cjs.map} +1 -1
- package/dist/components/admin-picker-options.d.cts +11 -0
- package/dist/components/admin-picker-options.d.ts +11 -0
- package/dist/components/admin-pickers.d.cts +2 -11
- package/dist/components/admin-pickers.d.ts +2 -11
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +17 -19
- package/dist/index.js.map +1 -1
- package/dist/lib/task-decision.d.cts +16 -0
- package/dist/lib/task-decision.d.ts +16 -0
- package/dist/lib/use-org-unit-names.d.cts +10 -0
- package/dist/lib/use-org-unit-names.d.ts +10 -0
- package/dist/next/index.cjs +1 -1
- package/dist/next/index.cjs.map +1 -1
- package/dist/next/index.js +7 -8
- package/dist/next/index.js.map +1 -1
- package/dist/next/workflow-chat-route.cjs +19 -1
- package/dist/next/workflow-chat-route.cjs.map +1 -1
- package/dist/next/workflow-chat-route.js +2 -3
- package/dist/next/workflow-chat-route.js.map +1 -1
- package/dist/pages/admin/delegations/index.cjs +1 -1
- package/dist/pages/admin/delegations/index.cjs.map +1 -1
- package/dist/pages/admin/delegations/index.js +2 -3
- package/dist/pages/admin/orgs/index.cjs +1 -1
- package/dist/pages/admin/orgs/index.cjs.map +1 -1
- package/dist/pages/admin/orgs/index.js +2 -3
- package/dist/pages/admin/users/index.cjs +1 -1
- package/dist/pages/admin/users/index.cjs.map +1 -1
- package/dist/pages/admin/users/index.js +2 -3
- package/dist/pages/admin/webhook-endpoints/index.cjs.map +1 -1
- package/dist/pages/admin/webhook-endpoints/index.js +1 -2
- package/dist/pages/cc/index.cjs.map +1 -1
- package/dist/pages/cc/index.js +1 -2
- package/dist/pages/dashboard/index.cjs.map +1 -1
- package/dist/pages/dashboard/index.js +1 -2
- package/dist/pages/delegations/index.cjs +1 -1
- package/dist/pages/delegations/index.cjs.map +1 -1
- package/dist/pages/delegations/index.js +2 -3
- package/dist/pages/inbox/index.cjs.map +1 -1
- package/dist/pages/inbox/index.js +1 -2
- package/dist/pages/instances/detail/index.cjs +1 -1
- package/dist/pages/instances/detail/index.cjs.map +1 -1
- package/dist/pages/instances/detail/index.js +2 -3
- package/dist/pages/instances/new/index.cjs.map +1 -1
- package/dist/pages/instances/new/index.js +1 -2
- package/dist/pages/login/index.cjs +1 -1
- package/dist/pages/login/index.cjs.map +1 -1
- package/dist/pages/login/index.js +2 -3
- package/dist/pages/root/index.cjs.map +1 -1
- package/dist/pages/root/index.js +1 -2
- package/dist/pages/search/index.cjs.map +1 -1
- package/dist/pages/search/index.js +1 -2
- package/dist/pages/sent/index.cjs.map +1 -1
- package/dist/pages/sent/index.js +1 -2
- package/dist/pages/settings/notifications/index.cjs.map +1 -1
- package/dist/pages/settings/notifications/index.js +2 -3
- package/dist/pages/templates/categories/index.cjs +1 -1
- package/dist/pages/templates/categories/index.cjs.map +1 -1
- package/dist/pages/templates/categories/index.js +2 -3
- package/dist/pages/templates/compose/index.cjs +1 -1
- package/dist/pages/templates/compose/index.cjs.map +1 -1
- package/dist/pages/templates/compose/index.js +2 -3
- package/dist/pages/templates/designer/index.cjs +1 -1
- package/dist/pages/templates/designer/index.cjs.map +1 -1
- package/dist/pages/templates/designer/index.js +2 -3
- package/dist/pages/templates/index.cjs.map +1 -1
- package/dist/pages/templates/index.js +1 -2
- package/dist/pages/templates/versions/index.cjs.map +1 -1
- package/dist/pages/templates/versions/index.js +1 -2
- package/dist/views/admin/delegations/index.cjs +1 -1
- package/dist/views/admin/delegations/index.js +1 -1
- package/dist/views/admin/index.cjs +1 -1
- package/dist/views/admin/index.js +3 -3
- package/dist/views/admin/orgs/index.cjs +1 -1
- package/dist/views/admin/orgs/index.js +1 -1
- package/dist/views/admin/users/index.cjs +1 -1
- package/dist/views/admin/users/index.js +1 -1
- package/dist/views/admin/webhook-endpoints/index.cjs +1 -1
- package/dist/views/admin/webhook-endpoints/index.cjs.map +1 -1
- package/dist/views/admin/webhook-endpoints/index.js +52 -53
- package/dist/views/admin/webhook-endpoints/index.js.map +1 -1
- package/dist/views/cc/index.cjs +1 -1
- package/dist/views/cc/index.cjs.map +1 -1
- package/dist/views/cc/index.js +2 -3
- package/dist/views/dashboard/index.cjs +1 -1
- package/dist/views/dashboard/index.cjs.map +1 -1
- package/dist/views/dashboard/index.js +2 -3
- package/dist/views/delegations/index.cjs +1 -1
- package/dist/views/delegations/index.js +1 -1
- package/dist/views/forms/builder/index.cjs +1 -1
- package/dist/views/forms/builder/index.js +1 -1
- package/dist/views/forms/renderer/FormRendererView.d.cts +24 -1
- package/dist/views/forms/renderer/FormRendererView.d.ts +24 -1
- package/dist/views/forms/renderer/file-upload-field.d.cts +84 -0
- package/dist/views/forms/renderer/file-upload-field.d.ts +84 -0
- package/dist/views/forms/renderer/form-value-readers.d.cts +7 -0
- package/dist/views/forms/renderer/form-value-readers.d.ts +7 -0
- package/dist/views/forms/renderer/index.cjs +1 -1
- package/dist/views/forms/renderer/index.d.cts +1 -0
- package/dist/views/forms/renderer/index.d.ts +1 -0
- package/dist/views/forms/renderer/index.js +1 -1
- package/dist/views/forms/renderer/org-unit-field-options.d.cts +44 -0
- package/dist/views/forms/renderer/org-unit-field-options.d.ts +44 -0
- package/dist/views/forms/renderer/org-unit-field.d.cts +23 -0
- package/dist/views/forms/renderer/org-unit-field.d.ts +23 -0
- package/dist/views/inbox/index.cjs +1 -1
- package/dist/views/inbox/index.cjs.map +1 -1
- package/dist/views/inbox/index.js +133 -137
- package/dist/views/inbox/index.js.map +1 -1
- package/dist/views/instances/approver-filled-form.d.cts +9 -2
- package/dist/views/instances/approver-filled-form.d.ts +9 -2
- package/dist/views/instances/detail/index.cjs +1 -1
- package/dist/views/instances/detail/index.js +1 -1
- package/dist/views/instances/detail/sections/InstanceFormSection.d.cts +19 -2
- package/dist/views/instances/detail/sections/InstanceFormSection.d.ts +19 -2
- package/dist/views/instances/detail/sections/InstanceHistorySection.d.cts +8 -1
- package/dist/views/instances/detail/sections/InstanceHistorySection.d.ts +8 -1
- package/dist/views/instances/detail/sections/container-helpers.d.cts +0 -1
- package/dist/views/instances/detail/sections/container-helpers.d.ts +0 -1
- package/dist/views/instances/detail/sections/shared.d.cts +3 -4
- package/dist/views/instances/detail/sections/shared.d.ts +3 -4
- package/dist/views/instances/instance-error-message.d.cts +5 -0
- package/dist/views/instances/instance-error-message.d.ts +5 -0
- package/dist/views/instances/new/index.cjs +1 -1
- package/dist/views/instances/new/index.cjs.map +1 -1
- package/dist/views/instances/new/index.js +78 -77
- package/dist/views/instances/new/index.js.map +1 -1
- package/dist/views/login/index.cjs +1 -1
- package/dist/views/login/index.js +1 -1
- package/dist/views/search/index.cjs +1 -1
- package/dist/views/search/index.cjs.map +1 -1
- package/dist/views/search/index.js +2 -3
- package/dist/views/sent/index.cjs +1 -1
- package/dist/views/sent/index.cjs.map +1 -1
- package/dist/views/sent/index.js +2 -3
- package/dist/views/settings/index.js +1 -1
- package/dist/views/settings/notifications/index.js +1 -1
- package/dist/views/templates/categories/index.cjs +1 -1
- package/dist/views/templates/categories/index.js +1 -1
- package/dist/views/templates/compose/index.cjs +1 -1
- package/dist/views/templates/compose/index.js +1 -1
- package/dist/views/templates/designer/approver-resolver-model.d.cts +211 -0
- package/dist/views/templates/designer/approver-resolver-model.d.ts +211 -0
- package/dist/views/templates/designer/dry-run-assignee-label.d.cts +2 -0
- package/dist/views/templates/designer/dry-run-assignee-label.d.ts +2 -0
- package/dist/views/templates/designer/dry-run-sample-data.d.cts +6 -0
- package/dist/views/templates/designer/dry-run-sample-data.d.ts +6 -0
- package/dist/views/templates/designer/dynamic-form-resolver-options.d.cts +25 -0
- package/dist/views/templates/designer/dynamic-form-resolver-options.d.ts +25 -0
- package/dist/views/templates/designer/index.cjs +1 -1
- package/dist/views/templates/designer/index.js +1 -1
- package/dist/views/templates/designer/node-actor-resolver-options.d.cts +38 -0
- package/dist/views/templates/designer/node-actor-resolver-options.d.ts +38 -0
- package/dist/views/templates/index.cjs +1 -1
- package/dist/views/templates/index.cjs.map +1 -1
- package/dist/views/templates/index.js +50 -51
- package/dist/views/templates/index.js.map +1 -1
- package/dist/views/templates/versions/index.cjs +1 -1
- package/dist/views/templates/versions/index.cjs.map +1 -1
- package/dist/views/templates/versions/index.js +7 -8
- package/dist/views/templates/versions/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunks/FormBuilderView-BVKY1j_0.js.map +0 -1
- package/dist/chunks/FormBuilderView-SrGltzFT.cjs +0 -3
- package/dist/chunks/FormBuilderView-SrGltzFT.cjs.map +0 -1
- package/dist/chunks/FormRendererView-BsTwZkqU.js.map +0 -1
- package/dist/chunks/FormRendererView-GpsE03np.cjs +0 -4
- package/dist/chunks/FormRendererView-GpsE03np.cjs.map +0 -1
- package/dist/chunks/admin-pickers-BRHk3qKq.cjs +0 -2
- package/dist/chunks/admin-pickers-BRHk3qKq.cjs.map +0 -1
- package/dist/chunks/admin-pickers-Djq3h-UR.js.map +0 -1
- package/dist/chunks/approver-filled-form-Dm3Iw7iw.cjs.map +0 -1
- package/dist/chunks/approver-filled-form-ZEwpmsHJ.js.map +0 -1
- package/dist/chunks/compose-B1GlrZW9.js.map +0 -1
- package/dist/chunks/compose-DZk-SfHT.cjs +0 -2
- package/dist/chunks/compose-DZk-SfHT.cjs.map +0 -1
- package/dist/chunks/designer-BCLrjb4H.js.map +0 -1
- package/dist/chunks/designer-BYYxEN9L.cjs +0 -65
- package/dist/chunks/designer-BYYxEN9L.cjs.map +0 -1
- package/dist/chunks/detail-4F39ggBn.js.map +0 -1
- package/dist/chunks/detail-BkMtA_0K.cjs +0 -2
- package/dist/chunks/detail-BkMtA_0K.cjs.map +0 -1
- package/dist/chunks/orgs-BeeDDWL1.cjs +0 -2
- package/dist/chunks/task-node-label-BF6UllxP.cjs +0 -2
- package/dist/chunks/task-node-label-BF6UllxP.cjs.map +0 -1
- package/dist/chunks/task-node-label-CWZgOBj0.js +0 -9
- package/dist/chunks/task-node-label-CWZgOBj0.js.map +0 -1
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./bpm-form-field-
|
|
3
|
-
import { t } from "./format-member-label-
|
|
2
|
+
import { t as e } from "./bpm-form-field-9B-Det0u.js";
|
|
3
|
+
import { t } from "./format-member-label-C73FuP-d.js";
|
|
4
4
|
import { useCallback as n, useEffect as r, useMemo as i, useRef as a, useState as o } from "react";
|
|
5
5
|
import { AutoComplete as s, Button as c, CheckboxGroup as l, DatePicker as u, DateTimePicker as d, Input as f, RadioGroup as p, Select as m, Table as h, Textarea as g, Toggle as _, Typography as v, Upload as y } from "@mezzanine-ui/react";
|
|
6
6
|
import { resolveMembers as b, searchMembers as x } from "@rytass/bpm-core-client";
|
|
7
7
|
import { jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
8
8
|
import { PlusIcon as w, TrashIcon as T } from "@mezzanine-ui/icons";
|
|
9
|
-
import { buildFormRendererValues as E, clampOptionalNumber as D, createFormTableRow as
|
|
10
|
-
import { isFormDataSourceFieldDefinition as
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
import { buildFormRendererValues as E, clampOptionalNumber as D, createFormTableRow as O, formatDatePickerValue as k, formatDateTimePickerValue as A, isFormRendererFieldReadonly as j, isFormRendererFieldRequired as M, mergeFormDataSourceOptions as N, parseOptionalNumberInput as P, previewFormFieldOptions as ee, previewResolveFormFieldOptions as te, readDatePickerValue as F, readFieldOptionAsSelectOption as I, readFormDataSourceErrorCode as ne, readFormDataSourceErrorMessage as re, readFormDataSourceSelectedValues as ie, readFormDataSourceValueSignature as L, readFormFieldOptions as ae, readFormTableCellPath as oe, readFormTableRowBounds as se, readFormTableRows as R, readMissingFormDataSourceDependencies as ce, readMissingFormDataSourceOptionValues as z, readSelectOption as le, readSelectedFormDataSourceOptions as ue, readVisibleFormRendererFields as de, resolveFormFieldOptions as fe } from "@rytass/bpm-core-client/form";
|
|
10
|
+
import { isFormDataSourceFieldDefinition as B, isFormStaticOptionFieldDefinition as pe, isFormTableCellValue as V, isTableFieldDefinition as me, readFormFieldSelectionMode as H, readFormMemberIds as U } from "@rytass/bpm-core-shared/form";
|
|
11
|
+
import { resolveOrgUnitOptions as W, searchOrgUnitOptions as G } from "@rytass/bpm-core-client/organization";
|
|
12
|
+
// src/views/forms/renderer/form-data-source-field.ts
|
|
13
|
+
var he = {
|
|
13
14
|
canRetry: !1,
|
|
14
15
|
error: null,
|
|
15
16
|
hasValue: !1,
|
|
@@ -20,13 +21,13 @@ var me = {
|
|
|
20
21
|
options: [],
|
|
21
22
|
retry: () => void 0,
|
|
22
23
|
status: "IDLE"
|
|
23
|
-
},
|
|
24
|
-
function
|
|
25
|
-
let t =
|
|
24
|
+
}, K = [], ge = 10, _e = ["FORM_DATA_SOURCE_SEARCH_NOT_SUPPORTED", "FORM_DATA_SOURCE_SEARCH_TOO_SHORT"];
|
|
25
|
+
function q(e) {
|
|
26
|
+
let t = B(e.field) ? e.field : null, s = e.fieldPath ?? t?.fieldKey ?? "", c = t ? e.optionSnapshots?.[e.snapshotKey ?? t.fieldKey] : void 0, l = t ? JSON.stringify({
|
|
26
27
|
dataSource: t.dataSource,
|
|
27
28
|
fieldKey: t.fieldKey,
|
|
28
29
|
type: t.type
|
|
29
|
-
}) : "", u = JSON.stringify(c ?? null), d = i(() => c?.options ?? [], [u]), f = JSON.stringify(e.formData), p = JSON.stringify(e.initialFormData ?? {}), m = JSON.stringify(e.schema), h = JSON.stringify(e.uiSchema), g = e.context?.kind, _ = e.context?.kind === "runtime" ? e.context.instanceId : void 0, v = e.context?.kind === "runtime" ? e.context.templateId : void 0, y = JSON.stringify(e.row?.values ?? null), b = JSON.stringify(e.row?.initialValues ?? null), x = t ? e.row ? e.row.values[t.fieldKey] : e.formData[t.fieldKey] : void 0, S =
|
|
30
|
+
}) : "", u = JSON.stringify(c ?? null), d = i(() => c?.options ?? [], [u]), f = JSON.stringify(e.formData), p = JSON.stringify(e.initialFormData ?? {}), m = JSON.stringify(e.schema), h = JSON.stringify(e.uiSchema), g = e.context?.kind, _ = e.context?.kind === "runtime" ? e.context.instanceId : void 0, v = e.context?.kind === "runtime" ? e.context.templateId : void 0, y = JSON.stringify(e.row?.values ?? null), b = JSON.stringify(e.row?.initialValues ?? null), x = t ? e.row ? e.row.values[t.fieldKey] : e.formData[t.fieldKey] : void 0, S = L(x), C = i(() => ie(x), [S]), w = C.length > 0, T = t ? JSON.stringify({
|
|
30
31
|
bindings: t.dataSource.bindings.map((t) => t.from.kind === "FIELD" ? {
|
|
31
32
|
fieldKey: t.from.fieldKey,
|
|
32
33
|
value: e.formData[t.from.fieldKey]
|
|
@@ -47,28 +48,28 @@ function K(e) {
|
|
|
47
48
|
g,
|
|
48
49
|
v,
|
|
49
50
|
e.readonly
|
|
50
|
-
]), D = t ? (e.initialFormData !== void 0 || e.initialValue !== void 0) &&
|
|
51
|
+
]), D = t ? (e.initialFormData !== void 0 || e.initialValue !== void 0) && L(e.initialValue) !== S : !1, O = t ? e.initialFormData !== void 0 && t.dataSource.bindings.some((t) => t.from.kind === "FIELD" ? L(e.initialFormData?.[t.from.fieldKey]) !== L(e.formData[t.from.fieldKey]) : t.from.kind === "ROW_FIELD" && e.row?.initialValues ? L(e.row.initialValues[t.from.columnKey]) !== L(e.row.values[t.from.columnKey]) : !1) : !1, k = !(!c && !w || !D && !O), A = !!(t && E && k && w), j = ye({
|
|
51
52
|
hasSnapshot: !!c,
|
|
52
53
|
hasValue: w,
|
|
53
|
-
isStale:
|
|
54
|
+
isStale: k,
|
|
54
55
|
readonly: e.readonly
|
|
55
|
-
}),
|
|
56
|
+
}), M = !!(t && E && t.type !== "autocomplete"), P = be(k, M && t !== null && ce(t, e.formData, e.row?.values).length > 0), [F, I] = o([]), [oe, se] = o(""), [R, z] = o(null), [le, de] = o(null), [pe, V] = o(() => t ? M ? P : j : "IDLE"), [me, H] = o(null), U = a(0), W = a(0), G = a(0), K = a(null), q = a(null), J = a({
|
|
56
57
|
cursor: null,
|
|
57
58
|
searchText: ""
|
|
58
|
-
}), Y = i(() => we(e.formData), [f]), X = i(() => e.row ? we(e.row.values) : void 0, [y]),
|
|
59
|
-
options:
|
|
60
|
-
resolution:
|
|
61
|
-
resolvePending:
|
|
59
|
+
}), Y = i(() => we(e.formData), [f]), X = i(() => e.row ? we(e.row.values) : void 0, [y]), Z = i(() => N(d, F), [F, d]), Te = le && le.signature === T ? le : null, Ee = A && !Te, De = ve({
|
|
60
|
+
options: Z,
|
|
61
|
+
resolution: Te,
|
|
62
|
+
resolvePending: Ee,
|
|
62
63
|
value: x
|
|
63
|
-
}),
|
|
64
|
+
}), Q = n((n, r) => {
|
|
64
65
|
if (!t || !E) return;
|
|
65
|
-
let i =
|
|
66
|
-
|
|
66
|
+
let i = W.current + 1;
|
|
67
|
+
W.current = i, J.current = {
|
|
67
68
|
cursor: r,
|
|
68
69
|
searchText: n
|
|
69
|
-
},
|
|
70
|
+
}, K.current?.abort();
|
|
70
71
|
let a = new AbortController();
|
|
71
|
-
|
|
72
|
+
K.current = a, V(P), H(null), (E.kind === "preview" ? ee({
|
|
72
73
|
cursor: r,
|
|
73
74
|
fieldKey: s,
|
|
74
75
|
formData: Y,
|
|
@@ -77,7 +78,7 @@ function K(e) {
|
|
|
77
78
|
searchText: n,
|
|
78
79
|
signal: a.signal,
|
|
79
80
|
uiSchema: e.uiSchema
|
|
80
|
-
}) :
|
|
81
|
+
}) : ae({
|
|
81
82
|
cursor: r,
|
|
82
83
|
fieldKey: s,
|
|
83
84
|
formData: Y,
|
|
@@ -87,34 +88,34 @@ function K(e) {
|
|
|
87
88
|
signal: a.signal,
|
|
88
89
|
templateId: E.templateId ?? null
|
|
89
90
|
})).then((e) => {
|
|
90
|
-
Ce(a,
|
|
91
|
-
let n =
|
|
92
|
-
return
|
|
93
|
-
}),
|
|
91
|
+
Ce(a, W, i) || (I((t) => {
|
|
92
|
+
let n = ue(x, t);
|
|
93
|
+
return N(n, r ? t : [], e.options);
|
|
94
|
+
}), z(e.nextCursor), H(null), U.current = r ? U.current + e.options.length : e.options.length, e.nextCursor && e.options.length > 0 && U.current < ge && Oe.current(n, e.nextCursor), V(e.waitingForFieldKeys.length ? "WAITING_FOR_DEPENDENCIES" : "VALID"));
|
|
94
95
|
}).catch((e) => {
|
|
95
|
-
if (Ce(a,
|
|
96
|
-
let t =
|
|
97
|
-
|
|
96
|
+
if (Ce(a, W, i)) return;
|
|
97
|
+
let t = re(e) ?? "選項來源暫時無法使用。", n = ne(e);
|
|
98
|
+
H(t), V(xe(!!(n && _e.includes(n)), w));
|
|
98
99
|
});
|
|
99
100
|
}, [
|
|
100
101
|
S,
|
|
101
102
|
l,
|
|
102
103
|
E,
|
|
103
104
|
w,
|
|
104
|
-
|
|
105
|
+
P,
|
|
105
106
|
s,
|
|
106
107
|
Y,
|
|
107
108
|
X,
|
|
108
109
|
m,
|
|
109
110
|
h
|
|
110
|
-
]),
|
|
111
|
-
|
|
111
|
+
]), Oe = a(Q);
|
|
112
|
+
Oe.current = Q;
|
|
112
113
|
let ke = n(() => {
|
|
113
114
|
if (!t || !E || C.length === 0) return;
|
|
114
|
-
let n = T, r =
|
|
115
|
-
|
|
115
|
+
let n = T, r = G.current + 1;
|
|
116
|
+
G.current = r, q.current?.abort();
|
|
116
117
|
let i = new AbortController();
|
|
117
|
-
|
|
118
|
+
q.current = i, H(null), (E.kind === "preview" ? te({
|
|
118
119
|
fieldKey: s,
|
|
119
120
|
formData: Y,
|
|
120
121
|
rowValues: X,
|
|
@@ -122,7 +123,7 @@ function K(e) {
|
|
|
122
123
|
signal: i.signal,
|
|
123
124
|
uiSchema: e.uiSchema,
|
|
124
125
|
values: C
|
|
125
|
-
}) :
|
|
126
|
+
}) : fe({
|
|
126
127
|
fieldKey: s,
|
|
127
128
|
formData: Y,
|
|
128
129
|
instanceId: E.instanceId ?? null,
|
|
@@ -131,12 +132,12 @@ function K(e) {
|
|
|
131
132
|
templateId: E.templateId ?? null,
|
|
132
133
|
values: C
|
|
133
134
|
})).then((e) => {
|
|
134
|
-
Ce(i,
|
|
135
|
+
Ce(i, G, r) || (e.waitingForFieldKeys.length ? V("WAITING_FOR_DEPENDENCIES") : (I((t) => N(t, e.options)), de({
|
|
135
136
|
signature: n,
|
|
136
137
|
unresolvedValues: e.unresolvedValues
|
|
137
|
-
}),
|
|
138
|
+
}), V("VALID")));
|
|
138
139
|
}).catch((e) => {
|
|
139
|
-
Ce(i,
|
|
140
|
+
Ce(i, G, r) || (V("UNAVAILABLE"), H(re(e) ?? "選項來源暫時無法使用。"));
|
|
140
141
|
});
|
|
141
142
|
}, [
|
|
142
143
|
T,
|
|
@@ -150,60 +151,60 @@ function K(e) {
|
|
|
150
151
|
h
|
|
151
152
|
]), Ae = a(ke);
|
|
152
153
|
Ae.current = ke, r(() => {
|
|
153
|
-
|
|
154
|
+
W.current += 1, K.current?.abort(), I((e) => ue(x, e)), z((e) => e === null ? e : null), se((e) => e && ""), H((e) => e && null), t ? M ? Oe.current("", null) : V(j) : V("IDLE");
|
|
154
155
|
}, [
|
|
155
|
-
|
|
156
|
+
M,
|
|
156
157
|
l,
|
|
157
158
|
E,
|
|
158
159
|
T,
|
|
159
160
|
p,
|
|
160
161
|
b,
|
|
161
162
|
e.readonly,
|
|
162
|
-
|
|
163
|
-
|
|
163
|
+
P,
|
|
164
|
+
j,
|
|
164
165
|
u
|
|
165
166
|
]), r(() => {
|
|
166
|
-
|
|
167
|
+
A && Ae.current();
|
|
167
168
|
}, [
|
|
168
169
|
T,
|
|
169
170
|
E,
|
|
170
|
-
|
|
171
|
+
A
|
|
171
172
|
]), r(() => () => {
|
|
172
|
-
|
|
173
|
+
K.current?.abort(), q.current?.abort();
|
|
173
174
|
}, []);
|
|
174
175
|
let je = n((e) => {
|
|
175
|
-
|
|
176
|
-
}, [
|
|
177
|
-
|
|
176
|
+
se(e), I((e) => ue(x, e)), z(null), Q(e, null);
|
|
177
|
+
}, [Q]), Me = n(() => {
|
|
178
|
+
R && Q(oe, R);
|
|
178
179
|
}, [
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
180
|
+
Q,
|
|
181
|
+
R,
|
|
182
|
+
oe
|
|
182
183
|
]), Ne = n(() => {
|
|
183
|
-
E && (
|
|
184
|
+
E && (Q(J.current.searchText, J.current.cursor), A && Ae.current());
|
|
184
185
|
}, [
|
|
185
186
|
E,
|
|
186
|
-
|
|
187
|
-
|
|
187
|
+
Q,
|
|
188
|
+
A
|
|
188
189
|
]);
|
|
189
190
|
return t ? {
|
|
190
191
|
canRetry: !!E,
|
|
191
|
-
error:
|
|
192
|
+
error: me,
|
|
192
193
|
hasValue: w,
|
|
193
|
-
hasNextPage: !!
|
|
194
|
-
invalidValues:
|
|
194
|
+
hasNextPage: !!R,
|
|
195
|
+
invalidValues: De,
|
|
195
196
|
onReachBottom: Me,
|
|
196
197
|
onSearch: je,
|
|
197
|
-
options:
|
|
198
|
+
options: Z,
|
|
198
199
|
retry: Ne,
|
|
199
200
|
status: Se({
|
|
200
|
-
invalidValues:
|
|
201
|
-
resolvePending:
|
|
202
|
-
status:
|
|
201
|
+
invalidValues: De,
|
|
202
|
+
resolvePending: Ee,
|
|
203
|
+
status: pe
|
|
203
204
|
})
|
|
204
|
-
} :
|
|
205
|
+
} : he;
|
|
205
206
|
}
|
|
206
|
-
function
|
|
207
|
+
function J(e) {
|
|
207
208
|
switch (e.status) {
|
|
208
209
|
case "WAITING_FOR_DEPENDENCIES": return "請先填寫相依欄位。";
|
|
209
210
|
case "STALE": return "選項需要重新載入或驗證。";
|
|
@@ -213,15 +214,15 @@ function q(e) {
|
|
|
213
214
|
default: return e.error;
|
|
214
215
|
}
|
|
215
216
|
}
|
|
216
|
-
function
|
|
217
|
+
function Y(e) {
|
|
217
218
|
return e.hasValue && e.status !== "VALID";
|
|
218
219
|
}
|
|
219
|
-
function
|
|
220
|
-
let t = e.filter(
|
|
220
|
+
function X(e) {
|
|
221
|
+
let t = e.filter(Y);
|
|
221
222
|
return t.length === 0 ? null : t.every((e) => e.status === "LOADING" || e.status === "STALE") ? "選項驗證中,請稍候再送出。" : "請先完成動態選項驗證。";
|
|
222
223
|
}
|
|
223
224
|
function ve(e) {
|
|
224
|
-
return e.resolution ? e.resolution.unresolvedValues : e.resolvePending ?
|
|
225
|
+
return e.resolution ? e.resolution.unresolvedValues : e.resolvePending ? K : z(e.value, e.options);
|
|
225
226
|
}
|
|
226
227
|
function ye(e) {
|
|
227
228
|
return e.isStale ? "STALE" : e.hasSnapshot ? "VALID" : e.readonly && e.hasValue ? "UNAVAILABLE" : "IDLE";
|
|
@@ -244,35 +245,158 @@ function we(e) {
|
|
|
244
245
|
[t]: n
|
|
245
246
|
}, {});
|
|
246
247
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
248
|
+
// src/views/forms/renderer/form-value-readers.ts
|
|
249
|
+
function Z(e) {
|
|
250
|
+
return Array.isArray(e) && e.every((e) => typeof e == "string") ? e : [];
|
|
251
|
+
}
|
|
252
|
+
// src/views/forms/renderer/file-upload-field.tsx
|
|
253
|
+
function Te(e) {
|
|
254
|
+
return e.some((e) => e.pendingCount > 0) ? "附件仍在上傳中,請稍候再送出。" : e.some((e) => e.failedCount > 0) ? "有附件上傳失敗,請重試或移除後再送出。" : null;
|
|
255
|
+
}
|
|
256
|
+
function Ee() {
|
|
257
|
+
let [e, t] = o({}), r = n((e, n) => t((t) => ({
|
|
258
|
+
...t,
|
|
259
|
+
[e]: n
|
|
260
|
+
})), []);
|
|
261
|
+
return {
|
|
262
|
+
blockMessage: Te(Object.values(e)),
|
|
263
|
+
onFileUploadStateChange: r
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
var De = "無法讀取檔名的附件", Q = "此處無法上傳附件";
|
|
267
|
+
function Oe({ attachments: e, field: t, onChange: s, onDownloadAttachment: c, onStateChange: l, onUploadAttachment: u, readonly: d, value: f }) {
|
|
268
|
+
let [p, m] = o([]), [h, g] = o(() => /* @__PURE__ */ new Map()), [_, v] = o([]), b = Z(f), x = b.join("\n"), C = i(() => new Map((e ?? []).map((e) => [e.id, e])), [e]), w = i(() => {
|
|
269
|
+
let e = new Map(_.map((e, t) => [e, t]));
|
|
270
|
+
return [...b.map((e) => h.get(e) ?? ke(e, C.get(e))), ...p].sort((t, n) => (e.get(t.id) ?? -1) - (e.get(n.id) ?? -1));
|
|
271
|
+
}, [
|
|
272
|
+
C,
|
|
273
|
+
_,
|
|
274
|
+
h,
|
|
275
|
+
p,
|
|
276
|
+
x
|
|
277
|
+
]), T = a(w), E = a(!0), D = a(M);
|
|
278
|
+
D.current = M, r(() => {
|
|
279
|
+
T.current = w;
|
|
280
|
+
}, [w]);
|
|
281
|
+
let O = n((e) => D.current(e), []), k = p.filter((e) => e.status === "loading").length, A = p.filter((e) => e.status === "error").length, j = a(l);
|
|
282
|
+
j.current = l, r(() => {
|
|
283
|
+
j.current?.({
|
|
284
|
+
failedCount: A,
|
|
285
|
+
pendingCount: k
|
|
286
|
+
});
|
|
287
|
+
}, [A, k]), r(() => (E.current = !0, () => {
|
|
288
|
+
E.current = !1, j.current?.({
|
|
289
|
+
failedCount: 0,
|
|
290
|
+
pendingCount: 0
|
|
291
|
+
});
|
|
292
|
+
}), []);
|
|
293
|
+
function M(e) {
|
|
294
|
+
if (!E.current) return;
|
|
295
|
+
let t = e.filter((e) => e.status === "done"), n = t.map((e) => e.id), r = new Set(b), i = t.filter((e) => e.file !== void 0 && !r.has(e.id));
|
|
296
|
+
T.current = e, v(e.map((e) => e.id)), m(e.filter((e) => e.status !== "done")), i.length > 0 && g((e) => new Map([...e, ...i.map((e) => [e.id, e])])), n.join("\n") !== x && s(n.length ? n : void 0);
|
|
297
|
+
}
|
|
298
|
+
async function N(e) {
|
|
299
|
+
if (!u) throw Error(Q);
|
|
300
|
+
return {
|
|
301
|
+
file: e,
|
|
302
|
+
id: (await u(t, e)).id,
|
|
303
|
+
progress: 100,
|
|
304
|
+
status: "done"
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
async function P(e, t) {
|
|
308
|
+
let n = await N(t).catch((n) => ({
|
|
309
|
+
errorMessage: je(n),
|
|
310
|
+
file: t,
|
|
311
|
+
id: e,
|
|
312
|
+
status: "error"
|
|
313
|
+
}));
|
|
314
|
+
D.current(T.current.map((t) => t.id === e ? n : t));
|
|
315
|
+
}
|
|
316
|
+
function ee(e, t) {
|
|
317
|
+
h.has(e) ? Me(t) : c?.(e);
|
|
318
|
+
}
|
|
319
|
+
let te = !!u && !d, F = [...!d && !u ? [{
|
|
320
|
+
label: Q,
|
|
321
|
+
type: "info"
|
|
322
|
+
}] : [], ...p.filter((e) => e.status === "error").map((e) => ({
|
|
323
|
+
label: `${e.file?.name ?? "檔案"}:${e.errorMessage ?? "上傳失敗"},未附加。請重試或刪除。`,
|
|
324
|
+
type: "error"
|
|
325
|
+
}))];
|
|
326
|
+
return /* @__PURE__ */ S(y, {
|
|
327
|
+
accept: t.acceptedMimeTypes?.join(","),
|
|
328
|
+
disabled: !te,
|
|
329
|
+
files: w,
|
|
330
|
+
...F.length > 0 ? { hints: F } : {},
|
|
331
|
+
maxFiles: t.maxFiles,
|
|
332
|
+
mode: "button-list",
|
|
333
|
+
...(t.maxFiles ?? 1) > 1 ? { multiple: !0 } : {},
|
|
334
|
+
onChange: O,
|
|
335
|
+
onDownload: ee,
|
|
336
|
+
onReload: (e, t) => {
|
|
337
|
+
P(e, t);
|
|
338
|
+
},
|
|
339
|
+
onUpload: async (e) => Promise.all(e.map(async (e) => N(e).catch((t) => ({
|
|
340
|
+
errorMessage: je(t),
|
|
341
|
+
file: e,
|
|
342
|
+
id: `failed-${e.name}-${e.lastModified}-${Math.random()}`,
|
|
343
|
+
status: "error"
|
|
344
|
+
})))),
|
|
345
|
+
size: "sub"
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
function ke(e, t) {
|
|
349
|
+
return t ? {
|
|
350
|
+
file: Ae(t),
|
|
351
|
+
id: e,
|
|
352
|
+
progress: 100,
|
|
353
|
+
status: "done"
|
|
354
|
+
} : {
|
|
355
|
+
id: e,
|
|
356
|
+
progress: 100,
|
|
357
|
+
status: "done",
|
|
358
|
+
url: De
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
function Ae(e) {
|
|
362
|
+
let t = new File([], e.filename), n = Number(e.sizeBytes);
|
|
363
|
+
return Number.isFinite(n) && n >= 0 && Object.defineProperty(t, "size", { value: n }), t;
|
|
364
|
+
}
|
|
365
|
+
function je(e) {
|
|
366
|
+
return e instanceof Error && e.message ? `上傳失敗:${e.message}` : "上傳失敗,請重試。";
|
|
367
|
+
}
|
|
368
|
+
function Me(e) {
|
|
369
|
+
let t = URL.createObjectURL(e), n = document.createElement("a");
|
|
370
|
+
n.href = t, n.download = e.name, n.style.display = "none", document.body.appendChild(n), n.click(), n.remove(), setTimeout(() => URL.revokeObjectURL(t), 3e4);
|
|
371
|
+
}
|
|
372
|
+
// src/views/forms/renderer/form-field-link.ts
|
|
373
|
+
var Ne = /\s/u;
|
|
374
|
+
function Pe(e) {
|
|
251
375
|
return [...e].some((e) => {
|
|
252
376
|
let t = e.codePointAt(0) ?? 0;
|
|
253
|
-
return t <= 32 || t >= 127 && t <= 160 ||
|
|
377
|
+
return t <= 32 || t >= 127 && t <= 160 || Ne.test(e);
|
|
254
378
|
});
|
|
255
379
|
}
|
|
256
|
-
var
|
|
257
|
-
function
|
|
258
|
-
return typeof e != "string" || !e || e.includes("\\") ||
|
|
380
|
+
var Fe = /^https?:\/\//iu;
|
|
381
|
+
function Ie(e) {
|
|
382
|
+
return typeof e != "string" || !e || e.includes("\\") || Pe(e) ? null : e.startsWith("/") ? !e.startsWith("//") && Re(e) ? {
|
|
259
383
|
external: !1,
|
|
260
384
|
href: e
|
|
261
|
-
} : null :
|
|
385
|
+
} : null : Fe.test(e) && ze(e) ? {
|
|
262
386
|
external: !0,
|
|
263
387
|
href: e
|
|
264
388
|
} : null;
|
|
265
389
|
}
|
|
266
|
-
var
|
|
267
|
-
function
|
|
390
|
+
var Le = "http://placeholder.invalid";
|
|
391
|
+
function Re(e) {
|
|
268
392
|
try {
|
|
269
|
-
let t = new URL(e,
|
|
270
|
-
return t.origin ===
|
|
393
|
+
let t = new URL(e, Le);
|
|
394
|
+
return t.origin === Le && !t.pathname.startsWith("//");
|
|
271
395
|
} catch {
|
|
272
396
|
return !1;
|
|
273
397
|
}
|
|
274
398
|
}
|
|
275
|
-
function
|
|
399
|
+
function ze(e) {
|
|
276
400
|
try {
|
|
277
401
|
let t = new URL(e);
|
|
278
402
|
return (t.protocol === "http:" || t.protocol === "https:") && !!t.hostname && !t.username && !t.password;
|
|
@@ -280,7 +404,7 @@ function Z(e) {
|
|
|
280
404
|
return !1;
|
|
281
405
|
}
|
|
282
406
|
}
|
|
283
|
-
async function
|
|
407
|
+
async function Be(e, t, n = {}) {
|
|
284
408
|
let r = n.maxPerIdRequests ?? 20, i = Math.max(1, n.concurrency ?? 4);
|
|
285
409
|
try {
|
|
286
410
|
return {
|
|
@@ -295,17 +419,17 @@ async function Q(e, t, n = {}) {
|
|
|
295
419
|
skippedIds: []
|
|
296
420
|
};
|
|
297
421
|
}
|
|
298
|
-
let a = e.slice(0, r), o = await
|
|
422
|
+
let a = e.slice(0, r), o = await He(a, i, (e) => t([e]));
|
|
299
423
|
return {
|
|
300
424
|
failedIds: a.filter((e, t) => o[t].status === "rejected"),
|
|
301
425
|
profiles: o.flatMap((e) => e.status === "fulfilled" ? e.value : []),
|
|
302
426
|
skippedIds: e.slice(r)
|
|
303
427
|
};
|
|
304
428
|
}
|
|
305
|
-
function
|
|
429
|
+
function Ve(e, t) {
|
|
306
430
|
return e.filter((e) => !t.has(e));
|
|
307
431
|
}
|
|
308
|
-
async function
|
|
432
|
+
async function He(e, t, n) {
|
|
309
433
|
let r = [], i = 0;
|
|
310
434
|
async function a() {
|
|
311
435
|
for (; i < e.length;) {
|
|
@@ -321,46 +445,44 @@ async function Ae(e, t, n) {
|
|
|
321
445
|
}
|
|
322
446
|
return await Promise.all(Array.from({ length: Math.min(t, e.length) }, a)), r;
|
|
323
447
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
function Me(e) {
|
|
448
|
+
// src/views/forms/renderer/member-field-options.ts
|
|
449
|
+
var Ue = "未知會員";
|
|
450
|
+
function We(e) {
|
|
328
451
|
return {
|
|
329
452
|
id: e.memberId,
|
|
330
453
|
name: t(e.name, e.email)
|
|
331
454
|
};
|
|
332
455
|
}
|
|
333
|
-
function
|
|
456
|
+
function Ge(e) {
|
|
334
457
|
return {
|
|
335
458
|
id: e,
|
|
336
|
-
name:
|
|
459
|
+
name: Ue,
|
|
337
460
|
unresolved: !0
|
|
338
461
|
};
|
|
339
462
|
}
|
|
340
|
-
function
|
|
463
|
+
function Ke(e, t) {
|
|
341
464
|
let n = new Map(t.filter((e) => !e.unresolved).map((e) => [e.id, e])), r = new Set(e.map((e) => e.id)), i = t.filter((e, n) => !r.has(e.id) && t.findIndex((t) => t.id === e.id) === n), a = e.map((e) => (e.unresolved ? n.get(e.id) : void 0) ?? e);
|
|
342
465
|
return i.length > 0 || a.some((t, n) => t !== e[n]) ? [...a, ...i] : e;
|
|
343
466
|
}
|
|
344
|
-
function
|
|
467
|
+
function qe(e, t) {
|
|
345
468
|
let n = new Set(t.filter((e) => !e.unresolved).map((e) => e.id));
|
|
346
|
-
return
|
|
469
|
+
return U(e).filter((e) => !n.has(e));
|
|
347
470
|
}
|
|
348
|
-
function
|
|
349
|
-
return
|
|
471
|
+
function Je(e, t) {
|
|
472
|
+
return U(e).map((e) => t.find((t) => t.id === e) ?? Ge(e));
|
|
350
473
|
}
|
|
351
|
-
function
|
|
474
|
+
function Ye(e, t) {
|
|
352
475
|
if (e.length !== 0) return t ? e.map((e) => e.id) : e[0]?.id;
|
|
353
476
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
let [d, f] = o([]), [p, m] = o([]), [h, g] = o(!1), _ = a(0), v = a(/* @__PURE__ */ new Set()), y = Fe(u, d).join("\n");
|
|
477
|
+
// src/views/forms/renderer/member-field.tsx
|
|
478
|
+
function Xe({ multiple: e, name: t, onChange: n, placeholder: i, readonly: c, size: l, value: u }) {
|
|
479
|
+
let [d, f] = o([]), [p, m] = o([]), [h, g] = o(!1), _ = a(0), v = a(/* @__PURE__ */ new Set()), y = qe(u, d).join("\n");
|
|
358
480
|
r(() => {
|
|
359
|
-
let e =
|
|
360
|
-
return e.length === 0 ? () => void 0 : (
|
|
481
|
+
let e = Ve(y ? y.split("\n") : [], v.current), t = !1;
|
|
482
|
+
return e.length === 0 ? () => void 0 : (Be(e, b).then(({ profiles: n, skippedIds: r }) => {
|
|
361
483
|
if (t) return;
|
|
362
|
-
let i = n.map(
|
|
363
|
-
a.filter((e) => !r.includes(e.id)).forEach((e) => v.current.add(e.id)), f((e) =>
|
|
484
|
+
let i = n.map(We), a = e.filter((e) => !i.some((t) => t.id === e)).map(Ge);
|
|
485
|
+
a.filter((e) => !r.includes(e.id)).forEach((e) => v.current.add(e.id)), f((e) => Ke(e, [...i, ...a]));
|
|
364
486
|
}), () => {
|
|
365
487
|
t = !0;
|
|
366
488
|
});
|
|
@@ -369,15 +491,15 @@ function Re({ multiple: e, name: t, onChange: n, placeholder: i, readonly: c, si
|
|
|
369
491
|
let t = _.current + 1;
|
|
370
492
|
_.current = t, g(!0);
|
|
371
493
|
try {
|
|
372
|
-
let n = (await x(e)).map(
|
|
373
|
-
_.current === t && (m(n), f((e) =>
|
|
494
|
+
let n = (await x(e)).map(We);
|
|
495
|
+
_.current === t && (m(n), f((e) => Ke(e, n)));
|
|
374
496
|
} catch {
|
|
375
497
|
_.current === t && m([]);
|
|
376
498
|
} finally {
|
|
377
499
|
_.current === t && g(!1);
|
|
378
500
|
}
|
|
379
501
|
}
|
|
380
|
-
let w =
|
|
502
|
+
let w = Je(u, d), T = [...Ke(w, p)], E = {
|
|
381
503
|
asyncData: !0,
|
|
382
504
|
clearSearchText: !0,
|
|
383
505
|
disabled: c,
|
|
@@ -405,103 +527,219 @@ function Re({ multiple: e, name: t, onChange: n, placeholder: i, readonly: c, si
|
|
|
405
527
|
return e ? /* @__PURE__ */ S(s, {
|
|
406
528
|
...E,
|
|
407
529
|
mode: "multiple",
|
|
408
|
-
onChange: (e) => n(
|
|
530
|
+
onChange: (e) => n(Ye(e, !0)),
|
|
409
531
|
value: [...w]
|
|
410
532
|
}) : /* @__PURE__ */ S(s, {
|
|
411
533
|
...E,
|
|
412
534
|
mode: "single",
|
|
413
|
-
onChange: (e) => n(
|
|
535
|
+
onChange: (e) => n(Ye(e ? [e] : [], !1)),
|
|
414
536
|
value: w[0] ?? null
|
|
415
537
|
});
|
|
416
538
|
}
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
539
|
+
// src/views/forms/renderer/org-unit-field-options.ts
|
|
540
|
+
var Ze = "未知組織", Qe = "(已刪除)";
|
|
541
|
+
function $e(e) {
|
|
542
|
+
return {
|
|
543
|
+
id: e.id,
|
|
544
|
+
name: e.deleted ? `${e.name}${Qe}` : e.name
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
function et(e) {
|
|
548
|
+
return {
|
|
549
|
+
id: e,
|
|
550
|
+
name: e,
|
|
551
|
+
unresolved: !0
|
|
552
|
+
};
|
|
553
|
+
}
|
|
554
|
+
function tt(e) {
|
|
555
|
+
return {
|
|
556
|
+
id: e,
|
|
557
|
+
name: Ze,
|
|
558
|
+
unresolved: !0
|
|
559
|
+
};
|
|
560
|
+
}
|
|
561
|
+
function nt(e) {
|
|
562
|
+
return typeof e == "string" && e.trim() ? e : null;
|
|
563
|
+
}
|
|
564
|
+
function $(e) {
|
|
565
|
+
return e.toLowerCase();
|
|
566
|
+
}
|
|
567
|
+
function rt(e, t) {
|
|
568
|
+
return $(e) === $(t);
|
|
569
|
+
}
|
|
570
|
+
function it(e, t) {
|
|
571
|
+
let n = nt(e);
|
|
572
|
+
return n === null ? null : t.find((e) => rt(e.id, n)) ?? et(n);
|
|
573
|
+
}
|
|
574
|
+
function at(e, t) {
|
|
575
|
+
let n = nt(e);
|
|
576
|
+
return n !== null && !t.some((e) => rt(e.id, n)) ? n : null;
|
|
577
|
+
}
|
|
578
|
+
function ot(e, t) {
|
|
579
|
+
let n = new Map(t.filter((e) => !e.unresolved).map((e) => [$(e.id), e])), r = new Set(e.map((e) => $(e.id))), i = t.filter((e, n) => !r.has($(e.id)) && t.findIndex((t) => rt(t.id, e.id)) === n), a = e.map((e) => (e.unresolved ? n.get($(e.id)) : void 0) ?? e);
|
|
580
|
+
return i.length > 0 || a.some((t, n) => t !== e[n]) ? [...a, ...i] : e;
|
|
581
|
+
}
|
|
582
|
+
function st(e) {
|
|
583
|
+
return e ? e.id : void 0;
|
|
584
|
+
}
|
|
585
|
+
// src/views/forms/renderer/org-unit-field.tsx
|
|
586
|
+
var ct = "搜尋組織失敗,請稍後再試。";
|
|
587
|
+
function lt({ name: e, onChange: t, placeholder: n, readonly: i, size: c, value: l }) {
|
|
588
|
+
let [u, d] = o([]), [f, p] = o([]), [m, h] = o(!1), [g, _] = o(!1), y = a(0), b = at(l, u);
|
|
589
|
+
r(() => {
|
|
590
|
+
let e = !1;
|
|
591
|
+
return b === null ? () => void 0 : (W([b]).then((e) => {
|
|
592
|
+
let t = e.map($e);
|
|
593
|
+
return t.some((e) => e.id.toLowerCase() === b.toLowerCase()) ? t : [...t, tt(b)];
|
|
594
|
+
}).catch(() => [tt(b)]).then((t) => {
|
|
595
|
+
e || d((e) => ot(e, t));
|
|
596
|
+
}), () => {
|
|
597
|
+
e = !0;
|
|
598
|
+
});
|
|
599
|
+
}, [b]);
|
|
600
|
+
async function x(e) {
|
|
601
|
+
let t = y.current + 1;
|
|
602
|
+
y.current = t, h(!0);
|
|
603
|
+
try {
|
|
604
|
+
let n = (await G(e)).map($e);
|
|
605
|
+
y.current === t && (p(n), _(!1), d((e) => ot(e, n)));
|
|
606
|
+
} catch {
|
|
607
|
+
y.current === t && (p([]), _(!0));
|
|
608
|
+
} finally {
|
|
609
|
+
y.current === t && h(!1);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
let w = it(l, u), T = [...ot(w ? [w] : [], f)];
|
|
613
|
+
return /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S(s, {
|
|
614
|
+
asyncData: !0,
|
|
615
|
+
clearSearchText: !0,
|
|
616
|
+
disabled: i,
|
|
617
|
+
disabledOptionsFilter: !0,
|
|
618
|
+
emptyText: "沒有符合的組織",
|
|
619
|
+
globalPortal: !0,
|
|
620
|
+
inputProps: {
|
|
621
|
+
autoCapitalize: "none",
|
|
622
|
+
autoCorrect: "off",
|
|
623
|
+
name: e,
|
|
624
|
+
spellCheck: !1
|
|
625
|
+
},
|
|
626
|
+
loading: m,
|
|
627
|
+
loadingText: "搜尋組織中...",
|
|
628
|
+
mode: "single",
|
|
629
|
+
onChange: (e) => t(st(e ?? null)),
|
|
630
|
+
onSearch: x,
|
|
631
|
+
onVisibilityChange: (e) => {
|
|
632
|
+
e && (p([]), x(""));
|
|
633
|
+
},
|
|
634
|
+
options: T,
|
|
635
|
+
placeholder: n ?? "搜尋組織名稱",
|
|
636
|
+
readOnly: i,
|
|
637
|
+
searchDebounceTime: 300,
|
|
638
|
+
size: c,
|
|
639
|
+
value: w
|
|
640
|
+
}), g ? /* @__PURE__ */ S(v, {
|
|
641
|
+
color: "text-error",
|
|
642
|
+
variant: "caption",
|
|
643
|
+
children: ct
|
|
644
|
+
}) : null] });
|
|
645
|
+
}
|
|
646
|
+
// src/views/forms/renderer/FormRendererView.tsx
|
|
647
|
+
var ut = {
|
|
420
648
|
alignItems: "start",
|
|
421
649
|
display: "grid",
|
|
422
650
|
gap: 12,
|
|
423
651
|
gridTemplateColumns: "repeat(12, minmax(0, 1fr))"
|
|
424
|
-
},
|
|
652
|
+
}, dt = { gridColumn: "1 / -1" }, ft = {
|
|
425
653
|
alignItems: "start",
|
|
426
654
|
display: "grid",
|
|
427
655
|
gap: 8,
|
|
428
656
|
minWidth: 0
|
|
429
|
-
},
|
|
657
|
+
}, pt = {
|
|
430
658
|
minWidth: "100%",
|
|
431
659
|
width: "100%"
|
|
432
660
|
};
|
|
433
|
-
function
|
|
661
|
+
function mt(e) {
|
|
434
662
|
e && (e.style.width = "100%");
|
|
435
663
|
}
|
|
436
|
-
function
|
|
437
|
-
let
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
664
|
+
function ht({ attachments: e, dataSourceContext: t, dataSourceInitialValues: n, emptyText: s = "尚未建立欄位。", errors: c = {}, fieldAccess: l, fieldLabelMarkers: u, maxWidth: d, onChange: f, onDataSourceStateChange: p, onDownloadAttachment: m, onFileUploadStateChange: h, onUploadAttachment: g, optionSnapshots: _, readonly: y = !1, schema: b, singleColumn: x = !1, uiSchema: C, value: w }) {
|
|
665
|
+
let T = i(() => ({
|
|
666
|
+
attachments: e,
|
|
667
|
+
onDownloadAttachment: m,
|
|
668
|
+
onStateChange: h,
|
|
669
|
+
onUploadAttachment: g
|
|
670
|
+
}), [
|
|
671
|
+
e,
|
|
672
|
+
m,
|
|
673
|
+
h,
|
|
674
|
+
g
|
|
675
|
+
]), [D, O] = o(() => E(b.fields, w ?? {})), k = i(() => E(b.fields, w ?? D), [
|
|
676
|
+
D,
|
|
677
|
+
b.fields,
|
|
445
678
|
w
|
|
679
|
+
]), A = a(k), j = i(() => de(b, C, k).filter((e) => gt(l, e.fieldKey)?.visible !== !1), [
|
|
680
|
+
l,
|
|
681
|
+
b,
|
|
682
|
+
C,
|
|
683
|
+
k
|
|
446
684
|
]);
|
|
447
685
|
r(() => {
|
|
448
|
-
|
|
449
|
-
}, [
|
|
450
|
-
|
|
451
|
-
}, [
|
|
452
|
-
function
|
|
686
|
+
A.current = k;
|
|
687
|
+
}, [k]), r(() => {
|
|
688
|
+
O((e) => E(b.fields, w ?? e));
|
|
689
|
+
}, [b.fields, w]);
|
|
690
|
+
function M(e, t) {
|
|
453
691
|
let n = {
|
|
454
|
-
...
|
|
692
|
+
...A.current,
|
|
455
693
|
[e]: t
|
|
456
694
|
};
|
|
457
|
-
|
|
695
|
+
A.current = n, w || O(n), f?.(n);
|
|
458
696
|
}
|
|
459
|
-
return
|
|
697
|
+
return j.length ? /* @__PURE__ */ S("div", {
|
|
460
698
|
style: {
|
|
461
|
-
...
|
|
462
|
-
...
|
|
699
|
+
...ut,
|
|
700
|
+
...x ? { width: "100%" } : {}
|
|
463
701
|
},
|
|
464
|
-
children:
|
|
465
|
-
dataSourceContext:
|
|
466
|
-
dataSourceInitialValues:
|
|
467
|
-
field:
|
|
468
|
-
error:
|
|
469
|
-
errors:
|
|
470
|
-
fields:
|
|
471
|
-
labelMarker:
|
|
472
|
-
onChange:
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
optionSnapshots:
|
|
476
|
-
readonly:
|
|
477
|
-
schema:
|
|
702
|
+
children: j.map((e) => /* @__PURE__ */ S(vt, {
|
|
703
|
+
dataSourceContext: t,
|
|
704
|
+
dataSourceInitialValues: n,
|
|
705
|
+
field: e,
|
|
706
|
+
error: c[e.fieldKey] ?? null,
|
|
707
|
+
errors: c,
|
|
708
|
+
fields: b.fields,
|
|
709
|
+
labelMarker: u !== void 0 && Object.prototype.hasOwnProperty.call(u, e.fieldKey) ? u[e.fieldKey] : void 0,
|
|
710
|
+
onChange: M,
|
|
711
|
+
fileUpload: T,
|
|
712
|
+
onDataSourceStateChange: p,
|
|
713
|
+
optionSnapshots: _,
|
|
714
|
+
readonly: _t(gt(l, e.fieldKey), y),
|
|
715
|
+
schema: b,
|
|
478
716
|
style: {
|
|
479
|
-
...
|
|
480
|
-
gridColumn: `span ${
|
|
481
|
-
...
|
|
717
|
+
...ft,
|
|
718
|
+
gridColumn: `span ${x ? 12 : Rt(e, C)}`,
|
|
719
|
+
...x && !me(e) ? { maxWidth: d } : {}
|
|
482
720
|
},
|
|
483
|
-
value:
|
|
484
|
-
values:
|
|
485
|
-
uiSchema:
|
|
486
|
-
},
|
|
721
|
+
value: k[e.fieldKey],
|
|
722
|
+
values: k,
|
|
723
|
+
uiSchema: C
|
|
724
|
+
}, e.fieldKey))
|
|
487
725
|
}) : /* @__PURE__ */ S("div", {
|
|
488
|
-
style:
|
|
726
|
+
style: ut,
|
|
489
727
|
children: /* @__PURE__ */ S(v, {
|
|
490
728
|
color: "text-neutral",
|
|
491
|
-
style:
|
|
729
|
+
style: dt,
|
|
492
730
|
variant: "body",
|
|
493
|
-
children:
|
|
731
|
+
children: b.fields.length > 0 ? "目前條件下沒有可填寫欄位。" : s
|
|
494
732
|
})
|
|
495
733
|
});
|
|
496
734
|
}
|
|
497
|
-
function
|
|
735
|
+
function gt(e, t) {
|
|
498
736
|
return e !== void 0 && Object.prototype.hasOwnProperty.call(e, t) ? e[t] : void 0;
|
|
499
737
|
}
|
|
500
|
-
function
|
|
738
|
+
function _t(e, t) {
|
|
501
739
|
return e === void 0 ? t : !e.editable;
|
|
502
740
|
}
|
|
503
|
-
function
|
|
504
|
-
let x =
|
|
741
|
+
function vt({ dataSourceContext: t, dataSourceInitialValues: n, error: i, errors: a, field: o, fields: s, fileUpload: l, labelMarker: u, onChange: d, onDataSourceStateChange: f, optionSnapshots: p, readonly: m, schema: h, style: g, value: _, values: y, uiSchema: b }) {
|
|
742
|
+
let x = M(o, s, y), w = m || j(o, s, y), T = q({
|
|
505
743
|
context: t,
|
|
506
744
|
field: o,
|
|
507
745
|
formData: y,
|
|
@@ -511,13 +749,13 @@ function qe({ dataSourceContext: t, dataSourceInitialValues: n, error: i, errors
|
|
|
511
749
|
readonly: w,
|
|
512
750
|
schema: h,
|
|
513
751
|
uiSchema: b
|
|
514
|
-
}), E =
|
|
752
|
+
}), E = J(T), D = JSON.stringify({
|
|
515
753
|
hasValue: T.hasValue,
|
|
516
754
|
invalidValues: T.invalidValues,
|
|
517
755
|
status: T.status
|
|
518
756
|
});
|
|
519
757
|
return r(() => {
|
|
520
|
-
|
|
758
|
+
B(o) && f?.(o.fieldKey, {
|
|
521
759
|
hasValue: T.hasValue,
|
|
522
760
|
invalidValues: T.invalidValues,
|
|
523
761
|
status: T.status
|
|
@@ -525,30 +763,30 @@ function qe({ dataSourceContext: t, dataSourceInitialValues: n, error: i, errors
|
|
|
525
763
|
}, [
|
|
526
764
|
D,
|
|
527
765
|
o.fieldKey,
|
|
528
|
-
|
|
766
|
+
f
|
|
529
767
|
]), /* @__PURE__ */ C("div", {
|
|
530
768
|
"data-form-field-key": o.fieldKey,
|
|
531
769
|
style: g,
|
|
532
770
|
children: [
|
|
533
771
|
/* @__PURE__ */ S(e, {
|
|
534
772
|
label: o.label,
|
|
535
|
-
...
|
|
773
|
+
...u ? { labelOptionalMarker: u } : {},
|
|
536
774
|
name: o.fieldKey,
|
|
537
775
|
required: x,
|
|
538
|
-
children:
|
|
776
|
+
children: me(o) ? /* @__PURE__ */ S(kt, {
|
|
539
777
|
dataSourceContext: t,
|
|
540
778
|
dataSourceInitialValues: n,
|
|
541
779
|
errors: a,
|
|
542
780
|
field: o,
|
|
543
|
-
onChange:
|
|
544
|
-
onDataSourceStateChange:
|
|
781
|
+
onChange: d,
|
|
782
|
+
onDataSourceStateChange: f,
|
|
545
783
|
optionSnapshots: p,
|
|
546
784
|
readonly: w,
|
|
547
785
|
schema: h,
|
|
548
786
|
uiSchema: b,
|
|
549
787
|
value: _,
|
|
550
788
|
values: y
|
|
551
|
-
}) :
|
|
789
|
+
}) : Ft(o, _, w, d, l, t, T)
|
|
552
790
|
}),
|
|
553
791
|
i ? /* @__PURE__ */ S(v, {
|
|
554
792
|
color: "text-error",
|
|
@@ -556,7 +794,7 @@ function qe({ dataSourceContext: t, dataSourceInitialValues: n, error: i, errors
|
|
|
556
794
|
children: i
|
|
557
795
|
}) : null,
|
|
558
796
|
E ? /* @__PURE__ */ C("div", {
|
|
559
|
-
style:
|
|
797
|
+
style: St,
|
|
560
798
|
children: [/* @__PURE__ */ S(v, {
|
|
561
799
|
color: T.status === "INVALID" || T.status === "UNAVAILABLE" ? "text-error" : "text-neutral",
|
|
562
800
|
variant: "caption",
|
|
@@ -572,99 +810,99 @@ function qe({ dataSourceContext: t, dataSourceInitialValues: n, error: i, errors
|
|
|
572
810
|
]
|
|
573
811
|
});
|
|
574
812
|
}
|
|
575
|
-
var
|
|
813
|
+
var yt = "(另開新分頁)", bt = "另開新分頁", xt = {
|
|
576
814
|
color: "inherit",
|
|
577
815
|
textDecoration: "underline",
|
|
578
816
|
wordBreak: "break-all"
|
|
579
|
-
},
|
|
817
|
+
}, St = {
|
|
580
818
|
alignItems: "center",
|
|
581
819
|
display: "flex",
|
|
582
820
|
gap: 8
|
|
583
|
-
},
|
|
821
|
+
}, Ct = {
|
|
584
822
|
display: "grid",
|
|
585
823
|
gap: 8,
|
|
586
824
|
minWidth: 0,
|
|
587
825
|
width: "100%"
|
|
588
|
-
},
|
|
826
|
+
}, wt = {
|
|
589
827
|
display: "flex",
|
|
590
828
|
justifyContent: "flex-start"
|
|
591
|
-
},
|
|
829
|
+
}, Tt = {
|
|
592
830
|
maxWidth: "100%",
|
|
593
831
|
overflowX: "auto"
|
|
594
|
-
},
|
|
832
|
+
}, Et = 160, Dt = 56, Ot = {
|
|
595
833
|
display: "grid",
|
|
596
834
|
gap: 4,
|
|
597
835
|
minWidth: 0
|
|
598
836
|
};
|
|
599
|
-
function
|
|
600
|
-
let _ =
|
|
837
|
+
function kt({ dataSourceContext: e, dataSourceInitialValues: t, errors: n, field: i, onChange: s, onDataSourceStateChange: l, optionSnapshots: u, readonly: d, schema: f, uiSchema: p, value: m, values: g }) {
|
|
838
|
+
let _ = R(m), v = se(i), y = a(0), [b, x] = o(() => _.map(() => Mt(y)));
|
|
601
839
|
r(() => {
|
|
602
|
-
b.length !== _.length && x(_.map(() =>
|
|
840
|
+
b.length !== _.length && x(_.map(() => Mt(y)));
|
|
603
841
|
}, [b.length, _.length]);
|
|
604
842
|
function E(e) {
|
|
605
843
|
s(i.fieldKey, e);
|
|
606
844
|
}
|
|
607
845
|
function D() {
|
|
608
|
-
x([...b,
|
|
846
|
+
x([...b, Mt(y)]), E([..._, O(i.columns)]);
|
|
609
847
|
}
|
|
610
|
-
function
|
|
848
|
+
function k(e) {
|
|
611
849
|
x(b.filter((t, n) => n !== e)), E(_.filter((t, n) => n !== e));
|
|
612
850
|
}
|
|
613
|
-
function
|
|
614
|
-
E(_.map((r, i) => i === e ?
|
|
851
|
+
function A(e, t, n) {
|
|
852
|
+
E(_.map((r, i) => i === e ? Nt(r, t, n) : r));
|
|
615
853
|
}
|
|
616
|
-
let
|
|
854
|
+
let j = _.map((e, t) => ({
|
|
617
855
|
...e,
|
|
618
856
|
index: t,
|
|
619
857
|
key: b[t] ?? `row-${t}`
|
|
620
|
-
})),
|
|
858
|
+
})), M = i.columns.map((r) => ({
|
|
621
859
|
key: r.fieldKey,
|
|
622
|
-
render: (a) => /* @__PURE__ */ S(
|
|
860
|
+
render: (a) => /* @__PURE__ */ S(At, {
|
|
623
861
|
column: r,
|
|
624
862
|
dataSourceContext: e,
|
|
625
|
-
error: n[
|
|
863
|
+
error: n[oe(i.fieldKey, a.index, r.fieldKey)] ?? null,
|
|
626
864
|
fieldPath: `${i.fieldKey}.${r.fieldKey}`,
|
|
627
865
|
formData: g,
|
|
628
866
|
initialFormData: t,
|
|
629
|
-
initialRowValues:
|
|
630
|
-
onChange: (e) =>
|
|
867
|
+
initialRowValues: jt(t?.[i.fieldKey], a.index),
|
|
868
|
+
onChange: (e) => A(a.index, r.fieldKey, e),
|
|
631
869
|
onDataSourceStateChange: l,
|
|
632
870
|
optionSnapshots: u,
|
|
633
|
-
path:
|
|
871
|
+
path: oe(i.fieldKey, a.index, r.fieldKey),
|
|
634
872
|
readonly: d,
|
|
635
873
|
rowValues: _[a.index] ?? {},
|
|
636
874
|
schema: f,
|
|
637
875
|
uiSchema: p
|
|
638
876
|
}, `${b[a.index] ?? a.index}-${r.fieldKey}`),
|
|
639
877
|
title: r.label || r.fieldKey
|
|
640
|
-
})),
|
|
878
|
+
})), N = d ? void 0 : {
|
|
641
879
|
render: (e) => [{
|
|
642
880
|
disabled: () => _.length <= v.minRows,
|
|
643
881
|
icon: T,
|
|
644
882
|
iconType: "icon-only",
|
|
645
883
|
name: "刪除此列",
|
|
646
|
-
onClick: () =>
|
|
884
|
+
onClick: () => k(e.index),
|
|
647
885
|
variant: "destructive-ghost"
|
|
648
886
|
}],
|
|
649
887
|
width: 56
|
|
650
888
|
};
|
|
651
889
|
return /* @__PURE__ */ C("div", {
|
|
652
|
-
style:
|
|
890
|
+
style: Ct,
|
|
653
891
|
children: [/* @__PURE__ */ S("div", {
|
|
654
|
-
style:
|
|
892
|
+
style: Tt,
|
|
655
893
|
children: /* @__PURE__ */ S("div", {
|
|
656
|
-
style: { minWidth: i.columns.length *
|
|
894
|
+
style: { minWidth: i.columns.length * Et + (N ? Dt : 0) },
|
|
657
895
|
children: /* @__PURE__ */ S(h, {
|
|
658
|
-
...
|
|
659
|
-
columns:
|
|
660
|
-
dataSource: [...
|
|
896
|
+
...N ? { actions: N } : {},
|
|
897
|
+
columns: M,
|
|
898
|
+
dataSource: [...j],
|
|
661
899
|
rowHeightPreset: "roomy",
|
|
662
900
|
showHeader: !0,
|
|
663
901
|
size: "sub"
|
|
664
902
|
})
|
|
665
903
|
})
|
|
666
904
|
}), d ? null : /* @__PURE__ */ S("div", {
|
|
667
|
-
style:
|
|
905
|
+
style: wt,
|
|
668
906
|
children: /* @__PURE__ */ S(c, {
|
|
669
907
|
disabled: _.length >= v.maxRows,
|
|
670
908
|
icon: w,
|
|
@@ -678,14 +916,14 @@ function it({ dataSourceContext: e, dataSourceInitialValues: t, errors: n, field
|
|
|
678
916
|
})]
|
|
679
917
|
});
|
|
680
918
|
}
|
|
681
|
-
function
|
|
682
|
-
let _ =
|
|
919
|
+
function At({ column: e, dataSourceContext: t, error: n, fieldPath: i, formData: a, initialFormData: o, initialRowValues: s, onChange: l, onDataSourceStateChange: u, optionSnapshots: d, path: f, readonly: p, rowValues: m, schema: h, uiSchema: g }) {
|
|
920
|
+
let _ = Pt(m, e.fieldKey), y = q({
|
|
683
921
|
context: t,
|
|
684
922
|
field: e,
|
|
685
923
|
fieldPath: i,
|
|
686
924
|
formData: a,
|
|
687
925
|
initialFormData: o,
|
|
688
|
-
initialValue: s ?
|
|
926
|
+
initialValue: s ? Pt(s, e.fieldKey) : void 0,
|
|
689
927
|
optionSnapshots: d,
|
|
690
928
|
readonly: p,
|
|
691
929
|
row: {
|
|
@@ -695,13 +933,13 @@ function at({ column: e, dataSourceContext: t, error: n, fieldPath: i, formData:
|
|
|
695
933
|
schema: h,
|
|
696
934
|
snapshotKey: f,
|
|
697
935
|
uiSchema: g
|
|
698
|
-
}), b =
|
|
936
|
+
}), b = J(y), x = JSON.stringify({
|
|
699
937
|
hasValue: y.hasValue,
|
|
700
938
|
invalidValues: y.invalidValues,
|
|
701
939
|
status: y.status
|
|
702
940
|
});
|
|
703
941
|
return r(() => {
|
|
704
|
-
if (
|
|
942
|
+
if (B(e)) return u?.(f, {
|
|
705
943
|
hasValue: y.hasValue,
|
|
706
944
|
invalidValues: y.invalidValues,
|
|
707
945
|
status: y.status
|
|
@@ -718,16 +956,16 @@ function at({ column: e, dataSourceContext: t, error: n, fieldPath: i, formData:
|
|
|
718
956
|
x
|
|
719
957
|
]), /* @__PURE__ */ C("div", {
|
|
720
958
|
"data-form-field-key": f,
|
|
721
|
-
style:
|
|
959
|
+
style: Ot,
|
|
722
960
|
children: [
|
|
723
|
-
|
|
961
|
+
Ft(e, _, p, (e, t) => l(t), void 0, t, y, "sub"),
|
|
724
962
|
n ? /* @__PURE__ */ S(v, {
|
|
725
963
|
color: "text-error",
|
|
726
964
|
variant: "caption",
|
|
727
965
|
children: n
|
|
728
966
|
}) : null,
|
|
729
967
|
b ? /* @__PURE__ */ C("div", {
|
|
730
|
-
style:
|
|
968
|
+
style: St,
|
|
731
969
|
children: [/* @__PURE__ */ S(v, {
|
|
732
970
|
color: y.status === "INVALID" || y.status === "UNAVAILABLE" ? "text-error" : "text-neutral",
|
|
733
971
|
variant: "caption",
|
|
@@ -743,38 +981,38 @@ function at({ column: e, dataSourceContext: t, error: n, fieldPath: i, formData:
|
|
|
743
981
|
]
|
|
744
982
|
});
|
|
745
983
|
}
|
|
746
|
-
function
|
|
747
|
-
return
|
|
984
|
+
function jt(e, t) {
|
|
985
|
+
return R(e)[t];
|
|
748
986
|
}
|
|
749
|
-
function
|
|
987
|
+
function Mt(e) {
|
|
750
988
|
return e.current += 1, `table-row-${e.current}`;
|
|
751
989
|
}
|
|
752
|
-
function
|
|
753
|
-
return n === void 0 || !
|
|
990
|
+
function Nt(e, t, n) {
|
|
991
|
+
return n === void 0 || !V(n) ? Object.fromEntries(Object.entries(e).filter(([e]) => e !== t)) : {
|
|
754
992
|
...e,
|
|
755
993
|
[t]: n
|
|
756
994
|
};
|
|
757
995
|
}
|
|
758
|
-
function
|
|
996
|
+
function Pt(e, t) {
|
|
759
997
|
if (e && Object.prototype.hasOwnProperty.call(e, t)) return e[t];
|
|
760
998
|
}
|
|
761
|
-
function
|
|
762
|
-
return
|
|
999
|
+
function Ft(e, t, n, r, i, a, o, s = "main") {
|
|
1000
|
+
return B(e) ? Lt(e, t, n, r, a, o, s) : It(e, t, n, r, i, s);
|
|
763
1001
|
}
|
|
764
|
-
function
|
|
765
|
-
let o = n && (e.type === "text" || e.type === "textarea") && e.displayAs === "link" ?
|
|
1002
|
+
function It(e, t, n, r, i, a = "main") {
|
|
1003
|
+
let o = n && (e.type === "text" || e.type === "textarea") && e.displayAs === "link" ? Ie(t) : null;
|
|
766
1004
|
if (o) return /* @__PURE__ */ S(v, {
|
|
767
1005
|
color: "text-brand",
|
|
768
1006
|
component: "span",
|
|
769
1007
|
variant: "body",
|
|
770
1008
|
children: /* @__PURE__ */ S("a", {
|
|
771
1009
|
href: o.href,
|
|
772
|
-
style:
|
|
1010
|
+
style: xt,
|
|
773
1011
|
...o.external ? {
|
|
774
|
-
"aria-label": `${o.href}${
|
|
1012
|
+
"aria-label": `${o.href}${yt}`,
|
|
775
1013
|
rel: "noopener noreferrer",
|
|
776
1014
|
target: "_blank",
|
|
777
|
-
title:
|
|
1015
|
+
title: bt
|
|
778
1016
|
} : {},
|
|
779
1017
|
children: o.href
|
|
780
1018
|
})
|
|
@@ -783,10 +1021,10 @@ function dt(e, t, n, r, i, a = "main") {
|
|
|
783
1021
|
onChange: (t) => r(e.fieldKey, t.target.value),
|
|
784
1022
|
placeholder: e.placeholder ?? "請輸入多行文字",
|
|
785
1023
|
readOnly: n,
|
|
786
|
-
ref:
|
|
1024
|
+
ref: mt,
|
|
787
1025
|
rows: 3,
|
|
788
|
-
style:
|
|
789
|
-
value:
|
|
1026
|
+
style: pt,
|
|
1027
|
+
value: zt(t)
|
|
790
1028
|
});
|
|
791
1029
|
if (e.type === "boolean") return /* @__PURE__ */ S(_, {
|
|
792
1030
|
checked: t === !0,
|
|
@@ -795,8 +1033,8 @@ function dt(e, t, n, r, i, a = "main") {
|
|
|
795
1033
|
onChange: (t) => r(e.fieldKey, t.target.checked),
|
|
796
1034
|
size: a
|
|
797
1035
|
});
|
|
798
|
-
if (
|
|
799
|
-
let i = e.options.map(
|
|
1036
|
+
if (pe(e) && e.type === "checkbox") {
|
|
1037
|
+
let i = e.options.map(I);
|
|
800
1038
|
return /* @__PURE__ */ S(m, {
|
|
801
1039
|
mode: "multiple",
|
|
802
1040
|
onChange: (t) => r(e.fieldKey, t?.length ? t.map((e) => e.id) : void 0),
|
|
@@ -804,21 +1042,21 @@ function dt(e, t, n, r, i, a = "main") {
|
|
|
804
1042
|
placeholder: e.placeholder ?? "請選擇一或多個選項",
|
|
805
1043
|
readOnly: n,
|
|
806
1044
|
size: a,
|
|
807
|
-
value: i.filter((e) =>
|
|
1045
|
+
value: i.filter((e) => Z(t).includes(e.id))
|
|
808
1046
|
});
|
|
809
1047
|
}
|
|
810
|
-
if (
|
|
811
|
-
let i = e.options.map(
|
|
1048
|
+
if (pe(e)) {
|
|
1049
|
+
let i = e.options.map(I);
|
|
812
1050
|
return /* @__PURE__ */ S(m, {
|
|
813
1051
|
onChange: (t) => r(e.fieldKey, t?.id ?? void 0),
|
|
814
1052
|
options: i,
|
|
815
1053
|
placeholder: e.placeholder ?? "請選擇",
|
|
816
1054
|
readOnly: n,
|
|
817
1055
|
size: a,
|
|
818
|
-
value:
|
|
1056
|
+
value: le(i, zt(t))
|
|
819
1057
|
});
|
|
820
1058
|
}
|
|
821
|
-
return e.type === "member" ? /* @__PURE__ */ S(
|
|
1059
|
+
return e.type === "member" ? /* @__PURE__ */ S(Xe, {
|
|
822
1060
|
multiple: e.multiple === !0,
|
|
823
1061
|
name: e.fieldKey,
|
|
824
1062
|
onChange: (t) => r(e.fieldKey, t),
|
|
@@ -826,64 +1064,66 @@ function dt(e, t, n, r, i, a = "main") {
|
|
|
826
1064
|
readonly: n,
|
|
827
1065
|
size: a,
|
|
828
1066
|
value: t
|
|
829
|
-
}) : e.type === "
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
1067
|
+
}) : e.type === "org_unit" ? /* @__PURE__ */ S(lt, {
|
|
1068
|
+
name: e.fieldKey,
|
|
1069
|
+
onChange: (t) => r(e.fieldKey, t),
|
|
1070
|
+
placeholder: e.placeholder ?? Vt(e.type),
|
|
1071
|
+
readonly: n,
|
|
1072
|
+
size: a,
|
|
1073
|
+
value: t
|
|
1074
|
+
}) : e.type === "file_upload" ? /* @__PURE__ */ S(Oe, {
|
|
1075
|
+
attachments: i?.attachments,
|
|
1076
|
+
field: e,
|
|
1077
|
+
onChange: (t) => r(e.fieldKey, t),
|
|
1078
|
+
onDownloadAttachment: i?.onDownloadAttachment,
|
|
1079
|
+
onStateChange: (t) => i?.onStateChange?.(e.fieldKey, t),
|
|
1080
|
+
onUploadAttachment: i?.onUploadAttachment,
|
|
1081
|
+
readonly: n,
|
|
1082
|
+
value: t
|
|
843
1083
|
}) : e.type === "date" ? /* @__PURE__ */ S(u, {
|
|
844
1084
|
format: "YYYY-MM-DD",
|
|
845
1085
|
fullWidth: !0,
|
|
846
|
-
onChange: (t) => r(e.fieldKey,
|
|
847
|
-
placeholder: e.placeholder ??
|
|
1086
|
+
onChange: (t) => r(e.fieldKey, k(t)),
|
|
1087
|
+
placeholder: e.placeholder ?? Vt(e.type),
|
|
848
1088
|
readOnly: n,
|
|
849
|
-
value:
|
|
1089
|
+
value: F(t)
|
|
850
1090
|
}) : e.type === "datetime" ? /* @__PURE__ */ S(d, {
|
|
851
1091
|
formatDate: "YYYY-MM-DD",
|
|
852
1092
|
formatTime: "HH:mm",
|
|
853
1093
|
fullWidth: !0,
|
|
854
1094
|
hideSecond: !0,
|
|
855
|
-
onChange: (t) => r(e.fieldKey,
|
|
1095
|
+
onChange: (t) => r(e.fieldKey, A(t)),
|
|
856
1096
|
placeholderLeft: "選擇日期",
|
|
857
1097
|
placeholderRight: "選擇時間",
|
|
858
1098
|
readOnly: n,
|
|
859
|
-
value:
|
|
1099
|
+
value: F(t)
|
|
860
1100
|
}) : e.type === "number" || e.type === "money" ? /* @__PURE__ */ S(f, {
|
|
861
1101
|
fullWidth: !0,
|
|
862
1102
|
max: e.maximum,
|
|
863
1103
|
min: e.minimum,
|
|
864
1104
|
size: a,
|
|
865
|
-
onChange: (t) => r(e.fieldKey, D(
|
|
1105
|
+
onChange: (t) => r(e.fieldKey, D(P(t.target.value), {
|
|
866
1106
|
max: e.maximum,
|
|
867
1107
|
min: e.minimum
|
|
868
1108
|
})),
|
|
869
|
-
placeholder: e.placeholder ??
|
|
1109
|
+
placeholder: e.placeholder ?? Vt(e.type),
|
|
870
1110
|
...n ? { readonly: !0 } : {},
|
|
871
1111
|
showSpinner: !0,
|
|
872
|
-
value:
|
|
1112
|
+
value: Bt(t),
|
|
873
1113
|
variant: "measure"
|
|
874
1114
|
}) : /* @__PURE__ */ S(f, {
|
|
875
1115
|
fullWidth: !0,
|
|
876
1116
|
onChange: (t) => r(e.fieldKey, t.target.value),
|
|
877
|
-
placeholder: e.placeholder ??
|
|
1117
|
+
placeholder: e.placeholder ?? Vt(e.type),
|
|
878
1118
|
...n ? { readonly: !0 } : {},
|
|
879
1119
|
size: a,
|
|
880
|
-
value:
|
|
1120
|
+
value: zt(t),
|
|
881
1121
|
variant: "base"
|
|
882
1122
|
});
|
|
883
1123
|
}
|
|
884
|
-
function
|
|
885
|
-
let c = a.options.map(
|
|
886
|
-
return e.type === "autocomplete" ?
|
|
1124
|
+
function Lt(e, t, n, r, i, a, o = "main") {
|
|
1125
|
+
let c = a.options.map(I), u = ue(t, a.options).map(I), d = a.status === "LOADING", f = a.status === "WAITING_FOR_DEPENDENCIES", h = !!i && !n, g = n || f, _ = n;
|
|
1126
|
+
return e.type === "autocomplete" ? H(e) === "multiple" ? /* @__PURE__ */ S(s, {
|
|
887
1127
|
asyncData: h,
|
|
888
1128
|
clearSearchText: !0,
|
|
889
1129
|
disabled: _,
|
|
@@ -922,7 +1162,7 @@ function ft(e, t, n, r, i, a, o = "main") {
|
|
|
922
1162
|
name: e.fieldKey,
|
|
923
1163
|
onChange: (t) => r(e.fieldKey, t.target.value || void 0),
|
|
924
1164
|
options: c,
|
|
925
|
-
value:
|
|
1165
|
+
value: zt(t)
|
|
926
1166
|
}) : e.type === "checkbox" ? /* @__PURE__ */ S(l, {
|
|
927
1167
|
disabled: g,
|
|
928
1168
|
name: e.fieldKey,
|
|
@@ -931,8 +1171,8 @@ function ft(e, t, n, r, i, a, o = "main") {
|
|
|
931
1171
|
label: e.name,
|
|
932
1172
|
value: e.id
|
|
933
1173
|
})),
|
|
934
|
-
value: [...
|
|
935
|
-
}) :
|
|
1174
|
+
value: [...Z(t)]
|
|
1175
|
+
}) : H(e) === "multiple" ? /* @__PURE__ */ S(m, {
|
|
936
1176
|
disabled: g,
|
|
937
1177
|
loading: d,
|
|
938
1178
|
mode: "multiple",
|
|
@@ -955,23 +1195,20 @@ function ft(e, t, n, r, i, a, o = "main") {
|
|
|
955
1195
|
value: u[0] ?? null
|
|
956
1196
|
});
|
|
957
1197
|
}
|
|
958
|
-
function
|
|
1198
|
+
function Rt(e, t) {
|
|
959
1199
|
return {
|
|
960
1200
|
FULL: 12,
|
|
961
1201
|
HALF: 6,
|
|
962
1202
|
THIRD: 4
|
|
963
1203
|
}[t.layout.find((t) => t.fieldKey === e.fieldKey)?.width ?? "FULL"];
|
|
964
1204
|
}
|
|
965
|
-
function
|
|
1205
|
+
function zt(e) {
|
|
966
1206
|
return typeof e == "string" ? e : "";
|
|
967
1207
|
}
|
|
968
|
-
function
|
|
969
|
-
return Array.isArray(e) && e.every((e) => typeof e == "string") ? e : [];
|
|
970
|
-
}
|
|
971
|
-
function ht(e) {
|
|
1208
|
+
function Bt(e) {
|
|
972
1209
|
return typeof e == "number" ? String(e) : "";
|
|
973
1210
|
}
|
|
974
|
-
function
|
|
1211
|
+
function Vt(e) {
|
|
975
1212
|
return {
|
|
976
1213
|
boolean: "",
|
|
977
1214
|
autocomplete: "請輸入或選擇",
|
|
@@ -982,6 +1219,7 @@ function gt(e) {
|
|
|
982
1219
|
member: "搜尋姓名或信箱",
|
|
983
1220
|
money: "請輸入金額",
|
|
984
1221
|
number: "請輸入數字",
|
|
1222
|
+
org_unit: "搜尋組織名稱",
|
|
985
1223
|
radio: "請選擇一個選項",
|
|
986
1224
|
select: "請選擇一個選項",
|
|
987
1225
|
table: "",
|
|
@@ -989,7 +1227,6 @@ function gt(e) {
|
|
|
989
1227
|
textarea: "請輸入多行文字"
|
|
990
1228
|
}[e];
|
|
991
1229
|
}
|
|
992
|
-
|
|
993
|
-
export { q as a, J as i, ke as n, _e as o, Q as r, K as s, We as t };
|
|
1230
|
+
export { Te as a, J as c, Be as i, X as l, $e as n, Ee as o, Ve as r, Y as s, ht as t, q as u };
|
|
994
1231
|
|
|
995
|
-
//# sourceMappingURL=FormRendererView-
|
|
1232
|
+
//# sourceMappingURL=FormRendererView-DHfVgbo6.js.map
|