Comments (7)
@cjolif, the intent is that it should only give you indices for items in the range. This sounds like a bug.
from dstore.
@cjolif, this is on my radar, but I haven't yet had time to resolve it.
from dstore.
@brandonpayton any progress on that one?
from dstore.
Hi @cjolif,
I had a chance to sit down with this tonight, and this turned out to be expected behavior. The crux of the issue is that dstore/Observable
is not designed to enforce ranges. If an item is inserted in the middle of a tracked range, Observable
will not notice that the insertion should cause the last item in the range to be removed because it no longer falls in the range, and if an item in a tracked range is removed from the store, Observable
will not attempt to fetch the next item that would now fall in the range.
The expected use case is that range
will be called after track
to allow you to have a single change listener over a collection you are paging. You may call track
on a ranged collection, but Observable
will not enforce the range, only the filter and sort queries. This is somewhat confusing, and we are discussing changes that would make this clearer such as removing the range
method and adding a fetchRange
method that returns an array rather than a collection.
Thanks for your patience. I apologize for the confusion and the long response response time.
from dstore.
thanks a lot @brandonpayton. I guess this means I will have to ignore myself the notification coming outside of my range.
from dstore.
@cjolif, what is your use case for tracking a single range collection? It would be good for us to be familiar with in case we can help.
from dstore.
@brandonpayton maybe I myself wrongly assumed this use-case would make sense. Let me think more about this and come back to you.
from dstore.
Related Issues (20)
- dstore/Memory#setData does not update grid. HOT 3
- question documentation - combination of stores memory/rest HOT 6
- Request _renderFilterParams fails when filter target contains parens
- cannot dojbuild that by bower_component HOT 2
- Trackable event incorrect when beforeId matched item being updated
- typedef not included in npm package or DefinitelyTyped registry
- filter issue with certain keys HOT 1
- Caching-store exception propagation
- allow filter-functions for legacy-stores
- dgrid/Rest does not parse arrays of JSON in get(1) HOT 1
- Cache mixin doesn't work with Rest without an object ID when adding when using the default Memory store for the cache
- IndexedDB fails to create index if you use a not default 'idProperty' HOT 1
- How to use filter for excluding a list of values? HOT 1
- bower.json should restrict to dojo 1.x HOT 4
- track() reports on data changed outside the collection HOT 2
- Commit 2288729 breaks existing code HOT 5
- Customizable error logging
- Dependency on @types/dojo
- Strict mode exception in Cache#_fetch() HOT 5
- RequestMemory does not honor HTTP headers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dstore.