$ -> new Dispatcher() class Dispatcher constructor: () -> @initSearch() @initHighlight() @initPageScripts() initPageScripts: -> page = $('body').attr('data-page') project_id = $('body').attr('data-project-id') unless page return false path = page.split(':') switch page when 'projects:issues:index' Issues.init() when 'projects:issues:show' new Issue() when 'projects:milestones:show' new Milestone() when 'projects:issues:new' GitLab.GfmAutoComplete.setup() when 'projects:merge_requests:new' GitLab.GfmAutoComplete.setup() new Diff() when 'projects:merge_requests:show' new Diff() when "projects:merge_requests:diffs" new Diff() when 'dashboard:show' new Dashboard() new Activities() when 'projects:commit:show' new Commit() new Diff() when 'groups:show', 'projects:show' new Activities() when 'projects:new', 'projects:edit' new Project() when 'projects:teams:members:index' new TeamMembers() when 'groups:members' new GroupMembers() when 'projects:tree:show' new TreeView() when 'projects:blob:show' new BlobView() when 'projects:labels:new', 'projects:labels:edit' new Labels() switch path.first() when 'admin' then new Admin() when 'projects' new Wikis() if path[1] == 'wikis' initSearch: -> opts = $('.search-autocomplete-opts') path = opts.data('autocomplete-path') project_id = opts.data('autocomplete-project-id') project_ref = opts.data('autocomplete-project-ref') new SearchAutocomplete(path, project_id, project_ref) initHighlight: -> $('.highlight pre code').each (i, e) -> $(e).html($.map($(e).html().split("\n"), (line, i) -> "" + line + "" ).join("\n")) hljs.highlightBlock(e)