Skip to content

Commit cc2ee5e

Browse files
authored
Add toggle to hide empty state in devtools (#30352)
* Add toggle to hide empty state in devtools * use translated string * lint * inverse logic(`hide`->`show`) * move entry in i18n to correct position
1 parent 774e0e8 commit cc2ee5e

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

src/components/views/dialogs/devtools/RoomState.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import FilteredList from "./FilteredList";
1919
import Spinner from "../../elements/Spinner";
2020
import SyntaxHighlight from "../../elements/SyntaxHighlight";
2121
import { useAsyncMemo } from "../../../../hooks/useAsyncMemo";
22+
import LabelledToggleSwitch from "../../elements/LabelledToggleSwitch";
2223

2324
export const StateEventEditor: React.FC<IEditorProps> = ({ mxEvent, onBack }) => {
2425
const context = useContext(DevtoolsContext);
@@ -114,6 +115,7 @@ const RoomStateExplorerEventType: React.FC<IEventTypeProps> = ({ eventType, onBa
114115
const [query, setQuery] = useState("");
115116
const [event, setEvent] = useState<MatrixEvent | null>(null);
116117
const [history, setHistory] = useState(false);
118+
const [showEmptyState, setShowEmptyState] = useState(true);
117119

118120
const events = context.room.currentState.events.get(eventType)!;
119121

@@ -149,10 +151,17 @@ const RoomStateExplorerEventType: React.FC<IEventTypeProps> = ({ eventType, onBa
149151
return (
150152
<BaseTool onBack={onBack}>
151153
<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+
))}
155159
</FilteredList>
160+
<LabelledToggleSwitch
161+
label={_t("devtools|show_empty_content_events")}
162+
onChange={setShowEmptyState}
163+
value={showEmptyState}
164+
/>
156165
</BaseTool>
157166
);
158167
};

src/i18n/strings/en_EN.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -863,6 +863,7 @@
863863
"elementCallUrl": "Element Call URL"
864864
},
865865
"settings_explorer": "Settings explorer",
866+
"show_empty_content_events": "Show events with empty content",
866867
"show_hidden_events": "Show hidden events in timeline",
867868
"spaces": {
868869
"one": "<space>",

0 commit comments

Comments
 (0)