openxiangda 2.48.2 → 2.55.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/browser/AuthoritativeSelector.d.ts +3 -2
  2. package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
  3. package/dist/browser/AuthoritativeSelector.js +32 -11
  4. package/dist/browser/AuthoritativeSelector.js.map +1 -1
  5. package/dist/browser/FilePreviewPage.d.ts.map +1 -1
  6. package/dist/browser/FilePreviewPage.js +4 -0
  7. package/dist/browser/FilePreviewPage.js.map +1 -1
  8. package/dist/browser/components/administration/RoleMembershipManager.d.ts.map +1 -1
  9. package/dist/browser/components/administration/RoleMembershipManager.js +5 -5
  10. package/dist/browser/components/administration/RoleMembershipManager.js.map +1 -1
  11. package/dist/browser/components/administration/scope-applicability.d.ts +3 -0
  12. package/dist/browser/components/administration/scope-applicability.d.ts.map +1 -0
  13. package/dist/browser/components/administration/scope-applicability.js +7 -0
  14. package/dist/browser/components/administration/scope-applicability.js.map +1 -0
  15. package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts +16 -0
  16. package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts.map +1 -0
  17. package/dist/browser/components/platform-fields/ConstrainedUserField.js +140 -0
  18. package/dist/browser/components/platform-fields/ConstrainedUserField.js.map +1 -0
  19. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts +19 -0
  20. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts.map +1 -0
  21. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js +42 -0
  22. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js.map +1 -0
  23. package/dist/browser/components/platform-fields/MobileSelection.d.ts +3 -1
  24. package/dist/browser/components/platform-fields/MobileSelection.d.ts.map +1 -1
  25. package/dist/browser/components/platform-fields/MobileSelection.js +2 -2
  26. package/dist/browser/components/platform-fields/MobileSelection.js.map +1 -1
  27. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +3 -2
  28. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
  29. package/dist/browser/components/platform-fields/ResourceReferenceField.js +2 -2
  30. package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
  31. package/dist/browser/components/platform-fields/SubtableField.js +2 -2
  32. package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
  33. package/dist/browser/components/platform-fields/managed-media-read.d.ts +19 -0
  34. package/dist/browser/components/platform-fields/managed-media-read.d.ts.map +1 -0
  35. package/dist/browser/components/platform-fields/managed-media-read.js +32 -0
  36. package/dist/browser/components/platform-fields/managed-media-read.js.map +1 -0
  37. package/dist/browser/components/platform-fields/user-candidate-context.d.ts +51 -0
  38. package/dist/browser/components/platform-fields/user-candidate-context.d.ts.map +1 -0
  39. package/dist/browser/components/platform-fields/user-candidate-context.js +62 -0
  40. package/dist/browser/components/platform-fields/user-candidate-context.js.map +1 -0
  41. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
  42. package/dist/browser/components/resource/GeneratedResourceCrud.js +26 -2
  43. package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
  44. package/dist/browser/components/resource/GeneratedResourceForm.js +1 -1
  45. package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
  46. package/dist/browser/components/resource/RecordDetailFrame.d.ts +3 -1
  47. package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -1
  48. package/dist/browser/components/resource/RecordDetailFrame.js +2 -2
  49. package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
  50. package/dist/browser/components/resource/ResourceFormFrame.d.ts +2 -1
  51. package/dist/browser/components/resource/ResourceFormFrame.d.ts.map +1 -1
  52. package/dist/browser/components/resource/ResourceFormFrame.js +2 -2
  53. package/dist/browser/components/resource/ResourceFormFrame.js.map +1 -1
  54. package/dist/browser/components/resource/ResourceRecordComments.d.ts +13 -0
  55. package/dist/browser/components/resource/ResourceRecordComments.d.ts.map +1 -0
  56. package/dist/browser/components/resource/ResourceRecordComments.js +75 -0
  57. package/dist/browser/components/resource/ResourceRecordComments.js.map +1 -0
  58. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts +7 -0
  59. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts.map +1 -0
  60. package/dist/browser/components/resource/ResourceRecordDeletion.js +53 -0
  61. package/dist/browser/components/resource/ResourceRecordDeletion.js.map +1 -0
  62. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts +16 -0
  63. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts.map +1 -0
  64. package/dist/browser/components/resource/ResourceRecordPrintPreview.js +92 -0
  65. package/dist/browser/components/resource/ResourceRecordPrintPreview.js.map +1 -0
  66. package/dist/browser/components/resource/SurfaceFields.d.ts +8 -3
  67. package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
  68. package/dist/browser/components/resource/SurfaceFields.js +16 -8
  69. package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
  70. package/dist/browser/components/resource/generated-resource-definition.d.ts +13 -0
  71. package/dist/browser/components/resource/generated-resource-definition.d.ts.map +1 -1
  72. package/dist/browser/components/resource/record-comment-session.d.ts +17 -0
  73. package/dist/browser/components/resource/record-comment-session.d.ts.map +1 -0
  74. package/dist/browser/components/resource/record-comment-session.js +64 -0
  75. package/dist/browser/components/resource/record-comment-session.js.map +1 -0
  76. package/dist/browser/components/resource/record-deletion-session.d.ts +19 -0
  77. package/dist/browser/components/resource/record-deletion-session.d.ts.map +1 -0
  78. package/dist/browser/components/resource/record-deletion-session.js +64 -0
  79. package/dist/browser/components/resource/record-deletion-session.js.map +1 -0
  80. package/dist/browser/components/resource/record-print-session.d.ts +12 -0
  81. package/dist/browser/components/resource/record-print-session.d.ts.map +1 -0
  82. package/dist/browser/components/resource/record-print-session.js +32 -0
  83. package/dist/browser/components/resource/record-print-session.js.map +1 -0
  84. package/dist/browser/components/resource/resource-field-selection.d.ts +1 -0
  85. package/dist/browser/components/resource/resource-field-selection.d.ts.map +1 -1
  86. package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
  87. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +13 -2
  88. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  89. package/dist/browser/components/workflow/StandardWorkflowPages.js +68 -36
  90. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  91. package/dist/browser/components/workflow/WorkflowNodeCard.js +2 -2
  92. package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
  93. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
  94. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +4 -4
  95. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
  96. package/dist/browser/components/workflow/WorkflowRecordEditor.js +1 -1
  97. package/dist/browser/components/workflow/WorkflowRecordEditor.js.map +1 -1
  98. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts +9 -0
  99. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts.map +1 -0
  100. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js +50 -0
  101. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js.map +1 -0
  102. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +2 -1
  103. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
  104. package/dist/browser/components/workflow/WorkflowTaskForm.js +18 -3
  105. package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
  106. package/dist/browser/components/workflow/workflow-submission-form.d.ts +18 -0
  107. package/dist/browser/components/workflow/workflow-submission-form.d.ts.map +1 -0
  108. package/dist/browser/components/workflow/workflow-submission-form.js +44 -0
  109. package/dist/browser/components/workflow/workflow-submission-form.js.map +1 -0
  110. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts +10 -0
  111. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts.map +1 -0
  112. package/dist/browser/components/workflow/workflow-task-required-errors.js +28 -0
  113. package/dist/browser/components/workflow/workflow-task-required-errors.js.map +1 -0
  114. package/dist/browser/durable-command.d.ts.map +1 -1
  115. package/dist/browser/durable-command.js +6 -1
  116. package/dist/browser/durable-command.js.map +1 -1
  117. package/dist/browser/platform-client.d.ts +30 -1
  118. package/dist/browser/platform-client.d.ts.map +1 -1
  119. package/dist/browser/platform-client.js +161 -5
  120. package/dist/browser/platform-client.js.map +1 -1
  121. package/dist/browser/record-comments.css +14 -0
  122. package/dist/browser/record-deletion.css +11 -0
  123. package/dist/browser/record-print.css +31 -0
  124. package/dist/browser/styles.css +30 -0
  125. package/dist/browser/workflow-operation-input.d.ts +15 -0
  126. package/dist/browser/workflow-operation-input.d.ts.map +1 -0
  127. package/dist/browser/workflow-operation-input.js +64 -0
  128. package/dist/browser/workflow-operation-input.js.map +1 -0
  129. package/dist/core.d.ts +2 -2
  130. package/dist/core.d.ts.map +1 -1
  131. package/dist/core.js +1 -1
  132. package/dist/core.js.map +1 -1
  133. package/dist/field-kit.d.ts +3 -0
  134. package/dist/field-kit.d.ts.map +1 -1
  135. package/dist/field-kit.js +3 -0
  136. package/dist/field-kit.js.map +1 -1
  137. package/dist/nest.d.ts +1 -1
  138. package/dist/nest.d.ts.map +1 -1
  139. package/dist/nest.js.map +1 -1
  140. package/dist/react.d.ts +6 -2
  141. package/dist/react.d.ts.map +1 -1
  142. package/dist/react.js +5 -1
  143. package/dist/react.js.map +1 -1
  144. package/dist/testing.d.ts +1 -1
  145. package/dist/testing.d.ts.map +1 -1
  146. package/dist/testing.js +1 -1
  147. package/dist/testing.js.map +1 -1
  148. package/documentation/administration.md +7 -1
  149. package/documentation/backend.md +72 -1
  150. package/documentation/data-authz.md +42 -2
  151. package/documentation/declarations-cheatsheet.md +9 -0
  152. package/documentation/field-components.md +44 -0
  153. package/documentation/frontend.md +8 -0
  154. package/documentation/getting-started.md +7 -7
  155. package/documentation/managed-concurrency-frontend.md +1 -1
  156. package/documentation/manifest.json +11 -11
  157. package/documentation/testing.md +17 -0
  158. package/documentation/workflow-events.md +127 -2
  159. package/package.json +23 -20
  160. package/releases/2.51.0.json +32 -0
  161. package/releases/2.54.4.json +30 -0
  162. package/releases/2.54.6.json +30 -0
  163. package/releases/2.55.0.json +34 -0
  164. package/releases/2.55.1.json +32 -0
  165. package/skills/manifest.json +1 -1
  166. package/skills/openxiangda-v2/SKILL.md +4 -4
  167. package/skills/openxiangda-v2/references/administration.md +7 -1
  168. package/skills/openxiangda-v2/references/backend.md +72 -1
  169. package/skills/openxiangda-v2/references/data-authz.md +42 -2
  170. package/skills/openxiangda-v2/references/declarations-cheatsheet.md +9 -0
  171. package/skills/openxiangda-v2/references/field-components.md +44 -0
  172. package/skills/openxiangda-v2/references/frontend.md +8 -0
  173. package/skills/openxiangda-v2/references/getting-started.md +7 -7
  174. package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +1 -1
  175. package/skills/openxiangda-v2/references/testing.md +17 -0
  176. package/skills/openxiangda-v2/references/workflow-events.md +127 -2
  177. package/releases/2.48.1.json +0 -30
  178. package/releases/2.48.2.json +0 -29
@@ -1 +1 @@
1
- {"version":3,"file":"RecordDetailFrame.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/RecordDetailFrame.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,UAK3D;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,EAAE,OAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAClG,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAc,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAY,GACnG,EAAE;IACD,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IACvF,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnF,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC3D,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC7D,2CA+BA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;IAC5D,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3D,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS,CAAC;CACjD,2CASA"}
1
+ {"version":3,"file":"RecordDetailFrame.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/RecordDetailFrame.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,UAK3D;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAAC,EAAE,OAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAClG,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAc,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAY,GACtH,EAAE;IACD,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IACvF,QAAQ,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnF,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IACxG,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC7D,2CAiCA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;IAC5D,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3D,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS,CAAC;CACjD,2CASA"}
@@ -12,13 +12,13 @@ export function detailTime(value, timeZone) {
12
12
  return new Intl.DateTimeFormat('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', hour12: false, timeZone }).format(date);
13
13
  }
14
14
  /** One presentation owner. Data, authorization and commands remain with their controllers. */
15
- export function RecordDetailFrame({ variant = 'desktop', title, heading, status, metadata, updatedAt, children, footer, onClose, onEdit, drawer = false, drawerState, newPageHref, editing, busy = false, }) {
15
+ export function RecordDetailFrame({ variant = 'desktop', title, heading, status, metadata, updatedAt, children, footer, onClose, onEdit, onPrint, onDelete, drawer = false, drawerState, newPageHref, editing, busy = false, }) {
16
16
  const [localFullScreen, setLocalFullScreen] = useState(false);
17
17
  const fullScreen = drawerState?.fullScreen ?? localFullScreen;
18
18
  const setFullScreen = drawerState?.setFullScreen || setLocalFullScreen;
19
19
  const zone = usePresentationTimeZone();
20
20
  const time = detailTime(updatedAt, zone);
21
- const content = _jsxs("section", { className: `oxa-record-detail oxa-record-detail-${variant} ${drawer ? 'is-drawer' : 'is-page'} ${editing ? 'is-editing' : ''}`, "data-detail-frame": "standard", children: [_jsx("header", { className: "oxa-record-detail-header", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsxs("div", { className: "oxa-record-detail-heading", children: [!drawer && _jsx(Button, { type: "text", "aria-label": "\u8FD4\u56DE", icon: _jsx(ArrowLeftOutlined, {}), disabled: busy, onClick: onClose }), _jsx("h2", { children: editing ? '编辑数据' : title })] }), _jsxs(Space, { size: 4, children: [onEdit && !editing && _jsx(Button, { type: "link", onClick: onEdit, children: "\u7F16\u8F91" }), drawer && _jsx(Tooltip, { title: fullScreen ? '退出全屏' : '全屏', children: _jsx(Button, { type: "text", "aria-label": fullScreen ? '退出全屏' : '全屏', icon: fullScreen ? _jsx(CompressOutlined, {}) : _jsx(ExpandOutlined, {}), onClick: () => setFullScreen(!fullScreen) }) }), drawer && newPageHref && !editing && _jsx(Tooltip, { title: "\u65B0\u5F00\u9875\u9762", children: _jsx(Button, { type: "text", "aria-label": "\u65B0\u5F00\u9875\u9762", icon: _jsx(ExportOutlined, {}), href: newPageHref, target: "_blank", rel: "noopener noreferrer" }) }), _jsx(Tooltip, { title: "\u5173\u95ED", children: _jsx(Button, { type: "text", "aria-label": "\u5173\u95ED", icon: _jsx(CloseOutlined, {}), disabled: busy, onClick: onClose }) })] })] }) }), _jsx("main", { className: "oxa-record-detail-body", children: _jsxs("div", { className: "oxa-record-detail-width", children: [heading && !editing && _jsxs("div", { className: "oxa-record-detail-hero", children: [_jsxs("div", { children: [_jsx("h1", { children: heading }), status] }), metadata && _jsx("div", { className: "oxa-record-detail-metadata", children: metadata })] }), editing || children] }) }), !editing && footer !== null && _jsx("footer", { className: "oxa-record-detail-footer", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsx("span", { className: "oxa-record-detail-updated", children: time ? `更新于 ${time}` : '' }), _jsx("div", { className: "oxa-record-detail-actions", children: footer || _jsxs(Space, { children: [_jsx(Button, { disabled: busy, onClick: onClose, children: "\u5173\u95ED" }), onEdit && _jsx(Button, { type: "primary", onClick: onEdit, children: "\u7F16\u8F91" })] }) })] }) })] });
21
+ const content = _jsxs("section", { className: `oxa-record-detail oxa-record-detail-${variant} ${drawer ? 'is-drawer' : 'is-page'} ${editing ? 'is-editing' : ''}`, "data-detail-frame": "standard", children: [_jsx("header", { className: "oxa-record-detail-header", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsxs("div", { className: "oxa-record-detail-heading", children: [!drawer && _jsx(Button, { type: "text", "aria-label": "\u8FD4\u56DE", icon: _jsx(ArrowLeftOutlined, {}), disabled: busy, onClick: onClose }), _jsx("h2", { children: editing ? '编辑数据' : title })] }), _jsxs(Space, { size: 4, children: [onPrint && !editing && _jsx(Button, { onClick: onPrint, children: "\u6253\u5370" }), onDelete && !editing && _jsx(Button, { danger: true, disabled: busy, onClick: onDelete, children: "\u5220\u9664\u8D44\u6599" }), onEdit && !editing && _jsx(Button, { type: "link", onClick: onEdit, children: "\u7F16\u8F91" }), drawer && _jsx(Tooltip, { title: fullScreen ? '退出全屏' : '全屏', children: _jsx(Button, { type: "text", "aria-label": fullScreen ? '退出全屏' : '全屏', icon: fullScreen ? _jsx(CompressOutlined, {}) : _jsx(ExpandOutlined, {}), onClick: () => setFullScreen(!fullScreen) }) }), drawer && newPageHref && !editing && _jsx(Tooltip, { title: "\u65B0\u5F00\u9875\u9762", children: _jsx(Button, { type: "text", "aria-label": "\u65B0\u5F00\u9875\u9762", icon: _jsx(ExportOutlined, {}), href: newPageHref, target: "_blank", rel: "noopener noreferrer" }) }), _jsx(Tooltip, { title: "\u5173\u95ED", children: _jsx(Button, { type: "text", "aria-label": "\u5173\u95ED", icon: _jsx(CloseOutlined, {}), disabled: busy, onClick: onClose }) })] })] }) }), _jsx("main", { className: "oxa-record-detail-body", children: _jsxs("div", { className: "oxa-record-detail-width", children: [heading && !editing && _jsxs("div", { className: "oxa-record-detail-hero", children: [_jsxs("div", { children: [_jsx("h1", { children: heading }), status] }), metadata && _jsx("div", { className: "oxa-record-detail-metadata", children: metadata })] }), editing || children] }) }), !editing && footer !== null && _jsx("footer", { className: "oxa-record-detail-footer", children: _jsxs("div", { className: "oxa-record-detail-width", children: [_jsx("span", { className: "oxa-record-detail-updated", children: time ? `更新于 ${time}` : '' }), _jsx("div", { className: "oxa-record-detail-actions", children: footer || _jsxs(Space, { children: [_jsx(Button, { disabled: busy, onClick: onClose, children: "\u5173\u95ED" }), onEdit && _jsx(Button, { type: "primary", onClick: onEdit, children: "\u7F16\u8F91" })] }) })] }) })] });
22
22
  return drawer ? _jsx(Drawer, { open: true, "aria-label": editing ? '编辑数据' : title, rootClassName: "oxa-resource-drawer oxa-record-detail-drawer", size: fullScreen ? '100vw' : 'min(850px, calc(100vw - 48px))', styles: { body: { padding: 0, overflow: 'hidden' } }, closable: false, keyboard: !busy, mask: { closable: !busy }, onClose: onClose, children: content }) : content;
23
23
  }
24
24
  export function RecordDetailSections({ groups, renderValue }) {
@@ -1 +1 @@
1
- {"version":3,"file":"RecordDetailFrame.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/RecordDetailFrame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordDetailFrame.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/RecordDetailFrame.tsx"],"names":[],"mappings":"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"}
@@ -2,11 +2,12 @@ import { type FormInstance } from 'antd';
2
2
  import { type ReactNode } from 'react';
3
3
  import { type SurfaceField, type SurfaceFieldRenderers } from './SurfaceFields';
4
4
  /** Shared presentation only; each platform owner supplies its existing load/save lifecycle. */
5
- export declare function ResourceFormContent({ variant, mode, resourceCode, recordId, groups, form, initialValues, busy, pending, submitDisabled, submitLabel, error, feedback, actions, canWriteField, renderers, onValuesChange, onSubmit, }: {
5
+ export declare function ResourceFormContent({ variant, mode, resourceCode, recordId, expectedRevision, groups, form, initialValues, busy, pending, submitDisabled, submitLabel, error, feedback, actions, canWriteField, renderers, onValuesChange, onSubmit, }: {
6
6
  variant: 'desktop' | 'mobile';
7
7
  mode: 'create' | 'edit';
8
8
  resourceCode: string;
9
9
  recordId?: string;
10
+ expectedRevision?: number;
10
11
  groups: Array<{
11
12
  section: string;
12
13
  fields: SurfaceField[];
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceFormFrame.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceFormFrame.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+C,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AACtF,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEhI,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EACxE,OAAO,EAAE,cAAc,EAAE,WAA2C,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,GACnJ,EAAE;IACD,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC;IAChD,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrD,2CAgCA;AAED,MAAM,WAAW,uBAAuB;IAAG,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE;AAErG,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,2CAoBA"}
1
+ {"version":3,"file":"ResourceFormFrame.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceFormFrame.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+C,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AACtF,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEhI,+FAA+F;AAC/F,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAC1F,OAAO,EAAE,cAAc,EAAE,WAA2C,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,GACnJ,EAAE;IACD,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC;IAChD,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrD,2CAgCA;AAED,MAAM,WAAW,uBAAuB;IAAG,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE;AAErG,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE;IACjH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC,2CAoBA"}
@@ -5,13 +5,13 @@ import { useEffect, useRef, useState } from 'react';
5
5
  import { Button as MobileButton } from '../../mobile';
6
6
  import { MobileSurfaceFieldControl, SurfaceFieldControl } from './SurfaceFields';
7
7
  /** Shared presentation only; each platform owner supplies its existing load/save lifecycle. */
8
- export function ResourceFormContent({ variant, mode, resourceCode, recordId, groups, form, initialValues, busy, pending, submitDisabled, submitLabel = mode === 'edit' ? '保存' : '提交', error, feedback, actions, canWriteField, renderers, onValuesChange, onSubmit, }) {
8
+ export function ResourceFormContent({ variant, mode, resourceCode, recordId, expectedRevision, groups, form, initialValues, busy, pending, submitDisabled, submitLabel = mode === 'edit' ? '保存' : '提交', error, feedback, actions, canWriteField, renderers, onValuesChange, onSubmit, }) {
9
9
  const errorRef = useRef(null);
10
10
  useEffect(() => { if (error)
11
11
  errorRef.current?.focus(); }, [error]);
12
12
  const grouped = groups.length > 1 || groups.some(group => group.section !== 'default');
13
13
  const FieldControl = variant === 'mobile' ? MobileSurfaceFieldControl : SurfaceFieldControl;
14
- return _jsxs(Form, { className: variant === 'mobile' ? 'oxa-mobile-form' : 'oxa-form-full', disabled: busy, form: form, initialValues: initialValues, layout: "vertical", onValuesChange: onValuesChange, onFinish: onSubmit, scrollToFirstError: { focus: true }, children: [_jsxs("div", { className: "oxa-form-scroll", children: [feedback, error && _jsx("div", { ref: errorRef, tabIndex: -1, className: "oxa-form-error", children: _jsx(Alert, { title: "\u4FDD\u5B58\u5931\u8D25", description: error, type: "error", showIcon: true }) }), _jsx("div", { className: "oxa-form-sections", children: groups.map((group, index) => _jsxs("section", { className: "oxa-form-section", "aria-labelledby": grouped ? `resource-form-section-${index}` : undefined, children: [grouped && _jsx("h2", { id: `resource-form-section-${index}`, children: group.section === 'default' ? '基本信息' : group.section }), _jsx("div", { className: "oxa-grid", children: group.fields.map(field => _jsx(FieldControl, { field: field, disabled: busy || !canWriteField(field), operation: mode === 'create' ? 'create' : 'update', resourceCode: resourceCode, recordId: recordId, renderers: renderers }, field.key)) })] }, group.section)) })] }), _jsxs("div", { className: "oxa-actions", children: [actions, variant === 'mobile'
14
+ return _jsxs(Form, { className: variant === 'mobile' ? 'oxa-mobile-form' : 'oxa-form-full', disabled: busy, form: form, initialValues: initialValues, layout: "vertical", onValuesChange: onValuesChange, onFinish: onSubmit, scrollToFirstError: { focus: true }, children: [_jsxs("div", { className: "oxa-form-scroll", children: [feedback, error && _jsx("div", { ref: errorRef, tabIndex: -1, className: "oxa-form-error", children: _jsx(Alert, { title: "\u4FDD\u5B58\u5931\u8D25", description: error, type: "error", showIcon: true }) }), _jsx("div", { className: "oxa-form-sections", children: groups.map((group, index) => _jsxs("section", { className: "oxa-form-section", "aria-labelledby": grouped ? `resource-form-section-${index}` : undefined, children: [grouped && _jsx("h2", { id: `resource-form-section-${index}`, children: group.section === 'default' ? '基本信息' : group.section }), _jsx("div", { className: "oxa-grid", children: group.fields.map(field => _jsx(FieldControl, { field: field, disabled: busy || !canWriteField(field), operation: mode === 'create' ? 'create' : 'update', resourceCode: resourceCode, recordId: recordId, expectedRevision: expectedRevision, renderers: renderers }, field.key)) })] }, group.section)) })] }), _jsxs("div", { className: "oxa-actions", children: [actions, variant === 'mobile'
15
15
  ? _jsx(MobileButton, { type: "submit", loading: pending, disabled: submitDisabled, color: "primary", children: submitLabel })
16
16
  : _jsx(Button, { "aria-label": submitLabel, htmlType: "submit", disabled: submitDisabled, loading: pending, type: "primary", children: submitLabel })] })] });
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ResourceFormFrame.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceFormFrame.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAqB,MAAM,MAAM,CAAC;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAiD,MAAM,iBAAiB,CAAC;AAEhI,+FAA+F;AAC/F,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EACxE,OAAO,EAAE,cAAc,EAAE,WAAW,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,GAoBnJ;IACC,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9C,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK;QAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC5F,OAAO,MAAC,IAAI,IACV,SAAS,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,EACrE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAC,UAAU,EAC3E,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAEvF,eAAK,SAAS,EAAC,iBAAiB,aAC7B,QAAQ,EACR,KAAK,IAAI,cAAK,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,SAAS,EAAC,gBAAgB,YAAC,KAAC,KAAK,IAC3E,KAAK,EAAC,0BAAM,EAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAC,OAAO,EAAC,QAAQ,SACtD,GAAM,EACR,cAAK,SAAS,EAAC,mBAAmB,YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,mBAC/D,SAAS,EAAC,kBAAkB,qBAAsC,OAAO,CAAC,CAAC,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,aAEvH,OAAO,IAAI,aAAI,EAAE,EAAE,yBAAyB,KAAK,EAAE,YAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAM,EACjH,cAAK,SAAS,EAAC,UAAU,YAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAC,YAAY,IAChD,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EACrE,SAAS,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,IADnH,KAAK,CAAC,GAAG,CAEd,CAAC,GAAO,KANwB,KAAK,CAAC,OAAO,CAOvC,CAAC,GAAO,IACd,EACN,eAAK,SAAS,EAAC,aAAa,aACzB,OAAO,EACP,OAAO,KAAK,QAAQ;wBACnB,CAAC,CAAC,KAAC,YAAY,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAC,SAAS,YAAE,WAAW,GAAgB;wBACtH,CAAC,CAAC,KAAC,MAAM,kBAAa,WAAW,EAAE,QAAQ,EAAC,QAAQ,EAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,SAAS,YAAE,WAAW,GAAU,IACpI,IACD,CAAC;AACV,CAAC;AAID,MAAM,UAAU,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAM9G;IACC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,WAAW,EAAE,UAAU,IAAI,eAAe,CAAC;IAC9D,MAAM,aAAa,GAAG,WAAW,EAAE,aAAa,IAAI,kBAAkB,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI;QAAE,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,KAAC,MAAM,IACZ,aAAa,EAAC,qBAAqB,EAAC,KAAK,EAAE,KAAK,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EACzF,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;YACrC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAAC,QAAQ,EAAE,CAAC;YAAC,CAAC;QACzE,CAAC,EACD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,EAC7D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAC/G,KAAK,EAAE,MAAC,KAAK,IAAC,IAAI,EAAE,CAAC,aACnB,KAAC,OAAO,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,YAAE,KAAC,MAAM,kBAAa,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC,CAAC,KAAC,cAAc,KAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,GAAI,GAAU,EAC5N,OAAO,IAAI,KAAC,OAAO,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM,YAAE,KAAC,MAAM,kBAAY,0BAAM,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAC,cAAc,KAAG,KAC7H,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAI,GAAU,EACxI,KAAC,OAAO,IAAC,KAAK,EAAC,cAAI,YAAC,KAAC,MAAM,kBAAY,cAAI,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAC,aAAa,KAAG,EAAE,OAAO,EAAE,OAAO,GAAI,GAAU,IACzH,YACR,QAAQ,GAAU,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"ResourceFormFrame.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceFormFrame.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { DataRecordCommentPage } from 'openxiangda-contracts/browser';
2
+ export declare function RecordCommentList({ data, timeZone }: {
3
+ data: DataRecordCommentPage;
4
+ timeZone?: string;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ /** The key remount drops late responses and drafts across record or authority changes. */
7
+ export declare function ResourceRecordComments(props: {
8
+ resourceCode: string;
9
+ recordId: string;
10
+ canRead?: boolean;
11
+ canCreate?: boolean;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=ResourceRecordComments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRecordComments.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceRecordComments.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAQ3E,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,2CAKvG;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,2CAM/H"}
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
3
+ import { Alert, Button, Input, Space } from 'antd';
4
+ import { useRuntime } from '../../runtime';
5
+ import { useUnsavedChangesGuard } from '../../navigation-guard';
6
+ import { createNativeRecordComment, loadNativeRecordCommentReceipt, loadNativeRecordComments, OpenXiangdaPlatformRequestError } from '../../platform-client';
7
+ import { usePresentationTimeZone } from '../../presentation-time';
8
+ import { detailTime } from './RecordDetailFrame';
9
+ import { createRecordCommentSession } from './record-comment-session';
10
+ export function RecordCommentList({ data, timeZone }) {
11
+ return data.items.length ? _jsx("ol", { className: "oxa-record-comments-list", children: data.items.map(comment => _jsxs("li", { children: [_jsxs("div", { children: [_jsx("strong", { children: comment.isOwn ? '我' : comment.authorUserId }), _jsx("time", { dateTime: comment.createdAt, children: detailTime(comment.createdAt, timeZone) })] }), _jsx("p", { children: comment.body })] }, comment.id)) }) : _jsx("p", { className: "oxa-record-comments-empty", children: "\u6682\u65E0\u8BC4\u8BBA" });
12
+ }
13
+ /** The key remount drops late responses and drafts across record or authority changes. */
14
+ export function ResourceRecordComments(props) {
15
+ const { identity, identityEpoch, perspective } = useRuntime();
16
+ const key = JSON.stringify([props.resourceCode, props.recordId, identityEpoch, identity.userId,
17
+ identity.environment.headRevision, identity.environment.authzRevisionId, identity.environment.authzVersion,
18
+ identity.environment.scopeDataVersion, perspective?.code, props.canRead, props.canCreate]);
19
+ return _jsx(RecordCommentsBody, { ...props }, key);
20
+ }
21
+ function RecordCommentsBody({ resourceCode, recordId, canRead = true, canCreate = false }) {
22
+ const inputId = useId();
23
+ const timeZone = usePresentationTimeZone();
24
+ const [draft, setDraft] = useState('');
25
+ const [cursors, setCursors] = useState([undefined]);
26
+ const cursor = cursors[cursors.length - 1];
27
+ const [reload, setReload] = useState(0);
28
+ const [page, setPage] = useState({ key: '' });
29
+ const pageKey = JSON.stringify([cursor, reload]);
30
+ const [mutation, setMutation] = useState({ busy: false });
31
+ const session = useRef(null);
32
+ useUnsavedChangesGuard({ when: Boolean(draft || mutation.pending), preventNavigation: mutation.busy || Boolean(mutation.pending),
33
+ message: mutation.pending ? '评论提交结果尚待确认,请先核对原请求。' : '评论尚未提交,离开后将丢失。' });
34
+ useLayoutEffect(() => {
35
+ const current = createRecordCommentSession(input => createNativeRecordComment(resourceCode, recordId, input), key => loadNativeRecordCommentReceipt(resourceCode, recordId, key), state => {
36
+ setMutation(state);
37
+ if (state.receipt) {
38
+ setDraft('');
39
+ setCursors([undefined]);
40
+ setReload(value => value + 1);
41
+ }
42
+ });
43
+ session.current = current;
44
+ return () => { current.close(); if (session.current === current)
45
+ session.current = null; };
46
+ }, [resourceCode, recordId]);
47
+ useEffect(() => {
48
+ if (!canRead)
49
+ return;
50
+ let active = true;
51
+ setPage({ key: pageKey });
52
+ void loadNativeRecordComments(resourceCode, recordId, { limit: 20, cursor })
53
+ .then(data => { if (active)
54
+ setPage({ key: pageKey, data }); })
55
+ .catch(error => { if (active)
56
+ setPage({ key: pageKey, error }); });
57
+ return () => { active = false; };
58
+ }, [resourceCode, recordId, cursor, pageKey, canRead]);
59
+ useEffect(() => {
60
+ if (!draft && !mutation.pending)
61
+ return;
62
+ const protect = (event) => { event.preventDefault(); event.returnValue = ''; };
63
+ window.addEventListener('beforeunload', protect);
64
+ return () => window.removeEventListener('beforeunload', protect);
65
+ }, [draft, mutation.pending]);
66
+ const data = page.key === pageKey ? page.data : undefined;
67
+ const error = page.key === pageKey ? page.error : undefined;
68
+ const status = error instanceof OpenXiangdaPlatformRequestError ? error.status : 0;
69
+ const errorText = status === 403 ? '当前用户无权查看此申请的评论。' : status === 404
70
+ ? '申请不存在或不在可查看范围内。' : '评论读取失败,请重新读取。';
71
+ return _jsxs("section", { className: "oxa-record-comments", "aria-label": "\u8D44\u6599\u8BC4\u8BBA", children: [canRead && _jsxs("div", { "aria-busy": !data && !error, children: [error ? _jsx(Alert, { type: "error", title: errorText, action: _jsx(Button, { onClick: () => setReload(value => value + 1), children: "\u91CD\u65B0\u8BFB\u53D6" }) })
72
+ : data ? _jsx(RecordCommentList, { data: data, timeZone: timeZone }) : _jsx("p", { role: "status", children: "\u6B63\u5728\u8BFB\u53D6\u8BC4\u8BBA\u2026" }), data && _jsxs("nav", { "aria-label": "\u8BC4\u8BBA\u5206\u9875", children: [_jsx(Button, { disabled: cursors.length === 1, onClick: () => setCursors(value => value.slice(0, -1)), children: "\u4E0A\u4E00\u9875" }), _jsxs("span", { children: ["\u7B2C ", cursors.length, " \u9875"] }), _jsx(Button, { disabled: !data.nextCursor, onClick: () => setCursors(value => [...value, data.nextCursor]), children: "\u4E0B\u4E00\u9875" }), _jsx(Button, { onClick: () => { setCursors([undefined]); setReload(value => value + 1); }, children: "\u5237\u65B0" })] })] }), canCreate && _jsxs("form", { onSubmit: event => { event.preventDefault(); void session.current?.send(draft); }, children: [_jsx("label", { htmlFor: inputId, children: "\u6DFB\u52A0\u8BC4\u8BBA" }), _jsx(Input.TextArea, { id: inputId, value: draft, onChange: event => setDraft(event.target.value), maxLength: 4000, showCount: true, autoSize: { minRows: 3, maxRows: 8 }, disabled: mutation.busy || Boolean(mutation.pending) }), mutation.unknown ? _jsx(Alert, { type: "warning", title: "\u63D0\u4EA4\u7ED3\u679C\u5C1A\u672A\u786E\u8BA4", description: _jsxs(_Fragment, { children: [_jsx("p", { children: "\u5148\u6838\u5BF9\u539F\u8BF7\u6C42\uFF0C\u518D\u7EE7\u7EED\u8BC4\u8BBA\u3002\u79BB\u5F00\u540E\u53EF\u4FDD\u7559\u4E0B\u9762\u7684\u8BF7\u6C42\u7F16\u53F7\u548C\u6B63\u6587\uFF0C\u7528\u4E8E\u6062\u590D\u7ED3\u679C\u3002" }), _jsxs("details", { children: [_jsx("summary", { children: "\u539F\u8BF7\u6C42" }), _jsx("code", { children: mutation.pending?.idempotencyKey }), _jsx("p", { className: "oxa-record-comments-pending", children: mutation.pending?.body })] }), _jsxs(Space, { wrap: true, children: [_jsx(Button, { loading: mutation.busy, disabled: mutation.busy, onClick: () => void session.current?.recover(), children: "\u6838\u5BF9\u63D0\u4EA4\u7ED3\u679C" }), mutation.retryAllowed && _jsx(Button, { disabled: mutation.busy, onClick: () => void session.current?.retry(), children: "\u7528\u539F\u8BF7\u6C42\u91CD\u8BD5" })] })] }) }) : mutation.error ? _jsx(Alert, { type: "error", title: "\u8BC4\u8BBA\u672A\u63D0\u4EA4", description: mutation.error instanceof Error ? mutation.error.message : '请重新读取申请与权限后再试。' })
73
+ : mutation.receipt ? _jsx("p", { role: "status", children: "\u8BC4\u8BBA\u5DF2\u63D0\u4EA4" }) : null, _jsx(Button, { htmlType: "submit", type: "primary", loading: mutation.busy, disabled: !draft.trim() || Boolean(mutation.pending), children: "\u53D1\u8868\u8BC4\u8BBA" })] })] });
74
+ }
75
+ //# sourceMappingURL=ResourceRecordComments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRecordComments.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceRecordComments.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare function ResourceRecordDeletion(props: {
2
+ resourceCode: string;
3
+ recordId: string;
4
+ onClose: () => void;
5
+ onDeleted?: () => void;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=ResourceRecordDeletion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRecordDeletion.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceRecordDeletion.tsx"],"names":[],"mappings":"AAOA,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,2CAKpI"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
3
+ import { Alert, Button, Input, Modal, Space } from 'antd';
4
+ import { useRuntime } from '../../runtime';
5
+ import { useUnsavedChangesGuard } from '../../navigation-guard';
6
+ import { deleteNativeRecordWithPreview, previewNativeRecordDeletion, recoverNativeRecordDeletion } from '../../platform-client';
7
+ import { createRecordDeletionSession } from './record-deletion-session';
8
+ export function ResourceRecordDeletion(props) {
9
+ const { identity, identityEpoch } = useRuntime();
10
+ const key = JSON.stringify([props.resourceCode, props.recordId, identityEpoch, identity.userId, identity.environment.headRevision,
11
+ identity.environment.authzRevisionId, identity.environment.authzVersion, identity.environment.scopeDataVersion]);
12
+ return _jsx(RecordDeletionBody, { ...props }, key);
13
+ }
14
+ function RecordDeletionBody({ resourceCode, recordId, onClose, onDeleted }) {
15
+ const reasonId = useId();
16
+ const [reason, setReason] = useState('');
17
+ const [state, setState] = useState({ busy: false });
18
+ const session = useRef(null);
19
+ const protectedRequest = state.busy || Boolean(state.pending);
20
+ useUnsavedChangesGuard({ when: !state.receipt?.deleted && Boolean(reason || state.pending), preventNavigation: protectedRequest,
21
+ message: state.pending ? '删除结果尚待确认,请先核对原请求。' : '删除尚未确认,离开后将丢失填写的原因。' });
22
+ useLayoutEffect(() => {
23
+ const current = createRecordDeletionSession(() => previewNativeRecordDeletion(resourceCode, recordId), input => deleteNativeRecordWithPreview(resourceCode, recordId, input), input => recoverNativeRecordDeletion(resourceCode, recordId, input), setState);
24
+ session.current = current;
25
+ return () => { current.close(); if (session.current === current)
26
+ session.current = null; };
27
+ }, [resourceCode, recordId]);
28
+ const preview = state.preview;
29
+ const [now, setNow] = useState(Date.now);
30
+ useEffect(() => {
31
+ setNow(Date.now());
32
+ if (!preview?.expiresAt)
33
+ return;
34
+ const remaining = Date.parse(preview.expiresAt) - Date.now();
35
+ if (!Number.isFinite(remaining) || remaining <= 0)
36
+ return;
37
+ const timeout = setTimeout(() => setNow(Date.now()), remaining + 1);
38
+ return () => clearTimeout(timeout);
39
+ }, [preview]);
40
+ const expired = Boolean(preview?.expiresAt && Date.parse(preview.expiresAt) <= now);
41
+ const blocked = preview?.blocker === 'pending_launch' ? '申请的流程正在启动或等待恢复,请先完成处理。'
42
+ : preview?.blocker === 'multiple_workflows' ? '此申请关联多个流程,请由流程管理员核对后处理。'
43
+ : '申请明细关联其他流程,请先核对这些流程。';
44
+ const done = state.receipt?.deleted;
45
+ const finish = () => { onClose(); onDeleted?.(); };
46
+ return _jsx(Modal, { open: true, title: done ? '资料已删除' : '删除资料', width: "min(560px, calc(100vw - 32px))", rootClassName: "oxa-record-deletion-modal", mask: { closable: !protectedRequest }, keyboard: !protectedRequest, closable: !protectedRequest, onCancel: done ? finish : onClose, footer: done
47
+ ? _jsx(Button, { type: "primary", onClick: finish, children: "\u8FD4\u56DE\u5217\u8868" })
48
+ : _jsxs(Space, { wrap: true, children: [_jsx(Button, { disabled: protectedRequest, onClick: onClose, children: "\u53D6\u6D88" }), !state.pending && _jsx(Button, { disabled: !reason.trim() || state.busy, loading: state.busy, onClick: () => void session.current?.preview(), children: "\u9884\u89C8\u5220\u9664\u5F71\u54CD" }), preview?.canCommit && !state.pending && _jsx(Button, { danger: true, type: "primary", disabled: state.busy || !reason.trim() || expired, onClick: () => void session.current?.confirm(reason), children: "\u786E\u8BA4\u5220\u9664" })] }), children: done ? _jsx(Alert, { type: "success", title: "\u7533\u8BF7\u4E0E\u5173\u8054\u660E\u7EC6\u5DF2\u5220\u9664", description: "\u5982\u6709\u5173\u8054\u6D41\u7A0B\uFF0C\u5176\u5F85\u529E\u5DF2\u505C\u6B62\uFF0C\u6D41\u7A0B\u5165\u53E3\u5DF2\u5173\u95ED\u3002" }) : _jsxs(_Fragment, { children: [_jsx("p", { children: "\u5220\u9664\u540E\u5C06\u65E0\u6CD5\u901A\u8FC7\u7533\u8BF7\u548C\u6D41\u7A0B\u5165\u53E3\u67E5\u770B\u8FD9\u4E9B\u8D44\u6599\u3002\u8BF7\u5148\u586B\u5199\u539F\u56E0\u5E76\u6838\u5BF9\u5F71\u54CD\u3002" }), _jsx("label", { htmlFor: reasonId, children: "\u5220\u9664\u539F\u56E0" }), _jsx(Input.TextArea, { id: reasonId, value: reason, onChange: event => setReason(event.target.value), maxLength: 1000, showCount: true, autoSize: { minRows: 3, maxRows: 6 }, disabled: protectedRequest }), preview && _jsxs("section", { className: "oxa-record-deletion-impact", "aria-label": "\u5220\u9664\u5F71\u54CD", children: [_jsxs("p", { children: [preview.canCommit ? '将删除' : '涉及', " ", _jsx("strong", { children: preview.resourceName }), " \u7684\u8FD9\u6761\u8D44\u6599\u53CA\u5173\u8054\u660E\u7EC6\uFF0C\u5171 ", _jsx("strong", { children: preview.affectedRecords }), " \u6761\u3002"] }), preview.workflowCount > 0 && _jsxs("p", { children: ["\u6D89\u53CA ", _jsx("strong", { children: preview.workflowCount }), " \u4E2A\u6D41\u7A0B", preview.canCommit
49
+ ? _jsxs(_Fragment, { children: ["\uFF0C\u5C06\u505C\u6B62 ", _jsx("strong", { children: preview.cancelledTaskCount }), " \u4E2A\u5F85\u529E\uFF0C\u529E\u7406\u5386\u53F2\u5165\u53E3\u4E5F\u4F1A\u5173\u95ED\u3002"] })
50
+ : ',请先核对流程关联。'] }), !preview.canCommit && _jsx(Alert, { type: "warning", title: "\u5F53\u524D\u65E0\u6CD5\u5220\u9664", description: blocked }), preview.canCommit && expired && _jsx(Alert, { type: "warning", title: "\u9884\u89C8\u5DF2\u5230\u671F\uFF0C\u8BF7\u91CD\u65B0\u9884\u89C8" })] }), state.unknown ? _jsx(Alert, { type: "warning", title: "\u5220\u9664\u7ED3\u679C\u5C1A\u5F85\u786E\u8BA4", description: _jsxs(_Fragment, { children: [_jsxs("p", { children: ["\u8BF7\u5148\u6838\u5BF9\u539F\u8BF7\u6C42\uFF0C\u907F\u514D\u91CD\u590D\u64CD\u4F5C\u3002\u8BF7\u6C42\u7F16\u53F7\uFF1A", _jsx("code", { children: state.pending?.idempotencyKey })] }), _jsxs(Space, { wrap: true, children: [_jsx(Button, { loading: state.busy, disabled: state.busy, onClick: () => void session.current?.recover(), children: "\u6838\u5BF9\u5220\u9664\u7ED3\u679C" }), state.retryAllowed && _jsx(Button, { disabled: state.busy || expired, onClick: () => void session.current?.retry(), children: "\u7528\u539F\u8BF7\u6C42\u91CD\u8BD5" })] })] }) }) : state.error || state.receipt && !state.receipt.deleted
51
+ ? _jsx(Alert, { type: "error", title: "\u8D44\u6599\u672A\u5220\u9664\uFF0C\u8BF7\u91CD\u65B0\u6838\u5BF9", description: "\u6743\u9650\u3001\u8D44\u6599\u6216\u6D41\u7A0B\u53EF\u80FD\u5DF2\u53D8\u5316\u3002\u91CD\u65B0\u9884\u89C8\u540E\u518D\u8FDB\u884C\u5220\u9664\u3002" }) : null] }) });
52
+ }
53
+ //# sourceMappingURL=ResourceRecordDeletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRecordDeletion.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceRecordDeletion.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { DataRecordPrint } from 'openxiangda-contracts/browser';
2
+ type PrintField = DataRecordPrint['fields'][number];
3
+ /** Print plain data. Files stay names, and rich text never becomes executable markup. */
4
+ export declare function recordPrintFieldText(field: PrintField, value: unknown, timeZone?: string): string;
5
+ export declare function ResourceRecordPrintDocument({ snapshot, timeZone }: {
6
+ snapshot: DataRecordPrint;
7
+ timeZone?: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ResourceRecordPrintPreview({ resourceCode, recordId, viewCode, onClose }: {
10
+ resourceCode: string;
11
+ recordId: string;
12
+ viewCode?: string;
13
+ onClose: () => void;
14
+ }): import("react/jsx-runtime").JSX.Element | null;
15
+ export {};
16
+ //# sourceMappingURL=ResourceRecordPrintPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRecordPrintPreview.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceRecordPrintPreview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOrE,KAAK,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BjG;AAED,wBAAgB,2BAA2B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,2CAUnH;AAED,wBAAgB,0BAA0B,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACxF,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAChF,kDA4CA"}
@@ -0,0 +1,92 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Alert, Button, Modal, Spin } from 'antd';
3
+ import { useEffect, useLayoutEffect, useRef, useState } from 'react';
4
+ import { loadNativeRecordPrint, OpenXiangdaPlatformRequestError } from '../../platform-client';
5
+ import { useRuntime } from '../../runtime';
6
+ import { usePresentationTimeZone } from '../../presentation-time';
7
+ import { detailTime } from './RecordDetailFrame';
8
+ import { createRecordPrintSession } from './record-print-session';
9
+ /** Print plain data. Files stay names, and rich text never becomes executable markup. */
10
+ export function recordPrintFieldText(field, value, timeZone) {
11
+ if (value == null || value === '' || (Array.isArray(value) && !value.length))
12
+ return '—';
13
+ if (Array.isArray(value))
14
+ return value.map(item => recordPrintFieldText(field, item, timeZone)).join('、');
15
+ if (field.type === 'boolean')
16
+ return value === true ? '是' : value === false ? '否' : String(value);
17
+ if (field.type === 'datetime')
18
+ return detailTime(value, timeZone) || String(value);
19
+ if (field.type === 'text.rich' && typeof value === 'string' && typeof DOMParser !== 'undefined') {
20
+ const document = new DOMParser().parseFromString(value, 'text/html');
21
+ document.querySelectorAll('script,style,template').forEach(node => node.remove());
22
+ document.querySelectorAll('br').forEach(node => node.replaceWith('\n'));
23
+ document.querySelectorAll('p,div,li,h1,h2,h3,blockquote').forEach(node => node.append('\n'));
24
+ return document.body.textContent?.trim() || '—';
25
+ }
26
+ if (typeof value === 'object') {
27
+ const item = value;
28
+ if (field.type === 'option.single' || field.type === 'option.multiple')
29
+ return field.options?.find(option => option.value === item.value)?.label || String(item.label || item.value || '—');
30
+ if (field.type === 'file' || field.type === 'image') {
31
+ const bytes = typeof item.size === 'number' ? item.size : typeof item.fileSize === 'number' ? item.fileSize : null;
32
+ return `${String(item.name || item.fileName || '附件')}${bytes != null ? `(${bytes} 字节)` : ''}`;
33
+ }
34
+ if (field.type === 'signature')
35
+ return `签名记录${item.signedAt ? ` · ${detailTime(item.signedAt, timeZone)}` : ''}`;
36
+ if (field.type === 'date-range' || field.type === 'datetime-range')
37
+ return [item.start, item.end].map(value => field.type === 'datetime-range' ? detailTime(value, timeZone) : String(value || '')).join(' 至 ');
38
+ if (field.type === 'address')
39
+ return String(item.fullAddress || [item.country, item.province, item.city, item.district, item.street, item.detail]
40
+ .map(part => part && typeof part === 'object' ? part.label || '' : part || '').join(''));
41
+ if (field.type === 'location')
42
+ return String(item.name || item.address || `${item.longitude}, ${item.latitude}`);
43
+ if ('label' in item || 'displayName' in item)
44
+ return String(item.label || item.displayName || item.value || '—');
45
+ return JSON.stringify(value);
46
+ }
47
+ const option = field.options?.find(item => String(item.value) === String(value));
48
+ return option?.label || String(value);
49
+ }
50
+ export function ResourceRecordPrintDocument({ snapshot, timeZone }) {
51
+ const groups = new Map();
52
+ snapshot.fields.forEach(field => { const title = field.section || '基本信息'; groups.set(title, [...(groups.get(title) || []), field]); });
53
+ return _jsxs("article", { className: "oxa-record-print-document", "aria-label": `${snapshot.resourceName}打印资料`, children: [_jsxs("header", { children: [_jsx("h1", { children: snapshot.viewName || snapshot.resourceName }), _jsxs("p", { children: ["\u8D44\u6599\u8BFB\u53D6\u4E8E ", detailTime(snapshot.preparedAt, timeZone)] })] }), [...groups].map(([title, fields]) => _jsxs("section", { children: [_jsx("h2", { children: title }), _jsx("dl", { children: fields.map(field => _jsxs("div", { className: ['text.long', 'text.rich', 'file', 'image', 'json.object', 'json.array'].includes(field.type) ? 'is-wide' : undefined, children: [_jsx("dt", { children: field.label }), _jsx("dd", { children: recordPrintFieldText(field, snapshot.data[field.code], timeZone) })] }, field.code)) })] }, title))] });
54
+ }
55
+ export function ResourceRecordPrintPreview({ resourceCode, recordId, viewCode, onClose }) {
56
+ const { identity, identityEpoch, perspective } = useRuntime();
57
+ const timeZone = usePresentationTimeZone();
58
+ const key = JSON.stringify([resourceCode, recordId, viewCode, identityEpoch, identity.userId,
59
+ identity.environment.headRevision, identity.environment.authzRevisionId, identity.environment.authzVersion, identity.environment.scopeDataVersion, perspective?.code]);
60
+ const [state, setState] = useState({ busy: true, key: '' });
61
+ const [host, setHost] = useState();
62
+ useEffect(() => {
63
+ const element = document.createElement('div');
64
+ element.className = 'oxa-record-print-host';
65
+ document.body.append(element);
66
+ setHost(element);
67
+ return () => { element.remove(); };
68
+ }, []);
69
+ const session = useRef(undefined);
70
+ useLayoutEffect(() => {
71
+ const current = createRecordPrintSession(() => loadNativeRecordPrint(resourceCode, recordId, { viewCode }), next => setState({ ...next, key }), () => new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(() => resolve()))), () => window.print());
72
+ session.current = current;
73
+ void current.read();
74
+ return () => { current.close(); if (session.current === current)
75
+ session.current = undefined; };
76
+ }, [key, resourceCode, recordId, viewCode]);
77
+ const close = () => { session.current?.close(); onClose(); };
78
+ const data = state.key === key ? state.data : undefined;
79
+ const error = state.key === key ? state.error : undefined;
80
+ const busy = state.key !== key || state.busy;
81
+ const status = error instanceof OpenXiangdaPlatformRequestError ? error.status : 0;
82
+ const errorMessage = status === 403 ? '当前用户无权打印此资料。'
83
+ : status === 404 ? '资料不存在或已无法访问。'
84
+ : status === 409 ? '此详情包含暂不支持打印的内容,请联系应用管理员。'
85
+ : status === 413 ? '资料超过本页打印容量,请联系应用管理员。'
86
+ : '打印资料读取失败,请重试。';
87
+ if (!host)
88
+ return null;
89
+ return _jsx(Modal, { open: true, title: "\u6253\u5370\u9884\u89C8", getContainer: host, width: "min(900px, calc(100vw - 24px))", onCancel: close, footer: _jsxs(_Fragment, { children: [_jsx(Button, { disabled: busy, onClick: () => void session.current?.read(), children: "\u91CD\u65B0\u8BFB\u53D6" }), _jsx(Button, { onClick: close, children: "\u5173\u95ED" }), _jsx(Button, { type: "primary", disabled: !data || busy, loading: busy && Boolean(data), onClick: () => void session.current?.read(true), children: "\u6253\u5370" })] }), children: _jsx("div", { className: "oxa-record-print", "aria-busy": busy, children: error ? _jsx(Alert, { type: "error", showIcon: true, title: errorMessage, action: _jsx(Button, { onClick: () => void session.current?.read(), children: "\u91CD\u8BD5" }) })
90
+ : data ? _jsx(ResourceRecordPrintDocument, { snapshot: data, timeZone: timeZone }) : _jsxs("div", { className: "oxa-record-print-loading", children: [_jsx(Spin, {}), _jsx("p", { children: "\u6B63\u5728\u8BFB\u53D6\u53EF\u6253\u5370\u8D44\u6599\u2026" })] }) }) });
91
+ }
92
+ //# sourceMappingURL=ResourceRecordPrintPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceRecordPrintPreview.js","sourceRoot":"","sources":["../../../../src/browser/components/resource/ResourceRecordPrintPreview.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { DataAuditEntry, DataEventFieldChange, DataFieldSurface, DataFieldSourceLaunchBinding, DataFileRef, EventValueDigest, UserReferenceValue } from 'openxiangda-contracts/browser';
1
+ import type { DataAuditEntry, DataEventFieldChange, DataFieldSurface, DataFieldSourceLaunchBinding, DataRecordEditInput, DataFileRef, EventValueDigest, UserReferenceValue } from 'openxiangda-contracts/browser';
2
2
  import { type ReactNode } from 'react';
3
+ import { type WorkflowCandidateBinding } from '../platform-fields/user-candidate-context';
3
4
  import type { WorkflowFileBinding } from '../../platform-client';
4
5
  export type SurfaceField = DataFieldSurface & {
5
6
  key: string;
@@ -34,6 +35,7 @@ export declare function listSurfaceFields(fields: Record<string, DataFieldSurfac
34
35
  searchable?: boolean;
35
36
  sortable?: boolean;
36
37
  source?: import("openxiangda-contracts").DataFieldResourceSource;
38
+ userCandidates?: import("openxiangda-contracts").DataFieldUserCandidates;
37
39
  timePrecision?: "minute" | "second";
38
40
  serial?: {
39
41
  prefix?: string;
@@ -54,6 +56,8 @@ export interface SurfaceFieldEditContext {
54
56
  operation: 'create' | 'update';
55
57
  resourceCode?: string;
56
58
  recordId?: string;
59
+ expectedRevision?: number;
60
+ workflowCandidateBinding?: WorkflowCandidateBinding;
57
61
  workflowFileBinding?: WorkflowFileBinding;
58
62
  }
59
63
  export interface SurfaceFieldValueContext {
@@ -66,6 +70,7 @@ export interface SurfaceFieldValueContext {
66
70
  }
67
71
  export interface SurfaceFieldRenderers {
68
72
  referenceLaunch?: DataFieldSourceLaunchBinding;
73
+ recordEditInput?: DataRecordEditInput;
69
74
  renderExtra?: (context: SurfaceFieldEditContext) => ReactNode;
70
75
  renderScope?: (context: SurfaceFieldEditContext) => ReactNode;
71
76
  renderSubtable?: (context: SurfaceFieldEditContext) => ReactNode;
@@ -85,11 +90,11 @@ export declare function SurfaceFilterControl({ field, resourceCode, value, onCha
85
90
  range?: boolean;
86
91
  renderers?: Pick<SurfaceFieldRenderers, 'renderScope' | 'renderFilter'>;
87
92
  }): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null;
88
- export declare function SurfaceFieldControl({ field, disabled, operation, resourceCode, recordId, workflowFileBinding, renderers, }: SurfaceFieldEditContext & {
93
+ export declare function SurfaceFieldControl({ field, disabled, operation, resourceCode, recordId, expectedRevision, workflowCandidateBinding, workflowFileBinding, renderers, }: SurfaceFieldEditContext & {
89
94
  renderers?: SurfaceFieldRenderers;
90
95
  }): import("react/jsx-runtime").JSX.Element;
91
96
  /** Mobile controls share canonical values and the form controller with desktop. */
92
- export declare function MobileSurfaceFieldControl({ field, disabled, operation, resourceCode, recordId, workflowFileBinding, renderers, }: SurfaceFieldEditContext & {
97
+ export declare function MobileSurfaceFieldControl({ field, disabled, operation, resourceCode, recordId, expectedRevision, workflowCandidateBinding, workflowFileBinding, renderers, }: SurfaceFieldEditContext & {
93
98
  renderers?: SurfaceFieldRenderers;
94
99
  }): import("react/jsx-runtime").JSX.Element;
95
100
  export declare function SurfaceFieldValue({ field, value, resourceCode, workflowFileBinding, presentation, mobile, renderers, }: SurfaceFieldValueContext & {
@@ -1 +1 @@
1
- {"version":3,"file":"SurfaceFields.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/SurfaceFields.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SurfaceFields.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/SurfaceFields.tsx"],"names":[],"mappings":"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"}