insightful and honest. Understanding the philosophy of why a thing is
the aforementioned JSON results in a data store with no data. :(
I do think I've a new Tagline for dojo. "Making the complex,
Anyway I gave up and just used an old fashioned select box. Looks
> I agree that lots of work still needs to be done on making use of stores
> easier and more robust. Right now it can be too difficult to use in
> what are simple case. However...
>
> > Honestly I don't want to use a datastore to do it. Seems like a
> > complete waste of memory and CPU.
>
> The fact is regardless of whether or not you have to declare a store or
> even if a widget actually uses something called a store, you are using
> one. This doesn't necessarily mean a dojo.data store, but every widget
> that visualizes some data set must be able to have access to a data set
> that it understands how to access and view and potentially to manipulate
> as well.
>
> In the previous versions of dojo each widget handled its data on its
> own. This of course led to problems that the particular data set that
> they knew how to manage didn't quite match up with what the user needed
> or wanted. Or they needed to be retrieved from the server in a lazy
> loaded way. Or lazy loading work, but not in the way that a particular
> dev needed it to work. dojo.data does nothing more than split that
> functionality outside of the widget so stores could be defined in some
> standard way that lets the developers write whatever code they might
> like to access their server data, but still provides widgets a common
> interface so they don't have to be rewritten, extended or whatever with
> each new use case.
>
> Now, bugs aside and not withstanding some adjustments that might be
> needed to the dojo.data api's themselves, using stores should ultimately
> reduce the number of instances of a piece of data because one store can
> be used by multiple widgets. It ultimately also requires less widget
> code to be written and downloaded.
>
> > However not using a datastore does
> > not appear to be an option.
>
> Actually in some cases this is already the case, but as mentioned above
> is only illusory. For example, the combobox widget can take normal
> <option> tags as children. However what happens in reality is that the
> widget will then ingest that data and create the store on its own.
> Having capabilities like this available across the full set of widgets
> that use dojo data would go along way towards making some of the simple
> cases simpler. (
>
> *on a side note for lurkers: I would say however that widgets that do
> this should not automatically dojo.require() the store type they want to
> use as you then have to get that code/store even if you don't want to
> use it and that can be expensive. I would prefer it to just throw an
> error if you tried to use a widget in this way and hadn't included an
> appropriate store. It would also be preferable to allow usage like this
> to specify which type of store would be created by default, though this
> might not be practical in some circumstances. Doing this allow
> automatic creation, but if the rest of the app is using a different
> store type, it doesn't require that store to be loaded.)
>
> So baring that, I want to populate a
> > datastore with the above object without having to read it from the
> > server. I already have the data it was pulled from the server in a
> > much more complex format and is being used for may things. the above
> > sample is a derived subset of that data.
> >
> > what I'd love to do is this:
> >
> > dijit.form.FiteringSelect.store = pageJSON;
> >
>
> This won't work because that is passing a js object in and the filtering
> select would be expecting that to be a store instance, not a js object.
>
> > baring that I'd like to do this:
> >
> > store = new dojo.data.SomeKindOfStore( pageJSON )
> > dijit.form.FilteringSelect.store = store;
> >
>
> This in general is correct, however i think in practical terms that
> right now most data using widgets expect to have a store at creation
> time. So your stores would need to be created before the widget was
> instantiate.
>
> > What I don't want to do is go to the server for data I already have.
> >
> You don't have to go to the server for the data you already have.
> ItemFileReadStore takes a set of data, formatted in its special way, and
> makes it available locally. You could create your stores right at the
> beginning of your app for example (not in addOnLoad() and before the
> <body>) and that store could be avialable to anything you either markup
> or programmatically create later.
>
>
> Dustin
>
>
> _______________________________________________
> FAQ:
http://dojotoolkit.org/support/faq> Book:
http://dojotoolkit.org/docs/book> Forums:
http://dojotoolkit.org/forum>
Dojo-interest@...
>
http://dojotoolkit.org/mailman/listinfo/dojo-interest>
To pretend, I actually do the thing: I have therefore only pretended to pretend.