Skip to content

Commit cb887c6

Browse files
committed
use gemini-scrollbar to provide fake scrollbars for the room list
1 parent 2ccd881 commit cb887c6

File tree

5 files changed

+11
-4
lines changed

5 files changed

+11
-4
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"react-dnd": "^2.0.2",
3737
"react-dnd-html5-backend": "^2.0.0",
3838
"react-dom": "^0.14.2",
39+
"react-gemini-scrollbar": "^2.0.1",
3940
"react-loader": "^1.4.0",
4041
"sanitize-html": "^1.0.0"
4142
},

src/controllers/organisms/RoomList.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ limitations under the License.
1818

1919
var React = require("react");
2020
var ReactDOM = require("react-dom");
21+
2122
var MatrixClientPeg = require("matrix-react-sdk/lib/MatrixClientPeg");
2223
var RoomListSorter = require("matrix-react-sdk/lib/RoomListSorter");
2324
var dis = require("matrix-react-sdk/lib/dispatcher");
@@ -194,7 +195,7 @@ module.exports = {
194195
_repositionTooltip: function(e) {
195196
if (this.tooltip && this.tooltip.parentElement) {
196197
var scroll = ReactDOM.findDOMNode(this);
197-
this.tooltip.style.top = (scroll.parentElement.offsetTop + this.tooltip.parentElement.offsetTop - scroll.scrollTop) + "px";
198+
this.tooltip.style.top = (scroll.parentElement.offsetTop + this.tooltip.parentElement.offsetTop - scroll.children[2].scrollTop) + "px";
198199
}
199200
},
200201
};
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../node_modules/react-gemini-scrollbar/node_modules/gemini-scrollbar/gemini-scrollbar.css

src/skins/vector/css/organisms/LeftPanel.css

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,17 @@ limitations under the License.
3838

3939
}
4040

41-
.mx_LeftPanel .mx_RoomList {
41+
.mx_LeftPanel .mx_RoomList_scrollbar {
4242
-webkit-box-ordinal-group: 1;
4343
-moz-box-ordinal-group: 1;
4444
-ms-flex-order: 1;
4545
-webkit-order: 1;
4646
order: 1;
4747

48-
overflow-y: auto;
4948
-webkit-flex: 1 1 0;
5049
flex: 1 1 0;
50+
51+
overflow-y: auto;
5152
}
5253

5354
.mx_LeftPanel .mx_BottomLeftMenu {

src/skins/vector/views/organisms/RoomList.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var React = require('react');
2020
var sdk = require('matrix-react-sdk')
2121
var dis = require('matrix-react-sdk/lib/dispatcher');
2222

23+
var GeminiScrollbar = require('react-gemini-scrollbar');
2324
var RoomListController = require('../../../../controllers/organisms/RoomList')
2425

2526
module.exports = React.createClass({
@@ -41,7 +42,8 @@ module.exports = React.createClass({
4142
var self = this;
4243

4344
return (
44-
<div className="mx_RoomList" onScroll={self._repositionTooltip}>
45+
<GeminiScrollbar className="mx_RoomList_scrollbar" autoshow={true} onScroll={self._repositionTooltip}>
46+
<div className="mx_RoomList">
4547
{ expandButton }
4648

4749
<RoomSubList list={ self.state.lists['m.invite'] }
@@ -107,6 +109,7 @@ module.exports = React.createClass({
107109
selectedRoom={ self.props.selectedRoom }
108110
collapsed={ self.props.collapsed } />
109111
</div>
112+
</GeminiScrollbar>
110113
);
111114
}
112115
});

0 commit comments

Comments
 (0)