diff --git a/app/src/interfaces/translations/translations.vue b/app/src/interfaces/translations/translations.vue index 17bd58f2d5..31b4ad41e9 100644 --- a/app/src/interfaces/translations/translations.vue +++ b/app/src/interfaces/translations/translations.vue @@ -293,13 +293,16 @@ export default defineComponent({ watch( () => props.value, (newVal, oldVal) => { - if (newVal && !oldVal && !isEqual(newVal, oldVal) && isUndo.value === false) { - loadItems(); - } - if (newVal === null || newVal.length === 0) { items.value = []; } + + if (!newVal && oldVal) return; // when user clears whole translations value + if (newVal && newVal.some((item) => typeof item === 'object') && oldVal) return; // when there's any new edits since edits are objects + if (isEqual(newVal, oldVal)) return; // when user unfocus/blur inputs so they will be equal + if (isUndo.value) return; // when user undo to the original value + + loadItems(); }, { immediate: true } );