Use .entries()

This commit is contained in:
Travis Ralston 2020-07-16 13:00:02 -06:00
parent 545f11d742
commit 9c9ff281e7

View file

@ -19,7 +19,7 @@ import PropTypes from 'prop-types';
import * as sdk from '../../../index'; import * as sdk from '../../../index';
import SyntaxHighlight from '../elements/SyntaxHighlight'; import SyntaxHighlight from '../elements/SyntaxHighlight';
import { _t } from '../../../languageHandler'; import { _t } from '../../../languageHandler';
import { Room } from "matrix-js-sdk"; import { Room, MatrixEvent } from "matrix-js-sdk";
import Field from "../elements/Field"; import Field from "../elements/Field";
import MatrixClientContext from "../../../contexts/MatrixClientContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext";
import {useEventEmitter} from "../../../hooks/useEventEmitter"; import {useEventEmitter} from "../../../hooks/useEventEmitter";
@ -327,6 +327,8 @@ class RoomStateExplorer extends React.PureComponent {
static contextType = MatrixClientContext; static contextType = MatrixClientContext;
roomStateEvents: Map<string, Map<string, MatrixEvent>>;
constructor(props) { constructor(props) {
super(props); super(props);
@ -412,19 +414,16 @@ class RoomStateExplorer extends React.PureComponent {
if (this.state.eventType === null) { if (this.state.eventType === null) {
list = <FilteredList query={this.state.queryEventType} onChange={this.onQueryEventType}> list = <FilteredList query={this.state.queryEventType} onChange={this.onQueryEventType}>
{ {
Array.from(this.roomStateEvents.keys()).map((evType) => { Array.from(this.roomStateEvents.entries()).map(([eventType, allStateKeys]) => {
const stateGroup = this.roomStateEvents.get(evType);
const stateKeys = Array.from(stateGroup.keys());
let onClickFn; let onClickFn;
if (stateKeys.length === 1 && stateKeys[0] === '') { if (allStateKeys.size() === 1 && allStateKeys.has("")) {
onClickFn = this.onViewSourceClick(stateGroup.get(stateKeys[0])); onClickFn = this.onViewSourceClick(allStateKeys.get(""));
} else { } else {
onClickFn = this.browseEventType(evType); onClickFn = this.browseEventType(eventType);
} }
return <button className={classes} key={evType} onClick={onClickFn}> return <button className={classes} key={eventType} onClick={onClickFn}>
{ evType } {eventType}
</button>; </button>;
}) })
} }
@ -434,8 +433,7 @@ class RoomStateExplorer extends React.PureComponent {
list = <FilteredList query={this.state.queryStateKey} onChange={this.onQueryStateKey}> list = <FilteredList query={this.state.queryStateKey} onChange={this.onQueryStateKey}>
{ {
Array.from(stateGroup.keys()).map((stateKey) => { Array.from(stateGroup.entries()).map(([stateKey, ev]) => {
const ev = stateGroup.get(stateKey);
return <button className={classes} key={stateKey} onClick={this.onViewSourceClick(ev)}> return <button className={classes} key={stateKey} onClick={this.onViewSourceClick(ev)}>
{ stateKey } { stateKey }
</button>; </button>;