-
-
Notifications
You must be signed in to change notification settings - Fork 403
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
Improving customizability and layout of widgets #84
Comments
I'd like to vote for adding a "tight" option for the widgets. E.g. if we take this example from #882: it just makes me feel bad to look at it, when it could look like this mockup: I.e., an option that makes us pack each widget into a single line, shrinking whatever is necessary to make it fit with the label. Sure, this won't always work, with long labels, and maybe shouldn't be the default, but clearly we don't always need to be using so much space that it dwarfs the actual plot! |
I just want to add that we have a plan to improve the javascript code, with a general WidgetManager that is widget-agnostic (in terms of how it looks and library used), allowing multiple possible widget libraries to be used in Javascript. If we ever get round to completing this planned refactor, you could (for instance) use standard HTML widgets (i.e a HTML form) instead of the default JQueryUI widgets shown above. This would hopefully make it easier to implement fancier widgets and nicer layouts. |
@jbednar Nice mockup! And I agree that is what we should be aiming for. |
Looks really nice! This will make it much easier for me. |
Any update on this? I'd like to move the position of any sliders/dropdowns. I'm a new user to Holoviews and this is one of the first things I ran into. |
This is still a feature we are very intent on implementing! As it stands, we just need a chunk of time to implement it, ideally with some experienced JavaScript help. The other thing we will want to keep in mind is support for JupyterLab: if we get a chance to refactor our widget system to make it more extensible and flexible, we will want to make sure it will also work right with JupyterLab. |
@philippjfr and I discussed our plans for widgets and arrived at the same design we consider years ago (see the wiki page though I haven't updated it yet). Edit: I've looked through it and the plan is unchanged! The core idea is that streams are powerful and everything should be streams. Streams can update plots in response to events and what we are missing are independent widget components that can generate stream events in response to user interaction. Widgets need to be JS objects (not templated) associated with any widgeting library (bokeh, datgui, JQueryUI, native HTML5 widgets) that have a consistent API to talk to a generic HoloMaps would be a special case handled by the widget manager: from the perspective of the widget, it is sending a stream event and from the perspective of the plot it is receiving new data in response to a stream event. What is different is the bit in the middle: instead of talking to a live Python process, the There is a lot more to this and this is just an outline to restart the discussion: the vision is to have composable, independent components that generate stream events (just like |
One more idea for the widget layout is it's position. I just got a case where I want my dropdown widget of holomap to be at the bottom - but it seems to be impossible right now... |
Just trying to link up the widget related issues. I think #2178 and #673 are also related. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Discussion in #70 indicated that we should aim to improve the customizability of the widget layout. The original request by @basnijholt was:
Comments:
philippjfr:
jlstevens:
Summary:
In summary there is currently very little customizability of the layout of the widgets. We are committed to improving the widgets until we or someone else can come up with a way to integrate static widgets with the IPython widgets API, however neither of us currently has time to devote to Javascript development. We would however be happy to provide input and guidance if someone wants to submit a pull request for improvements.
Known issues:
Possibilities to consider:
The text was updated successfully, but these errors were encountered: