openxiangda 2.44.0 → 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 (247) 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/JsonField.d.ts.map +1 -1
  20. package/dist/browser/components/platform-fields/JsonField.js +6 -1
  21. package/dist/browser/components/platform-fields/JsonField.js.map +1 -1
  22. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts +19 -0
  23. package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts.map +1 -0
  24. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js +42 -0
  25. package/dist/browser/components/platform-fields/ManagedMediaPlayer.js.map +1 -0
  26. package/dist/browser/components/platform-fields/MobileManagedFileField.d.ts.map +1 -1
  27. package/dist/browser/components/platform-fields/MobileManagedFileField.js +6 -1
  28. package/dist/browser/components/platform-fields/MobileManagedFileField.js.map +1 -1
  29. package/dist/browser/components/platform-fields/MobileSelection.d.ts +3 -1
  30. package/dist/browser/components/platform-fields/MobileSelection.d.ts.map +1 -1
  31. package/dist/browser/components/platform-fields/MobileSelection.js +2 -2
  32. package/dist/browser/components/platform-fields/MobileSelection.js.map +1 -1
  33. package/dist/browser/components/platform-fields/MobileSubtableValidation.d.ts +2 -1
  34. package/dist/browser/components/platform-fields/MobileSubtableValidation.d.ts.map +1 -1
  35. package/dist/browser/components/platform-fields/MobileSubtableValidation.js +3 -1
  36. package/dist/browser/components/platform-fields/MobileSubtableValidation.js.map +1 -1
  37. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +3 -2
  38. package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
  39. package/dist/browser/components/platform-fields/ResourceReferenceField.js +2 -2
  40. package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
  41. package/dist/browser/components/platform-fields/RichTextField.d.ts +3 -2
  42. package/dist/browser/components/platform-fields/RichTextField.d.ts.map +1 -1
  43. package/dist/browser/components/platform-fields/RichTextField.js +96 -44
  44. package/dist/browser/components/platform-fields/RichTextField.js.map +1 -1
  45. package/dist/browser/components/platform-fields/SignatureField.d.ts +5 -4
  46. package/dist/browser/components/platform-fields/SignatureField.d.ts.map +1 -1
  47. package/dist/browser/components/platform-fields/SignatureField.js +69 -16
  48. package/dist/browser/components/platform-fields/SignatureField.js.map +1 -1
  49. package/dist/browser/components/platform-fields/SubtableField.d.ts +18 -2
  50. package/dist/browser/components/platform-fields/SubtableField.d.ts.map +1 -1
  51. package/dist/browser/components/platform-fields/SubtableField.js +146 -57
  52. package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
  53. package/dist/browser/components/platform-fields/managed-media-read.d.ts +19 -0
  54. package/dist/browser/components/platform-fields/managed-media-read.d.ts.map +1 -0
  55. package/dist/browser/components/platform-fields/managed-media-read.js +32 -0
  56. package/dist/browser/components/platform-fields/managed-media-read.js.map +1 -0
  57. package/dist/browser/components/platform-fields/subtable-pagination.d.ts +20 -0
  58. package/dist/browser/components/platform-fields/subtable-pagination.d.ts.map +1 -0
  59. package/dist/browser/components/platform-fields/subtable-pagination.js +39 -0
  60. package/dist/browser/components/platform-fields/subtable-pagination.js.map +1 -0
  61. package/dist/browser/components/platform-fields/subtable-value.d.ts.map +1 -1
  62. package/dist/browser/components/platform-fields/subtable-value.js +2 -1
  63. package/dist/browser/components/platform-fields/subtable-value.js.map +1 -1
  64. package/dist/browser/components/platform-fields/surface-field-validation.d.ts +31 -0
  65. package/dist/browser/components/platform-fields/surface-field-validation.d.ts.map +1 -0
  66. package/dist/browser/components/platform-fields/surface-field-validation.js +36 -0
  67. package/dist/browser/components/platform-fields/surface-field-validation.js.map +1 -0
  68. package/dist/browser/components/platform-fields/user-candidate-context.d.ts +51 -0
  69. package/dist/browser/components/platform-fields/user-candidate-context.d.ts.map +1 -0
  70. package/dist/browser/components/platform-fields/user-candidate-context.js +62 -0
  71. package/dist/browser/components/platform-fields/user-candidate-context.js.map +1 -0
  72. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
  73. package/dist/browser/components/resource/GeneratedResourceCrud.js +26 -2
  74. package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
  75. package/dist/browser/components/resource/GeneratedResourceForm.js +1 -1
  76. package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
  77. package/dist/browser/components/resource/RecordDetailFrame.d.ts +3 -1
  78. package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -1
  79. package/dist/browser/components/resource/RecordDetailFrame.js +2 -2
  80. package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
  81. package/dist/browser/components/resource/ResourceFormFrame.d.ts +2 -1
  82. package/dist/browser/components/resource/ResourceFormFrame.d.ts.map +1 -1
  83. package/dist/browser/components/resource/ResourceFormFrame.js +2 -2
  84. package/dist/browser/components/resource/ResourceFormFrame.js.map +1 -1
  85. package/dist/browser/components/resource/ResourceRecordComments.d.ts +13 -0
  86. package/dist/browser/components/resource/ResourceRecordComments.d.ts.map +1 -0
  87. package/dist/browser/components/resource/ResourceRecordComments.js +75 -0
  88. package/dist/browser/components/resource/ResourceRecordComments.js.map +1 -0
  89. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts +7 -0
  90. package/dist/browser/components/resource/ResourceRecordDeletion.d.ts.map +1 -0
  91. package/dist/browser/components/resource/ResourceRecordDeletion.js +53 -0
  92. package/dist/browser/components/resource/ResourceRecordDeletion.js.map +1 -0
  93. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts +16 -0
  94. package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts.map +1 -0
  95. package/dist/browser/components/resource/ResourceRecordPrintPreview.js +92 -0
  96. package/dist/browser/components/resource/ResourceRecordPrintPreview.js.map +1 -0
  97. package/dist/browser/components/resource/SurfaceFields.d.ts +9 -4
  98. package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
  99. package/dist/browser/components/resource/SurfaceFields.js +54 -72
  100. package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
  101. package/dist/browser/components/resource/generated-resource-definition.d.ts +13 -0
  102. package/dist/browser/components/resource/generated-resource-definition.d.ts.map +1 -1
  103. package/dist/browser/components/resource/record-comment-session.d.ts +17 -0
  104. package/dist/browser/components/resource/record-comment-session.d.ts.map +1 -0
  105. package/dist/browser/components/resource/record-comment-session.js +64 -0
  106. package/dist/browser/components/resource/record-comment-session.js.map +1 -0
  107. package/dist/browser/components/resource/record-deletion-session.d.ts +19 -0
  108. package/dist/browser/components/resource/record-deletion-session.d.ts.map +1 -0
  109. package/dist/browser/components/resource/record-deletion-session.js +64 -0
  110. package/dist/browser/components/resource/record-deletion-session.js.map +1 -0
  111. package/dist/browser/components/resource/record-print-session.d.ts +12 -0
  112. package/dist/browser/components/resource/record-print-session.d.ts.map +1 -0
  113. package/dist/browser/components/resource/record-print-session.js +32 -0
  114. package/dist/browser/components/resource/record-print-session.js.map +1 -0
  115. package/dist/browser/components/resource/resource-field-selection.d.ts +1 -0
  116. package/dist/browser/components/resource/resource-field-selection.d.ts.map +1 -1
  117. package/dist/browser/components/resource/resource-form-operations.d.ts.map +1 -1
  118. package/dist/browser/components/resource/resource-form-operations.js +5 -1
  119. package/dist/browser/components/resource/resource-form-operations.js.map +1 -1
  120. package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
  121. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +13 -2
  122. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  123. package/dist/browser/components/workflow/StandardWorkflowPages.js +96 -47
  124. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  125. package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
  126. package/dist/browser/components/workflow/WorkflowDiagram.js +14 -1
  127. package/dist/browser/components/workflow/WorkflowDiagram.js.map +1 -1
  128. package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -1
  129. package/dist/browser/components/workflow/WorkflowFlowCanvas.js +27 -8
  130. package/dist/browser/components/workflow/WorkflowFlowCanvas.js.map +1 -1
  131. package/dist/browser/components/workflow/WorkflowNodeCard.js +2 -2
  132. package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
  133. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
  134. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +4 -4
  135. package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
  136. package/dist/browser/components/workflow/WorkflowRecordEditor.js +1 -1
  137. package/dist/browser/components/workflow/WorkflowRecordEditor.js.map +1 -1
  138. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts +9 -0
  139. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts.map +1 -0
  140. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js +50 -0
  141. package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js.map +1 -0
  142. package/dist/browser/components/workflow/WorkflowTaskFiles.d.ts +5 -3
  143. package/dist/browser/components/workflow/WorkflowTaskFiles.d.ts.map +1 -1
  144. package/dist/browser/components/workflow/WorkflowTaskFiles.js +67 -27
  145. package/dist/browser/components/workflow/WorkflowTaskFiles.js.map +1 -1
  146. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +6 -1
  147. package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
  148. package/dist/browser/components/workflow/WorkflowTaskForm.js +65 -16
  149. package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
  150. package/dist/browser/components/workflow/standard-process-values.d.ts +10 -0
  151. package/dist/browser/components/workflow/standard-process-values.d.ts.map +1 -0
  152. package/dist/browser/components/workflow/standard-process-values.js +25 -0
  153. package/dist/browser/components/workflow/standard-process-values.js.map +1 -0
  154. package/dist/browser/components/workflow/workflow-graph-presentation.d.ts +19 -0
  155. package/dist/browser/components/workflow/workflow-graph-presentation.d.ts.map +1 -0
  156. package/dist/browser/components/workflow/workflow-graph-presentation.js +28 -0
  157. package/dist/browser/components/workflow/workflow-graph-presentation.js.map +1 -0
  158. package/dist/browser/components/workflow/workflow-submission-form.d.ts +18 -0
  159. package/dist/browser/components/workflow/workflow-submission-form.d.ts.map +1 -0
  160. package/dist/browser/components/workflow/workflow-submission-form.js +44 -0
  161. package/dist/browser/components/workflow/workflow-submission-form.js.map +1 -0
  162. package/dist/browser/components/workflow/workflow-task-field-codec.d.ts +4 -0
  163. package/dist/browser/components/workflow/workflow-task-field-codec.d.ts.map +1 -0
  164. package/dist/browser/components/workflow/workflow-task-field-codec.js +9 -0
  165. package/dist/browser/components/workflow/workflow-task-field-codec.js.map +1 -0
  166. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts +10 -0
  167. package/dist/browser/components/workflow/workflow-task-required-errors.d.ts.map +1 -0
  168. package/dist/browser/components/workflow/workflow-task-required-errors.js +28 -0
  169. package/dist/browser/components/workflow/workflow-task-required-errors.js.map +1 -0
  170. package/dist/browser/components/workflow/workflow-task-subtable.d.ts +7 -0
  171. package/dist/browser/components/workflow/workflow-task-subtable.d.ts.map +1 -0
  172. package/dist/browser/components/workflow/workflow-task-subtable.js +58 -0
  173. package/dist/browser/components/workflow/workflow-task-subtable.js.map +1 -0
  174. package/dist/browser/durable-command.d.ts.map +1 -1
  175. package/dist/browser/durable-command.js +6 -1
  176. package/dist/browser/durable-command.js.map +1 -1
  177. package/dist/browser/mobile-fields.css +4 -0
  178. package/dist/browser/platform-client.d.ts +30 -1
  179. package/dist/browser/platform-client.d.ts.map +1 -1
  180. package/dist/browser/platform-client.js +161 -5
  181. package/dist/browser/platform-client.js.map +1 -1
  182. package/dist/browser/record-comments.css +14 -0
  183. package/dist/browser/record-deletion.css +11 -0
  184. package/dist/browser/record-detail.css +4 -2
  185. package/dist/browser/record-print.css +31 -0
  186. package/dist/browser/styles.css +41 -0
  187. package/dist/browser/workflow-operation-input.d.ts +15 -0
  188. package/dist/browser/workflow-operation-input.d.ts.map +1 -0
  189. package/dist/browser/workflow-operation-input.js +64 -0
  190. package/dist/browser/workflow-operation-input.js.map +1 -0
  191. package/dist/browser/workflow-task-file-upload.d.ts.map +1 -1
  192. package/dist/browser/workflow-task-file-upload.js +1 -0
  193. package/dist/browser/workflow-task-file-upload.js.map +1 -1
  194. package/dist/core.d.ts +2 -2
  195. package/dist/core.d.ts.map +1 -1
  196. package/dist/core.js +1 -1
  197. package/dist/core.js.map +1 -1
  198. package/dist/field-kit.d.ts +3 -0
  199. package/dist/field-kit.d.ts.map +1 -1
  200. package/dist/field-kit.js +3 -0
  201. package/dist/field-kit.js.map +1 -1
  202. package/dist/nest.d.ts +1 -1
  203. package/dist/nest.d.ts.map +1 -1
  204. package/dist/nest.js.map +1 -1
  205. package/dist/react.d.ts +6 -2
  206. package/dist/react.d.ts.map +1 -1
  207. package/dist/react.js +5 -1
  208. package/dist/react.js.map +1 -1
  209. package/dist/testing.d.ts +1 -1
  210. package/dist/testing.d.ts.map +1 -1
  211. package/dist/testing.js +1 -1
  212. package/dist/testing.js.map +1 -1
  213. package/documentation/administration.md +7 -1
  214. package/documentation/backend.md +72 -1
  215. package/documentation/data-authz.md +42 -2
  216. package/documentation/declarations-cheatsheet.md +9 -0
  217. package/documentation/field-components.md +45 -1
  218. package/documentation/frontend.md +8 -0
  219. package/documentation/getting-started.md +7 -7
  220. package/documentation/managed-concurrency-frontend.md +1 -1
  221. package/documentation/manifest.json +11 -11
  222. package/documentation/testing.md +17 -0
  223. package/documentation/workflow-events.md +221 -6
  224. package/package.json +22 -25
  225. package/releases/2.51.0.json +32 -0
  226. package/releases/2.54.4.json +30 -0
  227. package/releases/2.54.6.json +30 -0
  228. package/releases/2.55.0.json +34 -0
  229. package/releases/2.55.1.json +32 -0
  230. package/skills/manifest.json +1 -1
  231. package/skills/openxiangda-v2/SKILL.md +4 -4
  232. package/skills/openxiangda-v2/references/administration.md +7 -1
  233. package/skills/openxiangda-v2/references/backend.md +72 -1
  234. package/skills/openxiangda-v2/references/data-authz.md +42 -2
  235. package/skills/openxiangda-v2/references/declarations-cheatsheet.md +9 -0
  236. package/skills/openxiangda-v2/references/field-components.md +45 -1
  237. package/skills/openxiangda-v2/references/frontend.md +8 -0
  238. package/skills/openxiangda-v2/references/getting-started.md +7 -7
  239. package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +1 -1
  240. package/skills/openxiangda-v2/references/testing.md +17 -0
  241. package/skills/openxiangda-v2/references/workflow-events.md +221 -6
  242. package/dist/browser/components/platform-fields/MobileRichTextField.d.ts +0 -4
  243. package/dist/browser/components/platform-fields/MobileRichTextField.d.ts.map +0 -1
  244. package/dist/browser/components/platform-fields/MobileRichTextField.js +0 -38
  245. package/dist/browser/components/platform-fields/MobileRichTextField.js.map +0 -1
  246. package/releases/2.43.0.json +0 -38
  247. package/releases/2.44.0.json +0 -36
@@ -1,20 +1,22 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Button as MobileButton } from '../../mobile';
3
3
  import { DownOutlined, ExpandOutlined, CompressOutlined, ImportOutlined, DownloadOutlined, PlusOutlined, UpOutlined, } from '@ant-design/icons';
4
- import { Alert, Button, Empty, Form, Upload, App, Space, Spin, Tooltip, Typography, } from 'antd';
5
- import { useContext, useEffect, useMemo, useRef, useState } from 'react';
6
- import { MobileSubtableValidationContext } from './MobileSubtableValidation';
4
+ import { Alert, Button, Empty, Form, Pagination, Upload, App, Space, Spin, Tooltip, Typography, } from 'antd';
5
+ import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
6
+ import { MobileSubtableValidationContext, SubtableEditActivityContext } from './MobileSubtableValidation';
7
+ import { moveSubtableRow, subtablePage, SUBTABLE_PAGE_SIZE, SubtableRowValidationError, validateSubtableRows } from './subtable-pagination';
7
8
  import { createNativeResourceClient } from '../../platform-client';
9
+ import { workflowTaskPageFieldState } from 'openxiangda-contracts/browser';
8
10
  import { useRuntime } from '../../runtime';
9
11
  import { useResourceDefinitions } from '../../resource-definitions';
10
12
  import { MobileSurfaceFieldControl, SurfaceFieldControl, SurfaceFieldValue, } from '../resource/SurfaceFields';
11
13
  import { fieldValueForData, fieldValueForForm, } from './field-form-codec';
12
14
  import { buildResourceImportTemplate, parseResourceImportFile } from '../resource/resource-import';
13
15
  import { selectedSurfaceFields } from '../resource/resource-field-selection';
14
- export function SubtableField({ field, disabled, mobile, operation, parentRecordId, value, onChange, view = 'form', }) {
16
+ export function SubtableField({ field, disabled, mobile, operation, parentRecordId, value, onChange, view = 'form', revealRow, task, }) {
15
17
  const definitions = useResourceDefinitions();
16
18
  const config = field.subtable;
17
- const definition = config ? definitions[config.resourceCode] : undefined;
19
+ const definition = config ? task ? { code: config.resourceCode, name: field.label, capabilities: { read: '', create: '', update: '', delete: '' }, surface: task.surface } : definitions[config.resourceCode] : undefined;
18
20
  const { hasCapability, hasReadCapability, identity } = useRuntime();
19
21
  const [internalRows, setInternalRows] = useState([]);
20
22
  const [loading, setLoading] = useState(false);
@@ -22,27 +24,101 @@ export function SubtableField({ field, disabled, mobile, operation, parentRecord
22
24
  const [loadAttempt, setLoadAttempt] = useState(0);
23
25
  const [fullScreen, setFullScreen] = useState(false);
24
26
  const [importing, setImporting] = useState(false);
27
+ const [requestedPage, setRequestedPage] = useState(1);
28
+ const [uploads, setUploads] = useState(0);
29
+ const [pendingEdits, setPendingEdits] = useState(() => new Set());
30
+ const reportPending = useCallback((key, pending) => setPendingEdits(current => {
31
+ if (current.has(key) === pending)
32
+ return current;
33
+ const next = new Set(current);
34
+ if (pending)
35
+ next.add(key);
36
+ else
37
+ next.delete(key);
38
+ return next;
39
+ }), []);
40
+ const registerValidation = useContext(MobileSubtableValidationContext);
25
41
  const { message } = App.useApp();
26
42
  const loadedKey = useRef('');
27
43
  const rows = value ?? internalRows;
28
44
  const maxRows = config?.maxRows ?? 20;
29
- const visibleRows = rows.filter(row => row.state !== 'deleted');
45
+ const rowsRef = useRef(rows);
46
+ rowsRef.current = rows;
47
+ const page = subtablePage(rows, requestedPage);
48
+ const visibleRows = page.visible;
49
+ const navigationBlocked = Boolean((task && disabled) || importing || uploads || pendingEdits.size);
50
+ useEffect(() => { setRequestedPage(current => Math.min(current, page.pages)); }, [page.pages]);
51
+ useEffect(() => { if (revealRow)
52
+ setRequestedPage(Math.floor(revealRow.index / SUBTABLE_PAGE_SIZE) + 1); }, [revealRow]);
30
53
  const childFields = useMemo(() => childSurfaceFields(definition?.surface, config?.foreignKey, config?.orderField, view), [config?.foreignKey, config?.orderField, definition?.surface, view]);
31
- const readableFields = childFields.filter(child => fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin));
54
+ const readableFields = childFields.filter(child => task || fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin));
32
55
  const canCreate = Boolean(definition &&
33
56
  !disabled &&
34
- (identity.isAppSuperAdmin || hasCapability(definition.capabilities.create)));
57
+ (task ? task.page.create === true : identity.isAppSuperAdmin || hasCapability(definition.capabilities.create)));
35
58
  const canUpdate = Boolean(definition &&
36
59
  !disabled &&
37
- (identity.isAppSuperAdmin || hasCapability(definition.capabilities.update)));
60
+ (task ? true : identity.isAppSuperAdmin || hasCapability(definition.capabilities.update)));
38
61
  const canDelete = Boolean(definition &&
39
62
  !disabled &&
40
- (identity.isAppSuperAdmin || hasCapability(definition.capabilities.delete)));
63
+ (task ? task.page.delete === true : identity.isAppSuperAdmin || hasCapability(definition.capabilities.delete)));
41
64
  const emit = (next) => {
65
+ rowsRef.current = next;
42
66
  setInternalRows(next);
43
67
  onChange?.(next);
44
68
  };
69
+ const stateCache = new Map();
70
+ const taskState = (child, row) => {
71
+ if (!task)
72
+ return undefined;
73
+ if (!stateCache.has(row.key))
74
+ stateCache.set(row.key, workflowTaskPageFieldState({ title: field.label, fields: task.page.fields }, {
75
+ ...row.snapshot, ...Object.fromEntries(Object.entries(row.data).map(([code, value]) => [code, fieldValueForData(task.surface.fields[code], value)])),
76
+ }));
77
+ return stateCache.get(row.key).find(state => state.code === child.key);
78
+ };
79
+ const canReadField = (child, row) => task ? !row || taskState(child, row)?.visible === true : fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin);
80
+ const canWriteField = (child, operation, row) => task
81
+ ? (!row ? task.page.fields.some(item => item.code === child.key && !item.readonly) : Boolean(taskState(child, row)?.visible && !taskState(child, row)?.readonly))
82
+ : fieldWritable(child, operation, hasCapability, identity.isAppSuperAdmin);
83
+ const uploadFor = (row) => async (current, file, recordId, onRecovered) => {
84
+ setUploads(count => count + 1);
85
+ try {
86
+ return await (task
87
+ ? task.upload ? task.upload(row.key, current, file, recordId, onRecovered) : Promise.reject(new Error('当前任务未提供子行上传能力'))
88
+ : createNativeResourceClient(definition.code, definition.surface).upload(current.key, file, recordId));
89
+ }
90
+ finally {
91
+ setUploads(count => count - 1);
92
+ }
93
+ };
94
+ const rowBinding = (row) => task?.binding ? { ...task.binding, resourceCode: config.resourceCode, recordId: row.key } : undefined;
95
+ const uploadBlocked = (child, row) => Boolean(task && ['file', 'image', 'signature', 'text.rich'].includes(child.type) &&
96
+ (task.uploadEnabled === false || !workflowTaskPageFieldState({ title: field.label, fields: task.page.fields }, task.rows?.find(value => String(value.id) === row.key) || {})
97
+ .some(state => state.code === child.key && state.visible && !state.readonly)));
98
+ const rowFields = (row) => childFields.map(child => task ? { ...child, requiredHint: false } : child);
99
+ const requiredHint = (child, row) => taskState(child, row)?.required
100
+ ? _jsx(Typography.Text, { type: "secondary", children: "\u5B8C\u6210\u4EFB\u52A1\u524D\u5FC5\u586B" }) : undefined;
101
+ useEffect(() => registerValidation?.(`all:${field.key}`, async () => {
102
+ if (disabled)
103
+ return;
104
+ if (uploads || pendingEdits.size)
105
+ throw new Error('请先完成当前页的编辑或处理待上传文件');
106
+ try {
107
+ await validateSubtableRows(rows, row => {
108
+ const operation = row.state === 'persisted' ? 'update' : 'create';
109
+ const writable = task ? row.state === 'persisted' || task.page.create === true : row.state === 'persisted' ? canUpdate : canCreate;
110
+ return rowFields(row).filter(child => writable && canWriteField(child, operation, row) && !uploadBlocked(child, row));
111
+ }, mobile);
112
+ }
113
+ catch (error) {
114
+ if (error instanceof SubtableRowValidationError)
115
+ setRequestedPage(Math.floor(error.rowIndex / SUBTABLE_PAGE_SIZE) + 1);
116
+ throw error;
117
+ }
118
+ }));
45
119
  useEffect(() => {
120
+ if (task)
121
+ return;
46
122
  if (!parentRecordId || !definition || !config) {
47
123
  if (operation === 'create' && value === undefined && internalRows.length === 0) {
48
124
  onChange?.([]);
@@ -95,28 +171,32 @@ export function SubtableField({ field, disabled, mobile, operation, parentRecord
95
171
  : rows.map(row => row.key === target.key ? { ...row, state: 'deleted' } : row));
96
172
  };
97
173
  const moveRow = (index, direction) => {
98
- const target = index + direction;
99
- if (target < 0 || target >= visibleRows.length)
174
+ if (navigationBlocked || (task && !task.page.reorder))
100
175
  return;
101
- const reordered = [...visibleRows];
102
- [reordered[index], reordered[target]] = [reordered[target], reordered[index]];
103
- emit([...reordered, ...rows.filter(row => row.state === 'deleted')]);
176
+ emit(moveSubtableRow(rowsRef.current, index, direction));
177
+ setRequestedPage(Math.floor((index + direction) / SUBTABLE_PAGE_SIZE) + 1);
104
178
  };
179
+ const changeRow = (row, data) => emit(rowsRef.current.map(current => current.key === row.key
180
+ ? { ...current, data: { ...current.data, ...data }, snapshot: { ...current.snapshot, ...Object.fromEntries(Object.entries(data).map(([key, item]) => [key, fieldValueForData(definition.surface.fields[key], item)])) } } : current));
181
+ const pagination = _jsxs("div", { className: "oxa-subtable-pagination", "aria-label": `${field.label}分页`, children: [_jsx("span", { role: "status", children: visibleRows.length ? `${page.start + 1}–${Math.min(page.start + SUBTABLE_PAGE_SIZE, visibleRows.length)} / ${visibleRows.length} 项` : '0 项' }), page.pages > 1 && (mobile ? _jsxs(Space, { children: [_jsx(MobileButton, { fill: "outline", "aria-label": `${field.label}上一页`, disabled: navigationBlocked || page.page === 1, onClick: () => setRequestedPage(page.page - 1), children: "\u4E0A\u4E00\u9875" }), _jsxs("span", { children: [page.page, " / ", page.pages] }), _jsx(MobileButton, { fill: "outline", "aria-label": `${field.label}下一页`, disabled: navigationBlocked || page.page === page.pages, onClick: () => setRequestedPage(page.page + 1), children: "\u4E0B\u4E00\u9875" })] }) : _jsx(Pagination, { size: "small", current: page.page, total: visibleRows.length, pageSize: SUBTABLE_PAGE_SIZE, showSizeChanger: false, disabled: navigationBlocked, onChange: setRequestedPage })), (uploads > 0 || pendingEdits.size > 0) && _jsx("span", { children: "\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u9875\u7684\u7F16\u8F91\u6216\u5904\u7406\u5F85\u4E0A\u4F20\u6587\u4EF6" })] });
105
182
  if (mobile)
106
- return _jsxs("div", { className: "oxa-mobile-inline-subtable oxa-mobile-scope", children: [loadError && _jsxs("div", { role: "alert", children: [loadError, _jsx(MobileButton, { onClick: () => { loadedKey.current = ''; setLoadAttempt(attempt => attempt + 1); }, children: "\u91CD\u8BD5" })] }), loading ? _jsx("span", { role: "status", children: "\u52A0\u8F7D\u4E2D\u2026" }) : visibleRows.map((row, index) => {
107
- const rowOperation = row.state === 'persisted' ? 'update' : 'create';
108
- const writable = row.state === 'persisted' ? canUpdate : canCreate;
109
- const fields = childFields.filter(child => fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin) || (writable && fieldWritable(child, rowOperation, hasCapability, identity.isAppSuperAdmin)));
110
- return _jsx(MobileSubtableRow, { row: row, index: index, fields: fields, resourceCode: definition.code, operation: rowOperation, canWrite: child => writable && fieldWritable(child, rowOperation, hasCapability, identity.isAppSuperAdmin), canDelete: row.state === 'persisted' ? canDelete : canCreate, onRemove: () => removeRow(row), onChange: data => emit(rows.map(current => current.key === row.key ? { ...current, data, snapshot: { ...current.snapshot, ...Object.fromEntries(Object.entries(data).map(([key, item]) => [key, fieldValueForData(definition.surface.fields[key], item)])) } } : current)), upload: (current, file, recordId) => createNativeResourceClient(definition.code, definition.surface).upload(current.key, file, recordId) }, row.key);
111
- }), !disabled && _jsxs(MobileButton, { block: true, fill: "none", color: "primary", disabled: !canCreate || visibleRows.length >= maxRows, onClick: () => emit([...rows, { key: crypto.randomUUID(), state: 'created', data: {} }]), children: [_jsx(PlusOutlined, {}), " \u65B0\u589E\u4E00\u9879"] })] });
112
- const fields = childFields.filter(child => fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin) ||
113
- (canCreate && fieldWritable(child, 'create', hasCapability, identity.isAppSuperAdmin)) ||
114
- (canUpdate && fieldWritable(child, 'update', hasCapability, identity.isAppSuperAdmin)));
115
- const writableCodes = fields.filter(child => fieldWritable(child, 'create', hasCapability, identity.isAppSuperAdmin)).map(child => child.key);
116
- const appendRows = (data) => emit([...rows, ...data.map(item => ({
117
- key: crypto.randomUUID(), state: 'created',
118
- data: Object.fromEntries(Object.entries(item).map(([key, value]) => [key, fieldValueForForm(definition.surface.fields[key], value)])),
119
- }))]);
183
+ return _jsx(SubtableEditActivityContext.Provider, { value: reportPending, children: _jsxs("div", { className: "oxa-mobile-inline-subtable oxa-mobile-scope", children: [loadError && _jsxs("div", { role: "alert", children: [loadError, _jsx(MobileButton, { onClick: () => { loadedKey.current = ''; setLoadAttempt(attempt => attempt + 1); }, children: "\u91CD\u8BD5" })] }), pagination, loading ? _jsx("span", { role: "status", children: "\u52A0\u8F7D\u4E2D\u2026" }) : page.rows.map((row, offset) => {
184
+ const index = page.start + offset;
185
+ const rowOperation = row.state === 'persisted' ? 'update' : 'create';
186
+ const writable = task ? row.state === 'persisted' || task.page.create === true : row.state === 'persisted' ? canUpdate : canCreate;
187
+ const fields = rowFields(row).filter(child => canReadField(child, row) || (writable && canWriteField(child, rowOperation, row)));
188
+ return _jsx(MobileSubtableRow, { row: row, index: index, fields: fields, disabled: disabled, resourceCode: definition.code, operation: rowOperation, canWrite: child => writable && canWriteField(child, rowOperation, row), canDelete: !navigationBlocked && (row.state === 'persisted' ? canDelete : canCreate), onRemove: () => removeRow(row), onChange: data => changeRow(row, data), workflowFileBinding: rowBinding(row), upload: uploadFor(row), signer: task?.signer, uploadBlocked: child => uploadBlocked(child, row), taskMode: Boolean(task), hint: child => requiredHint(child, row), actions: task?.page.reorder && _jsxs(Space, { children: [_jsx(MobileButton, { fill: "none", disabled: navigationBlocked || index === 0, "aria-label": `上移第${index + 1}项`, onClick: () => moveRow(index, -1), children: "\u4E0A\u79FB" }), _jsx(MobileButton, { fill: "none", disabled: navigationBlocked || index === visibleRows.length - 1, "aria-label": `下移第${index + 1}项`, onClick: () => moveRow(index, 1), children: "\u4E0B\u79FB" })] }) }, row.key);
189
+ }), !disabled && _jsxs(MobileButton, { block: true, fill: "none", color: "primary", disabled: navigationBlocked || !canCreate || visibleRows.length >= maxRows, onClick: () => { emit([...rows, { key: crypto.randomUUID(), state: 'created', data: {} }]); setRequestedPage(Math.floor(visibleRows.length / SUBTABLE_PAGE_SIZE) + 1); }, children: [_jsx(PlusOutlined, {}), " \u65B0\u589E\u4E00\u9879"] })] }) });
190
+ const fields = childFields.filter(child => canReadField(child) || (canCreate && canWriteField(child, 'create')) || (canUpdate && canWriteField(child, 'update')));
191
+ const writableCodes = fields.filter(child => canWriteField(child, 'create')).map(child => child.key);
192
+ const appendRows = (data) => {
193
+ const start = subtablePage(rowsRef.current, 1).visible.length;
194
+ emit([...rowsRef.current, ...data.map(item => ({
195
+ key: crypto.randomUUID(), state: 'created',
196
+ data: Object.fromEntries(Object.entries(item).map(([key, value]) => [key, fieldValueForForm(definition.surface.fields[key], value)])),
197
+ }))]);
198
+ setRequestedPage(Math.floor(start / SUBTABLE_PAGE_SIZE) + 1);
199
+ };
120
200
  const downloadTemplate = async () => {
121
201
  const template = await buildResourceImportTemplate(field.label, definition.surface, writableCodes);
122
202
  const url = URL.createObjectURL(new Blob([template.content]));
@@ -126,30 +206,37 @@ export function SubtableField({ field, disabled, mobile, operation, parentRecord
126
206
  link.click();
127
207
  setTimeout(() => URL.revokeObjectURL(url), 0);
128
208
  };
129
- return _jsxs("div", { className: `oxa-subtable-field oxa-subtable-inline ${fullScreen ? 'is-fullscreen' : ''}`, children: [loadError && _jsx(Alert, { type: "error", title: loadError, action: _jsx(Button, { onClick: () => { loadedKey.current = ''; setLoadAttempt(value => value + 1); }, children: "\u91CD\u8BD5" }) }), _jsx("div", { className: "oxa-subtable-scroll", children: _jsxs("table", { "aria-label": field.label, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { className: "oxa-subtable-number", children: _jsx(Tooltip, { title: fullScreen ? '退出全屏' : '全屏', children: _jsx(Button, { type: "text", "aria-label": fullScreen ? '退出子表全屏' : '子表全屏', icon: fullScreen ? _jsx(CompressOutlined, {}) : _jsx(ExpandOutlined, {}), onClick: () => setFullScreen(!fullScreen) }) }) }), fields.map(child => _jsx("th", { children: child.label }, child.key)), !disabled && _jsx("th", { children: "\u64CD\u4F5C" })] }) }), _jsxs("tbody", { children: [loading ? _jsx("tr", { children: _jsx("td", { colSpan: fields.length + 2, children: _jsx(Spin, {}) }) }) : visibleRows.map((row, index) => {
130
- const rowOperation = row.state === 'persisted' ? 'update' : 'create';
131
- const writable = row.state === 'persisted' ? canUpdate : canCreate;
132
- return _jsx(DesktopSubtableRow, { row: row, index: index, fields: fields, operation: rowOperation, resourceCode: definition.code, disabled: disabled, canRead: child => fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin), canWrite: child => writable && fieldWritable(child, rowOperation, hasCapability, identity.isAppSuperAdmin), onChange: data => emit(rows.map(current => current.key === row.key ? { ...current, data } : current)), upload: (current, file, recordId) => createNativeResourceClient(definition.code, definition.surface).upload(current.key, file, recordId), actions: _jsxs(Space, { size: 0, children: [_jsx(Button, { type: "text", "aria-label": `上移第${index + 1}项`, disabled: index === 0 || !writable, icon: _jsx(UpOutlined, {}), onClick: () => moveRow(index, -1) }), _jsx(Button, { type: "text", "aria-label": `下移第${index + 1}项`, disabled: index === visibleRows.length - 1 || !writable, icon: _jsx(DownOutlined, {}), onClick: () => moveRow(index, 1) }), _jsx(Button, { type: "link", danger: true, disabled: row.state === 'persisted' ? !canDelete : !canCreate, onClick: () => removeRow(row), children: "\u5220\u9664" })] }) }, row.key);
133
- }), !loading && !visibleRows.length && _jsx("tr", { children: _jsx("td", { colSpan: fields.length + 2, children: _jsx(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE, description: "\u6682\u65E0\u660E\u7EC6" }) }) })] })] }) }), !disabled && _jsxs("div", { className: "oxa-subtable-toolbar", children: [_jsxs(Space, { wrap: true, children: [_jsx(Button, { icon: _jsx(PlusOutlined, {}), disabled: !canCreate || visibleRows.length >= maxRows, onClick: () => appendRows([{}]), children: "\u65B0\u589E\u4E00\u9879" }), _jsx(Upload, { accept: ".csv,.xls,.xlsx", showUploadList: false, disabled: !canCreate || importing || visibleRows.length >= maxRows, beforeUpload: async (file) => {
134
- setImporting(true);
135
- try {
136
- const parsed = await parseResourceImportFile(file, definition.code, definition.surface, writableCodes);
137
- if (parsed.errors.length)
138
- throw new Error(parsed.errors.slice(0, 3).join(';'));
139
- if (visibleRows.length + parsed.rows.length > maxRows)
140
- throw new Error(`子表单最多 ${maxRows} 项`);
141
- appendRows(parsed.rows.map(row => row.data));
142
- }
143
- catch (error) {
144
- message.error(error instanceof Error ? error.message : '导入失败');
145
- }
146
- finally {
147
- setImporting(false);
148
- }
149
- return false;
150
- }, children: _jsx(Button, { icon: _jsx(ImportOutlined, {}), loading: importing, disabled: !canCreate || visibleRows.length >= maxRows, children: "\u6279\u91CF\u5BFC\u5165" }) }), _jsx(Button, { type: "link", icon: _jsx(DownloadOutlined, {}), disabled: !canCreate, onClick: () => void downloadTemplate().catch(error => message.error(String(error))), children: "\u4E0B\u8F7D\u6A21\u677F" })] }), _jsxs(Typography.Text, { type: "secondary", children: [visibleRows.length, " / ", maxRows] })] })] });
209
+ return _jsx(SubtableEditActivityContext.Provider, { value: reportPending, children: _jsxs("div", { className: `oxa-subtable-field oxa-subtable-inline ${fullScreen ? 'is-fullscreen' : ''}`, children: [loadError && _jsx(Alert, { type: "error", title: loadError, action: _jsx(Button, { onClick: () => { loadedKey.current = ''; setLoadAttempt(value => value + 1); }, children: "\u91CD\u8BD5" }) }), pagination, _jsx("div", { className: "oxa-subtable-scroll", children: _jsxs("table", { "aria-label": field.label, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { className: "oxa-subtable-number", children: _jsx(Tooltip, { title: fullScreen ? '退出全屏' : '全屏', children: _jsx(Button, { type: "text", "aria-label": fullScreen ? '退出子表全屏' : '子表全屏', icon: fullScreen ? _jsx(CompressOutlined, {}) : _jsx(ExpandOutlined, {}), onClick: () => setFullScreen(!fullScreen) }) }) }), fields.map(child => _jsx("th", { children: child.label }, child.key)), !disabled && _jsx("th", { children: "\u64CD\u4F5C" })] }) }), _jsxs("tbody", { children: [loading ? _jsx("tr", { children: _jsx("td", { colSpan: fields.length + 2, children: _jsx(Spin, {}) }) }) : page.rows.map((row, offset) => {
210
+ const index = page.start + offset;
211
+ const rowOperation = row.state === 'persisted' ? 'update' : 'create';
212
+ const writable = task ? row.state === 'persisted' || task.page.create === true : row.state === 'persisted' ? canUpdate : canCreate;
213
+ return _jsx(DesktopSubtableRow, { row: row, index: index, fields: fields.map(child => task ? { ...child, requiredHint: false } : child), operation: rowOperation, resourceCode: definition.code, disabled: disabled, taskMode: Boolean(task), canRead: child => canReadField(child, row), canWrite: child => writable && canWriteField(child, rowOperation, row), onChange: data => changeRow(row, data), workflowFileBinding: rowBinding(row), upload: uploadFor(row), signer: task?.signer, uploadBlocked: child => uploadBlocked(child, row), hint: child => requiredHint(child, row), actions: _jsxs(Space, { size: 0, children: [_jsx(Button, { type: "text", "aria-label": `上移第${index + 1}项`, disabled: navigationBlocked || index === 0 || !writable || Boolean(task && !task.page.reorder), icon: _jsx(UpOutlined, {}), onClick: () => moveRow(index, -1) }), _jsx(Button, { type: "text", "aria-label": `下移第${index + 1}项`, disabled: navigationBlocked || index === visibleRows.length - 1 || !writable || Boolean(task && !task.page.reorder), icon: _jsx(DownOutlined, {}), onClick: () => moveRow(index, 1) }), _jsx(Button, { type: "link", danger: true, disabled: navigationBlocked || (row.state === 'persisted' ? !canDelete : !canCreate), onClick: () => removeRow(row), children: "\u5220\u9664" })] }) }, row.key);
214
+ }), !loading && !visibleRows.length && _jsx("tr", { children: _jsx("td", { colSpan: fields.length + 2, children: _jsx(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE, description: "\u6682\u65E0\u660E\u7EC6" }) }) })] })] }) }), !disabled && _jsxs("div", { className: "oxa-subtable-toolbar", children: [_jsxs(Space, { wrap: true, children: [_jsx(Button, { icon: _jsx(PlusOutlined, {}), disabled: navigationBlocked || !canCreate || visibleRows.length >= maxRows, onClick: () => appendRows([{}]), children: "\u65B0\u589E\u4E00\u9879" }), _jsx(Upload, { accept: ".csv,.xls,.xlsx", showUploadList: false, disabled: navigationBlocked || !canCreate || visibleRows.length >= maxRows, beforeUpload: async (file) => {
215
+ setImporting(true);
216
+ try {
217
+ const parsed = await parseResourceImportFile(file, definition.code, definition.surface, writableCodes);
218
+ if (parsed.errors.length)
219
+ throw new Error(parsed.errors.slice(0, 3).join(';'));
220
+ if (visibleRows.length + parsed.rows.length > maxRows)
221
+ throw new Error(`子表单最多 ${maxRows} 项`);
222
+ appendRows(parsed.rows.map(row => row.data));
223
+ }
224
+ catch (error) {
225
+ message.error(error instanceof Error ? error.message : '导入失败');
226
+ }
227
+ finally {
228
+ setImporting(false);
229
+ }
230
+ return false;
231
+ }, children: _jsx(Button, { icon: _jsx(ImportOutlined, {}), loading: importing, disabled: navigationBlocked || !canCreate || visibleRows.length >= maxRows, children: "\u6279\u91CF\u5BFC\u5165" }) }), _jsx(Button, { type: "link", icon: _jsx(DownloadOutlined, {}), disabled: !canCreate, onClick: () => void downloadTemplate().catch(error => message.error(String(error))), children: "\u4E0B\u8F7D\u6A21\u677F" })] }), _jsxs(Typography.Text, { type: "secondary", children: [visibleRows.length, " / ", maxRows] })] })] }) });
232
+ }
233
+ function rowDisplayValue(row, field, taskMode) {
234
+ if (taskMode && Object.prototype.hasOwnProperty.call(row.data, field.key)) {
235
+ return fieldValueForData(field, row.data[field.key]);
236
+ }
237
+ return row.snapshot?.[field.key] ?? row.data[field.key];
151
238
  }
152
- function DesktopSubtableRow({ row, index, fields, operation, resourceCode, disabled, canRead, canWrite, onChange, upload, actions }) {
239
+ function DesktopSubtableRow({ row, index, fields, operation, resourceCode, disabled, canRead, canWrite, onChange, upload, actions, workflowFileBinding, taskMode, hint, signer, uploadBlocked }) {
153
240
  const [form] = Form.useForm();
154
241
  const registerValidation = useContext(MobileSubtableValidationContext);
155
242
  useEffect(() => registerValidation?.(row.key, async () => {
@@ -161,8 +248,8 @@ function DesktopSubtableRow({ row, index, fields, operation, resourceCode, disab
161
248
  }
162
249
  }), [form, index, registerValidation, row.key]);
163
250
  useEffect(() => { form.setFieldsValue(row.data); }, [form, row.data]);
164
- return _jsx(Form, { component: false, name: `subtable-${row.key}`, form: form, initialValues: row.data, onValuesChange: (_changed, all) => onChange(all), children: _jsxs("tr", { children: [_jsx("td", { className: "oxa-subtable-number", children: index + 1 }), fields.map(field => _jsx("td", { children: canWrite(field) ? _jsx(SurfaceFieldControl, { field: field, disabled: false, operation: operation, recordId: row.id, resourceCode: resourceCode, renderers: { upload } })
165
- : canRead(field) ? _jsx(SurfaceFieldValue, { field: field, resourceCode: resourceCode, value: row.snapshot?.[field.key] ?? row.data[field.key] }) : '—' }, field.key)), !disabled && _jsx("td", { children: actions })] }) });
251
+ return _jsx(Form, { component: false, layout: "vertical", name: `subtable-${row.key}`, form: form, initialValues: row.data, onValuesChange: (_changed, all) => onChange(all), children: _jsxs("tr", { children: [_jsx("td", { className: "oxa-subtable-number", children: index + 1 }), fields.map(field => _jsx("td", { children: canWrite(field) ? _jsxs(_Fragment, { children: [_jsx(SurfaceFieldControl, { field: field, disabled: Boolean(disabled || uploadBlocked?.(field)), operation: operation, recordId: row.id, expectedRevision: row.revision, resourceCode: resourceCode, workflowFileBinding: workflowFileBinding && { ...workflowFileBinding, fieldCode: field.key }, renderers: { upload, signer } }), uploadBlocked?.(field) && _jsx(Typography.Text, { type: "secondary", children: "\u8BF7\u5148\u4FDD\u5B58\u8865\u586B\uFF0C\u8BA9\u8BE5\u9644\u4EF6\u5B57\u6BB5\u751F\u6548\uFF0C\u518D\u4E0A\u4F20\u6587\u4EF6\u3002" }), hint?.(field)] })
252
+ : canRead(field) ? _jsx(SurfaceFieldValue, { field: field, resourceCode: resourceCode, workflowFileBinding: workflowFileBinding && { ...workflowFileBinding, fieldCode: field.key }, value: rowDisplayValue(row, field, taskMode) }) : '—' }, field.key)), !disabled && _jsx("td", { children: actions })] }) });
166
253
  }
167
254
  export function SubtableValueDisplay({ field, parentRecordId, mobile, }) {
168
255
  return (_jsx(SubtableField, { disabled: true, field: field, mobile: mobile, operation: "update", parentRecordId: parentRecordId, view: "detail" }));
@@ -225,7 +312,7 @@ function draftFromRecord(record, surface, foreignKey, orderField) {
225
312
  snapshot: record,
226
313
  };
227
314
  }
228
- function MobileSubtableRow({ row, index, fields, operation, resourceCode, canWrite, canDelete, onRemove, onChange, upload }) {
315
+ function MobileSubtableRow({ row, index, fields, operation, resourceCode, canWrite, canDelete, onRemove, onChange, upload, actions, workflowFileBinding, taskMode, hint, signer, uploadBlocked, disabled }) {
229
316
  const [form] = Form.useForm();
230
317
  const [expanded, setExpanded] = useState(true);
231
318
  const registerValidation = useContext(MobileSubtableValidationContext);
@@ -239,6 +326,8 @@ function MobileSubtableRow({ row, index, fields, operation, resourceCode, canWri
239
326
  }
240
327
  }), [form, index, registerValidation, row.key]);
241
328
  useEffect(() => { form.setFieldsValue(row.data); }, [form, row.data]);
242
- return _jsxs("div", { className: "oxa-mobile-subtable-card", children: [_jsxs("header", { children: [_jsxs(MobileButton, { fill: "none", "aria-label": `${expanded ? '折叠' : '展开'}第${index + 1}项`, "aria-expanded": expanded, onClick: () => setExpanded(!expanded), children: [expanded ? '▾' : '▸', " ", index + 1] }), canDelete && _jsx(MobileButton, { fill: "none", onClick: onRemove, children: "\u5220\u9664" })] }), _jsx("div", { hidden: !expanded, style: !expanded ? { display: 'none' } : undefined, children: _jsx(Form, { component: false, name: `subtable-${row.key}`, form: form, initialValues: row.data, onValuesChange: (_changed, all) => onChange(all), children: fields.map(field => _jsx(MobileSurfaceFieldControl, { field: field, disabled: !canWrite(field), operation: operation, recordId: row.id, resourceCode: resourceCode, renderers: { upload } }, field.key)) }) })] });
329
+ return _jsxs("div", { className: "oxa-mobile-subtable-card", children: [_jsxs("header", { children: [_jsxs(MobileButton, { fill: "none", "aria-label": `${expanded ? '折叠' : '展开'}第${index + 1}项`, "aria-expanded": expanded, onClick: () => setExpanded(!expanded), children: [expanded ? '▾' : '▸', " ", index + 1] }), canDelete && _jsx(MobileButton, { fill: "none", onClick: onRemove, children: "\u5220\u9664" }), actions] }), _jsx("div", { hidden: !expanded, style: !expanded ? { display: 'none' } : undefined, children: _jsx(Form, { component: false, layout: "vertical", name: `subtable-${row.key}`, form: form, initialValues: row.data, onValuesChange: (_changed, all) => onChange(all), children: fields.map(field => canWrite(field) || !taskMode
330
+ ? _jsxs("div", { children: [_jsx(MobileSurfaceFieldControl, { field: field, disabled: Boolean(disabled || !canWrite(field) || uploadBlocked?.(field)), operation: operation, recordId: row.id, expectedRevision: row.revision, resourceCode: resourceCode, workflowFileBinding: workflowFileBinding && { ...workflowFileBinding, fieldCode: field.key }, renderers: { upload, signer } }), uploadBlocked?.(field) && _jsx(Typography.Text, { type: "secondary", children: "\u8BF7\u5148\u4FDD\u5B58\u8865\u586B\uFF0C\u8BA9\u8BE5\u9644\u4EF6\u5B57\u6BB5\u751F\u6548\uFF0C\u518D\u4E0A\u4F20\u6587\u4EF6\u3002" }), hint?.(field)] }, field.key)
331
+ : _jsxs("div", { children: [_jsx(Typography.Text, { type: "secondary", children: field.label }), _jsx(SurfaceFieldValue, { field: field, resourceCode: resourceCode, workflowFileBinding: workflowFileBinding && { ...workflowFileBinding, fieldCode: field.key }, mobile: true, value: rowDisplayValue(row, field, taskMode) })] }, field.key)) }) })] });
243
332
  }
244
333
  //# sourceMappingURL=SubtableField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubtableField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/SubtableField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubtableField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/SubtableField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { DataFilePreview } from 'openxiangda-contracts/browser';
2
+ /** One mounted player owns one transient read. Cancellation prevents late
3
+ * content from creating a URL; every created URL has exactly one disposer. */
4
+ export declare function startManagedMediaRead(deps: {
5
+ preview(): Promise<DataFilePreview>;
6
+ content(): Promise<Blob>;
7
+ maxBytes: number;
8
+ createUrl(blob: Blob): string;
9
+ revokeUrl(url: string): void;
10
+ ready(value: {
11
+ src: string;
12
+ preview: DataFilePreview;
13
+ }): void;
14
+ failed(error: unknown): void;
15
+ }): {
16
+ completion: Promise<void>;
17
+ dispose(): void;
18
+ };
19
+ //# sourceMappingURL=managed-media-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-media-read.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/managed-media-read.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAEnE;8EAC8E;AAC9E,wBAAgB,qBAAqB,CAAC,IAAI,EAAC;IACzC,OAAO,IAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAAA,OAAO,IAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAC3E,SAAS,CAAC,IAAI,EAAC,IAAI,GAAE,MAAM,CAAC;IAAA,SAAS,CAAC,GAAG,EAAC,MAAM,GAAE,IAAI,CAAC;IACvD,KAAK,CAAC,KAAK,EAAC;QAAC,GAAG,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,eAAe,CAAA;KAAC,GAAE,IAAI,CAAC;IAAA,MAAM,CAAC,KAAK,EAAC,OAAO,GAAE,IAAI,CAAC;CACnF;;;EAaA"}
@@ -0,0 +1,32 @@
1
+ /** One mounted player owns one transient read. Cancellation prevents late
2
+ * content from creating a URL; every created URL has exactly one disposer. */
3
+ export function startManagedMediaRead(deps) {
4
+ let active = true, url = '';
5
+ const completion = (async () => {
6
+ try {
7
+ const preview = await deps.preview();
8
+ if (!active)
9
+ return;
10
+ if (!preview.canPreview || preview.renderMode !== 'inline' || !['video', 'audio'].includes(preview.previewType))
11
+ throw new Error(preview.unsupportedReason || '当前文件无法播放,请使用附件下载');
12
+ if (!Number.isSafeInteger(preview.file.size) || preview.file.size < 1 || preview.file.size > deps.maxBytes)
13
+ throw new Error('媒体超出当前播放器容量,请下载后播放');
14
+ const blob = await deps.content();
15
+ if (!active)
16
+ return;
17
+ if (blob.size !== preview.file.size)
18
+ throw new Error('媒体内容与平台文件大小不一致,请重新读取');
19
+ url = deps.createUrl(blob);
20
+ deps.ready({ src: url, preview });
21
+ }
22
+ catch (error) {
23
+ if (active)
24
+ deps.failed(error);
25
+ }
26
+ })();
27
+ return { completion, dispose() { active = false; if (url) {
28
+ deps.revokeUrl(url);
29
+ url = '';
30
+ } } };
31
+ }
32
+ //# sourceMappingURL=managed-media-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-media-read.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/managed-media-read.ts"],"names":[],"mappings":"AAEA;8EAC8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,IAIrC;IACC,IAAI,MAAM,GAAC,IAAI,EAAC,GAAG,GAAC,EAAE,CAAC;IACvB,MAAM,UAAU,GAAC,CAAC,KAAK,IAAE,EAAE;QACzB,IAAG,CAAC;YACF,MAAM,OAAO,GAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAAA,IAAG,CAAC,MAAM;gBAAC,OAAO;YACrD,IAAG,CAAC,OAAO,CAAC,UAAU,IAAE,OAAO,CAAC,UAAU,KAAG,QAAQ,IAAE,CAAC,CAAC,OAAO,EAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;gBAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,IAAE,kBAAkB,CAAC,CAAC;YACvK,IAAG,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAE,OAAO,CAAC,IAAI,CAAC,IAAI,GAAC,CAAC,IAAE,OAAO,CAAC,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,QAAQ;gBAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxI,MAAM,IAAI,GAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAAA,IAAG,CAAC,MAAM;gBAAC,OAAO;YAClD,IAAG,IAAI,CAAC,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC,IAAI;gBAAC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACzE,GAAG,GAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAAA,IAAI,CAAC,KAAK,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,OAAO,EAAC,CAAC,CAAC;QACzD,CAAC;QAAA,OAAM,KAAK,EAAC,CAAC;YAAA,IAAG,MAAM;gBAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAAA,CAAC;IAC9C,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,EAAC,UAAU,EAAC,OAAO,KAAG,MAAM,GAAC,KAAK,CAAC,CAAA,IAAG,GAAG,EAAC,CAAC;YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAAA,GAAG,GAAC,EAAE,CAAC;QAAA,CAAC,CAAA,CAAC,EAAC,CAAC;AACnF,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { DataFieldSurface } from 'openxiangda-contracts/browser';
2
+ import type { SubtableDraftRow } from './subtable-value';
3
+ export declare const SUBTABLE_PAGE_SIZE = 10;
4
+ export declare function subtablePage(rows: SubtableDraftRow[], requested: number): {
5
+ page: number;
6
+ pages: number;
7
+ start: number;
8
+ visible: SubtableDraftRow[];
9
+ rows: SubtableDraftRow[];
10
+ };
11
+ export declare function moveSubtableRow(rows: SubtableDraftRow[], index: number, direction: -1 | 1): SubtableDraftRow[];
12
+ export declare class SubtableRowValidationError extends Error {
13
+ rowIndex: number;
14
+ fieldCode: string | undefined;
15
+ constructor(rowIndex: number, fieldCode: string | undefined, detail: string);
16
+ }
17
+ export declare function validateSubtableRows(rows: SubtableDraftRow[], fieldsForRow: (row: SubtableDraftRow) => (DataFieldSurface & {
18
+ key: string;
19
+ })[], mobile?: boolean): Promise<void>;
20
+ //# sourceMappingURL=subtable-pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtable-pagination.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/subtable-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,wBAAgB,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,MAAM;;;;;;EAMvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,sBAMzF;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IAChC,QAAQ,EAAE,MAAM;IAAS,SAAS,EAAE,MAAM,GAAG,SAAS;gBAAtD,QAAQ,EAAE,MAAM,EAAS,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM;CAG1F;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,CAAC,gBAAgB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,EAAE,MAAM,UAAQ,iBASnK"}
@@ -0,0 +1,39 @@
1
+ import { validateSurfaceFieldValues } from './surface-field-validation';
2
+ export const SUBTABLE_PAGE_SIZE = 10;
3
+ export function subtablePage(rows, requested) {
4
+ const visible = rows.filter(row => row.state !== 'deleted');
5
+ const pages = Math.max(1, Math.ceil(visible.length / SUBTABLE_PAGE_SIZE));
6
+ const page = Math.max(1, Math.min(requested, pages));
7
+ const start = (page - 1) * SUBTABLE_PAGE_SIZE;
8
+ return { page, pages, start, visible, rows: visible.slice(start, start + SUBTABLE_PAGE_SIZE) };
9
+ }
10
+ export function moveSubtableRow(rows, index, direction) {
11
+ const { visible } = subtablePage(rows, 1);
12
+ const target = index + direction;
13
+ if (target < 0 || target >= visible.length)
14
+ return rows;
15
+ [visible[index], visible[target]] = [visible[target], visible[index]];
16
+ return [...visible, ...rows.filter(row => row.state === 'deleted')];
17
+ }
18
+ export class SubtableRowValidationError extends Error {
19
+ rowIndex;
20
+ fieldCode;
21
+ constructor(rowIndex, fieldCode, detail) {
22
+ super(`第 ${rowIndex + 1} 项:${detail}`);
23
+ this.rowIndex = rowIndex;
24
+ this.fieldCode = fieldCode;
25
+ }
26
+ }
27
+ export async function validateSubtableRows(rows, fieldsForRow, mobile = false) {
28
+ const visible = rows.filter(row => row.state !== 'deleted');
29
+ for (const [index, row] of visible.entries()) {
30
+ try {
31
+ await validateSurfaceFieldValues(fieldsForRow(row), row.data, mobile);
32
+ }
33
+ catch (error) {
34
+ const first = error.errors?.[0];
35
+ throw new SubtableRowValidationError(index, first?.field, first?.message || '请核对此项内容');
36
+ }
37
+ }
38
+ }
39
+ //# sourceMappingURL=subtable-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subtable-pagination.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/subtable-pagination.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,SAAiB;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;IAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,kBAAkB,CAAC;IAC9C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAAC,EAAE,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAwB,EAAE,KAAa,EAAE,SAAiB;IACxF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACxD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAE,EAAE,OAAO,CAAC,KAAK,CAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAChC;IAAyB;IAA5C,YAAmB,QAAgB,EAAS,SAA6B,EAAE,MAAc;QACvF,KAAK,CAAC,KAAK,QAAQ,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC;QADtB,aAAQ,GAAR,QAAQ,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAoB;IAEzE,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAwB,EAAE,YAA+E,EAAE,MAAM,GAAG,KAAK;IAClK,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC5D,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC;YAAC,MAAM,0BAA0B,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAC9E,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,KAAK,GAAI,KAA6D,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACzF,MAAM,IAAI,0BAA0B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"subtable-value.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/subtable-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EAEzB,MAAM,+BAA+B,CAAC;AAIvC,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,kBAAkB,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EACF;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAC/C;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,QAAQ,EAAE,CACR,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,QAAQ,GAAG,QAAQ,KAC3B,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,0BAA0B,GAChC,wBAAwB,EAAE,CAgE5B"}
1
+ {"version":3,"file":"subtable-value.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/subtable-value.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EAEzB,MAAM,+BAA+B,CAAC;AAIvC,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,kBAAkB,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EACF;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAC/C;QAAE,SAAS,EAAE,QAAQ,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,QAAQ,EAAE,CACR,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,QAAQ,GAAG,QAAQ,KAC3B,OAAO,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,0BAA0B,GAChC,wBAAwB,EAAE,CAgE5B"}
@@ -1,9 +1,10 @@
1
+ import { DATA_SUBTABLE_MAX_ROWS } from 'openxiangda-contracts/browser';
1
2
  import { normalizeFormValues } from './field-form-codec';
2
3
  import { selectedSurfaceFields } from '../resource/resource-field-selection';
3
4
  export function buildSubtableOperations(input) {
4
5
  const visibleRows = input.rows.filter(row => row.state !== 'deleted');
5
6
  const maximum = input.maxRows ?? 20;
6
- if (visibleRows.length > maximum || maximum < 1 || maximum > 49) {
7
+ if (visibleRows.length > maximum || !Number.isSafeInteger(maximum) || maximum < 1 || maximum > DATA_SUBTABLE_MAX_ROWS || input.rows.length > 2 * maximum) {
7
8
  throw new Error('OPENXIANGDA_SUBTABLE_MAX_ROWS_EXCEEDED');
8
9
  }
9
10
  const operations = [];