Giter VIP home page Giter VIP logo

Comments (14)

bsdis avatar bsdis commented on August 23, 2024 1

Any news on popping out docked panels?

from phosphor.

jasongrout avatar jasongrout commented on August 23, 2024

(For reference, the other thread is #50.)

from phosphor.

forman avatar forman commented on August 23, 2024

That would be a really useful feature! I'd be really happy if the design of that feature will later on allow for flexible replacement of the panel's parent window while it is floating. For example, we would like to be able to float panels in Electron browser windows. A web application may want to have the choice to use either browser popup windows or floating div containers.

from phosphor.

sccolbert avatar sccolbert commented on August 23, 2024

@forman I'm not sure I follow you. Can you elaborate a bit more on the behavior you're looking for?

from phosphor.

RobertoMalatesta avatar RobertoMalatesta commented on August 23, 2024

@sccolbert I suppose @vrmerlin intends something like the feature golden-layout has.
See: https://golden-layout.com/examples/
(click on the stacked icon on the right, to open the tab in a new window while retaining its size)
It could be handy, even if g-l implementation is a bit heavy.
--R

from phosphor.

vrmerlin avatar vrmerlin commented on August 23, 2024

Yes! That's the feature I'd like to see.

from phosphor.

forman avatar forman commented on August 23, 2024

@sccolbert If I run a native desktop application that has docking window support, for example Photoshop, and I undock a tool panel I will get another native desktop window that I can place somewhere on the desktop, may it be next to, behind, or on top my main application window. I can also place it on another screen. Such desktop applications could be built with electron and still using a webtech stack. However, electron comes without such panel support, but it lets you open new native windows through its JS API.
If I'd decide to use PhosphorJS and electron for my desktop application (which I would really like to do) and it will one day support #153, I'd like to configure PhosphorJS' new undocking mechanism so it will create native windows for its floating panels through electron (e.g. by some window factory / dependency injection pattern) rather than letting it create just pseudo windows implemented by draggable div elements or so. The latter would be limited to the bounds of the (browser) window's content area rendered by the browser engine. An alternative to draggable div elements would be to let panels float in browser popup windows as it is done in golden-layout, as @RobertoMalatesta mentioned.

Hopefully this makes my issue a little clearer. I have to admit I'm a webtech beginner which may explain why I can't express my issue better. (Everything seems so much more complicated in JS compared to e.g. Java/Swing, which I use since 15 years and where there are several options for mature docking frameworks. Of course, for the desktop only.)

from phosphor.

jjrv avatar jjrv commented on August 23, 2024

It would be nice to have both options but in web apps with floating toolbars it's probably more practical to have the toolbars float as freely movable divs. Otherwise they'll always move behind the main browser window when clicking anywhere else. In a native Electron app you might be able to somehow configure the floating windows to stay above the main one, but browsers won't give you such access to the window manager.

Still, if I have two large tabs (for example an Excel-like grid view and a visualization of the data) and a multi-monitor setup, I might want to put each tab on its own monitor (in a separate browser window).

from phosphor.

sccolbert avatar sccolbert commented on August 23, 2024

Having the ability to pop-out tabs as free-floating windows (like in Golden Layout) is a planned feature. The other option of in-browser draggable "div windows" (like an MDI interface) is not something I'm interested in building.

from phosphor.

forman avatar forman commented on August 23, 2024

That's great, I'm also against the "div windows" solution as used e.g. in Dock Spawn. But still, will you consider in your design the customization of creating a floating panel's host window? I mentioned one use case where I and most likely many other electron users will want to create electron browser windows.

from phosphor.

jjrv avatar jjrv commented on August 23, 2024

I'd love to have real floating windows with a host browser window, if there's a way to do that also outside Electron. But if I have a movable information panel for example showing what's under the mouse, it really sucks if it disappears under the browser at every click. Would you take a PR for "div windows" or is the feature simply out of the question?

I can't argue against using parent and child windows in Electron but I'd need the same also for browsers, so preferably both features.

from phosphor.

sccolbert avatar sccolbert commented on August 23, 2024

@forman Yes, I can make the window factory customizable.

@jjrv We can do the best we can with native browser child windows for now. I'll wait and see how much demand there is for MDI-style stay-on-top windows.

from phosphor.

jjrv avatar jjrv commented on August 23, 2024

@sccolbert I'd rather need the MDI-style windows, to support toolbars that can be docked or floated on top of a map view. Can you look at PR #196 if I'm going in the right direction and if it would have a chance of getting merged once fully implemented? Are the implementation and coding style acceptable?

from phosphor.

vmcbaptista avatar vmcbaptista commented on August 23, 2024

Hi guys! First of all congrats for this project. It seems to have huge potential. Now the question. Do you have any news regarding this popup panels feature? On #50 @sccolbert referred about a new widget (FloatingWindow) is that idea being developed?

from phosphor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.