FleetbaseFleetbase

Sidebar Service

The `sidebar` service controls the console sidebar's visibility (visible / minimized / hidden) and enabled state.

Sidebar Service

@service sidebar;

The sidebar service controls the console sidebar — show, hide, minimize, enable, disable. Most extension authors only need it for full-screen views (where you want to hide the sidebar to give a workflow more space) or special UIs that mode-switch the sidebar's visibility.

Inject

import Component from '@glimmer/component';
import { inject as service } from '@ember/service';

export default class FullscreenViewerComponent extends Component {
  @service sidebar;
}

States

The sidebar has three visual states:

StateMeaning
visibleDefault — full sidebar showing
minimizedCollapsed to icons only
hiddenCompletely off-screen

Plus an enabled flag — when disabled, the sidebar is forced hidden and show() / minimize() are ignored.

Public API

State Getters

GetterDescription
isVisibleTrue when state ≠ hidden
isHiddenTrue when state = hidden
isMinimizedTrue when state = minimized
isEnabledTrue when not disabled
isDisabledTrue when disabled
hasContextTrue when a sidebar component is registered

Actions

MethodDescription
show()Transition to visible
hide(options?)Transition to hidden. Pass { immediate: true } for no animation, or { preserveDisabled: true } to keep the disabled state
hideNow()Hide immediately (no animation)
minimize()Transition to minimized
toggle()Toggle between visible and hidden
enable(state?)Set enabled and restore the previous state (or the passed state)
disable()Force-hide and prevent the user from re-opening
setVisualState(state)Set the state without triggering side effects
setEnabled(bool)Set enabled flag without other side effects
transitionTo(state, options?)Lower-level transition

Element Access

MethodDescription
getComponent()The registered sidebar component instance
getElement()The sidebar's DOM node
getGutterElement()The sidebar gutter (resize handle)

Real-World Examples

// Hide the sidebar when entering a full-screen workflow
@action enterFullscreen() {
  this.sidebar.hide();
}

@action exitFullscreen() {
  this.sidebar.show();
}

// Disable the sidebar entirely (e.g. during onboarding)
@action startOnboarding() {
  this.sidebar.disable();
}

@action finishOnboarding() {
  this.sidebar.enable();   // restores the previous state
}

// Minimize during a focus mode
@action focusMode() {
  this.sidebar.minimize();
}

Source

FileDescription
addon/services/sidebar.jsService class
addon/components/layout/sidebar/Sidebar component
Sidebar Service | Fleetbase