From 8388a21d2d254c62c250ac882f8727410a49faa4 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..2ebe9021e 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) => {