From 701f03bb4c2e6fe228deaa1d67bfcc211c99585a Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sun, 9 May 2021 11:12:45 +0200
Subject: [PATCH] Fixed #607 - image select modal: disable confirm button if no
 icon is selected

---
 src/main/resources/static/js/categories.js                   | 1 +
 src/main/resources/static/js/imageSelect.js                  | 1 +
 .../resources/templates/categories/categoriesFunctions.ftl   | 2 +-
 src/main/resources/templates/helpers/header.ftl              | 5 +++--
 src/main/resources/templates/helpers/imageSelect.ftl         | 2 +-
 5 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/static/js/categories.js b/src/main/resources/static/js/categories.js
index 24d9bc1c0..810838aa9 100644
--- a/src/main/resources/static/js/categories.js
+++ b/src/main/resources/static/js/categories.js
@@ -79,6 +79,7 @@ $(document).ready(function()
         }
 
         this.classList.add('selected');
+        document.getElementById('button-category-icon-confirm').removeAttribute('disabled');
     });
 
     if($('#modalIconSelect').length)
diff --git a/src/main/resources/static/js/imageSelect.js b/src/main/resources/static/js/imageSelect.js
index e1e3098ed..55511a614 100644
--- a/src/main/resources/static/js/imageSelect.js
+++ b/src/main/resources/static/js/imageSelect.js
@@ -93,6 +93,7 @@ function selectIcon(item)
     }
 
     item.classList.add('selected');
+    document.getElementById('button-icon-confirm').removeAttribute('disabled');
 }
 
 function uploadImage()
diff --git a/src/main/resources/templates/categories/categoriesFunctions.ftl b/src/main/resources/templates/categories/categoriesFunctions.ftl
index 55a4e3c7d..40d7d7e59 100644
--- a/src/main/resources/templates/categories/categoriesFunctions.ftl
+++ b/src/main/resources/templates/categories/categoriesFunctions.ftl
@@ -53,7 +53,7 @@
         </div>
         <div class="modal-footer background-color">
             <@header.buttonLink url='' icon='clear' localizationKey='cancel' color='red' classes='modal-action modal-close text-white' noUrl=true/>
-            <@header.buttonLink url='' icon='done' id='button-category-icon-confirm' localizationKey='ok' color='green' classes='modal-action modal-close text-white' noUrl=true/>
+            <@header.buttonLink url='' icon='done' id='button-category-icon-confirm' localizationKey='ok' color='green' classes='modal-action modal-close text-white' noUrl=true disabled=true/>
         </div>
     </div>
 </#macro>
diff --git a/src/main/resources/templates/helpers/header.ftl b/src/main/resources/templates/helpers/header.ftl
index 43f298f35..7f47dad84 100644
--- a/src/main/resources/templates/helpers/header.ftl
+++ b/src/main/resources/templates/helpers/header.ftl
@@ -93,11 +93,12 @@
     </div>
 </#macro>
 
-<#macro buttonLink url icon localizationKey id="" color="background-blue" classes="" isDataUrl=false noUrl=false>
+<#macro buttonLink url icon localizationKey id="" color="background-blue" classes="" isDataUrl=false noUrl=false disabled=false>
     <a <#if !isDataUrl && !noUrl>href="<@s.url url/>"</#if>
        id="${id}"
        class="waves-effect waves-light btn ${color} ${classes}"
-        <#if isDataUrl>data-url="${url}"</#if>>
+        <#if isDataUrl>data-url="${url}"</#if>
+        <#if disabled>disabled</#if>>
         <i class="material-icons left <#if !localizationKey?has_content>no-margin</#if>">${icon}</i><#if localizationKey?has_content>${locale.getString(localizationKey)}</#if>
     </a>
 </#macro>
diff --git a/src/main/resources/templates/helpers/imageSelect.ftl b/src/main/resources/templates/helpers/imageSelect.ftl
index d19e68f5f..f4cd497f1 100644
--- a/src/main/resources/templates/helpers/imageSelect.ftl
+++ b/src/main/resources/templates/helpers/imageSelect.ftl
@@ -47,7 +47,7 @@
         </div>
         <div class="modal-footer background-color">
             <@header.buttonLink url='' icon='clear' localizationKey='cancel' color='red' classes='modal-action modal-close text-white' noUrl=true/>
-            <@header.buttonLink url='' icon='done' id='button-icon-confirm' localizationKey='ok' color='green' classes='modal-action modal-close text-white' noUrl=true/>
+            <@header.buttonLink url='' icon='done' id='button-icon-confirm' localizationKey='ok' color='green' classes='modal-action modal-close text-white' noUrl=true disabled=true/>
         </div>
     </div>
 </#macro>
-- 
GitLab