-
Notifications
You must be signed in to change notification settings - Fork 408
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split Pane v2 - simplified API #240
base: master
Are you sure you want to change the base?
Conversation
* use src files in storybook, not lib * don't break when a child is null * Remove changes to storybook * Remove changes to storybook * Remove changes to storybook
👏 |
Go @tomkp go! this is very exciting! |
@tomkp could you give me a heads-up when you think this is stable enough to usage in storybook? Happy to test this for you. With usage you'll likely get more/better feedback. |
You'll probably want to:
|
@ndelangen I'll put that on my TODO list. I haven't worked much on v2 but I'll touch base with @tomkp . 👍 |
I hit some bugs with the minSize, and I think this code right here needs rethinking / optimisation: Currently when the parent re-renders, the pane-sizes reset to default. |
Hi @ndelangen, could you provide an example with issue you described? |
@wuweiweiwu @tomkp - is there something I could help with? |
@tsaiDavid Yes! I'd love some help :-) I'll have a think about what would be most useful - but off the top of my head I think that I was keen to get the ability to listen on events working. eg: onDragStarted onDragFinished onChange |
@wuweiweiwu @tomkp any thoughts of moving the website to Create React App (CRA)? |
Hi Tom - awesome demo examples!
|
Hi, just like to say this is probably the smoothes split-pane component i've found out there so far, great job! |
@fsjobeck will pick back up when I get some free time! |
Ou, this seems abandoned from the previous year what is sad, because the API looks nice and also it seems working pretty good. I wanted to mention only 1 issue I had: The example import in the https://www.npmjs.com/package/react-split-pane#new-version does not work. I needed to import Hope this will be finished someday. It's a nice library and also this PR. Thanks. |
index: idx, | ||
'data-type': 'Pane', | ||
split: split, | ||
key: `Pane-${idx}`, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To me, an interesting improvement would be to let the user set the key
for Pane
components.
I implemented an add / remove logic for panes using a DOM structure similar to
<SplitPane>
{panes.map((paneId: string) =>
<Pane key={`scene-pane-${paneId}`}>
...
</Pane>
}
</SplitPane>
In my example, panes
is a state variable consisting of a list of unique pane identifiers. When I close a pane, a callback simply removes its id from the list. However, because this librairy rewrites key
for Pane
, I get inconsistent results.
Please consider using something like nanoid
to generate unique ids for panes rather than using their position in the list of panes.
It would be great if this can be used with CSSTransition. |
@tomkp any update on this release |
@miso-belica |
Could not find a declaration file for module react-split-pane/lib/Pane |
This PR is for a new v2 of
react-split-pane
.Checkout the demo
Try it out today:
or
The intention is to simplify the API by allowing Panes within the SplitPane to take
props
such asminSize
,maxSize
,initialSize
,className
,style
etc.I'm happy for any / all contributions!
Some things todo (in no particular order)
<Pane>
or plain olddiv
%
orpx
<Resizer>
Glamorous
vsStyled-Components
vsinline-style-prefixer
)