From c91e3c25542ec8d622d612bdadf0ac9b1e1eabb2 Mon Sep 17 00:00:00 2001 From: Alexander Onnikov <aonnikov@hardcoreeng.com> Date: Fri, 22 Nov 2024 20:58:34 +0700 Subject: [PATCH] EZQMS-1232 Fix todo items selection (#7225) Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com> --- .../src/components/node-view/svelte-node-view-renderer.ts | 7 ++++++- plugins/time-resources/src/utils.ts | 5 ++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/plugins/text-editor-resources/src/components/node-view/svelte-node-view-renderer.ts b/plugins/text-editor-resources/src/components/node-view/svelte-node-view-renderer.ts index 78e0794945..0d96457a9d 100644 --- a/plugins/text-editor-resources/src/components/node-view/svelte-node-view-renderer.ts +++ b/plugins/text-editor-resources/src/components/node-view/svelte-node-view-renderer.ts @@ -150,8 +150,13 @@ class SvelteNodeView extends NodeView<SvelteNodeViewComponent, Editor, SvelteNod handleSelectionUpdate (): void { const { from, to } = this.editor.state.selection + const pos = this.getPos() - if (from <= this.getPos() && to >= this.getPos() + this.node.nodeSize) { + if (typeof pos !== 'number') { + return + } + + if (from <= pos && to >= pos + this.node.nodeSize) { if (this.renderer.props.selected === true) { return } diff --git a/plugins/time-resources/src/utils.ts b/plugins/time-resources/src/utils.ts index 568f4bfc66..d756e5bfe5 100644 --- a/plugins/time-resources/src/utils.ts +++ b/plugins/time-resources/src/utils.ts @@ -72,8 +72,7 @@ export function createTodoItemExtension (mode: TextEditorMode, ctx: any): AnyExt return SvelteNodeViewRenderer(ToDoItemNodeView, { contentAs: 'li', contentClass: 'todo-item', - componentProps: { objectId, objectClass, objectSpace }, - ignoreMutation: () => true + componentProps: { objectId, objectClass, objectSpace } }) } }).configure({ @@ -90,7 +89,7 @@ export function createTodoListExtension (mode: TextEditorMode, ctx: any): AnyExt return TodoListExtension.extend({ addNodeView () { - return SvelteNodeViewRenderer(ToDoListNodeView, { ignoreMutation: () => true }) + return SvelteNodeViewRenderer(ToDoListNodeView, {}) } }).configure({ HTMLAttributes: {