Display a 'Set Topic' button if there is no topic or it's a 0-len string.

pull/10/head
Kegan Dougal 2014-09-08 18:59:26 -07:00
parent 6bdb23449a
commit e8f19b4c0d
3 changed files with 30 additions and 11 deletions

View File

@ -280,7 +280,6 @@ a:active { color: #000; }
color: #888;
font-size: 12px;
padding-right: 5px;
float: right;
width: 15em;
overflow: hidden;
white-space: nowrap;
@ -301,6 +300,15 @@ a:active { color: #000; }
width: 100%;
}
.roomTopicSection {
float: right;
width: 100%;
}
.roomTopicSetNew {
float: right;
}
.roomHeaderInfo {
float: right;
margin-top: 15px;

View File

@ -51,7 +51,14 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
console.log("Warning: Already editing topic.");
return;
}
$scope.topic.newTopicText = $rootScope.events.rooms[$scope.room_id]['m.room.topic'].content.topic;
var topicEvent = $rootScope.events.rooms[$scope.room_id]['m.room.topic'];
if (topicEvent) {
$scope.topic.newTopicText = topicEvent.content.topic;
}
else {
$scope.topic.newTopicText = "";
}
$scope.topic.isEditing = true;
},
updateTopic: function() {

View File

@ -6,16 +6,20 @@
<div id="roomName">
{{ room_id | mRoomName }}
</div>
<div id="roomTopic" ng-show="events.rooms[room_id]['m.room.topic'].content.topic">
<div ng-hide="topic.isEditing" ng-dblclick="topic.editTopic()">
{{ events.rooms[room_id]['m.room.topic'].content.topic | limitTo: 200}}
<div class="roomTopicSection">
<button ng-hide="events.rooms[room_id]['m.room.topic'].content.topic || topic.isEditing"
ng-click="topic.editTopic()" class="roomTopicSetNew">
Set Topic
</button>
<div ng-show="events.rooms[room_id]['m.room.topic'].content.topic || topic.isEditing">
<div ng-hide="topic.isEditing" ng-dblclick="topic.editTopic()" id="roomTopic">
{{ events.rooms[room_id]['m.room.topic'].content.topic | limitTo: 200}}
</div>
<form ng-submit="topic.updateTopic()" ng-show="topic.isEditing" class="roomTopicForm">
<input ng-model="topic.newTopicText" ng-blur="topic.cancelEdit()" class="roomTopicInput"
autofocus />
</form>
</div>
<form ng-submit="topic.updateTopic()" ng-show="topic.isEditing" class="roomTopicForm">
<input ng-model="topic.newTopicText" ng-blur="topic.cancelEdit()" class="roomTopicInput"
autofocus />
</form>
</div>
</div>
</div>