From 62edda7d831771193d6fa8ab4ab3c0535010070a Mon Sep 17 00:00:00 2001 From: Daksh Jain Date: Sat, 7 Feb 2026 02:00:46 +0530 Subject: [PATCH 1/2] Feature: Add a search modal to resource detail page which searches on resources upon pressing Ctrl+K or /. Fixes #870 Signed-off-by: Daksh Jain Signed-off-by: Daksh Jain --- .../modals/resource_search_modal.html | 53 +++++++++++++++++++ .../templates/scanpipe/resource_detail.html | 27 ++++++++++ 2 files changed, 80 insertions(+) create mode 100644 scanpipe/templates/scanpipe/modals/resource_search_modal.html diff --git a/scanpipe/templates/scanpipe/modals/resource_search_modal.html b/scanpipe/templates/scanpipe/modals/resource_search_modal.html new file mode 100644 index 0000000000..1a60b07b69 --- /dev/null +++ b/scanpipe/templates/scanpipe/modals/resource_search_modal.html @@ -0,0 +1,53 @@ + diff --git a/scanpipe/templates/scanpipe/resource_detail.html b/scanpipe/templates/scanpipe/resource_detail.html index 58c23e0f55..9e78297b64 100644 --- a/scanpipe/templates/scanpipe/resource_detail.html +++ b/scanpipe/templates/scanpipe/resource_detail.html @@ -9,6 +9,8 @@ {% endblock %} {% block content %} + {% include 'scanpipe/modals/resource_search_modal.html' %} + changes made
{% include 'scanpipe/includes/navbar_header.html' %}
{% include 'scanpipe/includes/messages.html' %}
@@ -147,6 +149,31 @@ let is_full_screen = body.classList.toggle("full-screen"); editor.resize() }); + + // Resource search modal keyboard shortcut (Ctrl+K or /) + document.addEventListener('keydown', function (event) { + // Check if any input or textarea has focus + const activeElement = document.activeElement; + const isInputFocused = activeElement && ( + activeElement.tagName === 'INPUT' || + activeElement.tagName === 'TEXTAREA' || + activeElement.isContentEditable + ); + + // Open search modal on Ctrl+K or / (when no input is focused) + if ((event.ctrlKey && event.key === 'k') || (event.key === '/' && !isInputFocused)) { + event.preventDefault(); + openModal('resource-search-modal'); + // Focus the search input after a short delay to ensure modal is visible + setTimeout(function() { + const searchInput = document.getElementById('resource-search-input'); + if (searchInput) { + searchInput.focus(); + searchInput.select(); + } + }, 50); + } + }); } {% endblock %} \ No newline at end of file From 0106859cc50a6f51800a6415facc616cd89682f0 Mon Sep 17 00:00:00 2001 From: Daksh Jain Date: Sat, 7 Feb 2026 02:46:26 +0530 Subject: [PATCH 2/2] removed a type from last commit Signed-off-by: Daksh Jain --- scanpipe/templates/scanpipe/resource_detail.html | 1 - 1 file changed, 1 deletion(-) diff --git a/scanpipe/templates/scanpipe/resource_detail.html b/scanpipe/templates/scanpipe/resource_detail.html index 9e78297b64..f6fb82f1f8 100644 --- a/scanpipe/templates/scanpipe/resource_detail.html +++ b/scanpipe/templates/scanpipe/resource_detail.html @@ -10,7 +10,6 @@ {% block content %} {% include 'scanpipe/modals/resource_search_modal.html' %} - changes made
{% include 'scanpipe/includes/navbar_header.html' %}
{% include 'scanpipe/includes/messages.html' %}