diff --git a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java index 144d001c125cc5ed87df6fb6a80530b6a02e9ee0..d5206a55c4aeab9443ee4c9837b09efd8f4bdeca 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/templates/TemplateController.java @@ -101,8 +101,8 @@ public class TemplateController extends BaseController } model.addAttribute("templates", templateService.getAllEntitiesAsc()); - model.addAttribute("currentTemplate", templateOptional.get()); - return "templates/templates"; + model.addAttribute("templateToDelete", templateOptional.get()); + return "templates/deleteTemplateModal"; } @GetMapping("/{ID}/delete") diff --git a/src/main/resources/static/js/templates.js b/src/main/resources/static/js/templates.js index a094beb60987070acbba33ec1539095226653e97..06d11716c6b3e0c211b797ca27244e99417c2fa4 100644 --- a/src/main/resources/static/js/templates.js +++ b/src/main/resources/static/js/templates.js @@ -1,10 +1,5 @@ $(document).ready(function() { - if($('#modalConfirmDelete').length) - { - $('#modalConfirmDelete').modal('open'); - } - M.Collapsible.init(document.querySelector('.collapsible.expandable'), { accordion: false }); @@ -39,6 +34,11 @@ $(document).ready(function() document.getElementById('searchTemplate').focus(); enableTemplateHotKeys(); } + + $('.button-request-delete-template').click(function() + { + fetchAndShowModalContent(this.dataset.url, '#deleteModalContainerOnDemand', '#modalConfirmDelete', function(){}); + }); }); let selectedTemplateName = null; diff --git a/src/main/resources/templates/templates/deleteTemplateModal.ftl b/src/main/resources/templates/templates/deleteTemplateModal.ftl new file mode 100644 index 0000000000000000000000000000000000000000..868f349b3ed13bb8b1e82911a8e8e1b192b1c397 --- /dev/null +++ b/src/main/resources/templates/templates/deleteTemplateModal.ftl @@ -0,0 +1,7 @@ +<#global locale = static["de.thecodelabs.utils.util.Localization"]> +<#import "/spring.ftl" as s> +<#import "../helpers/header.ftl" as header> + +<@header.modalConfirmDelete title=locale.getString("info.title.template.delete") confirmUrl='/templates' itemId=templateToDelete.getID() confirmButtonTextKey='info.title.template.delete'> + <p>${locale.getString("info.text.template.delete", templateToDelete.getTemplateName())}</p> +</@header.modalConfirmDelete> \ No newline at end of file diff --git a/src/main/resources/templates/templates/templateFunctions.ftl b/src/main/resources/templates/templates/templateFunctions.ftl index 606a2c2b4572f87e030f4e9c291fb0836f158ec7..b12f22a1461b9d7444ba80d214086e57c220a925 100644 --- a/src/main/resources/templates/templates/templateFunctions.ftl +++ b/src/main/resources/templates/templates/templateFunctions.ftl @@ -26,7 +26,7 @@ <@templateHeader template/> <div class="collapsible-header-button"> <@header.buttonFlat url='/templates/' + template.ID?c + '/edit' icon='edit' localizationKey='' classes="no-padding text-default"/> - <@header.buttonFlat url='/templates/' + template.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default"/> + <@header.buttonFlat url='/templates/' + template.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default button-request-delete-template" isDataUrl=true/> <@header.buttonLink url='/templates/' + template.ID?c + '/select' icon='note_add' localizationKey='' classes='button-select-template'/> </div> </div> diff --git a/src/main/resources/templates/templates/templates.ftl b/src/main/resources/templates/templates/templates.ftl index 65ae7deffe4feedeae3c238ef5d0eedced840637..29b6eed010090b38cf2fb0fd251d2986800f29b0 100644 --- a/src/main/resources/templates/templates/templates.ftl +++ b/src/main/resources/templates/templates/templates.ftl @@ -46,11 +46,7 @@ </div> </@header.content> - <#if currentTemplate??> - <@header.modalConfirmDelete title=locale.getString("info.title.template.delete") confirmUrl='/templates' cancelUrlBase='/templates' itemId=currentTemplate.getID() confirmButtonTextKey='info.title.template.delete'> - <p>${locale.getString("info.text.template.delete", currentTemplate.getTemplateName())}</p> - </@header.modalConfirmDelete> - </#if> + <div id="deleteModalContainerOnDemand"></div> </main> <#import "../helpers/scripts.ftl" as scripts>