Baptiste Devessier
2025-04-24 17:02:26 +02:00
committed by GitHub
parent 6a75420285
commit 48e2581581
4 changed files with 34 additions and 11 deletions

View File

@ -25,6 +25,7 @@ import { isFieldSelect } from '@/object-record/record-field/types/guards/isField
import { isFieldSelectValue } from '@/object-record/record-field/types/guards/isFieldSelectValue';
import { recordStoreFamilySelector } from '@/object-record/record-store/states/selectors/recordStoreFamilySelector';
import { isWorkflowRunJsonField } from '@/object-record/record-field/meta-types/utils/isWorkflowRunJsonField';
import { isFieldArray } from '@/object-record/record-field/types/guards/isFieldArray';
import { isFieldArrayValue } from '@/object-record/record-field/types/guards/isFieldArrayValue';
import { isFieldRichText } from '@/object-record/record-field/types/guards/isFieldRichText';
@ -126,6 +127,12 @@ export const usePersistField = () => {
const fieldIsArray =
isFieldArray(fieldDefinition) && isFieldArrayValue(valueToPersist);
const isUnpersistableRawJsonField = isWorkflowRunJsonField({
objectMetadataNameSingular:
fieldDefinition.metadata.objectMetadataNameSingular,
fieldName: fieldDefinition.metadata.fieldName,
});
const isValuePersistable =
fieldIsRelationToOneObject ||
fieldIsText ||
@ -142,7 +149,7 @@ export const usePersistField = () => {
fieldIsSelect ||
fieldIsMultiSelect ||
fieldIsAddress ||
fieldIsRawJson ||
(fieldIsRawJson && !isUnpersistableRawJsonField) ||
fieldIsArray ||
fieldIsRichText ||
fieldIsRichTextV2;

View File

@ -1,6 +1,6 @@
import styled from '@emotion/styled';
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { isWorkflowRunJsonField } from '@/object-record/record-field/meta-types/utils/isWorkflowRunJsonField';
import {
FieldInputClickOutsideEvent,
FieldInputEvent,
@ -131,13 +131,11 @@ export const RawJsonFieldInput = ({
[handleShiftTab, draftValue],
);
// FIXME: This is temporary. We'll soon introduce a new display mode for all fields and we'll have to remove this code.
const isWorkflowRunOutputField =
fieldDefinition.metadata.objectMetadataNameSingular ===
CoreObjectNameSingular.WorkflowRun &&
fieldDefinition.metadata.fieldName === 'output';
const showEditingButton = !isWorkflowRunOutputField;
const showEditingButton = !isWorkflowRunJsonField({
objectMetadataNameSingular:
fieldDefinition.metadata.objectMetadataNameSingular,
fieldName: fieldDefinition.metadata.fieldName,
});
const handleStartEditing = () => {
setIsEditing(true);

View File

@ -0,0 +1,15 @@
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
// FIXME: This is temporary. We'll soon introduce a new display mode for all fields and we'll have to remove this code.
export const isWorkflowRunJsonField = ({
objectMetadataNameSingular,
fieldName,
}: {
fieldName: string | undefined;
objectMetadataNameSingular: string | undefined;
}) => {
return (
objectMetadataNameSingular === CoreObjectNameSingular.WorkflowRun &&
(fieldName === 'output' || fieldName === 'context')
);
};

View File

@ -1,5 +1,6 @@
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
import { isWorkflowSubObjectMetadata } from '@/object-metadata/utils/isWorkflowSubObjectMetadata';
import { isWorkflowRunJsonField } from '@/object-record/record-field/meta-types/utils/isWorkflowRunJsonField';
import { isFieldActor } from '@/object-record/record-field/types/guards/isFieldActor';
import { isFieldRichText } from '@/object-record/record-field/types/guards/isFieldRichText';
@ -26,8 +27,10 @@ export const isFieldValueReadOnly = ({
}
if (
objectNameSingular === CoreObjectNameSingular.WorkflowRun &&
fieldName === 'output'
isWorkflowRunJsonField({
objectMetadataNameSingular: objectNameSingular,
fieldName,
})
) {
return false;
}