@@ -59,6 +59,7 @@ var Search = Control.extend({
5959
6060 storageFallback : { } ,
6161 useLocalStorage : false ,
62+ searchResultsCache : null ,
6263
6364 // ---- END PROPERTIES ---- //
6465
@@ -502,40 +503,45 @@ var Search = Control.extend({
502503 var self = this ;
503504 this . searchDebounceHandle = setTimeout ( function ( ) {
504505 self . searchEngineSearch ( value ) . then ( function ( results ) {
505- var numResults = results . length ;
506- if ( numResults > 50 ) {
507- numResults = '50+' ;
508- results = results . slice ( 0 , 50 ) ;
506+ self . searchResultsCache = results ;
507+ self . renderSearchResults ( results ) ;
508+ } ) ;
509+ } , this . options . searchTimeout ) ;
510+ } ,
511+
512+ renderSearchResults : function ( results ) {
513+ var self = this ;
514+ var numResults = results . length ;
515+ if ( numResults > 50 ) {
516+ numResults = '50+' ;
517+ results = results . slice ( 0 , 50 ) ;
518+ }
519+ var resultsFrag = this . options . resultsRenderer ( {
520+ results : results ,
521+ numResults : numResults ,
522+ searchValue : this . searchTerm
523+ } , {
524+ docUrl : function ( ) {
525+ if ( self . options . pathPrefix ) {
526+ return self . options . pathPrefix + "/" + this . url ;
509527 }
510- var resultsFrag = self . options . resultsRenderer ( {
511- results : results ,
512- numResults : numResults ,
513- searchValue :value ,
514- pathPrefix : ( self . options . pathPrefix === '.' ) ? '' : '/' + self . options . pathPrefix + '/'
515- } , {
516- docUrl : function ( ) {
517- if ( self . options . pathPrefix ) {
518- return self . options . pathPrefix + "/" + this . url ;
519- }
520-
521- if ( this . url . substr ( - 1 ) === "/" ) {
522- return this . url ;
523- }
524528
525- return "/" + this . url ;
526- }
527- } ) ;
529+ if ( this . url . substr ( - 1 ) === "/" ) {
530+ return this . url ;
531+ }
528532
529- self . $resultsWrap . empty ( ) ;
530- self . $resultsWrap [ 0 ] . appendChild ( resultsFrag ) ;
533+ return "/" + this . url ;
534+ }
535+ } ) ;
531536
532- //refresh necessary dom
533- self . $resultsList = null ;
534- if ( numResults ) {
535- self . $resultsList = self . $resultsWrap . find ( ".search-results > ul" ) ;
536- }
537- } ) ;
538- } , this . options . searchTimeout ) ;
537+ this . $resultsWrap . empty ( ) ;
538+ this . $resultsWrap [ 0 ] . appendChild ( resultsFrag ) ;
539+
540+ //refresh necessary dom
541+ this . $resultsList = null ;
542+ if ( numResults ) {
543+ this . $resultsList = this . $resultsWrap . find ( ".search-results > ul" ) ;
544+ }
539545 } ,
540546
541547 // ---- SHOW/HIDE ---- //
0 commit comments