summary refs log tree commit diff
diff options
context:
space:
mode:
authorKegan Dougal <kegan@matrix.org>2014-10-30 13:24:40 +0000
committerKegan Dougal <kegan@matrix.org>2014-10-30 13:24:40 +0000
commit6f3f631fd11f744afa57396e8dd18e064ce90e8f (patch)
tree9552b7379bc536b42ec0a66ea6bc8c27c3a14e44
parentSYWEB-12: Format room info dialog better. (diff)
downloadsynapse-6f3f631fd11f744afa57396e8dd18e064ce90e8f.tar.xz
SYWEB-12: More formatting.
-rw-r--r--webclient/app-directive.js17
-rwxr-xr-xwebclient/app.css6
-rw-r--r--webclient/room/room-controller.js6
-rw-r--r--webclient/room/room.html10
4 files changed, 32 insertions, 7 deletions
diff --git a/webclient/app-directive.js b/webclient/app-directive.js
index 75283598ab..d788475f46 100644
--- a/webclient/app-directive.js
+++ b/webclient/app-directive.js
@@ -40,4 +40,19 @@ angular.module('matrixWebClient')
             }            
         }
     };
-}]);
\ No newline at end of file
+}])
+.directive('elastic', [ // http://stackoverflow.com/questions/17772260/textarea-auto-height
+    '$timeout',
+    function($timeout) {
+      return {
+        restrict: 'A',
+        link: function($scope, element) {
+          var resize = function() {
+            return element[0].style.height = "" + element[0].scrollHeight + "px";
+          };
+          element.on("blur keyup change", resize);
+          $timeout(resize, 10);
+        }
+      };
+    }
+]);;
diff --git a/webclient/app.css b/webclient/app.css
index 2dc6e8caed..5ab8e2b8fd 100755
--- a/webclient/app.css
+++ b/webclient/app.css
@@ -443,6 +443,12 @@ textarea, input {
     font-family: monospace;
 }
 
+.room-info-textarea-content {
+    height: auto;
+    width: 100%;
+    resize: vertical;
+}
+
 /*** Participant list ***/
 
 #usersTableWrapper {
diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js
index 37f51c4e91..fcbcd75364 100644
--- a/webclient/room/room-controller.js
+++ b/webclient/room/room-controller.js
@@ -1039,9 +1039,9 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
 .controller('RoomInfoController', function($scope, $modalInstance, $filter) {
     console.log("Displaying room info.");
 
-    $scope.submitState = function(eventType, content) {
-        console.log("Submitting " + eventType + " with " + content);
-    }
+    $scope.submit = function(event) {
+        console.error("submit >>> " + JSON.stringify(event));
+    };
 
     $scope.dismiss = $modalInstance.dismiss;
 
diff --git a/webclient/room/room.html b/webclient/room/room.html
index 65b959fe94..cc79d6b778 100644
--- a/webclient/room/room.html
+++ b/webclient/room/room.html
@@ -17,15 +17,19 @@
         <div class="modal-body">
             <table class="room-info">
             <tr ng-repeat="(key, event) in events.rooms[room_id] | stateEventsFilter" class="room-info-event">
-                <td class="room-info-event-meta">
+                <td class="room-info-event-meta" width="30%">
                     <span class="monospace">{{ key }}</span>
                     <br/>
                     {{ (event.origin_server_ts) | date:'MMM d HH:mm' }}
                     <br/>
                     Set by: <span class="monospace">{{ event.user_id }}</span>
+                    <br/>
+                    <button ng-click="submit(event)" type="button" class="btn btn-success">
+                        Submit
+                    </button>
                 </td>
-                <td class="room-info-event-content">
-                    <pre>{{ event.content | json }}</pre>
+                <td class="room-info-event-content" width="70%">
+                    <textarea class="room-info-textarea-content" elastic ng-model="event.content | json"></textarea> 
                 </td>
             </tr>
             </table>