@haneinfo/frontend-instances 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +141 -26
  2. package/agent-guide.md +12 -0
  3. package/dist/attachments-client.d.ts +7 -2
  4. package/dist/attachments-client.d.ts.map +1 -1
  5. package/dist/attachments-client.js +47 -11
  6. package/dist/attachments-client.js.map +1 -1
  7. package/dist/client.d.ts +12 -75
  8. package/dist/client.d.ts.map +1 -1
  9. package/dist/client.js +12 -463
  10. package/dist/client.js.map +1 -1
  11. package/dist/contracts.d.ts +167 -5
  12. package/dist/contracts.d.ts.map +1 -1
  13. package/dist/contracts.js +5 -98
  14. package/dist/contracts.js.map +1 -1
  15. package/dist/dashboard.d.ts +43 -0
  16. package/dist/dashboard.d.ts.map +1 -0
  17. package/dist/dashboard.js +72 -0
  18. package/dist/dashboard.js.map +1 -0
  19. package/dist/detail-client.d.ts +59 -0
  20. package/dist/detail-client.d.ts.map +1 -0
  21. package/dist/detail-client.js +253 -0
  22. package/dist/detail-client.js.map +1 -0
  23. package/dist/documents-client.d.ts +2 -1
  24. package/dist/documents-client.d.ts.map +1 -1
  25. package/dist/documents-client.js +13 -9
  26. package/dist/documents-client.js.map +1 -1
  27. package/dist/draft-client.d.ts +27 -3
  28. package/dist/draft-client.d.ts.map +1 -1
  29. package/dist/draft-client.js +107 -54
  30. package/dist/draft-client.js.map +1 -1
  31. package/dist/draft-session.d.ts +1 -0
  32. package/dist/draft-session.d.ts.map +1 -1
  33. package/dist/draft-session.js +2 -1
  34. package/dist/draft-session.js.map +1 -1
  35. package/dist/field-errors.d.ts +4 -0
  36. package/dist/field-errors.d.ts.map +1 -0
  37. package/dist/field-errors.js +25 -0
  38. package/dist/field-errors.js.map +1 -0
  39. package/dist/filter-editor.d.ts +18 -0
  40. package/dist/filter-editor.d.ts.map +1 -0
  41. package/dist/filter-editor.js +145 -0
  42. package/dist/filter-editor.js.map +1 -0
  43. package/dist/format.d.ts +152 -0
  44. package/dist/format.d.ts.map +1 -0
  45. package/dist/format.js +402 -0
  46. package/dist/format.js.map +1 -0
  47. package/dist/import-client.d.ts +31 -0
  48. package/dist/import-client.d.ts.map +1 -0
  49. package/dist/import-client.js +179 -0
  50. package/dist/import-client.js.map +1 -0
  51. package/dist/instance-management-client.d.ts +23 -6
  52. package/dist/instance-management-client.d.ts.map +1 -1
  53. package/dist/instance-management-client.js +96 -70
  54. package/dist/instance-management-client.js.map +1 -1
  55. package/dist/labels.d.ts +10 -0
  56. package/dist/labels.d.ts.map +1 -0
  57. package/dist/labels.js +42 -0
  58. package/dist/labels.js.map +1 -0
  59. package/dist/list-client.d.ts +39 -0
  60. package/dist/list-client.d.ts.map +1 -0
  61. package/dist/list-client.js +403 -0
  62. package/dist/list-client.js.map +1 -0
  63. package/dist/list-query.d.ts +41 -0
  64. package/dist/list-query.d.ts.map +1 -0
  65. package/dist/list-query.js +171 -0
  66. package/dist/list-query.js.map +1 -0
  67. package/dist/management-client.d.ts +6 -2
  68. package/dist/management-client.d.ts.map +1 -1
  69. package/dist/management-client.js +113 -84
  70. package/dist/management-client.js.map +1 -1
  71. package/dist/messages.d.ts +4 -4
  72. package/dist/messages.d.ts.map +1 -1
  73. package/dist/messages.js +23 -5
  74. package/dist/messages.js.map +1 -1
  75. package/dist/process-client.d.ts +27 -0
  76. package/dist/process-client.d.ts.map +1 -0
  77. package/dist/process-client.js +129 -0
  78. package/dist/process-client.js.map +1 -0
  79. package/dist/process-messages.d.ts +73 -0
  80. package/dist/process-messages.d.ts.map +1 -0
  81. package/dist/process-messages.js +154 -0
  82. package/dist/process-messages.js.map +1 -0
  83. package/dist/server.d.ts +34 -1
  84. package/dist/server.d.ts.map +1 -1
  85. package/dist/server.js +302 -50
  86. package/dist/server.js.map +1 -1
  87. package/dist/tasks-client.d.ts +38 -0
  88. package/dist/tasks-client.d.ts.map +1 -0
  89. package/dist/tasks-client.js +127 -0
  90. package/dist/tasks-client.js.map +1 -0
  91. package/dist/timeline.d.ts +24 -0
  92. package/dist/timeline.d.ts.map +1 -0
  93. package/dist/timeline.js +189 -0
  94. package/dist/timeline.js.map +1 -0
  95. package/dist/ui-messages.d.ts +284 -0
  96. package/dist/ui-messages.d.ts.map +1 -0
  97. package/dist/ui-messages.js +372 -0
  98. package/dist/ui-messages.js.map +1 -0
  99. package/dist/ui.d.ts +101 -0
  100. package/dist/ui.d.ts.map +1 -0
  101. package/dist/ui.js +169 -0
  102. package/dist/ui.js.map +1 -0
  103. package/package.json +4 -2
@@ -0,0 +1,129 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '@haneinfo/frontend-shell';
4
+ import { AlertTriangle, ArrowRight, MoreHorizontal } from 'lucide-react';
5
+ import { useEffect, useId, useState } from 'react';
6
+ import { call, ErrorMessage, RequestFailure, useTask } from './action-client.js';
7
+ import { ConflictDialog } from './draft-client.js';
8
+ import { LifecycleMenu, ManagementDialog } from './instance-management-client.js';
9
+ import { notifyTaskChange } from './tasks-client.js';
10
+ import { fillText } from './ui.js';
11
+ const control = 'min-h-11 max-w-full whitespace-normal [overflow-wrap:anywhere]';
12
+ export function RoutingNotice({ labels: t, children, }) {
13
+ return (_jsxs("div", { role: "note", className: "flex min-w-0 items-start gap-3 rounded-xl border border-tone-warning/30 bg-tone-warning-soft p-4 text-tone-warning", children: [_jsx(AlertTriangle, { "aria-hidden": "true", className: "mt-0.5 size-5 shrink-0" }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [_jsx("h2", { className: "font-semibold text-sm", children: t.routingTitle }), _jsx("p", { className: "text-sm/relaxed", children: t.routingHint }), _jsx("p", { className: "text-sm", children: t.routingWho }), children] })] }));
14
+ }
15
+ export function ProcessActions({ id, available, revision, stateLabel, draftBlocked, fields, data, action, labels: t, locale, timeZone, onChanged, onErrors, onBusy, retryOnly = false, lifecycleInstance, basePath = '', canProceed, finalStates = [], }) {
16
+ const task = useTask(), hint = useId();
17
+ const [choice, setChoice] = useState();
18
+ const [succeeded, setSucceeded] = useState(false);
19
+ const [needsReload, setNeedsReload] = useState(false);
20
+ const [conflict, setConflict] = useState();
21
+ const [error, setError] = useState();
22
+ useEffect(() => {
23
+ onBusy(task.pending);
24
+ if (!task.pending)
25
+ return;
26
+ const unload = (event) => {
27
+ event.preventDefault();
28
+ event.returnValue = '';
29
+ };
30
+ const navigation = (event) => {
31
+ if (event.target?.closest?.('a[href]')) {
32
+ event.preventDefault();
33
+ event.stopPropagation();
34
+ }
35
+ };
36
+ window.addEventListener('beforeunload', unload);
37
+ document.addEventListener('click', navigation, true);
38
+ return () => {
39
+ onBusy(false);
40
+ window.removeEventListener('beforeunload', unload);
41
+ document.removeEventListener('click', navigation, true);
42
+ };
43
+ }, [task.pending, onBusy]);
44
+ const reload = () => void task.run(async () => {
45
+ await onChanged();
46
+ setNeedsReload(false);
47
+ setSucceeded(false);
48
+ setError(undefined);
49
+ });
50
+ const execute = () => void task.run(async () => {
51
+ if (!choice || draftBlocked || needsReload || canProceed?.() === false)
52
+ return;
53
+ setSucceeded(false);
54
+ setError(undefined);
55
+ onErrors([]);
56
+ try {
57
+ await call(action, choice === 'retry'
58
+ ? { kind: 'retryRouting', id, expectedRevision: revision }
59
+ : { kind: 'transition', id, transition: choice.key, expectedRevision: revision });
60
+ }
61
+ catch (caught) {
62
+ setChoice(undefined);
63
+ const reason = caught instanceof RequestFailure ? caught.reason : { key: 'requestFailed' };
64
+ if (reason.key === 'INVALID_DATA')
65
+ onErrors(reason.details?.fieldErrors ?? []);
66
+ if (reason.key === 'VERSION_CONFLICT') {
67
+ const current = await call(action, { kind: 'detail', id });
68
+ const differences = fields
69
+ .filter((field) => JSON.stringify(data[field.id ?? field.key]) !==
70
+ JSON.stringify(current.instance.data[field.id ?? field.key]))
71
+ .map((field) => ({
72
+ fieldId: field.id ?? field.key,
73
+ current: current.instance.data[field.id ?? field.key] ?? null,
74
+ mine: data[field.id ?? field.key] ?? null,
75
+ ...(!Object.keys(current.instance.data).includes(field.id ?? field.key) && {
76
+ currentMissing: true,
77
+ }),
78
+ ...(!Object.keys(data).includes(field.id ?? field.key) && { mineMissing: true }),
79
+ }));
80
+ if (current.instance.revision && differences.length)
81
+ setConflict({ revision: current.instance.revision, fields: differences });
82
+ }
83
+ if (['STATE_FROZEN', 'TRANSITION_NOT_AVAILABLE', 'ROUTING_NOT_FAILED'].includes(reason.key))
84
+ await onChanged();
85
+ setError(reason);
86
+ return;
87
+ }
88
+ setSucceeded(true);
89
+ setNeedsReload(true);
90
+ setChoice(undefined);
91
+ notifyTaskChange();
92
+ await onChanged();
93
+ setNeedsReload(false);
94
+ });
95
+ const disabled = task.pending || !!draftBlocked || needsReload;
96
+ const transitions = available?.transitions ?? [];
97
+ const result = error ?? task.error;
98
+ return (_jsxs("div", { className: "flex min-w-0 max-w-full flex-col gap-2", "aria-busy": task.pending, children: [retryOnly ? (available?.canRetryRouting && (_jsx(Button, { type: "button", variant: "outline", className: `${control} self-start bg-background text-foreground`, disabled: disabled, onClick: () => setChoice('retry'), children: t.retryRouting }))) : !available ? (_jsx(Button, { type: "button", variant: "outline", className: control, disabled: task.pending, onClick: reload, children: t.processReload })) : (!!transitions.length && (_jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsxs(Button, { type: "button", className: control, disabled: disabled, "aria-describedby": draftBlocked ? hint : undefined, onClick: () => {
99
+ if (canProceed?.() !== false)
100
+ setChoice(transitions[0]);
101
+ }, children: [task.pending ? t.processWorking : transitions[0]?.label, _jsx(ArrowRight, { "aria-hidden": "true" })] }), lifecycleInstance ? (_jsx(LifecycleMenu, { id: id, instance: lifecycleInstance, action: action, labels: t, basePath: basePath, disabled: disabled, disabledDescription: draftBlocked ? hint : undefined, onChanged: onChanged, extraItems: transitions.length > 1
102
+ ? transitions.slice(1).map((transition) => (_jsx(DropdownMenuItem, { className: control, onSelect: () => setChoice(transition), children: transition.label }, transition.key)))
103
+ : undefined })) : (transitions.length > 1 && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, children: _jsxs(Button, { type: "button", variant: "outline", className: control, disabled: disabled, "aria-describedby": draftBlocked ? hint : undefined, children: [_jsx(MoreHorizontal, { "aria-hidden": "true" }), t.moreActions] }) }), _jsx(DropdownMenuContent, { align: "end", children: transitions.slice(1).map((transition) => (_jsx(DropdownMenuItem, { className: control, onSelect: () => setChoice(transition), children: transition.label }, transition.key))) })] })))] }))), !retryOnly && !transitions.length && lifecycleInstance && (_jsx(LifecycleMenu, { id: id, instance: lifecycleInstance, action: action, labels: t, basePath: basePath, disabled: disabled, onChanged: onChanged })), draftBlocked && transitions.length > 0 && !retryOnly && (_jsx("p", { id: hint, className: "max-w-sm text-muted-foreground text-xs", children: draftBlocked === 'saving' ? t.processSaveFirst : t.processSaveFailed })), _jsx(ErrorMessage, { error: result, labels: t }), result?.key === 'INVALID_DATA' && (_jsx("p", { role: "alert", className: "max-w-sm text-sm", children: result.details?.truncated ? t.processPartialErrors : t.processValidation })), (result || succeeded) && (_jsx(Button, { type: "button", variant: "outline", className: `${control} self-start`, disabled: task.pending, onClick: reload, children: t.refresh })), _jsx("p", { role: "status", "aria-live": "polite", className: "text-sm empty:hidden", children: task.pending ? t.processWorking : succeeded ? t.processDone : '' }), choice && (_jsxs(ManagementDialog, { title: t.processConfirm, onCancel: () => {
104
+ if (!task.pending)
105
+ setChoice(undefined);
106
+ }, children: [_jsx("p", { className: "mb-2 break-words font-semibold", children: choice === 'retry' ? t.retryRouting : choice.label }), choice !== 'retry' && (_jsx("p", { className: "mb-3 break-words rounded-lg bg-muted p-3 text-sm", children: fillText(t.processRoute, { from: stateLabel, to: choice.toLabel }) })), _jsx("p", { className: "mb-5 text-muted-foreground text-sm/relaxed", children: choice === 'retry'
107
+ ? t.routingHint
108
+ : finalStates.includes(choice.to)
109
+ ? t.processFinalConsequence
110
+ : t.processConsequence }), _jsxs("div", { className: "flex flex-wrap justify-end gap-2", children: [_jsx(Button, { type: "button", variant: "outline", className: control, disabled: task.pending, onClick: () => setChoice(undefined), children: t.cancel }), _jsx(Button, { type: "button", className: control, disabled: disabled, onClick: execute, children: task.pending ? t.processWorking : choice === 'retry' ? t.retryRouting : choice.label })] })] })), conflict && (_jsx(ConflictDialog, { error: task.error, pending: task.pending, conflicts: conflict.fields, fields: fields, labels: t, locale: locale, timeZone: timeZone, onCancel: () => setConflict(undefined), onResolve: (choices) => void task.run(async () => {
111
+ const mine = conflict.fields.filter((field) => choices[field.fieldId] === 'mine');
112
+ if (mine.length)
113
+ await call(action, {
114
+ kind: 'patchFields',
115
+ id,
116
+ input: {
117
+ baseRevision: conflict.revision,
118
+ fields: Object.fromEntries(mine
119
+ .filter((field) => !field.mineMissing)
120
+ .map((field) => [field.fieldId, field.mine])),
121
+ remove: mine.filter((field) => field.mineMissing).map((field) => field.fieldId),
122
+ },
123
+ });
124
+ setConflict(undefined);
125
+ await onChanged();
126
+ setError(undefined);
127
+ }) }))] }));
128
+ }
129
+ //# sourceMappingURL=process-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-client.js","sourceRoot":"","sources":["../src/process-client.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /** Process operations: [English, Traditional Chinese (Taiwan)]. */
2
+ export declare const processMessages: {
3
+ readonly refresh: readonly ["Refresh", "重新整理"];
4
+ readonly processTitle: readonly ["Workflow actions", "流程操作"];
5
+ readonly processConfirm: readonly ["Confirm action", "確認執行操作"];
6
+ readonly processConsequence: readonly ["This changes the workflow and may send tasks to the next approvers. Review the destination before continuing.", "執行後會變更流程狀態,並可能交由下一位簽核人處理。請確認目的狀態後再繼續。"];
7
+ readonly processFinalConsequence: readonly ["This action ends the workflow. You will no longer be able to edit this record. Review the destination before continuing.", "此操作會結束這張單據的流程,完成後將無法繼續編輯。請確認目的狀態後再繼續。"];
8
+ readonly waitingFor: readonly ["Waiting for {people}", "等待 {people} 處理"];
9
+ readonly processRoute: readonly ["From {from} to {to}", "從「{from}」變更為「{to}」"];
10
+ readonly processWorking: readonly ["Processing…", "正在處理…"];
11
+ readonly processDone: readonly ["Action completed. The record has been updated.", "操作完成,單據已更新。"];
12
+ readonly processSaveFirst: readonly ["Wait for your changes to finish saving before continuing.", "請等候草稿儲存完成後再操作。"];
13
+ readonly processSaveFailed: readonly ["Resolve the saving error before continuing.", "請先處理草稿儲存問題,再執行操作。"];
14
+ readonly processValidation: readonly ["Some fields need attention. Review the highlighted fields and try again.", "部分欄位需要修正,請檢查標示的欄位後再試一次。"];
15
+ readonly processPartialErrors: readonly ["Additional fields need attention. Review the form and submit again.", "還有其他欄位需要修正,請檢查表單後再次送出。"];
16
+ readonly processWaiting: readonly ["There are no actions available to you in this state.", "目前狀態沒有可由你執行的流程操作。"];
17
+ readonly processReload: readonly ["Reload workflow actions", "重新載入流程操作"];
18
+ readonly routingTitle: readonly ["Approval routing needs attention", "簽核分流需要處理"];
19
+ readonly routingHint: readonly ["An approver could not be found. Contact an administrator to check the approval settings, then retry routing.", "找不到簽核人,需要管理員處理。請聯絡管理員檢查簽核設定,再重新分流。"];
20
+ readonly routingWho: readonly ["The submitter or an authorized administrator can retry routing.", "送件人或有流程寫入權限的管理員可以重新分流。"];
21
+ readonly retryRouting: readonly ["Retry routing", "重新分流"];
22
+ readonly routingState: readonly ["Routing", "分流中"];
23
+ readonly tasksTitle: readonly ["My tasks", "我的待辦"];
24
+ readonly tasksHint: readonly ["Review requests assigned to you and respond when ready.", "檢視指派給你的單據,確認內容後回應。"];
25
+ readonly tasksPending: readonly ["Pending items", "待處理事項"];
26
+ readonly tasksPendingHint: readonly ["People assigned to the open tasks for this record.", "這張單據目前的待處理任務與負責人。"];
27
+ readonly tasksEmpty: readonly ["You are all caught up", "目前沒有待辦事項"];
28
+ readonly tasksEmptyHint: readonly ["New tasks will appear here when a request needs your response. You can review your records in the meantime.", "需要你回應的任務會出現在這裡,你也可以先檢視自己的單據。"];
29
+ readonly tasksAllEmpty: readonly ["No task history yet", "尚無任務紀錄"];
30
+ readonly tasksAllEmptyHint: readonly ["Tasks assigned to you will appear here, including completed tasks.", "指派給你的任務會顯示在這裡,也包含已完成的任務。"];
31
+ readonly tasksInstanceEmpty: readonly ["No open tasks", "目前沒有待處理任務"];
32
+ readonly tasksInstanceEmptyHint: readonly ["The workflow will create tasks when the next approval is needed.", "流程需要下一步簽核時,會在這裡顯示負責人。"];
33
+ readonly tasksOpen: readonly ["Open tasks", "待處理"];
34
+ readonly tasksAll: readonly ["All tasks", "全部"];
35
+ readonly taskOPEN: readonly ["Pending", "待處理"];
36
+ readonly taskRESPONDED: readonly ["Responded", "已回應"];
37
+ readonly taskCLOSED: readonly ["Completed by another approver", "已由其他簽核人完成"];
38
+ readonly taskCANCELLED: readonly ["Cancelled", "已取消"];
39
+ readonly taskAssignee: readonly ["Assigned to", "負責人"];
40
+ readonly taskDue: readonly ["Due", "到期時間"];
41
+ readonly taskNoDue: readonly ["No due date", "未設定期限"];
42
+ readonly taskExpand: readonly ["Review and respond", "檢視並回應"];
43
+ readonly taskCollapse: readonly ["Collapse task", "收合任務"];
44
+ readonly taskComment: readonly ["Note (optional)", "備註(選填)"];
45
+ readonly taskConfirm: readonly ["Confirm response", "確認回應"];
46
+ readonly taskConsequence: readonly ["Your response may complete this approval and move the request forward. Check the record before confirming.", "你的回應可能完成這次簽核並推進流程,請確認單據內容後再送出。"];
47
+ readonly taskDone: readonly ["Your response was recorded.", "已記錄你的回應。"];
48
+ readonly taskReadOnly: readonly ["This task is no longer available for response. Refresh to see the latest workflow.", "這項任務目前無法回應,請重新整理以查看最新流程。"];
49
+ readonly taskViewRecord: readonly ["View record", "檢視單據"];
50
+ readonly tasksViewAll: readonly ["View all tasks", "查看全部待辦"];
51
+ readonly tasksCountLabel: readonly ["{count} open tasks", "{count} 項待處理任務"];
52
+ readonly fieldInvalid: readonly ["Check this value and try again.", "請檢查此欄位內容後再試一次。"];
53
+ readonly PATTERN_MISMATCH: readonly ["Enter a value in the required format.", "請依指定格式填寫。"];
54
+ readonly OPTION_NOT_ALLOWED: readonly ["Choose an available option.", "請選擇有效的選項。"];
55
+ readonly OUT_OF_RANGE: readonly ["Enter a value within the allowed range.", "請填寫允許範圍內的數值或長度。"];
56
+ readonly ROW_COUNT: readonly ["Check the number of items.", "請檢查品項數量是否符合要求。"];
57
+ readonly FORMULA_ERROR: readonly ["A calculated value could not be produced. Check the related fields.", "無法計算此欄位,請檢查相關欄位。"];
58
+ readonly FORMULA_CYCLE: readonly ["A calculated value is unavailable. Contact an administrator.", "計算欄位目前無法使用,請聯絡管理員。"];
59
+ readonly FORMULA_FIELD_INPUT: readonly ["This value is calculated automatically. Reload the record.", "此欄位由系統計算,請重新載入單據。"];
60
+ readonly UNKNOWN_FIELD_VALUE: readonly ["This field is no longer available. Reload the record.", "此欄位目前無法使用,請重新載入單據。"];
61
+ readonly addRow: readonly ["Add item", "新增品項"];
62
+ readonly removeRow: readonly ["Remove item {row}", "移除第 {row} 項"];
63
+ readonly itemRow: readonly ["Item {row}", "第 {row} 項"];
64
+ readonly ASSIGNEE_UNRESOLVED: readonly ["No approver could be found. Ask an administrator to check the approval settings, then retry.", "仍找不到簽核人,請管理員檢查簽核設定後再重試。"];
65
+ readonly ROUTING_NOT_FAILED: readonly ["The routing status has changed. Reload the record.", "分流狀態已變更,請重新載入單據。"];
66
+ readonly TASK_NOT_OPEN: readonly ["This task was already handled. Refresh to see the latest status.", "這項任務已被處理,請重新整理以查看最新狀態。"];
67
+ readonly TASK_NOT_FOUND: readonly ["This task is unavailable. Refresh your task list.", "找不到這項任務,請重新整理待辦清單。"];
68
+ readonly DELEGATION_ENDED: readonly ["The delegation has ended. Refresh your task list.", "代理期間已結束,請重新整理待辦清單。"];
69
+ readonly TRANSITION_NOT_AVAILABLE: readonly ["The workflow changed. Reload the record before trying again.", "流程狀態已變更,請重新載入單據後再試一次。"];
70
+ readonly TRANSITION_GUARD_FALSE: readonly ["The conditions for this action are no longer met. Reload the record.", "目前不符合執行此操作的條件,請重新載入單據。"];
71
+ };
72
+ export declare const processKeys: (keyof typeof processMessages)[];
73
+ //# sourceMappingURL=process-messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-messages.d.ts","sourceRoot":"","sources":["../src/process-messages.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsJlB,CAAC;AACX,eAAO,MAAM,WAAW,EAAmC,CAAC,MAAM,OAAO,eAAe,CAAC,EAAE,CAAC"}
@@ -0,0 +1,154 @@
1
+ /** Process operations: [English, Traditional Chinese (Taiwan)]. */
2
+ export const processMessages = {
3
+ refresh: ['Refresh', '重新整理'],
4
+ processTitle: ['Workflow actions', '流程操作'],
5
+ processConfirm: ['Confirm action', '確認執行操作'],
6
+ processConsequence: [
7
+ 'This changes the workflow and may send tasks to the next approvers. Review the destination before continuing.',
8
+ '執行後會變更流程狀態,並可能交由下一位簽核人處理。請確認目的狀態後再繼續。',
9
+ ],
10
+ processFinalConsequence: [
11
+ 'This action ends the workflow. You will no longer be able to edit this record. Review the destination before continuing.',
12
+ '此操作會結束這張單據的流程,完成後將無法繼續編輯。請確認目的狀態後再繼續。',
13
+ ],
14
+ waitingFor: ['Waiting for {people}', '等待 {people} 處理'],
15
+ processRoute: ['From {from} to {to}', '從「{from}」變更為「{to}」'],
16
+ processWorking: ['Processing…', '正在處理…'],
17
+ processDone: ['Action completed. The record has been updated.', '操作完成,單據已更新。'],
18
+ processSaveFirst: [
19
+ 'Wait for your changes to finish saving before continuing.',
20
+ '請等候草稿儲存完成後再操作。',
21
+ ],
22
+ processSaveFailed: [
23
+ 'Resolve the saving error before continuing.',
24
+ '請先處理草稿儲存問題,再執行操作。',
25
+ ],
26
+ processValidation: [
27
+ 'Some fields need attention. Review the highlighted fields and try again.',
28
+ '部分欄位需要修正,請檢查標示的欄位後再試一次。',
29
+ ],
30
+ processPartialErrors: [
31
+ 'Additional fields need attention. Review the form and submit again.',
32
+ '還有其他欄位需要修正,請檢查表單後再次送出。',
33
+ ],
34
+ processWaiting: [
35
+ 'There are no actions available to you in this state.',
36
+ '目前狀態沒有可由你執行的流程操作。',
37
+ ],
38
+ processReload: ['Reload workflow actions', '重新載入流程操作'],
39
+ routingTitle: ['Approval routing needs attention', '簽核分流需要處理'],
40
+ routingHint: [
41
+ 'An approver could not be found. Contact an administrator to check the approval settings, then retry routing.',
42
+ '找不到簽核人,需要管理員處理。請聯絡管理員檢查簽核設定,再重新分流。',
43
+ ],
44
+ routingWho: [
45
+ 'The submitter or an authorized administrator can retry routing.',
46
+ '送件人或有流程寫入權限的管理員可以重新分流。',
47
+ ],
48
+ retryRouting: ['Retry routing', '重新分流'],
49
+ routingState: ['Routing', '分流中'],
50
+ tasksTitle: ['My tasks', '我的待辦'],
51
+ tasksHint: [
52
+ 'Review requests assigned to you and respond when ready.',
53
+ '檢視指派給你的單據,確認內容後回應。',
54
+ ],
55
+ tasksPending: ['Pending items', '待處理事項'],
56
+ tasksPendingHint: [
57
+ 'People assigned to the open tasks for this record.',
58
+ '這張單據目前的待處理任務與負責人。',
59
+ ],
60
+ tasksEmpty: ['You are all caught up', '目前沒有待辦事項'],
61
+ tasksEmptyHint: [
62
+ 'New tasks will appear here when a request needs your response. You can review your records in the meantime.',
63
+ '需要你回應的任務會出現在這裡,你也可以先檢視自己的單據。',
64
+ ],
65
+ tasksAllEmpty: ['No task history yet', '尚無任務紀錄'],
66
+ tasksAllEmptyHint: [
67
+ 'Tasks assigned to you will appear here, including completed tasks.',
68
+ '指派給你的任務會顯示在這裡,也包含已完成的任務。',
69
+ ],
70
+ tasksInstanceEmpty: ['No open tasks', '目前沒有待處理任務'],
71
+ tasksInstanceEmptyHint: [
72
+ 'The workflow will create tasks when the next approval is needed.',
73
+ '流程需要下一步簽核時,會在這裡顯示負責人。',
74
+ ],
75
+ tasksOpen: ['Open tasks', '待處理'],
76
+ tasksAll: ['All tasks', '全部'],
77
+ taskOPEN: ['Pending', '待處理'],
78
+ taskRESPONDED: ['Responded', '已回應'],
79
+ taskCLOSED: ['Completed by another approver', '已由其他簽核人完成'],
80
+ taskCANCELLED: ['Cancelled', '已取消'],
81
+ taskAssignee: ['Assigned to', '負責人'],
82
+ taskDue: ['Due', '到期時間'],
83
+ taskNoDue: ['No due date', '未設定期限'],
84
+ taskExpand: ['Review and respond', '檢視並回應'],
85
+ taskCollapse: ['Collapse task', '收合任務'],
86
+ taskComment: ['Note (optional)', '備註(選填)'],
87
+ taskConfirm: ['Confirm response', '確認回應'],
88
+ taskConsequence: [
89
+ 'Your response may complete this approval and move the request forward. Check the record before confirming.',
90
+ '你的回應可能完成這次簽核並推進流程,請確認單據內容後再送出。',
91
+ ],
92
+ taskDone: ['Your response was recorded.', '已記錄你的回應。'],
93
+ taskReadOnly: [
94
+ 'This task is no longer available for response. Refresh to see the latest workflow.',
95
+ '這項任務目前無法回應,請重新整理以查看最新流程。',
96
+ ],
97
+ taskViewRecord: ['View record', '檢視單據'],
98
+ tasksViewAll: ['View all tasks', '查看全部待辦'],
99
+ tasksCountLabel: ['{count} open tasks', '{count} 項待處理任務'],
100
+ fieldInvalid: ['Check this value and try again.', '請檢查此欄位內容後再試一次。'],
101
+ PATTERN_MISMATCH: ['Enter a value in the required format.', '請依指定格式填寫。'],
102
+ OPTION_NOT_ALLOWED: ['Choose an available option.', '請選擇有效的選項。'],
103
+ OUT_OF_RANGE: ['Enter a value within the allowed range.', '請填寫允許範圍內的數值或長度。'],
104
+ ROW_COUNT: ['Check the number of items.', '請檢查品項數量是否符合要求。'],
105
+ FORMULA_ERROR: [
106
+ 'A calculated value could not be produced. Check the related fields.',
107
+ '無法計算此欄位,請檢查相關欄位。',
108
+ ],
109
+ FORMULA_CYCLE: [
110
+ 'A calculated value is unavailable. Contact an administrator.',
111
+ '計算欄位目前無法使用,請聯絡管理員。',
112
+ ],
113
+ FORMULA_FIELD_INPUT: [
114
+ 'This value is calculated automatically. Reload the record.',
115
+ '此欄位由系統計算,請重新載入單據。',
116
+ ],
117
+ UNKNOWN_FIELD_VALUE: [
118
+ 'This field is no longer available. Reload the record.',
119
+ '此欄位目前無法使用,請重新載入單據。',
120
+ ],
121
+ addRow: ['Add item', '新增品項'],
122
+ removeRow: ['Remove item {row}', '移除第 {row} 項'],
123
+ itemRow: ['Item {row}', '第 {row} 項'],
124
+ ASSIGNEE_UNRESOLVED: [
125
+ 'No approver could be found. Ask an administrator to check the approval settings, then retry.',
126
+ '仍找不到簽核人,請管理員檢查簽核設定後再重試。',
127
+ ],
128
+ ROUTING_NOT_FAILED: [
129
+ 'The routing status has changed. Reload the record.',
130
+ '分流狀態已變更,請重新載入單據。',
131
+ ],
132
+ TASK_NOT_OPEN: [
133
+ 'This task was already handled. Refresh to see the latest status.',
134
+ '這項任務已被處理,請重新整理以查看最新狀態。',
135
+ ],
136
+ TASK_NOT_FOUND: [
137
+ 'This task is unavailable. Refresh your task list.',
138
+ '找不到這項任務,請重新整理待辦清單。',
139
+ ],
140
+ DELEGATION_ENDED: [
141
+ 'The delegation has ended. Refresh your task list.',
142
+ '代理期間已結束,請重新整理待辦清單。',
143
+ ],
144
+ TRANSITION_NOT_AVAILABLE: [
145
+ 'The workflow changed. Reload the record before trying again.',
146
+ '流程狀態已變更,請重新載入單據後再試一次。',
147
+ ],
148
+ TRANSITION_GUARD_FALSE: [
149
+ 'The conditions for this action are no longer met. Reload the record.',
150
+ '目前不符合執行此操作的條件,請重新載入單據。',
151
+ ],
152
+ };
153
+ export const processKeys = Object.keys(processMessages);
154
+ //# sourceMappingURL=process-messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-messages.js","sourceRoot":"","sources":["../src/process-messages.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,10 +1,18 @@
1
1
  import 'server-only';
2
2
  import { type ActionError, type ApiFetch, type InstanceAction, type InstanceRequest, type LinkComponent, type Translation, type UploadAction } from './contracts.js';
3
3
  export type * from './contracts.js';
4
+ export { DashboardSkeleton, DetailSkeleton, ListSkeleton } from './dashboard.js';
5
+ export { DEFAULT_TIME_ZONE, formatDate, formatDateTime, formatFieldText, formatFieldValue, formatRelative, fromZonedInput, toZonedInput, } from './format.js';
6
+ export { defaultLabels, resolveLabels } from './labels.js';
4
7
  export { dateRange, importMapping, normalizeQuery } from './query.js';
8
+ export { TasksSkeleton } from './tasks-client.js';
5
9
  export declare function instanceError(error: unknown): ActionError;
10
+ /** An ApiFetch that asks the backend for labels in `locale` (Accept-Language: zh-TW or en). */
11
+ export declare function withLocale(apiFetch: ApiFetch, locale: string): ApiFetch;
6
12
  /** Called only inside an authenticated App Server Action. API authorization is authoritative. */
7
- export declare function performInstanceRequest(apiFetch: ApiFetch, request: InstanceRequest): Promise<unknown>;
13
+ export declare function performInstanceRequest(fetcher: ApiFetch, request: InstanceRequest, options?: {
14
+ locale?: string;
15
+ }): Promise<unknown>;
8
16
  /** Read headers locally; the backend still parses and validates the complete file at preflight. */
9
17
  export declare function readImportUpload(form: FormData): Promise<{
10
18
  headers: string[];
@@ -13,6 +21,7 @@ export declare function readImportUpload(form: FormData): Promise<{
13
21
  }>;
14
22
  interface PageBase {
15
23
  apiFetch: ApiFetch;
24
+ /** A client component (e.g. next/link): it is also passed to client components. */
16
25
  LinkComponent: LinkComponent;
17
26
  t: Translation;
18
27
  getCurrentUser: () => Promise<{
@@ -20,12 +29,20 @@ interface PageBase {
20
29
  } | null>;
21
30
  action: InstanceAction;
22
31
  basePath: string;
32
+ /** Display and backend label locale (zh-TW or en). Without it, labels use the backend default. */
33
+ locale?: string;
34
+ /** IANA zone for dates and times; defaults to DISPLAY_TIME_ZONE, then Asia/Taipei. */
35
+ timeZone?: string;
23
36
  }
24
37
  export interface InstanceListPageOptions extends PageBase {
25
38
  machineCode: string;
26
39
  searchParams: Promise<{
27
40
  query?: string;
28
41
  }>;
42
+ /** Field key of the person a record is about (the "borrower" column). */
43
+ personField?: string;
44
+ /** Show "New record" (the backend still decides whether creation is allowed). */
45
+ showCreate?: boolean;
29
46
  }
30
47
  export declare function renderInstanceListPage(options: InstanceListPageOptions): Promise<import("react").JSX.Element>;
31
48
  export declare function renderInstanceDetailPage(options: PageBase & {
@@ -35,8 +52,24 @@ export declare function renderInstanceDetailPage(options: PageBase & {
35
52
  showDocuments?: boolean;
36
53
  documentDownloadUrl?: string;
37
54
  showManagement?: boolean;
55
+ showProcess?: boolean;
38
56
  draftKeepaliveUrl?: string;
57
+ /** Field key shown as the person in the header; defaults to the first text field. */
58
+ personField?: string;
39
59
  }): Promise<import("react").JSX.Element>;
60
+ export declare function renderInstanceDashboardPage(options: PageBase & {
61
+ machineCode: string;
62
+ personField?: string;
63
+ showCreate?: boolean;
64
+ showTasks?: boolean;
65
+ tasksPath?: string;
66
+ /** Extra quick links, e.g. the App's delegation settings. */
67
+ links?: {
68
+ href: string;
69
+ label: string;
70
+ }[];
71
+ }): Promise<import("react").JSX.Element>;
72
+ export declare function renderMyTasksPage(options: PageBase): Promise<import("react").JSX.Element>;
40
73
  export declare function renderDeletedInstancesPage(options: PageBase): Promise<import("react").JSX.Element>;
41
74
  export declare function renderDelegationsPage(options: PageBase): Promise<import("react").JSX.Element>;
42
75
  export declare function renderImportPage(options: PageBase & {
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAKrB,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,QAAQ,EAKb,KAAK,cAAc,EAEnB,KAAK,eAAe,EAGpB,KAAK,aAAa,EAOlB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAMxB,mBAAmB,gBAAgB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAEzD;AAUD,iGAAiG;AACjG,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAwIlB;AAkBD,mGAAmG;AACnG,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,QAAQ;aAwB7B,MAAM,EAAE;YACP,KAAK,GAAG,MAAM;;GAGtC;AAED,UAAU,QAAQ;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,CAAC,EAAE,WAAW,CAAC;IACf,cAAc,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACvD,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3C;AAqDD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,wCAiD5E;AACD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,QAAQ,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,wCAoEF;AAED,wBAAsB,0BAA0B,CAAC,OAAO,EAAE,QAAQ,wCAoBjE;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,QAAQ,wCAwB5D;AACD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,QAAQ,GAAG;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAE,wCA0BhG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.tsx"],"names":[],"mappings":"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"}