From 1d28418f972a7b685b7ed1a51875f2f612ad7bd1 Mon Sep 17 00:00:00 2001 From: aswind7 <854413241@qq.com> Date: Tue, 24 Dec 2024 10:16:36 +0800 Subject: [PATCH 1/4] fix super-sub-script demo --- src/content/demo/super-sub-script/code.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/demo/super-sub-script/code.js b/src/content/demo/super-sub-script/code.js index 97479b6f8..c74ea050c 100644 --- a/src/content/demo/super-sub-script/code.js +++ b/src/content/demo/super-sub-script/code.js @@ -3,24 +3,24 @@ const $ = (id) => document.getElementById(id); $('super').onclick = () => { var active = canvas.getActiveObject(); if (!active) return; - active.setSuperscript(); + active.setSuperscript(0,4); canvas.requestRenderAll(); } $('sub').onclick = () => { var active = canvas.getActiveObject(); if (!active) return; - active.setSubscript(); + active.setSubscript(0,4); canvas.requestRenderAll(); } $('remove').onclick = () => { var active = canvas.getActiveObject(); if (!active) return; - active.setSelectionStyles({ + active.setSelectionStyles && active.setSelectionStyles({ fontSize: undefined, deltaY: undefined, - }); + }, 0, 4); canvas.requestRenderAll(); } @@ -42,4 +42,4 @@ var textbox = new fabric.Textbox('This is a Textbox object', { stroke: "#D81B60", }); -canvas.add(itext, textbox); \ No newline at end of file +canvas.add(itext, textbox); From 2a3b3d128b1df799f4c3b67eb9724dda6d76dfc1 Mon Sep 17 00:00:00 2001 From: Andrea Bogazzi Date: Sat, 6 Sep 2025 08:37:20 +0200 Subject: [PATCH 2/4] Update code.js --- src/content/demo/super-sub-script/code.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/content/demo/super-sub-script/code.js b/src/content/demo/super-sub-script/code.js index c74ea050c..d5c384a4a 100644 --- a/src/content/demo/super-sub-script/code.js +++ b/src/content/demo/super-sub-script/code.js @@ -1,16 +1,25 @@ const $ = (id) => document.getElementById(id); +const getRange = () => { + var active = canvas.getActiveObject(); + if (!active) return []; + if (active.selectionStart === active.selectionEnd) { + return [active.selectionStart, activeSelectionEnd + 1]; + } + return [active.selectionStart, active.selectionEnd]; +} + $('super').onclick = () => { var active = canvas.getActiveObject(); if (!active) return; - active.setSuperscript(0,4); + active.setSuperscript(...getRange()); canvas.requestRenderAll(); } $('sub').onclick = () => { var active = canvas.getActiveObject(); if (!active) return; - active.setSubscript(0,4); + active.setSubscript(...getRange()); canvas.requestRenderAll(); } From bd807068b6e819245bc4106ccd0dec96c5a97c3e Mon Sep 17 00:00:00 2001 From: Andrea Bogazzi Date: Sat, 6 Sep 2025 08:38:27 +0200 Subject: [PATCH 3/4] Update code.js --- src/content/demo/super-sub-script/code.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/demo/super-sub-script/code.js b/src/content/demo/super-sub-script/code.js index d5c384a4a..0d4b96fd6 100644 --- a/src/content/demo/super-sub-script/code.js +++ b/src/content/demo/super-sub-script/code.js @@ -29,7 +29,7 @@ $('remove').onclick = () => { active.setSelectionStyles && active.setSelectionStyles({ fontSize: undefined, deltaY: undefined, - }, 0, 4); + }, ...getRanges()); canvas.requestRenderAll(); } From 704ed9f36053ae84346e596a6b09fc7474e81726 Mon Sep 17 00:00:00 2001 From: Andrea Bogazzi Date: Sat, 6 Sep 2025 08:55:19 +0200 Subject: [PATCH 4/4] Update code.js --- src/content/demo/super-sub-script/code.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/demo/super-sub-script/code.js b/src/content/demo/super-sub-script/code.js index 0d4b96fd6..272199d3a 100644 --- a/src/content/demo/super-sub-script/code.js +++ b/src/content/demo/super-sub-script/code.js @@ -4,7 +4,7 @@ const getRange = () => { var active = canvas.getActiveObject(); if (!active) return []; if (active.selectionStart === active.selectionEnd) { - return [active.selectionStart, activeSelectionEnd + 1]; + return [active.selectionStart, active.selectionEnd + 1]; } return [active.selectionStart, active.selectionEnd]; }