From dcb4b5f912543dc6e06ca96ae493bfe4bbc37b94 Mon Sep 17 00:00:00 2001 From: David Baker Date: Mon, 6 Jul 2015 16:04:09 +0100 Subject: [PATCH] Add room membership messages --- skins/base/views/molecules/MRoomMemberTile.js | 47 +++++++++++++++++++ src/controllers/molecules/MRoomMemberTile.js | 21 +++++++++ 2 files changed, 68 insertions(+) create mode 100644 skins/base/views/molecules/MRoomMemberTile.js create mode 100644 src/controllers/molecules/MRoomMemberTile.js diff --git a/skins/base/views/molecules/MRoomMemberTile.js b/skins/base/views/molecules/MRoomMemberTile.js new file mode 100644 index 000000000..1c4cfe891 --- /dev/null +++ b/skins/base/views/molecules/MRoomMemberTile.js @@ -0,0 +1,47 @@ +/* +Copyright 2015 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +'use strict'; + +var React = require('react'); + +var MRoomMemberTileController = require("../../../../src/controllers/molecules/MRoomMemberTile"); + +module.exports = React.createClass({ + displayName: 'MRoomMemberTile', + mixins: [MRoomMemberTileController], + + getMemberEventText: function() { + var ev = this.props.mxEvent; + switch (ev.getContent().membership) { + case 'invite': + return ev.sender.name + " invited " + ev.target.name + "."; + case 'join': + return ev.sender.name + " joined the room."; + case 'leave': + return ev.sender.name + " left the room."; + } + }, + + render: function() { + return ( + + {this.getMemberEventText()} + + ); + }, +}); + diff --git a/src/controllers/molecules/MRoomMemberTile.js b/src/controllers/molecules/MRoomMemberTile.js new file mode 100644 index 000000000..8aa688b21 --- /dev/null +++ b/src/controllers/molecules/MRoomMemberTile.js @@ -0,0 +1,21 @@ +/* +Copyright 2015 OpenMarket Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +'use strict'; + +module.exports = { +}; +