aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/coffee/issues/router.coffee
blob: 79057861a9b5a79d178e039987d1ca607ced0629 (plain)
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
define [
  'components/navigator/router'
], (
  Router
) ->

  class extends Router
    routes:
      '': 'emptyQuery'
      ':query': 'index'


    initialize: (options) ->
      super
      @listenTo options.app.state, 'change:filter', @updateRoute


    emptyQuery: ->
      @navigate 'resolved=false', { trigger: true, replace: true }


    index: (query) ->
      query = @options.app.controller.parseQuery query
      if query.id?
        filter = @options.app.filters.get query.id
        delete query.id
        filter.fetch().done =>
          if Object.keys(query).length > 0
            @options.app.controller.applyFilter filter, true
            @options.app.state.setQuery query
            @options.app.state.set changed: true
          else
            @options.app.controller.applyFilter filter
      else
        @options.app.state.setQuery query