This is a .backport issue for #15848, automatically created via GitHub Actions workflow initiated by @torchiaf
Original issue body:
Is your change request related to a problem? Please describe.
We have multiple instances of WindowManager in 2.13 .
- They are mounted when navigating to pages that are build on top of one of [default.vue, home.vue, plain.vue] layouts.
- They are un-mounted when moving out.
This means that components hosted in the WindowManager panels have to handle (via store) their internal status so that it's saved across layouts navigation and restored when the WindowManager is mounted.
At the moment, the only component using the WindowManager across multiple layouts is the AI Assistant chat, which has to store its status in any case, for when the chat is closed.
However, for the future we need to fix this pattern.
Describe the solution you'd like
- We should use 1 global instance of
WindowManager, mounted in shell/public/index.html, and remove the others.
- Panels visibility should be calculated by
productId, not layout prop.
This is a .backport issue for #15848, automatically created via GitHub Actions workflow initiated by @torchiaf
Original issue body:
Is your change request related to a problem? Please describe.
We have multiple instances of
WindowManagerin 2.13 .This means that components hosted in the WindowManager panels have to handle (via store) their internal status so that it's saved across layouts navigation and restored when the WindowManager is mounted.
At the moment, the only component using the WindowManager across multiple layouts is the AI Assistant chat, which has to store its status in any case, for when the chat is closed.
However, for the future we need to fix this pattern.
Describe the solution you'd like
WindowManager, mounted inshell/public/index.html, and remove the others.productId, notlayoutprop.