parent
3363c2df8a
commit
b09dbca3fd
|
@ -4,7 +4,7 @@ https://github.com/josdejong/jsoneditor
|
||||||
|
|
||||||
## not yet published, version 8.6.2
|
## not yet published, version 8.6.2
|
||||||
|
|
||||||
- Fixed #926: Keep order of properties when updating an object.
|
- Fixed #917, #926: Keep order of properties when updating an object.
|
||||||
- Fixed #928: Custom root name not reflected in path of navigation bar.
|
- Fixed #928: Custom root name not reflected in path of navigation bar.
|
||||||
- Upgraded to `ajv@6.12.0`
|
- Upgraded to `ajv@6.12.0`
|
||||||
|
|
||||||
|
|
|
@ -1490,31 +1490,16 @@ export class Node {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: for better efficiency, we could create a property `isDuplicate` on all of the childs
|
// we reckon with the order of the properties too.
|
||||||
// and keep that up to date. This should make deepEqual about 20% faster.
|
const props = Object.keys(json)
|
||||||
const props = {}
|
if (this.childs.length !== props.length) {
|
||||||
let propCount = 0
|
|
||||||
for (i = 0; i < this.childs.length; i++) {
|
|
||||||
const child = this.childs[i]
|
|
||||||
if (!props[child.field]) {
|
|
||||||
// We can have childs with duplicate field names.
|
|
||||||
// We take the first, and ignore the others.
|
|
||||||
props[child.field] = true
|
|
||||||
propCount++
|
|
||||||
|
|
||||||
if (!(child.field in json)) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!child.deepEqual(json[child.field])) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (propCount !== Object.keys(json).length) {
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
for (i = 0; i < props.length; i++) {
|
||||||
|
if (this.childs[i].field !== props[i]) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this.value !== json) {
|
if (this.value !== json) {
|
||||||
return false
|
return false
|
||||||
|
|
Loading…
Reference in New Issue