Add ability to set topic by double-clicking on the topic text then hitting enter.
2 files changed, 34 insertions, 1 deletions
diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js
index c8ca771b25..10ff12a96b 100644
--- a/webclient/room/room-controller.js
+++ b/webclient/room/room-controller.js
@@ -42,6 +42,31 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
$scope.imageURLToSend = "";
$scope.userIDToInvite = "";
+ // vars and functions for updating the topic
+ $scope.topic = {
+ isEditing: false,
+ newTopicText: "",
+ editTopic: function() {
+ if ($scope.topic.isEditing) {
+ console.log("Warning: Already editing topic.");
+ return;
+ }
+ $scope.topic.newTopicText = $rootScope.events.rooms[$scope.room_id]['m.room.topic'].content.topic;
+ $scope.topic.isEditing = true;
+ },
+ updateTopic: function() {
+ console.log("Updating topic to "+$scope.topic.newTopicText);
+ matrixService.setTopic($scope.room_id, $scope.topic.newTopicText);
+ $scope.topic.isEditing = false;
+ },
+ cancelEdit: function() {
+ $scope.topic.isEditing = false;
+ }
+ };
+
+
+
+
var scrollToBottom = function(force) {
console.log("Scrolling to bottom");
diff --git a/webclient/room/room.html b/webclient/room/room.html
index 4be2482f96..0fe45499e0 100644
--- a/webclient/room/room.html
+++ b/webclient/room/room.html
@@ -7,7 +7,15 @@
{{ room_id | mRoomName }}
</div>
<div id="roomTopic" ng-show="events.rooms[room_id]['m.room.topic'].content.topic">
- {{ 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>
+
+ <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>
|