From 30b56fb017f29b2f49335ba4791debc063bb7607 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Tue, 23 Feb 2016 13:29:36 +0000 Subject: Treats activity tabs as single select Fixes #8092 --- app/assets/javascripts/activities.js.coffee | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/app/assets/javascripts/activities.js.coffee b/app/assets/javascripts/activities.js.coffee index 3b6b453ac51..0f51926cbdc 100644 --- a/app/assets/javascripts/activities.js.coffee +++ b/app/assets/javascripts/activities.js.coffee @@ -1,7 +1,7 @@ class @Activities constructor: -> Pager.init 20, true - $(".event-filter a").bind "click", (event) => + $(".event-filter-link").bind "click", (event) => event.preventDefault() @toggleFilter($(event.currentTarget)) @reloadActivities() @@ -12,18 +12,10 @@ class @Activities toggleFilter: (sender) -> - sender.closest('li').toggleClass "active" + $('.event-filter .active').removeClass "active" event_filters = $.cookie("event_filter") filter = sender.attr("id").split("_")[0] - if event_filters - event_filters = event_filters.split(",") - else - event_filters = new Array() + $.cookie "event_filter", (if event_filters isnt filter then filter else ""), { path: '/' } - index = event_filters.indexOf(filter) - if index is -1 - event_filters.push filter - else - event_filters.splice index, 1 - - $.cookie "event_filter", event_filters.join(","), { path: '/' } + if event_filters isnt filter + sender.closest('li').toggleClass "active" -- cgit v1.2.1 From b82569e5eaa5c46215c092fb23dd946a9d59d734 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Tue, 23 Feb 2016 15:59:51 +0000 Subject: fixed tests --- features/dashboard/event_filters.feature | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/features/dashboard/event_filters.feature b/features/dashboard/event_filters.feature index 96399ea21a6..8c3ff64164f 100644 --- a/features/dashboard/event_filters.feature +++ b/features/dashboard/event_filters.feature @@ -43,10 +43,16 @@ Feature: Event Filters And I should not see new member event When I click "team" event filter And I visit dashboard activity page - Then I should see push event + Then I should not see push event And I should see new member event And I should not see merge request event When I click "push" event filter - Then I should not see push event - And I should see new member event + And I visit dashboard activity page + Then I should see push event + And I should not see new member event And I should not see merge request event + When I click "merge" event filter + And I visit dashboard activity page + Then I should see merge request event + And I should not see push event + And I should not see new member event -- cgit v1.2.1 From 74d87db977384f73e496a5851e7b8c2fd2333f23 Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Tue, 23 Feb 2016 17:28:12 +0000 Subject: changed bind to on for activity link click event --- app/assets/javascripts/activities.js.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/activities.js.coffee b/app/assets/javascripts/activities.js.coffee index 0f51926cbdc..5092e824e65 100644 --- a/app/assets/javascripts/activities.js.coffee +++ b/app/assets/javascripts/activities.js.coffee @@ -1,7 +1,7 @@ class @Activities constructor: -> Pager.init 20, true - $(".event-filter-link").bind "click", (event) => + $(".event-filter-link").on "click", (event) => event.preventDefault() @toggleFilter($(event.currentTarget)) @reloadActivities() -- cgit v1.2.1