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:
parent
fc062072b0
commit
88b3f2ed8c
4 changed files with 2 additions and 26 deletions
|
@ -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"
|
||||||
|
|
|
@ -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');
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue