From 42f57a3cf604f946a69f7751e8ab79b3955a2957 Mon Sep 17 00:00:00 2001 From: Andres Galindo Date: Mon, 29 Apr 2024 14:56:34 -0700 Subject: [PATCH] Fix selected item not found issues on internal link (#2695) --- .../src/app/components/Editor/Editor.js | 5 +++- .../src/app/components/Editor/Field/Field.tsx | 25 +++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/apps/content-editor/src/app/components/Editor/Editor.js b/src/apps/content-editor/src/app/components/Editor/Editor.js index d8d1861e39..0877fd7e53 100644 --- a/src/apps/content-editor/src/app/components/Editor/Editor.js +++ b/src/apps/content-editor/src/app/components/Editor/Editor.js @@ -196,7 +196,10 @@ export default memo(function Editor({ }); } - if (field?.settings?.defaultValue !== null) { + if ( + field?.settings?.defaultValue !== null && + field?.settings?.defaultValue !== undefined + ) { dispatch({ type: "SET_ITEM_DATA", itemZUID: itemZUID, diff --git a/src/apps/content-editor/src/app/components/Editor/Field/Field.tsx b/src/apps/content-editor/src/app/components/Editor/Field/Field.tsx index 364afdca00..6d9bd2a04d 100644 --- a/src/apps/content-editor/src/app/components/Editor/Field/Field.tsx +++ b/src/apps/content-editor/src/app/components/Editor/Field/Field.tsx @@ -619,7 +619,7 @@ export const Field = ({ case "internal_link": let internalLinkRelatedItem = allItems[value]; let internalLinkOptions = useMemo(() => { - return Object.keys(allItems) + const options = Object.keys(allItems) .filter( (itemZUID) => !itemZUID.includes("new") && // exclude new items @@ -656,19 +656,18 @@ export const Field = ({ }; }) .sort(sortHTML); - }, [internalLinkRelatedItem, Object.keys(allItems).length]); - if ( - !internalLinkRelatedItem || - !internalLinkRelatedItem.meta || - !internalLinkRelatedItem.meta.ZUID - ) { - // insert placeholder - internalLinkOptions.unshift({ - value: value as string, - html: `Selected item not found: ${value}`, - }); - } + // if the selected item is not found, insert a placeholder + if (internalLinkRelatedItem && !internalLinkRelatedItem?.meta?.ZUID) { + // insert placeholder + options.unshift({ + value: value as string, + html: `Selected item not found: ${value}`, + }); + } + + return options; + }, [internalLinkRelatedItem, Object.keys(allItems).length]); const onInternalLinkSearch = useCallback( (term) => dispatch(searchItems(term)),