openxiangda 2.48.2 → 2.59.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/README.md +1 -0
- package/dist/browser/AuthoritativeSelector.d.ts +4 -2
- package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
- package/dist/browser/AuthoritativeSelector.js +42 -12
- 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/DateTimeField.d.ts +1 -1
- package/dist/browser/components/platform-fields/DateTimeField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/DateTimeField.js +15 -8
- package/dist/browser/components/platform-fields/DateTimeField.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/MobileDateTimeField.d.ts +1 -1
- package/dist/browser/components/platform-fields/MobileDateTimeField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/MobileDateTimeField.js +5 -3
- package/dist/browser/components/platform-fields/MobileDateTimeField.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/MobileZonedDateTimeField.js +2 -2
- package/dist/browser/components/platform-fields/MobileZonedDateTimeField.js.map +1 -1
- package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts +4 -2
- package/dist/browser/components/platform-fields/ResourceReferenceField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/ResourceReferenceField.js +3 -3
- package/dist/browser/components/platform-fields/ResourceReferenceField.js.map +1 -1
- package/dist/browser/components/platform-fields/SubtableField.d.ts +11 -2
- package/dist/browser/components/platform-fields/SubtableField.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/SubtableField.js +55 -24
- package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
- package/dist/browser/components/platform-fields/ZonedDateTimeField.js +2 -2
- package/dist/browser/components/platform-fields/ZonedDateTimeField.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/reference-binding-change.d.ts +6 -0
- package/dist/browser/components/platform-fields/reference-binding-change.d.ts.map +1 -0
- package/dist/browser/components/platform-fields/reference-binding-change.js +32 -0
- package/dist/browser/components/platform-fields/reference-binding-change.js.map +1 -0
- package/dist/browser/components/platform-fields/user-candidate-context.d.ts +54 -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 +70 -0
- package/dist/browser/components/platform-fields/user-candidate-context.js.map +1 -0
- package/dist/browser/components/platform-fields/zoned-date-time.d.ts +4 -0
- package/dist/browser/components/platform-fields/zoned-date-time.d.ts.map +1 -1
- package/dist/browser/components/platform-fields/zoned-date-time.js +9 -1
- package/dist/browser/components/platform-fields/zoned-date-time.js.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceCrud.js +28 -4
- package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
- package/dist/browser/components/resource/GeneratedResourceForm.js +3 -3
- 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 +3 -2
- package/dist/browser/components/resource/ResourceFormFrame.d.ts.map +1 -1
- package/dist/browser/components/resource/ResourceFormFrame.js +13 -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 +12 -3
- package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
- package/dist/browser/components/resource/SurfaceFields.js +24 -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 +2 -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 +28 -5
- package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
- package/dist/browser/components/workflow/StandardWorkflowPages.js +143 -51
- package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowDelegationManager.js +13 -8
- package/dist/browser/components/workflow/WorkflowDelegationManager.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowDiagram.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowDiagram.js +5 -2
- 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 +2 -1
- package/dist/browser/components/workflow/WorkflowFlowCanvas.js.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeCard.d.ts +1 -1
- package/dist/browser/components/workflow/WorkflowNodeCard.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowNodeCard.js +7 -5
- 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 +14 -11
- 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 +4 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.d.ts.map +1 -1
- package/dist/browser/components/workflow/WorkflowTaskForm.js +34 -10
- package/dist/browser/components/workflow/WorkflowTaskForm.js.map +1 -1
- package/dist/browser/components/workflow/standard-process-values.d.ts +10 -2
- package/dist/browser/components/workflow/standard-process-values.d.ts.map +1 -1
- package/dist/browser/components/workflow/standard-process-values.js +22 -1
- package/dist/browser/components/workflow/standard-process-values.js.map +1 -1
- package/dist/browser/components/workflow/workflow-flow-layout.d.ts.map +1 -1
- package/dist/browser/components/workflow/workflow-flow-layout.js +33 -3
- package/dist/browser/components/workflow/workflow-flow-layout.js.map +1 -1
- package/dist/browser/components/workflow/workflow-submission-form.d.ts +22 -0
- package/dist/browser/components/workflow/workflow-submission-form.d.ts.map +1 -0
- package/dist/browser/components/workflow/workflow-submission-form.js +64 -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 +7 -2
- package/dist/browser/durable-command.js.map +1 -1
- package/dist/browser/managed-read-recovery.d.ts +2 -0
- package/dist/browser/managed-read-recovery.d.ts.map +1 -1
- package/dist/browser/managed-read-recovery.js +6 -1
- package/dist/browser/managed-read-recovery.js.map +1 -1
- package/dist/browser/platform-client.d.ts +37 -1
- package/dist/browser/platform-client.d.ts.map +1 -1
- package/dist/browser/platform-client.js +199 -6
- 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/runtime-authorization-recovery.d.ts.map +1 -1
- package/dist/browser/runtime-authorization-recovery.js +34 -9
- package/dist/browser/runtime-authorization-recovery.js.map +1 -1
- package/dist/browser/runtime.d.ts +3 -1
- package/dist/browser/runtime.d.ts.map +1 -1
- package/dist/browser/runtime.js.map +1 -1
- 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/config.d.ts +2 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -1
- package/dist/config.js.map +1 -1
- package/dist/core.d.ts +6 -2
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +3 -1
- package/dist/core.js.map +1 -1
- package/dist/expressions.d.ts +4 -0
- package/dist/expressions.d.ts.map +1 -0
- package/dist/expressions.js +3 -0
- package/dist/expressions.js.map +1 -0
- 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 +40 -1
- package/documentation/backend.md +189 -3
- package/documentation/data-authz.md +72 -2
- package/documentation/declarations-cheatsheet.md +11 -1
- package/documentation/development.md +7 -0
- package/documentation/field-components.md +80 -0
- package/documentation/frontend.md +8 -0
- package/documentation/getting-started.md +60 -7
- package/documentation/managed-concurrency-frontend.md +10 -4
- package/documentation/manifest.json +12 -12
- package/documentation/testing.md +17 -0
- package/documentation/workflow-events.md +403 -9
- package/package.json +32 -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/releases/2.55.5.json +30 -0
- package/releases/2.55.6.json +32 -0
- package/releases/2.57.1.json +31 -0
- package/releases/2.58.0.json +37 -0
- package/releases/2.58.1.json +31 -0
- package/releases/2.59.0.json +36 -0
- package/releases/2.59.1.json +37 -0
- package/skills/manifest.json +1 -1
- package/skills/openxiangda-v2/SKILL.md +4 -4
- package/skills/openxiangda-v2/references/administration.md +40 -1
- package/skills/openxiangda-v2/references/backend.md +189 -3
- package/skills/openxiangda-v2/references/data-authz.md +72 -2
- package/skills/openxiangda-v2/references/declarations-cheatsheet.md +11 -1
- package/skills/openxiangda-v2/references/development.md +7 -0
- package/skills/openxiangda-v2/references/field-components.md +80 -0
- package/skills/openxiangda-v2/references/frontend.md +8 -0
- package/skills/openxiangda-v2/references/getting-started.md +60 -7
- package/skills/openxiangda-v2/references/managed-concurrency-frontend.md +10 -4
- package/skills/openxiangda-v2/references/testing.md +17 -0
- package/skills/openxiangda-v2/references/workflow-events.md +403 -9
- package/releases/2.48.1.json +0 -30
- package/releases/2.48.2.json +0 -29
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function scopeAppliesToRole(applicability, roleCode) {
|
|
2
|
+
return Boolean(applicability.candidateFields?.some((field) => field.roleCode === roleCode) ||
|
|
3
|
+
applicability.workflowBindings?.some((binding) => binding.roleCode === roleCode) ||
|
|
4
|
+
applicability.rules.some((rule) => !rule.unrestrictedRoleCodes.includes(roleCode) &&
|
|
5
|
+
(rule.allRoles || rule.roleCodes.includes(roleCode))));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=scope-applicability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-applicability.js","sourceRoot":"","sources":["../../../../src/browser/components/administration/scope-applicability.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAChC,aAAgD,EAChD,QAAgB;IAEhB,OAAO,OAAO,CACZ,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC3E,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAChF,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAChC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC9C,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACrD,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -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,5 +1,5 @@
|
|
|
1
1
|
import type { DataFieldSurface } from 'openxiangda-contracts/browser';
|
|
2
|
-
import type
|
|
2
|
+
import { type DateTimeConstraints } from './zoned-date-time';
|
|
3
3
|
export declare function DateTimeField(props: DateTimeConstraints & {
|
|
4
4
|
field: DataFieldSurface;
|
|
5
5
|
disabled?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/DateTimeField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAItE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DateTimeField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/DateTimeField.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAItE,OAAO,EAA4B,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAYvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG;IACzD,KAAK,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD,2CAOA;AA2FD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,2CAqBA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAC1D,KAAK,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7E,2CAOA"}
|
|
@@ -3,6 +3,10 @@ import { DatePicker, TimePicker, Typography, } from 'antd';
|
|
|
3
3
|
import { fieldValueForData, fieldValueForForm } from './field-form-codec';
|
|
4
4
|
import { PresentationTime, usePresentationTimeZone } from '../../presentation-time';
|
|
5
5
|
import { ZonedDateTimeField } from './ZonedDateTimeField';
|
|
6
|
+
import { fieldDateTimeConstraints } from './zoned-date-time';
|
|
7
|
+
const minuteDisplayOptions = {
|
|
8
|
+
year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit',
|
|
9
|
+
};
|
|
6
10
|
function rangeEndPlaceholder(field) {
|
|
7
11
|
if (field.rangeBoundary === 'closed')
|
|
8
12
|
return `结束${field.label}(含)`;
|
|
@@ -12,10 +16,11 @@ function rangeEndPlaceholder(field) {
|
|
|
12
16
|
}
|
|
13
17
|
export function DateTimeField(props) {
|
|
14
18
|
const inherited = usePresentationTimeZone(props.timeZone);
|
|
19
|
+
const effective = { ...props, ...fieldDateTimeConstraints(props.field, props) };
|
|
15
20
|
const zoned = props.field.type === 'datetime' || props.field.type === 'datetime-range';
|
|
16
|
-
if (zoned && (inherited || props.min !== undefined || props.max !== undefined ||
|
|
17
|
-
return _jsx(ZonedDateTimeField, { ...
|
|
18
|
-
return _jsx(LocalDateTimeField, { ...
|
|
21
|
+
if (zoned && (inherited || props.min !== undefined || props.max !== undefined || effective.minuteStep !== undefined))
|
|
22
|
+
return _jsx(ZonedDateTimeField, { ...effective, timeZone: inherited ?? Intl.DateTimeFormat().resolvedOptions().timeZone });
|
|
23
|
+
return _jsx(LocalDateTimeField, { ...effective });
|
|
19
24
|
}
|
|
20
25
|
function LocalDateTimeField({ field, disabled, mobile = false, value, onChange, }) {
|
|
21
26
|
const className = mobile ? 'oxa-mobile-date-time-field' : undefined;
|
|
@@ -38,6 +43,7 @@ function LocalDateTimeField({ field, disabled, mobile = false, value, onChange,
|
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
45
|
export function DateTimeValueDisplay({ field, value, timeZone, }) {
|
|
46
|
+
const options = field.timePrecision === 'minute' ? minuteDisplayOptions : undefined;
|
|
41
47
|
if (field.type === 'date-range' || field.type === 'datetime-range') {
|
|
42
48
|
const range = value;
|
|
43
49
|
const suffix = field.rangeBoundary === 'closed'
|
|
@@ -46,7 +52,7 @@ export function DateTimeValueDisplay({ field, value, timeZone, }) {
|
|
|
46
52
|
? '(不含结束)'
|
|
47
53
|
: '';
|
|
48
54
|
return _jsx(_Fragment, { children: range?.start && range?.end ? field.type === 'datetime-range'
|
|
49
|
-
? _jsxs(_Fragment, { children: [_jsx(PresentationTime, { value: range.start, timeZone: timeZone }), " \u81F3 ", _jsx(PresentationTime, { value: range.end, timeZone: timeZone }), suffix] })
|
|
55
|
+
? _jsxs(_Fragment, { children: [_jsx(PresentationTime, { value: range.start, timeZone: timeZone, options: options }), " \u81F3 ", _jsx(PresentationTime, { value: range.end, timeZone: timeZone, options: options }), suffix] })
|
|
50
56
|
: `${range.start} 至 ${range.end}${suffix}` : '-' });
|
|
51
57
|
}
|
|
52
58
|
if (field.type === 'time') {
|
|
@@ -54,16 +60,17 @@ export function DateTimeValueDisplay({ field, value, timeZone, }) {
|
|
|
54
60
|
return _jsx(_Fragment, { children: field.timePrecision === 'minute' ? time.slice(0, 5) : time });
|
|
55
61
|
}
|
|
56
62
|
if (field.type === 'datetime') {
|
|
57
|
-
return _jsx(PresentationTime, { value: value, timeZone: timeZone });
|
|
63
|
+
return _jsx(PresentationTime, { value: value, timeZone: timeZone, options: options });
|
|
58
64
|
}
|
|
59
65
|
return _jsx(Typography.Text, { children: String(value) });
|
|
60
66
|
}
|
|
61
67
|
export function DateTimeFilter(props) {
|
|
62
68
|
const inherited = usePresentationTimeZone(props.timeZone);
|
|
69
|
+
const effective = { ...props, ...fieldDateTimeConstraints(props.field, props) };
|
|
63
70
|
const zoned = props.field.type === 'datetime' || props.field.type === 'datetime-range';
|
|
64
|
-
if (zoned && (inherited || props.min !== undefined || props.max !== undefined ||
|
|
65
|
-
return _jsx(ZonedDateTimeField, { ...
|
|
66
|
-
return _jsx(LocalDateTimeFilter, { ...
|
|
71
|
+
if (zoned && (inherited || props.min !== undefined || props.max !== undefined || effective.minuteStep !== undefined))
|
|
72
|
+
return _jsx(ZonedDateTimeField, { ...effective, filter: true, timeZone: inherited ?? Intl.DateTimeFormat().resolvedOptions().timeZone });
|
|
73
|
+
return _jsx(LocalDateTimeFilter, { ...effective });
|
|
67
74
|
}
|
|
68
75
|
function LocalDateTimeFilter({ field, value, onChange, }) {
|
|
69
76
|
const formValue = fieldValueForForm(field, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/DateTimeField.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimeField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/DateTimeField.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,5 +1,5 @@
|
|
|
1
1
|
import type { FieldProps } from './MobileFieldControls';
|
|
2
|
-
import type
|
|
2
|
+
import { type DateTimeConstraints } from './zoned-date-time';
|
|
3
3
|
/** Calendar/time switching and staged range steps adapted from 1.x Date fields. */
|
|
4
4
|
export declare function MobileDateTimeField(props: FieldProps & DateTimeConstraints): import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=MobileDateTimeField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileDateTimeField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileDateTimeField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"MobileDateTimeField.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileDateTimeField.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAA4B,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAYvF,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,2CAO1E"}
|
|
@@ -3,6 +3,7 @@ import dayjs from 'dayjs';
|
|
|
3
3
|
import { useRef, useState } from 'react';
|
|
4
4
|
import { Button, Calendar, ConfigProvider, Popup, zhCN } from '../../mobile';
|
|
5
5
|
import { usePresentationTimeZone } from '../../presentation-time';
|
|
6
|
+
import { fieldDateTimeConstraints } from './zoned-date-time';
|
|
6
7
|
import { MobileZonedDateTimeField } from './MobileZonedDateTimeField';
|
|
7
8
|
import { MobileFieldTrigger, MobileSheetHeader } from './MobileFieldLayout';
|
|
8
9
|
import { MobileDateTimePickerView, MobileTimePickerView, } from './MobileDateWheels';
|
|
@@ -10,10 +11,11 @@ import { fieldValueForData, rangeValueValidationMessage, } from './field-form-co
|
|
|
10
11
|
/** Calendar/time switching and staged range steps adapted from 1.x Date fields. */
|
|
11
12
|
export function MobileDateTimeField(props) {
|
|
12
13
|
const inherited = usePresentationTimeZone(props.timeZone);
|
|
14
|
+
const effective = { ...props, ...fieldDateTimeConstraints(props.field, props) };
|
|
13
15
|
const zoned = props.field.type === 'datetime' || props.field.type === 'datetime-range';
|
|
14
|
-
if (zoned && (inherited || props.min !== undefined || props.max !== undefined ||
|
|
15
|
-
return _jsx(MobileZonedDateTimeField, { ...
|
|
16
|
-
return _jsx(LocalMobileDateTimeField, { ...
|
|
16
|
+
if (zoned && (inherited || props.min !== undefined || props.max !== undefined || effective.minuteStep !== undefined))
|
|
17
|
+
return _jsx(MobileZonedDateTimeField, { ...effective, timeZone: inherited ?? Intl.DateTimeFormat().resolvedOptions().timeZone });
|
|
18
|
+
return _jsx(LocalMobileDateTimeField, { ...effective });
|
|
17
19
|
}
|
|
18
20
|
function LocalMobileDateTimeField({ field, value, disabled, id, onChange, }) {
|
|
19
21
|
const root = useRef(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileDateTimeField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileDateTimeField.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileDateTimeField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/MobileDateTimeField.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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"}
|
|
@@ -4,12 +4,12 @@ import { useRef, useState } from 'react';
|
|
|
4
4
|
import { ConfigProvider, PickerView, Popup, zhCN } from '../../mobile';
|
|
5
5
|
import { MobileFieldTrigger, MobileSheetHeader } from './MobileFieldLayout';
|
|
6
6
|
import { rangeValueValidationMessage } from './field-form-codec';
|
|
7
|
-
import { dateOptions, instantToWall, nowWall, validateDateTimeConstraints, zonedInputResult } from './zoned-date-time';
|
|
7
|
+
import { dateOptions, fieldDateTimeConstraints, instantToWall, nowWall, validateDateTimeConstraints, zonedInputResult } from './zoned-date-time';
|
|
8
8
|
const pad = (n) => String(n).padStart(2, '0');
|
|
9
9
|
const hours = Array.from({ length: 24 }, (_, n) => ({ label: `${n}时`, value: pad(n) }));
|
|
10
10
|
const seconds = Array.from({ length: 60 }, (_, n) => ({ label: `${n}秒`, value: pad(n) }));
|
|
11
11
|
export function MobileZonedDateTimeField({ field, value, disabled, id, onChange, timeZone, min, max, minuteStep }) {
|
|
12
|
-
const constraints = validateDateTimeConstraints({ timeZone, min, max, minuteStep });
|
|
12
|
+
const constraints = validateDateTimeConstraints(fieldDateTimeConstraints(field, { timeZone, min, max, minuteStep }));
|
|
13
13
|
const root = useRef(null);
|
|
14
14
|
const [open, setOpen] = useState(false);
|
|
15
15
|
const [step, setStep] = useState('start');
|