diff --git a/dist/jquery.mousewheel.js b/dist/jquery.mousewheel.js new file mode 100644 index 000000000..85debe538 --- /dev/null +++ b/dist/jquery.mousewheel.js @@ -0,0 +1,238 @@ +/*! + * jQuery Mousewheel 3.1.13 + * Copyright OpenJS Foundation and other contributors + */ + +( function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define( [ "jquery" ], factory ); + } else if ( typeof exports === "object" ) { + + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + + // Browser globals + factory( jQuery ); + } +} )( function( $ ) { + + var toFix = [ "wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll" ], + toBind = ( "onwheel" in window.document || window.document.documentMode >= 9 ) ? + [ "wheel" ] : [ "mousewheel", "DomMouseScroll", "MozMousePixelScroll" ], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[ --i ] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: "3.1.12", + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[ --i ], handler, false ); + } + } else { + this.onmousewheel = handler; + } + + // Store the line height and page height for this particular element + $.data( this, "mousewheel-line-height", special.getLineHeight( this ) ); + $.data( this, "mousewheel-page-height", special.getPageHeight( this ) ); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[ --i ], handler, false ); + } + } else { + this.onmousewheel = null; + } + + // Clean up the data we added to the element + $.removeData( this, "mousewheel-line-height" ); + $.removeData( this, "mousewheel-page-height" ); + }, + + getLineHeight: function( elem ) { + var $elem = $( elem ), + $parent = $elem[ "offsetParent" in $.fn ? "offsetParent" : "parent" ](); + if ( !$parent.length ) { + $parent = $( "body" ); + } + return parseInt( $parent.css( "fontSize" ), 10 ) || + parseInt( $elem.css( "fontSize" ), 10 ) || 16; + }, + + getPageHeight: function( elem ) { + return $( elem ).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend( { + mousewheel: function( fn ) { + return fn ? this.on( "mousewheel", fn ) : this.trigger( "mousewheel" ); + }, + + unmousewheel: function( fn ) { + return this.off( "mousewheel", fn ); + } + } ); + + + function handler( event ) { + var orgEvent = event || window.event, + args = slice.call( arguments, 1 ), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0; + event = $.event.fix( orgEvent ); + event.type = "mousewheel"; + + // Old school scrollwheel delta + if ( "detail" in orgEvent ) { + deltaY = orgEvent.detail * -1; + } + if ( "wheelDelta" in orgEvent ) { + deltaY = orgEvent.wheelDelta; + } + if ( "wheelDeltaY" in orgEvent ) { + deltaY = orgEvent.wheelDeltaY; + } + if ( "wheelDeltaX" in orgEvent ) { + deltaX = orgEvent.wheelDeltaX * -1; + } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( "axis" in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( "deltaY" in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( "deltaX" in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { + delta = deltaX * -1; + } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { + return; + } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data( this, "mousewheel-line-height" ); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data( this, "mousewheel-page-height" ); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs( deltaY ), Math.abs( deltaX ) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas( orgEvent, absDelta ) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas( orgEvent, absDelta ) ) { + + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? "floor" : "ceil" ]( delta / lowestDelta ); + deltaX = Math[ deltaX >= 1 ? "floor" : "ceil" ]( deltaX / lowestDelta ); + deltaY = Math[ deltaY >= 1 ? "floor" : "ceil" ]( deltaY / lowestDelta ); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + event.offsetX = event.clientX - boundingRect.left; + event.offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift( event, delta, deltaX, deltaY ); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if ( nullLowestDeltaTimeout ) { + window.clearTimeout( nullLowestDeltaTimeout ); + } + nullLowestDeltaTimeout = window.setTimeout( nullLowestDelta, 200 ); + + return ( $.event.dispatch || $.event.handle ).apply( this, args ); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas( orgEvent, absDelta ) { + + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === "mousewheel" && + absDelta % 120 === 0; + } + +} ); diff --git a/dist/jquery.mousewheel.min.js b/dist/jquery.mousewheel.min.js new file mode 100644 index 000000000..ec2d25cc4 --- /dev/null +++ b/dist/jquery.mousewheel.min.js @@ -0,0 +1,5 @@ +/*! + * jQuery Mousewheel 3.1.13 + * Copyright OpenJS Foundation and other contributors + */ +!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(a){var u,r,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],t="onwheel"in window.document||9<=window.document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],f=Array.prototype.slice;if(a.event.fixHooks)for(var n=e.length;n;)a.event.fixHooks[e[--n]]=a.event.mouseHooks;var d=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],i,!1);else this.onmousewheel=i;a.data(this,"mousewheel-line-height",d.getLineHeight(this)),a.data(this,"mousewheel-page-height",d.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],i,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var t=a(e),e=t["offsetParent"in a.fn?"offsetParent":"parent"]();return e.length||(e=a("body")),parseInt(e.css("fontSize"),10)||parseInt(t.css("fontSize"),10)||16},getPageHeight:function(e){return a(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function i(e){var t,n=e||window.event,i=f.call(arguments,1),o=0,l=0,s=0,h=0;if((e=a.event.fix(n)).type="mousewheel","detail"in n&&(s=-1*n.detail),"wheelDelta"in n&&(s=n.wheelDelta),"wheelDeltaY"in n&&(s=n.wheelDeltaY),"wheelDeltaX"in n&&(l=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(l=-1*s,s=0),o=0===s?l:s,"deltaY"in n&&(o=s=-1*n.deltaY),"deltaX"in n&&(l=n.deltaX,0===s&&(o=-1*l)),0!==s||0!==l)return 1===n.deltaMode?(o*=t=a.data(this,"mousewheel-line-height"),s*=t,l*=t):2===n.deltaMode&&(o*=t=a.data(this,"mousewheel-page-height"),s*=t,l*=t),h=Math.max(Math.abs(s),Math.abs(l)),(!r||h + spec for: #'common' do: [ + spec package: 'JQueryMouseWheel-Core'. ]. \ No newline at end of file diff --git a/repository/BaselineOfJQueryMouseWheel.package/BaselineOfJQueryMouseWheel.class/methodProperties.json b/repository/BaselineOfJQueryMouseWheel.package/BaselineOfJQueryMouseWheel.class/methodProperties.json new file mode 100644 index 000000000..01f53776a --- /dev/null +++ b/repository/BaselineOfJQueryMouseWheel.package/BaselineOfJQueryMouseWheel.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "baseline:" : "jupiter 11/16/2021 12:19" } } diff --git a/repository/BaselineOfJQueryMouseWheel.package/BaselineOfJQueryMouseWheel.class/properties.json b/repository/BaselineOfJQueryMouseWheel.package/BaselineOfJQueryMouseWheel.class/properties.json new file mode 100644 index 000000000..08b7ca06d --- /dev/null +++ b/repository/BaselineOfJQueryMouseWheel.package/BaselineOfJQueryMouseWheel.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "BaselineOfJQueryMouseWheel", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "BaselineOfJQueryMouseWheel", + "pools" : [ + ], + "super" : "BaselineOf", + "type" : "normal" } diff --git a/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/categories.st b/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/categories.st new file mode 100644 index 000000000..1651452f3 --- /dev/null +++ b/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/categories.st @@ -0,0 +1 @@ +SystemOrganization addCategory: #'BaselineOfJQueryMouseWheel'! diff --git a/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/initializers.st b/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/initializers.st new file mode 100644 index 000000000..e69de29bb diff --git a/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/package b/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/package new file mode 100644 index 000000000..2db0a4077 --- /dev/null +++ b/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/package @@ -0,0 +1 @@ +(name 'BaselineOfJQueryMouseWheel') \ No newline at end of file diff --git a/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/version b/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/version new file mode 100644 index 000000000..3e09b47b4 --- /dev/null +++ b/repository/BaselineOfJQueryMouseWheel.package/monticello.meta/version @@ -0,0 +1 @@ +(name 'BaselineOfJQueryMouseWheel-jupiter.1' message 'initial commit' id '2d76c93a-a708-4411-8e40-59765e0f430c' date '11/16/2021' time '12:19:32' author 'jupiter' ancestors () stepChildren ()) \ No newline at end of file diff --git a/repository/BaselineOfJQueryMouseWheel.package/properties.json b/repository/BaselineOfJQueryMouseWheel.package/properties.json new file mode 100644 index 000000000..f037444a7 --- /dev/null +++ b/repository/BaselineOfJQueryMouseWheel.package/properties.json @@ -0,0 +1,2 @@ +{ + } diff --git a/repository/JQueryMouseWheel-Core.package/.filetree b/repository/JQueryMouseWheel-Core.package/.filetree new file mode 100644 index 000000000..8998102c2 --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/.filetree @@ -0,0 +1,4 @@ +{ + "noMethodMetaData" : true, + "separateMethodMetaAndSource" : false, + "useCypressPropertiesFile" : true } diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/README.md b/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/instance/method.st b/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/instance/method.st new file mode 100644 index 000000000..0b957ae5c --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/instance/method.st @@ -0,0 +1,3 @@ +accessing +method + ^ 'mousewheel' \ No newline at end of file diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/methodProperties.json b/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/methodProperties.json new file mode 100644 index 000000000..b6a3f722f --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/methodProperties.json @@ -0,0 +1,5 @@ +{ + "class" : { + }, + "instance" : { + "method" : "jupiter 11/16/2021 12:49" } } diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/properties.json b/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/properties.json new file mode 100644 index 000000000..304270a05 --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheel.class/properties.json @@ -0,0 +1,14 @@ +{ + "category" : "JQueryMouseWheel-Core", + "classinstvars" : [ + ], + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "JQMouseWheel", + "pools" : [ + ], + "super" : "JQWidget", + "type" : "normal" } diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/README.md b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/class/loadFromDist.st b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/class/loadFromDist.st new file mode 100644 index 000000000..d24c04fa2 --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/class/loadFromDist.st @@ -0,0 +1,12 @@ +load from dist +loadFromDist + "self loadFromDist" + + (self allSelectors + select: [ :selector | + #(#'uploaded' #'uploaded metadata') + includes: (self categoryOfSelector: selector) ]) + do: [ :selector | self removeSelector: selector ]. + self removeEmptyCategories. + self + recursivelyAddAllFilesIn: '/opt/git/JQueryWidgetKit/jquery-mousewheel/dist' \ No newline at end of file diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelJs.st b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelJs.st new file mode 100644 index 000000000..77ee18365 --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelJs.st @@ -0,0 +1,7 @@ +uploaded metadata +jquerymousewheelJs + ^ WAFileLibraryResource + filepath: 'jquery.mousewheel.js' + mimeType: (WAMimeType main: 'application' sub: 'javascript') + cacheDuration: (Duration days: 0 hours: 0 minutes: 30 seconds: 0) + contents: (GRDelayedSend receiver: self selector: #jquerymousewheelJsContent) \ No newline at end of file diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelJsContent.st b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelJsContent.st new file mode 100644 index 000000000..0c3f8c0b7 --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelJsContent.st @@ -0,0 +1,241 @@ +uploaded +jquerymousewheelJsContent + ^ '/*! + * jQuery Mousewheel 3.1.13 + * Copyright OpenJS Foundation and other contributors + */ + +( function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define( [ "jquery" ], factory ); + } else if ( typeof exports === "object" ) { + + // Node/CommonJS style for Browserify + module.exports = factory; + } else { + + // Browser globals + factory( jQuery ); + } +} )( function( $ ) { + + var toFix = [ "wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll" ], + toBind = ( "onwheel" in window.document || window.document.documentMode >= 9 ) ? + [ "wheel" ] : [ "mousewheel", "DomMouseScroll", "MozMousePixelScroll" ], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; + + if ( $.event.fixHooks ) { + for ( var i = toFix.length; i; ) { + $.event.fixHooks[ toFix[ --i ] ] = $.event.mouseHooks; + } + } + + var special = $.event.special.mousewheel = { + version: "3.1.12", + + setup: function() { + if ( this.addEventListener ) { + for ( var i = toBind.length; i; ) { + this.addEventListener( toBind[ --i ], handler, false ); + } + } else { + this.onmousewheel = handler; + } + + // Store the line height and page height for this particular element + $.data( this, "mousewheel-line-height", special.getLineHeight( this ) ); + $.data( this, "mousewheel-page-height", special.getPageHeight( this ) ); + }, + + teardown: function() { + if ( this.removeEventListener ) { + for ( var i = toBind.length; i; ) { + this.removeEventListener( toBind[ --i ], handler, false ); + } + } else { + this.onmousewheel = null; + } + + // Clean up the data we added to the element + $.removeData( this, "mousewheel-line-height" ); + $.removeData( this, "mousewheel-page-height" ); + }, + + getLineHeight: function( elem ) { + var $elem = $( elem ), + $parent = $elem[ "offsetParent" in $.fn ? "offsetParent" : "parent" ](); + if ( !$parent.length ) { + $parent = $( "body" ); + } + return parseInt( $parent.css( "fontSize" ), 10 ) || + parseInt( $elem.css( "fontSize" ), 10 ) || 16; + }, + + getPageHeight: function( elem ) { + return $( elem ).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event + } + }; + + $.fn.extend( { + mousewheel: function( fn ) { + return fn ? this.on( "mousewheel", fn ) : this.trigger( "mousewheel" ); + }, + + unmousewheel: function( fn ) { + return this.off( "mousewheel", fn ); + } + } ); + + + function handler( event ) { + var orgEvent = event || window.event, + args = slice.call( arguments, 1 ), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0; + event = $.event.fix( orgEvent ); + event.type = "mousewheel"; + + // Old school scrollwheel delta + if ( "detail" in orgEvent ) { + deltaY = orgEvent.detail * -1; + } + if ( "wheelDelta" in orgEvent ) { + deltaY = orgEvent.wheelDelta; + } + if ( "wheelDeltaY" in orgEvent ) { + deltaY = orgEvent.wheelDeltaY; + } + if ( "wheelDeltaX" in orgEvent ) { + deltaX = orgEvent.wheelDeltaX * -1; + } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( "axis" in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; + + // New school wheel delta (wheel event) + if ( "deltaY" in orgEvent ) { + deltaY = orgEvent.deltaY * -1; + delta = deltaY; + } + if ( "deltaX" in orgEvent ) { + deltaX = orgEvent.deltaX; + if ( deltaY === 0 ) { + delta = deltaX * -1; + } + } + + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { + return; + } + + // Need to convert lines and pages to pixels if we aren''t already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data( this, "mousewheel-line-height" ); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data( this, "mousewheel-page-height" ); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } + + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs( deltaY ), Math.abs( deltaX ) ); + + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas( orgEvent, absDelta ) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas( orgEvent, absDelta ) ) { + + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? "floor" : "ceil" ]( delta / lowestDelta ); + deltaX = Math[ deltaX >= 1 ? "floor" : "ceil" ]( deltaX / lowestDelta ); + deltaY = Math[ deltaY >= 1 ? "floor" : "ceil" ]( deltaY / lowestDelta ); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + event.offsetX = event.clientX - boundingRect.left; + event.offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; + + // Add event and delta to the front of the arguments + args.unshift( event, delta, deltaX, deltaY ); + + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if ( nullLowestDeltaTimeout ) { + window.clearTimeout( nullLowestDeltaTimeout ); + } + nullLowestDeltaTimeout = window.setTimeout( nullLowestDelta, 200 ); + + return ( $.event.dispatch || $.event.handle ).apply( this, args ); + } + + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas( orgEvent, absDelta ) { + + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === "mousewheel" && + absDelta % 120 === 0; + } + +} ); +' \ No newline at end of file diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelminJs.st b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelminJs.st new file mode 100644 index 000000000..079c50381 --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelminJs.st @@ -0,0 +1,7 @@ +uploaded metadata +jquerymousewheelminJs + ^ WAFileLibraryResource + filepath: 'jquery.mousewheel.min.js' + mimeType: (WAMimeType main: 'application' sub: 'javascript') + cacheDuration: (Duration days: 0 hours: 0 minutes: 30 seconds: 0) + contents: (GRDelayedSend receiver: self selector: #jquerymousewheelminJsContent) \ No newline at end of file diff --git a/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelminJsContent.st b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelminJsContent.st new file mode 100644 index 000000000..f88e1bbc5 --- /dev/null +++ b/repository/JQueryMouseWheel-Core.package/JQMouseWheelFileLibrary.class/instance/jquerymousewheelminJsContent.st @@ -0,0 +1,7 @@ +uploaded +jquerymousewheelminJsContent + ^ '/*! + * jQuery Mousewheel 3.1.13 + * Copyright OpenJS Foundation and other contributors + */ +!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?module.exports=e:e(jQuery)}(function(a){var u,r,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],t="onwheel"in window.document||9<=window.document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],f=Array.prototype.slice;if(a.event.fixHooks)for(var n=e.length;n;)a.event.fixHooks[e[--n]]=a.event.mouseHooks;var d=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],i,!1);else this.onmousewheel=i;a.data(this,"mousewheel-line-height",d.getLineHeight(this)),a.data(this,"mousewheel-page-height",d.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],i,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var t=a(e),e=t["offsetParent"in a.fn?"offsetParent":"parent"]();return e.length||(e=a("body")),parseInt(e.css("fontSize"),10)||parseInt(t.css("fontSize"),10)||16},getPageHeight:function(e){return a(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function i(e){var t,n=e||window.event,i=f.call(arguments,1),o=0,l=0,s=0,h=0;if((e=a.event.fix(n)).type="mousewheel","detail"in n&&(s=-1*n.detail),"wheelDelta"in n&&(s=n.wheelDelta),"wheelDeltaY"in n&&(s=n.wheelDeltaY),"wheelDeltaX"in n&&(l=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(l=-1*s,s=0),o=0===s?l:s,"deltaY"in n&&(o=s=-1*n.deltaY),"deltaX"in n&&(l=n.deltaX,0===s&&(o=-1*l)),0!==s||0!==l)return 1===n.deltaMode?(o*=t=a.data(this,"mousewheel-line-height"),s*=t,l*=t):2===n.deltaMode&&(o*=t=a.data(this,"mousewheel-page-height"),s*=t,l*=t),h=Math.max(Math.abs(s),Math.abs(l)),(!r||h