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.
