@@ -19,6 +19,7 @@ import FilteredList from "./FilteredList";
19
19
import Spinner from "../../elements/Spinner" ;
20
20
import SyntaxHighlight from "../../elements/SyntaxHighlight" ;
21
21
import { useAsyncMemo } from "../../../../hooks/useAsyncMemo" ;
22
+ import LabelledToggleSwitch from "../../elements/LabelledToggleSwitch" ;
22
23
23
24
export const StateEventEditor : React . FC < IEditorProps > = ( { mxEvent, onBack } ) => {
24
25
const context = useContext ( DevtoolsContext ) ;
@@ -114,6 +115,7 @@ const RoomStateExplorerEventType: React.FC<IEventTypeProps> = ({ eventType, onBa
114
115
const [ query , setQuery ] = useState ( "" ) ;
115
116
const [ event , setEvent ] = useState < MatrixEvent | null > ( null ) ;
116
117
const [ history , setHistory ] = useState ( false ) ;
118
+ const [ showEmptyState , setShowEmptyState ] = useState ( true ) ;
117
119
118
120
const events = context . room . currentState . events . get ( eventType ) ! ;
119
121
@@ -149,10 +151,17 @@ const RoomStateExplorerEventType: React.FC<IEventTypeProps> = ({ eventType, onBa
149
151
return (
150
152
< BaseTool onBack = { onBack } >
151
153
< FilteredList query = { query } onChange = { setQuery } >
152
- { Array . from ( events . entries ( ) ) . map ( ( [ stateKey , ev ] ) => (
153
- < StateEventButton key = { stateKey } label = { stateKey } onClick = { ( ) => setEvent ( ev ) } />
154
- ) ) }
154
+ { Array . from ( events . entries ( ) )
155
+ . filter ( ( [ _ , ev ] ) => showEmptyState || Object . keys ( ev . getContent ( ) ) . length > 0 )
156
+ . map ( ( [ stateKey , ev ] ) => (
157
+ < StateEventButton key = { stateKey } label = { stateKey } onClick = { ( ) => setEvent ( ev ) } />
158
+ ) ) }
155
159
</ FilteredList >
160
+ < LabelledToggleSwitch
161
+ label = { _t ( "devtools|show_empty_content_events" ) }
162
+ onChange = { setShowEmptyState }
163
+ value = { showEmptyState }
164
+ />
156
165
</ BaseTool >
157
166
) ;
158
167
} ;
0 commit comments