• Are there any other layout managers like GoldenLayout?

    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.

  • How do I use GoldenLayout with Angular 2?

    I wish I knew. If you’re an Angular 2 Guru your contribution would be very welcome. Please find an associated Github issue here.

  • How can I contribute to GoldenLayout

    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.

  • Can I create my layout in a specific element / create multiple layouts on the same page?

    The second (optional) argument for the GoldenLayout constructor isa dom element the layout should be rendered into.

  • I'm using an iFrame in a GoldenLayout panel and it reloads whenever I move it

    I'm afraid so. Whenever an iFrame is repositioned within the DOM it reloads. There is unfortunately little GoldenLayout can do about that.

  • How does this pop out window stuff actually work?

    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.

  • Didn't this use to be proprietary / commercial before?

    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:

    1. I believe in open source – and felt that GoldenLayout was a good library that could be of use for a wide audience – yet the licensing model prevented it from finding proper community adoption.
    2. GoldenLayout used to be a side project of mine. I am now in the fortunate position to run a fast growing startup (deepstreamhub.com) and it turns out this is exactly as much work as everyone says. As a result I couldn’t give the customers the support they’ve needed, Github issues remained open and questions stayed unanswered. I didn’t want to see GoldenLayout go down this route, so I felt re-releasing it under a permissive open source license (MIT) was the right step.