[Manage] Use BUI page header - #7896
Merged
Merged
Conversation
…what kinds to render tabs for Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com>
The tabs used to be MUI tabs _inside_ the page. Moving to BUI PluginHeader means a lot of refactoring was necessary, to move providers outside this so that the header has access to provider contexts. Support for the old frontend system is still there, so its ManagePage, ManagePageFilters and ManageTabs where moved into /src/components-ofs and the necessary refactoring of the NFS page was done in isolation. No API breakage or changes - both OFS and NFS work as before. Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com>
Contributor
Changed Packages
|
evanlankveld
pushed a commit
to evanlankveld/community-plugins
that referenced
this pull request
Apr 28, 2026
* Parse and forward missing "kinds" settings from config - controlling what kinds to render tabs for Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com> * Move page header and tabs to BUI The tabs used to be MUI tabs _inside_ the page. Moving to BUI PluginHeader means a lot of refactoring was necessary, to move providers outside this so that the header has access to provider contexts. Support for the old frontend system is still there, so its ManagePage, ManagePageFilters and ManageTabs where moved into /src/components-ofs and the necessary refactoring of the NFS page was done in isolation. No API breakage or changes - both OFS and NFS work as before. Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com> * changeset Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com> --------- Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com> Signed-off-by: Emiel van Lankveld <evanlankveld@bol.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hey, I just made a Pull Request!
The Manage plugin is fully NFS, but OFS is still supported. The complexity of the plugin makes supporting both a bit tricky. While OFS is marked as deprecated, and removing support for it will enable a pretty big cleanup, support for both is still there and both need to work.
This PR:
Moving the header is not just replacing the one in MUI with the one in BUI. In MUI, it's a component mounted inside the page, relatively deep within providers and other top-level components. The knowledge of what tabs to show requires providers and logic (and tabs may be added by extensions dynamically). For the BUI page header to look right, it needs to be mounted top-level of visual components which causes this change to be quite significant. It's almost entirely refactoring / moving code around, with almost no other change. An icon and title is added to the plugin object, and the icon is changed from a MUI icon to remixicon.
The
ManagePage,ManageTabsandManagePageFilterscomponents are moved into/src/components-ofsfor the OFS version (for future deletion), and the the logic for NFS is copied and heavily changed. This way, the OFS support is left intact while the NFS version is changed.The full-height setting for extensions to use (to get a parent container filling the space between the tabs and the bottom of the page) is re-written for NFS specifically, as the body element cannot be accounted for for viewport height. The body element is not filling up vertical space when using BUI headers, they way it is using the MUI page header.
The PR may look big, well, it is. But it's mostly refactoring/moving for the BUI header to work.
Unit tests for both the OFS and NFS versions exist to ensure components are rendered in the table of entities, and both versions work well with manual testing too.
There is no API change, it's all internal.
The example app:
✔️ Checklist
Signed-off-byline in the message. (more info)