Stop persisting JSON fields in workflow runs (#11715)
## Before https://github.com/user-attachments/assets/903c5771-ac15-49a6-9175-40c8b027655b ## After https://github.com/user-attachments/assets/26aedf77-31ac-439a-a39c-57a274010f3f
This commit is contained in:
committed by
GitHub
parent
6a75420285
commit
48e2581581
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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')
|
||||
);
|
||||
};
|
||||
@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user