Event filters stores at cookies.

This commit is contained in:
Alex Denisov 2012-12-03 02:29:07 +02:00
parent b255c3c44b
commit 97d17cf835
6 changed files with 56 additions and 11 deletions

View file

@ -0,0 +1,27 @@
/**
* Init dashboard page
*
*/
function dashboardPage(){
$(".event_filter_link").bind('click',(function(){
enableFilter(this.id);
}));
}
function enableFilter(sender_id){
var event_filters = $.cookie('event_filter');
var filter = sender_id.split('_')[0];
if (!event_filters) {
event_filters = new Array();
} else {
event_filters = event_filters.split(',');
}
var index = event_filters.indexOf(filter);
if (index == -1) {
event_filters.push(filter);
} else {
event_filters.splice(index, 1);
}
$.cookie('event_filter', event_filters.join(','));
};

View file

@ -60,6 +60,7 @@ class DashboardController < ApplicationController
end
def event_filter
@event_filter ||= EventFilter.new(params[:event_filter])
filters = cookies['event_filter'].split(',') if cookies['event_filter']
@event_filter ||= EventFilter.new(filters)
end
end

View file

@ -22,9 +22,6 @@ module EventsHelper
def event_filter_link key, tooltip
key = key.to_s
filter = @event_filter.options key
inactive = if @event_filter.active? key
nil
else
@ -32,7 +29,7 @@ module EventsHelper
end
content_tag :div, class: "filter_icon #{inactive}" do
link_to dashboard_path(event_filter: filter), class: 'has_tooltip', id: "#{key}_event_filter", 'data-original-title' => tooltip do
link_to dashboard_path, class: 'has_tooltip event_filter_link', id: "#{key}_event_filter", 'data-original-title' => tooltip do
image_tag "event_filter_#{key}.png"
end
end

View file

@ -1,3 +1,4 @@
= javascript_include_tag 'dashboard'
- if @has_authorized_projects
.projects
.activities.span8