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
dee457c5
Commit
dee457c5
authored
Mar 16, 2017
by
Alexey.Musinov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ios collaboration
parent
6b474826
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
793 additions
and
411 deletions
+793
-411
cell/native/native.js
cell/native/native.js
+359
-363
common/Native/Wrappers/api.js
common/Native/Wrappers/api.js
+366
-37
common/Native/native.js
common/Native/native.js
+68
-11
No files found.
cell/native/native.js
View file @
dee457c5
...
...
@@ -2219,7 +2219,7 @@ function asc_ReadAutoFilter(s, p) {
}
function
asc_ReadAutoFilterObj
(
s
,
p
)
{
var
filter
=
new
Asc
.
AutoFilterObj
();
var
next
=
true
;
while
(
next
)
{
...
...
@@ -2231,7 +2231,7 @@ function asc_ReadAutoFilterObj(s, p) {
filter
.
asc_setType
(
s
[
p
.
pos
++
]);
break
;
}
// TODO: color, top10,
case
255
:
...
...
@@ -2242,12 +2242,12 @@ function asc_ReadAutoFilterObj(s, p) {
}
}
}
return
filter
;
}
function
asc_ReadAutoFiltersOptionsElements
(
s
,
p
)
{
var
filter
=
new
AscCommonExcel
.
AutoFiltersOptionsElements
();
var
next
=
true
;
while
(
next
)
{
...
...
@@ -2282,13 +2282,13 @@ function asc_ReadAutoFiltersOptionsElements(s, p) {
}
}
}
return
filter
;
}
function
asc_ReadAutoFiltersOptions
(
s
,
p
)
{
var
filter
=
new
Asc
.
AutoFiltersOptions
();
var
next
=
true
;
while
(
next
)
{
...
...
@@ -2329,12 +2329,12 @@ function asc_ReadAutoFiltersOptions(s, p) {
{
var
values
=
[];
var
count
=
s
[
p
.
pos
++
];
for
(
var
i
=
0
;
i
<
count
;
++
i
)
{
p
.
pos
++
;
values
.
push
(
asc_ReadAutoFiltersOptionsElements
(
s
,
p
));
}
filter
.
asc_setValues
(
values
);
break
;
}
...
...
@@ -2346,7 +2346,7 @@ function asc_ReadAutoFiltersOptions(s, p) {
}
}
}
return
filter
;
}
function
asc_ReadFormatTableInfo
(
s
,
p
)
{
...
...
@@ -2452,25 +2452,25 @@ function asc_ReadFormatTableInfo(s, p) {
}
}
}
return
isNull
?
null
:
fmt
;
}
function
asc_WriteCBorder
(
i
,
c
,
s
)
{
if
(
!
c
)
return
;
s
[
'
WriteByte
'
](
i
);
if
(
c
.
asc_getStyle
())
{
s
[
'
WriteByte
'
](
0
);
s
[
'
WriteString2
'
](
c
.
asc_getStyle
());
}
if
(
c
.
asc_getColor
())
{
s
[
'
WriteByte
'
](
1
);
s
[
'
WriteLong
'
](
c
.
asc_getColor
());
}
s
[
'
WriteByte
'
](
255
);
}
function
asc_WriteCHyperLink
(
i
,
c
,
s
)
{
...
...
@@ -2574,94 +2574,94 @@ function asc_WriteAutoFilterInfo(i, c, s) {
s
[
'
WriteByte
'
](
255
);
}
function
asc_WriteFormatTableInfo
(
i
,
c
,
s
)
{
if
(
i
!==
-
1
)
s
[
'
WriteByte
'
](
i
);
if
(
c
.
asc_getTableName
())
{
s
[
'
WriteByte
'
](
0
);
s
[
'
WriteString2
'
](
c
.
asc_getTableName
());
}
if
(
c
.
asc_getTableRange
())
{
s
[
'
WriteByte
'
](
1
);
s
[
'
WriteString2
'
](
c
.
asc_getTableRange
());
}
if
(
c
.
asc_getTableStyleName
())
{
s
[
'
WriteByte
'
](
2
);
s
[
'
WriteString2
'
](
c
.
asc_getTableStyleName
());
}
if
(
null
!==
c
.
asc_getBandHor
())
{
s
[
'
WriteByte
'
](
3
);
s
[
'
WriteBool
'
](
c
.
asc_getBandHor
());
}
if
(
null
!==
c
.
asc_getBandVer
())
{
s
[
'
WriteByte
'
](
4
);
s
[
'
WriteBool
'
](
c
.
asc_getBandVer
());
}
if
(
null
!==
c
.
asc_getFilterButton
())
{
s
[
'
WriteByte
'
](
5
);
s
[
'
WriteBool
'
](
c
.
asc_getFilterButton
());
}
if
(
null
!==
c
.
asc_getFirstCol
())
{
s
[
'
WriteByte
'
](
6
);
s
[
'
WriteBool
'
](
c
.
asc_getFirstCol
());
}
if
(
null
!==
c
.
asc_getFirstRow
())
{
s
[
'
WriteByte
'
](
7
);
s
[
'
WriteBool
'
](
c
.
asc_getFirstRow
());
}
if
(
null
!==
c
.
asc_getIsDeleteColumn
())
{
s
[
'
WriteByte
'
](
8
);
s
[
'
WriteBool
'
](
c
.
asc_getIsDeleteColumn
());
}
if
(
null
!==
c
.
asc_getIsDeleteRow
())
{
s
[
'
WriteByte
'
](
9
);
s
[
'
WriteBool
'
](
c
.
asc_getIsDeleteRow
());
}
if
(
null
!==
c
.
asc_getIsDeleteTable
())
{
s
[
'
WriteByte
'
](
10
);
s
[
'
WriteBool
'
](
c
.
asc_getIsDeleteTable
());
}
if
(
null
!==
c
.
asc_getIsInsertColumnLeft
())
{
s
[
'
WriteByte
'
](
11
);
s
[
'
WriteBool
'
](
c
.
asc_getIsInsertColumnLeft
());
}
if
(
null
!==
c
.
asc_getIsInsertColumnRight
())
{
s
[
'
WriteByte
'
](
12
);
s
[
'
WriteBool
'
](
c
.
asc_getIsInsertColumnRight
());
}
if
(
null
!==
c
.
asc_getIsInsertRowAbove
())
{
s
[
'
WriteByte
'
](
13
);
s
[
'
WriteBool
'
](
c
.
asc_getIsInsertRowAbove
());
}
if
(
null
!==
c
.
asc_getIsInsertRowBelow
())
{
s
[
'
WriteByte
'
](
14
);
s
[
'
WriteBool
'
](
c
.
asc_getIsInsertRowBelow
());
}
if
(
null
!==
c
.
asc_getLastCol
())
{
s
[
'
WriteByte
'
](
15
);
s
[
'
WriteBool
'
](
c
.
asc_getLastCol
());
}
if
(
null
!==
c
.
asc_getLastRow
())
{
s
[
'
WriteByte
'
](
16
);
s
[
'
WriteBool
'
](
c
.
asc_getLastRow
());
}
s
[
'
WriteByte
'
](
255
);
}
...
...
@@ -2725,7 +2725,7 @@ function asc_WriteCCelInfo(c, s) {
s
[
'
WriteByte
'
](
21
);
s
[
'
WriteString2
'
](
c
.
asc_getStyleName
());
}
if
(
null
!=
c
.
asc_getNumFormatInfo
())
{
s
[
'
WriteByte
'
](
22
);
s
[
'
WriteLong
'
](
c
.
asc_getNumFormatInfo
().
asc_getType
());
...
...
@@ -2738,7 +2738,7 @@ function asc_WriteCCelInfo(c, s) {
if
(
c
.
asc_getAutoFilterInfo
())
{
asc_WriteAutoFilterInfo
(
30
,
c
.
asc_getAutoFilterInfo
(),
s
);
}
if
(
c
.
asc_getFormatTableInfo
())
{
asc_WriteFormatTableInfo
(
31
,
c
.
asc_getFormatTableInfo
(),
s
);
}
s
[
'
WriteByte
'
](
255
);
}
function
asc_WriteColorSchemes
(
schemas
,
s
)
{
...
...
@@ -2775,61 +2775,61 @@ function asc_WriteAddFormatTableOptions(c, s) {
function
asc_WriteAutoFilterObj
(
i
,
c
,
s
)
{
if
(
!
c
)
return
;
s
[
'
WriteByte
'
](
i
);
if
(
undefined
!==
c
.
asc_getType
())
{
s
[
'
WriteByte
'
](
0
);
s
[
'
WriteLong
'
](
c
.
asc_getType
());
}
s
[
'
WriteByte
'
](
255
);
}
function
asc_WriteAutoFiltersOptionsElements
(
i
,
c
,
s
)
{
if
(
!
c
)
return
;
s
[
'
WriteByte
'
](
i
);
if
(
undefined
!==
c
.
asc_getIsDateFormat
())
{
s
[
'
WriteByte
'
](
0
);
s
[
'
WriteBool
'
](
c
.
asc_getIsDateFormat
());
}
if
(
c
.
asc_getText
())
{
s
[
'
WriteByte
'
](
1
);
s
[
'
WriteString2
'
](
c
.
asc_getText
());
}
if
(
c
.
asc_getVal
())
{
s
[
'
WriteByte
'
](
2
);
s
[
'
WriteString2
'
](
c
.
asc_getVal
());
}
if
(
undefined
!==
c
.
asc_getVisible
())
{
s
[
'
WriteByte
'
](
3
);
s
[
'
WriteBool
'
](
c
.
asc_getVisible
());
}
s
[
'
WriteByte
'
](
255
);
}
function
asc_WriteAutoFiltersOptions
(
c
,
s
)
{
if
(
!
c
)
return
;
if
(
c
.
asc_getCellId
())
{
s
[
'
WriteByte
'
](
0
);
s
[
'
WriteString2
'
](
c
.
asc_getCellId
());
}
if
(
c
.
asc_getDisplayName
())
{
s
[
'
WriteByte
'
](
1
);
s
[
'
WriteString2
'
](
c
.
asc_getDisplayName
());
}
if
(
c
.
asc_getIsTextFilter
())
{
s
[
'
WriteByte
'
](
2
);
s
[
'
WriteBool
'
](
c
.
asc_getIsTextFilter
());
}
if
(
c
.
asc_getCellCoord
())
{
s
[
'
WriteByte
'
](
3
);
s
[
'
WriteDouble2
'
](
c
.
asc_getCellCoord
().
asc_getX
());
...
...
@@ -2837,46 +2837,46 @@ function asc_WriteAutoFiltersOptions(c, s) {
s
[
'
WriteDouble2
'
](
c
.
asc_getCellCoord
().
asc_getWidth
());
s
[
'
WriteDouble2
'
](
c
.
asc_getCellCoord
().
asc_getHeight
());
}
if
(
c
.
asc_getSortColor
())
{
asc_menu_WriteColor
(
4
,
c
.
asc_getSortColor
(),
s
);
}
if
(
c
.
asc_getValues
()
&&
c
.
asc_getValues
().
length
>
0
)
{
var
count
=
c
.
asc_getValues
().
length
s
[
'
WriteByte
'
](
5
);
s
[
'
WriteLong
'
](
count
);
for
(
var
i
=
0
;
i
<
count
;
++
i
)
{
asc_WriteAutoFiltersOptionsElements
(
1
,
c
.
asc_getValues
()[
i
],
s
);
}
}
if
(
undefined
!==
c
.
asc_getSortState
())
{
s
[
'
WriteByte
'
](
6
);
s
[
'
WriteLong
'
](
c
.
asc_getSortState
());
}
if
(
c
.
asc_getFilterObj
())
{
asc_WriteAutoFilterObj
(
7
,
c
.
asc_getFilterObj
(),
s
);
}
s
[
'
WriteByte
'
](
255
);
}
function
asc_WriteUsers
(
c
,
s
)
{
if
(
!
c
)
return
;
var
len
=
0
,
name
,
user
;
for
(
name
in
c
)
{
if
(
undefined
!==
name
)
{
len
++
;
}
}
s
[
"
WriteLong
"
](
len
);
for
(
name
in
c
)
{
if
(
undefined
!==
name
)
{
user
=
c
[
name
];
...
...
@@ -2886,13 +2886,13 @@ function asc_WriteUsers(c, s) {
s
[
'
WriteString2
'
](
user
.
asc_getLastName
()
===
undefined
?
""
:
user
.
asc_getLastName
());
s
[
'
WriteString2
'
](
user
.
asc_getUserName
()
===
undefined
?
""
:
user
.
asc_getUserName
());
s
[
'
WriteBool
'
](
user
.
asc_getView
());
var
color
=
new
Asc
.
asc_CColor
();
color
.
r
=
(
user
.
color
>>
16
)
&
255
;
color
.
g
=
(
user
.
color
>>
8
)
&
255
;
color
.
b
=
(
user
.
color
)
&
255
;
asc_menu_WriteColor
(
0
,
color
,
s
);
}
}
...
...
@@ -2945,7 +2945,7 @@ function OfflineEditor () {
this
.
beforeOpen
=
function
()
{
var
offlineEditor
=
this
;
function
__selectDrawingObjectRange
(
drawing
,
worksheet
)
{
worksheet
.
cleanSelection
();
worksheet
.
endEditChart
();
...
...
@@ -2955,7 +2955,7 @@ function OfflineEditor () {
var
BB
=
drawing
.
bbox
.
seriesBBox
;
var
range
=
window
[
"
Asc
"
].
Range
(
BB
.
c1
,
BB
.
r1
,
BB
.
c2
,
BB
.
r2
,
true
);
worksheet
.
setChartRange
(
range
);
worksheet
.
_drawSelection
();
}
...
...
@@ -3267,14 +3267,14 @@ function OfflineEditor () {
}
}
}
var
ctx
=
(
drawingCtx
)
?
drawingCtx
:
this
.
drawingCtx
;
var
st
=
this
.
settings
.
header
.
style
[
style
];
var
x2
=
x
+
w
;
var
y2
=
y
+
h
;
var
x2WithoutBorder
=
x2
-
this
.
width_1px
;
var
y2WithoutBorder
=
y2
-
this
.
height_1px
;
// background только для видимых
if
(
!
isZeroHeader
)
{
// draw background
...
...
@@ -3289,12 +3289,12 @@ function OfflineEditor () {
// Select row (top border)
// ctx.lineHorPrevPx(x, y, x2);
}
// Right border
if
(
isColHeader
)
ctx
.
lineVerPrevPx
(
x2
,
y
,
y2
+
5
);
// Bottom border
if
(
!
isColHeader
)
ctx
.
lineHorPrevPx
(
x
,
y2
,
x2
+
5
);
if
(
style
!==
kHeaderDefault
&&
isColHeader
)
{
// Select col (left border)
ctx
.
lineVerPrevPx
(
x
,
y
,
y2
);
...
...
@@ -3327,7 +3327,7 @@ function OfflineEditor () {
.
restore
();
}
};
AscCommonExcel
.
WorksheetView
.
prototype
.
__drawRowHeaders
=
function
(
drawingCtx
,
start
,
end
,
style
,
offsetXForDraw
,
offsetYForDraw
)
{
if
(
undefined
===
drawingCtx
&&
false
===
this
.
model
.
sheetViews
[
0
].
asc_getShowRowColHeaders
())
{
return
;
...
...
@@ -3344,7 +3344,7 @@ function OfflineEditor () {
offsetY
-=
r
[
rFrozen
].
top
-
r
[
0
].
top
;
}
}
if
(
asc_typeof
(
start
)
!==
"
number
"
)
{
start
=
vr
.
r1
;
}
...
...
@@ -3354,9 +3354,9 @@ function OfflineEditor () {
if
(
style
===
undefined
)
{
style
=
kHeaderDefault
;
}
this
.
_setFont
(
drawingCtx
,
this
.
model
.
getDefaultFontName
(),
this
.
model
.
getDefaultFontSize
());
// draw row headers
for
(
var
i
=
start
;
i
<=
end
;
++
i
)
{
this
.
__drawHeader
(
drawingCtx
,
offsetX
,
r
[
i
].
top
-
r
[
start
].
top
-
offsetY
,
...
...
@@ -3415,24 +3415,24 @@ function OfflineEditor () {
if
(
window
[
"
Asc
"
][
"
editor
"
].
isStartAddShape
||
this
.
objectRender
.
selectedGraphicObjectsExists
())
{
return
;
}
var
offsetX
=
0
,
offsetY
=
0
;
offsetX
=
this
.
cols
[
this
.
visibleRange
.
c1
].
left
-
this
.
cellsLeft
;
offsetY
=
this
.
rows
[
this
.
visibleRange
.
r1
].
top
-
this
.
cellsTop
;
var
activeCell
=
this
.
model
.
selectionRange
.
activeCell
;
selection
.
push
(
0
);
selection
.
push
(
0
);
selection
.
push
(
0
);
selection
.
push
(
0
);
selection
.
push
(
0
);
selection
.
push
(
0
);
selection
.
push
(
0
);
selection
.
push
(
0
);
var
ranges
=
(
this
.
isSelectionDialogMode
?
this
.
copyActiveRange
:
this
.
model
.
selectionRange
).
ranges
;
var
range
,
selectionLineType
;
for
(
var
i
=
0
,
l
=
ranges
.
length
;
i
<
l
;
++
i
)
{
...
...
@@ -3445,19 +3445,19 @@ function OfflineEditor () {
}
else
if
(
Asc
.
c_oAscSelectionType
.
RangeRow
===
range
.
type
)
{
range
.
c2
=
this
.
cols
.
length
-
1
;
}
selection
.
push
(
range
.
type
);
selection
.
push
(
range
.
c1
);
selection
.
push
(
range
.
c2
);
selection
.
push
(
range
.
r1
);
selection
.
push
(
range
.
r2
);
selection
.
push
(
this
.
cols
[
range
.
c1
].
left
-
offsetX
);
selection
.
push
(
this
.
rows
[
range
.
r1
].
top
-
offsetY
);
selection
.
push
(
this
.
cols
[
range
.
c2
].
left
+
this
.
cols
[
range
.
c2
].
width
-
this
.
cols
[
range
.
c1
].
left
);
selection
.
push
(
this
.
rows
[
range
.
r2
].
top
+
this
.
rows
[
range
.
r2
].
height
-
this
.
rows
[
range
.
r1
].
top
);
selectionLineType
=
AscCommonExcel
.
selectionLineType
.
Selection
;
if
(
1
===
l
)
{
selectionLineType
|=
...
...
@@ -3465,19 +3465,19 @@ function OfflineEditor () {
}
else
if
(
i
===
this
.
model
.
selectionRange
.
activeCellId
)
{
selectionLineType
|=
AscCommonExcel
.
selectionLineType
.
ActiveCell
;
}
var
isActive
=
AscCommonExcel
.
selectionLineType
.
ActiveCell
&
selectionLineType
;
if
(
isActive
)
{
var
cell
=
(
this
.
isSelectionDialogMode
?
this
.
copyActiveRange
:
this
.
model
.
selectionRange
).
activeCell
;
var
fs
=
this
.
model
.
getMergedByCell
(
cell
.
row
,
cell
.
col
);
fs
=
range
.
intersectionSimple
(
fs
?
fs
:
new
asc_Range
(
cell
.
col
,
cell
.
row
,
cell
.
col
,
cell
.
row
));
if
(
fs
)
{
selection
[
0
]
=
fs
.
c1
;
selection
[
1
]
=
fs
.
c2
;
selection
[
2
]
=
fs
.
r1
;
selection
[
3
]
=
fs
.
r2
;
selection
[
4
]
=
this
.
cols
[
fs
.
c1
].
left
-
offsetX
;
selection
[
5
]
=
this
.
rows
[
fs
.
r1
].
top
-
offsetY
;
selection
[
6
]
=
this
.
cols
[
fs
.
c2
].
left
+
this
.
cols
[
fs
.
c2
].
width
-
this
.
cols
[
fs
.
c1
].
left
;
...
...
@@ -3485,33 +3485,33 @@ function OfflineEditor () {
}
}
}
var
formularanges
=
[];
if
(
!
isFrozen
&&
this
.
isFormulaEditMode
)
{
if
(
this
.
arrActiveFormulaRanges
.
length
)
{
formularanges
=
this
.
__selectedCellRanges
(
this
.
arrActiveFormulaRanges
,
offsetX
,
offsetY
);
}
}
return
{
'
selection
'
:
selection
,
'
formularanges
'
:
formularanges
};
};
AscCommonExcel
.
WorksheetView
.
prototype
.
__changeSelectionPoint
=
function
(
x
,
y
,
isCoord
,
isSelectMode
,
isReverse
)
{
var
isChangeSelectionShape
=
false
;
if
(
isCoord
)
{
isChangeSelectionShape
=
this
.
_checkSelectionShape
();
}
var
isMoveActiveCellToLeftTop
=
false
;
var
selection
=
this
.
_getSelection
();
var
lastRange
=
selection
.
getLast
();
var
col
=
selection
.
activeCell
.
col
;
var
row
=
selection
.
activeCell
.
row
;
if
(
isReverse
)
{
selection
.
activeCell
.
col
=
this
.
leftTopRange
.
c2
;
selection
.
activeCell
.
row
=
this
.
leftTopRange
.
r2
;
...
...
@@ -3519,9 +3519,9 @@ function OfflineEditor () {
selection
.
activeCell
.
col
=
this
.
leftTopRange
.
c1
;
selection
.
activeCell
.
row
=
this
.
leftTopRange
.
r1
;
}
var
ar
=
this
.
_getSelection
().
getLast
();
var
newRange
=
isCoord
?
this
.
_calcSelectionEndPointByXY
(
x
,
y
)
:
this
.
_calcSelectionEndPointByOffset
(
x
,
y
);
var
isEqual
=
newRange
.
isEqual
(
ar
);
...
...
@@ -3529,27 +3529,27 @@ function OfflineEditor () {
// При движении стрелками можем попасть на замерженную ячейку
}
if
(
!
isEqual
||
isChangeSelectionShape
)
{
if
(
newRange
.
c1
>
col
||
newRange
.
c2
<
col
)
{
col
=
newRange
.
c1
;
isMoveActiveCellToLeftTop
=
true
;
}
if
(
newRange
.
r1
>
row
||
newRange
.
r2
<
row
)
{
row
=
newRange
.
r1
;
isMoveActiveCellToLeftTop
=
true
;
}
ar
.
assign2
(
newRange
);
selection
.
activeCell
.
col
=
col
;
selection
.
activeCell
.
row
=
row
;
if
(
isMoveActiveCellToLeftTop
)
{
selection
.
activeCell
.
col
=
newRange
.
c1
;
selection
.
activeCell
.
row
=
newRange
.
r1
;
}
if
(
!
this
.
isCellEditMode
)
{
if
(
!
this
.
isSelectionDialogMode
)
{
this
.
handlers
.
trigger
(
"
selectionNameChanged
"
,
this
.
getSelectionName
(
/*bRangeText*/
true
));
...
...
@@ -3566,9 +3566,9 @@ function OfflineEditor () {
selection
.
activeCell
.
col
=
col
;
selection
.
activeCell
.
row
=
row
;
}
this
.
model
.
workbook
.
handlers
.
trigger
(
"
asc_onHideComment
"
);
return
isCoord
?
this
.
_calcActiveRangeOffsetIsCoord
(
x
,
y
)
:
this
.
_calcActiveRangeOffset
();
};
...
...
@@ -3589,49 +3589,49 @@ function OfflineEditor () {
};
AscCommonExcel
.
WorksheetView
.
prototype
.
__selectedCellRanges
=
function
(
inputRanges
,
offsetX
,
offsetY
,
rangetype
)
{
var
ranges
=
[],
j
=
0
,
i
=
0
,
type
=
0
,
left
=
0
,
right
=
0
,
top
=
0
,
bottom
=
0
;
for
(
j
=
0
;
j
<
inputRanges
.
length
;
++
j
)
{
arrRanges
=
inputRanges
[
j
].
ranges
;
var
type
=
0
,
left
=
0
,
right
=
0
,
top
=
0
,
bottom
=
0
;
var
addt
,
addl
,
addr
,
addb
,
colsCount
=
this
.
cols
.
length
-
1
,
rowsCount
=
this
.
rows
.
length
-
1
;
var
defaultWidth
=
this
.
model
.
getDefaultWidth
();
defaultWidth
=
(
typeof
defaultWidth
===
"
number
"
&&
defaultWidth
>=
0
)
?
defaultWidth
:
-
1
;
var
defaultRowHeight
=
AscCommonExcel
.
oDefaultMetrics
.
RowHeight
;
for
(
i
=
0
;
i
<
arrRanges
.
length
;
++
i
)
{
ranges
.
push
(
undefined
!==
rangetype
?
rangetype
:
arrRanges
[
i
].
type
);
ranges
.
push
(
arrRanges
[
i
].
c1
);
ranges
.
push
(
arrRanges
[
i
].
c2
);
ranges
.
push
(
arrRanges
[
i
].
r1
);
ranges
.
push
(
arrRanges
[
i
].
r2
);
type
=
arrRanges
[
i
].
type
;
addl
=
Math
.
max
(
arrRanges
[
i
].
c1
-
colsCount
,
0
);
addt
=
Math
.
max
(
arrRanges
[
i
].
r1
-
rowsCount
,
0
);
addr
=
Math
.
max
(
arrRanges
[
i
].
c2
-
colsCount
,
0
);
addb
=
Math
.
max
(
arrRanges
[
i
].
r2
-
rowsCount
,
0
);
if
(
1
===
type
)
{
// cells or chart
if
(
addl
>
0
)
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c1
,
0
)].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r1
,
0
)].
top
-
offsetY
;
if
(
addr
>
0
)
right
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addr
-
offsetX
;
else
right
=
this
.
cols
[
arrRanges
[
i
].
c2
].
left
+
this
.
cols
[
arrRanges
[
i
].
c2
].
width
-
offsetX
;
if
(
addb
>
0
)
bottom
=
this
.
rows
[
rowsCount
-
1
].
top
+
addb
*
defaultRowHeight
-
offsetY
;
else
...
...
@@ -3642,17 +3642,17 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c1
)].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r1
)].
top
-
offsetY
;
if
(
addr
>
0
)
right
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addr
-
offsetX
;
else
right
=
this
.
cols
[
arrRanges
[
i
].
c2
].
left
+
this
.
cols
[
arrRanges
[
i
].
c2
].
width
-
offsetX
;
bottom
=
0
;
}
else
if
(
3
===
type
)
{
// row range
...
...
@@ -3660,14 +3660,14 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
arrRanges
[
i
].
c1
].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
arrRanges
[
i
].
r1
].
top
-
offsetY
;
right
=
0
;
if
(
addb
>
0
)
bottom
=
this
.
rows
[
rowsCount
-
1
].
top
+
addb
*
defaultRowHeight
-
offsetY
;
else
...
...
@@ -3678,12 +3678,12 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
arrRanges
[
i
].
c1
].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
arrRanges
[
i
].
r1
].
top
-
offsetY
;
right
=
0
;
bottom
=
0
;
}
else
{
...
...
@@ -3691,78 +3691,78 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c1
)].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r1
)].
top
-
offsetY
;
if
(
addr
>
0
)
right
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addr
-
offsetX
;
else
right
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c2
)].
left
+
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c2
)].
width
-
offsetX
;
if
(
addb
>
0
)
bottom
=
this
.
rows
[
rowsCount
-
1
].
top
+
addb
*
defaultRowHeight
-
offsetY
;
else
bottom
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r2
)].
top
+
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r2
)].
height
-
offsetY
;
}
// else if (5 === type) { // range image
// }
// else if (6 === type) { // range chart
// }
ranges
.
push
(
left
);
ranges
.
push
(
top
);
ranges
.
push
(
right
);
ranges
.
push
(
bottom
);
}
}
return
ranges
;
};
AscCommonExcel
.
WorksheetView
.
prototype
.
__selectedCellRange
=
function
(
arrRanges
,
offsetX
,
offsetY
,
rangetype
)
{
var
ranges
=
[],
j
=
0
,
i
=
0
,
type
=
0
,
left
=
0
,
right
=
0
,
top
=
0
,
bottom
=
0
;
var
type
=
0
,
left
=
0
,
right
=
0
,
top
=
0
,
bottom
=
0
;
var
addt
,
addl
,
addr
,
addb
,
colsCount
=
this
.
cols
.
length
-
1
,
rowsCount
=
this
.
rows
.
length
-
1
;
var
defaultWidth
=
this
.
model
.
getDefaultWidth
();
defaultWidth
=
(
typeof
defaultWidth
===
"
number
"
&&
defaultWidth
>=
0
)
?
defaultWidth
:
-
1
;
var
defaultRowHeight
=
AscCommonExcel
.
oDefaultMetrics
.
RowHeight
;
for
(
i
=
0
;
i
<
arrRanges
.
length
;
++
i
)
{
ranges
.
push
(
undefined
!==
rangetype
?
rangetype
:
arrRanges
[
i
].
type
);
ranges
.
push
(
arrRanges
[
i
].
c1
);
ranges
.
push
(
arrRanges
[
i
].
c2
);
ranges
.
push
(
arrRanges
[
i
].
r1
);
ranges
.
push
(
arrRanges
[
i
].
r2
);
type
=
arrRanges
[
i
].
type
;
addl
=
Math
.
max
(
arrRanges
[
i
].
c1
-
colsCount
,
0
);
addt
=
Math
.
max
(
arrRanges
[
i
].
r1
-
rowsCount
,
0
);
addr
=
Math
.
max
(
arrRanges
[
i
].
c2
-
colsCount
,
0
);
addb
=
Math
.
max
(
arrRanges
[
i
].
r2
-
rowsCount
,
0
);
if
(
1
===
type
)
{
// cells or chart
if
(
addl
>
0
)
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c1
,
0
)].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r1
,
0
)].
top
-
offsetY
;
if
(
addr
>
0
)
right
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addr
-
offsetX
;
else
right
=
this
.
cols
[
arrRanges
[
i
].
c2
].
left
+
this
.
cols
[
arrRanges
[
i
].
c2
].
width
-
offsetX
;
if
(
addb
>
0
)
bottom
=
this
.
rows
[
rowsCount
-
1
].
top
+
addb
*
defaultRowHeight
-
offsetY
;
else
...
...
@@ -3773,17 +3773,17 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c1
)].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r1
)].
top
-
offsetY
;
if
(
addr
>
0
)
right
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addr
-
offsetX
;
else
right
=
this
.
cols
[
arrRanges
[
i
].
c2
].
left
+
this
.
cols
[
arrRanges
[
i
].
c2
].
width
-
offsetX
;
bottom
=
0
;
}
else
if
(
3
===
type
)
{
// row range
...
...
@@ -3791,14 +3791,14 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
arrRanges
[
i
].
c1
].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
arrRanges
[
i
].
r1
].
top
-
offsetY
;
right
=
0
;
if
(
addb
>
0
)
bottom
=
this
.
rows
[
rowsCount
-
1
].
top
+
addb
*
defaultRowHeight
-
offsetY
;
else
...
...
@@ -3809,12 +3809,12 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
arrRanges
[
i
].
c1
].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
arrRanges
[
i
].
r1
].
top
-
offsetY
;
right
=
0
;
bottom
=
0
;
}
else
{
...
...
@@ -3822,53 +3822,53 @@ function OfflineEditor () {
left
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addl
-
offsetX
;
else
left
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c1
)].
left
-
offsetX
;
if
(
addt
>
0
)
top
=
this
.
rows
[
rowsCount
-
1
].
top
+
addt
*
defaultRowHeight
-
offsetY
;
else
top
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r1
)].
top
-
offsetY
;
if
(
addr
>
0
)
right
=
this
.
cols
[
colsCount
-
1
].
left
+
this
.
defaultColWidth
*
addr
-
offsetX
;
else
right
=
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c2
)].
left
+
this
.
cols
[
Math
.
max
(
0
,
arrRanges
[
i
].
c2
)].
width
-
offsetX
;
if
(
addb
>
0
)
bottom
=
this
.
rows
[
rowsCount
-
1
].
top
+
addb
*
defaultRowHeight
-
offsetY
;
else
bottom
=
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r2
)].
top
+
this
.
rows
[
Math
.
max
(
0
,
arrRanges
[
i
].
r2
)].
height
-
offsetY
;
}
// else if (5 === type) { // range image
// }
// else if (6 === type) { // range chart
// }
ranges
.
push
(
left
);
ranges
.
push
(
top
);
ranges
.
push
(
right
);
ranges
.
push
(
bottom
);
}
return
ranges
;
};
};
this
.
openFile
=
function
(
settings
)
{
window
[
"
NativeSupportTimeouts
"
]
=
true
;
// try
// {
// throw "OpenFile";
// }
// catch (e)
// {
//
//
// }
this
.
initSettings
=
settings
;
this
.
beforeOpen
();
window
[
"
CreateMainTextMeasurerWrapper
"
]();
...
...
@@ -3888,40 +3888,40 @@ function OfflineEditor () {
var
docInfo
=
new
Asc
.
asc_CDocInfo
();
docInfo
.
put_Id
(
this
.
initSettings
[
"
docKey
"
]);
docInfo
.
put_UserInfo
(
userInfo
);
_api
.
asc_setDocInfo
(
docInfo
);
this
.
offline_beforeInit
();
this
.
registerEventsHandlers
();
if
(
this
.
initSettings
[
"
iscoauthoring
"
])
{
_api
.
asc_setAutoSaveGap
(
1
);
_api
.
_coAuthoringInit
();
_api
.
asc_SetFastCollaborative
(
true
);
}
else
{
_api
.
asc_nativeOpenFile
(
window
[
"
native
"
][
"
GetFileString
"
](),
undefined
,
true
);
this
.
asc_WriteAllWorksheets
(
true
);
_api
.
sendColorThemes
(
_api
.
wbModel
.
theme
);
_api
.
asc_ApplyColorScheme
(
false
);
_api
.
_applyFirstLoadChanges
();
var
ws
=
_api
.
wb
.
getWorksheet
();
_api
.
wb
.
showWorksheet
(
undefined
,
false
,
true
);
ws
.
_fixSelectionOfMergedCells
();
if
(
ws
.
topLeftFrozenCell
)
{
this
.
row0
=
ws
.
topLeftFrozenCell
.
getRow0
();
this
.
col0
=
ws
.
topLeftFrozenCell
.
getCol0
();
}
// TODO: Implement frozen places
// TODO: Implement Text Art Styles
}
this
.
offline_afteInit
();
};
this
.
registerEventsHandlers
=
function
()
{
...
...
@@ -3934,25 +3934,25 @@ function OfflineEditor () {
stream
[
"
WriteBool
"
](
bCanUndo
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
60
,
stream
);
// ASC_MENU_EVENT_TYPE_CAN_UNDO
});
_api
.
asc_registerCallback
(
"
asc_onCanRedoChanged
"
,
function
(
bCanRedo
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
stream
[
"
WriteBool
"
](
bCanRedo
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
61
,
stream
);
// ASC_MENU_EVENT_TYPE_CAN_REDO
});
_api
.
asc_registerCallback
(
"
asc_onDocumentModifiedChanged
"
,
function
(
change
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
stream
[
"
WriteBool
"
](
change
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
66
,
stream
);
// ASC_MENU_EVENT_TYPE_DOCUMETN_MODIFITY
});
_api
.
asc_registerCallback
(
"
asc_onActiveSheetChanged
"
,
function
(
index
)
{
t
.
asc_WriteAllWorksheets
(
true
,
true
);
});
_api
.
asc_registerCallback
(
"
asc_onRenameCellTextEnd
"
,
function
(
found
,
replaced
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
...
...
@@ -3960,7 +3960,7 @@ function OfflineEditor () {
stream
[
"
WriteLong
"
](
replaced
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
63
,
stream
);
// ASC_MENU_EVENT_TYPE_SEARCH_REPLACETEXT
});
_api
.
asc_registerCallback
(
"
asc_onSelectionChanged
"
,
function
(
cellInfo
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
...
...
@@ -3968,40 +3968,40 @@ function OfflineEditor () {
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
2402
,
stream
);
// ASC_SPREADSHEETS_EVENT_TYPE_SELECTION_CHANGED
t
.
onSelectionChanged
(
cellInfo
);
});
_api
.
asc_registerCallback
(
"
asc_onSelectionNameChanged
"
,
function
(
name
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
stream
[
"
WriteString2
"
](
name
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
2310
,
stream
);
// ASC_SPREADSHEETS_EVENT_TYPE_EDITOR_SELECTION_NAME_CHANGED
});
_api
.
asc_registerCallback
(
"
asc_onEditorSelectionChanged
"
,
function
(
font
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
asc_WriteCFont
(
-
1
,
font
,
stream
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
2403
,
stream
);
// ASC_SPREADSHEETS_EVENT_TYPE_EDITOR_SELECTION_CHANGED
});
_api
.
asc_registerCallback
(
"
asc_onSendThemeColorSchemes
"
,
function
(
schemes
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
asc_WriteColorSchemes
(
schemes
,
stream
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
2404
,
stream
);
// ASC_SPREADSHEETS_EVENT_TYPE_COLOR_SCHEMES
});
_api
.
asc_registerCallback
(
"
asc_onInitTablePictures
"
,
function
()
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
12
,
stream
);
// ASC_MENU_EVENT_TYPE_TABLE_STYLES
});
_api
.
asc_registerCallback
(
"
asc_onInitEditorStyles
"
,
function
()
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
2405
,
stream
);
// ASC_SPREADSHEETS_EVENT_TYPE_CELL_STYLES
});
_api
.
asc_registerCallback
(
"
asc_onError
"
,
function
(
id
,
level
,
errData
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
...
...
@@ -4009,46 +4009,46 @@ function OfflineEditor () {
stream
[
"
WriteLong
"
](
level
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
500
,
stream
);
// ASC_MENU_EVENT_TYPE_ON_ERROR
});
_api
.
asc_registerCallback
(
"
asc_onEditCell
"
,
function
(
state
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
stream
[
"
WriteLong
"
](
state
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
2600
,
stream
);
// ASC_SPREADSHEETS_EVENT_TYPE_ON_EDIT_CELL
});
_api
.
asc_registerCallback
(
"
asc_onSetAFDialog
"
,
function
(
state
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
asc_WriteAutoFiltersOptions
(
state
,
stream
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
3060
,
stream
);
// ASC_SPREADSHEETS_EVENT_TYPE_FILTER_DIALOG
});
_api
.
asc_registerCallback
(
"
asc_onAuthParticipantsChanged
"
,
function
(
users
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
asc_WriteUsers
(
users
,
stream
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
20101
,
stream
);
// ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED
});
_api
.
asc_registerCallback
(
"
asc_onParticipantsChanged
"
,
function
(
users
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
asc_WriteUsers
(
users
,
stream
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
20101
,
stream
);
// ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED
});
_api
.
asc_registerCallback
(
"
asc_onSheetsChanged
"
,
function
()
{
t
.
asc_WriteAllWorksheets
(
true
,
true
);
});
_api
.
asc_registerCallback
(
"
asc_onWorkbookLocked
"
,
function
(
locked
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
stream
[
"
WriteBool
"
](
locked
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
20104
,
stream
);
// ASC_COAUTH_EVENT_TYPE_WORKBOOK_LOCKED
});
_api
.
asc_registerCallback
(
"
asc_onWorksheetLocked
"
,
function
(
index
,
locked
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
...
...
@@ -4056,9 +4056,9 @@ function OfflineEditor () {
stream
[
"
WriteBool
"
](
locked
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
20105
,
stream
);
// ASC_COAUTH_EVENT_TYPE_WORKSHEET_LOCKED
});
_api
.
asc_registerCallback
(
"
asc_onGetEditorPermissions
"
,
function
(
state
)
{
var
rData
=
{
"
c
"
:
"
open
"
,
"
id
"
:
t
.
initSettings
[
"
docKey
"
],
...
...
@@ -4068,10 +4068,10 @@ function OfflineEditor () {
"
url
"
:
t
.
initSettings
[
"
docURL
"
],
"
title
"
:
this
.
documentTitle
,
"
embeddedfonts
"
:
false
};
_api
.
CoAuthoringApi
.
auth
(
t
.
initSettings
[
"
viewmode
"
],
rData
);
});
_api
.
asc_registerCallback
(
"
asc_onDocumentUpdateVersion
"
,
function
(
callback
)
{
var
me
=
this
;
me
.
needToUpdateVersion
=
true
;
...
...
@@ -4111,17 +4111,17 @@ function OfflineEditor () {
var
ws
=
_api
.
wb
.
getWorksheet
();
var
region
=
null
;
//var range = ws.activeRange.intersection(worksheet.visibleRange);
var
ranges
=
ws
.
model
.
selectionRange
.
ranges
;
var
range
=
ws
.
visibleRange
;
for
(
var
i
=
0
,
l
=
ranges
.
length
;
i
<
l
;
++
i
)
{
range
=
range
.
intersection
(
ranges
[
i
]);
}
if
((
null
===
range
)
&&
(
ranges
.
length
>
0
))
{
range
=
ranges
[
0
];
}
if
(
autocorrection
)
{
this
.
_resizeWorkRegion
(
ws
,
range
.
c2
,
range
.
r2
);
region
=
{
columnBeg
:
0
,
columnEnd
:
ws
.
cols
.
length
-
1
,
columnOff
:
0
,
rowBeg
:
0
,
rowEnd
:
ws
.
rows
.
length
-
1
,
rowOff
:
0
};
...
...
@@ -4666,9 +4666,9 @@ function OfflineEditor () {
var
objectRender
=
ws
.
objectRender
;
var
objectId
=
null
;
var
current
=
{
pos
:
0
};
var
shapeProp
=
asc_menu_ReadShapePr
(
options
[
"
shape
"
],
current
);
var
left
=
options
[
"
l
"
];
var
top
=
options
[
"
t
"
];
var
right
=
options
[
"
r
"
];
...
...
@@ -4708,14 +4708,14 @@ function OfflineEditor () {
var
objectRender
=
ws
.
objectRender
;
var
objectId
=
null
;
var
current
=
{
pos
:
0
};
var
settings
=
asc_menu_ReadChartPr
(
options
[
"
chart
"
],
current
);
var
left
=
options
[
"
l
"
];
var
top
=
options
[
"
t
"
];
var
right
=
options
[
"
r
"
];
var
bottom
=
options
[
"
b
"
];
var
selectedRange
=
ws
.
getSelectedRange
();
if
(
selectedRange
)
{
...
...
@@ -4875,9 +4875,6 @@ function OfflineEditor () {
var
styleThumbnailWidth
=
Math
.
floor
(
92.0
*
pxToMM
);
var
styleThumbnailHeight
=
Math
.
floor
(
48.0
*
pxToMM
);
AscCommonExcel
.
WorkbookView
.
prototype
=
Object
.
create
(
AscCommonExcel
.
WorkbookView
.
prototype
);
AscCommonExcel
.
WorkbookView
.
prototype
.
constructor
=
AscCommonExcel
.
WorkbookView
;
AscCommonExcel
.
WorkbookView
.
prototype
.
af_getTablePictures
=
function
(
wb
,
fmgrGraphics
,
oFont
,
props
)
{
window
[
"
native
"
][
"
SetStylesType
"
](
1
);
...
...
@@ -4921,7 +4918,7 @@ function OfflineEditor () {
var
ctx
=
new
Asc
.
DrawingContext
({
canvas
:
canvas
,
units
:
0
/*pt*/
,
fmgrGraphics
:
fmgrGraphics
,
font
:
oFont
});
var
styleOptions
=
style
;
var
styleInfo
;
if
(
props
)
{
styleInfo
=
{
...
...
@@ -4942,7 +4939,7 @@ function OfflineEditor () {
TotalsRowCount
:
false
};
}
var
xSize
=
styleThumbnailWidth
*
pxToMM
;
//61 * pxToMM;
var
ySize
=
styleThumbnailHeight
*
pxToMM
;
//45 * pxToMM;
...
...
@@ -4958,7 +4955,7 @@ function OfflineEditor () {
}
else
{
defaultColorBackground
=
whiteColor
;
}
var
color
;
if
(
styleOptions
!=
undefined
)
{
if
(
styleOptions
.
wholeTable
&&
styleOptions
.
wholeTable
.
dxf
.
fill
&&
null
!=
styleOptions
.
wholeTable
.
dxf
.
fill
.
bg
)
{
...
...
@@ -4993,16 +4990,16 @@ function OfflineEditor () {
ctx
.
fillRect
(
k
*
stepX
,
0
,
stepX
,
ySize
);
}
}
if
(
styleInfo
.
ShowRowStripes
)
//row stripes
{
for
(
var
k
=
0
;
k
<
6
;
k
++
)
{
color
=
null
;
if
(
k
==
0
&&
styleInfo
.
HeaderRowCount
)
{
continue
;
}
if
(
styleInfo
.
HeaderRowCount
)
{
if
(
k
%
2
!=
0
)
{
if
(
styleOptions
.
firstRowStripe
&&
styleOptions
.
firstRowStripe
.
dxf
.
fill
&&
...
...
@@ -5028,14 +5025,14 @@ function OfflineEditor () {
}
}
}
if
(
color
!=
null
)
{
ctx
.
setFillStyle
(
color
);
ctx
.
fillRect
(
0
,
k
*
stepY
,
xSize
,
stepY
);
}
}
}
if
(
styleInfo
.
ShowFirstColumn
&&
styleOptions
.
firstColumn
)
//first column
{
color
=
null
;
...
...
@@ -5043,7 +5040,7 @@ function OfflineEditor () {
null
!=
styleOptions
.
firstColumn
.
dxf
.
fill
.
bg
)
{
color
=
styleOptions
.
firstColumn
.
dxf
.
fill
.
bg
;
}
if
(
color
!=
null
)
{
ctx
.
setFillStyle
(
color
);
ctx
.
fillRect
(
0
,
0
,
stepX
,
ySize
);
...
...
@@ -5056,12 +5053,12 @@ function OfflineEditor () {
null
!=
styleOptions
.
lastColumn
.
dxf
.
fill
.
bg
)
{
color
=
styleOptions
.
lastColumn
.
dxf
.
fill
.
bg
;
}
if
(
color
!=
null
)
{
ctx
.
setFillStyle
(
color
);
ctx
.
fillRect
(
4
*
stepX
+
1
,
0
,
stepX
,
ySize
);
}
}
if
(
styleInfo
.
HeaderRowCount
)
//header row
{
...
...
@@ -5071,7 +5068,7 @@ function OfflineEditor () {
ctx
.
setFillStyle
(
defaultColorBackground
);
}
ctx
.
fillRect
(
0
,
0
,
xSize
,
stepY
);
}
if
(
styleInfo
.
TotalsRowCount
)
//total row
{
...
...
@@ -5079,14 +5076,14 @@ function OfflineEditor () {
if
(
styleOptions
.
totalRow
&&
styleOptions
.
totalRow
.
dxf
.
fill
&&
null
!=
styleOptions
.
totalRow
.
dxf
.
fill
.
bg
)
{
color
=
styleOptions
.
totalRow
.
dxf
.
fill
.
bg
;
}
if
(
color
!==
null
)
{
ctx
.
setFillStyle
(
color
);
ctx
.
fillRect
(
0
,
stepY
*
4
,
xSize
,
stepY
);
}
}
//первая ячейка
if
(
styleOptions
.
firstHeaderCell
&&
styleInfo
.
ShowFirstColumn
)
{
if
(
styleOptions
.
firstHeaderCell
&&
styleOptions
.
firstHeaderCell
.
dxf
.
fill
&&
...
...
@@ -5127,12 +5124,12 @@ function OfflineEditor () {
}
ctx
.
fillRect
(
4
*
stepX
,
4
*
stepY
,
stepX
,
ySize
);
}
}
else
{
ctx
.
setFillStyle
(
whiteColor
);
ctx
.
fillRect
(
0
,
0
,
xSize
,
ySize
);
}
//**draw vertical and horizontal lines**
if
(
styleOptions
!=
undefined
)
{
...
...
@@ -5195,7 +5192,7 @@ function OfflineEditor () {
}
else
if
(
styleOptions
.
secondRowStripe
&&
styleOptions
.
secondRowStripe
.
dxf
.
border
)
{
border
=
styleOptions
.
secondRowStripe
.
dxf
.
border
;
}
if
(
border
)
{
for
(
n
=
1
;
n
<
5
;
n
++
)
{
ctx
.
lineHor
(
0
,
stepY
*
n
,
xSize
);
...
...
@@ -5225,7 +5222,7 @@ function OfflineEditor () {
}
ctx
.
closePath
();
}
//**draw marks line**
var
defaultColor
;
if
(
!
styleOptions
||
!
styleOptions
.
wholeTable
||
!
styleOptions
.
wholeTable
.
dxf
.
font
)
{
...
...
@@ -5278,15 +5275,15 @@ function OfflineEditor () {
AscCommon
.
ChartPreviewManager
.
prototype
.
clearPreviews
=
function
()
{
window
[
"
native
"
][
"
ClearCacheChartStyles
"
]();};
AscCommon
.
ChartPreviewManager
.
prototype
.
createChartPreview
=
function
(
_graphics
,
type
,
styleIndex
)
{
return
AscFormat
.
ExecuteNoHistory
(
function
(){
if
(
!
this
.
chartsByTypes
[
type
])
this
.
chartsByTypes
[
type
]
=
this
.
getChartByType
(
type
);
var
chart_space
=
this
.
chartsByTypes
[
type
];
AscFormat
.
ApplyPresetToChartSpace
(
chart_space
,
AscCommon
.
g_oChartPresets
[
type
][
styleIndex
]);
chart_space
.
recalcInfo
.
recalculateReferences
=
false
;
chart_space
.
recalculate
();
var
_width_px
=
this
.
CHART_PREVIEW_WIDTH_PIX
;
var
_height_px
=
this
.
CHART_PREVIEW_HEIGHT_PIX
;
if
(
AscCommon
.
AscBrowser
.
isRetina
)
...
...
@@ -5294,32 +5291,32 @@ function OfflineEditor () {
_width_px
<<=
1
;
_height_px
<<=
1
;
}
window
[
"
native
"
][
"
BeginDrawDefaultStyle
"
](
type
+
''
,
styleIndex
);
var
dKoefToMM
=
AscCommon
.
g_dKoef_pix_to_mm
;
if
(
this
.
IsRetinaEnabled
)
dKoefToMM
/=
2
;
chart_space
.
draw
(
_graphics
);
_graphics
.
ClearParams
();
window
[
"
native
"
][
"
EndDrawStyle
"
]();
},
this
,
[]);
};
AscCommon
.
ChartPreviewManager
.
prototype
.
getChartPreviews
=
function
(
chartType
)
{
if
(
AscFormat
.
isRealNumber
(
chartType
))
{
var
bIsCached
=
window
[
"
native
"
][
"
IsCachedChartStyles
"
](
chartType
);
if
(
!
bIsCached
)
{
window
[
"
native
"
][
"
SetStylesType
"
](
2
);
var
_graphics
=
new
CDrawingStream
();
if
(
AscCommon
.
g_oChartPresets
[
chartType
]){
var
nStylesCount
=
AscCommon
.
g_oChartPresets
[
chartType
].
length
;
for
(
var
i
=
0
;
i
<
nStylesCount
;
++
i
)
...
...
@@ -5353,12 +5350,12 @@ window["native"]["offline_of"] = function(arg) {_s.openFile(arg);}
window
[
"
native
"
][
"
offline_stz
"
]
=
function
(
v
)
{
_s
.
zoom
=
v
;
_api
.
asc_setZoom
(
v
);}
window
[
"
native
"
][
"
offline_ds
"
]
=
function
(
x
,
y
,
width
,
height
,
ratio
,
istoplayer
)
{
AscCommon
.
g_oTextMeasurer
.
Flush
();
_s
.
drawSheet
(
x
,
y
,
width
,
height
,
ratio
,
istoplayer
);
}
window
[
"
native
"
][
"
offline_dh
"
]
=
function
(
x
,
y
,
width
,
height
,
ratio
,
type
)
{
AscCommon
.
g_oTextMeasurer
.
Flush
();
_s
.
drawHeader
(
x
,
y
,
width
,
height
,
type
,
ratio
);
}
...
...
@@ -5434,7 +5431,7 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor
_s
.
cellPin
=
pin
;
_s
.
isFormulaEditMode
=
isFormulaEditMode
;
var
ct
=
ws
.
getCursorTypeFromXY
(
x
,
y
,
isViewerMode
);
if
(
ct
.
target
&&
ct
.
target
===
AscCommonExcel
.
c_oTargetType
.
FilterObject
)
{
ws
.
af_setDialogProp
(
ct
.
idFilter
);
...
...
@@ -5445,7 +5442,7 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor
if
(
isRangeResize
)
{
if
(
!
isViewerMode
)
{
var
ct
=
ws
.
getCursorTypeFromXY
(
x
,
y
,
isViewerMode
);
ws
.
startCellMoveResizeRange
=
null
;
...
...
@@ -5466,12 +5463,12 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor
}
else
{
if
(
0
!=
_s
.
cellPin
)
{
var
selection
=
ws
.
_getSelection
();
var
lastRange
=
selection
.
getLast
();
ws
.
leftTopRange
=
lastRange
.
clone
();
}
else
{
var
ret
=
false
;
...
...
@@ -5742,80 +5739,80 @@ window["native"]["offline_cell_editor_draw"] = function(width, height, ratio) {
window
[
"
native
"
][
"
offline_cell_editor_open
"
]
=
function
(
x
,
y
,
width
,
height
,
ratio
,
isSelectAll
,
isFormulaInsertMode
,
c1
,
r1
,
c2
,
r2
)
{
_null_object
.
width
=
width
*
ratio
;
_null_object
.
height
=
height
*
ratio
;
var
wb
=
_api
.
wb
;
var
ws
=
_api
.
wb
.
getWorksheet
();
var
range
=
ws
.
visibleRange
.
clone
();
ws
.
visibleRange
.
c1
=
c1
;
ws
.
visibleRange
.
r1
=
r1
;
ws
.
visibleRange
.
c2
=
c2
;
ws
.
visibleRange
.
r2
=
r2
;
wb
.
cellEditor
.
isSelectAll
=
isSelectAll
;
if
(
!
isFormulaInsertMode
)
{
var
isFocus
=
undefined
,
isClearCell
=
undefined
,
isHideCursor
=
true
,
isQuickInput
=
false
;
var
t
=
wb
;
var
ws
=
t
.
getWorksheet
();
var
activeCellRange
=
ws
.
getActiveCell
(
0
,
0
,
false
);
var
selectionRange
=
ws
.
model
.
selectionRange
.
clone
();
t
.
setCellEditMode
(
true
);
ws
.
setCellEditMode
(
true
);
ws
.
openCellEditor
(
t
.
cellEditor
,
/*fragments*/
undefined
,
/*cursorPos*/
undefined
,
isFocus
,
isClearCell
,
/*isHideCursor*/
isHideCursor
,
/*isQuickInput*/
isQuickInput
,
selectionRange
);
//t.input.disabled = false;
t
.
handlers
.
trigger
(
"
asc_onEditCell
"
,
Asc
.
c_oAscCellEditorState
.
editStart
);
// Эвент на обновление состояния редактора
t
.
cellEditor
.
_updateEditorState
();
}
ws
.
visibleRange
=
range
;
}
window
[
"
native
"
][
"
offline_cell_editor_test_cells
"
]
=
function
(
x
,
y
,
width
,
height
,
ratio
,
isSelectAll
,
isFormulaInsertMode
,
c1
,
r1
,
c2
,
r2
)
{
_null_object
.
width
=
width
*
ratio
;
_null_object
.
height
=
height
*
ratio
;
var
wb
=
_api
.
wb
;
var
ws
=
_api
.
wb
.
getWorksheet
();
var
range
=
ws
.
visibleRange
.
clone
();
ws
.
visibleRange
.
c1
=
c1
;
ws
.
visibleRange
.
r1
=
r1
;
ws
.
visibleRange
.
c2
=
c2
;
ws
.
visibleRange
.
r2
=
r2
;
wb
.
cellEditor
.
isSelectAll
=
isSelectAll
;
var
editFunction
=
function
()
{
window
[
"
native
"
][
"
openCellEditor
"
]();
};
var
editLockCallback
=
function
(
res
)
{
if
(
!
res
)
{
window
[
"
native
"
][
"
closeCellEditor
"
]();
//t.setCellEditMode(false);
//t.controller.setStrictClose(false);
//t.controller.setFormulaEditMode(false);
//ws.setCellEditMode(false);
//ws.setFormulaEditMode(false);
//t.input.disabled = true;
// Выключаем lock для редактирования ячейки
wb
.
collaborativeEditing
.
onStopEditCell
();
//t.cellEditor.close(false);
wb
.
_onWSSelectionChanged
();
}
};
// Стартуем редактировать ячейку
wb
.
collaborativeEditing
.
onStartEditCell
();
if
(
ws
.
_isLockedCells
(
ws
.
getActiveCell
(
0
,
0
,
false
),
/*subType*/
null
,
editLockCallback
))
{
...
...
@@ -5826,20 +5823,20 @@ window["native"]["offline_cell_editor_test_cells"] = function(x, y, width, heigh
}
window
[
"
native
"
][
"
offline_cell_editor_process_input_commands
"
]
=
function
(
sendArguments
)
{
_null_object
.
width
=
width
*
ratio
;
_null_object
.
height
=
height
*
ratio
;
var
wb
=
_api
.
wb
;
var
cellEditor
=
_api
.
wb
.
cellEditor
;
var
operationCode
,
left
,
right
,
position
,
value
,
value2
;
var
width
=
sendArguments
[
0
];
var
height
=
sendArguments
[
1
];
var
ratio
=
sendArguments
[
2
];
for
(
var
i
=
3
;
i
<
sendArguments
.
length
;
i
+=
4
)
{
operationCode
=
sendArguments
[
i
+
0
];
value
=
sendArguments
[
i
+
1
];
value2
=
sendArguments
[
i
+
2
];
...
...
@@ -5847,7 +5844,7 @@ window["native"]["offline_cell_editor_process_input_commands"] = function(sendAr
var
event
=
{
which
:
value
,
metaKey
:
undefined
,
ctrlKey
:
undefined
};
event
.
stopPropagation
=
function
()
{};
event
.
preventDefault
=
function
()
{};
switch
(
operationCode
)
{
// KEY_DOWN
...
...
@@ -6010,11 +6007,11 @@ window["native"]["offline_cell_editor_mouse_event"] = function(sendEvents) {
}
window
[
"
native
"
][
"
offline_cell_editor_close
"
]
=
function
(
x
,
y
,
width
,
height
,
ratio
)
{
var
e
=
{
which
:
13
,
shiftKey
:
false
,
metaKey
:
false
,
ctrlKey
:
false
};
var
wb
=
_api
.
wb
;
var
ws
=
_api
.
wb
.
getWorksheet
();
var
cellEditor
=
wb
.
cellEditor
;
// TODO: SHOW POPUP
var
length
=
cellEditor
.
undoList
.
length
;
...
...
@@ -6118,7 +6115,7 @@ window["native"]["offline_insertFormula"] = function(functionName, autoComplete,
}
var
arn
=
ws
.
model
.
selectionRange
.
clone
();
var
openEditor
=
function
(
res
)
{
if
(
res
)
{
// Выставляем переменные, что мы редактируем
...
...
@@ -6159,56 +6156,56 @@ window["native"]["offline_insertFormula"] = function(functionName, autoComplete,
window
[
"
native
"
][
"
offline_copy
"
]
=
function
()
{
var
worksheet
=
_api
.
wb
.
getWorksheet
();
var
sBase64
=
{};
var
dataBuffer
=
{};
if
(
_api
.
wb
.
cellEditor
.
isOpened
)
{
var
v
=
_api
.
wb
.
cellEditor
.
copySelection
();
if
(
v
)
{
dataBuffer
.
text
=
_api
.
wb
.
cellEditor
.
_getFragmentsText
(
v
);
}
}
else
{
var
clipboard
=
{};
clipboard
.
pushData
=
function
(
type
,
data
)
{
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Text
===
type
)
{
dataBuffer
.
text
=
data
;
}
else
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
===
type
)
{
if
(
null
!=
data
.
drawingUrls
&&
data
.
drawingUrls
.
length
>
0
)
{
dataBuffer
.
drawingUrls
=
data
.
drawingUrls
[
0
];
}
dataBuffer
.
sBase64
=
data
.
sBase64
;
}
}
_api
.
asc_CheckCopy
(
clipboard
,
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
|
AscCommon
.
c_oAscClipboardDataFormat
.
Text
);
}
var
_stream
=
global_memory_stream_menu
;
_stream
[
"
ClearNoAttack
"
]();
if
(
dataBuffer
.
text
)
{
_stream
[
"
WriteByte
"
](
0
);
_stream
[
"
WriteString2
"
](
dataBuffer
.
text
);
}
if
(
dataBuffer
.
drawingUrls
)
{
_stream
[
"
WriteByte
"
](
1
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
drawingUrls
);
}
if
(
dataBuffer
.
sBase64
)
{
_stream
[
"
WriteByte
"
](
2
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
sBase64
);
}
_stream
[
"
WriteByte
"
](
255
);
return
_stream
;
}
window
[
"
native
"
][
"
offline_paste
"
]
=
function
(
params
)
{
...
...
@@ -6230,60 +6227,60 @@ window["native"]["offline_paste"] = function(params) {
}
window
[
"
native
"
][
"
offline_cut
"
]
=
function
()
{
var
worksheet
=
_api
.
wb
.
getWorksheet
();
var
dataBuffer
=
{};
if
(
_api
.
wb
.
cellEditor
.
isOpened
)
{
var
v
=
_api
.
wb
.
cellEditor
.
copySelection
();
if
(
v
)
{
dataBuffer
.
text
=
_api
.
wb
.
cellEditor
.
_getFragmentsText
(
v
);
_api
.
wb
.
cellEditor
.
cutSelection
();
}
}
else
{
var
clipboard
=
{};
clipboard
.
pushData
=
function
(
type
,
data
)
{
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Text
===
type
)
{
dataBuffer
.
text
=
data
;
}
else
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
===
type
)
{
if
(
null
!=
data
.
drawingUrls
&&
data
.
drawingUrls
.
length
>
0
)
{
dataBuffer
.
drawingUrls
=
data
.
drawingUrls
[
0
];
}
dataBuffer
.
sBase64
=
data
.
sBase64
;
}
}
_api
.
asc_CheckCopy
(
clipboard
,
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
|
AscCommon
.
c_oAscClipboardDataFormat
.
Text
);
worksheet
.
emptySelection
(
Asc
.
c_oAscCleanOptions
.
All
);
}
var
_stream
=
global_memory_stream_menu
;
_stream
[
"
ClearNoAttack
"
]();
if
(
dataBuffer
.
text
)
{
_stream
[
"
WriteByte
"
](
0
);
_stream
[
"
WriteString2
"
](
dataBuffer
.
text
);
}
if
(
dataBuffer
.
drawingUrls
)
{
_stream
[
"
WriteByte
"
](
1
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
drawingUrls
);
}
if
(
dataBuffer
.
sBase64
)
{
_stream
[
"
WriteByte
"
](
2
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
sBase64
);
}
_stream
[
"
WriteByte
"
](
255
);
return
_stream
;
}
window
[
"
native
"
][
"
offline_delete
"
]
=
function
()
{
...
...
@@ -6551,7 +6548,7 @@ window["native"]["offline_apply_event"] = function(type,params) {
}
break
;
}
case
12
:
// ASC_MENU_EVENT_TYPE_TABLESTYLES
{
var
props
=
asc_ReadFormatTableInfo
(
params
,
_current
);
...
...
@@ -7097,7 +7094,7 @@ window["native"]["offline_apply_event"] = function(type,params) {
_api
.
asc_endFindText
();
break
;
}
case
2405
:
// ASC_SPREADSHEETS_EVENT_TYPE_CELL_STYLES
{
_api
.
wb
.
getCellStyles
();
...
...
@@ -7124,16 +7121,16 @@ window["native"]["offline_apply_event"] = function(type,params) {
case
3010
:
// ASC_SPREADSHEETS_EVENT_TYPE_AUTO_FILTER_CHANGE
{
var
changeFilter
=
asc_ReadAutoFilter
(
params
,
_current
);
if
(
changeFilter
&&
'
FALSE
'
===
changeFilter
.
styleName
)
{
changeFilter
.
styleName
=
false
;
}
_api
.
asc_changeAutoFilter
(
changeFilter
.
tableName
,
changeFilter
.
optionType
,
changeFilter
.
styleName
);
_api
.
wb
.
getWorksheet
().
handlers
.
trigger
(
'
selectionChanged
'
);
break
;
}
case
3020
:
// ASC_SPREADSHEETS_EVENT_TYPE_AUTO_FILTER_APPLY
{
var
autoFilter
=
asc_ReadAutoFiltersOptions
(
params
,
_current
);
...
...
@@ -7304,14 +7301,14 @@ window["native"]["offline_apply_event"] = function(type,params) {
_return
=
_stream
;
break
;
}
case
7005
:
// ASC_SPREADSHEETS_EVENT_TYPE_GET_CHART_SETTINGS
{
var
chartSettings
=
_api
.
asc_getChartObject
();
if
(
chartSettings
)
{
_stream
=
global_memory_stream_menu
;
_stream
[
"
ClearNoAttack
"
]();
asc_menu_WriteChartPr
(
12
,
chartSettings
,
_stream
);
_return
=
_stream
;
}
...
...
@@ -7339,31 +7336,31 @@ window["native"]["offline_apply_event"] = function(type,params) {
ws
.
changeRowHeight
(
toRow
,
height
,
0
);
break
;
}
case
10000
:
// ASC_SOCKET_EVENT_TYPE_OPEN
{
var
t
=
_api
.
CoAuthoringApi
.
_CoAuthoringApi
;
t
.
_state
=
AscCommon
.
ConnectionState
.
WaitAuth
;
t
.
onFirstConnect
();
break
;
}
case
10010
:
// ASC_SOCKET_EVENT_TYPE_ON_CLOSE
{
break
;
}
case
10020
:
// ASC_SOCKET_EVENT_TYPE_MESSAGE
{
var
t
=
_api
.
CoAuthoringApi
.
_CoAuthoringApi
;
var
dataObject
=
JSON
.
parse
(
params
);
// console.log("JS - " + dataObject['type']);
switch
(
dataObject
[
'
type
'
])
{
case
'
auth
'
:
t
.
_onAuth
(
dataObject
);
...
...
@@ -7419,15 +7416,15 @@ window["native"]["offline_apply_event"] = function(type,params) {
t
.
_onSession
(
dataObject
);
break
;
}
break
;
}
case
11010
:
// ASC_SOCKET_EVENT_TYPE_ON_DISCONNECT
{
break
;
}
case
11020
:
// ASC_SOCKET_EVENT_TYPE_TRY_RECONNECT
{
var
t
=
_api
.
CoAuthoringApi
.
_CoAuthoringApi
;
...
...
@@ -7435,7 +7432,7 @@ window["native"]["offline_apply_event"] = function(type,params) {
t
.
_initSocksJs
();
break
;
}
case
21000
:
// ASC_COAUTH_EVENT_TYPE_INSERT_URL_IMAGE
{
var
urls
=
JSON
.
parse
(
params
[
0
]);
...
...
@@ -7450,10 +7447,10 @@ window["native"]["offline_apply_event"] = function(type,params) {
params
[
0
]
=
firstUrl
;
_return
=
_s
.
offline_addImageDrawingObject
(
params
);
break
;
}
default
:
break
;
}
...
...
@@ -7462,25 +7459,25 @@ window["native"]["offline_apply_event"] = function(type,params) {
}
function
testLockedObjects
()
{
var
ws
=
_api
.
wb
.
getWorksheet
();
var
objectRender
=
ws
.
objectRender
;
var
aObjects
=
ws
.
model
.
Drawings
;
var
overlay
=
objectRender
.
getDrawingCanvas
().
autoShapeTrack
;
if
(
!
overlay
)
return
;
overlay
.
Native
[
"
PD_DrawLockedObjectsBegin
"
]();
for
(
var
i
=
0
;
i
<
aObjects
.
length
;
i
++
)
{
var
drawingObject
=
aObjects
[
i
];
if
(
drawingObject
.
isGraphicObject
())
{
var
drawingArea
=
objectRender
.
drawingArea
;
objectRender
.
drawingArea
.
reinitRanges
();
for
(
var
j
=
0
;
j
<
drawingArea
.
frozenPlaces
.
length
;
++
j
)
{
if
(
drawingArea
.
frozenPlaces
[
j
].
isObjectInside
(
drawingObject
))
{
...
...
@@ -7493,41 +7490,41 @@ function testLockedObjects () {
}
}
}
if
(
ws
.
collaborativeEditing
.
getCollaborativeEditing
()
)
{
ws
.
_drawCollaborativeElementsMeOther
(
AscCommon
.
c_oAscLockTypes
.
kLockTypeMine
,
overlay
);
ws
.
_drawCollaborativeElementsMeOther
(
AscCommon
.
c_oAscLockTypes
.
kLockTypeOther
,
overlay
);
ws
.
_drawCollaborativeElementsAllLock
(
overlay
);
}
overlay
.
Native
[
"
PD_DrawLockedObjectsEnd
"
]();
}
window
[
"
AscCommonExcel
"
].
WorksheetView
.
prototype
.
_drawCollaborativeElementsMeOther
=
function
(
type
,
overlay
)
{
var
currentSheetId
=
this
.
model
.
getId
(),
i
,
strokeColor
,
arrayCells
,
oCellTmp
;
if
(
!
currentSheetId
)
return
;
if
(
AscCommon
.
c_oAscLockTypes
.
kLockTypeMine
===
type
)
{
strokeColor
=
AscCommonExcel
.
c_oAscCoAuthoringMeBorderColor
;
arrayCells
=
this
.
collaborativeEditing
.
getLockCellsMe
(
currentSheetId
);
arrayCells
=
arrayCells
.
concat
(
this
.
collaborativeEditing
.
getArrayInsertColumnsBySheetId
(
currentSheetId
));
arrayCells
=
arrayCells
.
concat
(
this
.
collaborativeEditing
.
getArrayInsertRowsBySheetId
(
currentSheetId
));
}
else
{
strokeColor
=
AscCommonExcel
.
c_oAscCoAuthoringOtherBorderColor
;
arrayCells
=
this
.
collaborativeEditing
.
getLockCellsOther
(
currentSheetId
);
}
var
sheetId
=
this
.
model
.
getId
();
if
(
!
sheetId
)
return
;
for
(
i
=
0
;
i
<
arrayCells
.
length
;
++
i
)
{
var
left
=
this
.
cols
[
arrayCells
[
i
].
c1
].
left
,
top
=
this
.
rows
[
arrayCells
[
i
].
r1
].
top
;
var
userId
=
""
;
if
(
AscCommon
.
c_oAscLockTypes
.
kLockTypeMine
!==
type
)
{
var
lockInfo
=
this
.
collaborativeEditing
.
getLockInfo
(
AscCommonExcel
.
c_oAscLockTypeElem
.
Range
,
...
...
@@ -7539,7 +7536,7 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsMeOth
userId
=
isLocked
.
UserId
;
}
}
overlay
.
Native
[
"
PD_DrawLockCell
"
](
arrayCells
[
i
].
c1
,
arrayCells
[
i
].
r1
,
Math
.
min
(
arrayCells
[
i
].
c2
,
this
.
cols
.
length
-
1
),
...
...
@@ -7560,19 +7557,19 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsAllLo
var
currentSheetId
=
this
.
model
.
getId
();
if
(
!
currentSheetId
)
return
;
var
nLockAllType
=
this
.
collaborativeEditing
.
isLockAllOther
(
currentSheetId
);
if
(
Asc
.
c_oAscMouseMoveLockedObjectType
.
None
!==
nLockAllType
)
{
var
isAllRange
=
true
,
strokeColor
=
(
Asc
.
c_oAscMouseMoveLockedObjectType
.
TableProperties
===
nLockAllType
)
?
AscCommonExcel
.
c_oAscCoAuthoringLockTablePropertiesBorderColor
:
AscCommonExcel
.
c_oAscCoAuthoringOtherBorderColor
,
oAllRange
=
new
window
[
"
Asc
"
].
Range
(
0
,
0
,
AscCommon
.
gc_nMaxCol0
,
AscCommon
.
gc_nMaxRow0
);
var
left
=
this
.
cols
[
oAllRange
.
c1
].
left
,
top
=
this
.
rows
[
oAllRange
.
r1
].
top
;
var
sheetId
=
this
.
model
.
getId
();
if
(
!
sheetId
)
return
;
var
userId
=
""
;
var
lockInfo
=
this
.
collaborativeEditing
.
getLockInfo
(
AscCommonExcel
.
c_oAscLockTypeElem
.
Range
,
null
,
...
...
@@ -7582,7 +7579,7 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsAllLo
if
(
false
!==
isLocked
)
{
userId
=
isLocked
.
UserId
;
}
overlay
.
Native
[
"
PD_DrawLockCell
"
](
oAllRange
.
c1
,
oAllRange
.
r1
,
Math
.
min
(
oAllRange
.
c2
,
this
.
cols
.
length
-
1
),
...
...
@@ -7610,25 +7607,25 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElements = fu
window
[
"
Asc
"
][
"
spreadsheet_api
"
].
prototype
.
openDocument
=
function
(
sData
)
{
var
t
=
this
;
setTimeout
(
function
()
{
//console.log("JS - openDocument()");
t
.
wbModel
=
t
.
_openDocument
(
sData
);
t
.
wb
=
new
AscCommonExcel
.
WorkbookView
(
t
.
wbModel
,
t
.
controller
,
t
.
handlers
,
window
[
"
_null_object
"
],
window
[
"
_null_object
"
],
t
,
t
.
collaborativeEditing
,
t
.
fontRenderingMode
);
t
.
DocumentLoadComplete
=
true
;
t
.
asc_CheckGuiControlColors
();
t
.
sendColorThemes
(
_api
.
wbModel
.
theme
);
t
.
asc_ApplyColorScheme
(
false
);
t
.
sendStandartTextures
();
//console.log("JS - applyFirstLoadChanges() before");
// Применяем пришедшие при открытии изменения
t
.
_applyFirstLoadChanges
();
// Применяем все lock-и (ToDo возможно стоит пересмотреть вообще Lock-и)
...
...
@@ -7636,52 +7633,52 @@ window["Asc"]["spreadsheet_api"].prototype.openDocument = function(sData) {
t
.
arrPreOpenLocksObjects
[
i
]();
}
t
.
arrPreOpenLocksObjects
=
[];
// Меняем тип состояния (на никакое)
t
.
advancedOptionsAction
=
AscCommon
.
c_oAscAdvancedOptionsAction
.
None
// Были ошибки при открытии, посылаем предупреждение
if
(
0
<
t
.
wbModel
.
openErrors
.
length
)
{
t
.
sendEvent
(
'
asc_onError
'
,
c_oAscError
.
ID
.
OpenWarning
,
c_oAscError
.
Level
.
NoCritical
);
}
//console.log("JS - applyFirstLoadChanges() after");
setTimeout
(
function
()
{
t
.
wb
.
showWorksheet
(
undefined
,
false
,
true
);
//console.log("JS - showWorksheet()");
var
ws
=
t
.
wb
.
getWorksheet
();
//console.log("JS - getWorksheet()");
window
[
"
native
"
][
"
onEndLoadingFile
"
](
ws
.
headersWidth
,
ws
.
headersHeight
);
//console.log("JS - onEndLoadingFile()");
_s
.
asc_WriteAllWorksheets
(
true
);
setInterval
(
function
()
{
_api
.
_autoSave
();
testLockedObjects
();
},
100
);
//console.log("JS - openDocument()");
},
5
);
},
5
);
};
window
[
"
AscCommon
"
].
getFullImageSrc2
=
function
(
src
)
{
var
start
=
src
.
slice
(
0
,
6
);
if
(
0
===
start
.
indexOf
(
'
theme
'
)
&&
editor
.
ThemeLoader
){
return
editor
.
ThemeLoader
.
ThemesUrlAbs
+
src
;
}
if
(
0
!==
start
.
indexOf
(
'
http:
'
)
&&
0
!==
start
.
indexOf
(
'
data:
'
)
&&
0
!==
start
.
indexOf
(
'
https:
'
)
&&
0
!==
start
.
indexOf
(
'
file:
'
)
&&
0
!==
start
.
indexOf
(
'
ftp:
'
)){
var
srcFull
=
AscCommon
.
g_oDocumentUrls
.
getImageUrl
(
src
);
...
...
@@ -7692,4 +7689,3 @@ window["AscCommon"].getFullImageSrc2 = function (src) {
}
return
src
;
}
common/Native/Wrappers/api.js
View file @
dee457c5
...
...
@@ -1755,20 +1755,20 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params)
case
21
:
{
var
bIsNeed
=
_params
[
_current
.
pos
++
];
if
(
bIsNeed
)
{
var
currImage
=
this
.
WordControl
.
m_oLogicDocument
.
DrawingObjects
.
Get_Props
();
if
(
currImage
&&
currImage
.
length
)
{
var
_originSize
=
this
.
WordControl
.
m_oDrawingDocument
.
Native
[
"
DD_GetOriginalImageSize
"
](
currImage
[
0
].
ImageUrl
);
var
_w
=
_originSize
[
0
];
var
_h
=
_originSize
[
1
];
// сбрасываем урл
_imagePr
.
ImageUrl
=
undefined
;
var
_section_select
=
this
.
WordControl
.
m_oLogicDocument
.
Get_PageSizesByDrawingObjects
();
var
_page_width
=
AscCommon
.
Page_Width
;
var
_page_height
=
AscCommon
.
Page_Height
;
...
...
@@ -1776,25 +1776,25 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params)
var
_page_y_top_margin
=
AscCommon
.
Y_Top_Margin
;
var
_page_x_right_margin
=
AscCommon
.
X_Right_Margin
;
var
_page_y_bottom_margin
=
AscCommon
.
Y_Bottom_Margin
;
if
(
_section_select
)
{
if
(
_section_select
.
W
)
_page_width
=
_section_select
.
W
;
if
(
_section_select
.
H
)
_page_height
=
_section_select
.
H
;
}
var
__w
=
Math
.
max
(
1
,
_page_width
-
(
_page_x_left_margin
+
_page_x_right_margin
));
var
__h
=
Math
.
max
(
1
,
_page_height
-
(
_page_y_top_margin
+
_page_y_bottom_margin
));
var
wI
=
(
undefined
!==
_w
)
?
Math
.
max
(
_w
*
AscCommon
.
g_dKoef_pix_to_mm
,
1
)
:
1
;
var
hI
=
(
undefined
!==
_h
)
?
Math
.
max
(
_h
*
AscCommon
.
g_dKoef_pix_to_mm
,
1
)
:
1
;
wI
=
Math
.
max
(
5
,
Math
.
min
(
wI
,
__w
));
hI
=
Math
.
max
(
5
,
Math
.
min
(
hI
,
__h
));
_imagePr
.
Width
=
wI
;
_imagePr
.
Height
=
hI
;
}
...
...
@@ -2172,6 +2172,121 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params)
break
;
}
case
10000
:
// ASC_SOCKET_EVENT_TYPE_OPEN
{
var
t
=
_api
.
CoAuthoringApi
.
_CoAuthoringApi
;
t
.
_state
=
AscCommon
.
ConnectionState
.
WaitAuth
;
t
.
onFirstConnect
();
break
;
}
case
10010
:
// ASC_SOCKET_EVENT_TYPE_ON_CLOSE
{
break
;
}
case
10020
:
// ASC_SOCKET_EVENT_TYPE_MESSAGE
{
var
t
=
_api
.
CoAuthoringApi
.
_CoAuthoringApi
;
var
dataObject
=
JSON
.
parse
(
_params
);
// console.log("JS - " + dataObject['type']);
switch
(
dataObject
[
'
type
'
])
{
case
'
auth
'
:
t
.
_onAuth
(
dataObject
);
break
;
case
'
message
'
:
t
.
_onMessages
(
dataObject
,
false
);
break
;
case
'
cursor
'
:
t
.
_onCursor
(
dataObject
);
break
;
case
'
meta
'
:
t
.
_onMeta
(
dataObject
);
break
;
case
'
getLock
'
:
t
.
_onGetLock
(
dataObject
);
break
;
case
'
releaseLock
'
:
t
.
_onReleaseLock
(
dataObject
);
break
;
case
'
connectState
'
:
t
.
_onConnectionStateChanged
(
dataObject
);
break
;
case
'
saveChanges
'
:
t
.
_onSaveChanges
(
dataObject
);
break
;
case
'
saveLock
'
:
t
.
_onSaveLock
(
dataObject
);
break
;
case
'
unSaveLock
'
:
t
.
_onUnSaveLock
(
dataObject
);
break
;
case
'
savePartChanges
'
:
t
.
_onSavePartChanges
(
dataObject
);
break
;
case
'
drop
'
:
t
.
_onDrop
(
dataObject
);
break
;
case
'
waitAuth
'
:
/*Ждем, когда придет auth, документ залочен*/
break
;
case
'
error
'
:
/*Старая версия sdk*/
t
.
_onDrop
(
dataObject
);
break
;
case
'
documentOpen
'
:
t
.
_documentOpen
(
dataObject
);
break
;
case
'
warning
'
:
t
.
_onWarning
(
dataObject
);
break
;
case
'
license
'
:
t
.
_onLicense
(
dataObject
);
break
;
case
'
session
'
:
t
.
_onSession
(
dataObject
);
break
;
}
break
;
}
case
11010
:
// ASC_SOCKET_EVENT_TYPE_ON_DISCONNECT
{
break
;
}
case
11020
:
// ASC_SOCKET_EVENT_TYPE_TRY_RECONNECT
{
var
t
=
_api
.
CoAuthoringApi
.
_CoAuthoringApi
;
delete
t
.
sockjs
;
t
.
_initSocksJs
();
break
;
}
case
21000
:
// ASC_COAUTH_EVENT_TYPE_INSERT_URL_IMAGE
{
var
urls
=
JSON
.
parse
(
_params
[
0
]);
AscCommon
.
g_oDocumentUrls
.
addUrls
(
urls
);
var
firstUrl
;
for
(
var
i
in
urls
)
{
if
(
urls
.
hasOwnProperty
(
i
))
{
firstUrl
=
urls
[
i
];
break
;
}
}
params
[
0
]
=
firstUrl
;
// _return = _s.offline_addImageDrawingObject(params);
break
;
}
default
:
break
;
}
...
...
@@ -4213,6 +4328,41 @@ AscCommon.asc_WriteColorSchemes = asc_WriteColorSchemes;
///////////////////////////////////////////////////////////////////////
function
asc_WriteUsers
(
c
,
s
)
{
if
(
!
c
)
return
;
var
len
=
0
,
name
,
user
;
for
(
name
in
c
)
{
if
(
undefined
!==
name
)
{
len
++
;
}
}
s
[
"
WriteLong
"
](
len
);
for
(
name
in
c
)
{
if
(
undefined
!==
name
)
{
user
=
c
[
name
];
if
(
user
)
{
s
[
'
WriteString2
'
](
user
.
asc_getId
());
s
[
'
WriteString2
'
](
user
.
asc_getFirstName
()
===
undefined
?
""
:
user
.
asc_getFirstName
());
s
[
'
WriteString2
'
](
user
.
asc_getLastName
()
===
undefined
?
""
:
user
.
asc_getLastName
());
s
[
'
WriteString2
'
](
user
.
asc_getUserName
()
===
undefined
?
""
:
user
.
asc_getUserName
());
s
[
'
WriteBool
'
](
user
.
asc_getView
());
var
color
=
new
Asc
.
asc_CColor
();
color
.
r
=
(
user
.
color
>>
16
)
&
255
;
color
.
g
=
(
user
.
color
>>
8
)
&
255
;
color
.
b
=
(
user
.
color
)
&
255
;
asc_menu_WriteColor
(
0
,
color
,
s
);
}
}
}
}
///////////////////////////////////////////////////////////////////////
Asc
[
'
asc_docs_api
'
].
prototype
.
UpdateTextPr
=
function
(
TextPr
)
{
...
...
@@ -5359,61 +5509,61 @@ Asc['asc_docs_api'].prototype["Native_Editor_Initialize_Settings"] = function(_p
Asc
[
'
asc_docs_api
'
].
prototype
.
Call_Menu_Context_Copy
=
function
()
{
var
dataBuffer
=
{};
var
clipboard
=
{};
clipboard
.
pushData
=
function
(
type
,
data
)
{
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Text
===
type
)
{
dataBuffer
.
text
=
data
;
}
else
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
===
type
)
{
if
(
null
!=
data
.
drawingUrls
&&
data
.
drawingUrls
.
length
>
0
)
{
dataBuffer
.
drawingUrls
=
data
.
drawingUrls
[
0
];
}
dataBuffer
.
sBase64
=
data
.
sBase64
;
}
}
this
.
asc_CheckCopy
(
clipboard
,
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
|
AscCommon
.
c_oAscClipboardDataFormat
.
Text
);
var
_stream
=
global_memory_stream_menu
;
_stream
[
"
ClearNoAttack
"
]();
if
(
dataBuffer
.
text
)
{
_stream
[
"
WriteByte
"
](
0
);
_stream
[
"
WriteString2
"
](
dataBuffer
.
text
);
}
if
(
dataBuffer
.
drawingUrls
)
{
_stream
[
"
WriteByte
"
](
1
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
drawingUrls
);
}
if
(
dataBuffer
.
sBase64
)
{
_stream
[
"
WriteByte
"
](
2
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
sBase64
);
}
_stream
[
"
WriteByte
"
](
255
);
return
_stream
;
};
Asc
[
'
asc_docs_api
'
].
prototype
.
Call_Menu_Context_Cut
=
function
()
{
var
dataBuffer
=
{};
var
clipboard
=
{};
clipboard
.
pushData
=
function
(
type
,
data
)
{
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Text
===
type
)
{
dataBuffer
.
text
=
data
;
}
else
if
(
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
===
type
)
{
if
(
null
!=
data
.
drawingUrls
&&
data
.
drawingUrls
.
length
>
0
)
{
dataBuffer
.
drawingUrls
=
data
.
drawingUrls
[
0
];
}
...
...
@@ -5421,31 +5571,31 @@ Asc['asc_docs_api'].prototype.Call_Menu_Context_Cut = function()
dataBuffer
.
sBase64
=
data
.
sBase64
;
}
}
this
.
asc_CheckCopy
(
clipboard
,
AscCommon
.
c_oAscClipboardDataFormat
.
Internal
|
AscCommon
.
c_oAscClipboardDataFormat
.
Text
);
this
.
asc_SelectionCut
();
var
_stream
=
global_memory_stream_menu
;
_stream
[
"
ClearNoAttack
"
]();
if
(
dataBuffer
.
text
)
{
_stream
[
"
WriteByte
"
](
0
);
_stream
[
"
WriteString2
"
](
dataBuffer
.
text
);
}
if
(
dataBuffer
.
drawingUrls
)
{
_stream
[
"
WriteByte
"
](
1
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
drawingUrls
);
}
if
(
dataBuffer
.
sBase64
)
{
_stream
[
"
WriteByte
"
](
2
);
_stream
[
"
WriteStringA
"
](
dataBuffer
.
sBase64
);
}
_stream
[
"
WriteByte
"
](
255
);
return
_stream
;
};
Asc
[
'
asc_docs_api
'
].
prototype
.
Call_Menu_Context_Paste
=
function
(
type
,
param
)
...
...
@@ -5487,6 +5637,185 @@ Asc['asc_docs_api'].prototype.pre_Paste = function(_fonts, _images, callback)
callback
();
};
/************************************************************************/
var
EPageSize
=
{
pagesizeLetterPaper
:
1
,
pagesizeLetterSmall
:
2
,
pagesizeTabloidPaper
:
3
,
pagesizeLedgerPaper
:
4
,
pagesizeLegalPaper
:
5
,
pagesizeStatementPaper
:
6
,
pagesizeExecutivePaper
:
7
,
pagesizeA3Paper
:
8
,
pagesizeA4Paper
:
9
,
pagesizeA4SmallPaper
:
10
,
pagesizeA5Paper
:
11
,
pagesizeB4Paper
:
12
,
pagesizeB5Paper
:
13
,
pagesizeFolioPaper
:
14
,
pagesizeQuartoPaper
:
15
,
pagesizeStandardPaper1
:
16
,
pagesizeStandardPaper2
:
17
,
pagesizeNotePaper
:
18
,
pagesize9Envelope
:
19
,
pagesize10Envelope
:
20
,
pagesize11Envelope
:
21
,
pagesize12Envelope
:
22
,
pagesize14Envelope
:
23
,
pagesizeCPaper
:
24
,
pagesizeDPaper
:
25
,
pagesizeEPaper
:
26
,
pagesizeDLEnvelope
:
27
,
pagesizeC5Envelope
:
28
,
pagesizeC3Envelope
:
29
,
pagesizeC4Envelope
:
30
,
pagesizeC6Envelope
:
31
,
pagesizeC65Envelope
:
32
,
pagesizeB4Envelope
:
33
,
pagesizeB5Envelope
:
34
,
pagesizeB6Envelope
:
35
,
pagesizeItalyEnvelope
:
36
,
pagesizeMonarchEnvelope
:
37
,
pagesize6_3_4Envelope
:
38
,
pagesizeUSStandardFanfold
:
39
,
pagesizeGermanStandardFanfold
:
40
,
pagesizeGermanLegalFanfold
:
41
,
pagesizeISOB4
:
42
,
pagesizeJapaneseDoublePostcard
:
43
,
pagesizeStandardPaper3
:
44
,
pagesizeStandardPaper4
:
45
,
pagesizeStandardPaper5
:
46
,
pagesizeInviteEnvelope
:
47
,
pagesizeLetterExtraPaper
:
50
,
pagesizeLegalExtraPaper
:
51
,
pagesizeTabloidExtraPaper
:
52
,
pagesizeA4ExtraPaper
:
53
,
pagesizeLetterTransversePaper
:
54
,
pagesizeA4TransversePaper
:
55
,
pagesizeLetterExtraTransversePaper
:
56
,
pagesizeSuperA_SuperA_A4Paper
:
57
,
pagesizeSuperB_SuperB_A3Paper
:
58
,
pagesizeLetterPlusPaper
:
59
,
pagesizeA4PlusPaper
:
60
,
pagesizeA5TransversePaper
:
61
,
pagesizeJISB5TransversePaper
:
62
,
pagesizeA3ExtraPaper
:
63
,
pagesizeA5ExtraPaper
:
64
,
pagesizeISOB5ExtraPaper
:
65
,
pagesizeA2Paper
:
66
,
pagesizeA3TransversePaper
:
67
,
pagesizeA3ExtraTransversePaper
:
68
};
var
DocumentPageSize
=
new
function
()
{
this
.
oSizes
=
[
{
id
:
EPageSize
.
pagesizeLetterPaper
,
w_mm
:
215.9
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeLetterSmall
,
w_mm
:
215.9
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeTabloidPaper
,
w_mm
:
279.4
,
h_mm
:
431.7
},
{
id
:
EPageSize
.
pagesizeLedgerPaper
,
w_mm
:
431.8
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeLegalPaper
,
w_mm
:
215.9
,
h_mm
:
355.6
},
{
id
:
EPageSize
.
pagesizeStatementPaper
,
w_mm
:
495.3
,
h_mm
:
215.9
},
{
id
:
EPageSize
.
pagesizeExecutivePaper
,
w_mm
:
184.2
,
h_mm
:
266.7
},
{
id
:
EPageSize
.
pagesizeA3Paper
,
w_mm
:
297
,
h_mm
:
420.1
},
{
id
:
EPageSize
.
pagesizeA4Paper
,
w_mm
:
210
,
h_mm
:
297
},
{
id
:
EPageSize
.
pagesizeA4SmallPaper
,
w_mm
:
210
,
h_mm
:
297
},
{
id
:
EPageSize
.
pagesizeA5Paper
,
w_mm
:
148.1
,
h_mm
:
209.9
},
{
id
:
EPageSize
.
pagesizeB4Paper
,
w_mm
:
250
,
h_mm
:
353
},
{
id
:
EPageSize
.
pagesizeB5Paper
,
w_mm
:
176
,
h_mm
:
250.1
},
{
id
:
EPageSize
.
pagesizeFolioPaper
,
w_mm
:
215.9
,
h_mm
:
330.2
},
{
id
:
EPageSize
.
pagesizeQuartoPaper
,
w_mm
:
215
,
h_mm
:
275
},
{
id
:
EPageSize
.
pagesizeStandardPaper1
,
w_mm
:
254
,
h_mm
:
355.6
},
{
id
:
EPageSize
.
pagesizeStandardPaper2
,
w_mm
:
279.4
,
h_mm
:
431.8
},
{
id
:
EPageSize
.
pagesizeNotePaper
,
w_mm
:
215.9
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesize9Envelope
,
w_mm
:
98.4
,
h_mm
:
225.4
},
{
id
:
EPageSize
.
pagesize10Envelope
,
w_mm
:
104.8
,
h_mm
:
241.3
},
{
id
:
EPageSize
.
pagesize11Envelope
,
w_mm
:
114.3
,
h_mm
:
263.5
},
{
id
:
EPageSize
.
pagesize12Envelope
,
w_mm
:
120.7
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesize14Envelope
,
w_mm
:
127
,
h_mm
:
292.1
},
{
id
:
EPageSize
.
pagesizeCPaper
,
w_mm
:
431.8
,
h_mm
:
558.8
},
{
id
:
EPageSize
.
pagesizeDPaper
,
w_mm
:
558.8
,
h_mm
:
863.6
},
{
id
:
EPageSize
.
pagesizeEPaper
,
w_mm
:
863.6
,
h_mm
:
1117.6
},
{
id
:
EPageSize
.
pagesizeDLEnvelope
,
w_mm
:
110.1
,
h_mm
:
220.1
},
{
id
:
EPageSize
.
pagesizeC5Envelope
,
w_mm
:
162
,
h_mm
:
229
},
{
id
:
EPageSize
.
pagesizeC3Envelope
,
w_mm
:
324
,
h_mm
:
458
},
{
id
:
EPageSize
.
pagesizeC4Envelope
,
w_mm
:
229
,
h_mm
:
324
},
{
id
:
EPageSize
.
pagesizeC6Envelope
,
w_mm
:
114
,
h_mm
:
162
},
{
id
:
EPageSize
.
pagesizeC65Envelope
,
w_mm
:
114
,
h_mm
:
229
},
{
id
:
EPageSize
.
pagesizeB4Envelope
,
w_mm
:
250
,
h_mm
:
353
},
{
id
:
EPageSize
.
pagesizeB5Envelope
,
w_mm
:
176
,
h_mm
:
250
},
{
id
:
EPageSize
.
pagesizeB6Envelope
,
w_mm
:
176
,
h_mm
:
125
},
{
id
:
EPageSize
.
pagesizeItalyEnvelope
,
w_mm
:
110
,
h_mm
:
230
},
{
id
:
EPageSize
.
pagesizeMonarchEnvelope
,
w_mm
:
98.4
,
h_mm
:
190.5
},
{
id
:
EPageSize
.
pagesize6_3_4Envelope
,
w_mm
:
92.1
,
h_mm
:
165.1
},
{
id
:
EPageSize
.
pagesizeUSStandardFanfold
,
w_mm
:
377.8
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeGermanStandardFanfold
,
w_mm
:
215.9
,
h_mm
:
304.8
},
{
id
:
EPageSize
.
pagesizeGermanLegalFanfold
,
w_mm
:
215.9
,
h_mm
:
330.2
},
{
id
:
EPageSize
.
pagesizeISOB4
,
w_mm
:
250
,
h_mm
:
353
},
{
id
:
EPageSize
.
pagesizeJapaneseDoublePostcard
,
w_mm
:
200
,
h_mm
:
148
},
{
id
:
EPageSize
.
pagesizeStandardPaper3
,
w_mm
:
228.6
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeStandardPaper4
,
w_mm
:
254
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeStandardPaper5
,
w_mm
:
381
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeInviteEnvelope
,
w_mm
:
220
,
h_mm
:
220
},
{
id
:
EPageSize
.
pagesizeLetterExtraPaper
,
w_mm
:
235.6
,
h_mm
:
304.8
},
{
id
:
EPageSize
.
pagesizeLegalExtraPaper
,
w_mm
:
235.6
,
h_mm
:
381
},
{
id
:
EPageSize
.
pagesizeTabloidExtraPaper
,
w_mm
:
296.9
,
h_mm
:
457.2
},
{
id
:
EPageSize
.
pagesizeA4ExtraPaper
,
w_mm
:
236
,
h_mm
:
322
},
{
id
:
EPageSize
.
pagesizeLetterTransversePaper
,
w_mm
:
210.2
,
h_mm
:
279.4
},
{
id
:
EPageSize
.
pagesizeA4TransversePaper
,
w_mm
:
210
,
h_mm
:
297
},
{
id
:
EPageSize
.
pagesizeLetterExtraTransversePaper
,
w_mm
:
235.6
,
h_mm
:
304.8
},
{
id
:
EPageSize
.
pagesizeSuperA_SuperA_A4Paper
,
w_mm
:
227
,
h_mm
:
356
},
{
id
:
EPageSize
.
pagesizeSuperB_SuperB_A3Paper
,
w_mm
:
305
,
h_mm
:
487
},
{
id
:
EPageSize
.
pagesizeLetterPlusPaper
,
w_mm
:
215.9
,
h_mm
:
12.69
},
{
id
:
EPageSize
.
pagesizeA4PlusPaper
,
w_mm
:
210
,
h_mm
:
330
},
{
id
:
EPageSize
.
pagesizeA5TransversePaper
,
w_mm
:
148
,
h_mm
:
210
},
{
id
:
EPageSize
.
pagesizeJISB5TransversePaper
,
w_mm
:
182
,
h_mm
:
257
},
{
id
:
EPageSize
.
pagesizeA3ExtraPaper
,
w_mm
:
322
,
h_mm
:
445
},
{
id
:
EPageSize
.
pagesizeA5ExtraPaper
,
w_mm
:
174
,
h_mm
:
235
},
{
id
:
EPageSize
.
pagesizeISOB5ExtraPaper
,
w_mm
:
201
,
h_mm
:
276
},
{
id
:
EPageSize
.
pagesizeA2Paper
,
w_mm
:
420
,
h_mm
:
594
},
{
id
:
EPageSize
.
pagesizeA3TransversePaper
,
w_mm
:
297
,
h_mm
:
420
},
{
id
:
EPageSize
.
pagesizeA3ExtraTransversePaper
,
w_mm
:
322
,
h_mm
:
445
}
];
this
.
getSizeByWH
=
function
(
widthMm
,
heightMm
)
{
for
(
var
index
in
this
.
oSizes
)
{
var
item
=
this
.
oSizes
[
index
];
if
(
widthMm
==
item
.
w_mm
&&
heightMm
==
item
.
h_mm
)
return
item
;
}
return
this
.
oSizes
[
8
];
//A4
};
this
.
getSizeById
=
function
(
id
)
{
for
(
var
index
in
this
.
oSizes
)
{
var
item
=
this
.
oSizes
[
index
];
if
(
id
==
item
.
id
)
return
item
;
}
return
this
.
oSizes
[
8
];
//A4
};
};
Asc
[
'
asc_docs_api
'
].
prototype
.
openDocument
=
function
(
sData
)
{
// var version;
//
// if (sData.changes && this.VersionHistory)
// {
// this.VersionHistory.changes = sData.changes;
// this.VersionHistory.applyChanges(this);
// }
_api
.
asc_nativeOpenFile
(
sData
.
data
);
window
[
"
native
"
][
"
onEndLoadingFile
"
]();
if
(
_api
.
NativeAfterLoad
)
_api
.
NativeAfterLoad
();
window
[
"
native
"
][
"
onEndLoadingFile
"
]();
};
// chat styles
AscCommon
.
ChartPreviewManager
.
prototype
.
clearPreviews
=
function
()
...
...
common/Native/native.js
View file @
dee457c5
...
...
@@ -44,6 +44,7 @@ window.location.pathname = "";
window
.
NATIVE_EDITOR_ENJINE
=
true
;
window
.
NATIVE_EDITOR_ENJINE_SYNC_RECALC
=
true
;
window
.
IS_NATIVE_EDITOR
=
true
;
var
document
=
{};
window
.
document
=
document
;
...
...
@@ -484,13 +485,12 @@ function NativeOpenFile()
Api
=
_api
;
}
function
NativeOpenFile2
(
_params
)
function
NativeOpenFile2
(
_params
,
documentInfo
)
{
window
[
"
CreateMainTextMeasurerWrapper
"
]();
window
.
g_file_path
=
"
native_open_file
"
;
window
.
NATIVE_DOCUMENT_TYPE
=
window
.
native
.
GetEditorType
();
var
doc_bin
=
window
.
native
.
GetFileString
(
window
.
g_file_path
);
if
(
window
.
NATIVE_DOCUMENT_TYPE
==
"
presentation
"
||
window
.
NATIVE_DOCUMENT_TYPE
==
"
document
"
)
{
_api
=
new
window
[
"
Asc
"
][
"
asc_docs_api
"
](
""
);
...
...
@@ -500,10 +500,71 @@ function NativeOpenFile2(_params)
_api
.
Native_Editor_Initialize_Settings
(
_params
);
}
_api
.
asc_nativeOpenFile
(
doc_bin
);
window
.
documentInfo
=
documentInfo
;
var
userInfo
=
new
Asc
.
asc_CUserInfo
();
userInfo
.
asc_putId
(
window
.
documentInfo
[
"
docUserId
"
]);
userInfo
.
asc_putFullName
(
window
.
documentInfo
[
"
docUserName
"
]);
userInfo
.
asc_putFirstName
(
window
.
documentInfo
[
"
docUserFirstName
"
]);
userInfo
.
asc_putLastName
(
window
.
documentInfo
[
"
docUserLastName
"
]);
var
docInfo
=
new
Asc
.
asc_CDocInfo
();
docInfo
.
put_Id
(
window
.
documentInfo
[
"
docKey
"
]);
docInfo
.
put_UserInfo
(
userInfo
);
_api
.
asc_setDocInfo
(
docInfo
);
if
(
window
.
documentInfo
[
"
iscoauthoring
"
])
{
_api
.
isSpellCheckEnable
=
false
;
_api
.
asc_setAutoSaveGap
(
1
);
_api
.
_coAuthoringInit
();
_api
.
asc_SetFastCollaborative
(
true
);
_api
.
asc_registerCallback
(
"
asc_onAuthParticipantsChanged
"
,
function
(
users
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
asc_WriteUsers
(
users
,
stream
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
20101
,
stream
);
// ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED
});
_api
.
asc_registerCallback
(
"
asc_onParticipantsChanged
"
,
function
(
users
)
{
var
stream
=
global_memory_stream_menu
;
stream
[
"
ClearNoAttack
"
]();
asc_WriteUsers
(
users
,
stream
);
window
[
"
native
"
][
"
OnCallMenuEvent
"
](
20101
,
stream
);
// ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED
});
_api
.
asc_registerCallback
(
"
asc_onGetEditorPermissions
"
,
function
(
state
)
{
var
rData
=
{
"
c
"
:
"
open
"
,
"
id
"
:
window
.
documentInfo
[
"
docKey
"
],
"
userid
"
:
window
.
documentInfo
[
"
docUserId
"
],
"
format
"
:
"
docx
"
,
"
vkey
"
:
undefined
,
"
url
"
:
window
.
documentInfo
[
"
docURL
"
],
"
title
"
:
this
.
documentTitle
,
"
embeddedfonts
"
:
false
};
if
(
_api
.
NativeAfterLoad
)
_api
.
NativeAfterLoad
();
_api
.
CoAuthoringApi
.
auth
(
window
.
documentInfo
[
"
viewmode
"
],
rData
);
});
_api
.
asc_registerCallback
(
"
asc_onDocumentUpdateVersion
"
,
function
(
callback
)
{
var
me
=
this
;
me
.
needToUpdateVersion
=
true
;
if
(
callback
)
callback
.
call
(
me
);
});
}
else
{
var
doc_bin
=
window
.
native
.
GetFileString
(
window
.
g_file_path
);
_api
.
asc_nativeOpenFile
(
doc_bin
);
if
(
_api
.
NativeAfterLoad
)
_api
.
NativeAfterLoad
();
}
// ToDo get_PropertyThemeColorSchemes method removed, now the only Event!!!!
/*if (_api.__SendThemeColorScheme)
...
...
@@ -521,13 +582,8 @@ function NativeOpenFile2(_params)
}
}*/
}
else
{
_api
=
new
window
[
"
Asc
"
][
"
spreadsheet_api
"
]();
_api
.
asc_nativeOpenFile
(
doc_bin
);
}
Api
=
_api
;
Api
=
_api
;
}
function
NativeCalculateFile
()
...
...
@@ -855,3 +911,4 @@ window.native.Call_Menu_Event = function (type, _params)
return
_api
.
Call_Menu_Event
(
type
,
_params
);
};
window
[
'
SockJS
'
]
=
createSockJS
();
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