SYWEB-98: Add a 'Redact' button to the event info modal dialog.

I think this is better than overriding the right-click contextual menu.
Currently clicking this button does nothing.
This commit is contained in:
Kegan Dougal 2014-10-29 15:02:30 +00:00
parent ed241ba032
commit 70137409ed
2 changed files with 31 additions and 3 deletions

View file

@ -985,10 +985,25 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
};
$scope.openJson = function(content) {
console.log("Displaying modal dialog for " + JSON.stringify(content));
$scope.event_selected = content;
// scope this so the template can check power levels and enable/disable
// buttons
$scope.pow = matrixService.getUserPowerLevel;
var modalInstance = $modal.open({
template: "<pre>" + angular.toJson(content, true) + "</pre>"
templateUrl: 'eventInfoTemplate.html',
controller: 'EventInfoController',
scope: $scope
});
};
}]);
}])
.controller('EventInfoController', function($scope, $modalInstance) {
console.log("Displaying modal dialog for >>>> " + JSON.stringify($scope.event_selected));
$scope.redact = function() {
console.log("User level = "+$scope.pow($scope.room_id, $scope.state.user_id)+
" Redact level = "+$scope.events.rooms[$scope.room_id]["m.room.ops_levels"].content.redact_level);
console.log("Redact event >> " + JSON.stringify($scope.event_selected));
$modalInstance.dismiss();
};
});

View file

@ -1,5 +1,18 @@
<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="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>
<div id="roomHeader">
<a href ng-click="goToPage('/')"><img src="img/logo-small.png" width="100" height="43" alt="[matrix]"/></a>
<div class="roomHeaderInfo">