Saving Layout using GoldenLayout Template

I am using the GoldenLayout Template in a stand alone app and trying to figure out how to save the layout. This is something that is documented in the GoldenLayout docs, GoldenLayout- a multi-window javascript layout manager for webapps. I have a CodeEditor, that is in a Card and on the main area of the template. I have subscribed to all events on the CodeWidget, the Card and the Template and do not see any events fired, so am I right to assume that the GoldenLayout template must be customized so that I will receive the events about the objects moving or changing size?

I have looked over the .ts and .py files for the GoldenLayout template and I’m not able to understand how the eventing works from js/ts to python. I can’t tell what params on any object will raise events, except through trial and error - I watch everything in here - obj.param.params().keys(), and very few params fire events.

I saw that the ReactTemplate had a save_state boolean param so tested that and it worked. The React Template is a little wonky in terms of moving components around and the look, at least in so far that I have found in using today compared to Golden, but it has a more robust implementation than the Golden Layout.

I will try and update the Golden.html template to allow for saving state. As it currently exists, being able to move components and resize without being able to save that state, this template only seems useful as an example.

I attempted to add some very basic code to save the state, as directed from the GoldenLayout Website link that I posted earlier, but I get Bokeh errors like this: bokeh-3.3.4.min.js:230 Uncaught (in promise) Error: Error rendering Bokeh model: could not find #ee7c9eb8-7faf-418a-a452-def7f03de3f2 HTML tag

The Golden Layout Template is a much better interface IMO than React, but since the React Template is in a usable state, I will defer to using that for now as a solution.

If anyone is using the GoldenLayout Template in a functional way - saving the state of the dynamic panels, I’d love to know what versions of Panel and Bokeh they are using.

Related Issues