I have had no feedback on this but I think it is a serious but fairly
easily resolved problem so I have reported it as an issue -
http://code.google.com/p/google-web-toolkit/issues/detail?id=6777

On Aug 16, 4:40 pm, camerojo <[email protected]> wrote:
> Cell widgets were a great step forward for GWT - enabling efficient
> client display of very large amounts of server data by means of
> RangeChangeEvents processed by AsyncDataProviders.
>
> However there is a serious problem with keyboard navigation as defined
> by KeyboardPagingPolicy.INCREASE_RANGE.
>
> Suppose you are viewing an underlying dataset (eg a database on the
> server) which has a million rows. This is normally perfectly practical
> using the new cell widget architecture.
>
> However, if you are currently displaying the first page of the data
> using KeyboardPagingPolicy.INCREASE_RANGEand your user presses the
> End key, the generated RangeChangeEvent that is fired will have a
> visible range of 0 to one million! In other words it will request the
> loading of the entire data set. Clearly, only the last page or screen
> full of data is all that is required to satisfy the user's request.
>
> This makes KeyboardPagingPolicy.INCREASE_RANGEcompletely unscalable
> in its current form.
>
> KeyboardPagingPolicy.CHANGE_PAGE does not have this problem. However
> the problem with KeyboardPagingPolicy.CHANGE_PAGE is that it always
> changes the visible range by a complete page when you press the up or
> down arrow at the edge of the current visible range. Often you just
> want the visible range to scroll forward a single row.INCREASE_RANGE
> does this but, as described above, is unusable for large datasets
> because of its Home/End handling.
>
> I suggest one of the following to make keyboard scrolling more usable:
>
> 1. RedefineINCREASE_RANGEbehaviour for Home/End keys, so that
> generated RangeChangeEvent is limited to what the user actually wants
> to see
>
> 2. Add a new enum - maybe called SLIDING_RANGE - which processes up/
> down arrow by changing the start of the visible range by just 1 when
> needed.
>
> 3. Allow for pluggable KeyboardPagingPolicy logic
> I suggest either redefining, creating a new enum, or allowing
> pluggable policies

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" 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/google-web-toolkit?hl=en.

Reply via email to