diff --git a/app/assets/javascripts/app/controllers/navigation.js.coffee b/app/assets/javascripts/app/controllers/navigation.js.coffee index 0d888dce8..53ede62f5 100644 --- a/app/assets/javascripts/app/controllers/navigation.js.coffee +++ b/app/assets/javascripts/app/controllers/navigation.js.coffee @@ -115,6 +115,9 @@ class App.Navigation extends App.Controller render: () -> + # reset result cache + @searchResultCache = {} + user = App.Session.get() @html App.view('navigation')( user: user @@ -127,6 +130,11 @@ class App.Navigation extends App.Controller @renderPersonal() searchFunction = => + + # use cache for search result + if @searchResultCache[@term] + @renderResult( @searchResultCache[@term] ) + App.Ajax.request( id: 'search' type: 'GET' @@ -139,6 +147,9 @@ class App.Navigation extends App.Controller # load assets App.Collection.loadAssets( data.assets ) + # cache search result + @searchResultCache[@term] = data.result + result = data.result for area in result if area.name is 'Ticket' @@ -222,7 +233,7 @@ class App.Navigation extends App.Controller return if term is @term @term = term @$('.search').toggleClass('filled', !!@term) - @delay( searchFunction, 220, 'search' ) + @delay( searchFunction, 200, 'search' ) ) # bind to empty search