Simpler serialization for super sidebar
What does this MR do and why?
Simpler serialization for super sidebar
With !111186 (merged) we introduced serialization methods for Panels and Menus, in order to be able to use the existing Panels in the Navigation alpha.
In order to future-proof the concept, I decided to make those flexible,
by flattening the tree-structure of Menus and Menu Items and then
rebuilding it. The idea was to just provide different a different
parent_id
to certain menu items and they would be zipped up
differently.
That being said, it is a little complicated and extending it to support different groupings and different kind of menus (e.g. the static menu at the top) proved difficult with this pattern. In a follow-up commit we will introduce a new pattern which extends the existing Panels and transforms them.
Contributes to #391967 (closed).
Screenshots or screen recordings
N/A (Same as !111186 (merged))
How to set up and validate locally
- Enable the
super_sidebar_nav
and recommended:your_work_sidebar
feature flags. - Log into the GDK and enable the New Navigation for the current user via the Profile Menu
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.