From 16846c36fd8d878f4465bca4553ce465dd3221c0 Mon Sep 17 00:00:00 2001 From: Erik Johnston <erikj@matrix.org> Date: Tue, 21 Jul 2015 14:46:42 +0100 Subject: [PATCH] Handle default named rooms when editing room names --- skins/base/views/molecules/RoomHeader.js | 8 +++++--- skins/base/views/organisms/RoomView.js | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/skins/base/views/molecules/RoomHeader.js b/skins/base/views/molecules/RoomHeader.js index fdf4d7e5..e08f2651 100644 --- a/skins/base/views/molecules/RoomHeader.js +++ b/skins/base/views/molecules/RoomHeader.js @@ -28,7 +28,7 @@ module.exports = React.createClass({ mixins: [RoomHeaderController], onNameChange: function(new_name) { - if (this.props.room.name != new_name) { + if (this.props.room.name != new_name && new_name) { MatrixClientPeg.get().setRoomName(this.props.room.roomId, new_name); } }, @@ -69,8 +69,10 @@ module.exports = React.createClass({ var topic_el = null; var save_button = null; var settings_button = null; + var actual_name = this.props.room.currentState.getStateEvents('m.room.name', ''); + if (actual_name) actual_name = actual_name.getContent().name; if (this.props.editing) { - name = <input type="text" defaultValue={this.props.room.name} ref="name_edit"/>; + name = <input type="text" defaultValue={actual_name} placeHolder="Name" ref="name_edit"/>; // if (topic) topic_el = <div className="mx_RoomHeader_topic"><textarea>{ topic.getContent().topic }</textarea></div> save_button = ( <div className="mx_RoomHeader_button"onClick={this.props.onSaveClick}> @@ -78,7 +80,7 @@ module.exports = React.createClass({ </div> ); } else { - name = <EditableText initialValue={this.props.room.name} onValueChanged={this.onNameChange} />; + name = <EditableText label={this.props.room.name} initialValue={actual_name} placeHolder="Name" onValueChanged={this.onNameChange} />; if (topic) topic_el = <div className="mx_RoomHeader_topic">{ topic.getContent().topic }</div>; settings_button = ( <div className="mx_RoomHeader_button" onClick={this.props.onSettingsClick}> diff --git a/skins/base/views/organisms/RoomView.js b/skins/base/views/organisms/RoomView.js index 124f74cd..ffd7bad5 100644 --- a/skins/base/views/organisms/RoomView.js +++ b/skins/base/views/organisms/RoomView.js @@ -83,7 +83,7 @@ module.exports = React.createClass({ var deferreds = []; - if (old_name != new_name && new_name != undefined) { + if (old_name != new_name && new_name != undefined && new_name) { deferreds.push( MatrixClientPeg.get().setRoomName(this.state.room.roomId, new_name) );