aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src/main/coffee/issues/router.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-web/src/main/coffee/issues/router.coffee')
-rw-r--r--server/sonar-web/src/main/coffee/issues/router.coffee32
1 files changed, 32 insertions, 0 deletions
diff --git a/server/sonar-web/src/main/coffee/issues/router.coffee b/server/sonar-web/src/main/coffee/issues/router.coffee
new file mode 100644
index 00000000000..b89b9e5ace3
--- /dev/null
+++ b/server/sonar-web/src/main/coffee/issues/router.coffee
@@ -0,0 +1,32 @@
+define [
+ 'backbone'
+], (
+ Backbone
+) ->
+
+ class extends Backbone.Router
+ routeSeparator: '|'
+
+ routes:
+ '': 'emptyQuery'
+ ':query': 'index'
+
+
+ initialize: (options) ->
+ @options = options
+ @listenTo @options.app.state, 'change:query', @updateRoute
+
+
+ emptyQuery: ->
+ @navigate 'resolved=false', { trigger: true, replace: true }
+
+
+ index: (query) ->
+ filter = @options.app.controller.parseQuery query
+ @options.app.state.setQuery filter
+
+
+ updateRoute: ->
+ route = @options.app.controller.getQuery()
+ @navigate route
+