Conversation
|
Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually? |
|
Hey @chandlerprall ! |
|
Checked out your branch and have focused on the developer experience for consuming/using this component (i.e. resizable_component.js demo and resizable_container.tsx). I really like the direction you took with this and think it can be really strong component. I've listed out some higher-level ideas below and am interested in your thoughts on each. multiple panels per instanceI think this could be even more useful if a single container can contain more than two panels. I wouldn't mix horizontal + vertical, but multiple panels of the same type across the container would prevent extra boilerplate code from someone building such a layout. size stateA problem we've run into with other components is developers wanting to 1. reset a component and 2. save the component's state for the next use. Learning from this, one pattern we aimed for with the datagrid is to always pass those state values back up to the consuming application and let it act however it wants. In this case, I'm imagining passing the panel sizes back up to the owner which can store the values however it wants and passes them back into the resizeable container. This also enables an app to reset the state however & whenever it wants, as it owns the state. Further, it removes the concept of initial size.
|
|
@sulemanof Noticed a problem with the resizable panel in the current visualize editor, could you check whether that's also happening here? When the left panel is overflowing, the right panel is sometimes too small (see attached gif) You can get such a visualization e.g. by creating a table visualization with multiple columns and then splitting the table again with "columns" direction. |
thompsongl
left a comment
There was a problem hiding this comment.
I really like this approach, @sulemanof. Thanks!
Looking through the latest commit, it appears you considered and implemented all of the high-level feedback from @chandlerprall.
I'm going to do a full review, but we'll also have some design feedback coming soon. We're happy to help you get this across the finish line in any way we can, including writing commits against our own feedback if you have priorities elsewhere.
|
Also, just an fyi I know that @hbharding is working on a design update for this. Scratch that, no changes since you last pulled. Regardless, might want to push in here before a bunch of review starts happening. |
I'm happy to wait for @hbharding to do his thing first. Might be a better order anyway |
|
Hey @thompsongl @chandlerprall |
|
Thanks for all tour hard work, here and in Kibana! We can easily take over from here. 👋 |
|
Thanks, @sulemanof 🙌 You've left it in a great spot for us! |
|
jenkins test this |
|
jenkins test this |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_2701/ |
Fixed by latest commit. Added math to disallow attempting to set a panel size below its specified |
|
jenkins test this |
1 similar comment
|
jenkins test this |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_2701/ |
|
jenkins test this |
chandlerprall
left a comment
There was a problem hiding this comment.
Wow, this looks really neat under the hood! Only had a couple of things stand out.
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_2701/ |
|
jenkins test this |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_2701/ |
chandlerprall
left a comment
There was a problem hiding this comment.
Changes LGTM! Pulled and tested locally

Summary
Resolves #1298 .
The Resizable container implementation with two ways of resizing:
Checklist