MINI Sh3ll
// libLink integration
// Create a new function which calls .val on input change.
function createChangeHandler ( trigger ) {
return function ( ignore, value ){
// Determine which array position to 'null' based on 'trigger'.
$Target.val( [ trigger ? null : value, trigger ? value : null ], true );
};
}
// Called by libLink when it wants a set of links updated.
function linkUpdate ( flag ) {
var trigger = $.inArray(flag, triggerPos);
// The API might not have been set yet.
if ( $Target[0].linkAPI && $Target[0].linkAPI[flag] ) {
$Target[0].linkAPI[flag].change(
$Values[trigger],
$Handles[trigger].children(),
$Target
);
}
}
// Called by libLink to append an element to the slider.
function linkConfirm ( flag, element ) {
// Find the trigger for the passed flag.
var trigger = $.inArray(flag, triggerPos);
// If set, append the element to the handle it belongs to.
if ( element ) {
element.appendTo( $Handles[trigger].children() );
}
// The public API is reversed for rtl sliders, so the changeHandler
// should not be aware of the inverted trigger positions.
// On rtl slider with one handle, 'lower' should be used.
if ( options.dir && options.handles > 1 ) {
trigger = trigger === 1 ? 0 : 1;
}
return createChangeHandler( trigger );
}
// Place elements back on the slider.
function reAppendLink ( ) {
var i, flag;
// The API keeps a list of elements: we can re-append them on rebuild.
for ( i = 0; i < triggerPos.length; i += 1 ) {
if ( this.linkAPI && this.linkAPI[(flag = triggerPos[i])] ) {
this.linkAPI[flag].reconfirm(flag);
}
}
}
target.LinkUpdate = linkUpdate;
target.LinkConfirm = linkConfirm;
target.LinkDefaultFormatter = options.format;
target.LinkDefaultFlag = 'lower';
target.reappend = reAppendLink;
OHA YOOOO