Commit graph

16 commits

Author SHA1 Message Date
Michael Telatynski
cffe902504 Add feature to ResizeNotifier to maintain isResizing state and use it to skip onScroll handling 2020-09-02 12:00:35 +01:00
J. Ryan Stinnett
1dc2ae007f Fix soft crash on room join
This fixes a soft crash that can happen on room join if you keep the right panel
open (which is the default). The `MainSplit` component was not properly testing
for the edge cases of when the resize container would be mounted.

Fixes https://github.com/vector-im/riot-web/issues/10997
2019-10-08 15:43:57 +01:00
Bruno Windels
9ecb23ce71 cleanup
- move some methods to ResizeItem subclass
- allow distributor to instanciate sizer and resizeitem it needs
  through static factory methods, instead of passing in another ctor
  a distributor can only function with the right item and sizer anyways.
- use consistent import/export style
- remove obsolete code
2019-01-14 20:24:54 +01:00
Bruno Windels
136dd4a556 stop resize operation when cursor leaves viewport
as mouseup can't be detected outside of viewport
2019-01-11 18:20:34 +01:00
Bruno Windels
a413f358f7 normalize sizes when starting drag operation 2019-01-11 17:17:58 +01:00
Bruno Windels
d558ea1dbf WIP 2018-12-19 23:51:19 +01:00
Bruno Windels
3ddc8baed1 fix resizing sometimes not working (and selecting text)
Last friday a child <div> was added inside the ResizeHandle component,
which made the parentElement/classList checks fail on the event.target
here. This would only fail (and select all the text) when dragging exactly on
the grey line (the div), not the transparent margin around it.

use closest to make sure we have the root element of the handle.
2018-12-18 14:27:10 +01:00
Bruno Windels
f7a37be6dd support associating an id with a resize item/handle 2018-11-26 16:46:27 +01:00
Bruno Windels
dae509d0eb introduce resizeFromContainerOffset method on distributor
up till now, resize received the offset of the resize handle
within the container upon resizing, and would then calculate
it's new size. For this first item in the container, this is
the same, and has therefor not been a problem yet.

Now however, we'll need to be able to programatically
(from localStorage) set the size of any roomsublist,
so need a method we can call with just the size and not an offset
within the container. The resizer calls the new method,
which subsequently calls resize.

This also has the nice side-effect that you can now easily
call super.resize after having transformed the new item size
2018-11-26 16:42:58 +01:00
Bruno Windels
eb1ee1ca55 bind instead of second member var 2018-10-19 15:15:49 +02:00
Bruno Windels
8d414d0986 more docs 2018-10-17 13:45:56 +02:00
Bruno Windels
8d3347bcfb fix lint 2018-10-17 13:36:15 +02:00
Bruno Windels
6fdcebb876 add copyright headers 2018-10-17 11:38:25 +02:00
Bruno Windels
bb184a4ae0 support programmatic access to a distributor (to set size from storage) 2018-10-16 17:22:12 +02:00
Bruno Windels
650e19ff77 don't expose direction, handleIndex to distributor ctor 2018-10-16 16:25:00 +02:00
Bruno Windels
30003d8f91 turn resizer into class to make programmatic interaction/cleanup easier 2018-10-16 15:16:10 +02:00