Yes, this type of layout paradigm is referred to as "docker" (not to be confused with the virtualisation containers). Examples for frameworks that implement the docker paradigm are PhosphorJS, wcDocker or dockspawn A similar approach (without the re-ordering) is provided by jQuery Layout and ExtJS
Depending on your usecase you might also prefer Gridster, Masonry or Isotope. To our knowledge there isn't another layout manager / framework that supports browser based multi window / multi screen webapps.
I wish I knew. If you’re an Angular 2 Guru your contribution would be very welcome. Please find an associated Github issue here.
Fork the Github repo and raise a pull request. There aren’t any other hard rules for contributions, just try to stick to the coding style. Oh, and don’t be disappointed if you submit a pull request that fundamentally changes GoldenLayout’s behaviour or breaks backwards compatibility and it gets rejected – GoldenLayout is used by a large number of giant institutions that have come to rely on it and maintaining compatibility is a priority.
The second (optional) argument for the GoldenLayout constructor isa dom element the layout should be rendered into.
I'm afraid so. Whenever an iFrame is repositioned within the DOM it reloads. There is unfortunately little GoldenLayout can do about that.
GoldenLayout doesn’t actually move the DOM element to a new window. Instead, it takes its current state, saves it in local storage, destroys the old component and opens a new window at the size and position that the component used to be at (plus/minus a bit – depending on which browser you’re using and how many toolbars etc. you have installed, inner and outer window sizes will differ).
The new window has the same URL as the old window plus a GET-parameter containing the localstorage item key that the old component’s state / window configuration can be found under. The GoldenLayout instance in the new window detects the presence of this parameter and launches GoldenLayout with it as a configuration.
Yes, GoldenLayout used to be only available under a GPL license – which requires the licensee to release their source code under the same license. As this wasn’t an option for most enterprise customers, a paid for proprietary license was offered as well. Whilst being commercially successful, there were two things that bothered me about this: