1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-06-26 04:01:04 +03:00

Refactor roles into Roles.js

So that the mapping between a numerical power level and a "role" are done in one place. PowerSelector.js has been modified to use the same mapping.
This commit is contained in:
Luke Barnard
2017-04-10 10:09:26 +01:00
parent 6010350ce5
commit 8b4836b60e
3 changed files with 54 additions and 31 deletions

View File

@ -17,12 +17,7 @@ limitations under the License.
var MatrixClientPeg = require("./MatrixClientPeg");
var CallHandler = require("./CallHandler");
const roles = {
undefined: 'Default',
0: 'User',
50: 'Moderator',
100: 'Admin',
};
import * as Roles from './Roles';
function textForMemberEvent(ev) {
// XXX: SYJS-16 "sender is sometimes null for join messages"
@ -189,14 +184,6 @@ function textForEncryptionEvent(event) {
return senderName + " turned on end-to-end encryption (algorithm " + event.getContent().algorithm + ")";
}
function formatPowerLevel(level, roles, userDefault) {
if (roles[level]) {
return roles[level] + (level !== undefined ? ` (${level})` : ` (${userDefault})`);
} else {
return level;
}
}
// Currently will only display a change if a user's power level is changed
function textForPowerEvent(event) {
const senderName = event.sender ? event.sender.name : event.getSender();
@ -225,8 +212,8 @@ function textForPowerEvent(event) {
if (to !== from) {
diff.push(
userId +
' from ' + formatPowerLevel(from, roles, userDefault) +
' to ' + formatPowerLevel(to, roles, userDefault)
' from ' + Roles.textualPowerLevel(from, userDefault) +
' to ' + Roles.textualPowerLevel(to, userDefault)
);
}
});