[ Mini Kiebo ]
Server: Windows NT DESKTOP-5B8S0D4 6.2 build 9200 (Windows 8 Professional Edition) i586
Path:
D:
/
Backup
/
05122024
/
htdocs
/
siakad
/
akademik
/
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'), classModifier = [options.cssClasses.handleLower, options.cssClasses.handleUpper]; if ( direction ) { classModifier.reverse(); } addClass(handle, options.cssClasses.handle); addClass(handle, classModifier[index]); addClass(origin, options.cssClasses.origin); 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, options.cssClasses.connect); addClass(handles[0], options.cssClasses.background); break; case 3: addClass(handles[1], options.cssClasses.background); /* falls through */ case 2: addClass(handles[0], options.cssClasses.connect); /* falls through */ case 0: addClass(target, options.cssClasses.background); 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, options.cssClasses.target); if ( direction === 0 ) { addClass(target, options.cssClasses.ltr); } else { addClass(target, options.cssClasses.rtl); } if ( orientation === 0 ) { addClass(target, options.cssClasses.horizontal); } else { addClass(target, options.cssClasses.vertical); } var div = document.createElement('div'); addClass(div, options.cssClasses.base); target.appendChild(div); return div; }