summary refs log tree commit diff
path: root/webclient/room/room.html
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2014-10-30 11:18:28 +0000
committerErik Johnston <erik@matrix.org>2014-10-30 11:18:28 +0000
commitef9c4476a0eb653637040f86dd900252cad30567 (patch)
treead14ecbbb2a03ceb47f8fba558994edd3d71b9df /webclient/room/room.html
parentFix SQL so that accepts we may want to persist events twice. (diff)
parentSYWEB-12: Add a 'Room Info' button which displays all state content. (diff)
downloadsynapse-ef9c4476a0eb653637040f86dd900252cad30567.tar.xz
Merge branch 'develop' of github.com:matrix-org/synapse into federation_authorization
Diffstat (limited to 'webclient/room/room.html')
-rw-r--r--webclient/room/room.html51
1 files changed, 48 insertions, 3 deletions
diff --git a/webclient/room/room.html b/webclient/room/room.html
index ce2c581903..3458e97039 100644
--- a/webclient/room/room.html
+++ b/webclient/room/room.html
@@ -1,5 +1,46 @@
 <div ng-controller="RoomController" data-ng-init="onInit()" class="room" style="height: 100%;">
 
+    <script type="text/ng-template" id="eventInfoTemplate.html">
+        <div class="modal-body">
+            <pre> {{event_selected | json}} </pre>
+        </div>
+        <div class="modal-footer">
+            <button ng-click="redact()" type="button" class="btn btn-danger" 
+             ng-disabled="!events.rooms[room_id]['m.room.ops_levels'].content.redact_level || !pow(room_id, state.user_id) || pow(room_id, state.user_id) < events.rooms[room_id]['m.room.ops_levels'].content.redact_level"
+             title="Delete this event on all home servers. This cannot be undone.">
+                Redact
+            </button>        
+        </div>
+    </script>
+
+    <script type="text/ng-template" id="roomInfoTemplate.html">
+        <div class="modal-body">
+            <table id="roomInfoTable">
+                <tr>
+                <th>
+                    Event Type
+                </th>
+                <th>
+                    Content
+                </th>
+                </tr>
+                <tr ng-repeat="(key, event) in events.rooms[room_id] | stateEventsFilter">
+                    <td>
+                        <pre>{{ key }}</pre>
+                    </td>
+                    <td>
+                        <pre>{{ event.content | json }}</pre>
+                    </td>
+                </tr>
+            </table>
+        </div>
+        <div class="modal-footer">
+            <button ng-click="dismiss()" type="button" class="btn">
+                Close
+            </button>
+        </div>
+    </script>
+
     <div id="roomHeader">
         <a href ng-click="goToPage('/')"><img src="img/logo-small.png" width="100" height="43" alt="[matrix]"/></a>
         <div class="roomHeaderInfo">
@@ -83,7 +124,7 @@
                          ng-hide="events.rooms[room_id].messages[$index - 1].user_id === msg.user_id || msg.user_id === state.user_id"/>
                 </td>
                 <td ng-class="(!msg.content.membership && ('m.room.topic' !== msg.type && 'm.room.name' !== msg.type))? (msg.content.msgtype === 'm.emote' ? 'emote text' : 'text') : 'membership text'">
-                    <div class="bubble">
+                    <div class="bubble" ng-click="openJson(msg)">
                         <span ng-if="'join' === msg.content.membership && msg.changedKey === 'membership'">
                             {{ members[msg.state_key].displayname || msg.state_key }} joined
                         </span>
@@ -115,7 +156,8 @@
                         
                         <span ng-show='msg.content.msgtype === "m.emote"'
                               ng-class="msg.echo_msg_state"
-                              ng-bind-html="'* ' + (members[msg.user_id].displayname || msg.user_id) + ' ' + msg.content.body | linky:'_blank'"/>
+                              ng-bind-html="'* ' + (members[msg.user_id].displayname || msg.user_id) + ' ' + msg.content.body | linky:'_blank'"
+                              />
                         
                         <span ng-show='msg.content.msgtype === "m.text"' 
                               class="message"
@@ -133,7 +175,7 @@
                             </div>
                             <div ng-show='msg.content.thumbnail_url' ng-style="{ 'height' : msg.content.thumbnail_info.h }">
                                 <img class="image mouse-pointer" ng-src="{{ msg.content.thumbnail_url }}"
-                                     ng-click="$parent.fullScreenImageURL = msg.content.url"/>
+                                     ng-click="$parent.fullScreenImageURL = msg.content.url; $event.stopPropagation();"/>
                             </div>
                         </div>
 
@@ -202,6 +244,9 @@
                         >
                     Video Call
                 </button>
+                <button ng-click="openRoomInfo()">
+                    Room Info
+                </button>
             </div>
         
             {{ feedback }}