StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
825 B
40 lines
825 B
'use strict'
|
|
|
|
var toPX = require('to-px')
|
|
|
|
module.exports = mouseWheelListen
|
|
|
|
function mouseWheelListen(element, callback, noScroll) {
|
|
if(typeof element === 'function') {
|
|
noScroll = !!callback
|
|
callback = element
|
|
element = window
|
|
}
|
|
var lineHeight = toPX('ex', element)
|
|
var listener = function(ev) {
|
|
if(noScroll) {
|
|
ev.preventDefault()
|
|
}
|
|
var dx = ev.deltaX || 0
|
|
var dy = ev.deltaY || 0
|
|
var dz = ev.deltaZ || 0
|
|
var mode = ev.deltaMode
|
|
var scale = 1
|
|
switch(mode) {
|
|
case 1:
|
|
scale = lineHeight
|
|
break
|
|
case 2:
|
|
scale = window.innerHeight
|
|
break
|
|
}
|
|
dx *= scale
|
|
dy *= scale
|
|
dz *= scale
|
|
if(dx || dy || dz) {
|
|
return callback(dx, dy, dz, ev)
|
|
}
|
|
}
|
|
element.addEventListener('wheel', listener)
|
|
return listener
|
|
}
|
|
|