From 1dcc7732937e1605980e81477ab27305ad6e7fb6 Mon Sep 17 00:00:00 2001 From: pvincent Date: Fri, 27 Feb 2026 13:49:21 +0000 Subject: [PATCH] boolean args --- app/javascript/initializers/forms.js | 19 +++++++++++++++---- app/views/edge/index.html.erb | 12 +++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/app/javascript/initializers/forms.js b/app/javascript/initializers/forms.js index ef0b4bc..0371db1 100644 --- a/app/javascript/initializers/forms.js +++ b/app/javascript/initializers/forms.js @@ -1,10 +1,17 @@ -// the confirm action opens front-dialog +/** the confirm action opens the 'front-dialog' by default, customize if needed! */ +Turbo.config.forms.confirm_dialog_id = 'front-dialog' +Turbo.config.forms.confirm_dialog_content_selector = '[data-dialog-content]' + +/** content might be either a String or a Boolean */ Turbo.config.forms.confirm = (content) => { - const dialog = document.getElementById('front-dialog') - const dialogContent = dialog.querySelector('[data-dialog-content]') - dialogContent.innerHTML = content + if (content.toString() == 'false') return new Promise((resolve) => { resolve(true) }) + if (content.toString() == 'true') content = '' + + const dialog = document.getElementById(Turbo.config.forms.confirm_dialog_id) + dialog.querySelector(Turbo.config.forms.confirm_dialog_content_selector).innerHTML = content dialog.showModal() + return new Promise((resolve) => { dialog.addEventListener( 'close', @@ -13,7 +20,11 @@ Turbo.config.forms.confirm = (content) => { }) } +/** dialogId might be either a String or a Boolean */ Turbo.config.forms.showModal = (dialogId) => { + if (dialogId.toString() == 'false') return + if (dialogId.toString() == 'true') dialogId = Turbo.config.forms.confirm_dialog_id + const dialog = document.getElementById(dialogId) if (dialog) dialog.showModal() else console.warn(`dialog id=<${dialogId}> not found!`) diff --git a/app/views/edge/index.html.erb b/app/views/edge/index.html.erb index 3a1b8af..eb2122e 100644 --- a/app/views/edge/index.html.erb +++ b/app/views/edge/index.html.erb @@ -2,17 +2,23 @@