diff --git a/src/components/structures/LoggedInView.js b/src/components/structures/LoggedInView.js index cc15df4edc..d6b374aac8 100644 --- a/src/components/structures/LoggedInView.js +++ b/src/components/structures/LoggedInView.js @@ -98,12 +98,17 @@ const LoggedInView = React.createClass({ vertical: "mx_ResizeHandle_vertical", reverse: "mx_ResizeHandle_reverse" }; - const collapseToggleSize = 260 - 50; + const config = { + toggleSize: 260 - 50, + onCollapsed: (collapsed) => { + this.setState({collapseLhs: collapsed}); + } + }; makeResizeable( this.resizeContainer, classNames, CollapseDistributor, - collapseToggleSize); + config); }, componentWillMount: function() { @@ -524,7 +529,7 @@ const LoggedInView = React.createClass({
this.resizeContainer = div} className={bodyClasses}> diff --git a/src/resizer/distributors.js b/src/resizer/distributors.js index 5a6e0f924a..0d13360ef4 100644 --- a/src/resizer/distributors.js +++ b/src/resizer/distributors.js @@ -17,18 +17,25 @@ class FixedDistributor { class CollapseDistributor extends FixedDistributor { - constructor(container, items, handleIndex, direction, sizer, toggleSize) { + constructor(container, items, handleIndex, direction, sizer, config) { super(container, items, handleIndex, direction, sizer); - this.toggleSize = toggleSize; + this.toggleSize = config && config.toggleSize; + this.onCollapsed = config && config.onCollapsed; } resize(offset) { let newSize = offset - this.sizer.getItemOffset(this.item); if (newSize < this.toggleSize) { this.item.classList.add("collapsed"); + if (this.onCollapsed) { + this.onCollapsed(true, this.item); + } } else { this.item.classList.remove("collapsed"); + if (this.onCollapsed) { + this.onCollapsed(false, this.item); + } } super.resize(newSize); }