From da3f979b4b98ac9c0d95851d1168b8ddaebd7ef8 Mon Sep 17 00:00:00 2001 From: grimnebluna Date: Tue, 13 May 2025 09:59:04 +0000 Subject: [PATCH] Fix: Ensure underscore is added only for modules when duplicating --- themes/grav/app/pages/page/add.js | 11 ++++++++++- .../forms/fields/folder-slug/folder-slug.html.twig | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/themes/grav/app/pages/page/add.js b/themes/grav/app/pages/page/add.js index c6ad22e30..fc68252b3 100644 --- a/themes/grav/app/pages/page/add.js +++ b/themes/grav/app/pages/page/add.js @@ -21,6 +21,10 @@ title.on('input focus blur', (event) => { let elements = getFields('title', event.currentTarget); let slug = $.slugify(elements.title.val(), {custom: { "'": '', '‘': '', '’': '' }}); + const isModule = $(event.currentTarget).closest('[data-remodal-id]').data('remodal-id') === 'module'; + if (isModule && !slug.startsWith('_')) { + slug = '_' + slug; + } elements.folder.val(slug); }); @@ -34,13 +38,18 @@ folder.on('input', (event) => { end: input.selectionEnd }; + const isModule = $(event.currentTarget).closest('[data-remodal-id]').data('remodal-id') === 'module'; + if (isModule && !value.startsWith('_')) { + value = '_' + value; + } else if (!isModule && value.startsWith('_')) { + value = value.substring(1); + } value = value.toLowerCase().replace(/\s/g, '-').replace(/[^a-z0-9_\-]/g, ''); elements.folder.val(value); custom = !!value; // restore cursor position input.setSelectionRange(selection.start, selection.end); - }); folder.on('focus blur', (event) => { diff --git a/themes/grav/templates/forms/fields/folder-slug/folder-slug.html.twig b/themes/grav/templates/forms/fields/folder-slug/folder-slug.html.twig index 0246c06ed..36cf68536 100644 --- a/themes/grav/templates/forms/fields/folder-slug/folder-slug.html.twig +++ b/themes/grav/templates/forms/fields/folder-slug/folder-slug.html.twig @@ -5,4 +5,10 @@
+ {% endblock %}