Class ClickableRail
Slider extension that allows clicking on the Slider's rail element,
triggering the thumb to align with the location of the click.
Configuration Attributes
Enable or disable clickable rail support.
Default Value: true
Methods
protected
void
_bindClickableRail
(
)
Attaches DOM event subscribers to support rail interaction.
protected
void
_defRailMouseDownFn
(
e
)
Default behavior for the railMouseDown event. Centers the thumb at
the click location and passes control to the DDM to behave as though
the thumb itself were clicked in preparation for a drag operation.
- Parameters:
-
e
<Event>
the EventFacade for the railMouseDown custom event
protected
Array
_getThumbDestination
(
e
,
node
)
Calculates the top left position the thumb should be moved to to
align the click XY with the center of the specified node.
- Parameters:
-
e
<DOMEvent>
The mousedown event object
-
node
<Node>
The node to position
- Returns:
Array
- the [top, left] pixel position of the destination
protected
void
_initClickableRail
(
)
Initializes the internal state and sets up events.
protected
void
_onRailMouseDown
(
e
)
Dispatches the railMouseDown event.
- Parameters:
-
e
<DOMEvent>
the mousedown event object
protected
Y.DD.Drag
_resolveThumb
(
e
)
Resolves which thumb to actuate if any. Override this if you want to
support multiple thumbs. By default, returns the Drag instance for
the thumb stored by the Slider.
- Parameters:
-
e
<DOMEvent>
the mousedown event object
- Returns:
Y.DD.Drag
- the Drag instance that should be moved
protected
void
_unbindClickableRail
(
)
Detaches DOM event subscribers for cleanup/destruction cycle.
Events
clickableRailChange
(
event
)
Fires when the value for the configuration attribute 'clickableRail' is changed. You can listen for the event using the
on method if you wish to be notified before the attribute's value has changed, or using the
after method if you wish to be notified after the attribute's value has changed.
- Parameters:
-
event<Event.Facade>
An Event Facade object with the following attribute specific properties added: - prevVal
- The value of the attribute, prior to it being set
- newVal
- The value the attribute is to be set to
- attrName
- The name of the attribute being set
- subAttrName
- If setting a property within the attribute's value, the name of the sub-attribute property being set
railMouseDown
(
)
Broadcasts when the rail has received a mousedown event and
triggers the thumb positioning. Use
e.preventDefault()
or
set("clickableRail", false)
to prevent
the thumb positioning.
Preventable:
This event is preventable by method e.preventDefault(). The default function executed by this event is _defRailMouseDownFn.