[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
xampp182
/
htdocs
/
simkeu
/
keuangan
/
vendors
/
bower_components
/
nouislider
/
src
/
js
/
[
Home
]
File: structure.js
// Delimit proposed values for handle positions. function getPositions ( a, b, delimit ) { // Add movement to current position. var c = a + b[0], d = a + b[1]; // Only alter the other position on drag, // not on standard sliding. if ( delimit ) { if ( c < 0 ) { d += Math.abs(c); } if ( d > 100 ) { c -= ( d - 100 ); } // Limit values to 0 and 100. return [limit(c), limit(d)]; } return [c,d]; } // Provide a clean event with standardized offset values. function fixEvent ( e, pageOffset ) { // Prevent scrolling and panning on touch events, while // attempting to slide. The tap event also depends on this. e.preventDefault(); // Filter the event to register the type, which can be // touch, mouse or pointer. Offset changes need to be // made on an event specific basis. var touch = e.type.indexOf('touch') === 0, mouse = e.type.indexOf('mouse') === 0, pointer = e.type.indexOf('pointer') === 0, x,y, event = e; // IE10 implemented pointer events with a prefix; if ( e.type.indexOf('MSPointer') === 0 ) { pointer = true; } if ( touch ) { // noUiSlider supports one movement at a time, // so we can select the first 'changedTouch'. x = e.changedTouches[0].pageX; y = e.changedTouches[0].pageY; } pageOffset = pageOffset || getPageOffset(); if ( mouse || pointer ) { x = e.clientX + pageOffset.x; y = e.clientY + pageOffset.y; } event.pageOffset = pageOffset; event.points = [x, y]; event.cursor = mouse || pointer; // Fix #435 return event; } // Append a handle to the base. function addHandle ( direction, index ) { var origin = document.createElement('div'), handle = document.createElement('div'), additions = [ '-lower', '-upper' ]; if ( direction ) { additions.reverse(); } addClass(handle, cssClasses[3]); addClass(handle, cssClasses[3] + additions[index]); addClass(origin, cssClasses[2]); origin.appendChild(handle); return origin; } // Add the proper connection classes. function addConnection ( connect, target, handles ) { // Apply the required connection classes to the elements // that need them. Some classes are made up for several // segments listed in the class list, to allow easy // renaming and provide a minor compression benefit. switch ( connect ) { case 1: addClass(target, cssClasses[7]); addClass(handles[0], cssClasses[6]); break; case 3: addClass(handles[1], cssClasses[6]); /* falls through */ case 2: addClass(handles[0], cssClasses[7]); /* falls through */ case 0: addClass(target, cssClasses[6]); break; } } // Add handles to the slider base. function addHandles ( nrHandles, direction, base ) { var index, handles = []; // Append handles. for ( index = 0; index < nrHandles; index += 1 ) { // Keep a list of all added handles. handles.push( base.appendChild(addHandle( direction, index )) ); } return handles; } // Initialize a single slider. function addSlider ( direction, orientation, target ) { // Apply classes and data to the target. addClass(target, cssClasses[0]); addClass(target, cssClasses[8 + direction]); addClass(target, cssClasses[4 + orientation]); var div = document.createElement('div'); addClass(div, cssClasses[1]); target.appendChild(div); return div; }