iobroker.ebus 3.2.4 → 3.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +34 -34
- package/.releaseconfig.json +3 -0
- package/LICENSE +20 -20
- package/README.md +143 -130
- package/admin/index_m.html +419 -419
- package/admin/style.css +18 -18
- package/admin/words.js +27 -27
- package/io-package.json +205 -192
- package/lib/support_tools.js +370 -370
- package/lib/tools.js +99 -99
- package/main.js +1232 -1232
- package/package.json +12 -10
- package/widgets/ebus/lib/js/flot/jquery.canvaswrapper.js +549 -549
- package/widgets/ebus/lib/js/flot/jquery.colorhelpers.js +199 -199
- package/widgets/ebus/lib/js/flot/jquery.flot.axislabels.js +212 -212
- package/widgets/ebus/lib/js/flot/jquery.flot.browser.js +98 -98
- package/widgets/ebus/lib/js/flot/jquery.flot.categories.js +202 -202
- package/widgets/ebus/lib/js/flot/jquery.flot.composeImages.js +330 -330
- package/widgets/ebus/lib/js/flot/jquery.flot.crosshair.js +202 -202
- package/widgets/ebus/lib/js/flot/jquery.flot.drawSeries.js +662 -662
- package/widgets/ebus/lib/js/flot/jquery.flot.errorbars.js +375 -375
- package/widgets/ebus/lib/js/flot/jquery.flot.fillbetween.js +254 -254
- package/widgets/ebus/lib/js/flot/jquery.flot.flatdata.js +47 -47
- package/widgets/ebus/lib/js/flot/jquery.flot.hover.js +361 -361
- package/widgets/ebus/lib/js/flot/jquery.flot.image.js +249 -249
- package/widgets/ebus/lib/js/flot/jquery.flot.js +2953 -2953
- package/widgets/ebus/lib/js/flot/jquery.flot.legend.js +437 -437
- package/widgets/ebus/lib/js/flot/jquery.flot.logaxis.js +298 -298
- package/widgets/ebus/lib/js/flot/jquery.flot.navigate.js +834 -834
- package/widgets/ebus/lib/js/flot/jquery.flot.pie.js +794 -794
- package/widgets/ebus/lib/js/flot/jquery.flot.resize.js +60 -60
- package/widgets/ebus/lib/js/flot/jquery.flot.saturated.js +43 -43
- package/widgets/ebus/lib/js/flot/jquery.flot.selection.js +527 -527
- package/widgets/ebus/lib/js/flot/jquery.flot.stack.js +220 -220
- package/widgets/ebus/lib/js/flot/jquery.flot.symbol.js +98 -98
- package/widgets/ebus/lib/js/flot/jquery.flot.threshold.js +143 -143
- package/widgets/ebus/lib/js/flot/jquery.flot.time.js +586 -586
- package/widgets/ebus/lib/js/flot/jquery.flot.touch.js +320 -320
- package/widgets/ebus/lib/js/flot/jquery.flot.touchNavigate.js +360 -360
- package/widgets/ebus/lib/js/flot/jquery.flot.uiConstants.js +10 -10
- package/widgets/ebus/lib/js/flot/jquery.js +9473 -9473
- package/widgets/ebus/lib/js/lib/globalize.culture.en-US.js +33 -33
- package/widgets/ebus/lib/js/lib/globalize.js +1601 -1601
- package/widgets/ebus/lib/js/lib/jquery.event.drag.js +145 -145
- package/widgets/ebus/lib/js/lib/jquery.mousewheel.js +86 -86
- package/widgets/ebus.html +2395 -2395
- package/readme.txt +0 -297
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
// Source: https://github.com/devongovett/jquery.event.drag/blob/451d90e1a737f49f613d0966082ce67582b0afd1/drag/jquery.event.drag.js
|
|
2
|
-
//
|
|
3
|
-
// Warning! Make sure the hijack() is patch to work with any jquery version:
|
|
4
|
-
//
|
|
5
|
-
// ($.event.dispatch || $.event.handle).call( elem, event );
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
/*!
|
|
9
|
-
jquery.event.drag.js ~ v1.6 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
|
|
10
|
-
Liscensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
|
|
11
|
-
*/
|
|
12
|
-
;(function($){ // secure $ jQuery alias
|
|
13
|
-
/*******************************************************************************************/
|
|
14
|
-
// Created: 2008-06-04 | Updated: 2009-04-21
|
|
15
|
-
/*******************************************************************************************/
|
|
16
|
-
// Events: drag, dragstart, dragend
|
|
17
|
-
/*******************************************************************************************/
|
|
18
|
-
|
|
19
|
-
// jquery method
|
|
20
|
-
$.fn.drag = function( fn1, fn2, fn3 ){
|
|
21
|
-
if ( fn2 ) this.bind('dragstart', fn1 ); // 2+ args
|
|
22
|
-
if ( fn3 ) this.bind('dragend', fn3 ); // 3 args
|
|
23
|
-
return !fn1 ? this.trigger('drag') // 0 args
|
|
24
|
-
: this.bind('drag', fn2 ? fn2 : fn1 ); // 1+ args
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
// local refs
|
|
28
|
-
var $event = $.event, $special = $event.special,
|
|
29
|
-
|
|
30
|
-
// special event configuration
|
|
31
|
-
drag = $special.drag = {
|
|
32
|
-
not: ':input', // don't begin to drag on event.targets that match this selector
|
|
33
|
-
distance: 0, // distance dragged before dragstart
|
|
34
|
-
which: 1, // mouse button pressed to start drag sequence
|
|
35
|
-
drop: false, // false to suppress drop events
|
|
36
|
-
dragging: false, // hold the active target element
|
|
37
|
-
setup: function( data ){
|
|
38
|
-
data = $.extend({
|
|
39
|
-
distance: drag.distance,
|
|
40
|
-
which: drag.which,
|
|
41
|
-
not: drag.not,
|
|
42
|
-
drop: drag.drop
|
|
43
|
-
}, data || {});
|
|
44
|
-
data.distance = squared( data.distance ); // x² + y² = distance²
|
|
45
|
-
$event.add( this, "mousedown", handler, data );
|
|
46
|
-
if ( this.attachEvent ) this.attachEvent("ondragstart", dontStart ); // prevent image dragging in IE...
|
|
47
|
-
},
|
|
48
|
-
teardown: function(){
|
|
49
|
-
$event.remove( this, "mousedown", handler );
|
|
50
|
-
if ( this === drag.dragging ) drag.dragging = drag.proxy = false; // deactivate element
|
|
51
|
-
selectable( this, true ); // enable text selection
|
|
52
|
-
if ( this.detachEvent ) this.detachEvent("ondragstart", dontStart ); // prevent image dragging in IE...
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
// prevent normal event binding...
|
|
57
|
-
$special.dragstart = $special.dragend = { setup:function(){}, teardown:function(){} };
|
|
58
|
-
|
|
59
|
-
// handle drag-releatd DOM events
|
|
60
|
-
function handler ( event ){
|
|
61
|
-
var elem = this, returned, data = event.data || {};
|
|
62
|
-
// mousemove or mouseup
|
|
63
|
-
if ( data.elem ){
|
|
64
|
-
// update event properties...
|
|
65
|
-
elem = event.dragTarget = data.elem; // drag source element
|
|
66
|
-
event.dragProxy = drag.proxy || elem; // proxy element or source
|
|
67
|
-
event.cursorOffsetX = data.pageX - data.left; // mousedown offset
|
|
68
|
-
event.cursorOffsetY = data.pageY - data.top; // mousedown offset
|
|
69
|
-
event.offsetX = event.pageX - event.cursorOffsetX; // element offset
|
|
70
|
-
event.offsetY = event.pageY - event.cursorOffsetY; // element offset
|
|
71
|
-
}
|
|
72
|
-
// mousedown, check some initial props to avoid the switch statement
|
|
73
|
-
else if ( drag.dragging || ( data.which>0 && event.which!=data.which ) ||
|
|
74
|
-
$( event.target ).is( data.not ) ) return;
|
|
75
|
-
// handle various events
|
|
76
|
-
switch ( event.type ){
|
|
77
|
-
// mousedown, left click, event.target is not restricted, init dragging
|
|
78
|
-
case 'mousedown':
|
|
79
|
-
$.extend( data, $( elem ).offset(), {
|
|
80
|
-
elem: elem, target: event.target,
|
|
81
|
-
pageX: event.pageX, pageY: event.pageY
|
|
82
|
-
}); // store some initial attributes
|
|
83
|
-
$event.add( document, "mousemove mouseup", handler, data );
|
|
84
|
-
selectable( elem, false ); // disable text selection
|
|
85
|
-
drag.dragging = null; // pending state
|
|
86
|
-
break; // prevents text selection in safari
|
|
87
|
-
// mousemove, check distance, start dragging
|
|
88
|
-
case !drag.dragging && 'mousemove':
|
|
89
|
-
if ( squared( event.pageX-data.pageX )
|
|
90
|
-
+ squared( event.pageY-data.pageY ) // x² + y² = distance²
|
|
91
|
-
< data.distance ) break; // distance tolerance not reached
|
|
92
|
-
event.target = data.target; // force target from "mousedown" event (fix distance issue)
|
|
93
|
-
returned = hijack( event, "dragstart", elem ); // trigger "dragstart", return proxy element
|
|
94
|
-
if ( returned !== false ){ // "dragstart" not rejected
|
|
95
|
-
drag.dragging = elem; // activate element
|
|
96
|
-
drag.proxy = event.dragProxy = $( returned || elem )[0]; // set proxy
|
|
97
|
-
}
|
|
98
|
-
// mousemove, dragging
|
|
99
|
-
case 'mousemove':
|
|
100
|
-
if ( drag.dragging ){
|
|
101
|
-
returned = hijack( event, "drag", elem ); // trigger "drag"
|
|
102
|
-
if ( data.drop && $special.drop ){ // manage drop events
|
|
103
|
-
$special.drop.allowed = ( returned !== false ); // prevent drop
|
|
104
|
-
$special.drop.handler( event ); // "dropstart", "dropend"
|
|
105
|
-
}
|
|
106
|
-
if ( returned !== false ) break; // "drag" not rejected, stop
|
|
107
|
-
event.type = "mouseup"; // helps "drop" handler behave
|
|
108
|
-
}
|
|
109
|
-
// mouseup, stop dragging
|
|
110
|
-
case 'mouseup':
|
|
111
|
-
$event.remove( document, "mousemove mouseup", handler ); // remove page events
|
|
112
|
-
if ( drag.dragging ){
|
|
113
|
-
if ( data.drop && $special.drop ) $special.drop.handler( event ); // "drop"
|
|
114
|
-
hijack( event, "dragend", elem ); // trigger "dragend"
|
|
115
|
-
}
|
|
116
|
-
selectable( elem, true ); // enable text selection
|
|
117
|
-
drag.dragging = drag.proxy = data.elem = false; // deactivate element
|
|
118
|
-
break;
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
// set event type to custom value, and handle it
|
|
123
|
-
function hijack ( event, type, elem ){
|
|
124
|
-
event.type = type; // force the event type
|
|
125
|
-
var result = ($.event.dispatch || $.event.handle).call( elem, event );
|
|
126
|
-
return result===false ? false : result || event.result;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
// return the value squared
|
|
130
|
-
function squared ( value ){ return Math.pow( value, 2 ); };
|
|
131
|
-
|
|
132
|
-
// suppress default dragstart IE events...
|
|
133
|
-
function dontStart(){ return ( drag.dragging === false ); };
|
|
134
|
-
|
|
135
|
-
// toggles text selection attributes
|
|
136
|
-
function selectable ( elem, bool ){
|
|
137
|
-
if ( !elem ) return; // maybe element was removed ?
|
|
138
|
-
elem = elem.ownerDocument ? elem.ownerDocument : elem;
|
|
139
|
-
elem.unselectable = bool ? "off" : "on"; // IE
|
|
140
|
-
if ( elem.style ) elem.style.MozUserSelect = bool ? "" : "none"; // FF
|
|
141
|
-
$.event[ bool ? "remove" : "add" ]( elem, "selectstart mousedown", dontStart ); // IE/Opera
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
/*******************************************************************************************/
|
|
145
|
-
})( jQuery ); // confine scope
|
|
1
|
+
// Source: https://github.com/devongovett/jquery.event.drag/blob/451d90e1a737f49f613d0966082ce67582b0afd1/drag/jquery.event.drag.js
|
|
2
|
+
//
|
|
3
|
+
// Warning! Make sure the hijack() is patch to work with any jquery version:
|
|
4
|
+
//
|
|
5
|
+
// ($.event.dispatch || $.event.handle).call( elem, event );
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
/*!
|
|
9
|
+
jquery.event.drag.js ~ v1.6 ~ Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
|
|
10
|
+
Liscensed under the MIT License ~ http://threedubmedia.googlecode.com/files/MIT-LICENSE.txt
|
|
11
|
+
*/
|
|
12
|
+
;(function($){ // secure $ jQuery alias
|
|
13
|
+
/*******************************************************************************************/
|
|
14
|
+
// Created: 2008-06-04 | Updated: 2009-04-21
|
|
15
|
+
/*******************************************************************************************/
|
|
16
|
+
// Events: drag, dragstart, dragend
|
|
17
|
+
/*******************************************************************************************/
|
|
18
|
+
|
|
19
|
+
// jquery method
|
|
20
|
+
$.fn.drag = function( fn1, fn2, fn3 ){
|
|
21
|
+
if ( fn2 ) this.bind('dragstart', fn1 ); // 2+ args
|
|
22
|
+
if ( fn3 ) this.bind('dragend', fn3 ); // 3 args
|
|
23
|
+
return !fn1 ? this.trigger('drag') // 0 args
|
|
24
|
+
: this.bind('drag', fn2 ? fn2 : fn1 ); // 1+ args
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// local refs
|
|
28
|
+
var $event = $.event, $special = $event.special,
|
|
29
|
+
|
|
30
|
+
// special event configuration
|
|
31
|
+
drag = $special.drag = {
|
|
32
|
+
not: ':input', // don't begin to drag on event.targets that match this selector
|
|
33
|
+
distance: 0, // distance dragged before dragstart
|
|
34
|
+
which: 1, // mouse button pressed to start drag sequence
|
|
35
|
+
drop: false, // false to suppress drop events
|
|
36
|
+
dragging: false, // hold the active target element
|
|
37
|
+
setup: function( data ){
|
|
38
|
+
data = $.extend({
|
|
39
|
+
distance: drag.distance,
|
|
40
|
+
which: drag.which,
|
|
41
|
+
not: drag.not,
|
|
42
|
+
drop: drag.drop
|
|
43
|
+
}, data || {});
|
|
44
|
+
data.distance = squared( data.distance ); // x² + y² = distance²
|
|
45
|
+
$event.add( this, "mousedown", handler, data );
|
|
46
|
+
if ( this.attachEvent ) this.attachEvent("ondragstart", dontStart ); // prevent image dragging in IE...
|
|
47
|
+
},
|
|
48
|
+
teardown: function(){
|
|
49
|
+
$event.remove( this, "mousedown", handler );
|
|
50
|
+
if ( this === drag.dragging ) drag.dragging = drag.proxy = false; // deactivate element
|
|
51
|
+
selectable( this, true ); // enable text selection
|
|
52
|
+
if ( this.detachEvent ) this.detachEvent("ondragstart", dontStart ); // prevent image dragging in IE...
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// prevent normal event binding...
|
|
57
|
+
$special.dragstart = $special.dragend = { setup:function(){}, teardown:function(){} };
|
|
58
|
+
|
|
59
|
+
// handle drag-releatd DOM events
|
|
60
|
+
function handler ( event ){
|
|
61
|
+
var elem = this, returned, data = event.data || {};
|
|
62
|
+
// mousemove or mouseup
|
|
63
|
+
if ( data.elem ){
|
|
64
|
+
// update event properties...
|
|
65
|
+
elem = event.dragTarget = data.elem; // drag source element
|
|
66
|
+
event.dragProxy = drag.proxy || elem; // proxy element or source
|
|
67
|
+
event.cursorOffsetX = data.pageX - data.left; // mousedown offset
|
|
68
|
+
event.cursorOffsetY = data.pageY - data.top; // mousedown offset
|
|
69
|
+
event.offsetX = event.pageX - event.cursorOffsetX; // element offset
|
|
70
|
+
event.offsetY = event.pageY - event.cursorOffsetY; // element offset
|
|
71
|
+
}
|
|
72
|
+
// mousedown, check some initial props to avoid the switch statement
|
|
73
|
+
else if ( drag.dragging || ( data.which>0 && event.which!=data.which ) ||
|
|
74
|
+
$( event.target ).is( data.not ) ) return;
|
|
75
|
+
// handle various events
|
|
76
|
+
switch ( event.type ){
|
|
77
|
+
// mousedown, left click, event.target is not restricted, init dragging
|
|
78
|
+
case 'mousedown':
|
|
79
|
+
$.extend( data, $( elem ).offset(), {
|
|
80
|
+
elem: elem, target: event.target,
|
|
81
|
+
pageX: event.pageX, pageY: event.pageY
|
|
82
|
+
}); // store some initial attributes
|
|
83
|
+
$event.add( document, "mousemove mouseup", handler, data );
|
|
84
|
+
selectable( elem, false ); // disable text selection
|
|
85
|
+
drag.dragging = null; // pending state
|
|
86
|
+
break; // prevents text selection in safari
|
|
87
|
+
// mousemove, check distance, start dragging
|
|
88
|
+
case !drag.dragging && 'mousemove':
|
|
89
|
+
if ( squared( event.pageX-data.pageX )
|
|
90
|
+
+ squared( event.pageY-data.pageY ) // x² + y² = distance²
|
|
91
|
+
< data.distance ) break; // distance tolerance not reached
|
|
92
|
+
event.target = data.target; // force target from "mousedown" event (fix distance issue)
|
|
93
|
+
returned = hijack( event, "dragstart", elem ); // trigger "dragstart", return proxy element
|
|
94
|
+
if ( returned !== false ){ // "dragstart" not rejected
|
|
95
|
+
drag.dragging = elem; // activate element
|
|
96
|
+
drag.proxy = event.dragProxy = $( returned || elem )[0]; // set proxy
|
|
97
|
+
}
|
|
98
|
+
// mousemove, dragging
|
|
99
|
+
case 'mousemove':
|
|
100
|
+
if ( drag.dragging ){
|
|
101
|
+
returned = hijack( event, "drag", elem ); // trigger "drag"
|
|
102
|
+
if ( data.drop && $special.drop ){ // manage drop events
|
|
103
|
+
$special.drop.allowed = ( returned !== false ); // prevent drop
|
|
104
|
+
$special.drop.handler( event ); // "dropstart", "dropend"
|
|
105
|
+
}
|
|
106
|
+
if ( returned !== false ) break; // "drag" not rejected, stop
|
|
107
|
+
event.type = "mouseup"; // helps "drop" handler behave
|
|
108
|
+
}
|
|
109
|
+
// mouseup, stop dragging
|
|
110
|
+
case 'mouseup':
|
|
111
|
+
$event.remove( document, "mousemove mouseup", handler ); // remove page events
|
|
112
|
+
if ( drag.dragging ){
|
|
113
|
+
if ( data.drop && $special.drop ) $special.drop.handler( event ); // "drop"
|
|
114
|
+
hijack( event, "dragend", elem ); // trigger "dragend"
|
|
115
|
+
}
|
|
116
|
+
selectable( elem, true ); // enable text selection
|
|
117
|
+
drag.dragging = drag.proxy = data.elem = false; // deactivate element
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
// set event type to custom value, and handle it
|
|
123
|
+
function hijack ( event, type, elem ){
|
|
124
|
+
event.type = type; // force the event type
|
|
125
|
+
var result = ($.event.dispatch || $.event.handle).call( elem, event );
|
|
126
|
+
return result===false ? false : result || event.result;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
// return the value squared
|
|
130
|
+
function squared ( value ){ return Math.pow( value, 2 ); };
|
|
131
|
+
|
|
132
|
+
// suppress default dragstart IE events...
|
|
133
|
+
function dontStart(){ return ( drag.dragging === false ); };
|
|
134
|
+
|
|
135
|
+
// toggles text selection attributes
|
|
136
|
+
function selectable ( elem, bool ){
|
|
137
|
+
if ( !elem ) return; // maybe element was removed ?
|
|
138
|
+
elem = elem.ownerDocument ? elem.ownerDocument : elem;
|
|
139
|
+
elem.unselectable = bool ? "off" : "on"; // IE
|
|
140
|
+
if ( elem.style ) elem.style.MozUserSelect = bool ? "" : "none"; // FF
|
|
141
|
+
$.event[ bool ? "remove" : "add" ]( elem, "selectstart mousedown", dontStart ); // IE/Opera
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/*******************************************************************************************/
|
|
145
|
+
})( jQuery ); // confine scope
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
// Source: https://github.com/jquery/jquery-mousewheel/blob/a06ef4e1a127795606642c55e22d4f2945edc061/jquery.mousewheel.js
|
|
2
|
-
|
|
3
|
-
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
|
4
|
-
* Licensed under the MIT License (LICENSE.txt).
|
|
5
|
-
*
|
|
6
|
-
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
|
7
|
-
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
|
8
|
-
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
|
9
|
-
*
|
|
10
|
-
* Version: 3.0.6
|
|
11
|
-
*
|
|
12
|
-
* Requires: 1.2.2+
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
(function($) {
|
|
16
|
-
|
|
17
|
-
var types = ['DOMMouseScroll', 'mousewheel'];
|
|
18
|
-
|
|
19
|
-
if ($.event.fixHooks) {
|
|
20
|
-
for ( var i=types.length; i; ) {
|
|
21
|
-
$.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
$.event.special.mousewheel = {
|
|
26
|
-
setup: function() {
|
|
27
|
-
if ( this.addEventListener ) {
|
|
28
|
-
for ( var i=types.length; i; ) {
|
|
29
|
-
this.addEventListener( types[--i], handler, false );
|
|
30
|
-
}
|
|
31
|
-
} else {
|
|
32
|
-
this.onmousewheel = handler;
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
|
-
|
|
36
|
-
teardown: function() {
|
|
37
|
-
if ( this.removeEventListener ) {
|
|
38
|
-
for ( var i=types.length; i; ) {
|
|
39
|
-
this.removeEventListener( types[--i], handler, false );
|
|
40
|
-
}
|
|
41
|
-
} else {
|
|
42
|
-
this.onmousewheel = null;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
$.fn.extend({
|
|
48
|
-
mousewheel: function(fn) {
|
|
49
|
-
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
unmousewheel: function(fn) {
|
|
53
|
-
return this.unbind("mousewheel", fn);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
function handler(event) {
|
|
59
|
-
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
|
|
60
|
-
event = $.event.fix(orgEvent);
|
|
61
|
-
event.type = "mousewheel";
|
|
62
|
-
|
|
63
|
-
// Old school scrollwheel delta
|
|
64
|
-
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
|
|
65
|
-
if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
|
|
66
|
-
|
|
67
|
-
// New school multidimensional scroll (touchpads) deltas
|
|
68
|
-
deltaY = delta;
|
|
69
|
-
|
|
70
|
-
// Gecko
|
|
71
|
-
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
|
72
|
-
deltaY = 0;
|
|
73
|
-
deltaX = -1*delta;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Webkit
|
|
77
|
-
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
|
|
78
|
-
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
|
|
79
|
-
|
|
80
|
-
// Add event and delta to the front of the arguments
|
|
81
|
-
args.unshift(event, delta, deltaX, deltaY);
|
|
82
|
-
|
|
83
|
-
return ($.event.dispatch || $.event.handle).apply(this, args);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
})(jQuery);
|
|
1
|
+
// Source: https://github.com/jquery/jquery-mousewheel/blob/a06ef4e1a127795606642c55e22d4f2945edc061/jquery.mousewheel.js
|
|
2
|
+
|
|
3
|
+
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
|
4
|
+
* Licensed under the MIT License (LICENSE.txt).
|
|
5
|
+
*
|
|
6
|
+
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
|
7
|
+
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
|
8
|
+
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
|
9
|
+
*
|
|
10
|
+
* Version: 3.0.6
|
|
11
|
+
*
|
|
12
|
+
* Requires: 1.2.2+
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
(function($) {
|
|
16
|
+
|
|
17
|
+
var types = ['DOMMouseScroll', 'mousewheel'];
|
|
18
|
+
|
|
19
|
+
if ($.event.fixHooks) {
|
|
20
|
+
for ( var i=types.length; i; ) {
|
|
21
|
+
$.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
$.event.special.mousewheel = {
|
|
26
|
+
setup: function() {
|
|
27
|
+
if ( this.addEventListener ) {
|
|
28
|
+
for ( var i=types.length; i; ) {
|
|
29
|
+
this.addEventListener( types[--i], handler, false );
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
32
|
+
this.onmousewheel = handler;
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
teardown: function() {
|
|
37
|
+
if ( this.removeEventListener ) {
|
|
38
|
+
for ( var i=types.length; i; ) {
|
|
39
|
+
this.removeEventListener( types[--i], handler, false );
|
|
40
|
+
}
|
|
41
|
+
} else {
|
|
42
|
+
this.onmousewheel = null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
$.fn.extend({
|
|
48
|
+
mousewheel: function(fn) {
|
|
49
|
+
return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
unmousewheel: function(fn) {
|
|
53
|
+
return this.unbind("mousewheel", fn);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
function handler(event) {
|
|
59
|
+
var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
|
|
60
|
+
event = $.event.fix(orgEvent);
|
|
61
|
+
event.type = "mousewheel";
|
|
62
|
+
|
|
63
|
+
// Old school scrollwheel delta
|
|
64
|
+
if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
|
|
65
|
+
if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
|
|
66
|
+
|
|
67
|
+
// New school multidimensional scroll (touchpads) deltas
|
|
68
|
+
deltaY = delta;
|
|
69
|
+
|
|
70
|
+
// Gecko
|
|
71
|
+
if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
|
72
|
+
deltaY = 0;
|
|
73
|
+
deltaX = -1*delta;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Webkit
|
|
77
|
+
if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
|
|
78
|
+
if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
|
|
79
|
+
|
|
80
|
+
// Add event and delta to the front of the arguments
|
|
81
|
+
args.unshift(event, delta, deltaX, deltaY);
|
|
82
|
+
|
|
83
|
+
return ($.event.dispatch || $.event.handle).apply(this, args);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
})(jQuery);
|