From 05e0f9327edef1d9fa33a7b9e34cb7f42071586f Mon Sep 17 00:00:00 2001 From: Daniel Kastl Date: Fri, 31 May 2024 19:42:07 +0900 Subject: [PATCH 1/3] Supports activeTab access for plugin settings Fixes #296 Signed-off-by: Daniel Kastl --- app/views/settings/gtt/_settings.html.erb | 26 +++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/app/views/settings/gtt/_settings.html.erb b/app/views/settings/gtt/_settings.html.erb index 8f24cee3..6a8160b8 100644 --- a/app/views/settings/gtt/_settings.html.erb +++ b/app/views/settings/gtt/_settings.html.erb @@ -4,9 +4,31 @@ { :name => :geocoder, :partial => 'settings/gtt/geocoder', :label => :gtt_settings_label_geocoder } ] %> - <%= render_tabs plugin_tabs %> <%= javascript_tag do %> - window.gtt_setting() + function getQueryParam(param) { + var urlParams = new URLSearchParams(window.location.search); + return urlParams.get(param); + } + + function activateTab(tabName) { + var tabLinks = document.querySelectorAll('.tabs a'); + tabLinks.forEach(function(link) { + if (link.href.includes('tab=' + tabName)) { + link.click(); + } + }); + } + + document.addEventListener('DOMContentLoaded', function() { + var tab = getQueryParam('tab'); + if (tab) { + activateTab(tab); + } + }); + + window.gtt_setting = function() { + // Your existing gtt_setting function implementation + }; <% end %> From 6b5851d8ec56d2368806544b8fd6757267251521 Mon Sep 17 00:00:00 2001 From: Daniel Kastl Date: Fri, 31 May 2024 19:44:22 +0900 Subject: [PATCH 2/3] Reverts to original function call Signed-off-by: Daniel Kastl --- app/views/settings/gtt/_settings.html.erb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/views/settings/gtt/_settings.html.erb b/app/views/settings/gtt/_settings.html.erb index 6a8160b8..73a87735 100644 --- a/app/views/settings/gtt/_settings.html.erb +++ b/app/views/settings/gtt/_settings.html.erb @@ -28,7 +28,5 @@ } }); - window.gtt_setting = function() { - // Your existing gtt_setting function implementation - }; + window.gtt_setting() <% end %> From f4cea75a16c63a1e8cdfa5266f8860261987d303 Mon Sep 17 00:00:00 2001 From: Daniel Kastl Date: Fri, 31 May 2024 20:05:33 +0900 Subject: [PATCH 3/3] Adds comments Signed-off-by: Daniel Kastl --- app/views/settings/gtt/_settings.html.erb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/views/settings/gtt/_settings.html.erb b/app/views/settings/gtt/_settings.html.erb index 73a87735..9b3f7753 100644 --- a/app/views/settings/gtt/_settings.html.erb +++ b/app/views/settings/gtt/_settings.html.erb @@ -7,11 +7,13 @@ <%= render_tabs plugin_tabs %> <%= javascript_tag do %> + // Read query parameter function getQueryParam(param) { var urlParams = new URLSearchParams(window.location.search); return urlParams.get(param); } + // Activate tab by name function activateTab(tabName) { var tabLinks = document.querySelectorAll('.tabs a'); tabLinks.forEach(function(link) { @@ -21,6 +23,7 @@ }); } + // Activate tab if it is specified in the URL document.addEventListener('DOMContentLoaded', function() { var tab = getQueryParam('tab'); if (tab) { @@ -28,5 +31,6 @@ } }); + // Apply settings window.gtt_setting() <% end %>