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 ) {
return Math[n > 0 ? "floor" : "ceil"]( n );
}
function sign( n ) {
return n == 0 ? 0 : n < 0 ? -1 : 1
}
function Floor( number, significance ) {
var quotient = number / significance;
if ( quotient == 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;
}
......
......@@ -616,9 +616,12 @@ Math.approxEqual = function ( a, b ) {
return this.abs( a - b ) < 1e-15;
};
Math.sign = function ( x ) {
return x > 0 ? 1 : x < 0 ? -1 : 0;
};
if (typeof Math.sign != 'function') {
Math['sign'] = Math.sign = function (n) {
return n == 0 ? 0 : n < 0 ? -1 : 1;
};
}
RegExp.escape = function ( text ) {
return text.replace( /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&" );
......
......@@ -356,16 +356,12 @@ cDOLLAR.prototype.Calculate = function ( arg ) {
return Math[n > 0 ? "floor" : "ceil"]( n );
}
function sign( n ) {
return n == 0 ? 0 : n < 0 ? -1 : 1
}
function Floor( number, significance ) {
var quotient = number / significance;
if ( quotient == 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;
}
......@@ -703,16 +699,12 @@ cFIXED.prototype.Calculate = function ( arg ) {
return Math[n > 0 ? "floor" : "ceil"]( n );
}
function sign( n ) {
return n == 0 ? 0 : n < 0 ? -1 : 1
}
function Floor( number, significance ) {
var quotient = number / significance;
if ( quotient == 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;
}
......
......@@ -1547,25 +1547,44 @@
return true;
}
var delta = 0;
var self = this;
var deltaX = 0, deltaY = 0;
if (undefined !== event.wheelDelta && 0 !== event.wheelDelta) {
delta = -1 * event.wheelDelta / 40;
} else if (undefined != event.detail && 0 !== event.detail) {
// FF
delta = event.detail;
} else if (undefined != event.deltaY && 0 !== event.deltaY) {
deltaY = -1 * event.wheelDelta / 40;
} else if (undefined !== event.detail && 0 !== event.detail) {
// 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,
function () {
event.shiftKey ? self.scrollHorizontal(delta, event) : self.scrollVertical(delta, event);
self._onMouseMove(event);
});
function () {
if (deltaX) {
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;
};
......
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