#8312 closed defect (fixed)
dojox.data.jsonPathStore fails with non-Array data
Reported by: | Ozzi Lee | Owned by: | Dustin Machi |
---|---|---|---|
Priority: | high | Milestone: | 1.4 |
Component: | DojoX Data | Version: | 1.2.3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
Creating a dojox.data.jsonPathStore with an Object instead of an Array causes buildIndex to incorrectly index the data.
The conditional:
if (!dojo.isArray(data[i])) {
on line 212 (rev 15617) needs to be duplicated in the else branch so that a reference is not added for arrays at the root of the Object.
Without this fix, removing rows from the data store will not work.
The workaround is to use a one-element array [object] as the data, rather than object itself.
Change History (5)
comment:1 Changed 11 years ago by
Owner: | changed from Jared Jurkiewicz to Kris Zyp |
---|
comment:2 Changed 11 years ago by
Owner: | changed from Kris Zyp to Dustin Machi |
---|
comment:3 Changed 11 years ago by
Milestone: | tbd → future |
---|
comment:4 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:5 Changed 10 years ago by
Milestone: | future → 1.4 |
---|
Note: See
TracTickets for help on using
tickets.
(In [20831]) jsonPathStore is out of sync due to the more advanced dojox.json capabilities. To avoid confusion with these, I'm removing this widget as I dont' plan to support it going forward. There is an equivalent widget which uses dojox.json ref and query in dojoc/dmachi/data called JsonStore? for those who still need this capability. While they are not drop in replacements of each other, they are pretty close and it should not take a significant amount of time to convert, and the benefits gained in performance and querying flexibility are worth it. closes #7473 closes #8175 closes #7331 closes #7403 closes #8312 closes #8334 closes #9976 closes #10290