src/platform/plugins/shared/navigation/server/README.md
The server-side portion of the Navigation plugin is primarily responsible for registering UI settings that control navigation behavior across Kibana. While most of the navigation functionality is implemented on the client side, the server component provides essential configuration options and defaults.
The server plugin registers several UI settings that control navigation behavior:
hideWriteControls: Controls the visibility of write operation controls in the UIdefaultRoute: Defines the default route for Kibana when a user first logs inautoRefreshInterval: Sets the default auto-refresh interval for dashboards and visualizationstimepicker:quickRanges: Configures the quick time ranges available in the time pickerThese settings can be customized by administrators through the Advanced Settings UI or via configuration files.
During the setup phase, the server plugin:
The server plugin integrates with:
Most developers will not need to interact directly with the server plugin. The UI settings registered by this plugin are consumed by the client-side components automatically.
If you need to access these settings programmatically on the server side:
import { UI_SETTINGS } from '@kbn/shared-navigation-plugin/common';
// In a route handler or service
const hideWriteControls = await coreStart.uiSettings.get(UI_SETTINGS.HIDE_WRITE_CONTROLS);