From 5bcf31ed2e7e077afc1529517d9b6eb2376561a4 Mon Sep 17 00:00:00 2001 From: artoscinote <85488244+artoscinote@users.noreply.github.com> Date: Mon, 10 Jul 2023 13:59:15 +0200 Subject: [PATCH] Fix activity filter loading via URL params [SCI-7537] (#5737) --- app/assets/javascripts/global_activities/index.js | 7 ------- app/assets/javascripts/global_activities/side_pane.js | 10 ++++++---- app/models/activity.rb | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/global_activities/index.js b/app/assets/javascripts/global_activities/index.js index 8b8e774a4..aed7fbb93 100644 --- a/app/assets/javascripts/global_activities/index.js +++ b/app/assets/javascripts/global_activities/index.js @@ -2,13 +2,6 @@ 'use strict'; -// eslint-disable-next-line no-unused-vars -var gaUrlQueryParams; - -(function() { - gaUrlQueryParams = $('#filters').data('filters'); -}()); - (function() { function initExpandCollapseAllButtons() { $('#global-activities-colapse-all').on('click', function(ev) { diff --git a/app/assets/javascripts/global_activities/side_pane.js b/app/assets/javascripts/global_activities/side_pane.js index 897060c4b..72588e585 100644 --- a/app/assets/javascripts/global_activities/side_pane.js +++ b/app/assets/javascripts/global_activities/side_pane.js @@ -1,4 +1,4 @@ -/* global animateSpinner gaUrlQueryParams PerfectSb dropdownSelector */ +/* global animateSpinner PerfectSb dropdownSelector */ /* eslint-disable no-extend-native, no-underscore-dangle, no-use-before-define */ var globalActivities = (function() { @@ -242,9 +242,13 @@ var globalActivities = (function() { $(tag).find('.sn-icon-close-small').click(); }); }); + + toggleClearButtons(); } function preloadFilters(filters) { + if (!filters) return; + updateRunning = true; if (filters.subject_labels) { $.each(filters.subject_labels, (i, subject) => { @@ -354,9 +358,7 @@ var globalActivities = (function() { GlobalActivitiesUpdateTopPaneTags(); - if (typeof gaUrlQueryParams !== 'undefined' && gaUrlQueryParams) { - preloadFilters(gaUrlQueryParams); - } + preloadFilters($('#filters').data('filters')); $('.date-selector .hot-button').click(function() { var selectPeriod = this.dataset.period; diff --git a/app/models/activity.rb b/app/models/activity.rb index 6d2b47ca4..21e418745 100644 --- a/app/models/activity.rb +++ b/app/models/activity.rb @@ -112,7 +112,7 @@ class Activity < ApplicationRecord def self.url_search_query(filters) result = [] filters.each do |filter, values| - result.push(values.map { |k, v| { k => v.collect(&:id) } }.to_query(filter)) + result.push(values.transform_values { |v| v.collect(&:id) }.to_query(filter)) end if filters[:subjects] subject_labels = []