|
23 | 23 | <div>This instance has no reactive state.</div>
|
24 | 24 | </div>
|
25 | 25 | <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> |
28 | 31 | <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> |
51 | 38 | </div>
|
52 | 39 | </div>
|
53 | 40 | </div>
|
@@ -75,7 +62,14 @@ export default {
|
75 | 62 | },
|
76 | 63 | data () {
|
77 | 64 | return {
|
78 |
| - filter: '' |
| 65 | + filter: '', |
| 66 | + stateGroups: [ |
| 67 | + 'undefined', // data |
| 68 | + 'props', |
| 69 | + 'computed', |
| 70 | + 'vuex', |
| 71 | + 'firebase' |
| 72 | + ] |
79 | 73 | }
|
80 | 74 | },
|
81 | 75 | computed: {
|
@@ -123,20 +117,18 @@ export default {
|
123 | 117 |
|
124 | 118 | .data
|
125 | 119 | padding: 20px 0px
|
126 |
| - |
| 120 | +
|
127 | 121 | .data-wrapper
|
128 |
| - display: flex; |
129 |
| - flex-wrap: wrap; |
| 122 | + display flex |
| 123 | + flex-wrap wrap |
130 | 124 |
|
131 | 125 | .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 |
138 | 129 |
|
139 |
| - .no-fields |
140 |
| - font-size: 14px |
141 |
| - color: #ddd |
| 130 | + .data-type |
| 131 | + color #486887 |
| 132 | + padding-left 20px |
| 133 | + margin-bottom -10px |
142 | 134 | </style>
|
0 commit comments