Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sdkjs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
sdkjs
Commits
e9dadc80
Commit
e9dadc80
authored
Feb 06, 2017
by
Alexey Golubev
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'hotfix/v4.2.8'
parents
ab2e14fc
2f686fce
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
63 additions
and
61 deletions
+63
-61
cell/model/FormulaObjects/mathematicFunctions.js
cell/model/FormulaObjects/mathematicFunctions.js
+1
-5
cell/model/FormulaObjects/parserFormula.js
cell/model/FormulaObjects/parserFormula.js
+6
-3
cell/model/FormulaObjects/textanddataFunctions.js
cell/model/FormulaObjects/textanddataFunctions.js
+2
-10
cell/view/CellEditorView.js
cell/view/CellEditorView.js
+2
-3
cell/view/EventsController.js
cell/view/EventsController.js
+44
-26
common/Drawings/WorkEvents.js
common/Drawings/WorkEvents.js
+2
-14
common/editorscommon.js
common/editorscommon.js
+6
-0
No files found.
cell/model/FormulaObjects/mathematicFunctions.js
View file @
e9dadc80
...
...
@@ -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
;
}
...
...
cell/model/FormulaObjects/parserFormula.js
View file @
e9dadc80
...
...
@@ -616,9 +616,12 @@ Math.approxEqual = function ( a, b ) {
return
this
.
abs
(
a
-
b
)
<
1
e
-
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
,
"
\\
$&
"
);
...
...
cell/model/FormulaObjects/textanddataFunctions.js
View file @
e9dadc80
...
...
@@ -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
;
}
...
...
cell/view/CellEditorView.js
View file @
e9dadc80
...
...
@@ -2162,7 +2162,7 @@
*/
CellEditor
.
prototype
.
_onWindowKeyDown
=
function
(
event
,
isInput
)
{
var
t
=
this
,
kind
=
undefined
,
hieroglyph
=
false
;
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
)
;
if
(
!
t
.
isOpened
||
(
!
isInput
&&
!
t
.
enableKeyEvents
))
{
return
true
;
...
...
@@ -2512,7 +2512,6 @@
/** @param event {KeyboardEvent} */
CellEditor
.
prototype
.
_onWindowKeyPress
=
function
(
event
)
{
var
t
=
this
;
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
if
(
!
window
[
'
IS_NATIVE_EDITOR
'
])
{
...
...
@@ -2520,7 +2519,7 @@
return
true
;
}
if
(
t
.
skipKeyPress
||
event
.
which
<
32
||
event
.
altKey
||
ctrlKey
)
{
if
(
t
.
skipKeyPress
||
event
.
which
<
32
)
{
t
.
skipKeyPress
=
true
;
return
true
;
}
...
...
cell/view/EventsController.js
View file @
e9dadc80
...
...
@@ -323,7 +323,7 @@
// Будем делать dblClick как в Excel
asc_CEventsController
.
prototype
.
doMouseDblClick
=
function
(
event
,
isHideCursor
)
{
var
t
=
this
;
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
)
;
// Для формулы не нужно выходить из редактирования ячейки
if
(
t
.
settings
.
isViewerMode
||
t
.
isFormulaEditMode
||
t
.
isSelectionDialogMode
)
{
return
true
;}
...
...
@@ -528,7 +528,7 @@
*/
asc_CEventsController
.
prototype
.
_changeSelectionDone
=
function
(
event
)
{
var
coord
=
this
.
_getCoordinates
(
event
);
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
)
;
if
(
false
===
ctrlKey
)
{
coord
.
x
=
-
1
;
coord
.
y
=
-
1
;
...
...
@@ -591,7 +591,8 @@
asc_CEventsController
.
prototype
.
_changeFillHandleDone
=
function
(
event
)
{
// Закончили автозаполнение, пересчитаем
var
coord
=
this
.
_getCoordinates
(
event
);
this
.
handlers
.
trigger
(
"
changeFillHandleDone
"
,
coord
.
x
,
coord
.
y
,
event
.
metaKey
||
event
.
ctrlKey
);
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
);
this
.
handlers
.
trigger
(
"
changeFillHandleDone
"
,
coord
.
x
,
coord
.
y
,
ctrlKey
);
};
/**
...
...
@@ -661,7 +662,8 @@
/** @param event {MouseEvent} */
asc_CEventsController
.
prototype
.
_moveRangeHandleDone
=
function
(
event
)
{
// Закончили перемещение диапазона, пересчитаем
this
.
handlers
.
trigger
(
"
moveRangeHandleDone
"
,
event
.
metaKey
||
event
.
ctrlKey
);
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
);
this
.
handlers
.
trigger
(
"
moveRangeHandleDone
"
,
ctrlKey
);
};
asc_CEventsController
.
prototype
.
_moveResizeRangeHandleDone
=
function
(
event
,
target
)
{
...
...
@@ -679,7 +681,7 @@
/** @param event {KeyboardEvent} */
asc_CEventsController
.
prototype
.
_onWindowKeyDown
=
function
(
event
)
{
var
t
=
this
,
dc
=
0
,
dr
=
0
,
isViewerMode
=
t
.
settings
.
isViewerMode
;
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
)
;
var
shiftKey
=
event
.
shiftKey
;
var
result
=
true
;
...
...
@@ -979,10 +981,7 @@
return
result
;
default
:
// При зажатом Ctrl или Alt не вводим символ
if
(
!
ctrlKey
&&
!
event
.
altKey
)
{
t
.
skipKeyPress
=
false
;
}
t
.
skipKeyPress
=
false
;
return
true
;
}
// end of switch
...
...
@@ -1218,7 +1217,7 @@
}
var
t
=
this
;
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
)
;
var
coord
=
t
.
_getCoordinates
(
event
);
event
.
isLocked
=
t
.
isMousePressed
=
true
;
...
...
@@ -1459,7 +1458,7 @@
/** @param event {MouseEvent} */
asc_CEventsController
.
prototype
.
_onMouseMove
=
function
(
event
)
{
var
t
=
this
;
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
)
;
var
coord
=
t
.
_getCoordinates
(
event
);
t
.
hasCursor
=
true
;
...
...
@@ -1537,7 +1536,7 @@
/** @param event {MouseEvent} */
asc_CEventsController
.
prototype
.
_onMouseWheel
=
function
(
event
)
{
var
ctrlKey
=
event
.
metaKey
||
event
.
ctrlKey
;
var
ctrlKey
=
!
AscCommon
.
getAltGr
(
event
)
&&
(
event
.
metaKey
||
event
.
ctrlKey
)
;
if
(
this
.
isFillHandleMode
||
this
.
isMoveRangeMode
||
this
.
isMoveResizeRange
||
ctrlKey
)
{
return
true
;
}
...
...
@@ -1548,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
;
};
...
...
common/Drawings/WorkEvents.js
View file @
e9dadc80
...
...
@@ -178,20 +178,8 @@
function
check_KeyboardEvent
(
e
)
{
global_keyboardEvent
.
AltKey
=
e
.
altKey
;
if
(
e
.
metaKey
!==
undefined
)
global_keyboardEvent
.
CtrlKey
=
e
.
ctrlKey
||
e
.
metaKey
;
else
global_keyboardEvent
.
CtrlKey
=
e
.
ctrlKey
;
global_keyboardEvent
.
AltGr
=
(
global_keyboardEvent
.
CtrlKey
&&
global_keyboardEvent
.
AltKey
)
?
true
:
false
;
if
(
AscBrowser
.
isMacOs
)
{
global_keyboardEvent
.
AltGr
=
(
!
global_keyboardEvent
.
CtrlKey
&&
global_keyboardEvent
.
AltKey
)
?
true
:
false
;
}
if
(
global_keyboardEvent
.
AltGr
)
global_keyboardEvent
.
CtrlKey
=
false
;
global_keyboardEvent
.
AltGr
=
AscCommon
.
getAltGr
(
e
);
global_keyboardEvent
.
CtrlKey
=
!
global_keyboardEvent
.
AltGr
&&
(
e
.
metaKey
||
e
.
ctrlKey
);
global_keyboardEvent
.
ShiftKey
=
e
.
shiftKey
;
...
...
common/editorscommon.js
View file @
e9dadc80
...
...
@@ -2780,6 +2780,11 @@ CUserCacheColor.prototype.init = function(nColor) {
loadScript
(
'
./../../../../sdkjs/
'
+
sdkName
+
'
/sdk-all.js
'
,
callback
);
}
}
function
getAltGr
(
e
)
{
var
ctrlKey
=
e
.
metaKey
||
e
.
ctrlKey
;
var
altKey
=
e
.
altKey
;
return
(
altKey
&&
(
AscBrowser
.
isMacOs
?
!
ctrlKey
:
ctrlKey
));
}
var
g_oIdCounter
=
new
CIdCounter
();
var
g_oTableId
=
new
CTableId
();
...
...
@@ -2830,6 +2835,7 @@ window["SetDoctRendererParams"] = function(_params)
window
[
"
AscCommon
"
].
CContentChangesElement
=
CContentChangesElement
;
window
[
"
AscCommon
"
].
loadSdk
=
loadSdk
;
window
[
"
AscCommon
"
].
getAltGr
=
getAltGr
;
window
[
"
AscCommon
"
].
g_oDocumentUrls
=
g_oDocumentUrls
;
window
[
"
AscCommon
"
].
FormulaTablePartInfo
=
FormulaTablePartInfo
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment