diff --git a/assets/scripts/admin/content-edit/preview-section.js b/assets/scripts/admin/content-edit/preview-section.js index 0cbf65b..f9f5d3c 100644 --- a/assets/scripts/admin/content-edit/preview-section.js +++ b/assets/scripts/admin/content-edit/preview-section.js @@ -10,6 +10,7 @@ registerFeature('admin_content_edit_preview_section', _init); */ function _init() { cmsEditListener('[data-section-preview-input]', 'change', showSectionPreview); + cmsEditListener('[data-section-widget]', 'change', showSectionNote); } /** @@ -24,4 +25,26 @@ function showSectionPreview(inputElement, module, preview/*, form, event*/) { let sectionPreview = inputElement.options[inputElement.selectedIndex].dataset.sectionPreview; [...htmlTargetElements].forEach((htmlTargetElement) => htmlTargetElement.innerHTML = sectionPreview === undefined ? '' : sectionPreview); filterCurrentFilterElements(); +} + +/** + * Shows a section preview + * + * The preview target element must have the "data-section-preview-target" attribute + * The select option must have the "data-section-preview-input" + * Both data attributes must have the same value (as identificator) + */ +function showSectionNote(inputElement, module, preview, form/*, event*/) { + let htmlTargetElements = form.querySelectorAll("[data-section-note-preview='" + inputElement.id + "']"); + let sectionNote = inputElement.options[inputElement.selectedIndex].dataset.sectionNotes; + + [...htmlTargetElements].forEach((htmlTargetElement) => { + if (sectionNote) { + htmlTargetElement.innerHTML = sectionNote; + htmlTargetElement.classList.remove('d-none'); + } else { + htmlTargetElement.innerHTML = ''; + htmlTargetElement.classList.add('d-none'); + } + }); } \ No newline at end of file diff --git a/cms/modules/section/form.html.twig b/cms/modules/section/form.html.twig index e2bb294..98160eb 100644 --- a/cms/modules/section/form.html.twig +++ b/cms/modules/section/form.html.twig @@ -7,9 +7,16 @@ {{ sfs_cms_admin_module_accordion_block_end() }} +{% import '@SfsCms/macros/modules_edit.html.twig' as edit %} + {{ sfs_cms_admin_module_accordion_block_start(form, accordion, 'section', true) }}
{{ form_row(form.section, {'attr': attr | merge({'data-section-message-select': ''})}) }} + +
+ {{ form.section.vars.section_notes|raw }} +
+ {{ form_row(form.mode, {'attr': attr | merge({'data-section-mode-message-select': ''})}) }}