mirror of
https://gitlab.com/JKANetwork/CheckServer.git
synced 2026-04-01 16:22:02 +02:00
Start again
This commit is contained in:
54
vendors/echarts/src/component/helper/sliderMove.js
vendored
Normal file
54
vendors/echarts/src/component/helper/sliderMove.js
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
define(function (require) {
|
||||
|
||||
/**
|
||||
* Calculate slider move result.
|
||||
*
|
||||
* @param {number} delta Move length.
|
||||
* @param {Array.<number>} handleEnds handleEnds[0] and be bigger then handleEnds[1].
|
||||
* handleEnds will be modified in this method.
|
||||
* @param {Array.<number>} extent handleEnds is restricted by extent.
|
||||
* extent[0] should less or equals than extent[1].
|
||||
* @param {string} mode 'rigid': Math.abs(handleEnds[0] - handleEnds[1]) remain unchanged,
|
||||
* 'cross' handleEnds[0] can be bigger then handleEnds[1],
|
||||
* 'push' handleEnds[0] can not be bigger then handleEnds[1],
|
||||
* when they touch, one push other.
|
||||
* @param {number} handleIndex If mode is 'rigid', handleIndex is not required.
|
||||
* @param {Array.<number>} The input handleEnds.
|
||||
*/
|
||||
return function (delta, handleEnds, extent, mode, handleIndex) {
|
||||
if (!delta) {
|
||||
return handleEnds;
|
||||
}
|
||||
|
||||
if (mode === 'rigid') {
|
||||
delta = getRealDelta(delta, handleEnds, extent);
|
||||
handleEnds[0] += delta;
|
||||
handleEnds[1] += delta;
|
||||
}
|
||||
else {
|
||||
delta = getRealDelta(delta, handleEnds[handleIndex], extent);
|
||||
handleEnds[handleIndex] += delta;
|
||||
|
||||
if (mode === 'push' && handleEnds[0] > handleEnds[1]) {
|
||||
handleEnds[1 - handleIndex] = handleEnds[handleIndex];
|
||||
}
|
||||
}
|
||||
|
||||
return handleEnds;
|
||||
|
||||
function getRealDelta(delta, handleEnds, extent) {
|
||||
var handleMinMax = !handleEnds.length
|
||||
? [handleEnds, handleEnds]
|
||||
: handleEnds.slice();
|
||||
handleEnds[0] > handleEnds[1] && handleMinMax.reverse();
|
||||
|
||||
if (delta < 0 && handleMinMax[0] + delta < extent[0]) {
|
||||
delta = extent[0] - handleMinMax[0];
|
||||
}
|
||||
if (delta > 0 && handleMinMax[1] + delta > extent[1]) {
|
||||
delta = extent[1] - handleMinMax[1];
|
||||
}
|
||||
return delta;
|
||||
}
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user