dashboard.js.coffee
1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
class Dashboard
  constructor: ->
    Pager.init 20, true
    @initSidebarTab()
    $(".event_filter_link").bind "click", (event) =>
      event.preventDefault()
      @toggleFilter($(event.currentTarget))
      @reloadActivities()
  reloadActivities: ->
    $(".content_list").html ''
    Pager.init 20, true
  toggleFilter: (sender) ->
    sender.parent().toggleClass "inactive"
    event_filters = $.cookie("event_filter")
    filter = sender.attr("id").split("_")[0]
    if event_filters
      event_filters = event_filters.split(",")
    else
      event_filters = new Array()
    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(",")
  initSidebarTab: ->
    key = "dashboard_sidebar_filter"
    # store selection in cookie
    $('.dash-sidebar-tabs a').on 'click', (e) ->
      $.cookie(key, $(e.target).attr('id'))
    # show tab from cookie
    sidebar_filter = $.cookie(key)
    $("#" + sidebar_filter).tab('show') if sidebar_filter
@Dashboard = Dashboard