Use our fork of react-gemini-scrollbar to fix resize issues

Rather than telling react-gemini-scrollbar to update every time something that
changes its size happens, try out our fork of it which uses some hackery to
listen for resizes.
This commit is contained in:
Richard van der Hoff 2016-03-14 12:46:13 +00:00
parent fc062072b0
commit 88b3f2ed8c
4 changed files with 2 additions and 26 deletions

View file

@ -33,7 +33,7 @@
"q": "^1.4.1", "q": "^1.4.1",
"react": "^0.14.2", "react": "^0.14.2",
"react-dom": "^0.14.2", "react-dom": "^0.14.2",
"react-gemini-scrollbar": "^2.0.1", "react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#d9a808d",
"sanitize-html": "^1.11.1", "sanitize-html": "^1.11.1",
"velocity-animate": "^1.2.3", "velocity-animate": "^1.2.3",
"velocity-ui-pack": "^1.2.2" "velocity-ui-pack": "^1.2.2"

View file

@ -159,17 +159,6 @@ module.exports = React.createClass({
} }
}, },
// makes the MessagePanel update itself after it is resized (due to other
// changes in the DOM)
onResize: function() {
if (!this.refs.scrollPanel) { return; }
// we don't need to forceUpdate ourselves here, but we do need to
// forceUpdate the scrollpanel, which will make the gemini panel update
// itself and trigger a scroll position check.
this.refs.scrollPanel.forceUpdate();
},
_getEventTiles: function() { _getEventTiles: function() {
var EventTile = sdk.getComponent('rooms.EventTile'); var EventTile = sdk.getComponent('rooms.EventTile');

View file

@ -1042,13 +1042,7 @@ module.exports = React.createClass({
}, },
onChildResize: function() { onChildResize: function() {
// When the video, status bar, or the message composer resizes, the // no longer anything to do here
// scroll panel also changes size. Work around GeminiScrollBar fail by
// telling it about it. This also ensures that the scroll offset is
// updated.
if (this.refs.messagePanel) {
this.refs.messagePanel.onResize();
}
}, },
showSettings: function(show) { showSettings: function(show) {

View file

@ -508,13 +508,6 @@ var TimelinePanel = React.createClass({
return null; return null;
}, },
// makes the TimelinePanel update itself after it is resized (due to other
// changes in the DOM)
onResize: function() {
if (!this.refs.messagePanel) { return; }
this.refs.messagePanel.onResize();
},
_initTimeline: function(props) { _initTimeline: function(props) {
var initialEvent = props.eventId; var initialEvent = props.eventId;
var pixelOffset = props.eventPixelOffset; var pixelOffset = props.eventPixelOffset;