Skip to content

Commit 41ffbe1

Browse files
committed
Add basic prop: collapsedOnClickBrackets.
1 parent ded3213 commit 41ffbe1

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

example/App.vue

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
<label>highlightMouseoverNode</label>
2525
<input type="checkbox" v-model="highlightMouseoverNode">
2626
</div>
27+
<div>
28+
<label>collapsedOnClickBrackets</label>
29+
<input type="checkbox" v-model="collapsedOnClickBrackets">
30+
</div>
2731
<div>
2832
<label>deep</label>
2933
<select v-model="deep">
@@ -43,6 +47,7 @@
4347
:show-length="showLength"
4448
:show-line="showLine"
4549
:highlight-mouseover-node="highlightMouseoverNode"
50+
:collapsed-on-click-brackets="collapsedOnClickBrackets"
4651
@click="handleClick">
4752
</vue-json-pretty>
4853
</div>
@@ -96,6 +101,10 @@
96101
<label>highlightSelectedNode</label>
97102
<input type="checkbox" v-model="highlightSelectedNode">
98103
</div>
104+
<div>
105+
<label>collapsedOnClickBrackets</label>
106+
<input type="checkbox" v-model="collapsedOnClickBrackets">
107+
</div>
99108
<div>
100109
<label>deep</label>
101110
<select v-model="deep">
@@ -124,6 +133,7 @@
124133
:show-length="showLength"
125134
:show-line="showLine"
126135
:select-on-click-node="selectOnClickNode"
136+
:collapsed-on-click-brackets="collapsedOnClickBrackets"
127137
v-model="value"
128138
:path-selectable="((path, data) => typeof data !== 'number')"
129139
:selectable-type="selectableType"
@@ -176,6 +186,7 @@ export default {
176186
highlightMouseoverNode: true,
177187
highlightSelectedNode: true,
178188
selectOnClickNode: true,
189+
collapsedOnClickBrackets: true,
179190
path: 'res',
180191
deep: 3,
181192
itemData: {},

src/components/app.vue

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
:visible.sync="visible"
2424
:data="data"
2525
:show-length="showLength"
26+
:collapsed-on-click-brackets="collapsedOnClickBrackets"
2627
:show-comma="notLastKey">
2728
<span v-if="currentDeep > 1 && !Array.isArray(parentData)" class="vjs-key">{{ keyFormatter(currentKey) }}:</span>
2829
</brackets-left>
@@ -51,6 +52,7 @@
5152
:selectable-type="selectableType"
5253
:show-select-controller="showSelectController"
5354
:select-on-click-node="selectOnClickNode"
55+
:collapsed-on-click-brackets="collapsedOnClickBrackets"
5456
:current-key="key"
5557
:current-deep="currentDeep + 1"
5658
@click="handleItemClick"
@@ -62,6 +64,7 @@
6264
<brackets-right
6365
:visible.sync="visible"
6466
:data="data"
67+
:collapsed-on-click-brackets="collapsedOnClickBrackets"
6568
:show-comma="notLastKey">
6669
</brackets-right>
6770
</template>
@@ -164,6 +167,11 @@
164167
type: Boolean,
165168
default: true
166169
},
170+
// collapsed control
171+
collapsedOnClickBrackets: {
172+
type: Boolean,
173+
default: true
174+
},
167175
/* outer props */
168176
169177
/* inner props */

src/mixins/brackets-mixin.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ export default {
77
data: {
88
required: true
99
},
10-
showComma: Boolean
10+
showComma: Boolean,
11+
collapsedOnClickBrackets: Boolean
1112
},
1213
computed: {
1314
dataVisible: {
1415
get () {
1516
return this.visible
1617
},
1718
set (val) {
18-
this.$emit('update:visible', val)
19+
if (this.collapsedOnClickBrackets) {
20+
this.$emit('update:visible', val)
21+
}
1922
}
2023
}
2124
},

0 commit comments

Comments
 (0)