1
0

fix(editor): revert task list dependence on ids

This partially reverts 3969f6ae663ef30896454eb228dc478cf9cf14a3. Adding ids to task list items is not as simple and actually made it worse in some cases. Hence we stick to comparing the content of nodes for now, until this is properly fixed in tiptap.

Related https://kolaente.dev/vikunja/vikunja/issues/2091#issuecomment-60063
This commit is contained in:
kolaente 2024-02-17 23:13:51 +01:00
parent a2951570a7
commit f120d72211
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B

View File

@ -389,20 +389,7 @@ const editor = useEditor({
CustomImage,
TaskList,
TaskItem.extend({
addAttributes() {
return {
...this.parent?.(),
id: {
default: () => createRandomID(),
parseHTML: element => element.getAttribute('data-id'),
renderHTML: attributes => ({
'data-id': attributes.id,
}),
},
}
},
}).configure({
TaskItem.configure({
nested: true,
onReadOnlyChecked: (node: Node, checked: boolean): boolean => {
if (!isEditEnabled) {
@ -414,7 +401,7 @@ const editor = useEditor({
// https://github.com/ueberdosis/tiptap/issues/3676
editor.value!.state.doc.descendants((subnode, pos) => {
if (node.attrs.id === subnode.attrs.id) {
if (node.eq(subnode)) {
const {tr} = editor.value!.state
tr.setNodeMarkup(pos, undefined, {
...node.attrs,
@ -422,10 +409,10 @@ const editor = useEditor({
})
editor.value!.view.dispatch(tr)
bubbleSave()
return true
}
})
return true
},
}),