1. #1
    Sencha User
    Join Date
    Nov 2007
    Posts
    115
    Vote Rating
    8
    kerbo is on a distinguished road

      0  

    Default [4.2] Missing method removeRange in Ext.util.LruCache class

    [4.2] Missing method removeRange in Ext.util.LruCache class


    When testing 4.2, my application tried to do a removeAll on an empty store and hit this error

    Uncaught TypeError: Object [object Object] has no method 'removeRange'


    PHP Code:
    if (removeRange) {
    data.removeRange(records.startremoveCount);

    at row 72223 in ext-all-debug

    data is a "Ext.util.LruCache" class and sure enough, this method doesn't exist on the class.

  2. #2
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    17,046
    Vote Rating
    657
    evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute

      0  

    Default


    Can you outline the use case for wanting to clear a buffered store?
    Evan Trimboli
    Sencha Developer
    Twitter - @evantrimboli
    Don't be afraid of the source code!

  3. #3
    Sencha User
    Join Date
    Nov 2007
    Posts
    115
    Vote Rating
    8
    kerbo is on a distinguished road

      0  

    Default


    I have a set of search filters for the grid. When the person clears the filters, I empty the grid.

    I don't check to see if the grid is already empty. I could, but his code has worked since 3.x days.

    I added the grid to use a buffered store in 4.1.

  4. #4
    Sencha Premium Member
    Join Date
    Nov 2011
    Posts
    60
    Vote Rating
    1
    avcmc is on a distinguished road

      0  

    Default Getting the same error too

    Getting the same error too


    We are also getting the error of removeRange not being a function in store when using removeAll to delete all the records of an infinite grid. Any clues on that?

    Thanks.

  5. #5
    Sencha User
    Join Date
    Nov 2007
    Posts
    115
    Vote Rating
    8
    kerbo is on a distinguished road

      0  

    Default


    Did this problem get classified as a bug?

  6. #6
    Ext JS Premium Member
    Join Date
    Oct 2007
    Posts
    83
    Vote Rating
    2
    miti is on a distinguished road

      0  

    Default


    Same problem. Tried the following code - no errors but doesn't do anything either:

    Code:
    this.store.remove(this.store.getRange(0, this.store.getCount()));

  7. #7
    Sencha User
    Join Date
    Aug 2011
    Posts
    3
    Vote Rating
    0
    fshnet is on a distinguished road

      0  

    Default


    Same problem here as well
    Any workarounds for this?
    Is there an alternative way to empty a grid panel?

  8. #8
    Sencha User
    Join Date
    Nov 2007
    Posts
    115
    Vote Rating
    8
    kerbo is on a distinguished road

      1  

    Default


    My workaround is to load the store with an empty array

    store.loadData([]);

    This will clear the store but you won't get any events.

  9. #9
    Sencha Premium Member
    Join Date
    Jul 2012
    Posts
    105
    Vote Rating
    32
    jptrainor will become famous soon enough jptrainor will become famous soon enough

      0  

    Default


    and.... same problem for me.

    I have a grid that loads search results. When the user changes their query I do a store.removeAll() followed by a store.loadPage(1). Everything worked fine until I set buffered:true in an effort to switch from ordinary paging to infinite scrolling.

    ahh... the joys... a hiccup at ever step

  10. #10
    Sencha User
    Join Date
    Nov 2011
    Posts
    1
    Vote Rating
    0
    yanwuyue is on a distinguished road

      0  

    Default store.data.clear()

    store.data.clear()


    store.data.clear()