mathuo / dockview

Zero dependency Docking Layout Manager. Supports Vanilla TypeScript, React and Vue.
https://dockview.dev
MIT License
636 stars 45 forks source link

Window manager #151

Open KyDenZ opened 2 years ago

KyDenZ commented 2 years ago

Hello,

I have looked at your library and I wanted to congratulate you for your work!

I am interested in several of your components and I would like to know if you plan to add a window manager system later, a bit like this : https://github.com/nomcopter/react-mosaic

You have very good performances and I like your structure very much. It could be interesting for you to propose a window manager system, it stays in the style of your other components.

mathuo commented 2 years ago

Hi - Thanks for checking it out!

I think I understand what you are saying but to confirm, this would kind of be like having a GridView component (https://dockview.dev/docs/components/gridview) but where each component has some kind of header components and is draggable. In this scenario we would have a similar behaviour to what is supported in react-mosaic?

KyDenZ commented 2 years ago

Yes it is !

With a magnet system on the sides to put a panel on the whole length/width of the gille:

Enregistrement de l’écran 2022-08-25 à 11 29 56

abalter commented 1 year ago

I would like this too.

jccq commented 1 year ago

Is this not exactly the docview? https://dockview.dev/docs/components/dockview

mathuo commented 1 year ago

Thanks for the comments. I've linked a PR here which will allow users to drag entire groups as well as individual tabs as is already supported, although each group will container 1+ tabs. I will add a link to a sandbox once I have an experimental build.

Here's a GIF of the entire group dnd feature.

dockview_gif

Does this description sound along the lines of what you may be talking about here?

KyDenZ commented 1 year ago

Thanks for your feedback.

I tested your branch locally, I think we will need these features for a window manager:

example: Capture d’écran 2023-01-11 à 22 40 54

Thank you!

mathuo commented 1 year ago

Updates: Version 1.6.0

To be investigated still:

abalter commented 1 year ago

I've still noticed a few inconsistencies in behavior. I'll try to test and document them for you.

Also, I'd still love to see some sort of standalone example that has the minimum requirements in terms of linked files (js and CSS).

mathuo commented 1 year ago

Thank you, let me know if you do find anything and I will take a look.

Yes, I was thinking that the examples on the docs would be much better with a link to an interactive example with something like CodeSandbox, will take a look at getting something like this setup.

mathuo commented 1 year ago

This is a barebones running example using TypeScript just to help with any testing.

https://codesandbox.io/s/dockview-example-q21vuc

I will investigate a solution for sharing the examples you see in the docs too.

abalter commented 1 year ago

Thats great! It would be stupendous if it didn't depend on react. Some of us aren't really web developers but want to play around with building apps. I don't program in typescript or react. But I like to build stuff using javascript.

mathuo commented 1 year ago

Currently working on isolating the React code portion, making good progress on that. Hopefully should have an example soon.

I will try and produce some purely JavaScript examples too (without TypeScript) for those not using TypeScript.