OutletButton

OutletButton Stimulus Controller

Manages inter-controller communication through data passing and event dispatching. Provides a button component that can collect data from other controllers and dispatch custom events for complex workflow coordination.

Features:

  • Data collection and validation
  • Conditional button state management
  • Custom event dispatching for controller communication
  • Required data validation with automatic button disabling
  • Event listener management for workflow integration
  • Outlet-based controller communication patterns

Values:

  • btnData: Object - Data collected from other controllers
  • requireData: Boolean - Whether data is required for button activation

Usage:

JavaScript integration: controller.addBtnData({memberId: 123, action: 'assign'});

Methods

addBtnData(data)

Add data to button for communication Updates the button's data payload for event dispatching

Parameters:
NameTypeDescription
dataObject

Data object to associate with button

addListener(callback)

Add event listener for outlet button events Registers callback for custom outlet button events

Parameters:
NameTypeDescription
callbackfunction

Event handler function

btnDataValueChanged()

Handle button data value changes Updates button state based on data availability and requirements

fireNotice(event)

Fire custom event with button data Dispatches outlet-button-clicked event with collected data

Parameters:
NameTypeDescription
eventEvent

Click event from button

removeListener(callback)

Remove event listener for outlet button events Unregisters callback to prevent memory leaks

Parameters:
NameTypeDescription
callbackfunction

Event handler function to remove