Added search result cache feature.
This commit is contained in:
parent
8ee9002c33
commit
1fd691b9d9
1 changed files with 12 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue