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.
- package/dist/browser/AuthoritativeSelector.d.ts +3 -2
- package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
- package/dist/browser/AuthoritativeSelector.js +32 -11
- package/dist/browser/AuthoritativeSelector.js.map +1 -1
- package/dist/browser/FilePreviewPage.d.ts.map +1 -1
- package/dist/browser/FilePreviewPage.js +4 -0
- package/dist/browser/FilePreviewPage.js.map +1 -1
- package/dist/browser/components/administration/RoleMembershipManager.d.ts.map +1 -1
- package/dist/browser/components/administration/RoleMembershipManager.js +5 -5
- package/dist/browser/components/administration/RoleMembershipManager.js.map +1 -1
- package/dist/browser/components/administration/scope-applicability.d.ts +3 -0
- package/dist/browser/components/administration/scope-applicability.d.ts.map +1 -0
- package/dist/browser/components/administration/scope-applicability.js +7 -0
- package/dist/browser/components/administration/scope-applicability.js.map +1 -0
- package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts +16 -0
- package/dist/browser/components/platform-fields/ConstrainedUserField.d.ts.map +1 -0
- package/dist/browser/components/platform-fields/ConstrainedUserField.js +140 -0
- package/dist/browser/components/platform-fields/ConstrainedUserField.js.map +1 -0
- package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts +19 -0
- package/dist/browser/components/platform-fields/ManagedMediaPlayer.d.ts.map +1 -0
- package/dist/browser/components/platform-fields/ManagedMediaPlayer.js +42 -0
- package/dist/browser/components/platform-fields/ManagedMediaPlayer.js.map +1 -0
- package/dist/browser/components/platform-fields/MobileSelection.d.ts +3 -1
- package/dist/browser/components/platform-fields/MobileSelection.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/MobileSelection.js +2 -2
- package/dist/browser/components/platform-fields/MobileSelection.js.map +1 -1
- package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +3 -2
- package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/ResourceReferenceField.js +2 -2
- package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
- package/dist/browser/components/platform-fields/SubtableField.js +2 -2
- package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
- package/dist/browser/components/platform-fields/managed-media-read.d.ts +19 -0
- package/dist/browser/components/platform-fields/managed-media-read.d.ts.map +1 -0
- package/dist/browser/components/platform-fields/managed-media-read.js +32 -0
- package/dist/browser/components/platform-fields/managed-media-read.js.map +1 -0
- package/dist/browser/components/platform-fields/user-candidate-context.d.ts +51 -0
- package/dist/browser/components/platform-fields/user-candidate-context.d.ts.map +1 -0
- package/dist/browser/components/platform-fields/user-candidate-context.js +62 -0
- package/dist/browser/components/platform-fields/user-candidate-context.js.map +1 -0
- package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceCrud.js +26 -2
- package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceForm.js +1 -1
- package/dist/browser/components/resource/GeneratedResourceForm.js.map +1 -1
- package/dist/browser/components/resource/RecordDetailFrame.d.ts +3 -1
- package/dist/browser/components/resource/RecordDetailFrame.d.ts.map +1 -1
- package/dist/browser/components/resource/RecordDetailFrame.js +2 -2
- package/dist/browser/components/resource/RecordDetailFrame.js.map +1 -1
- package/dist/browser/components/resource/ResourceFormFrame.d.ts +2 -1
- package/dist/browser/components/resource/ResourceFormFrame.d.ts.map +1 -1
- package/dist/browser/components/resource/ResourceFormFrame.js +2 -2
- package/dist/browser/components/resource/ResourceFormFrame.js.map +1 -1
- package/dist/browser/components/resource/ResourceRecordComments.d.ts +13 -0
- package/dist/browser/components/resource/ResourceRecordComments.d.ts.map +1 -0
- package/dist/browser/components/resource/ResourceRecordComments.js +75 -0
- package/dist/browser/components/resource/ResourceRecordComments.js.map +1 -0
- package/dist/browser/components/resource/ResourceRecordDeletion.d.ts +7 -0
- package/dist/browser/components/resource/ResourceRecordDeletion.d.ts.map +1 -0
- package/dist/browser/components/resource/ResourceRecordDeletion.js +53 -0
- package/dist/browser/components/resource/ResourceRecordDeletion.js.map +1 -0
- package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts +16 -0
- package/dist/browser/components/resource/ResourceRecordPrintPreview.d.ts.map +1 -0
- package/dist/browser/components/resource/ResourceRecordPrintPreview.js +92 -0
- package/dist/browser/components/resource/ResourceRecordPrintPreview.js.map +1 -0
- package/dist/browser/components/resource/SurfaceFields.d.ts +8 -3
- package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
- package/dist/browser/components/resource/SurfaceFields.js +16 -8
- package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
- package/dist/browser/components/resource/generated-resource-definition.d.ts +13 -0
- package/dist/browser/components/resource/generated-resource-definition.d.ts.map +1 -1
- package/dist/browser/components/resource/record-comment-session.d.ts +17 -0
- package/dist/browser/components/resource/record-comment-session.d.ts.map +1 -0
- package/dist/browser/components/resource/record-comment-session.js +64 -0
- package/dist/browser/components/resource/record-comment-session.js.map +1 -0
- package/dist/browser/components/resource/record-deletion-session.d.ts +19 -0
- package/dist/browser/components/resource/record-deletion-session.d.ts.map +1 -0
- package/dist/browser/components/resource/record-deletion-session.js +64 -0
- package/dist/browser/components/resource/record-deletion-session.js.map +1 -0
- package/dist/browser/components/resource/record-print-session.d.ts +12 -0
- package/dist/browser/components/resource/record-print-session.d.ts.map +1 -0
- package/dist/browser/components/resource/record-print-session.js +32 -0
- package/dist/browser/components/resource/record-print-session.js.map +1 -0
- package/dist/browser/components/resource/resource-field-selection.d.ts +1 -0
- package/dist/browser/components/resource/resource-field-selection.d.ts.map +1 -1
- package/dist/browser/components/resource/useResourceFormDrafts.d.ts.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +13 -2
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.js +68 -36
- package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeCard.js +2 -2
- package/dist/browser/components/workflow/WorkflowNodeCard.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js +4 -4
- package/dist/browser/components/workflow/WorkflowNodeConfigurationEditor.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowRecordEditor.js +1 -1
- package/dist/browser/components/workflow/WorkflowRecordEditor.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts +9 -0
- package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.d.ts.map +1 -0
- package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js +50 -0
- package/dist/browser/components/workflow/WorkflowRecordHistoryPanel.js.map +1 -0
- package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +2 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.js +18 -3
- package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
- package/dist/browser/components/workflow/workflow-submission-form.d.ts +18 -0
- package/dist/browser/components/workflow/workflow-submission-form.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-submission-form.js +44 -0
- package/dist/browser/components/workflow/workflow-submission-form.js.map +1 -0
- package/dist/browser/components/workflow/workflow-task-required-errors.d.ts +10 -0
- package/dist/browser/components/workflow/workflow-task-required-errors.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-task-required-errors.js +28 -0
- package/dist/browser/components/workflow/workflow-task-required-errors.js.map +1 -0
- package/dist/browser/durable-command.d.ts.map +1 -1
- package/dist/browser/durable-command.js +6 -1
- package/dist/browser/durable-command.js.map +1 -1
- package/dist/browser/platform-client.d.ts +30 -1
- package/dist/browser/platform-client.d.ts.map +1 -1
- package/dist/browser/platform-client.js +161 -5
- package/dist/browser/platform-client.js.map +1 -1
- package/dist/browser/record-comments.css +14 -0
- package/dist/browser/record-deletion.css +11 -0
- package/dist/browser/record-print.css +31 -0
- package/dist/browser/styles.css +30 -0
- package/dist/browser/workflow-operation-input.d.ts +15 -0
- package/dist/browser/workflow-operation-input.d.ts.map +1 -0
- package/dist/browser/workflow-operation-input.js +64 -0
- package/dist/browser/workflow-operation-input.js.map +1 -0
- package/dist/core.d.ts +2 -2
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/dist/field-kit.d.ts +3 -0
- package/dist/field-kit.d.ts.map +1 -1
- package/dist/field-kit.js +3 -0
- package/dist/field-kit.js.map +1 -1
- package/dist/nest.d.ts +1 -1
- package/dist/nest.d.ts.map +1 -1
- package/dist/nest.js.map +1 -1
- package/dist/react.d.ts +6 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +5 -1
- package/dist/react.js.map +1 -1
- package/dist/testing.d.ts +1 -1
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/documentation/administration.md +7 -1
- package/documentation/backend.md +72 -1
- package/documentation/data-authz.md +42 -2
- package/documentation/declarations-cheatsheet.md +9 -0
- package/documentation/field-components.md +44 -0
- package/documentation/frontend.md +8 -0
- package/documentation/getting-started.md +7 -7
- package/documentation/managed-concurrency-frontend.md +1 -1
- package/documentation/manifest.json +11 -11
- package/documentation/testing.md +17 -0
- package/documentation/workflow-events.md +127 -2
- package/package.json +23 -20
- package/releases/2.51.0.json +32 -0
- package/releases/2.54.4.json +30 -0
- package/releases/2.54.6.json +30 -0
- package/releases/2.55.0.json +34 -0
- package/releases/2.55.1.json +32 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +4 -4
- package/skills/openxiangda-v2/references/administration.md +7 -1
- package/skills/openxiangda-v2/references/backend.md +72 -1
- package/skills/openxiangda-v2/references/data-authz.md +42 -2
- package/skills/openxiangda-v2/references/declarations-cheatsheet.md +9 -0
- package/skills/openxiangda-v2/references/field-components.md +44 -0
- package/skills/openxiangda-v2/references/frontend.md +8 -0
- package/skills/openxiangda-v2/references/getting-started.md +7 -7
- package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +1 -1
- package/skills/openxiangda-v2/references/testing.md +17 -0
- package/skills/openxiangda-v2/references/workflow-events.md +127 -2
- package/releases/2.48.1.json +0 -30
- 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,
|
|
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":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAIjD,MAAM,UAAU,UAAU,CAAC,KAAc,EAAE,QAAiB;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3K,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAClG,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,KAAK,
|
|
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,
|
|
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,
|
|
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 @@
|
|
|
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":"AAqBA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,WAAW,EAEX,gBAAgB,EAMhB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SurfaceFields.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/SurfaceFields.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,mBAAmB,EACnB,WAAW,EAEX,gBAAgB,EAMhB,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAmBpF,OAAO,EAA6B,KAAK,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAIrH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,YAEpD;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAChB,oBAAoB,GAAG,SAAS,CAKlC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAY5E;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,sBAcpD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cArDjE,CAAA;cAAwB,CAAC;aAAuB,CAAC;;;;;;eACuB,CAAC;;;IAwDjF;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,EAAE,4BAA4B,CAAC;IAC/C,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,SAAS,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,SAAS,CAAC;IAC9D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,SAAS,CAAC;IACjE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,SAAS,CAAC;IAC5D,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,KACtC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,SAAS,GAAG,SAAS,CAAC;CAC5E;AAWD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAaD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,KAAa,EACb,SAAS,GACV,EAAE,oBAAoB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,cAAc,CAAC,CAAA;CAAE,+TAqFrH;AA6ED,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,GACV,EAAE,uBAAuB,GAAG;IAAE,SAAS,CAAC,EAAE,qBAAqB,CAAA;CAAE,2CAmMjE;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,EACxC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,GACV,EAAE,uBAAuB,GAAG;IAAE,SAAS,CAAC,EAAE,qBAAqB,CAAA;CAAE,2CAoKjE;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,YAAY,EACZ,mBAAmB,EACnB,YAAwB,EACxB,MAAc,EACd,SAAS,GACV,EAAE,wBAAwB,GAAG;IAAE,SAAS,CAAC,EAAE,qBAAqB,CAAA;CAAE,2CAoHlE;AA+BD,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,KAAK,EACL,YAAY,GACb,EAAE,wBAAwB,2CAiC1B"}
|