From aef65751ac96f5e41fd19c67907b97a4350a4ada Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Tue, 27 Sep 2022 10:14:51 +0000
Subject: [PATCH] disable gallery action when no images are visible, fixes #620

Closes #620

Merge request studip/studip!1005
---
 resources/assets/javascripts/bootstrap/files.js | 4 ++++
 resources/assets/javascripts/lib/files.js       | 3 +++
 resources/assets/stylesheets/scss/sidebar.scss  | 3 ++-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/resources/assets/javascripts/bootstrap/files.js b/resources/assets/javascripts/bootstrap/files.js
index 310b2ed0894..fe2f7aea940 100644
--- a/resources/assets/javascripts/bootstrap/files.js
+++ b/resources/assets/javascripts/bootstrap/files.js
@@ -49,6 +49,10 @@ STUDIP.domReady(() => {
     });
 });
 
+$(document).on('files-vue-app-loaded', () => {
+    const lightboxImages = $('.lightbox-image');
+    $('#sidebar-actions a[onclick*="Files.openGallery"]').attr('disabled', lightboxImages.length === 0);
+});
 
 jQuery(document).on('ajaxComplete', (event, xhr) => {
     if (!xhr.getResponseHeader('X-Filesystem-Changes')) {
diff --git a/resources/assets/javascripts/lib/files.js b/resources/assets/javascripts/lib/files.js
index cd17ddf6b05..2e79bbe324b 100644
--- a/resources/assets/javascripts/lib/files.js
+++ b/resources/assets/javascripts/lib/files.js
@@ -30,6 +30,9 @@ const Files = {
                         }
                     },
                     components: { FilesTable, },
+                    mounted () {
+                        $(document).trigger('files-vue-app-loaded');
+                    }
                 });
             });
         }
diff --git a/resources/assets/stylesheets/scss/sidebar.scss b/resources/assets/stylesheets/scss/sidebar.scss
index 79d51071df5..058d93fe042 100644
--- a/resources/assets/stylesheets/scss/sidebar.scss
+++ b/resources/assets/stylesheets/scss/sidebar.scss
@@ -143,7 +143,8 @@ div#sidebar-navigation {
         box-sizing: border-box;
         line-height: 16px;
     }
-    span[disabled] {
+    span[disabled],
+    a[disabled] {
         color: $dark-gray-color-80;
         cursor: not-allowed;
         font-weight: lighter;
-- 
GitLab