Skip to content

Commit bd70603

Browse files
committed
tweak component state inspector display + fix tests
1 parent f17335c commit bd70603

File tree

3 files changed

+33
-41
lines changed

3 files changed

+33
-41
lines changed

src/backend/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ function processFirebaseBindings (instance) {
509509
if (refs) {
510510
return Object.keys(refs).map(key => {
511511
return {
512-
type: 'firebase binding',
512+
type: 'firebase',
513513
key,
514514
value: instance[key]
515515
}

src/devtools/views/components/ComponentInspector.vue

Lines changed: 29 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -23,31 +23,18 @@
2323
<div>This instance has no reactive state.</div>
2424
</div>
2525
<div v-else class="data-wrapper">
26-
<div class="data-el">
27-
<div class="data-type">data</div>
26+
<div
27+
v-for="type in stateGroups"
28+
v-if="filteredState[type]"
29+
:class="['data-el', type]">
30+
<div class="data-type">{{ type === 'undefined' ? 'data' : type }}</div>
2831
<div class="data-fields">
29-
<div v-if="filteredState.undefined">
30-
<data-field v-for="field in filteredState.undefined" :key="field.key" :field="field" :depth="0"></data-field>
31-
</div>
32-
<span v-else class="no-fields">No data</span>
33-
</div>
34-
</div>
35-
<div class="data-el">
36-
<div class="data-type">computed</div>
37-
<div class="data-fields">
38-
<div v-if="filteredState.computed">
39-
<data-field v-for="field in filteredState.computed" :key="field.key" :field="field" :depth="0"></data-field>
40-
</div>
41-
<span v-else class="no-fields">No computed data</span>
42-
</div>
43-
</div>
44-
<div class="data-el">
45-
<div class="data-type">props</div>
46-
<div class="data-fields">
47-
<div v-if="filteredState.prop">
48-
<data-field v-for="field in filteredState.prop" :key="field.key" :field="field" :depth="0"></data-field>
49-
</div>
50-
<span v-else class="no-fields">No props</span>
32+
<data-field
33+
v-for="field in filteredState[type]"
34+
:key="field.key"
35+
:field="field"
36+
:depth="0">
37+
</data-field>
5138
</div>
5239
</div>
5340
</div>
@@ -75,7 +62,14 @@ export default {
7562
},
7663
data () {
7764
return {
78-
filter: ''
65+
filter: '',
66+
stateGroups: [
67+
'undefined', // data
68+
'props',
69+
'computed',
70+
'vuex',
71+
'firebase'
72+
]
7973
}
8074
},
8175
computed: {
@@ -123,20 +117,18 @@ export default {
123117
124118
.data
125119
padding: 20px 0px
126-
120+
127121
.data-wrapper
128-
display: flex;
129-
flex-wrap: wrap;
122+
display flex
123+
flex-wrap wrap
130124
131125
.data-el
132-
padding: 0px 10px
133-
flex: 1 0 33.33%;
134-
135-
.data-type
136-
color: #3ba776
137-
padding-left: 20px
126+
padding 0px 10px
127+
flex 1 0 33.33%
128+
font-size 14px
138129
139-
.no-fields
140-
font-size: 14px
141-
color: #ddd
130+
.data-type
131+
color #486887
132+
padding-left 20px
133+
margin-bottom -10px
142134
</style>

test/specs/test.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ module.exports = {
2727
// select child instance
2828
.click('.instance .instance:nth-child(1) .self')
2929
.assert.containsText('.component-name', 'Counter')
30-
.assert.containsText('.data-field', 'count:0 computed')
31-
.assert.containsText('.data-field:nth-child(2)', 'hello:undefined')
32-
.assert.containsText('.data-field:nth-child(3)', 'test:1 computed')
30+
.assert.containsText('.data-el.computed .data-field', 'count:0')
31+
.assert.containsText('.data-el.computed .data-field:nth-child(2)', 'test:1')
32+
.assert.containsText('.data-el.firebase .data-field', 'hello:undefined')
3333

3434
// expand child instance
3535
.click('.instance .instance:nth-child(2) .arrow-wrapper')

0 commit comments

Comments
 (0)