Commit 2f686fce authored by Alexander Trofimov's avatar Alexander Trofimov Committed by GitHub

Merge pull request #101 from ONLYOFFICE/hotfix/cell-touchpad

fix bug 27197
parents a74c0530 c62a1be6
...@@ -3107,16 +3107,12 @@ cROUND.prototype.Calculate = function ( arg ) { ...@@ -3107,16 +3107,12 @@ cROUND.prototype.Calculate = function ( arg ) {
return Math[n > 0 ? "floor" : "ceil"]( n ); return Math[n > 0 ? "floor" : "ceil"]( n );
} }
function sign( n ) {
return n == 0 ? 0 : n < 0 ? -1 : 1
}
function Floor( number, significance ) { function Floor( number, significance ) {
var quotient = number / significance; var quotient = number / significance;
if ( quotient == 0 ) { if ( quotient == 0 ) {
return 0; return 0;
} }
var nolpiat = 5 * sign( quotient ) * Math.pow( 10, Math.floor( Math.log10( Math.abs( quotient ) ) ) - cExcelSignificantDigits ); var nolpiat = 5 * Math.sign( quotient ) * Math.pow( 10, Math.floor( Math.log10( Math.abs( quotient ) ) ) - cExcelSignificantDigits );
return truncate( quotient + nolpiat ) * significance; return truncate( quotient + nolpiat ) * significance;
} }
......
...@@ -616,9 +616,12 @@ Math.approxEqual = function ( a, b ) { ...@@ -616,9 +616,12 @@ Math.approxEqual = function ( a, b ) {
return this.abs( a - b ) < 1e-15; return this.abs( a - b ) < 1e-15;
}; };
Math.sign = function ( x ) { if (typeof Math.sign != 'function') {
return x > 0 ? 1 : x < 0 ? -1 : 0; Math['sign'] = Math.sign = function (n) {
}; return n == 0 ? 0 : n < 0 ? -1 : 1;
};
}
RegExp.escape = function ( text ) { RegExp.escape = function ( text ) {
return text.replace( /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&" ); return text.replace( /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&" );
......
...@@ -356,16 +356,12 @@ cDOLLAR.prototype.Calculate = function ( arg ) { ...@@ -356,16 +356,12 @@ cDOLLAR.prototype.Calculate = function ( arg ) {
return Math[n > 0 ? "floor" : "ceil"]( n ); return Math[n > 0 ? "floor" : "ceil"]( n );
} }
function sign( n ) {
return n == 0 ? 0 : n < 0 ? -1 : 1
}
function Floor( number, significance ) { function Floor( number, significance ) {
var quotient = number / significance; var quotient = number / significance;
if ( quotient == 0 ) { if ( quotient == 0 ) {
return 0; return 0;
} }
var nolpiat = 5 * sign( quotient ) * Math.pow( 10, Math.floor( Math.log10( Math.abs( quotient ) ) ) - AscCommonExcel.cExcelSignificantDigits ); var nolpiat = 5 * Math.sign( quotient ) * Math.pow( 10, Math.floor( Math.log10( Math.abs( quotient ) ) ) - AscCommonExcel.cExcelSignificantDigits );
return truncate( quotient + nolpiat ) * significance; return truncate( quotient + nolpiat ) * significance;
} }
...@@ -703,16 +699,12 @@ cFIXED.prototype.Calculate = function ( arg ) { ...@@ -703,16 +699,12 @@ cFIXED.prototype.Calculate = function ( arg ) {
return Math[n > 0 ? "floor" : "ceil"]( n ); return Math[n > 0 ? "floor" : "ceil"]( n );
} }
function sign( n ) {
return n == 0 ? 0 : n < 0 ? -1 : 1
}
function Floor( number, significance ) { function Floor( number, significance ) {
var quotient = number / significance; var quotient = number / significance;
if ( quotient == 0 ) { if ( quotient == 0 ) {
return 0; return 0;
} }
var nolpiat = 5 * sign( quotient ) * Math.pow( 10, Math.floor( Math.log10( Math.abs( quotient ) ) ) - AscCommonExcel.cExcelSignificantDigits ); var nolpiat = 5 * Math.sign( quotient ) * Math.pow( 10, Math.floor( Math.log10( Math.abs( quotient ) ) ) - AscCommonExcel.cExcelSignificantDigits );
return truncate( quotient + nolpiat ) * significance; return truncate( quotient + nolpiat ) * significance;
} }
......
...@@ -1547,25 +1547,44 @@ ...@@ -1547,25 +1547,44 @@
return true; return true;
} }
var delta = 0; var self = this;
var deltaX = 0, deltaY = 0;
if (undefined !== event.wheelDelta && 0 !== event.wheelDelta) { if (undefined !== event.wheelDelta && 0 !== event.wheelDelta) {
delta = -1 * event.wheelDelta / 40; deltaY = -1 * event.wheelDelta / 40;
} else if (undefined != event.detail && 0 !== event.detail) { } else if (undefined !== event.detail && 0 !== event.detail) {
// FF
delta = event.detail;
} else if (undefined != event.deltaY && 0 !== event.deltaY) {
// FF // FF
delta = event.deltaY; deltaY = event.detail;
}
if (event.axis !== undefined && event.axis === event.HORIZONTAL_AXIS) {
deltaX = deltaY;
deltaY = 0;
}
if (undefined !== event.wheelDeltaX && 0 !== event.wheelDeltaX) {
// Webkit
deltaX = -1 * event.wheelDeltaX / 40;
}
if (undefined !== event.wheelDeltaY && 0 !== event.wheelDeltaY) {
// Webkit
deltaY = -1 * event.wheelDeltaY / 40;
}
if (event.shiftKey) {
deltaX = deltaY;
deltaY = 0;
} }
delta /= 3;
var self = this;
delta *= event.shiftKey ? 1 : this.settings.wheelScrollLines;
this.handlers.trigger("updateWorksheet", this.element, /*x*/undefined, /*y*/undefined, /*ctrlKey*/undefined, this.handlers.trigger("updateWorksheet", this.element, /*x*/undefined, /*y*/undefined, /*ctrlKey*/undefined,
function () { function () {
event.shiftKey ? self.scrollHorizontal(delta, event) : self.scrollVertical(delta, event); if (deltaX) {
self._onMouseMove(event); deltaX = Math.sign(deltaX) * Math.ceil(Math.abs(deltaX / 3));
}); self.scrollHorizontal(deltaX, event);
}
if (deltaY) {
deltaY = Math.sign(deltaY) * Math.ceil(Math.abs(deltaY * self.settings.wheelScrollLines / 3));
self.scrollVertical(deltaY, event);
}
self._onMouseMove(event);
});
return true; return true;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment