That's a great idea, Irakli, but unfortunately I don't believe we 
currently have such a mechanism.  Jono would probably know best how hard 
that would be to implement.

- Atul

On 2/16/09 1:53 PM, Irakli Gozalishvili wrote:
> Thanks for the response :)
>
> Is there something like *suggestDelay *as well ??
> Cause actually I want to delay suggestion cause they are generated 
> from the server.
>
>
> On Mon, Feb 16, 2009 at 10:14 PM, Atul Varma <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Oops, there were a few problems with that commit, so I fixed them
>     here:
>
>     
> https://ubiquity.mozilla.com/hg/ubiquity-firefox/raw-file/93fd600b03e2/ubiquity/index.html#feed-parts/header/cmdutils.js
>
>     - Atul
>
>
>     On 2/16/09 1:05 PM, Atul Varma wrote:
>>     Ack!  Sorry for the inconvenience there... That kind of
>>     functionality has actually always been present in Ubiquity, but
>>     it wasn't documented!  I've added some documentation just now:
>>
>>     
>> https://ubiquity.mozilla.com/hg/ubiquity-firefox/raw-file/08f1e8bbfd67/ubiquity/index.html#feed-parts/header/cmdutils.js
>>
>>     Just search for the word 'previewDelay'.  Basically, you can pass
>>     in an optional argument to CmdUtils.CreateCommand() that tells it
>>     how long a user should've stopped typing for before the preview
>>     function is called.
>>
>>     Thanks for mentioning this!
>>
>>     - Atul
>>
>>     On 2/16/09 12:12 PM, gtdphp developers wrote:
>>>>     What I suggest to track the moment when user stops typing and then 
>>>> call the
>>>>     <noun>.suggest I think it would make a lot sense.
>>>>          
>>>     I've been wrapping my async-noun suggestions in timeouts, to prevent
>>>     rapid-fire repeat calls, as follows 3 seconds delay before a call with
>>>     a blank prompt, and 500ms between calls otherwise.  Perhaps something
>>>     like this could go into CmdUtils:
>>>
>>>        preview: function gtdlist_preview(aPblock, aNeedle) {
>>>
>>>          if (this._ajaxTimer) { Utils.clearTimeout(this._ajaxTimer); }
>>>          if (this.xhr) {
>>>            this.xhr.abort();
>>>            this.xhr = false;
>>>          }
>>>          if (aPblock == null) { return; }
>>>
>>>          var prompt, timer,
>>>              that = this,
>>>              filter = this._filter(aNeedle);
>>>
>>>          if (aNeedle.text === "") {
>>>            prompt = "Searching for all live next actions (enter more text
>>>     to narrow down the search)";
>>>            timer = 3000; // allow 3000ms (=3s) before AJAX call if there's
>>>     no prompt string
>>>          }
>>>          else {
>>>            prompt = "Searching for<i>" + aNeedle.text +"</i>  ...";
>>>            timer = 500; // 500ms should be long enough between key presses
>>>     to lag JSON call reasonably, without undue delays or redundant calls
>>>          }
>>>
>>>          aPblock.innerHTML = prompt;
>>>          this._ajaxTimer = Utils.setTimeout(realAsyncAjaxCall,timer);
>>>     }
>>>
>>>        
>>
>>
>
>
>
>
>
> -- 
> Irakli Gozalishvili
> Web: http://rfobic.blogspot.com/
> Phone: +31 614 205275
> Address: Taksteeg 3 - 4, 1012PB Amsterdam, Netherlands
>
> >

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ubiquity-firefox" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/ubiquity-firefox?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to