So I’ve been digging and playing Sherlock a bit and now I understand the complexity and the amount of work that needs to be invested by the team to give us this.
We all know(or should know or know now) that Wappler UI is built with nwjs which ships with Chromium to provide a graphical interface. So basically Wappler UI is a very complex website that can call node.js modules to extend its functionality and it’s all wrapped inside a desktop browser(chromium). That’s why we can run it in all major OS and they don’t have to worry(too much) about what OS we are running.
That was a great design decision.
Now what I didn’t know(but now I do) is what library they were using to create the layout. Also a good solution but constrained by the single window implementation they have done. I was going to propose to have a functionality to move tab content to a window and viceversa. They would still be enclosed in the single window but it would allow further flexibility.
After checking the docs of the library being used I can see that it can’t be done out-of-the-box so they would actually have to fork the library(if not done already) and implement it themselves. And maybe the core functionality of the library wouldn’t allow it.
So moving back to the dockable panels and moving windows around. It can be done from a technical pov but it’s hell of a lot of work because the windows you see inside Wappler are actually popups constrained by the same window that constrains your websites.
Imagine a modal in your website. You already know it’s not going to move from the tab your are in. You can’t move a modal from your website to your second screen without detaching the whole tab.
That tab is Wappler right now. To be able to do what we want they would have to move from a single window implementation to a multiple window implementation(the multiple instances we talked about in another topic) and change Wappler’s whole UI architecture.
Anyway, trying to shed some light on this topic from an independent position. Wappler team, feel free to chip in and correct me if I’m wrong.