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.
- 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/JsonField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/JsonField.js +6 -1
- package/dist/browser/components/platform-fields/JsonField.js.map +1 -1
- 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/MobileManagedFileField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/MobileManagedFileField.js +6 -1
- package/dist/browser/components/platform-fields/MobileManagedFileField.js.map +1 -1
- 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/MobileSubtableValidation.d.ts +2 -1
- package/dist/browser/components/platform-fields/MobileSubtableValidation.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/MobileSubtableValidation.js +3 -1
- package/dist/browser/components/platform-fields/MobileSubtableValidation.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/RichTextField.d.ts +3 -2
- package/dist/browser/components/platform-fields/RichTextField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/RichTextField.js +96 -44
- package/dist/browser/components/platform-fields/RichTextField.js.map +1 -1
- package/dist/browser/components/platform-fields/SignatureField.d.ts +5 -4
- package/dist/browser/components/platform-fields/SignatureField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/SignatureField.js +69 -16
- package/dist/browser/components/platform-fields/SignatureField.js.map +1 -1
- package/dist/browser/components/platform-fields/SubtableField.d.ts +18 -2
- package/dist/browser/components/platform-fields/SubtableField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/SubtableField.js +146 -57
- 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/subtable-pagination.d.ts +20 -0
- package/dist/browser/components/platform-fields/subtable-pagination.d.ts.map +1 -0
- package/dist/browser/components/platform-fields/subtable-pagination.js +39 -0
- package/dist/browser/components/platform-fields/subtable-pagination.js.map +1 -0
- package/dist/browser/components/platform-fields/subtable-value.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/subtable-value.js +2 -1
- package/dist/browser/components/platform-fields/subtable-value.js.map +1 -1
- package/dist/browser/components/platform-fields/surface-field-validation.d.ts +31 -0
- package/dist/browser/components/platform-fields/surface-field-validation.d.ts.map +1 -0
- package/dist/browser/components/platform-fields/surface-field-validation.js +36 -0
- package/dist/browser/components/platform-fields/surface-field-validation.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 +9 -4
- package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
- package/dist/browser/components/resource/SurfaceFields.js +54 -72
- 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/resource-form-operations.d.ts.map +1 -1
- package/dist/browser/components/resource/resource-form-operations.js +5 -1
- package/dist/browser/components/resource/resource-form-operations.js.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 +96 -47
- package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowDiagram.js +14 -1
- package/dist/browser/components/workflow/WorkflowDiagram.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowFlowCanvas.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowFlowCanvas.js +27 -8
- package/dist/browser/components/workflow/WorkflowFlowCanvas.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/WorkflowTaskFiles.d.ts +5 -3
- package/dist/browser/components/workflow/WorkflowTaskFiles.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowTaskFiles.js +67 -27
- package/dist/browser/components/workflow/WorkflowTaskFiles.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.d.ts +6 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.js +65 -16
- package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
- package/dist/browser/components/workflow/standard-process-values.d.ts +10 -0
- package/dist/browser/components/workflow/standard-process-values.d.ts.map +1 -0
- package/dist/browser/components/workflow/standard-process-values.js +25 -0
- package/dist/browser/components/workflow/standard-process-values.js.map +1 -0
- package/dist/browser/components/workflow/workflow-graph-presentation.d.ts +19 -0
- package/dist/browser/components/workflow/workflow-graph-presentation.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-graph-presentation.js +28 -0
- package/dist/browser/components/workflow/workflow-graph-presentation.js.map +1 -0
- 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-field-codec.d.ts +4 -0
- package/dist/browser/components/workflow/workflow-task-field-codec.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-task-field-codec.js +9 -0
- package/dist/browser/components/workflow/workflow-task-field-codec.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/components/workflow/workflow-task-subtable.d.ts +7 -0
- package/dist/browser/components/workflow/workflow-task-subtable.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-task-subtable.js +58 -0
- package/dist/browser/components/workflow/workflow-task-subtable.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/mobile-fields.css +4 -0
- 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-detail.css +4 -2
- package/dist/browser/record-print.css +31 -0
- package/dist/browser/styles.css +41 -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/browser/workflow-task-file-upload.d.ts.map +1 -1
- package/dist/browser/workflow-task-file-upload.js +1 -0
- package/dist/browser/workflow-task-file-upload.js.map +1 -1
- 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 +45 -1
- 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 +221 -6
- package/package.json +22 -25
- 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 +45 -1
- 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 +221 -6
- package/dist/browser/components/platform-fields/MobileRichTextField.d.ts +0 -4
- package/dist/browser/components/platform-fields/MobileRichTextField.d.ts.map +0 -1
- package/dist/browser/components/platform-fields/MobileRichTextField.js +0 -38
- package/dist/browser/components/platform-fields/MobileRichTextField.js.map +0 -1
- package/releases/2.43.0.json +0 -38
- package/releases/2.44.0.json +0 -36
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type DirectoryStoredValue } from './directory-value';
|
|
2
|
+
import { type UserCandidateFieldContext } from './user-candidate-context';
|
|
3
|
+
export interface ConstrainedUserFieldProps {
|
|
4
|
+
context?: UserCandidateFieldContext;
|
|
5
|
+
unavailableReason?: string;
|
|
6
|
+
value?: DirectoryStoredValue | DirectoryStoredValue[] | null;
|
|
7
|
+
onChange?: (value: DirectoryStoredValue | DirectoryStoredValue[] | null) => void;
|
|
8
|
+
multiple?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
mobile?: boolean;
|
|
11
|
+
placeholder: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
}
|
|
14
|
+
/** The constrained field deliberately has no global-directory fallback. */
|
|
15
|
+
export declare function ConstrainedUserField(props: ConstrainedUserFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=ConstrainedUserField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConstrainedUserField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ConstrainedUserField.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EACoB,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE5F,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAqCpE"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { CloseOutlined, SearchOutlined, UserOutlined } from '@ant-design/icons';
|
|
3
|
+
import { Avatar, Button, Checkbox, Empty, Grid, Input, Modal, Space, Spin, Tag } from 'antd';
|
|
4
|
+
import { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { Button as MobileButton, CheckList, SearchBar } from '../../mobile';
|
|
6
|
+
import { MobileSelectionField, MobileSelectionPanel } from './MobileSelection';
|
|
7
|
+
import { directoryStoredValues } from './directory-value';
|
|
8
|
+
import { queryUserCandidateField, reconcileUserCandidateSelection, userCandidateError } from './user-candidate-context';
|
|
9
|
+
/** The constrained field deliberately has no global-directory fallback. */
|
|
10
|
+
export function ConstrainedUserField(props) {
|
|
11
|
+
const screens = Grid.useBreakpoint();
|
|
12
|
+
const mobile = props.mobile ?? !screens.md;
|
|
13
|
+
const [open, setOpen] = useState(false);
|
|
14
|
+
const values = directoryStoredValues(props.value ?? undefined);
|
|
15
|
+
const clear = () => props.onChange?.(props.multiple ? [] : null);
|
|
16
|
+
const unavailable = props.unavailableReason || (!props.context ? '当前字段缺少选人上下文,请重新打开页面。' : '');
|
|
17
|
+
if (mobile)
|
|
18
|
+
return _jsxs(_Fragment, { children: [_jsx(MobileSelectionField, { id: props.id, title: props.placeholder, placeholder: props.placeholder, disabled: props.disabled || Boolean(unavailable), labels: values.map(item => item.label), onClear: !props.disabled && values.length ? clear : undefined, children: close => _jsx(CandidatePanel, { ...props, mobile: true, onClose: close }) }), unavailable && !props.disabled && _jsxs("p", { className: "oxa-user-candidate-hint", role: "status", children: [unavailable, values.length > 0 && _jsx(MobileButton, { fill: "none", size: "small", onClick: clear, children: "\u6E05\u7A7A\u9009\u62E9" })] })] });
|
|
19
|
+
return _jsxs(_Fragment, { children: [_jsxs("div", { className: `oxa-directory-trigger${props.disabled ? ' is-disabled' : ''}`, id: props.id, role: "button", tabIndex: props.disabled || unavailable ? -1 : 0, "aria-label": props.placeholder, "aria-disabled": props.disabled || Boolean(unavailable), onClick: () => { if (!props.disabled && !unavailable)
|
|
20
|
+
setOpen(true); }, onKeyDown: event => { if (!props.disabled && !unavailable && ['Enter', ' '].includes(event.key)) {
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
setOpen(true);
|
|
23
|
+
} }, children: [_jsx(UserOutlined, {}), _jsx("span", { className: "oxa-directory-trigger-values", children: values.length ? values.map(item => _jsx(Tag, { closable: !props.disabled, onClose: event => {
|
|
24
|
+
event.preventDefault();
|
|
25
|
+
event.stopPropagation();
|
|
26
|
+
const next = values.filter(value => value.value !== item.value);
|
|
27
|
+
props.onChange?.(props.multiple ? next : next[0] ?? null);
|
|
28
|
+
}, children: item.label }, item.value)) : _jsx("span", { className: "oxa-directory-placeholder", children: props.placeholder }) }), _jsx(Button, { type: "link", size: "small", disabled: props.disabled || Boolean(unavailable), onClick: event => { event.stopPropagation(); setOpen(true); }, children: "\u9009\u62E9" })] }), unavailable && !props.disabled && _jsx("p", { className: "oxa-user-candidate-hint", role: "status", children: unavailable }), _jsx(Modal, { open: open && !props.disabled, destroyOnHidden: true, title: props.placeholder, footer: null, width: 760, onCancel: () => setOpen(false), children: open && !props.disabled && _jsx(CandidatePanel, { ...props, onClose: () => setOpen(false) }) })] });
|
|
29
|
+
}
|
|
30
|
+
function CandidatePanel({ context, value, multiple = false, mobile, onChange, onClose, placeholder }) {
|
|
31
|
+
const [selected, setSelected] = useState(() => directoryStoredValues(value ?? undefined));
|
|
32
|
+
const [keyword, setKeyword] = useState('');
|
|
33
|
+
const [cursors, setCursors] = useState([undefined]);
|
|
34
|
+
const [page, setPage] = useState();
|
|
35
|
+
const [loading, setLoading] = useState(true);
|
|
36
|
+
const [confirming, setConfirming] = useState(false);
|
|
37
|
+
const [error, setError] = useState('');
|
|
38
|
+
const [attempt, setAttempt] = useState(0);
|
|
39
|
+
const generation = useRef(0);
|
|
40
|
+
const confirmation = useRef(0);
|
|
41
|
+
const selectedRef = useRef(selected);
|
|
42
|
+
const contextRef = useRef(context);
|
|
43
|
+
selectedRef.current = selected;
|
|
44
|
+
contextRef.current = context;
|
|
45
|
+
const contextKey = JSON.stringify(context);
|
|
46
|
+
const query = keyword.trim();
|
|
47
|
+
const cursor = cursors.at(-1);
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
const current = ++generation.current;
|
|
50
|
+
confirmation.current += 1;
|
|
51
|
+
setConfirming(false);
|
|
52
|
+
setLoading(true);
|
|
53
|
+
setError('');
|
|
54
|
+
setPage(undefined);
|
|
55
|
+
const timer = window.setTimeout(() => {
|
|
56
|
+
if (!contextRef.current) {
|
|
57
|
+
setError('当前字段缺少选人上下文,请重新打开页面。');
|
|
58
|
+
setLoading(false);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
void queryUserCandidateField(contextRef.current, { keyword: query, cursor, selectedIds: selectedRef.current.map(item => item.value) })
|
|
62
|
+
.then(result => {
|
|
63
|
+
if (current !== generation.current)
|
|
64
|
+
return;
|
|
65
|
+
setPage(result);
|
|
66
|
+
setSelected(items => reconcileUserCandidateSelection(items, result.selected));
|
|
67
|
+
}).catch(reason => { if (current === generation.current)
|
|
68
|
+
setError(userCandidateError(reason)); })
|
|
69
|
+
.finally(() => { if (current === generation.current)
|
|
70
|
+
setLoading(false); });
|
|
71
|
+
}, query ? 250 : 0);
|
|
72
|
+
return () => { window.clearTimeout(timer); generation.current += 1; confirmation.current += 1; };
|
|
73
|
+
}, [contextKey, query, cursor, attempt]);
|
|
74
|
+
const changeKeyword = (next) => { setKeyword(next.slice(0, 64)); setCursors([undefined]); };
|
|
75
|
+
const remove = (id) => setSelected(items => items.filter(item => item.value !== id));
|
|
76
|
+
const toggle = (item, checked) => setSelected(items => {
|
|
77
|
+
if (!checked)
|
|
78
|
+
return items.filter(value => value.value !== item.value);
|
|
79
|
+
if (!multiple)
|
|
80
|
+
return [{ ...item, status: 'valid' }];
|
|
81
|
+
return items.some(value => value.value === item.value) || items.length >= 200 ? items : [...items, { ...item, status: 'valid' }];
|
|
82
|
+
});
|
|
83
|
+
const confirm = async () => {
|
|
84
|
+
if (confirming)
|
|
85
|
+
return;
|
|
86
|
+
const snapshot = selectedRef.current;
|
|
87
|
+
if (!snapshot.length) {
|
|
88
|
+
onChange?.(multiple ? [] : null);
|
|
89
|
+
onClose();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (!contextRef.current || loading)
|
|
93
|
+
return;
|
|
94
|
+
const current = ++confirmation.current;
|
|
95
|
+
setConfirming(true);
|
|
96
|
+
setError('');
|
|
97
|
+
try {
|
|
98
|
+
const result = await queryUserCandidateField(contextRef.current, { selectedIds: snapshot.map(item => item.value) });
|
|
99
|
+
if (current !== confirmation.current)
|
|
100
|
+
return;
|
|
101
|
+
const next = reconcileUserCandidateSelection(snapshot, result.selected);
|
|
102
|
+
setSelected(next);
|
|
103
|
+
if (next.some(item => !result.selected.some(checked => checked.value === item.value && checked.status === 'valid'))) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const canonical = next.map(({ value, label }) => ({ value, label }));
|
|
107
|
+
onChange?.(multiple ? canonical : canonical[0] ?? null);
|
|
108
|
+
onClose();
|
|
109
|
+
}
|
|
110
|
+
catch (reason) {
|
|
111
|
+
if (current === confirmation.current)
|
|
112
|
+
setError(userCandidateError(reason));
|
|
113
|
+
}
|
|
114
|
+
finally {
|
|
115
|
+
if (current === confirmation.current)
|
|
116
|
+
setConfirming(false);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const invalid = selected.filter(item => item.status === 'invalid');
|
|
120
|
+
const limit = multiple && selected.length >= 200;
|
|
121
|
+
const blocked = confirming || loading;
|
|
122
|
+
const statuses = _jsxs(_Fragment, { children: [error && _jsxs("div", { role: "alert", className: "oxa-user-candidate-hint", children: [_jsx("p", { children: error }), mobile
|
|
123
|
+
? _jsx(MobileButton, { size: "small", disabled: confirming, onClick: () => setAttempt(current => current + 1), children: "\u91CD\u8BD5" })
|
|
124
|
+
: _jsx(Button, { size: "small", disabled: confirming, onClick: () => setAttempt(current => current + 1), children: "\u91CD\u8BD5" })] }), !error && !loading && !page?.items.length && _jsx("p", { className: "oxa-user-candidate-hint", children: query ? '没有符合搜索条件的人员' : '暂无可选人员' }), invalid.length > 0 && _jsxs("p", { role: "alert", className: "oxa-user-candidate-invalid", children: ["\u5DF2\u5931\u6548\uFF0C\u8BF7\u79FB\u9664\u540E\u91CD\u9009\uFF1A", invalid.map(item => item.label).join('、')] }), limit && _jsx("p", { className: "oxa-user-candidate-hint", children: "\u6700\u591A\u9009\u62E9 200 \u4EBA\uFF0C\u53EF\u79FB\u9664\u5DF2\u9009\u4EBA\u5458\u540E\u7EE7\u7EED\u9009\u62E9\u3002" })] });
|
|
125
|
+
const next = () => { if (page?.nextCursor)
|
|
126
|
+
setCursors(values => [...values, page.nextCursor]); };
|
|
127
|
+
const previous = () => setCursors(values => values.length > 1 ? values.slice(0, -1) : values);
|
|
128
|
+
const selectedIds = new Set(selected.map(item => item.value));
|
|
129
|
+
if (mobile)
|
|
130
|
+
return _jsxs(MobileSelectionPanel, { title: placeholder, selected: selected.map(item => ({ value: item.value, label: `${item.label}${item.status === 'invalid' ? '(已失效)' : ''}` })), disabled: confirming, confirmDisabled: selected.length > 0 && (blocked || invalid.length > 0 || Boolean(error)), onClose: onClose, onRemove: remove, onClear: () => setSelected([]), onConfirm: () => void confirm(), children: [_jsx("div", { inert: confirming, children: _jsx(SearchBar, { "aria-label": "\u641C\u7D22\u5019\u9009\u4EBA\u5458", placeholder: "\u641C\u7D22\u5019\u9009\u4EBA\u5458", maxLength: 64, value: keyword, onChange: changeKeyword }) }), loading && _jsx("p", { role: "status", children: "\u52A0\u8F7D\u4E2D\u2026" }), _jsx(CheckList, { multiple: multiple, value: selected.map(item => item.value), onChange: keys => {
|
|
131
|
+
const ids = new Set(keys.map(String));
|
|
132
|
+
const visible = new Set((page?.items || []).map(item => item.value));
|
|
133
|
+
const kept = selected.filter(item => !visible.has(item.value) || ids.has(item.value));
|
|
134
|
+
const additions = (page?.items || []).filter(item => ids.has(item.value) && !selectedIds.has(item.value)).map(item => ({ ...item, status: 'valid' }));
|
|
135
|
+
setSelected(multiple ? [...kept, ...additions].slice(0, 200) : additions.length ? additions.slice(0, 1) : kept.slice(0, 1));
|
|
136
|
+
}, children: (page?.items || []).map(item => _jsx(CheckList.Item, { value: item.value, disabled: blocked || Boolean(error) || (limit && !selectedIds.has(item.value)), description: item.value, children: item.label }, item.value)) }), statuses, _jsxs("div", { className: "oxa-user-candidate-pagination", children: [_jsx(MobileButton, { size: "small", disabled: blocked || cursors.length === 1, onClick: previous, children: "\u4E0A\u4E00\u9875" }), _jsxs("span", { children: ["\u7B2C ", cursors.length, " \u9875"] }), _jsx(MobileButton, { size: "small", disabled: blocked || Boolean(error) || !page?.nextCursor, onClick: next, children: "\u4E0B\u4E00\u9875" })] })] });
|
|
137
|
+
return _jsxs("div", { className: "oxa-user-candidate-picker", onKeyDown: event => { if (event.key === 'Enter' && event.target instanceof HTMLInputElement)
|
|
138
|
+
event.preventDefault(); }, children: [_jsxs("div", { className: "oxa-user-candidate-columns", children: [_jsxs("section", { "aria-label": "\u5019\u9009\u4EBA\u5458", children: [_jsx(Input, { "aria-label": "\u641C\u7D22\u5019\u9009\u4EBA\u5458", placeholder: "\u641C\u7D22\u5019\u9009\u4EBA\u5458", allowClear: true, maxLength: 64, prefix: _jsx(SearchOutlined, {}), value: keyword, disabled: confirming, onChange: event => changeKeyword(event.target.value) }), _jsx(Spin, { spinning: loading, children: _jsx("div", { className: "oxa-user-candidate-list", children: (page?.items || []).map(item => _jsxs("label", { className: "oxa-user-candidate-row", children: [_jsx(Checkbox, { checked: selectedIds.has(item.value), disabled: blocked || Boolean(error) || (limit && !selectedIds.has(item.value)), onChange: event => toggle(item, event.target.checked) }), _jsx(Avatar, { size: 32, children: item.label.slice(0, 1) }), _jsxs("span", { children: [_jsx("strong", { children: item.label }), _jsx("small", { title: item.value, children: item.value })] })] }, item.value)) }) }), statuses, _jsxs("div", { className: "oxa-user-candidate-pagination", children: [_jsxs("span", { children: ["\u7B2C ", cursors.length, " \u9875"] }), _jsxs(Space, { children: [_jsx(Button, { disabled: blocked || cursors.length === 1, onClick: previous, children: "\u4E0A\u4E00\u9875" }), _jsx(Button, { disabled: blocked || Boolean(error) || !page?.nextCursor, onClick: next, children: "\u4E0B\u4E00\u9875" })] })] })] }), _jsxs("aside", { "aria-label": "\u5DF2\u9009\u4EBA\u5458", children: [_jsxs("div", { className: "oxa-user-candidate-pagination", children: [_jsxs("strong", { children: ["\u5DF2\u9009 ", selected.length, " \u4EBA"] }), _jsx(Button, { type: "link", disabled: confirming || !selected.length, onClick: () => setSelected([]), children: "\u6E05\u7A7A" })] }), _jsx("div", { className: "oxa-user-candidate-list", children: selected.length ? selected.map(item => _jsxs("div", { className: "oxa-user-candidate-row", children: [_jsxs("span", { children: [_jsx("strong", { children: item.label }), _jsx("small", { title: item.value, children: item.value }), item.status === 'invalid' && _jsx(Tag, { color: "error", children: "\u5DF2\u5931\u6548" })] }), _jsx(Button, { "aria-label": `移除${item.label}`, type: "text", icon: _jsx(CloseOutlined, {}), disabled: confirming, onClick: () => remove(item.value) })] }, item.value)) : _jsx(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE, description: "\u6682\u65E0\u9009\u62E9" }) })] })] }), _jsxs("div", { className: "oxa-user-candidate-footer", children: [_jsx(Button, { disabled: confirming, onClick: onClose, children: "\u53D6\u6D88" }), _jsxs(Button, { type: "primary", loading: confirming, disabled: selected.length > 0 && (loading || invalid.length > 0 || Boolean(error)), onClick: () => void confirm(), children: ["\u786E\u5B9A", selected.length ? `(${selected.length})` : ''] })] })] });
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=ConstrainedUserField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConstrainedUserField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ConstrainedUserField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/JsonField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JsonField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/JsonField.tsx"],"names":[],"mappings":"AAUA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,OAGjD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,2CAE7D;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,MAAc,GACf,EAAE;IACD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,2CAoDA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { CheckCircleOutlined, FormatPainterOutlined } from '@ant-design/icons';
|
|
3
3
|
import { Alert, Button, Input, Space } from 'antd';
|
|
4
|
-
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useContext, useEffect, useId, useState } from 'react';
|
|
5
|
+
import { SubtableEditActivityContext } from './MobileSubtableValidation';
|
|
5
6
|
function stringify(value) {
|
|
6
7
|
if (value === undefined)
|
|
7
8
|
return '';
|
|
@@ -17,6 +18,10 @@ export function JsonValueDisplay({ value }) {
|
|
|
17
18
|
export function JsonField({ value, onChange, disabled = false, mobile = false, }) {
|
|
18
19
|
const [draft, setDraft] = useState(() => stringify(value));
|
|
19
20
|
const [error, setError] = useState('');
|
|
21
|
+
const reportPending = useContext(SubtableEditActivityContext);
|
|
22
|
+
const activityKey = useId();
|
|
23
|
+
useEffect(() => { reportPending?.(activityKey, Boolean(error)); }, [activityKey, error, reportPending]);
|
|
24
|
+
useEffect(() => () => { reportPending?.(activityKey, false); }, [activityKey, reportPending]);
|
|
20
25
|
useEffect(() => setDraft(stringify(value)), [value]);
|
|
21
26
|
const validate = (next) => {
|
|
22
27
|
setDraft(next);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/JsonField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/JsonField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DataFileRef } from 'openxiangda-contracts/browser';
|
|
2
|
+
import { type WorkflowFileBinding } from '../../platform-client';
|
|
3
|
+
type Props = {
|
|
4
|
+
file: DataFileRef;
|
|
5
|
+
resourceCode: string;
|
|
6
|
+
workflowBinding?: WorkflowFileBinding;
|
|
7
|
+
className?: string;
|
|
8
|
+
maxSizeMb?: number;
|
|
9
|
+
};
|
|
10
|
+
export declare function ManagedMediaPlayer(props: Props): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
/** Shared rendering for already authorized content in the standard preview. */
|
|
12
|
+
export declare function ManagedMediaElement({ src, kind, name, className }: {
|
|
13
|
+
src: string;
|
|
14
|
+
kind: 'video' | 'audio';
|
|
15
|
+
name: string;
|
|
16
|
+
className?: string;
|
|
17
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=ManagedMediaPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagedMediaPlayer.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ManagedMediaPlayer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,WAAW,EAAiB,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAA6F,KAAK,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAI3J,KAAK,KAAK,GAAC;IAAC,IAAI,EAAC,WAAW,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,mBAAmB,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAA;CAAC,CAAC;AAC3H,wBAAgB,kBAAkB,CAAC,KAAK,EAAC,KAAK,2CAI7C;AAmBD,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,EAAC;IAAC,GAAG,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,OAAO,GAAC,OAAO,CAAC;IAAA,IAAI,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAA;CAAC,2CAG5H"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createElement as _createElement } from "react";
|
|
3
|
+
import { Alert, Button, Spin } from 'antd';
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
|
+
import { fetchDataFileBlob, fetchWorkflowDataFileBlob, loadDataFilePreview, loadWorkflowDataFilePreview } from '../../platform-client';
|
|
6
|
+
import { useRuntime } from '../../runtime';
|
|
7
|
+
import { startManagedMediaRead } from './managed-media-read';
|
|
8
|
+
export function ManagedMediaPlayer(props) {
|
|
9
|
+
const { identityEpoch } = useRuntime();
|
|
10
|
+
const key = JSON.stringify([identityEpoch, props.resourceCode, props.file.id, props.workflowBinding, props.maxSizeMb]);
|
|
11
|
+
return _createElement(ActiveManagedMediaPlayer, { ...props, key: key });
|
|
12
|
+
}
|
|
13
|
+
function ActiveManagedMediaPlayer({ file, resourceCode, workflowBinding, className, maxSizeMb = 100 }) {
|
|
14
|
+
const [media, setMedia] = useState();
|
|
15
|
+
const [error, setError] = useState(''), [attempt, setAttempt] = useState(0);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
setMedia(undefined);
|
|
18
|
+
setError('');
|
|
19
|
+
if (!Number.isFinite(maxSizeMb) || maxSizeMb <= 0) {
|
|
20
|
+
setError('媒体容量配置无效');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const read = startManagedMediaRead({
|
|
24
|
+
preview: () => workflowBinding ? loadWorkflowDataFilePreview(workflowBinding, file.id) : loadDataFilePreview(resourceCode, file.id),
|
|
25
|
+
content: () => workflowBinding ? fetchWorkflowDataFileBlob(workflowBinding, file.id) : fetchDataFileBlob(resourceCode, file.id),
|
|
26
|
+
maxBytes: maxSizeMb * 1024 * 1024, createUrl: blob => URL.createObjectURL(blob), revokeUrl: url => URL.revokeObjectURL(url),
|
|
27
|
+
ready: setMedia, failed: reason => setError(reason instanceof Error ? reason.message : String(reason)),
|
|
28
|
+
});
|
|
29
|
+
return () => read.dispose();
|
|
30
|
+
}, [attempt, file.id, resourceCode, workflowBinding, maxSizeMb]);
|
|
31
|
+
if (error)
|
|
32
|
+
return _jsx(Alert, { role: "alert", type: "error", title: "\u5A92\u4F53\u8BFB\u53D6\u5931\u8D25", description: error, action: _jsx(Button, { size: "small", onClick: () => setAttempt(value => value + 1), children: "\u91CD\u65B0\u8BFB\u53D6" }) });
|
|
33
|
+
if (!media)
|
|
34
|
+
return _jsx(Spin, { description: "\u6B63\u5728\u786E\u8BA4\u6587\u4EF6\u6743\u9650\u5E76\u8BFB\u53D6\u5A92\u4F53" });
|
|
35
|
+
return _jsx(ManagedMediaElement, { src: media.src, kind: media.preview.previewType === 'video' ? 'video' : 'audio', name: media.preview.file.name, className: className });
|
|
36
|
+
}
|
|
37
|
+
/** Shared rendering for already authorized content in the standard preview. */
|
|
38
|
+
export function ManagedMediaElement({ src, kind, name, className }) {
|
|
39
|
+
return kind === 'video' ? _jsx("video", { "aria-label": name, className: className, controls: true, playsInline: true, preload: "metadata", src: src, style: { maxWidth: '100%' } }) :
|
|
40
|
+
_jsx("audio", { "aria-label": name, className: className, controls: true, preload: "metadata", src: src });
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ManagedMediaPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagedMediaPlayer.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ManagedMediaPlayer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileManagedFileField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileManagedFileField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileManagedFileField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileManagedFileField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAIjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAajE,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,EACrC,KAAU,EACV,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,YAAY,EACZ,eAAe,EACf,KAAa,GACd,EAAE;IACD,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAwJA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { PlusOutlined, UploadOutlined } from '@ant-design/icons';
|
|
3
|
-
import { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { useContext, useEffect, useId, useRef, useState } from 'react';
|
|
4
|
+
import { SubtableEditActivityContext } from './MobileSubtableValidation';
|
|
4
5
|
import { Button } from '../../mobile';
|
|
5
6
|
import { AttachmentFileList, formatManagedFileSize, } from './AttachmentFileList';
|
|
6
7
|
/** Upload tasks are transient; the form remains the owner of completed refs. */
|
|
@@ -11,6 +12,10 @@ export function MobileManagedFileField({ value = [], onChange, upload, disabled,
|
|
|
11
12
|
const current = useRef(value);
|
|
12
13
|
const [pending, setPending] = useState([]);
|
|
13
14
|
const [notice, setNotice] = useState('');
|
|
15
|
+
const reportPending = useContext(SubtableEditActivityContext);
|
|
16
|
+
const activityKey = useId();
|
|
17
|
+
useEffect(() => { reportPending?.(activityKey, pending.length > 0); }, [activityKey, pending.length, reportPending]);
|
|
18
|
+
useEffect(() => () => { reportPending?.(activityKey, false); }, [activityKey, reportPending]);
|
|
14
19
|
useEffect(() => {
|
|
15
20
|
current.current = value;
|
|
16
21
|
}, [value]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileManagedFileField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileManagedFileField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileManagedFileField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileManagedFileField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare function MobileSelectionField({ id, title, placeholder, labels, d
|
|
|
9
9
|
onClear?: () => void;
|
|
10
10
|
children: (close: () => void) => ReactNode;
|
|
11
11
|
}): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
export declare function MobileSelectionPanel({ title, selected, onRemove, onClear, onConfirm, onClose, children, hierarchy }: {
|
|
12
|
+
export declare function MobileSelectionPanel({ title, selected, onRemove, onClear, onConfirm, onClose, children, hierarchy, disabled, confirmDisabled }: {
|
|
13
13
|
title: string;
|
|
14
14
|
selected: Array<{
|
|
15
15
|
value: string;
|
|
@@ -21,6 +21,8 @@ export declare function MobileSelectionPanel({ title, selected, onRemove, onClea
|
|
|
21
21
|
onClose: () => void;
|
|
22
22
|
children: ReactNode;
|
|
23
23
|
hierarchy?: boolean;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
confirmDisabled?: boolean;
|
|
24
26
|
}): import("react/jsx-runtime").JSX.Element;
|
|
25
27
|
export declare function MobileSelectionPageStatus({ page, emptyText, moreText }: {
|
|
26
28
|
page: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileSelection.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACpG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;CAC5C,2CAmBA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAiB,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"MobileSelection.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSelection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IACpG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,SAAS,CAAC;CAC5C,2CAmBA;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAiB,EAAE,QAAgB,EAAE,eAAuB,EAAE,EAAE;IACvK,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,2CAcA;AAED,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAoB,EAAE,QAAiB,EAAE,EAAE;IAC3F,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAChI,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,kDAQA"}
|
|
@@ -17,8 +17,8 @@ export function MobileSelectionField({ id, title, placeholder, labels, disabled,
|
|
|
17
17
|
event.preventDefault();
|
|
18
18
|
}, children: children(close) }) })] });
|
|
19
19
|
}
|
|
20
|
-
export function MobileSelectionPanel({ title, selected, onRemove, onClear, onConfirm, onClose, children, hierarchy = false }) {
|
|
21
|
-
return _jsxs(_Fragment, { children: [hierarchy ? _jsx(MobileSheetHeader, { onCancel: onClose, onConfirm: onConfirm }) : _jsxs("header", { className: "oxa-mobile-sheet-header", children: [_jsx("strong", { children: title }), _jsx(Button, { fill: "none", onClick: onClose, children: "\u5173\u95ED" })] }), selected.length > 0 && !hierarchy && _jsxs("div", { className: "oxa-mobile-selection-summary", "aria-label": "\u5DF2\u9009\u9879\u76EE", children: [_jsxs("span", { children: ["\u5DF2\u9009 ", selected.length, " \u9879"] }), _jsx("div", { children: selected.map(item => _jsxs(Button, { size: "small", "aria-label": `移除${item.label}`, onClick: () => onRemove(item.value), children: [item.label, _jsx("span", { "aria-hidden": "true", children: " \u00D7" })] }, item.value)) })] }), _jsx("div", { className: "oxa-mobile-selection-content", children: children }), !hierarchy && _jsxs("footer", { className: "oxa-mobile-sheet-actions", children: [_jsx(Button, { onClick: onClear, disabled: !selected.length, children: "\u6E05\u7A7A" }), _jsxs(Button, { color: "primary", onClick: onConfirm, children: ["\u786E\u5B9A", selected.length ? `(${selected.length})` : ''] })] })] });
|
|
20
|
+
export function MobileSelectionPanel({ title, selected, onRemove, onClear, onConfirm, onClose, children, hierarchy = false, disabled = false, confirmDisabled = false }) {
|
|
21
|
+
return _jsxs(_Fragment, { children: [hierarchy ? _jsx(MobileSheetHeader, { onCancel: onClose, onConfirm: onConfirm }) : _jsxs("header", { className: "oxa-mobile-sheet-header", children: [_jsx("strong", { children: title }), _jsx(Button, { fill: "none", onClick: onClose, children: "\u5173\u95ED" })] }), selected.length > 0 && !hierarchy && _jsxs("div", { className: "oxa-mobile-selection-summary", "aria-label": "\u5DF2\u9009\u9879\u76EE", children: [_jsxs("span", { children: ["\u5DF2\u9009 ", selected.length, " \u9879"] }), _jsx("div", { children: selected.map(item => _jsxs(Button, { size: "small", "aria-label": `移除${item.label}`, disabled: disabled, onClick: () => onRemove(item.value), children: [item.label, _jsx("span", { "aria-hidden": "true", children: " \u00D7" })] }, item.value)) })] }), _jsx("div", { className: "oxa-mobile-selection-content", children: children }), !hierarchy && _jsxs("footer", { className: "oxa-mobile-sheet-actions", children: [_jsx(Button, { onClick: onClear, disabled: disabled || !selected.length, children: "\u6E05\u7A7A" }), _jsxs(Button, { color: "primary", disabled: disabled || confirmDisabled, onClick: onConfirm, children: ["\u786E\u5B9A", selected.length ? `(${selected.length})` : ''] })] })] });
|
|
22
22
|
}
|
|
23
23
|
export function MobileSelectionPageStatus({ page, emptyText = '暂无可选数据', moreText = '加载更多' }) {
|
|
24
24
|
if (!page.error && !page.loading && !page.nextCursor && (page.items.length > 0 || !emptyText))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileSelection.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSelection.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE7C,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAQjG;IACC,MAAM,IAAI,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,eAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAC,0CAA0C,aACzE,KAAC,kBAAkB,IAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAI,EACnK,KAAC,KAAK,IAAC,OAAO,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAC,QAAQ,EAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAQ,EACpF,aAAa,EAAC,4BAA4B,EAAC,WAAW,EAAE,KAAK,EAAE,cAAc,QAC7E,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAoB,kCAAkC,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,YACnI,IAAI,IAAI,CAAC,QAAQ,IAAI,kBAAS,IAAI,EAAC,QAAQ,gBAAa,KAAK,gBAAa,MAAM,EAC/E,SAAS,EAAE,KAAK,CAAC,EAAE;wBACjB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;4BAAC,KAAK,CAAC,eAAe,EAAE,CAAC;4BAAC,KAAK,EAAE,CAAC;wBAAC,CAAC;wBACjE,mEAAmE;wBACnE,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,YAAY,gBAAgB;4BAAE,KAAK,CAAC,cAAc,EAAE,CAAC;oBAChG,CAAC,YACA,QAAQ,CAAC,KAAK,CAAC,GACR,GACJ,IACJ,CAAC;AACT,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"MobileSelection.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSelection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export declare const SubtableEditActivityContext: import("react").Context<((key: string, pending: boolean) => void) | null>;
|
|
1
2
|
type ValidateRow = () => Promise<void>;
|
|
2
3
|
export declare const MobileSubtableValidationContext: import("react").Context<((key: string, validate: ValidateRow) => () => void) | null>;
|
|
3
|
-
/**
|
|
4
|
+
/** Field Kit registers complete-value validation as well as current-page inline feedback. */
|
|
4
5
|
export declare function useMobileSubtableValidation(): {
|
|
5
6
|
register: (key: string, validate: ValidateRow) => () => void;
|
|
6
7
|
validator: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileSubtableValidation.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSubtableValidation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MobileSubtableValidation.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSubtableValidation.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,2BAA2B,iCAAwB,MAAM,WAAW,OAAO,KAAK,IAAI,SAAe,CAAC;AAEjH,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AACvC,eAAO,MAAM,+BAA+B,iCACnC,MAAM,YAAY,WAAW,KAAK,MAAM,IAAI,SAC9C,CAAC;AAER,6FAA6F;AAC7F,wBAAgB,2BAA2B;oBAEN,MAAM,YAAY,WAAW;;EAUjE"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { createContext, useCallback, useRef } from 'react';
|
|
2
|
+
// Local lifecycle observation; each control owns its unfinished edits and pending Files.
|
|
3
|
+
export const SubtableEditActivityContext = createContext(null);
|
|
2
4
|
export const MobileSubtableValidationContext = createContext(null);
|
|
3
|
-
/**
|
|
5
|
+
/** Field Kit registers complete-value validation as well as current-page inline feedback. */
|
|
4
6
|
export function useMobileSubtableValidation() {
|
|
5
7
|
const rows = useRef(new Map());
|
|
6
8
|
const register = useCallback((key, validate) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileSubtableValidation.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSubtableValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileSubtableValidation.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileSubtableValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE3D,yFAAyF;AACzF,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAmD,IAAI,CAAC,CAAC;AAGjH,MAAM,CAAC,MAAM,+BAA+B,GAAG,aAAa,CAE1D,IAAI,CAAC,CAAC;AAER,6FAA6F;AAC7F,MAAM,UAAU,2BAA2B;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,EAAuB,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,QAAqB,EAAE,EAAE;QAClE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { DataFieldSurface, DataFieldSourceLaunchBinding, ResourceReferenceValue } from 'openxiangda-contracts/browser';
|
|
2
|
-
export declare function ResourceReferenceField({ id, field, fieldCode, resourceCode, operation, launch, disabled, mobile, value, onChange, }: {
|
|
1
|
+
import type { DataFieldSurface, DataFieldSourceLaunchBinding, DataRecordEditInput, ResourceReferenceValue } from 'openxiangda-contracts/browser';
|
|
2
|
+
export declare function ResourceReferenceField({ id, field, fieldCode, resourceCode, operation, launch, action, disabled, mobile, value, onChange, }: {
|
|
3
3
|
id?: string;
|
|
4
4
|
field: DataFieldSurface;
|
|
5
5
|
fieldCode: string;
|
|
6
6
|
resourceCode?: string;
|
|
7
7
|
operation: 'create' | 'update';
|
|
8
8
|
launch?: DataFieldSourceLaunchBinding;
|
|
9
|
+
action?: DataRecordEditInput;
|
|
9
10
|
disabled?: boolean;
|
|
10
11
|
mobile?: boolean;
|
|
11
12
|
value?: ResourceReferenceValue | ResourceReferenceValue[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceReferenceField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ResourceReferenceField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,wBAAgB,sBAAsB,CAAC,EACrC,EAAE,EACF,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,GACT,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;IAC1D,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,GAAG,SAAS,KACjE,IAAI,CAAC;CACX,
|
|
1
|
+
{"version":3,"file":"ResourceReferenceField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ResourceReferenceField.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAOvC,wBAAgB,sBAAsB,CAAC,EACrC,EAAE,EACF,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,GACT,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;IAC1D,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,GAAG,SAAS,KACjE,IAAI,CAAC;CACX,2CA6CA"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Form } from 'antd';
|
|
3
3
|
import { useRef } from 'react';
|
|
4
4
|
import { AuthoritativeSelector, MobileAuthoritativeSelector, } from '../../AuthoritativeSelector';
|
|
5
|
-
export function ResourceReferenceField({ id, field, fieldCode, resourceCode, operation, launch, disabled, mobile, value, onChange, }) {
|
|
5
|
+
export function ResourceReferenceField({ id, field, fieldCode, resourceCode, operation, launch, action, disabled, mobile, value, onChange, }) {
|
|
6
6
|
const form = Form.useFormInstance();
|
|
7
7
|
const formValues = Form.useWatch([], form);
|
|
8
8
|
const nextBindings = Object.fromEntries((field.source?.filters || []).flatMap(filter => 'binding' in filter
|
|
@@ -17,6 +17,6 @@ export function ResourceReferenceField({ id, field, fieldCode, resourceCode, ope
|
|
|
17
17
|
const Selector = mobile
|
|
18
18
|
? MobileAuthoritativeSelector
|
|
19
19
|
: AuthoritativeSelector;
|
|
20
|
-
return (_jsx(Selector, { id: id, bindings: bindings, disabled: disabled, fieldCode: fieldCode, multiple: field.type.endsWith('.multiple'), onChange: next => onChange?.(next), operation: operation, launch: launch, placeholder: `搜索并选择${field.label}`, resourceCode: resourceCode, source: "resource", value: value }));
|
|
20
|
+
return (_jsx(Selector, { id: id, bindings: bindings, disabled: disabled, fieldCode: fieldCode, multiple: field.type.endsWith('.multiple'), onChange: next => onChange?.(next), operation: operation, launch: launch, action: action, placeholder: `搜索并选择${field.label}`, resourceCode: resourceCode, source: "resource", value: value }));
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=ResourceReferenceField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceReferenceField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ResourceReferenceField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ResourceReferenceField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/ResourceReferenceField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAO5B,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,MAAM,UAAU,sBAAsB,CAAC,EACrC,EAAE,EACF,KAAK,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,GAeT;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAE5B,CAAC;IACd,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CACrC,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAC7C,SAAS,IAAI,MAAM;QACjB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,EAAE,CACP,CACF,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACzE,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QAC/C,cAAc,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM;QACrB,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,qBAAqB,CAAC;IAC1B,OAAO,CACL,KAAC,QAAQ,IACP,EAAE,EAAE,EAAE,EACN,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC1C,QAAQ,EAAE,IAAI,CAAC,EAAE,CACf,QAAQ,EAAE,CACR,IAGa,CACd,EAEH,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,QAAQ,KAAK,CAAC,KAAK,EAAE,EAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAC,UAAU,EACjB,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -5,12 +5,13 @@ export declare function RichTextValueDisplay({ value, resourceCode, workflowBind
|
|
|
5
5
|
resourceCode?: string;
|
|
6
6
|
workflowBinding?: WorkflowFileBinding;
|
|
7
7
|
}): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export declare function RichTextField({ value, onChange, disabled, mobile, onUpload, resourceCode, }: {
|
|
8
|
+
export declare function RichTextField({ value, onChange, disabled, mobile, onUpload, resourceCode, workflowBinding, }: {
|
|
9
9
|
value?: string;
|
|
10
10
|
onChange?: (value: string) => void;
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
mobile?: boolean;
|
|
13
|
-
onUpload?: (file: File) => Promise<DataFileRef>;
|
|
13
|
+
onUpload?: (file: File, onRecovered?: (file: DataFileRef) => void) => Promise<DataFileRef>;
|
|
14
14
|
resourceCode?: string;
|
|
15
|
+
workflowBinding?: WorkflowFileBinding;
|
|
15
16
|
}): import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
//# sourceMappingURL=RichTextField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/RichTextField.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RichTextField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/RichTextField.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAsI/B,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,YAAY,EACZ,eAAe,GAChB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC,2CAYA;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAU,EACV,QAAQ,EACR,QAAgB,EAChB,MAAc,EACd,QAAQ,EACR,YAAY,EACZ,eAAe,GAChB,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC,2CAsKA"}
|