Bruno Windels
f103e60d1d
fix lint - bis
2019-01-28 15:22:05 +01:00
Bruno Windels
d08216e857
fix lint
2019-01-28 14:56:14 +01:00
Bruno Windels
bfb1031a6b
unify heights stored by id and index, to avoid them getting out of sync
...
effectively get rid of _originalHeights and calculate the array
from the dictionary when needed
2019-01-28 14:52:40 +01:00
Bruno Windels
0a5e8e6cfe
WIP on persisting height across collapse/expand
2019-01-28 14:35:04 +01:00
Bruno Windels
8ffeee6a98
add matthews new resize algo
2019-01-25 18:47:34 +01:00
Bruno Windels
4eb2555fc1
initial support for collapsing
2019-01-24 18:18:10 +01:00
Bruno Windels
b230e65e74
prevent height doubling when resizing
...
caused by mixing up absolute height with incremental height
2019-01-24 16:44:36 +01:00
Bruno Windels
1092244bbf
more fixes for updates/resizing
2019-01-24 15:43:23 +01:00
Bruno Windels
5bddf62d54
WIP to port prototype code
2019-01-23 18:30:51 +01:00
Bruno Windels
313bbaaeaa
remove obsolete comments
2019-01-16 11:33:41 +01:00
Travis Ralston
fed256cbaa
Update src/resizer/distributors/roomsublist.js
...
Co-Authored-By: bwindels <bruno@windels.cloud>
2019-01-16 10:29:30 +00:00
Travis Ralston
98aa657052
Update src/resizer/distributors/collapse.js
...
Co-Authored-By: bwindels <bruno@windels.cloud>
2019-01-16 10:29:22 +00:00
Travis Ralston
2bd65e14b7
Update src/resizer/distributors/fixed.js
...
Co-Authored-By: bwindels <bruno@windels.cloud>
2019-01-16 10:29:15 +00:00
Travis Ralston
a5424f32a5
Update src/resizer/item.js
...
Co-Authored-By: bwindels <bruno@windels.cloud>
2019-01-16 10:29:05 +00:00
Bruno Windels
3c7bed97ac
size all items to rendered height when starting drag operation
...
before, we'd only normalize the sublists that had already been
sized manually. As non-sized items still have flex-basis: auto,
they would claim all the space, and mixing sized and unsized items
would be badly broken.
Now, on the first click, all items are sized to their rendered size
which means they won't flex anymore, but at least the resizing works
this way
Another downside is that when resizing while a sublist is
collapsed, it's reverted to 100px and if a size had been set before,
it's forgotten. No way around this with this approach I'm afraid.
2019-01-15 12:56:48 +01:00
Bruno Windels
aa90e9591a
fix min & max size for empty sublists
2019-01-15 12:56:33 +01:00
Bruno Windels
7e395f0fb6
cleanup - part II
...
reshuffle file structure to make more sense
2019-01-14 20:33:33 +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
9456fc040d
fix typo
2019-01-11 16:10:35 +01:00
Bruno Windels
92b9a8cc1f
persist cleared size sublists
2019-01-10 18:40:26 +01:00
Bruno Windels
a130c44803
try clear next item size when resizing so there is always one unsized item
2019-01-10 14:12:05 +01:00
Bruno Windels
68afadd83b
try flex-basis for resizing
2019-01-10 14:03:17 +01:00
Bruno Windels
51376c5c07
draft room sub list item api
2019-01-09 15:53:04 +01:00
Bruno Windels
b82e19b1f7
size header explicitly for content size
...
otherwise it just grows with max-height
2019-01-09 15:45:47 +01:00
Bruno Windels
0803ea9158
support collapsed items
2019-01-08 18:17:34 +01:00
Bruno Windels
8352d8c6bd
not sure we need this, but adding the padding in _offset container
2019-01-08 18:17:00 +01:00
Bruno Windels
b4197059a0
change min size to exactly one room tile + header
2019-01-08 18:16:09 +01:00
Bruno Windels
4bd6ce8e2c
WIP2 for making smart resizer work, sort of works now but shows big scrollbar
2019-01-08 16:47:47 +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
75925f6192
room sublist seems to get rendered w/o _scroll element
...
when loading the page from a community url
2018-12-10 16:51:32 +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
3e496833fc
remove unused PercentageDistributor
...
it's not used and we need to make some
api changes that don't work with it (resize will receive itemSize
which it doesn't really support)
2018-11-26 16:41:49 +01:00
Bruno Windels
8929ff9b5e
use room resize classes
2018-11-26 14:42:01 +01:00
Bruno Windels
0939a40d3a
adjust room distributor to roomsublist dom structure
...
also better classes to apply
2018-11-26 14:41:15 +01:00
Bruno Windels
4c5bd71114
fix lint
2018-11-01 17:56:08 +01:00
Bruno Windels
4d53e13a28
make manual resizing follow cursor more accurately
...
by clearing flex-grow that was set based on the list size,
you don't want it to grow anymore but be exactly the size
you are giving it.
2018-10-22 15:56:39 +02:00
Bruno Windels
73d9a71b29
Merge pull request #2226 from matrix-org/bwindels/resizeroomsublists
...
Redesign: 1st go at resizing room sublists
2018-10-19 13:33:28 +00:00
Bruno Windels
eb1ee1ca55
bind instead of second member var
2018-10-19 15:15:49 +02:00
Bruno Windels
44b92eb071
set sub list height with flex-basis to make it ... well, grow less
2018-10-18 16:58:17 +02:00
Bruno Windels
39ab3d86bd
create sizer that sets item size with flex-basis
...
works with the flex-grow we set initially for the sub lists
2018-10-18 15:51:22 +02:00
Bruno Windels
a910f46c5b
don't assume config
2018-10-18 15:51:01 +02:00
Bruno Windels
8d414d0986
more docs
2018-10-17 13:45:56 +02:00
Bruno Windels
d8ead8a8bb
add some description to some classes
2018-10-17 13:42:30 +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
3a26f0fa12
only fire onCollapsed once when changing
2018-10-16 18:43:13 +02:00
Bruno Windels
28ec0f7462
onResized callback
2018-10-16 18:42:56 +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
Bruno Windels
c095e30ae4
provide collapsed callback to also collapse on react side of things
2018-10-16 14:56:49 +02:00
Bruno Windels
c56975d93d
dont base collapse toggle size on min-width, as it's not available in collapsed state
2018-10-16 12:26:08 +02:00
Bruno Windels
4f006b033e
collapse left panel when 50px past min-width
2018-10-11 15:40:59 +02:00
Bruno Windels
928b6d47c8
add resize handles between 3 main app columns
2018-09-24 16:07:42 +01:00