Repository navigation
NMS-20488: Let pages and plugins hide the Vue app shell's chrome - #9019
Open
marshallmassengill wants to merge 1 commit into
Open
marshallmassengill wants to merge 1 commit into
marshallmassengill wants to merge 1 commit into
Conversation
Wall displays, full-screen dashboards and plugin pages such as an operator board need a page without the menu bar, side menu and footer. A page cannot remove that chrome itself without styling the host's class names and the inline padding SideMenu sets, and covering it with a fixed overlay puts PrimeVue dialogs and dropdowns underneath. The seam package gains useOnmsChromeless(): enterChromeless() hides the chrome until exitChromeless() or Escape, and isChromeless is a readonly ref for a toggle's state. Its state is module-level, like useOnmsToast, so the host and plugins share it through window.OnmsUI and plugins get typed imports and the exports-test contract. App.vue calls useOnmsChromelessHost() once: it turns the chrome off for routes with meta.chromeless (a new route undoes an exit, not an enter) and installs the Escape handler. Escape is ignored while a dialog or drawer is open, since PrimeVue closes those on Escape without marking the event handled; that PrimeVue class check stays inside the package. App.vue then drops the header and footer slots and the padding that clears them. SideMenu already clears its inline padding and side-menu offset on unmount.
marshallmassengill
requested review from
cgorantla,
joseanesONMS and
synqotik
October 23, 2026 18:50
|
This branch has not been deployed
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.
Wall displays, full-screen dashboards and plugin pages such as an operator board need a page without the menu bar, side menu and footer. A page cannot remove that chrome itself without styling the host's class names and the inline padding SideMenu sets, and covering it with a fixed overlay puts PrimeVue dialogs and dropdowns underneath.
This adds a shared, seam-level way for core pages and plugins to show full screen without the menu bar, side menu and footer, for wall displays and similar views.
Assisted by Anthropic Claude Opus 5.5
External References