diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java index 3ae6fc4a4932db803a6dd5567d6a606c02e64823..a0d26a869e3be3b46af7974c8d02ee74afc1263a 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java @@ -170,8 +170,8 @@ public class ChartController extends BaseController } model.addAttribute("charts", chartService.getAllEntitiesAsc()); - model.addAttribute("currentChart", chartService.getRepository().getOne(ID)); - return "charts/manage"; + model.addAttribute("chartToDelete", chartService.getRepository().getOne(ID)); + return "charts/deleteChartModal"; } @GetMapping(value = "/{ID}/delete") diff --git a/src/main/resources/static/js/categories.js b/src/main/resources/static/js/categories.js index 90822bdf935190cc0aa7122d3425d0cea7bea4e9..b3479347e2ff0a843a36757efda57f0fa04097c5 100644 --- a/src/main/resources/static/js/categories.js +++ b/src/main/resources/static/js/categories.js @@ -1,7 +1,5 @@ $(document).ready(function() { - $('#modalConfirmDelete').modal('open'); - if($('#category-name').length) { document.getElementById('category-name').focus(); diff --git a/src/main/resources/static/js/charts.js b/src/main/resources/static/js/charts.js index 896d50c8a05e3123347c06826ac493cfcd73b5fc..9f6494963897303793ec846f0ae71c1c08de3b04 100644 --- a/src/main/resources/static/js/charts.js +++ b/src/main/resources/static/js/charts.js @@ -13,11 +13,6 @@ $(document).ready(function() editor.save(); } - if($("#modalConfirmDelete").length) - { - $('#modalConfirmDelete').modal('open'); - } - if($(".datepicker").length) { chartPickerStartDate = M.Datepicker.init(document.getElementById('chart-datepicker'), { @@ -121,10 +116,18 @@ $(document).ready(function() document.getElementById('buttonShowChartSettings').classList.toggle('hidden', true); }); - filterChartPreviews(selectChartID); + if($(".chart-preview-column").length) + { + filterChartPreviews(selectChartID); + + let showEditSettingsButton = document.getElementsByName('NewChartSettings')[0].classList.contains('hidden'); + document.getElementById('buttonShowChartSettings').classList.toggle('hidden', !showEditSettingsButton); + } - let showEditSettingsButton = document.getElementsByName('NewChartSettings')[0].classList.contains('hidden'); - document.getElementById('buttonShowChartSettings').classList.toggle('hidden', !showEditSettingsButton); + $('.button-request-delete-chart').click(function() + { + fetchAndShowModalContent(this.dataset.url, '#deleteModalContainerOnDemand', '#modalConfirmDelete', function(){}); + }); }); function createDatePickerEnd(minDate, selectedDate) diff --git a/src/main/resources/templates/categories/deleteCategoryModal.ftl b/src/main/resources/templates/categories/deleteCategoryModal.ftl index 15bc49cf3769e68ac48aa44d5ce9fd92ded24304..705490ea2577c4d3484890f9ca8ccadadb15ee55 100644 --- a/src/main/resources/templates/categories/deleteCategoryModal.ftl +++ b/src/main/resources/templates/categories/deleteCategoryModal.ftl @@ -17,7 +17,7 @@ </div> <div class="modal-footer background-color"> - <@header.buttonLink url='/categories' icon='clear' localizationKey='cancel' color='red' classes='modal-action modal-close text-white'/> + <@header.buttonLink url='' icon='clear' localizationKey='cancel' color='red' classes='modal-action modal-close text-white' noUrl=true/> <@header.buttonLink url='' icon='delete' localizationKey='delete' color='green' id='buttonDeleteCategory' classes='modal-action modal-close text-white' noUrl=true/> </div> </div> \ No newline at end of file diff --git a/src/main/resources/templates/charts/deleteChartModal.ftl b/src/main/resources/templates/charts/deleteChartModal.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c104d879048b148c1c51d042c3cf0742bb601d69 --- /dev/null +++ b/src/main/resources/templates/charts/deleteChartModal.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.chart.delete") confirmUrl='/charts' itemId=chartToDelete.getID() confirmButtonTextKey='info.title.chart.delete'> + <p>${locale.getString("info.text.chart.delete", chartToDelete.getName())}</p> +</@header.modalConfirmDelete> \ No newline at end of file diff --git a/src/main/resources/templates/charts/manage.ftl b/src/main/resources/templates/charts/manage.ftl index e032e8cf5ff46fc1344461ca8bc17593a308ec12..13ebd1386347b607c91ccf559fd6263ee26ee9fd 100644 --- a/src/main/resources/templates/charts/manage.ftl +++ b/src/main/resources/templates/charts/manage.ftl @@ -46,7 +46,7 @@ <td> <@header.buttonFlat url='/charts/' + chart.ID?c + '/edit' icon='edit' localizationKey='' classes="no-padding text-default"/> <#if (chart.getType().name() == "CUSTOM")> - <@header.buttonFlat url='/charts/' + chart.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default"/> + <@header.buttonFlat url='/charts/' + chart.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default button-request-delete-chart" isDataUrl=true/> </#if> </td> </tr> @@ -59,11 +59,7 @@ </@header.content> </div> - <#if currentChart??> - <@header.modalConfirmDelete title=locale.getString("info.title.chart.delete") confirmUrl='/charts' cancelUrlBase='/charts/manage' itemId=currentChart.getID() confirmButtonTextKey='info.title.chart.delete'> - <p>${locale.getString("info.text.chart.delete", currentChart.getName())}</p> - </@header.modalConfirmDelete> - </#if> + <div id="deleteModalContainerOnDemand"></div> </main> <#import "../helpers/scripts.ftl" as scripts> diff --git a/src/main/resources/templates/helpers/header.ftl b/src/main/resources/templates/helpers/header.ftl index 485ab5ffbe7f1f425acf15f1fd1244089b4c33fa..927776432b3d7f084c2795f6e98e12ec262e4803 100644 --- a/src/main/resources/templates/helpers/header.ftl +++ b/src/main/resources/templates/helpers/header.ftl @@ -45,7 +45,7 @@ </#if> </#macro> -<#macro modalConfirmDelete title confirmUrl cancelUrlBase itemId confirmButtonTextKey id="modalConfirmDelete" classes=""> +<#macro modalConfirmDelete title confirmUrl itemId confirmButtonTextKey id="modalConfirmDelete" classes=""> <div id="${id}" class="modal background-color ${classes}"> <div class="modal-content"> <h4>${title}</h4> @@ -53,7 +53,7 @@ <#nested> </div> <div class="modal-footer background-color"> - <@buttonLink url=cancelUrlBase icon='clear' localizationKey='cancel' color='red' classes='modal-action modal-close text-white'/> + <@buttonLink url='' icon='clear' localizationKey='cancel' color='red' classes='modal-action modal-close text-white' noUrl=true/> <@buttonLink url=confirmUrl + '/' + itemId?c + '/delete' icon='delete' localizationKey=confirmButtonTextKey color='green' classes='modal-action modal-close text-white'/> </div> </div>