fix(editor): don't bubble up changes when no changes were made
continuous-integration/drone/push Build is passing Details

Related https://community.vikunja.io/t/saving-an-empty-description-in-kanban-view-break-ui/1914/3
This commit is contained in:
kolaente 2024-01-21 13:44:19 +01:00
parent da311fce9e
commit 5a25685d53
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 15 additions and 1 deletions

View File

@ -110,6 +110,7 @@
variant="secondary"
:shadow="false"
v-cy="'saveEditor'"
:disabled="!contentHasChanged"
>
{{ $t('misc.save') }}
</x-button>
@ -288,6 +289,16 @@ const emit = defineEmits(['update:modelValue', 'save'])
const internalMode = ref<Mode>('edit')
const isEditing = computed(() => internalMode.value === 'edit' && isEditEnabled)
const contentHasChanged = ref<boolean>(false)
watch(
() => internalMode.value,
mode => {
if (mode === 'preview') {
contentHasChanged.value = false
}
},
)
const editor = useEditor({
content: modelValue,
@ -308,7 +319,9 @@ const editor = useEditor({
addKeyboardShortcuts() {
return {
'Mod-Enter': () => {
bubbleSave()
if(contentHasChanged.value) {
bubbleSave()
}
},
}
},
@ -420,6 +433,7 @@ function bubbleNow() {
return
}
contentHasChanged.value = true
emit('update:modelValue', editor.value?.getHTML())
}