dispatcher.js.coffee 1.0 KB
Newer Older
1 2
$ ->
  new Dispatcher()
3

4 5
class Dispatcher
  constructor: () ->
6 7 8 9
    @initSearch()
    @initPageScripts()

  initPageScripts: ->
10
    page = $('body').attr('data-page')
11
    project_id = $('body').attr('data-project-id')
12

13 14 15
    unless page
      return false

16
    path = page.split(':')
17 18

    switch page
19
      when 'projects:issues:index'
20 21 22
        Issues.init()
      when 'dashboard:show'
        new Dashboard()
23
      when 'projects:commit:show'
24
        new Commit()
25
      when 'groups:show', 'projects:show'
26 27
        Pager.init(20, true)
      when 'projects:new', 'projects:edit'
28
        new Project()
29
      when 'projects:walls:show'
30
        new Wall(project_id)
31
      when 'projects:teams:members:index'
D
Dmitriy Zaporozhets 已提交
32
        new TeamMembers()
33 34
      when 'groups:people'
        new GroupMembers()
35 36

    switch path.first()
37
      when 'admin' then new Admin()
38 39
      when 'wikis' then new Wikis()

40 41 42
  initSearch: ->
    autocomplete_json = $('.search-autocomplete-json').data('autocomplete-opts')
    new SearchAutocomplete(autocomplete_json)