From 2c9544efa02ed488e92d758f31e3d29847a6124a Mon Sep 17 00:00:00 2001 From: Mats Mikkel Rummelhoff Date: Mon, 10 Jul 2023 20:46:00 +0200 Subject: [PATCH] Adds undo support. Bump to 1.0.0-alpha.4 --- composer.json | 2 +- src/templates/button.twig | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index 81a1953..d23cd7c 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "vaersaagod/aimate", "description": "Ai ai, mate.", "type": "craft-plugin", - "version": "1.0.0-alpha.3", + "version": "1.0.0-alpha.4", "require": { "php": "^8.1.0", "craftcms/cms": "^4.4.0", diff --git a/src/templates/button.twig b/src/templates/button.twig index 62234e2..f551c70 100644 --- a/src/templates/button.twig +++ b/src/templates/button.twig @@ -80,13 +80,19 @@ $(() => { if (!ckEditorInstance) { throw new Error('Unable to find CKEditor instance in DOM'); } - ckEditorInstance.setData(data.text); ckEditorInstance.focus(); + ckEditorInstance.execute('selectAll'); + const viewFragment = ckEditorInstance.data.processor.toView(data.text); + const modelFragment = ckEditorInstance.data.toModel(viewFragment); + ckEditorInstance.model.insertContent(modelFragment); } else if (fieldType === 'craft\\redactor\\Field') { $R(`#${input.id}`, 'source.setCode', data.text); } else { - input.value = data.text; input.focus(); + input.select(); + if (!document.execCommand('insertText', false, data.text)) { + input.setRangeText(data.text); + } } if (elementEditor) { elementEditor.checkForm();