Skip to content

Commit 393f5db

Browse files
committed
refactor events module
1 parent 32c464e commit 393f5db

File tree

4 files changed

+51
-61
lines changed

4 files changed

+51
-61
lines changed

src/devtools/views/events/EventInspector.vue

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,11 @@ import ActionHeader from 'components/ActionHeader.vue'
3232
import { mapGetters } from 'vuex'
3333
3434
export default {
35-
3635
components: {
3736
DataField,
3837
ScrollPane,
3938
ActionHeader
4039
},
41-
data () {
42-
return {
43-
showStateCopiedMessage: false,
44-
eventDataAsString: ''
45-
}
46-
},
4740
computed: {
4841
...mapGetters('events', [
4942
'activeEvent'

src/devtools/views/events/EventsHistory.vue

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
<action-header slot="header">
44
<div class="search">
55
<i class="search-icon material-icons">search</i>
6-
<input placeholder="Filter events" v-model.trim="filter" @input="filterEvents">
6+
<input placeholder="Filter events" v-model.trim="filter">
77
</div>
8-
<a class="button reset" :class="{ disabled: !rawEvents.length }" @click="reset" title="Clear Log">
8+
<a class="button reset" :class="{ disabled: !events.length }" @click="reset" title="Clear Log">
99
<i class="material-icons small">do_not_disturb</i>
1010
<span>Clear</span>
1111
</a>
@@ -15,14 +15,14 @@
1515
</a>
1616
</action-header>
1717
<div slot="scroll" class="history">
18-
<div v-if="events.length === 0" class="no-events">
18+
<div v-if="filteredEvents.length === 0" class="no-events">
1919
No events found
2020
</div>
2121
<div class="entry"
2222
v-else
23-
v-for="(event, index) in events"
24-
:class="{ active: activeEventIndex === index }"
25-
@click="step(index)">
23+
v-for="event in filteredEvents"
24+
:class="{ active: inspectedIndex === events.indexOf(event) }"
25+
@click="step(events.indexOf(event))">
2626
<div class="event">
2727
<div class="component-name">
2828
<span class="angle-bracket">&lt;</span>{{event.instanceName}}<span class="angle-bracket">&gt;</span>
@@ -45,44 +45,40 @@
4545
import ScrollPane from 'components/ScrollPane.vue'
4646
import ActionHeader from 'components/ActionHeader.vue'
4747
48-
import { mapState } from 'vuex'
48+
import { mapState, mapGetters, mapMutations } from 'vuex'
4949
5050
export default {
5151
components: {
5252
ScrollPane,
5353
ActionHeader
5454
},
5555
computed: {
56-
...mapState('events', {
57-
enabled: state => state.enabled,
58-
rawEvents: state => state.events,
59-
events: state => state.filteredEvents,
60-
activeEventIndex: state => state.activeFilteredEventIndex
61-
})
56+
filter: {
57+
get () {
58+
return this.$store.state.events.filter
59+
},
60+
set (filter) {
61+
this.$store.commit('events/UPDATE_FILTER', filter)
62+
}
63+
},
64+
...mapState('events', [
65+
'enabled',
66+
'events',
67+
'inspectedIndex'
68+
]),
69+
...mapGetters('events', [
70+
'filteredEvents'
71+
])
6272
},
73+
methods: mapMutations('events', {
74+
step: 'STEP',
75+
reset: 'RESET',
76+
toggleRecording: 'TOGGLE'
77+
}),
6378
filters: {
6479
formatTime (timestamp) {
6580
return (new Date(timestamp)).toString().match(/\d\d:\d\d:\d\d/)[0]
6681
}
67-
},
68-
data () {
69-
return {
70-
filter: ''
71-
}
72-
},
73-
methods: {
74-
step (index) {
75-
this.$store.commit('events/STEP', index)
76-
},
77-
reset () {
78-
this.$store.commit('events/RESET')
79-
},
80-
filterEvents () {
81-
this.$store.commit('events/FILTER_EVENTS', this.filter)
82-
},
83-
toggleRecording () {
84-
this.$store.commit('events/TOGGLE')
85-
}
8682
}
8783
}
8884
</script>

src/devtools/views/events/module.js

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,33 @@ const enabled = storage.get(ENABLED_KEY)
66
const state = {
77
enabled: enabled == null ? true : enabled,
88
events: [],
9-
filteredEvents: [],
10-
activeFilteredEventIndex: 0,
11-
newEventCount: 0
9+
inspectedIndex: -1,
10+
newEventCount: 0,
11+
filter: ''
1212
}
1313

1414
const mutations = {
1515
'EMIT' (state, payload) {
16-
if (state.events.length === state.filteredEvents.length) {
17-
state.filteredEvents.push(payload)
18-
}
1916
state.events.push(payload)
20-
state.activeFilteredEventIndex = state.filteredEvents.length - 1
17+
if (!state.filter) {
18+
state.inspectedIndex = state.events.length - 1
19+
}
2120
},
2221
'RESET' (state) {
2322
state.events = []
24-
state.filteredEvents = []
23+
state.inspectedIndex = -1
2524
},
26-
'STEP' (state, n) {
27-
state.activeFilteredEventIndex = n
25+
'STEP' (state, index) {
26+
state.inspectedIndex = index
2827
},
2928
'RESET_NEW_EVENT_COUNT' (state) {
3029
state.newEventCount = 0
3130
},
3231
'INCREASE_NEW_EVENT_COUNT' (state) {
3332
state.newEventCount++
3433
},
35-
'FILTER_EVENTS' (state, filter) {
36-
state.filteredEvents = state.events.filter(event => {
37-
return event.eventName.toLowerCase().includes(filter) || event.instanceName.toLowerCase().includes(filter)
38-
})
39-
state.activeFilteredEventIndex = state.filteredEvents.length - 1
34+
'UPDATE_FILTER' (state, filter) {
35+
state.filter = filter
4036
},
4137
'TOGGLE' (state) {
4238
storage.set(ENABLED_KEY, state.enabled = !state.enabled)
@@ -45,7 +41,12 @@ const mutations = {
4541
}
4642

4743
const getters = {
48-
activeEvent: state => state.filteredEvents[state.activeFilteredEventIndex]
44+
activeEvent: state => {
45+
return state.events[state.inspectedIndex]
46+
},
47+
filteredEvents: state => {
48+
return state.events.filter(e => e.eventName.indexOf(state.filter) > -1)
49+
}
4950
}
5051

5152
export default {

src/devtools/views/vuex/VuexHistory.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<action-header slot="header">
44
<div class="search">
55
<i class="material-icons">search</i>
6-
<input :class="{ invalid: filterRegexInvalid }" placeholder="Filter mutations" v-model="filter">
6+
<input :class="{ invalid: filterRegexInvalid }" placeholder="Filter mutations" v-model.trim="filter">
77
</div>
88
<a class="button commit-all" :class="{ disabled: !history.length }" @click="commitAll" title="Commit All">
99
<i class="material-icons">get_app</i>
@@ -20,11 +20,11 @@
2020
</action-header>
2121
<div slot="scroll" class="history">
2222
<div class="entry" :class="{ active: activeIndex === -1, inspected: inspectedIndex === -1 }" @click="step(-1)">
23-
<span>Base State</span>
23+
<span class="mutation-type">Base State</span>
2424
<span class="entry-actions">
2525
<a v-if="inspectedIndex === -1 && activeIndex !== -1" class="action"
2626
@click.stop="timeTravelToSelected" title="Time Travel to This State">
27-
<i class="material-icons">restore</i>
27+
<i class="material-icons medium">restore</i>
2828
<span>Time Travel</span>
2929
</a>
3030
</span>
@@ -141,7 +141,7 @@ $inspected_color = #af90d5
141141
color #881391
142142
cursor pointer
143143
padding 10px 20px
144-
font-size 14px
144+
font-size 12px
145145
background-color #fff
146146
box-shadow 0 1px 5px rgba(0,0,0,.12)
147147
height 40px
@@ -173,9 +173,9 @@ $inspected_color = #af90d5
173173
border-left 4px solid darken($inspected_color, 15%)
174174
padding-left 16px
175175
.mutation-type
176-
display inline-block
177-
vertical-align middle
176+
line-height 20px
178177
.material-icons, span, a
178+
display inline-block
179179
vertical-align middle
180180
.label
181181
float right

0 commit comments

Comments
 (0)