@@ -59,6 +59,7 @@ var Search = Control.extend({
59
59
60
60
storageFallback : { } ,
61
61
useLocalStorage : false ,
62
+ searchResultsCache : null ,
62
63
63
64
// ---- END PROPERTIES ---- //
64
65
@@ -502,40 +503,45 @@ var Search = Control.extend({
502
503
var self = this ;
503
504
this . searchDebounceHandle = setTimeout ( function ( ) {
504
505
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 ;
509
527
}
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
- }
524
528
525
- return "/" + this . url ;
526
- }
527
- } ) ;
529
+ if ( this . url . substr ( - 1 ) === "/" ) {
530
+ return this . url ;
531
+ }
528
532
529
- self . $resultsWrap . empty ( ) ;
530
- self . $resultsWrap [ 0 ] . appendChild ( resultsFrag ) ;
533
+ return "/" + this . url ;
534
+ }
535
+ } ) ;
531
536
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
+ }
539
545
} ,
540
546
541
547
// ---- SHOW/HIDE ---- //
0 commit comments