@@ -213,10 +213,16 @@ class AutoComplete {
213213 this . DOMResults . setAttribute ( "class" , "autocomplete open" ) ;
214214 }
215215
216- AutoComplete . prototype . ajax ( this , function ( request : XMLHttpRequest ) {
216+ var callback : any = function ( request : XMLHttpRequest ) {
217217 this . _Render ( this . _Post ( request . response ) ) ;
218218 this . _Open ( ) ;
219- } . bind ( this ) ) ;
219+ } . bind ( this ) ;
220+
221+ AutoComplete . prototype . cache (
222+ this ,
223+ AutoComplete . prototype . makeRequest ( this , callback ) ,
224+ callback
225+ ) ;
220226 }
221227 } ,
222228 Operator : ConditionOperator . AND ,
@@ -612,23 +618,27 @@ class AutoComplete {
612618 return request ;
613619 }
614620
615- ajax ( params : Params , callback : any , timeout : boolean = true ) : void {
621+ ajax ( params : Params , request : XMLHttpRequest , timeout : boolean = true ) : void {
616622 if ( params . $AjaxTimer ) {
617623 window . clearTimeout ( params . $AjaxTimer ) ;
618624 }
619625
620626 if ( timeout === true ) {
621- params . $AjaxTimer = window . setTimeout ( AutoComplete . prototype . ajax . bind ( null , params , callback , false ) , params . Delay ) ;
627+ params . $AjaxTimer = window . setTimeout ( AutoComplete . prototype . ajax . bind ( null , params , request , false ) , params . Delay ) ;
622628 } else {
623629 if ( params . Request ) {
624630 params . Request . abort ( ) ;
625631 }
626632
627- params . Request = AutoComplete . prototype . makeRequest ( params , callback ) ;
633+ params . Request = request ;
628634 params . Request . send ( params . _QueryArg ( ) + "=" + params . _Pre ( ) ) ;
629635 }
630636 }
631637
638+ cache ( params : Params , request : XMLHttpRequest , callback : any ) : void {
639+ AutoComplete . prototype . ajax ( params , request ) ;
640+ }
641+
632642 destroy ( params : Params ) : void {
633643 for ( var event in params . $Listeners ) {
634644 params . Input . removeEventListener ( event , params . $Listeners [ event ] ) ;
0 commit comments