Timeline log displays empty when field value deleted (#6542)
Fixes https://github.com/twentyhq/twenty/issues/6288 ## Before <img width="1282" alt="Screenshot 2024-08-05 at 13 22 13" src="https://github.com/user-attachments/assets/27bf3343-7d6a-440f-905b-e55fdde918d7"> ## After <img width="1251" alt="Screenshot 2024-08-05 at 13 22 05" src="https://github.com/user-attachments/assets/25404bff-9d90-4631-af09-fe18b6df43f5">
This commit is contained in:
@ -23,6 +23,10 @@ const StyledEventFieldDiffContainer = styled.div`
|
|||||||
width: 380px;
|
width: 380px;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
const StyledEmptyValue = styled.div`
|
||||||
|
color: ${({ theme }) => theme.font.color.tertiary};
|
||||||
|
`;
|
||||||
|
|
||||||
export const EventFieldDiff = ({
|
export const EventFieldDiff = ({
|
||||||
diffRecord,
|
diffRecord,
|
||||||
mainObjectMetadataItem,
|
mainObjectMetadataItem,
|
||||||
@ -33,21 +37,39 @@ export const EventFieldDiff = ({
|
|||||||
throw new Error('fieldMetadataItem is required');
|
throw new Error('fieldMetadataItem is required');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const isValueEmpty = (value: unknown): boolean =>
|
||||||
|
value === null || value === undefined || value === '';
|
||||||
|
|
||||||
|
const isObjectEmpty = (obj: Record<string, unknown>): boolean =>
|
||||||
|
Object.values(obj).every(isValueEmpty);
|
||||||
|
|
||||||
|
const isUpdatedToEmpty =
|
||||||
|
isValueEmpty(diffRecord) ||
|
||||||
|
(typeof diffRecord === 'object' &&
|
||||||
|
diffRecord !== null &&
|
||||||
|
isObjectEmpty(diffRecord));
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<RecordFieldValueSelectorContextProvider>
|
<RecordFieldValueSelectorContextProvider>
|
||||||
<StyledEventFieldDiffContainer>
|
<StyledEventFieldDiffContainer>
|
||||||
<EventFieldDiffLabel fieldMetadataItem={fieldMetadataItem} />→
|
<EventFieldDiffLabel fieldMetadataItem={fieldMetadataItem} />→
|
||||||
<EventFieldDiffValueEffect
|
{isUpdatedToEmpty ? (
|
||||||
diffArtificialRecordStoreId={diffArtificialRecordStoreId}
|
<StyledEmptyValue>Empty</StyledEmptyValue>
|
||||||
mainObjectMetadataItem={mainObjectMetadataItem}
|
) : (
|
||||||
fieldMetadataItem={fieldMetadataItem}
|
<>
|
||||||
diffRecord={diffRecord}
|
<EventFieldDiffValueEffect
|
||||||
/>
|
diffArtificialRecordStoreId={diffArtificialRecordStoreId}
|
||||||
<EventFieldDiffValue
|
mainObjectMetadataItem={mainObjectMetadataItem}
|
||||||
diffArtificialRecordStoreId={diffArtificialRecordStoreId}
|
fieldMetadataItem={fieldMetadataItem}
|
||||||
mainObjectMetadataItem={mainObjectMetadataItem}
|
diffRecord={diffRecord}
|
||||||
fieldMetadataItem={fieldMetadataItem}
|
/>
|
||||||
/>
|
<EventFieldDiffValue
|
||||||
|
diffArtificialRecordStoreId={diffArtificialRecordStoreId}
|
||||||
|
mainObjectMetadataItem={mainObjectMetadataItem}
|
||||||
|
fieldMetadataItem={fieldMetadataItem}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</StyledEventFieldDiffContainer>
|
</StyledEventFieldDiffContainer>
|
||||||
</RecordFieldValueSelectorContextProvider>
|
</RecordFieldValueSelectorContextProvider>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user