question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Persist properties panel state across sessions

See original GitHub issue

Is your feature request related to a problem? Please describe.

Currently, when you restart the Modeler, the layout state (e.g. groups are collapsed/expanded) got set to the initial state (e.g. all groups are collapsed). The only things we are currently persisting in the config.json are the width and the open state of the properties container.

"layout": {
  "propertiesPanel": {
    "open": true,
    "width": 250
  }
}

image

With the new properties panel architecture, we are theoretically able to listen for more specific layout changes as well (cf. https://github.com/bpmn-io/properties-panel-persist-layout-example/pull/1).

Proposed solution

Assuming that I as a user switch between contexts in order to compare or copy/paste:

  • Ensure that properties panel open state is persisted across diagrams.
  • View is restored on a best effort basis; if a section opened does not exist, open it
  • Scroll position is restored on a best effort basis (i.e. open sections)
  • Store the layout state regarding groups open state in the config.json and keep it across sessions. As an example, the next time I open the Modeler, the same groups should stay expanded.

Describe alternatives you’ve considered

  • Instead of storing it globally, store it on a per-file / per-execution platform basis?
  • This could be configurable via UI as well
  • Not only the layout but also the ordering of groups could be something to be persisted

Additional context

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:8 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
nikkucommented, Nov 30, 2022

@christian-konrad @CatalinaMoisuc I propose that we pick this up as the next bigger topic in core editing. The proposed solution is to persist open sections across diagrams / potentially in the session; basically restore the properties-panel@0.x behavior. It has been been validated numerous times in a number of bug reports raised folks duplicating this bug.

The current situation is a huge UX blunder for everyone using the modeler as a power tool.

0reactions
CatalinaMoisuccommented, Dec 5, 2022

Note from prio discussion with @christian-konrad today: we should consider both Modelers when drafting a solution for keeping the state. We want to be able to persist state also in the Web Modeler.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Properties panel - Adobe Support
The state of the More Options button (…) is persistent across all sessions. Properties panel. No selection.
Read more >
Session State and Callbacks — Panel v0.14.2
Accessing session state#. Whenever a Panel app is being served the panel.state object exposes some of the internal Bokeh server components to a...
Read more >
Properties panel, Advanced tab
Property Name Property Value Default Format Property Name filter Property Value Default filter Format... Account Working Data Directories See details in linked topic See de... Allow...
Read more >
How To Share State Across React Components with Context
In this tutorial, you'll share state across multiple components using React context. React context is an interface for sharing information ...
Read more >
20. Persistence - JavaScript Cookbook [Book] - O'Reilly
Whether it’s storing data between sessions or enabling access to ... the location.hash property to store state in the URL and return to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found