2
0
mirror of https://github.com/tenrok/vue-json-viewer.git synced 2026-06-20 20:00:37 +03:00

Merge pull request #15 from s-mage/master

Improve displaying of objects and arrays
This commit is contained in:
陈峰
2019-05-31 21:21:13 +08:00
committed by GitHub
2 changed files with 14 additions and 16 deletions
+9 -11
View File
@@ -51,7 +51,7 @@ export default {
elements.push(h('span', { elements.push(h('span', {
class: { class: {
'jv-toggle': true, 'jv-toggle': true,
'open': !!this.expand, 'open': !!this.expand,
}, },
on: { on: {
click: this.toggle click: this.toggle
@@ -62,20 +62,18 @@ export default {
elements.push(h('span', { elements.push(h('span', {
class: { class: {
'jv-item': true, 'jv-item': true,
'jv-array': true, 'jv-array': true,
}, },
domProps: { domProps: {
innerHTML: '[' innerHTML: '['
} }
})) }))
for (let key in this.ordered) { this.ordered.forEach((value, key) => {
let value = this.ordered[key]
elements.push(h(JsonBox, { elements.push(h(JsonBox, {
key, key,
style: { style: {
display: !this.expand ? 'none' : undefined display: this.expand ? undefined : 'none'
}, },
props: { props: {
sort: this.sort, sort: this.sort,
@@ -84,15 +82,15 @@ export default {
value, value,
} }
})) }))
} })
if (!this.expand) { if (!this.expand && this.jsonValue.length) {
elements.push(h('span', { elements.push(h('span', {
style: { style: {
display: this.expand ? 'none' : undefined display: undefined
}, },
class: { class: {
'jv-ellipsis': true, 'jv-ellipsis': true,
}, },
on: { on: {
click: this.toggle click: this.toggle
@@ -109,7 +107,7 @@ export default {
elements.push(h('span', { elements.push(h('span', {
class: { class: {
'jv-item': true, 'jv-item': true,
'jv-array': true, 'jv-array': true,
}, },
domProps: { domProps: {
innerHTML: ']' innerHTML: ']'
+5 -5
View File
@@ -53,7 +53,7 @@ export default {
elements.push(h('span', { elements.push(h('span', {
class: { class: {
'jv-toggle': true, 'jv-toggle': true,
'open': !!this.expand, 'open': !!this.expand,
}, },
on: { on: {
click: this.toggle click: this.toggle
@@ -64,7 +64,7 @@ export default {
elements.push(h('span', { elements.push(h('span', {
class: { class: {
'jv-item': true, 'jv-item': true,
'jv-object': true, 'jv-object': true,
}, },
domProps: { domProps: {
innerHTML: '{' innerHTML: '{'
@@ -90,13 +90,13 @@ export default {
} }
} }
if (!this.expand) { if (!this.expand && Object.keys(this.jsonValue).length) {
elements.push(h('span', { elements.push(h('span', {
style: { style: {
display: this.expand ? 'none' : undefined display: this.expand ? 'none' : undefined
}, },
class: { class: {
'jv-ellipsis': true, 'jv-ellipsis': true,
}, },
on: { on: {
click: this.toggle click: this.toggle
@@ -113,7 +113,7 @@ export default {
elements.push(h('span', { elements.push(h('span', {
class: { class: {
'jv-item': true, 'jv-item': true,
'jv-object': true, 'jv-object': true,
}, },
domProps: { domProps: {
innerHTML: '}' innerHTML: '}'