@@ -4,6 +4,7 @@ import SharedData from 'src/shared-data'
4
4
5
5
const ENABLED_KEY = 'EVENTS_ENABLED'
6
6
const enabled = storage . get ( ENABLED_KEY )
7
+ const REGEX_RE = / ^ \/ ( .* ?) \/ ( \w * ) /
7
8
8
9
const state = {
9
10
enabled : enabled == null ? true : enabled ,
@@ -42,20 +43,41 @@ const mutations = {
42
43
}
43
44
}
44
45
46
+ const matchingEvent = ( { searchText, searchComponent, regEx } ) => e => {
47
+ const classifyComponents = SharedData . classifyComponents
48
+ let searchTerm = ( searchComponent
49
+ ? ( classifyComponents
50
+ ? classify ( e . instanceName ) : e . instanceName )
51
+ : e . eventName )
52
+
53
+ if ( regEx ) {
54
+ try {
55
+ return regEx . test ( searchTerm )
56
+ } catch ( e ) {
57
+ return searchTerm . toLowerCase ( ) . indexOf ( searchText ) > - 1
58
+ }
59
+ }
60
+
61
+ return searchTerm . toLowerCase ( ) . indexOf ( searchText ) > - 1
62
+ }
63
+
45
64
const getters = {
46
65
activeEvent : ( state , getters ) => {
47
66
return getters . filteredEvents [ state . inspectedIndex ]
48
67
} ,
49
68
filteredEvents : ( state , getters , rootState ) => {
50
- const classifyComponents = SharedData . classifyComponents
51
69
let searchText = state . filter . toLowerCase ( )
52
70
const searchComponent = / < | > / g. test ( searchText )
53
71
if ( searchComponent ) {
54
72
searchText = searchText . replace ( / < | > / g, '' )
55
73
}
56
- return state . events . filter (
57
- e => ( searchComponent ? ( classifyComponents ? classify ( e . instanceName ) : e . instanceName ) : e . eventName ) . toLowerCase ( ) . indexOf ( searchText ) > - 1
58
- )
74
+ const regExParts = state . filter . match ( REGEX_RE )
75
+ let regEx
76
+ if ( regExParts ) {
77
+ regEx = new RegExp ( regExParts [ 1 ] , regExParts [ 2 ] )
78
+ }
79
+ return state . events
80
+ . filter ( matchingEvent ( { searchText, searchComponent, regEx } ) )
59
81
}
60
82
}
61
83
0 commit comments