ProtectedobjectProtectedpropertyProperty name being controlled
ProtectedlabelDisplay label (defaults to property name)
Root DOM element for this controller
Optional$inputInput element (varies by controller type)
ProtectedchangeChange callbacks
ProtectedfinishFinish change callbacks
ProtectedeventEvent manager for cleanup
ProtectedisVisibility state
ProtectedtypeController type (for internal discrimination)
Private OptionalminPrivate OptionalmaxPrivate OptionalstepPrivate OptionalsliderPrivateinputPrivate OptionalwheelDebounce timer for wheel finishChange
PrivateinitialInitial value at construction time (for double-click reset)
Private OptionalcustomCustom display override (for logarithmic patterns)
ProtectedinitializeInitialize DOM element (must be called by subclass after all properties are set)
Set the display label
Label text
this (for chaining)
Get current value from target object
Current value
Register a change callback (fired on every change)
Change handler
this (for chaining)
Register a finish change callback (fired on blur/mouseup)
Finish change handler
this (for chaining)
ProtectedtriggerTrigger all change callbacks
ProtectedtriggerTrigger all finish change callbacks
Show the controller
this (for chaining)
Hide the controller
this (for chaining)
ProtectedcreateCreate base DOM structure common to all controllers
Base controller element
ProtectedcreateCreate the DOM structure for this controller
Must be implemented by subclasses
Update display to reflect current value
Must be implemented by subclasses
this (for chaining)
Override updateDisplay method (for logarithmic sliders)
This allows rendering-controls to implement custom display logic
Custom update function
Set min value (number controllers only - overridden in NumberController)
Set max value (number controllers only - overridden in NumberController)
Set step value (number controllers only - overridden in NumberController)
PrivatehasPrivategetPrivateconstrainOverride of Controller.setValue that:
[min, max] — into the configured range via the same
constrainValue helper the DOM event paths use.Without this override the inherited base setValue performs a raw
assignment, so a programmatic caller writing setValue(NaN) or
setValue(1e20) would silently corrupt the model. Documented as a
round-11 audit OOS finding.
Dispose the controller and clean up resources
CRITICAL: Must remove all event listeners to prevent memory leaks
Target object containing the property