API change: Make EventTiles which hold stuff common to all events that appear in a room timeline.
This commit is contained in:
parent
d4a5ab11d4
commit
549d992293
3 changed files with 36 additions and 23 deletions
28
src/controllers/molecules/EventTile.js
Normal file
28
src/controllers/molecules/EventTile.js
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
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 MatrixClientPeg = require("../../MatrixClientPeg");
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
shouldHighlight: function() {
|
||||||
|
var actions = MatrixClientPeg.get().getPushActionsForEvent(this.props.mxEvent);
|
||||||
|
if (!actions || !actions.tweaks) { return false; }
|
||||||
|
return actions.tweaks.highlight;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
|
@ -19,16 +19,5 @@ limitations under the License.
|
||||||
var MatrixClientPeg = require("../../MatrixClientPeg");
|
var MatrixClientPeg = require("../../MatrixClientPeg");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
shouldHighlight: function() {
|
|
||||||
var actions = MatrixClientPeg.get().getPushActionsForEvent(this.props.mxEvent);
|
|
||||||
if (!actions || !actions.tweaks) { return false; }
|
|
||||||
return actions.tweaks.highlight;
|
|
||||||
},
|
|
||||||
|
|
||||||
getInitialState: function() {
|
|
||||||
return {
|
|
||||||
resending: false
|
|
||||||
};
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -316,21 +316,18 @@ module.exports = {
|
||||||
},
|
},
|
||||||
|
|
||||||
getEventTiles: function() {
|
getEventTiles: function() {
|
||||||
var tileTypes = {
|
|
||||||
'm.room.message': sdk.getComponent('molecules.MessageTile'),
|
|
||||||
'm.room.member' : sdk.getComponent('molecules.EventAsTextTile'),
|
|
||||||
'm.call.invite' : sdk.getComponent('molecules.EventAsTextTile'),
|
|
||||||
'm.call.answer' : sdk.getComponent('molecules.EventAsTextTile'),
|
|
||||||
'm.call.hangup' : sdk.getComponent('molecules.EventAsTextTile'),
|
|
||||||
'm.room.topic' : sdk.getComponent('molecules.EventAsTextTile'),
|
|
||||||
};
|
|
||||||
|
|
||||||
var ret = [];
|
var ret = [];
|
||||||
var count = 0;
|
var count = 0;
|
||||||
|
|
||||||
|
var EventTile = sdk.getComponent('molecules.EventTile');
|
||||||
|
|
||||||
for (var i = this.state.room.timeline.length-1; i >= 0 && count < this.state.messageCap; --i) {
|
for (var i = this.state.room.timeline.length-1; i >= 0 && count < this.state.messageCap; --i) {
|
||||||
var mxEv = this.state.room.timeline[i];
|
var mxEv = this.state.room.timeline[i];
|
||||||
var TileType = tileTypes[mxEv.getType()];
|
|
||||||
|
if (!EventTile.supportsEventType(mxEv.getType())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
var continuation = false;
|
var continuation = false;
|
||||||
var last = false;
|
var last = false;
|
||||||
if (i == this.state.room.timeline.length - 1) {
|
if (i == this.state.room.timeline.length - 1) {
|
||||||
|
@ -348,9 +345,8 @@ module.exports = {
|
||||||
continuation = true;
|
continuation = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!TileType) continue;
|
|
||||||
ret.unshift(
|
ret.unshift(
|
||||||
<li key={mxEv.getId()}><TileType mxEvent={mxEv} continuation={continuation} last={last}/></li>
|
<li key={mxEv.getId()}><EventTile mxEvent={mxEv} continuation={continuation} last={last}/></li>
|
||||||
);
|
);
|
||||||
++count;
|
++count;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue