Hybrid View
-
8 Jan 2013 9:41 AM #1
Buffered store.findExact() throw Object [object Object] has no method 'findIndexBy'
Buffered store.findExact() throw Object [object Object] has no method 'findIndexBy'
Hi again!
I found that method store.findExact() call store.data.findIndexBy();
For most stores store.data property is Ext.util.MixedCollection which has findIndexBy() method.
But if store.buffered data property is PageMap (extend: 'Ext.util.LruCache', 'Ext.util.HashMap'). All this classes has no findIndexBy method =(
Code:if (me.buffered) { me.data = new me.PageMap({ store: me, pageSize: me.pageSize, maxSize: me.purgePageCount, listeners: { // Whenever PageMap gets cleared, it means we re no longer interested in // any outstanding page prefetches, so cancel tham all clear: me.onPageMapClear, scope: me } }); me.pageRequests = {}; me.sortOnLoad = false; me.filterOnLoad = false; } else { me.data = new Ext.util.MixedCollection(false, Ext.data.Store.recordIdFn); me.data.pageSize = me.pageSize; }
-
9 Jan 2013 3:26 PM #2
How do you initiate this search? Since a buffered store is designed to be a partial view of the remote data, at best, only some records will be local and hence findable.
I recall that we did merge a fix (it may be new to 4.2.0 beta 2 - http://www.sencha.com/forum/showthre...-Now-Available) that should allow you to find records that are "in view" under the assumption that this is often initiated by a row action or similar and the record is certain to be local.
Beyond that special case, all other operations that would require complete knowledge will probably fail in this way as there is no point in implementing methods that cannot possibly work with partial data.Don Griffin
Ext JS Development Team Lead
Check the docs. Learn how to (properly) report a framework issue and a Sencha Cmd issue
"Use the source, Luke!"
-
19 Mar 2013 1:32 PM #3
This is not fixed in the 4.2.0 release. As long as store is buffered, both find and query fail.
-
19 Mar 2013 10:14 PM #4
We have a "fix" for this ready to go.
But you do understand the limitation don't you?
You will only get to search the few patches of the dataset that you have visited.Search the forum: http://www.google.com/coop/cse?cx=01...%3Az7of1ufqccu
Read the docs too: http://extjs.com/deploy/dev/docs/
Scope: http://extjs.com/forum/showthread.ph...642#post257642
-
21 Mar 2013 8:45 AM #5
Thanks for the reply. Yes I do understand the limitation. In our app, we make sure the record we want find is fetched from the server side in a buffered store. So what is the fix? or when it will be available?
-
21 Mar 2013 10:02 AM #6
If that is the case, why is the store buffered then? Just want to understand the use case here
Don Griffin
Ext JS Development Team Lead
Check the docs. Learn how to (properly) report a framework issue and a Sencha Cmd issue
"Use the source, Luke!"


Reply With Quote