Hybrid View

  1. #1
    Ext JS Premium Member
    Join Date
    Aug 2007
    Location
    Portland, OR
    Posts
    61
    Vote Rating
    0
    MahlerFreak is on a distinguished road

      0  

    Default High Performance Large List component - UxBufferedList

    High Performance Large List component - UxBufferedList


    This is the first functionality-complete release of the list component I and others have been working on in this thread:

    http://www.sencha.com/forum/showthre...dation-thread/

    Ext.ux.BufferedList is designed to be used in place of the standard Ext.List component, and supports essentially all Ext.List functions and configuration parameters, while providing the following enhancements and changes:

    - Adequate scrolling performance with large data sets. The attached examples use a data array of about 1400 items, while still providing similar scroll performance to Ext.List. This is accomplished by rendering a "sliding window" of list items based on current scroll position, rather than rendering all list items.
    - Independent support for indexBar and group headers. By setting the standard list config parameter "grouped" to true, and the extension config parameter useGroupHeaders to false, you can use an index bar without having group headers, as some native iOS applications do. Obviously, setting useGroupHeaders to true gives you standard group headers.
    - The configuration parameter "blockScrollSelect" is provided. If set to true, this prevents item selection while the list is still scrolling, so you can tap the list to stop scroll without invoking a selection - again, similar to native iOS. See the attached examples.

    The only non-intuitive configuration is a parameter called "maxItemHeight". This is set at 85 pixels by default. If you have a significant number of items in the list which will be greater than this height, you should increase the value at least to the 90th percentile or so item height, to avoid potential problems with long scrolls to the top of the list. Also, itemTpl should be specified only as a string, not as an XTemplate, although this restriction may be removed soon.

    I've licensed this work under either GPL or MIT, which I believe should allow for any forseeable reuse.

    Please let me know of any bugs, enhancements, etc.

    The attached file contains both the UxBufList.js file, and three examples demonstrating regular, indexBar, and grouped with headers lists. You will need to edit the html files to point to your sencha touch library.

    Edit: I have joined the 21st Century and will not be posting updates in zip file format any longer. The latest will always be found here:

    https://github.com/Lioarlan/UxBufLis...ouch-Extension
    Attached Files
    Last edited by MahlerFreak; 8 Mar 2011 at 2:25 PM. Reason: Add albumdata.js back in for example

  2. #2
    Touch Premium Member
    Join Date
    Jun 2010
    Posts
    324
    Vote Rating
    2
    profunctional is on a distinguished road

      0  

    Default


    Hi, thanks for this. In the BufListGrpHdr example, if I set the indexBar: false, it breaks. How do we run the example without the index bar?

  3. #3
    Ext JS Premium Member
    Join Date
    Aug 2007
    Location
    Portland, OR
    Posts
    61
    Vote Rating
    0
    MahlerFreak is on a distinguished road

      0  

    Default


    BufList.html is set up to work without groups or index bar.

    Edit: did you want group headers but not index bar? I honestly didn't think of that, but it could probably be done pretty easily ...

  4. #4
    Sencha User SunboX's Avatar
    Join Date
    Mar 2010
    Posts
    238
    Vote Rating
    28
    SunboX has a spectacular aura about SunboX has a spectacular aura about

      0  

    Default


    Could this be used to build a " High Performance Large PICKER component" too? If so, where should i start?

  5. #5
    Ext JS Premium Member
    Join Date
    Aug 2007
    Location
    Portland, OR
    Posts
    61
    Vote Rating
    0
    MahlerFreak is on a distinguished road

      0  

    Default


    I suppose it could be - what does the application look like? I have minimal time to enhance this any further at present, but I might be able to make general suggestions ...

  6. #6
    Sencha User SunboX's Avatar
    Join Date
    Mar 2010
    Posts
    238
    Vote Rating
    28
    SunboX has a spectacular aura about SunboX has a spectacular aura about

      0  

    Default


    I did have a Picker containing a dataset of 1000 items. It shows 3 items per page. If i tap on the belonging select field, the picker (the scroller inside the picker) takes some seconds to render and if i flip (scroll) through the "pages" it´s very slow. :/
    I have a seconds Picker with (only) 60 items, its a lot faster, lets say super fast. That drives me crazy, can´t finish my app. That picker with 1000 items isn´t usable.

  7. #7
    Touch Premium Member
    Join Date
    Sep 2011
    Posts
    41
    Vote Rating
    0
    prasanna_hr is on a distinguished road

      0  

    Default ST2 porting?

    ST2 porting?


    Hi,

    Do you have a Sencha Touch 2 implementation of this?

    Thanks
    Prasanna

    Quote Originally Posted by MahlerFreak View Post
    This is the first functionality-complete release of the list component I and others have been working on in this thread:

    http://www.sencha.com/forum/showthre...dation-thread/

    Ext.ux.BufferedList is designed to be used in place of the standard Ext.List component, and supports essentially all Ext.List functions and configuration parameters, while providing the following enhancements and changes:

    - Adequate scrolling performance with large data sets. The attached examples use a data array of about 1400 items, while still providing similar scroll performance to Ext.List. This is accomplished by rendering a "sliding window" of list items based on current scroll position, rather than rendering all list items.
    - Independent support for indexBar and group headers. By setting the standard list config parameter "grouped" to true, and the extension config parameter useGroupHeaders to false, you can use an index bar without having group headers, as some native iOS applications do. Obviously, setting useGroupHeaders to true gives you standard group headers.
    - The configuration parameter "blockScrollSelect" is provided. If set to true, this prevents item selection while the list is still scrolling, so you can tap the list to stop scroll without invoking a selection - again, similar to native iOS. See the attached examples.

    The only non-intuitive configuration is a parameter called "maxItemHeight". This is set at 85 pixels by default. If you have a significant number of items in the list which will be greater than this height, you should increase the value at least to the 90th percentile or so item height, to avoid potential problems with long scrolls to the top of the list. Also, itemTpl should be specified only as a string, not as an XTemplate, although this restriction may be removed soon.

    I've licensed this work under either GPL or MIT, which I believe should allow for any forseeable reuse.

    Please let me know of any bugs, enhancements, etc.

    The attached file contains both the UxBufList.js file, and three examples demonstrating regular, indexBar, and grouped with headers lists. You will need to edit the html files to point to your sencha touch library.

    Edit: I have joined the 21st Century and will not be posting updates in zip file format any longer. The latest will always be found here:

    https://github.com/Lioarlan/UxBufLis...ouch-Extension

  8. #8
    Ext JS Premium Member
    Join Date
    Aug 2007
    Location
    Portland, OR
    Posts
    61
    Vote Rating
    0
    MahlerFreak is on a distinguished road

      0  

    Default


    Quote Originally Posted by prasanna_hr View Post
    Hi,

    Do you have a Sencha Touch 2 implementation of this?

    Thanks
    Prasanna
    Unfortunately, no. I had a version about ready to go on top of ST2 PR3, and then there were major changes to Store, DataView, and List following PR3, which will require major rewrites and a new extension of Store. Due to a very busy schedule at a new job, I don't expect to be able to complete this any time soon.

    I would hope/expect that this will be on the radar screen as core ST functionality sometime soon.

  9. #9
    Touch Premium Member
    Join Date
    Sep 2011
    Posts
    41
    Vote Rating
    0
    prasanna_hr is on a distinguished road

      0  

    Default Code?

    Code?


    Can I have the code that was working on ST2PR3? We have a need to show lists of large size (100-500). I can spend some time in changing the code to work on ST2RC.
    Thanks
    Prasanna

    Quote Originally Posted by MahlerFreak View Post
    Unfortunately, no. I had a version about ready to go on top of ST2 PR3, and then there were major changes to Store, DataView, and List following PR3, which will require major rewrites and a new extension of Store. Due to a very busy schedule at a new job, I don't expect to be able to complete this any time soon.

    I would hope/expect that this will be on the radar screen as core ST functionality sometime soon.

  10. #10
    Ext JS Premium Member
    Join Date
    Aug 2007
    Location
    Portland, OR
    Posts
    61
    Vote Rating
    0
    MahlerFreak is on a distinguished road

      0  

    Default


    Quote Originally Posted by prasanna_hr View Post
    Can I have the code that was working on ST2PR3? We have a need to show lists of large size (100-500). I can spend some time in changing the code to work on ST2RC.
    Thanks
    Prasanna
    Prasanna,

    PM sent.

    Scott

Similar Threads

  1. tobiuGrid - High Performance EditorGrid
    By tobiu in forum Community Discussion
    Replies: 23
    Last Post: 21 Dec 2010, 8:10 PM
  2. ExtJS Grid, Poor Performance with High Frequency Updates?
    By pkoa in forum Ext 3.x: Help & Discussion
    Replies: 3
    Last Post: 17 Sep 2010, 5:36 AM
  3. Interesting high performance grid
    By mankz in forum Community Discussion
    Replies: 7
    Last Post: 21 Aug 2010, 1:59 PM
  4. ExtJS performance on large forms
    By berend in forum Ext 2.x: Help & Discussion
    Replies: 5
    Last Post: 12 May 2010, 5:54 AM
  5. [FIXED] [1.1.4] ComboBox PagingToolBar to high in the dropdown list
    By mwojciechowski in forum Ext GWT: Bugs (1.x)
    Replies: 3
    Last Post: 26 Nov 2008, 9:12 PM

Thread Participants: 45

Turkiyenin en sevilen filmlerinin yer aldigi xnxx internet sitemiz olan ve porn sex tarzi bir site olan mobil porno izle sitemiz gercekten dillere destan bir durumda herkesin sevdigi bir site olarak tarihe gececege benziyor. Sitenin en belirgin ozelliklerinden birisi de Turkiyede gercekten kaliteli ve muntazam, duzenli porno izle siteleri olmamasidir. Bu yuzden iste. Ayrica en net goruntu kalitesine sahip adresinde yayinlanmaktadir. Mesela diğer sitelerimizden bahsedecek olursak, en iyi hd porno video arşivine sahip bir siteyiz. "The Best anal porn videos and slut anus, big asses movies set..."