NavBarController

NavBar Stimulus Controller

Manages navigation bar expand/collapse state tracking and server synchronization. Provides persistent navigation state across page loads by recording user preferences via AJAX requests.

Features:

  • Navigation expand/collapse state tracking
  • Server-side state persistence via AJAX
  • Automatic event listener management
  • Dual-endpoint state recording (expand/collapse)
  • Bootstrap navigation integration

Targets:

  • navHeader: Navigation header elements with expand/collapse functionality

Usage:

Required attributes on navHeader targets:

  • data-expand-url: URL to call when navigation expands
  • data-collapse-url: URL to call when navigation collapses
  • aria-expanded: Current expansion state

Constructor

Methods

Handle navigation header clicks Records expansion state to server based on aria-expanded attribute

Parameters:
NameTypeDescription
eventEvent

Click event from navigation header

Handle navigation header connection to DOM Sets up click event listener for state tracking

Parameters:
NameTypeDescription
eventHTMLElement

Connected navigation header element

Handle navigation header disconnection from DOM Cleans up click event listener

Parameters:
NameTypeDescription
eventHTMLElement

Disconnected navigation header element

optionsForFetch() → {Object}

Configure fetch options for AJAX requests Sets up headers for JSON API communication

Returns:

Fetch options object

Type: 
Object