Merge pull request #2804 from matrix-org/devtools_serverlist

Add View Servers in Room to Devtools
pull/21833/head
Travis Ralston 2019-05-10 11:32:17 -06:00 committed by GitHub
commit 3161682836
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 1 deletions

View File

@ -18,7 +18,12 @@ limitations under the License.
margin: 10px 0; margin: 10px 0;
} }
.mx_DevTools_RoomStateExplorer_button, .mx_DevTools_RoomStateExplorer_query { .mx_DevTools_ServersInRoomList_button {
/* Set the cursor back to default as `.mx_Dialog button` sets it to pointer */
cursor: default !important;
}
.mx_DevTools_RoomStateExplorer_button, .mx_DevTools_ServersInRoomList_button, .mx_DevTools_RoomStateExplorer_query {
margin-bottom: 10px; margin-bottom: 10px;
width: 100%; width: 100%;
} }

View File

@ -551,11 +551,53 @@ class AccountDataExplorer extends DevtoolsComponent {
} }
} }
class ServersInRoomList extends DevtoolsComponent {
static getLabel() { return _t('View Servers in Room'); }
static propTypes = {
onBack: PropTypes.func.isRequired,
};
constructor(props, context) {
super(props, context);
const room = MatrixClientPeg.get().getRoom(this.context.roomId);
const servers = new Set();
room.currentState.getStateEvents("m.room.member").forEach(ev => servers.add(ev.getSender().split(":")[1]));
this.servers = Array.from(servers).map(s =>
<button key={s} className="mx_DevTools_ServersInRoomList_button">
{ s }
</button>);
this.state = {
query: '',
};
}
onQuery = (query) => {
this.setState({ query });
}
render() {
return <div>
<div className="mx_Dialog_content">
<FilteredList query={this.state.query} onChange={this.onQuery}>
{ this.servers }
</FilteredList>
</div>
<div className="mx_Dialog_buttons">
<button onClick={this.props.onBack}>{ _t('Back') }</button>
</div>
</div>;
}
}
const Entries = [ const Entries = [
SendCustomEvent, SendCustomEvent,
RoomStateExplorer, RoomStateExplorer,
SendAccountData, SendAccountData,
AccountDataExplorer, AccountDataExplorer,
ServersInRoomList,
]; ];
export default class DevtoolsDialog extends React.Component { export default class DevtoolsDialog extends React.Component {

View File

@ -1133,6 +1133,7 @@
"Filter results": "Filter results", "Filter results": "Filter results",
"Explore Room State": "Explore Room State", "Explore Room State": "Explore Room State",
"Explore Account Data": "Explore Account Data", "Explore Account Data": "Explore Account Data",
"View Servers in Room": "View Servers in Room",
"Toolbox": "Toolbox", "Toolbox": "Toolbox",
"Developer Tools": "Developer Tools", "Developer Tools": "Developer Tools",
"An error has occurred.": "An error has occurred.", "An error has occurred.": "An error has occurred.",