From 1b165adb8e91bfd75e0dd8f9fd9d3e6c88057bce Mon Sep 17 00:00:00 2001 From: Alessandro Rodi Date: Fri, 23 Feb 2024 17:00:36 +0100 Subject: [PATCH] Trigger an event when adding a new node --- src/core/drive/morph_renderer.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/core/drive/morph_renderer.js b/src/core/drive/morph_renderer.js index 2c5d14874..87aa94af1 100644 --- a/src/core/drive/morph_renderer.js +++ b/src/core/drive/morph_renderer.js @@ -41,7 +41,18 @@ export class MorphRenderer extends PageRenderer { } #shouldAddElement = (node) => { - return !(node.id && node.hasAttribute("data-turbo-permanent") && document.getElementById(node.id)) + if (node.id && node.hasAttribute("data-turbo-permanent") && document.getElementById(node.id)) { + return false + } else { + const event = dispatch("turbo:before-add-element", { + cancelable: true, + target: node, + detail: { + newElement: node + } + }) + return !event.defaultPrevented + } } #shouldMorphElement = (oldNode, newNode) => {