diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb index 82c69c4e..a589ea1c 100644 --- a/app/helpers/search_helper.rb +++ b/app/helpers/search_helper.rb @@ -33,12 +33,12 @@ def link_to_tab(target, label = nil) clean_target = target.downcase.gsub(' ', '_').downcase tab_label = label || target if @active_tab == clean_target - link_to tab_label, results_path(params.permit(:q, :per_page, :booleanType, :tab).merge(tab: clean_target)), + link_to tab_label, results_path(params.permit(:q, :per_page, :booleanType, :tab, :mtmPreviewMode).merge(tab: clean_target)), aria: { current: 'page' }, class: 'active tab-link', data: { turbo_frame: 'search-results', turbo_action: 'advance' } else - link_to tab_label, results_path(params.permit(:q, :per_page, :booleanType, :tab).merge(tab: clean_target)), + link_to tab_label, results_path(params.permit(:q, :per_page, :booleanType, :tab, :mtmPreviewMode).merge(tab: clean_target)), class: 'tab-link', data: { turbo_frame: 'search-results', turbo_action: 'advance' } end diff --git a/app/javascript/filters.js b/app/javascript/filters.js index 32a79cee..1af5b888 100644 --- a/app/javascript/filters.js +++ b/app/javascript/filters.js @@ -3,6 +3,12 @@ function initFilterToggle() { var filter_toggle = document.getElementById('filter-toggle'); var filter_panel = document.getElementById('filter-container'); var filter_categories = document.getElementsByClassName('filter-category'); + + // No need for event listeners if filters aren't present. + if (!filter_toggle || !filter_panel) { + return; + } + filter_toggle.addEventListener('click', event => { filter_panel.classList.toggle('hidden-md'); filter_toggle.classList.toggle('expanded'); diff --git a/app/javascript/loading_spinner.js b/app/javascript/loading_spinner.js index 9aa6655c..76a33834 100644 --- a/app/javascript/loading_spinner.js +++ b/app/javascript/loading_spinner.js @@ -26,6 +26,16 @@ document.addEventListener('turbo:frame-render', function(event) { // Remove the spinner now that things are ready document.getElementById('search-results').classList.remove('spinner'); + // Experimental poking of Matomo + window._mtm = window._mtm || []; + window._mtm.push({ + 'event': 'customEvent', + 'customCategory': 'Search', + 'customAction': 'Pagination', + 'customLabel': 'Page 1', + 'customValue': 1 + }); + // Clear the pending action window.pendingFocusAction = null; }; @@ -46,6 +56,16 @@ document.addEventListener('turbo:frame-render', function(event) { // Remove the spinner now that things are ready document.getElementById('search-results').classList.remove('spinner'); + // Experimental poking of Matomo + window._mtm = window._mtm || []; + window._mtm.push({ + 'event': 'customEvent', + 'customCategory': 'Search', + 'customAction': 'Tab', + 'customLabel': 'Bespoke', + 'customValue': 1 + }); + // Clear the pending action window.pendingFocusAction = null; }; diff --git a/app/javascript/search_form.js b/app/javascript/search_form.js index fa603040..a48ecef3 100644 --- a/app/javascript/search_form.js +++ b/app/javascript/search_form.js @@ -68,11 +68,11 @@ if (Array.from(allPanels).includes(geoboxPanel && geodistancePanel)) { togglePanelState(geodistancePanel); }); - document.getElementById('advanced-summary').addEventListener('click', () => { + document.getElementById('advanced-summary')?.addEventListener('click', () => { togglePanelState(advancedPanel); }); } else { - document.getElementById('advanced-summary').addEventListener('click', () => { + document.getElementById('advanced-summary')?.addEventListener('click', () => { togglePanelState(advancedPanel); }); } diff --git a/app/views/layouts/_head.html.erb b/app/views/layouts/_head.html.erb index 8647e56f..873b3a36 100644 --- a/app/views/layouts/_head.html.erb +++ b/app/views/layouts/_head.html.erb @@ -27,15 +27,22 @@ <%= yield :additional_js %> -<% if (ENV['MATOMO_CONTAINER_URL'].present?) %> +<% if (ENV['MATOMO_URL'].present? && ENV['MATOMO_CONTAINER_ID'].present?) %> <% elsif (ENV['MATOMO_URL'].present? && ENV['MATOMO_SITE_ID'].present?) %> diff --git a/app/views/search/_form.html.erb b/app/views/search/_form.html.erb index c6f884ac..dd6bd786 100644 --- a/app/views/search/_form.html.erb +++ b/app/views/search/_form.html.erb @@ -6,6 +6,9 @@ + <% if params[:mtmPreviewMode] %> + + <% end %>