Implement TextualEvent tiles for im.vector.modular.widgets

E.g. "Bob added a Acme widget", "Susan removed a Giraffe widget"
This commit is contained in:
Luke Barnard
2017-08-16 17:46:20 +01:00
parent 0935f26cf3
commit 7c336cd00a
3 changed files with 26 additions and 1 deletions
+21
View File
@@ -248,6 +248,25 @@ function textForPowerEvent(event) {
});
}
function textForWidgetEvent(event) {
const senderName = event.sender ? event.sender.name : event.getSender();
const prevWidgetName = event.getPrevContent() ? event.getPrevContent().name : null;
let widgetName = event.getContent() ? event.getContent().name : prevWidgetName;
// Apply sentence case
widgetName = widgetName ? widgetName[0].toUpperCase() + widgetName.slice(1).toLowerCase() + ' ' : '';
if (event.getContent().url) {
return _t('%(senderName)s added a %(widgetName)swidget', {
senderName, widgetName,
});
} else {
return _t('%(senderName)s removed a %(widgetName)swidget', {
senderName, widgetName,
});
}
}
var handlers = {
'm.room.message': textForMessageEvent,
'm.room.name': textForRoomNameEvent,
@@ -260,6 +279,8 @@ var handlers = {
'm.room.history_visibility': textForHistoryVisibilityEvent,
'm.room.encryption': textForEncryptionEvent,
'm.room.power_levels': textForPowerEvent,
'im.vector.modular.widgets': textForWidgetEvent,
};
module.exports = {