Commit dee457c5 authored by Alexey.Musinov's avatar Alexey.Musinov

ios collaboration

parent 6b474826
...@@ -2219,7 +2219,7 @@ function asc_ReadAutoFilter(s, p) { ...@@ -2219,7 +2219,7 @@ function asc_ReadAutoFilter(s, p) {
} }
function asc_ReadAutoFilterObj(s, p) { function asc_ReadAutoFilterObj(s, p) {
var filter = new Asc.AutoFilterObj(); var filter = new Asc.AutoFilterObj();
var next = true; var next = true;
while (next) while (next)
{ {
...@@ -2231,7 +2231,7 @@ function asc_ReadAutoFilterObj(s, p) { ...@@ -2231,7 +2231,7 @@ function asc_ReadAutoFilterObj(s, p) {
filter.asc_setType(s[p.pos++]); filter.asc_setType(s[p.pos++]);
break; break;
} }
// TODO: color, top10, // TODO: color, top10,
case 255: case 255:
...@@ -2242,12 +2242,12 @@ function asc_ReadAutoFilterObj(s, p) { ...@@ -2242,12 +2242,12 @@ function asc_ReadAutoFilterObj(s, p) {
} }
} }
} }
return filter; return filter;
} }
function asc_ReadAutoFiltersOptionsElements(s, p) { function asc_ReadAutoFiltersOptionsElements(s, p) {
var filter = new AscCommonExcel.AutoFiltersOptionsElements(); var filter = new AscCommonExcel.AutoFiltersOptionsElements();
var next = true; var next = true;
while (next) while (next)
{ {
...@@ -2282,13 +2282,13 @@ function asc_ReadAutoFiltersOptionsElements(s, p) { ...@@ -2282,13 +2282,13 @@ function asc_ReadAutoFiltersOptionsElements(s, p) {
} }
} }
} }
return filter; return filter;
} }
function asc_ReadAutoFiltersOptions(s, p) { function asc_ReadAutoFiltersOptions(s, p) {
var filter = new Asc.AutoFiltersOptions(); var filter = new Asc.AutoFiltersOptions();
var next = true; var next = true;
while (next) while (next)
{ {
...@@ -2329,12 +2329,12 @@ function asc_ReadAutoFiltersOptions(s, p) { ...@@ -2329,12 +2329,12 @@ function asc_ReadAutoFiltersOptions(s, p) {
{ {
var values = []; var values = [];
var count = s[p.pos++]; var count = s[p.pos++];
for (var i = 0; i < count; ++i) { for (var i = 0; i < count; ++i) {
p.pos++; p.pos++;
values.push(asc_ReadAutoFiltersOptionsElements(s,p)); values.push(asc_ReadAutoFiltersOptionsElements(s,p));
} }
filter.asc_setValues(values); filter.asc_setValues(values);
break; break;
} }
...@@ -2346,7 +2346,7 @@ function asc_ReadAutoFiltersOptions(s, p) { ...@@ -2346,7 +2346,7 @@ function asc_ReadAutoFiltersOptions(s, p) {
} }
} }
} }
return filter; return filter;
} }
function asc_ReadFormatTableInfo(s, p) { function asc_ReadFormatTableInfo(s, p) {
...@@ -2452,25 +2452,25 @@ function asc_ReadFormatTableInfo(s, p) { ...@@ -2452,25 +2452,25 @@ function asc_ReadFormatTableInfo(s, p) {
} }
} }
} }
return isNull ? null : fmt; return isNull ? null : fmt;
} }
function asc_WriteCBorder(i, c, s) { function asc_WriteCBorder(i, c, s) {
if (!c) return; if (!c) return;
s['WriteByte'](i); s['WriteByte'](i);
if (c.asc_getStyle()) { if (c.asc_getStyle()) {
s['WriteByte'](0); s['WriteByte'](0);
s['WriteString2'](c.asc_getStyle()); s['WriteString2'](c.asc_getStyle());
} }
if (c.asc_getColor()) { if (c.asc_getColor()) {
s['WriteByte'](1); s['WriteByte'](1);
s['WriteLong'](c.asc_getColor()); s['WriteLong'](c.asc_getColor());
} }
s['WriteByte'](255); s['WriteByte'](255);
} }
function asc_WriteCHyperLink(i, c, s) { function asc_WriteCHyperLink(i, c, s) {
...@@ -2574,94 +2574,94 @@ function asc_WriteAutoFilterInfo(i, c, s) { ...@@ -2574,94 +2574,94 @@ function asc_WriteAutoFilterInfo(i, c, s) {
s['WriteByte'](255); s['WriteByte'](255);
} }
function asc_WriteFormatTableInfo(i, c, s) { function asc_WriteFormatTableInfo(i, c, s) {
if (i !== -1) s['WriteByte'](i); if (i !== -1) s['WriteByte'](i);
if (c.asc_getTableName()) { if (c.asc_getTableName()) {
s['WriteByte'](0); s['WriteByte'](0);
s['WriteString2'](c.asc_getTableName()); s['WriteString2'](c.asc_getTableName());
} }
if (c.asc_getTableRange()) { if (c.asc_getTableRange()) {
s['WriteByte'](1); s['WriteByte'](1);
s['WriteString2'](c.asc_getTableRange()); s['WriteString2'](c.asc_getTableRange());
} }
if (c.asc_getTableStyleName()) { if (c.asc_getTableStyleName()) {
s['WriteByte'](2); s['WriteByte'](2);
s['WriteString2'](c.asc_getTableStyleName()); s['WriteString2'](c.asc_getTableStyleName());
} }
if (null !== c.asc_getBandHor()) { if (null !== c.asc_getBandHor()) {
s['WriteByte'](3); s['WriteByte'](3);
s['WriteBool'](c.asc_getBandHor()); s['WriteBool'](c.asc_getBandHor());
} }
if (null !== c.asc_getBandVer()) { if (null !== c.asc_getBandVer()) {
s['WriteByte'](4); s['WriteByte'](4);
s['WriteBool'](c.asc_getBandVer()); s['WriteBool'](c.asc_getBandVer());
} }
if (null !== c.asc_getFilterButton()) { if (null !== c.asc_getFilterButton()) {
s['WriteByte'](5); s['WriteByte'](5);
s['WriteBool'](c.asc_getFilterButton()); s['WriteBool'](c.asc_getFilterButton());
} }
if (null !== c.asc_getFirstCol()) { if (null !== c.asc_getFirstCol()) {
s['WriteByte'](6); s['WriteByte'](6);
s['WriteBool'](c.asc_getFirstCol()); s['WriteBool'](c.asc_getFirstCol());
} }
if (null !== c.asc_getFirstRow()) { if (null !== c.asc_getFirstRow()) {
s['WriteByte'](7); s['WriteByte'](7);
s['WriteBool'](c.asc_getFirstRow()); s['WriteBool'](c.asc_getFirstRow());
} }
if (null !== c.asc_getIsDeleteColumn()) { if (null !== c.asc_getIsDeleteColumn()) {
s['WriteByte'](8); s['WriteByte'](8);
s['WriteBool'](c.asc_getIsDeleteColumn()); s['WriteBool'](c.asc_getIsDeleteColumn());
} }
if (null !== c.asc_getIsDeleteRow()) { if (null !== c.asc_getIsDeleteRow()) {
s['WriteByte'](9); s['WriteByte'](9);
s['WriteBool'](c.asc_getIsDeleteRow()); s['WriteBool'](c.asc_getIsDeleteRow());
} }
if (null !== c.asc_getIsDeleteTable()) { if (null !== c.asc_getIsDeleteTable()) {
s['WriteByte'](10); s['WriteByte'](10);
s['WriteBool'](c.asc_getIsDeleteTable()); s['WriteBool'](c.asc_getIsDeleteTable());
} }
if (null !== c.asc_getIsInsertColumnLeft()) { if (null !== c.asc_getIsInsertColumnLeft()) {
s['WriteByte'](11); s['WriteByte'](11);
s['WriteBool'](c.asc_getIsInsertColumnLeft()); s['WriteBool'](c.asc_getIsInsertColumnLeft());
} }
if (null !== c.asc_getIsInsertColumnRight()) { if (null !== c.asc_getIsInsertColumnRight()) {
s['WriteByte'](12); s['WriteByte'](12);
s['WriteBool'](c.asc_getIsInsertColumnRight()); s['WriteBool'](c.asc_getIsInsertColumnRight());
} }
if (null !== c.asc_getIsInsertRowAbove()) { if (null !== c.asc_getIsInsertRowAbove()) {
s['WriteByte'](13); s['WriteByte'](13);
s['WriteBool'](c.asc_getIsInsertRowAbove()); s['WriteBool'](c.asc_getIsInsertRowAbove());
} }
if (null !== c.asc_getIsInsertRowBelow()) { if (null !== c.asc_getIsInsertRowBelow()) {
s['WriteByte'](14); s['WriteByte'](14);
s['WriteBool'](c.asc_getIsInsertRowBelow()); s['WriteBool'](c.asc_getIsInsertRowBelow());
} }
if (null !== c.asc_getLastCol()) { if (null !== c.asc_getLastCol()) {
s['WriteByte'](15); s['WriteByte'](15);
s['WriteBool'](c.asc_getLastCol()); s['WriteBool'](c.asc_getLastCol());
} }
if (null !== c.asc_getLastRow()) { if (null !== c.asc_getLastRow()) {
s['WriteByte'](16); s['WriteByte'](16);
s['WriteBool'](c.asc_getLastRow()); s['WriteBool'](c.asc_getLastRow());
} }
s['WriteByte'](255); s['WriteByte'](255);
} }
...@@ -2725,7 +2725,7 @@ function asc_WriteCCelInfo(c, s) { ...@@ -2725,7 +2725,7 @@ function asc_WriteCCelInfo(c, s) {
s['WriteByte'](21); s['WriteByte'](21);
s['WriteString2'](c.asc_getStyleName()); s['WriteString2'](c.asc_getStyleName());
} }
if (null != c.asc_getNumFormatInfo()) { if (null != c.asc_getNumFormatInfo()) {
s['WriteByte'](22); s['WriteByte'](22);
s['WriteLong'](c.asc_getNumFormatInfo().asc_getType()); s['WriteLong'](c.asc_getNumFormatInfo().asc_getType());
...@@ -2738,7 +2738,7 @@ function asc_WriteCCelInfo(c, s) { ...@@ -2738,7 +2738,7 @@ function asc_WriteCCelInfo(c, s) {
if (c.asc_getAutoFilterInfo()) { asc_WriteAutoFilterInfo(30, c.asc_getAutoFilterInfo(), s); } if (c.asc_getAutoFilterInfo()) { asc_WriteAutoFilterInfo(30, c.asc_getAutoFilterInfo(), s); }
if (c.asc_getFormatTableInfo()) { asc_WriteFormatTableInfo(31, c.asc_getFormatTableInfo(), s); } if (c.asc_getFormatTableInfo()) { asc_WriteFormatTableInfo(31, c.asc_getFormatTableInfo(), s); }
s['WriteByte'](255); s['WriteByte'](255);
} }
function asc_WriteColorSchemes(schemas, s) { function asc_WriteColorSchemes(schemas, s) {
...@@ -2775,61 +2775,61 @@ function asc_WriteAddFormatTableOptions(c, s) { ...@@ -2775,61 +2775,61 @@ function asc_WriteAddFormatTableOptions(c, s) {
function asc_WriteAutoFilterObj(i, c, s) { function asc_WriteAutoFilterObj(i, c, s) {
if (!c) return; if (!c) return;
s['WriteByte'](i); s['WriteByte'](i);
if (undefined !== c.asc_getType()) { if (undefined !== c.asc_getType()) {
s['WriteByte'](0); s['WriteByte'](0);
s['WriteLong'](c.asc_getType()); s['WriteLong'](c.asc_getType());
} }
s['WriteByte'](255); s['WriteByte'](255);
} }
function asc_WriteAutoFiltersOptionsElements(i, c, s) { function asc_WriteAutoFiltersOptionsElements(i, c, s) {
if (!c) return; if (!c) return;
s['WriteByte'](i); s['WriteByte'](i);
if (undefined !== c.asc_getIsDateFormat()) { if (undefined !== c.asc_getIsDateFormat()) {
s['WriteByte'](0); s['WriteByte'](0);
s['WriteBool'](c.asc_getIsDateFormat()); s['WriteBool'](c.asc_getIsDateFormat());
} }
if (c.asc_getText()) { if (c.asc_getText()) {
s['WriteByte'](1); s['WriteByte'](1);
s['WriteString2'](c.asc_getText()); s['WriteString2'](c.asc_getText());
} }
if (c.asc_getVal()) { if (c.asc_getVal()) {
s['WriteByte'](2); s['WriteByte'](2);
s['WriteString2'](c.asc_getVal()); s['WriteString2'](c.asc_getVal());
} }
if (undefined !== c.asc_getVisible()) { if (undefined !== c.asc_getVisible()) {
s['WriteByte'](3); s['WriteByte'](3);
s['WriteBool'](c.asc_getVisible()); s['WriteBool'](c.asc_getVisible());
} }
s['WriteByte'](255); s['WriteByte'](255);
} }
function asc_WriteAutoFiltersOptions(c, s) { function asc_WriteAutoFiltersOptions(c, s) {
if (!c) return; if (!c) return;
if (c.asc_getCellId()) { if (c.asc_getCellId()) {
s['WriteByte'](0); s['WriteByte'](0);
s['WriteString2'](c.asc_getCellId()); s['WriteString2'](c.asc_getCellId());
} }
if (c.asc_getDisplayName()) { if (c.asc_getDisplayName()) {
s['WriteByte'](1); s['WriteByte'](1);
s['WriteString2'](c.asc_getDisplayName()); s['WriteString2'](c.asc_getDisplayName());
} }
if (c.asc_getIsTextFilter()) { if (c.asc_getIsTextFilter()) {
s['WriteByte'](2); s['WriteByte'](2);
s['WriteBool'](c.asc_getIsTextFilter()); s['WriteBool'](c.asc_getIsTextFilter());
} }
if (c.asc_getCellCoord()) { if (c.asc_getCellCoord()) {
s['WriteByte'](3); s['WriteByte'](3);
s['WriteDouble2'](c.asc_getCellCoord().asc_getX()); s['WriteDouble2'](c.asc_getCellCoord().asc_getX());
...@@ -2837,46 +2837,46 @@ function asc_WriteAutoFiltersOptions(c, s) { ...@@ -2837,46 +2837,46 @@ function asc_WriteAutoFiltersOptions(c, s) {
s['WriteDouble2'](c.asc_getCellCoord().asc_getWidth()); s['WriteDouble2'](c.asc_getCellCoord().asc_getWidth());
s['WriteDouble2'](c.asc_getCellCoord().asc_getHeight()); s['WriteDouble2'](c.asc_getCellCoord().asc_getHeight());
} }
if (c.asc_getSortColor()) { if (c.asc_getSortColor()) {
asc_menu_WriteColor(4, c.asc_getSortColor(), s); asc_menu_WriteColor(4, c.asc_getSortColor(), s);
} }
if (c.asc_getValues() && c.asc_getValues().length > 0) { if (c.asc_getValues() && c.asc_getValues().length > 0) {
var count = c.asc_getValues().length var count = c.asc_getValues().length
s['WriteByte'](5); s['WriteByte'](5);
s['WriteLong'](count); s['WriteLong'](count);
for (var i = 0; i < count; ++i) { for (var i = 0; i < count; ++i) {
asc_WriteAutoFiltersOptionsElements(1, c.asc_getValues()[i], s); asc_WriteAutoFiltersOptionsElements(1, c.asc_getValues()[i], s);
} }
} }
if (undefined !== c.asc_getSortState()) { if (undefined !== c.asc_getSortState()) {
s['WriteByte'](6); s['WriteByte'](6);
s['WriteLong'](c.asc_getSortState()); s['WriteLong'](c.asc_getSortState());
} }
if (c.asc_getFilterObj()) { if (c.asc_getFilterObj()) {
asc_WriteAutoFilterObj(7, c.asc_getFilterObj(), s); asc_WriteAutoFilterObj(7, c.asc_getFilterObj(), s);
} }
s['WriteByte'](255); s['WriteByte'](255);
} }
function asc_WriteUsers(c, s) { function asc_WriteUsers(c, s) {
if (!c) return; if (!c) return;
var len = 0, name, user; var len = 0, name, user;
for (name in c) { for (name in c) {
if (undefined !== name) { if (undefined !== name) {
len++; len++;
} }
} }
s["WriteLong"](len); s["WriteLong"](len);
for (name in c) { for (name in c) {
if (undefined !== name) { if (undefined !== name) {
user = c[name]; user = c[name];
...@@ -2886,13 +2886,13 @@ function asc_WriteUsers(c, s) { ...@@ -2886,13 +2886,13 @@ function asc_WriteUsers(c, s) {
s['WriteString2'](user.asc_getLastName() === undefined ? "" : user.asc_getLastName()); s['WriteString2'](user.asc_getLastName() === undefined ? "" : user.asc_getLastName());
s['WriteString2'](user.asc_getUserName() === undefined ? "" : user.asc_getUserName()); s['WriteString2'](user.asc_getUserName() === undefined ? "" : user.asc_getUserName());
s['WriteBool'](user.asc_getView()); s['WriteBool'](user.asc_getView());
var color = new Asc.asc_CColor(); var color = new Asc.asc_CColor();
color.r = (user.color >> 16) & 255; color.r = (user.color >> 16) & 255;
color.g = (user.color >> 8 ) & 255; color.g = (user.color >> 8 ) & 255;
color.b = (user.color ) & 255; color.b = (user.color ) & 255;
asc_menu_WriteColor(0, color, s); asc_menu_WriteColor(0, color, s);
} }
} }
...@@ -2945,7 +2945,7 @@ function OfflineEditor () { ...@@ -2945,7 +2945,7 @@ function OfflineEditor () {
this.beforeOpen = function() { this.beforeOpen = function() {
var offlineEditor = this; var offlineEditor = this;
function __selectDrawingObjectRange(drawing, worksheet) { function __selectDrawingObjectRange(drawing, worksheet) {
worksheet.cleanSelection(); worksheet.cleanSelection();
worksheet.endEditChart(); worksheet.endEditChart();
...@@ -2955,7 +2955,7 @@ function OfflineEditor () { ...@@ -2955,7 +2955,7 @@ function OfflineEditor () {
var BB = drawing.bbox.seriesBBox; var BB = drawing.bbox.seriesBBox;
var range = window["Asc"].Range(BB.c1, BB.r1, BB.c2, BB.r2, true); var range = window["Asc"].Range(BB.c1, BB.r1, BB.c2, BB.r2, true);
worksheet.setChartRange(range); worksheet.setChartRange(range);
worksheet._drawSelection(); worksheet._drawSelection();
} }
...@@ -3267,14 +3267,14 @@ function OfflineEditor () { ...@@ -3267,14 +3267,14 @@ function OfflineEditor () {
} }
} }
} }
var ctx = (drawingCtx) ? drawingCtx : this.drawingCtx; var ctx = (drawingCtx) ? drawingCtx : this.drawingCtx;
var st = this.settings.header.style[style]; var st = this.settings.header.style[style];
var x2 = x + w; var x2 = x + w;
var y2 = y + h; var y2 = y + h;
var x2WithoutBorder = x2 - this.width_1px; var x2WithoutBorder = x2 - this.width_1px;
var y2WithoutBorder = y2 - this.height_1px; var y2WithoutBorder = y2 - this.height_1px;
// background только для видимых // background только для видимых
if (!isZeroHeader) { if (!isZeroHeader) {
// draw background // draw background
...@@ -3289,12 +3289,12 @@ function OfflineEditor () { ...@@ -3289,12 +3289,12 @@ function OfflineEditor () {
// Select row (top border) // Select row (top border)
// ctx.lineHorPrevPx(x, y, x2); // ctx.lineHorPrevPx(x, y, x2);
} }
// Right border // Right border
if (isColHeader) ctx.lineVerPrevPx(x2, y, y2 + 5); if (isColHeader) ctx.lineVerPrevPx(x2, y, y2 + 5);
// Bottom border // Bottom border
if (!isColHeader) ctx.lineHorPrevPx(x, y2, x2 + 5); if (!isColHeader) ctx.lineHorPrevPx(x, y2, x2 + 5);
if (style !== kHeaderDefault && isColHeader) { if (style !== kHeaderDefault && isColHeader) {
// Select col (left border) // Select col (left border)
ctx.lineVerPrevPx(x, y, y2); ctx.lineVerPrevPx(x, y, y2);
...@@ -3327,7 +3327,7 @@ function OfflineEditor () { ...@@ -3327,7 +3327,7 @@ function OfflineEditor () {
.restore(); .restore();
} }
}; };
AscCommonExcel.WorksheetView.prototype.__drawRowHeaders = function (drawingCtx, start, end, style, offsetXForDraw, offsetYForDraw) { AscCommonExcel.WorksheetView.prototype.__drawRowHeaders = function (drawingCtx, start, end, style, offsetXForDraw, offsetYForDraw) {
if (undefined === drawingCtx && false === this.model.sheetViews[0].asc_getShowRowColHeaders()) { if (undefined === drawingCtx && false === this.model.sheetViews[0].asc_getShowRowColHeaders()) {
return; return;
...@@ -3344,7 +3344,7 @@ function OfflineEditor () { ...@@ -3344,7 +3344,7 @@ function OfflineEditor () {
offsetY -= r[rFrozen].top - r[0].top; offsetY -= r[rFrozen].top - r[0].top;
} }
} }
if (asc_typeof(start) !== "number") { if (asc_typeof(start) !== "number") {
start = vr.r1; start = vr.r1;
} }
...@@ -3354,9 +3354,9 @@ function OfflineEditor () { ...@@ -3354,9 +3354,9 @@ function OfflineEditor () {
if (style === undefined) { if (style === undefined) {
style = kHeaderDefault; style = kHeaderDefault;
} }
this._setFont(drawingCtx, this.model.getDefaultFontName(), this.model.getDefaultFontSize()); this._setFont(drawingCtx, this.model.getDefaultFontName(), this.model.getDefaultFontSize());
// draw row headers // draw row headers
for (var i = start; i <= end; ++i) { for (var i = start; i <= end; ++i) {
this.__drawHeader(drawingCtx, offsetX, r[i].top - r[start].top - offsetY, this.__drawHeader(drawingCtx, offsetX, r[i].top - r[start].top - offsetY,
...@@ -3415,24 +3415,24 @@ function OfflineEditor () { ...@@ -3415,24 +3415,24 @@ function OfflineEditor () {
if (window["Asc"]["editor"].isStartAddShape || this.objectRender.selectedGraphicObjectsExists()) { if (window["Asc"]["editor"].isStartAddShape || this.objectRender.selectedGraphicObjectsExists()) {
return; return;
} }
var offsetX = 0, offsetY = 0; var offsetX = 0, offsetY = 0;
offsetX = this.cols[this.visibleRange.c1].left - this.cellsLeft; offsetX = this.cols[this.visibleRange.c1].left - this.cellsLeft;
offsetY = this.rows[this.visibleRange.r1].top - this.cellsTop; offsetY = this.rows[this.visibleRange.r1].top - this.cellsTop;
var activeCell = this.model.selectionRange.activeCell; 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);
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 ranges = (this.isSelectionDialogMode ? this.copyActiveRange : this.model.selectionRange).ranges;
var range, selectionLineType; var range, selectionLineType;
for (var i = 0, l = ranges.length; i < l; ++i) { for (var i = 0, l = ranges.length; i < l; ++i) {
...@@ -3445,19 +3445,19 @@ function OfflineEditor () { ...@@ -3445,19 +3445,19 @@ function OfflineEditor () {
} else if (Asc.c_oAscSelectionType.RangeRow === range.type) { } else if (Asc.c_oAscSelectionType.RangeRow === range.type) {
range.c2 = this.cols.length - 1; range.c2 = this.cols.length - 1;
} }
selection.push(range.type); selection.push(range.type);
selection.push(range.c1); selection.push(range.c1);
selection.push(range.c2); selection.push(range.c2);
selection.push(range.r1); selection.push(range.r1);
selection.push(range.r2); selection.push(range.r2);
selection.push(this.cols[range.c1].left - offsetX); selection.push(this.cols[range.c1].left - offsetX);
selection.push(this.rows[range.r1].top - offsetY); 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.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); selection.push(this.rows[range.r2].top + this.rows[range.r2].height - this.rows[range.r1].top);
selectionLineType = AscCommonExcel.selectionLineType.Selection; selectionLineType = AscCommonExcel.selectionLineType.Selection;
if (1 === l) { if (1 === l) {
selectionLineType |= selectionLineType |=
...@@ -3465,19 +3465,19 @@ function OfflineEditor () { ...@@ -3465,19 +3465,19 @@ function OfflineEditor () {
} else if (i === this.model.selectionRange.activeCellId) { } else if (i === this.model.selectionRange.activeCellId) {
selectionLineType |= AscCommonExcel.selectionLineType.ActiveCell; selectionLineType |= AscCommonExcel.selectionLineType.ActiveCell;
} }
var isActive = AscCommonExcel.selectionLineType.ActiveCell & selectionLineType; var isActive = AscCommonExcel.selectionLineType.ActiveCell & selectionLineType;
if (isActive) { if (isActive) {
var cell = (this.isSelectionDialogMode ? this.copyActiveRange : this.model.selectionRange).activeCell; var cell = (this.isSelectionDialogMode ? this.copyActiveRange : this.model.selectionRange).activeCell;
var fs = this.model.getMergedByCell(cell.row, cell.col); 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)); fs = range.intersectionSimple(fs ? fs : new asc_Range(cell.col, cell.row, cell.col, cell.row));
if (fs) { if (fs) {
selection[0] = fs.c1; selection[0] = fs.c1;
selection[1] = fs.c2; selection[1] = fs.c2;
selection[2] = fs.r1; selection[2] = fs.r1;
selection[3] = fs.r2; selection[3] = fs.r2;
selection[4] = this.cols[fs.c1].left - offsetX; selection[4] = this.cols[fs.c1].left - offsetX;
selection[5] = this.rows[fs.r1].top - offsetY; 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; selection[6] = this.cols[fs.c2].left + this.cols[fs.c2].width - this.cols[fs.c1].left;
...@@ -3485,33 +3485,33 @@ function OfflineEditor () { ...@@ -3485,33 +3485,33 @@ function OfflineEditor () {
} }
} }
} }
var formularanges = []; var formularanges = [];
if (!isFrozen && this.isFormulaEditMode) { if (!isFrozen && this.isFormulaEditMode) {
if (this.arrActiveFormulaRanges.length) { if (this.arrActiveFormulaRanges.length) {
formularanges = this.__selectedCellRanges(this.arrActiveFormulaRanges, offsetX, offsetY); formularanges = this.__selectedCellRanges(this.arrActiveFormulaRanges, offsetX, offsetY);
} }
} }
return {'selection': selection, 'formularanges': formularanges}; return {'selection': selection, 'formularanges': formularanges};
}; };
AscCommonExcel.WorksheetView.prototype.__changeSelectionPoint = function (x, y, isCoord, isSelectMode, isReverse) { AscCommonExcel.WorksheetView.prototype.__changeSelectionPoint = function (x, y, isCoord, isSelectMode, isReverse) {
var isChangeSelectionShape = false; var isChangeSelectionShape = false;
if (isCoord) { if (isCoord) {
isChangeSelectionShape = this._checkSelectionShape(); isChangeSelectionShape = this._checkSelectionShape();
} }
var isMoveActiveCellToLeftTop = false; var isMoveActiveCellToLeftTop = false;
var selection = this._getSelection(); var selection = this._getSelection();
var lastRange = selection.getLast(); var lastRange = selection.getLast();
var col = selection.activeCell.col; var col = selection.activeCell.col;
var row = selection.activeCell.row; var row = selection.activeCell.row;
if (isReverse) { if (isReverse) {
selection.activeCell.col = this.leftTopRange.c2; selection.activeCell.col = this.leftTopRange.c2;
selection.activeCell.row = this.leftTopRange.r2; selection.activeCell.row = this.leftTopRange.r2;
...@@ -3519,9 +3519,9 @@ function OfflineEditor () { ...@@ -3519,9 +3519,9 @@ function OfflineEditor () {
selection.activeCell.col = this.leftTopRange.c1; selection.activeCell.col = this.leftTopRange.c1;
selection.activeCell.row = this.leftTopRange.r1; selection.activeCell.row = this.leftTopRange.r1;
} }
var ar = this._getSelection().getLast(); var ar = this._getSelection().getLast();
var newRange = isCoord ? this._calcSelectionEndPointByXY(x, y) : var newRange = isCoord ? this._calcSelectionEndPointByXY(x, y) :
this._calcSelectionEndPointByOffset(x, y); this._calcSelectionEndPointByOffset(x, y);
var isEqual = newRange.isEqual(ar); var isEqual = newRange.isEqual(ar);
...@@ -3529,27 +3529,27 @@ function OfflineEditor () { ...@@ -3529,27 +3529,27 @@ function OfflineEditor () {
// При движении стрелками можем попасть на замерженную ячейку // При движении стрелками можем попасть на замерженную ячейку
} }
if (!isEqual || isChangeSelectionShape) { if (!isEqual || isChangeSelectionShape) {
if (newRange.c1 > col || newRange.c2 < col) { if (newRange.c1 > col || newRange.c2 < col) {
col = newRange.c1; col = newRange.c1;
isMoveActiveCellToLeftTop = true; isMoveActiveCellToLeftTop = true;
} }
if (newRange.r1 > row || newRange.r2 < row) { if (newRange.r1 > row || newRange.r2 < row) {
row = newRange.r1; row = newRange.r1;
isMoveActiveCellToLeftTop = true; isMoveActiveCellToLeftTop = true;
} }
ar.assign2(newRange); ar.assign2(newRange);
selection.activeCell.col = col; selection.activeCell.col = col;
selection.activeCell.row = row; selection.activeCell.row = row;
if (isMoveActiveCellToLeftTop) { if (isMoveActiveCellToLeftTop) {
selection.activeCell.col = newRange.c1; selection.activeCell.col = newRange.c1;
selection.activeCell.row = newRange.r1; selection.activeCell.row = newRange.r1;
} }
if (!this.isCellEditMode) { if (!this.isCellEditMode) {
if (!this.isSelectionDialogMode) { if (!this.isSelectionDialogMode) {
this.handlers.trigger("selectionNameChanged", this.getSelectionName(/*bRangeText*/true)); this.handlers.trigger("selectionNameChanged", this.getSelectionName(/*bRangeText*/true));
...@@ -3566,9 +3566,9 @@ function OfflineEditor () { ...@@ -3566,9 +3566,9 @@ function OfflineEditor () {
selection.activeCell.col = col; selection.activeCell.col = col;
selection.activeCell.row = row; selection.activeCell.row = row;
} }
this.model.workbook.handlers.trigger("asc_onHideComment"); this.model.workbook.handlers.trigger("asc_onHideComment");
return isCoord ? this._calcActiveRangeOffsetIsCoord(x, y) : return isCoord ? this._calcActiveRangeOffsetIsCoord(x, y) :
this._calcActiveRangeOffset(); this._calcActiveRangeOffset();
}; };
...@@ -3589,49 +3589,49 @@ function OfflineEditor () { ...@@ -3589,49 +3589,49 @@ function OfflineEditor () {
}; };
AscCommonExcel.WorksheetView.prototype.__selectedCellRanges = function (inputRanges, offsetX, offsetY, rangetype) { 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; var ranges = [], j = 0, i = 0, type = 0, left = 0, right = 0, top = 0, bottom = 0;
for (j = 0; j < inputRanges.length; ++j) { for (j = 0; j < inputRanges.length; ++j) {
arrRanges = inputRanges[j].ranges; arrRanges = inputRanges[j].ranges;
var 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 addt, addl, addr, addb, colsCount = this.cols.length - 1, rowsCount = this.rows.length - 1;
var defaultWidth = this.model.getDefaultWidth(); var defaultWidth = this.model.getDefaultWidth();
defaultWidth = (typeof defaultWidth === "number" && defaultWidth >= 0) ? defaultWidth : -1; defaultWidth = (typeof defaultWidth === "number" && defaultWidth >= 0) ? defaultWidth : -1;
var defaultRowHeight = AscCommonExcel.oDefaultMetrics.RowHeight; var defaultRowHeight = AscCommonExcel.oDefaultMetrics.RowHeight;
for (i = 0; i < arrRanges.length; ++i) { for (i = 0; i < arrRanges.length; ++i) {
ranges.push(undefined !== rangetype ? rangetype : arrRanges[i].type); ranges.push(undefined !== rangetype ? rangetype : arrRanges[i].type);
ranges.push(arrRanges[i].c1); ranges.push(arrRanges[i].c1);
ranges.push(arrRanges[i].c2); ranges.push(arrRanges[i].c2);
ranges.push(arrRanges[i].r1); ranges.push(arrRanges[i].r1);
ranges.push(arrRanges[i].r2); ranges.push(arrRanges[i].r2);
type = arrRanges[i].type; type = arrRanges[i].type;
addl = Math.max(arrRanges[i].c1 - colsCount,0); addl = Math.max(arrRanges[i].c1 - colsCount,0);
addt = Math.max(arrRanges[i].r1 - rowsCount,0); addt = Math.max(arrRanges[i].r1 - rowsCount,0);
addr = Math.max(arrRanges[i].c2 - colsCount,0); addr = Math.max(arrRanges[i].c2 - colsCount,0);
addb = Math.max(arrRanges[i].r2 - rowsCount,0); addb = Math.max(arrRanges[i].r2 - rowsCount,0);
if (1 === type) { // cells or chart if (1 === type) { // cells or chart
if (addl > 0) if (addl > 0)
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[Math.max(0,arrRanges[i].c1,0)].left - offsetX; left = this.cols[Math.max(0,arrRanges[i].c1,0)].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[Math.max(0,arrRanges[i].r1,0)].top - offsetY; top = this.rows[Math.max(0,arrRanges[i].r1,0)].top - offsetY;
if (addr > 0) if (addr > 0)
right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX; right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX;
else else
right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX; right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX;
if (addb > 0) if (addb > 0)
bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY; bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY;
else else
...@@ -3642,17 +3642,17 @@ function OfflineEditor () { ...@@ -3642,17 +3642,17 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX; left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY; top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY;
if (addr > 0) if (addr > 0)
right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX; right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX;
else else
right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX; right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX;
bottom = 0; bottom = 0;
} }
else if (3 === type) { // row range else if (3 === type) { // row range
...@@ -3660,14 +3660,14 @@ function OfflineEditor () { ...@@ -3660,14 +3660,14 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[arrRanges[i].c1].left - offsetX; left = this.cols[arrRanges[i].c1].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[arrRanges[i].r1].top - offsetY; top = this.rows[arrRanges[i].r1].top - offsetY;
right = 0; right = 0;
if (addb > 0) if (addb > 0)
bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY; bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY;
else else
...@@ -3678,12 +3678,12 @@ function OfflineEditor () { ...@@ -3678,12 +3678,12 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[arrRanges[i].c1].left - offsetX; left = this.cols[arrRanges[i].c1].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[arrRanges[i].r1].top - offsetY; top = this.rows[arrRanges[i].r1].top - offsetY;
right = 0; right = 0;
bottom = 0; bottom = 0;
} else { } else {
...@@ -3691,78 +3691,78 @@ function OfflineEditor () { ...@@ -3691,78 +3691,78 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX; left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY; top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY;
if (addr > 0) if (addr > 0)
right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX; right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX;
else else
right = this.cols[Math.max(0,arrRanges[i].c2)].left + this.cols[Math.max(0,arrRanges[i].c2)].width - offsetX; right = this.cols[Math.max(0,arrRanges[i].c2)].left + this.cols[Math.max(0,arrRanges[i].c2)].width - offsetX;
if (addb > 0) if (addb > 0)
bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY; bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY;
else else
bottom = this.rows[Math.max(0,arrRanges[i].r2)].top + this.rows[Math.max(0,arrRanges[i].r2)].height - offsetY; 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 (5 === type) { // range image
// } // }
// else if (6 === type) { // range chart // else if (6 === type) { // range chart
// } // }
ranges.push(left); ranges.push(left);
ranges.push(top); ranges.push(top);
ranges.push(right); ranges.push(right);
ranges.push(bottom); ranges.push(bottom);
} }
} }
return ranges; return ranges;
}; };
AscCommonExcel.WorksheetView.prototype.__selectedCellRange = function (arrRanges, offsetX, offsetY, rangetype) { 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 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 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 addt, addl, addr, addb, colsCount = this.cols.length - 1, rowsCount = this.rows.length - 1;
var defaultWidth = this.model.getDefaultWidth(); var defaultWidth = this.model.getDefaultWidth();
defaultWidth = (typeof defaultWidth === "number" && defaultWidth >= 0) ? defaultWidth : -1; defaultWidth = (typeof defaultWidth === "number" && defaultWidth >= 0) ? defaultWidth : -1;
var defaultRowHeight = AscCommonExcel.oDefaultMetrics.RowHeight; var defaultRowHeight = AscCommonExcel.oDefaultMetrics.RowHeight;
for (i = 0; i < arrRanges.length; ++i) { for (i = 0; i < arrRanges.length; ++i) {
ranges.push(undefined !== rangetype ? rangetype : arrRanges[i].type); ranges.push(undefined !== rangetype ? rangetype : arrRanges[i].type);
ranges.push(arrRanges[i].c1); ranges.push(arrRanges[i].c1);
ranges.push(arrRanges[i].c2); ranges.push(arrRanges[i].c2);
ranges.push(arrRanges[i].r1); ranges.push(arrRanges[i].r1);
ranges.push(arrRanges[i].r2); ranges.push(arrRanges[i].r2);
type = arrRanges[i].type; type = arrRanges[i].type;
addl = Math.max(arrRanges[i].c1 - colsCount,0); addl = Math.max(arrRanges[i].c1 - colsCount,0);
addt = Math.max(arrRanges[i].r1 - rowsCount,0); addt = Math.max(arrRanges[i].r1 - rowsCount,0);
addr = Math.max(arrRanges[i].c2 - colsCount,0); addr = Math.max(arrRanges[i].c2 - colsCount,0);
addb = Math.max(arrRanges[i].r2 - rowsCount,0); addb = Math.max(arrRanges[i].r2 - rowsCount,0);
if (1 === type) { // cells or chart if (1 === type) { // cells or chart
if (addl > 0) if (addl > 0)
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[Math.max(0,arrRanges[i].c1,0)].left - offsetX; left = this.cols[Math.max(0,arrRanges[i].c1,0)].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[Math.max(0,arrRanges[i].r1,0)].top - offsetY; top = this.rows[Math.max(0,arrRanges[i].r1,0)].top - offsetY;
if (addr > 0) if (addr > 0)
right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX; right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX;
else else
right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX; right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX;
if (addb > 0) if (addb > 0)
bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY; bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY;
else else
...@@ -3773,17 +3773,17 @@ function OfflineEditor () { ...@@ -3773,17 +3773,17 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX; left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY; top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY;
if (addr > 0) if (addr > 0)
right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX; right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX;
else else
right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX; right = this.cols[arrRanges[i].c2].left + this.cols[arrRanges[i].c2].width - offsetX;
bottom = 0; bottom = 0;
} }
else if (3 === type) { // row range else if (3 === type) { // row range
...@@ -3791,14 +3791,14 @@ function OfflineEditor () { ...@@ -3791,14 +3791,14 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[arrRanges[i].c1].left - offsetX; left = this.cols[arrRanges[i].c1].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[arrRanges[i].r1].top - offsetY; top = this.rows[arrRanges[i].r1].top - offsetY;
right = 0; right = 0;
if (addb > 0) if (addb > 0)
bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY; bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY;
else else
...@@ -3809,12 +3809,12 @@ function OfflineEditor () { ...@@ -3809,12 +3809,12 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[arrRanges[i].c1].left - offsetX; left = this.cols[arrRanges[i].c1].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[arrRanges[i].r1].top - offsetY; top = this.rows[arrRanges[i].r1].top - offsetY;
right = 0; right = 0;
bottom = 0; bottom = 0;
} else { } else {
...@@ -3822,53 +3822,53 @@ function OfflineEditor () { ...@@ -3822,53 +3822,53 @@ function OfflineEditor () {
left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX; left = this.cols[colsCount - 1].left + this.defaultColWidth * addl - offsetX;
else else
left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX; left = this.cols[Math.max(0,arrRanges[i].c1)].left - offsetX;
if (addt > 0) if (addt > 0)
top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY; top = this.rows[rowsCount - 1].top + addt * defaultRowHeight - offsetY;
else else
top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY; top = this.rows[Math.max(0,arrRanges[i].r1)].top - offsetY;
if (addr > 0) if (addr > 0)
right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX; right = this.cols[colsCount - 1].left + this.defaultColWidth * addr - offsetX;
else else
right = this.cols[Math.max(0,arrRanges[i].c2)].left + this.cols[Math.max(0,arrRanges[i].c2)].width - offsetX; right = this.cols[Math.max(0,arrRanges[i].c2)].left + this.cols[Math.max(0,arrRanges[i].c2)].width - offsetX;
if (addb > 0) if (addb > 0)
bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY; bottom = this.rows[rowsCount - 1].top + addb * defaultRowHeight - offsetY;
else else
bottom = this.rows[Math.max(0,arrRanges[i].r2)].top + this.rows[Math.max(0,arrRanges[i].r2)].height - offsetY; 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 (5 === type) { // range image
// } // }
// else if (6 === type) { // range chart // else if (6 === type) { // range chart
// } // }
ranges.push(left); ranges.push(left);
ranges.push(top); ranges.push(top);
ranges.push(right); ranges.push(right);
ranges.push(bottom); ranges.push(bottom);
} }
return ranges; return ranges;
}; };
}; };
this.openFile = function(settings) { this.openFile = function(settings) {
window["NativeSupportTimeouts"] = true; window["NativeSupportTimeouts"] = true;
// try // try
// { // {
// throw "OpenFile"; // throw "OpenFile";
// } // }
// catch (e) // catch (e)
// { // {
// //
// } // }
this.initSettings = settings; this.initSettings = settings;
this.beforeOpen(); this.beforeOpen();
window["CreateMainTextMeasurerWrapper"](); window["CreateMainTextMeasurerWrapper"]();
...@@ -3888,40 +3888,40 @@ function OfflineEditor () { ...@@ -3888,40 +3888,40 @@ function OfflineEditor () {
var docInfo = new Asc.asc_CDocInfo(); var docInfo = new Asc.asc_CDocInfo();
docInfo.put_Id(this.initSettings["docKey"]); docInfo.put_Id(this.initSettings["docKey"]);
docInfo.put_UserInfo(userInfo); docInfo.put_UserInfo(userInfo);
_api.asc_setDocInfo(docInfo); _api.asc_setDocInfo(docInfo);
this.offline_beforeInit(); this.offline_beforeInit();
this.registerEventsHandlers(); this.registerEventsHandlers();
if (this.initSettings["iscoauthoring"]) { if (this.initSettings["iscoauthoring"]) {
_api.asc_setAutoSaveGap(1); _api.asc_setAutoSaveGap(1);
_api._coAuthoringInit(); _api._coAuthoringInit();
_api.asc_SetFastCollaborative(true); _api.asc_SetFastCollaborative(true);
} else { } else {
_api.asc_nativeOpenFile(window["native"]["GetFileString"](), undefined, true); _api.asc_nativeOpenFile(window["native"]["GetFileString"](), undefined, true);
this.asc_WriteAllWorksheets(true); this.asc_WriteAllWorksheets(true);
_api.sendColorThemes(_api.wbModel.theme); _api.sendColorThemes(_api.wbModel.theme);
_api.asc_ApplyColorScheme(false); _api.asc_ApplyColorScheme(false);
_api._applyFirstLoadChanges(); _api._applyFirstLoadChanges();
var ws = _api.wb.getWorksheet(); var ws = _api.wb.getWorksheet();
_api.wb.showWorksheet(undefined, false, true); _api.wb.showWorksheet(undefined, false, true);
ws._fixSelectionOfMergedCells(); ws._fixSelectionOfMergedCells();
if (ws.topLeftFrozenCell) { if (ws.topLeftFrozenCell) {
this.row0 = ws.topLeftFrozenCell.getRow0(); this.row0 = ws.topLeftFrozenCell.getRow0();
this.col0 = ws.topLeftFrozenCell.getCol0(); this.col0 = ws.topLeftFrozenCell.getCol0();
} }
// TODO: Implement frozen places // TODO: Implement frozen places
// TODO: Implement Text Art Styles // TODO: Implement Text Art Styles
} }
this.offline_afteInit(); this.offline_afteInit();
}; };
this.registerEventsHandlers = function () { this.registerEventsHandlers = function () {
...@@ -3934,25 +3934,25 @@ function OfflineEditor () { ...@@ -3934,25 +3934,25 @@ function OfflineEditor () {
stream["WriteBool"](bCanUndo); stream["WriteBool"](bCanUndo);
window["native"]["OnCallMenuEvent"](60, stream); // ASC_MENU_EVENT_TYPE_CAN_UNDO window["native"]["OnCallMenuEvent"](60, stream); // ASC_MENU_EVENT_TYPE_CAN_UNDO
}); });
_api.asc_registerCallback("asc_onCanRedoChanged", function (bCanRedo) { _api.asc_registerCallback("asc_onCanRedoChanged", function (bCanRedo) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
stream["WriteBool"](bCanRedo); stream["WriteBool"](bCanRedo);
window["native"]["OnCallMenuEvent"](61, stream); // ASC_MENU_EVENT_TYPE_CAN_REDO window["native"]["OnCallMenuEvent"](61, stream); // ASC_MENU_EVENT_TYPE_CAN_REDO
}); });
_api.asc_registerCallback("asc_onDocumentModifiedChanged", function(change) { _api.asc_registerCallback("asc_onDocumentModifiedChanged", function(change) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
stream["WriteBool"](change); stream["WriteBool"](change);
window["native"]["OnCallMenuEvent"](66, stream); // ASC_MENU_EVENT_TYPE_DOCUMETN_MODIFITY window["native"]["OnCallMenuEvent"](66, stream); // ASC_MENU_EVENT_TYPE_DOCUMETN_MODIFITY
}); });
_api.asc_registerCallback("asc_onActiveSheetChanged", function(index) { _api.asc_registerCallback("asc_onActiveSheetChanged", function(index) {
t.asc_WriteAllWorksheets(true, true); t.asc_WriteAllWorksheets(true, true);
}); });
_api.asc_registerCallback("asc_onRenameCellTextEnd", function(found, replaced) { _api.asc_registerCallback("asc_onRenameCellTextEnd", function(found, replaced) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
...@@ -3960,7 +3960,7 @@ function OfflineEditor () { ...@@ -3960,7 +3960,7 @@ function OfflineEditor () {
stream["WriteLong"](replaced); stream["WriteLong"](replaced);
window["native"]["OnCallMenuEvent"](63, stream); // ASC_MENU_EVENT_TYPE_SEARCH_REPLACETEXT window["native"]["OnCallMenuEvent"](63, stream); // ASC_MENU_EVENT_TYPE_SEARCH_REPLACETEXT
}); });
_api.asc_registerCallback("asc_onSelectionChanged", function(cellInfo) { _api.asc_registerCallback("asc_onSelectionChanged", function(cellInfo) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
...@@ -3968,40 +3968,40 @@ function OfflineEditor () { ...@@ -3968,40 +3968,40 @@ function OfflineEditor () {
window["native"]["OnCallMenuEvent"](2402, stream); // ASC_SPREADSHEETS_EVENT_TYPE_SELECTION_CHANGED window["native"]["OnCallMenuEvent"](2402, stream); // ASC_SPREADSHEETS_EVENT_TYPE_SELECTION_CHANGED
t.onSelectionChanged(cellInfo); t.onSelectionChanged(cellInfo);
}); });
_api.asc_registerCallback("asc_onSelectionNameChanged", function(name) { _api.asc_registerCallback("asc_onSelectionNameChanged", function(name) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
stream["WriteString2"](name); stream["WriteString2"](name);
window["native"]["OnCallMenuEvent"](2310, stream); // ASC_SPREADSHEETS_EVENT_TYPE_EDITOR_SELECTION_NAME_CHANGED window["native"]["OnCallMenuEvent"](2310, stream); // ASC_SPREADSHEETS_EVENT_TYPE_EDITOR_SELECTION_NAME_CHANGED
}); });
_api.asc_registerCallback("asc_onEditorSelectionChanged", function(font) { _api.asc_registerCallback("asc_onEditorSelectionChanged", function(font) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
asc_WriteCFont(-1, font, stream); asc_WriteCFont(-1, font, stream);
window["native"]["OnCallMenuEvent"](2403, stream); // ASC_SPREADSHEETS_EVENT_TYPE_EDITOR_SELECTION_CHANGED window["native"]["OnCallMenuEvent"](2403, stream); // ASC_SPREADSHEETS_EVENT_TYPE_EDITOR_SELECTION_CHANGED
}); });
_api.asc_registerCallback("asc_onSendThemeColorSchemes", function(schemes) { _api.asc_registerCallback("asc_onSendThemeColorSchemes", function(schemes) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
asc_WriteColorSchemes(schemes, stream); asc_WriteColorSchemes(schemes, stream);
window["native"]["OnCallMenuEvent"](2404, stream); // ASC_SPREADSHEETS_EVENT_TYPE_COLOR_SCHEMES window["native"]["OnCallMenuEvent"](2404, stream); // ASC_SPREADSHEETS_EVENT_TYPE_COLOR_SCHEMES
}); });
_api.asc_registerCallback("asc_onInitTablePictures", function () { _api.asc_registerCallback("asc_onInitTablePictures", function () {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
window["native"]["OnCallMenuEvent"](12, stream); // ASC_MENU_EVENT_TYPE_TABLE_STYLES window["native"]["OnCallMenuEvent"](12, stream); // ASC_MENU_EVENT_TYPE_TABLE_STYLES
}); });
_api.asc_registerCallback("asc_onInitEditorStyles", function () { _api.asc_registerCallback("asc_onInitEditorStyles", function () {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
window["native"]["OnCallMenuEvent"](2405, stream); // ASC_SPREADSHEETS_EVENT_TYPE_CELL_STYLES window["native"]["OnCallMenuEvent"](2405, stream); // ASC_SPREADSHEETS_EVENT_TYPE_CELL_STYLES
}); });
_api.asc_registerCallback("asc_onError", function(id, level, errData) { _api.asc_registerCallback("asc_onError", function(id, level, errData) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
...@@ -4009,46 +4009,46 @@ function OfflineEditor () { ...@@ -4009,46 +4009,46 @@ function OfflineEditor () {
stream["WriteLong"](level); stream["WriteLong"](level);
window["native"]["OnCallMenuEvent"](500, stream); // ASC_MENU_EVENT_TYPE_ON_ERROR window["native"]["OnCallMenuEvent"](500, stream); // ASC_MENU_EVENT_TYPE_ON_ERROR
}); });
_api.asc_registerCallback("asc_onEditCell", function(state) { _api.asc_registerCallback("asc_onEditCell", function(state) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
stream["WriteLong"](state); stream["WriteLong"](state);
window["native"]["OnCallMenuEvent"](2600, stream); // ASC_SPREADSHEETS_EVENT_TYPE_ON_EDIT_CELL window["native"]["OnCallMenuEvent"](2600, stream); // ASC_SPREADSHEETS_EVENT_TYPE_ON_EDIT_CELL
}); });
_api.asc_registerCallback("asc_onSetAFDialog", function(state) { _api.asc_registerCallback("asc_onSetAFDialog", function(state) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
asc_WriteAutoFiltersOptions(state, stream); asc_WriteAutoFiltersOptions(state, stream);
window["native"]["OnCallMenuEvent"](3060, stream); // ASC_SPREADSHEETS_EVENT_TYPE_FILTER_DIALOG window["native"]["OnCallMenuEvent"](3060, stream); // ASC_SPREADSHEETS_EVENT_TYPE_FILTER_DIALOG
}); });
_api.asc_registerCallback("asc_onAuthParticipantsChanged", function(users) { _api.asc_registerCallback("asc_onAuthParticipantsChanged", function(users) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
asc_WriteUsers(users, stream); asc_WriteUsers(users, stream);
window["native"]["OnCallMenuEvent"](20101, stream); // ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED window["native"]["OnCallMenuEvent"](20101, stream); // ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED
}); });
_api.asc_registerCallback("asc_onParticipantsChanged", function(users) { _api.asc_registerCallback("asc_onParticipantsChanged", function(users) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
asc_WriteUsers(users, stream); asc_WriteUsers(users, stream);
window["native"]["OnCallMenuEvent"](20101, stream); // ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED window["native"]["OnCallMenuEvent"](20101, stream); // ASC_COAUTH_EVENT_TYPE_PARTICIPANTS_CHANGED
}); });
_api.asc_registerCallback("asc_onSheetsChanged", function () { _api.asc_registerCallback("asc_onSheetsChanged", function () {
t.asc_WriteAllWorksheets(true, true); t.asc_WriteAllWorksheets(true, true);
}); });
_api.asc_registerCallback("asc_onWorkbookLocked", function(locked) { _api.asc_registerCallback("asc_onWorkbookLocked", function(locked) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
stream["WriteBool"](locked); stream["WriteBool"](locked);
window["native"]["OnCallMenuEvent"](20104, stream); // ASC_COAUTH_EVENT_TYPE_WORKBOOK_LOCKED window["native"]["OnCallMenuEvent"](20104, stream); // ASC_COAUTH_EVENT_TYPE_WORKBOOK_LOCKED
}); });
_api.asc_registerCallback("asc_onWorksheetLocked", function(index, locked) { _api.asc_registerCallback("asc_onWorksheetLocked", function(index, locked) {
var stream = global_memory_stream_menu; var stream = global_memory_stream_menu;
stream["ClearNoAttack"](); stream["ClearNoAttack"]();
...@@ -4056,9 +4056,9 @@ function OfflineEditor () { ...@@ -4056,9 +4056,9 @@ function OfflineEditor () {
stream["WriteBool"](locked); stream["WriteBool"](locked);
window["native"]["OnCallMenuEvent"](20105, stream); // ASC_COAUTH_EVENT_TYPE_WORKSHEET_LOCKED window["native"]["OnCallMenuEvent"](20105, stream); // ASC_COAUTH_EVENT_TYPE_WORKSHEET_LOCKED
}); });
_api.asc_registerCallback("asc_onGetEditorPermissions", function(state) { _api.asc_registerCallback("asc_onGetEditorPermissions", function(state) {
var rData = { var rData = {
"c" : "open", "c" : "open",
"id" : t.initSettings["docKey"], "id" : t.initSettings["docKey"],
...@@ -4068,10 +4068,10 @@ function OfflineEditor () { ...@@ -4068,10 +4068,10 @@ function OfflineEditor () {
"url" : t.initSettings["docURL"], "url" : t.initSettings["docURL"],
"title" : this.documentTitle, "title" : this.documentTitle,
"embeddedfonts" : false}; "embeddedfonts" : false};
_api.CoAuthoringApi.auth(t.initSettings["viewmode"], rData); _api.CoAuthoringApi.auth(t.initSettings["viewmode"], rData);
}); });
_api.asc_registerCallback("asc_onDocumentUpdateVersion", function(callback) { _api.asc_registerCallback("asc_onDocumentUpdateVersion", function(callback) {
var me = this; var me = this;
me.needToUpdateVersion = true; me.needToUpdateVersion = true;
...@@ -4111,17 +4111,17 @@ function OfflineEditor () { ...@@ -4111,17 +4111,17 @@ function OfflineEditor () {
var ws = _api.wb.getWorksheet(); var ws = _api.wb.getWorksheet();
var region = null; var region = null;
//var range = ws.activeRange.intersection(worksheet.visibleRange); //var range = ws.activeRange.intersection(worksheet.visibleRange);
var ranges = ws.model.selectionRange.ranges; var ranges = ws.model.selectionRange.ranges;
var range = ws.visibleRange; var range = ws.visibleRange;
for (var i = 0, l = ranges.length; i < l; ++i) { for (var i = 0, l = ranges.length; i < l; ++i) {
range = range.intersection(ranges[i]); range = range.intersection(ranges[i]);
} }
if ((null === range) && (ranges.length > 0)) { if ((null === range) && (ranges.length > 0)) {
range = ranges[0]; range = ranges[0];
} }
if (autocorrection) { if (autocorrection) {
this._resizeWorkRegion(ws, range.c2, range.r2); 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}; 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 () { ...@@ -4666,9 +4666,9 @@ function OfflineEditor () {
var objectRender = ws.objectRender; var objectRender = ws.objectRender;
var objectId = null; var objectId = null;
var current = {pos: 0}; var current = {pos: 0};
var shapeProp = asc_menu_ReadShapePr(options["shape"], current); var shapeProp = asc_menu_ReadShapePr(options["shape"], current);
var left = options["l"]; var left = options["l"];
var top = options["t"]; var top = options["t"];
var right = options["r"]; var right = options["r"];
...@@ -4708,14 +4708,14 @@ function OfflineEditor () { ...@@ -4708,14 +4708,14 @@ function OfflineEditor () {
var objectRender = ws.objectRender; var objectRender = ws.objectRender;
var objectId = null; var objectId = null;
var current = {pos: 0}; var current = {pos: 0};
var settings = asc_menu_ReadChartPr(options["chart"], current); var settings = asc_menu_ReadChartPr(options["chart"], current);
var left = options["l"]; var left = options["l"];
var top = options["t"]; var top = options["t"];
var right = options["r"]; var right = options["r"];
var bottom = options["b"]; var bottom = options["b"];
var selectedRange = ws.getSelectedRange(); var selectedRange = ws.getSelectedRange();
if (selectedRange) if (selectedRange)
{ {
...@@ -4875,9 +4875,6 @@ function OfflineEditor () { ...@@ -4875,9 +4875,6 @@ function OfflineEditor () {
var styleThumbnailWidth = Math.floor(92.0 * pxToMM); var styleThumbnailWidth = Math.floor(92.0 * pxToMM);
var styleThumbnailHeight = Math.floor(48.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) { AscCommonExcel.WorkbookView.prototype.af_getTablePictures = function(wb, fmgrGraphics, oFont, props) {
window["native"]["SetStylesType"](1); window["native"]["SetStylesType"](1);
...@@ -4921,7 +4918,7 @@ function OfflineEditor () { ...@@ -4921,7 +4918,7 @@ function OfflineEditor () {
var ctx = new Asc.DrawingContext({canvas: canvas, units: 0/*pt*/, fmgrGraphics: fmgrGraphics, font: oFont}); var ctx = new Asc.DrawingContext({canvas: canvas, units: 0/*pt*/, fmgrGraphics: fmgrGraphics, font: oFont});
var styleOptions = style; var styleOptions = style;
var styleInfo; var styleInfo;
if (props) { if (props) {
styleInfo = { styleInfo = {
...@@ -4942,7 +4939,7 @@ function OfflineEditor () { ...@@ -4942,7 +4939,7 @@ function OfflineEditor () {
TotalsRowCount: false TotalsRowCount: false
}; };
} }
var xSize = styleThumbnailWidth * pxToMM; //61 * pxToMM; var xSize = styleThumbnailWidth * pxToMM; //61 * pxToMM;
var ySize = styleThumbnailHeight * pxToMM; //45 * pxToMM; var ySize = styleThumbnailHeight * pxToMM; //45 * pxToMM;
...@@ -4958,7 +4955,7 @@ function OfflineEditor () { ...@@ -4958,7 +4955,7 @@ function OfflineEditor () {
} else { } else {
defaultColorBackground = whiteColor; defaultColorBackground = whiteColor;
} }
var color; var color;
if (styleOptions != undefined) { if (styleOptions != undefined) {
if (styleOptions.wholeTable && styleOptions.wholeTable.dxf.fill && null != styleOptions.wholeTable.dxf.fill.bg) { if (styleOptions.wholeTable && styleOptions.wholeTable.dxf.fill && null != styleOptions.wholeTable.dxf.fill.bg) {
...@@ -4993,16 +4990,16 @@ function OfflineEditor () { ...@@ -4993,16 +4990,16 @@ function OfflineEditor () {
ctx.fillRect(k * stepX, 0, stepX, ySize); ctx.fillRect(k * stepX, 0, stepX, ySize);
} }
} }
if (styleInfo.ShowRowStripes)//row stripes if (styleInfo.ShowRowStripes)//row stripes
{ {
for (var k = 0; k < 6; k++) { for (var k = 0; k < 6; k++) {
color = null; color = null;
if (k == 0 && styleInfo.HeaderRowCount) { if (k == 0 && styleInfo.HeaderRowCount) {
continue; continue;
} }
if (styleInfo.HeaderRowCount) { if (styleInfo.HeaderRowCount) {
if (k % 2 != 0) { if (k % 2 != 0) {
if (styleOptions.firstRowStripe && styleOptions.firstRowStripe.dxf.fill && if (styleOptions.firstRowStripe && styleOptions.firstRowStripe.dxf.fill &&
...@@ -5028,14 +5025,14 @@ function OfflineEditor () { ...@@ -5028,14 +5025,14 @@ function OfflineEditor () {
} }
} }
} }
if (color != null) { if (color != null) {
ctx.setFillStyle(color); ctx.setFillStyle(color);
ctx.fillRect(0, k * stepY, xSize, stepY); ctx.fillRect(0, k * stepY, xSize, stepY);
} }
} }
} }
if (styleInfo.ShowFirstColumn && styleOptions.firstColumn)//first column if (styleInfo.ShowFirstColumn && styleOptions.firstColumn)//first column
{ {
color = null; color = null;
...@@ -5043,7 +5040,7 @@ function OfflineEditor () { ...@@ -5043,7 +5040,7 @@ function OfflineEditor () {
null != styleOptions.firstColumn.dxf.fill.bg) { null != styleOptions.firstColumn.dxf.fill.bg) {
color = styleOptions.firstColumn.dxf.fill.bg; color = styleOptions.firstColumn.dxf.fill.bg;
} }
if (color != null) { if (color != null) {
ctx.setFillStyle(color); ctx.setFillStyle(color);
ctx.fillRect(0, 0, stepX, ySize); ctx.fillRect(0, 0, stepX, ySize);
...@@ -5056,12 +5053,12 @@ function OfflineEditor () { ...@@ -5056,12 +5053,12 @@ function OfflineEditor () {
null != styleOptions.lastColumn.dxf.fill.bg) { null != styleOptions.lastColumn.dxf.fill.bg) {
color = styleOptions.lastColumn.dxf.fill.bg; color = styleOptions.lastColumn.dxf.fill.bg;
} }
if (color != null) { if (color != null) {
ctx.setFillStyle(color); ctx.setFillStyle(color);
ctx.fillRect(4 * stepX + 1, 0, stepX, ySize); ctx.fillRect(4 * stepX + 1, 0, stepX, ySize);
} }
} }
if (styleInfo.HeaderRowCount)//header row if (styleInfo.HeaderRowCount)//header row
{ {
...@@ -5071,7 +5068,7 @@ function OfflineEditor () { ...@@ -5071,7 +5068,7 @@ function OfflineEditor () {
ctx.setFillStyle(defaultColorBackground); ctx.setFillStyle(defaultColorBackground);
} }
ctx.fillRect(0, 0, xSize, stepY); ctx.fillRect(0, 0, xSize, stepY);
} }
if (styleInfo.TotalsRowCount)//total row if (styleInfo.TotalsRowCount)//total row
{ {
...@@ -5079,14 +5076,14 @@ function OfflineEditor () { ...@@ -5079,14 +5076,14 @@ function OfflineEditor () {
if (styleOptions.totalRow && styleOptions.totalRow.dxf.fill && null != styleOptions.totalRow.dxf.fill.bg) { if (styleOptions.totalRow && styleOptions.totalRow.dxf.fill && null != styleOptions.totalRow.dxf.fill.bg) {
color = styleOptions.totalRow.dxf.fill.bg; color = styleOptions.totalRow.dxf.fill.bg;
} }
if (color !== null) { if (color !== null) {
ctx.setFillStyle(color); ctx.setFillStyle(color);
ctx.fillRect(0, stepY * 4, xSize, stepY); ctx.fillRect(0, stepY * 4, xSize, stepY);
} }
} }
//первая ячейка //первая ячейка
if (styleOptions.firstHeaderCell && styleInfo.ShowFirstColumn) { if (styleOptions.firstHeaderCell && styleInfo.ShowFirstColumn) {
if (styleOptions.firstHeaderCell && styleOptions.firstHeaderCell.dxf.fill && if (styleOptions.firstHeaderCell && styleOptions.firstHeaderCell.dxf.fill &&
...@@ -5127,12 +5124,12 @@ function OfflineEditor () { ...@@ -5127,12 +5124,12 @@ function OfflineEditor () {
} }
ctx.fillRect(4 * stepX, 4 * stepY, stepX, ySize); ctx.fillRect(4 * stepX, 4 * stepY, stepX, ySize);
} }
} else { } else {
ctx.setFillStyle(whiteColor); ctx.setFillStyle(whiteColor);
ctx.fillRect(0, 0, xSize, ySize); ctx.fillRect(0, 0, xSize, ySize);
} }
//**draw vertical and horizontal lines** //**draw vertical and horizontal lines**
if(styleOptions != undefined) if(styleOptions != undefined)
{ {
...@@ -5195,7 +5192,7 @@ function OfflineEditor () { ...@@ -5195,7 +5192,7 @@ function OfflineEditor () {
} else if (styleOptions.secondRowStripe && styleOptions.secondRowStripe.dxf.border) { } else if (styleOptions.secondRowStripe && styleOptions.secondRowStripe.dxf.border) {
border = styleOptions.secondRowStripe.dxf.border; border = styleOptions.secondRowStripe.dxf.border;
} }
if (border) { if (border) {
for (n = 1; n < 5; n++) { for (n = 1; n < 5; n++) {
ctx.lineHor(0, stepY * n, xSize); ctx.lineHor(0, stepY * n, xSize);
...@@ -5225,7 +5222,7 @@ function OfflineEditor () { ...@@ -5225,7 +5222,7 @@ function OfflineEditor () {
} }
ctx.closePath(); ctx.closePath();
} }
//**draw marks line** //**draw marks line**
var defaultColor; var defaultColor;
if (!styleOptions || !styleOptions.wholeTable || !styleOptions.wholeTable.dxf.font) { if (!styleOptions || !styleOptions.wholeTable || !styleOptions.wholeTable.dxf.font) {
...@@ -5278,15 +5275,15 @@ function OfflineEditor () { ...@@ -5278,15 +5275,15 @@ function OfflineEditor () {
AscCommon.ChartPreviewManager.prototype.clearPreviews = function() {window["native"]["ClearCacheChartStyles"]();}; AscCommon.ChartPreviewManager.prototype.clearPreviews = function() {window["native"]["ClearCacheChartStyles"]();};
AscCommon.ChartPreviewManager.prototype.createChartPreview = function(_graphics, type, styleIndex) { AscCommon.ChartPreviewManager.prototype.createChartPreview = function(_graphics, type, styleIndex) {
return AscFormat.ExecuteNoHistory(function(){ return AscFormat.ExecuteNoHistory(function(){
if(!this.chartsByTypes[type]) if(!this.chartsByTypes[type])
this.chartsByTypes[type] = this.getChartByType(type); this.chartsByTypes[type] = this.getChartByType(type);
var chart_space = this.chartsByTypes[type]; var chart_space = this.chartsByTypes[type];
AscFormat.ApplyPresetToChartSpace(chart_space, AscCommon.g_oChartPresets[type][styleIndex]); AscFormat.ApplyPresetToChartSpace(chart_space, AscCommon.g_oChartPresets[type][styleIndex]);
chart_space.recalcInfo.recalculateReferences = false; chart_space.recalcInfo.recalculateReferences = false;
chart_space.recalculate(); chart_space.recalculate();
var _width_px = this.CHART_PREVIEW_WIDTH_PIX; var _width_px = this.CHART_PREVIEW_WIDTH_PIX;
var _height_px = this.CHART_PREVIEW_HEIGHT_PIX; var _height_px = this.CHART_PREVIEW_HEIGHT_PIX;
if (AscCommon.AscBrowser.isRetina) if (AscCommon.AscBrowser.isRetina)
...@@ -5294,32 +5291,32 @@ function OfflineEditor () { ...@@ -5294,32 +5291,32 @@ function OfflineEditor () {
_width_px <<= 1; _width_px <<= 1;
_height_px <<= 1; _height_px <<= 1;
} }
window["native"]["BeginDrawDefaultStyle"](type + '', styleIndex); window["native"]["BeginDrawDefaultStyle"](type + '', styleIndex);
var dKoefToMM = AscCommon.g_dKoef_pix_to_mm; var dKoefToMM = AscCommon.g_dKoef_pix_to_mm;
if (this.IsRetinaEnabled) if (this.IsRetinaEnabled)
dKoefToMM /= 2; dKoefToMM /= 2;
chart_space.draw(_graphics); chart_space.draw(_graphics);
_graphics.ClearParams(); _graphics.ClearParams();
window["native"]["EndDrawStyle"](); window["native"]["EndDrawStyle"]();
}, this, []); }, this, []);
}; };
AscCommon.ChartPreviewManager.prototype.getChartPreviews = function(chartType) { AscCommon.ChartPreviewManager.prototype.getChartPreviews = function(chartType) {
if (AscFormat.isRealNumber(chartType)) { if (AscFormat.isRealNumber(chartType)) {
var bIsCached = window["native"]["IsCachedChartStyles"](chartType); var bIsCached = window["native"]["IsCachedChartStyles"](chartType);
if (!bIsCached) { if (!bIsCached) {
window["native"]["SetStylesType"](2); window["native"]["SetStylesType"](2);
var _graphics = new CDrawingStream(); var _graphics = new CDrawingStream();
if(AscCommon.g_oChartPresets[chartType]){ if(AscCommon.g_oChartPresets[chartType]){
var nStylesCount = AscCommon.g_oChartPresets[chartType].length; var nStylesCount = AscCommon.g_oChartPresets[chartType].length;
for(var i = 0; i < nStylesCount; ++i) for(var i = 0; i < nStylesCount; ++i)
...@@ -5353,12 +5350,12 @@ window["native"]["offline_of"] = function(arg) {_s.openFile(arg);} ...@@ -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_stz"] = function(v) {_s.zoom = v; _api.asc_setZoom(v);}
window["native"]["offline_ds"] = function(x, y, width, height, ratio, istoplayer) { window["native"]["offline_ds"] = function(x, y, width, height, ratio, istoplayer) {
AscCommon.g_oTextMeasurer.Flush(); AscCommon.g_oTextMeasurer.Flush();
_s.drawSheet(x, y, width, height, ratio, istoplayer); _s.drawSheet(x, y, width, height, ratio, istoplayer);
} }
window["native"]["offline_dh"] = function(x, y, width, height, ratio, type) { window["native"]["offline_dh"] = function(x, y, width, height, ratio, type) {
AscCommon.g_oTextMeasurer.Flush(); AscCommon.g_oTextMeasurer.Flush();
_s.drawHeader(x, y, width, height, type, ratio); _s.drawHeader(x, y, width, height, type, ratio);
} }
...@@ -5434,7 +5431,7 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor ...@@ -5434,7 +5431,7 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor
_s.cellPin = pin; _s.cellPin = pin;
_s.isFormulaEditMode = isFormulaEditMode; _s.isFormulaEditMode = isFormulaEditMode;
var ct = ws.getCursorTypeFromXY(x, y, isViewerMode); var ct = ws.getCursorTypeFromXY(x, y, isViewerMode);
if (ct.target && ct.target === AscCommonExcel.c_oTargetType.FilterObject) { if (ct.target && ct.target === AscCommonExcel.c_oTargetType.FilterObject) {
ws.af_setDialogProp(ct.idFilter); ws.af_setDialogProp(ct.idFilter);
...@@ -5445,7 +5442,7 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor ...@@ -5445,7 +5442,7 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor
if (isRangeResize) { if (isRangeResize) {
if (!isViewerMode) { if (!isViewerMode) {
var ct = ws.getCursorTypeFromXY(x, y, isViewerMode); var ct = ws.getCursorTypeFromXY(x, y, isViewerMode);
ws.startCellMoveResizeRange = null; ws.startCellMoveResizeRange = null;
...@@ -5466,12 +5463,12 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor ...@@ -5466,12 +5463,12 @@ window["native"]["offline_mouse_down"] = function(x, y, pin, isViewerMode, isFor
} else { } else {
if (0 != _s.cellPin) { if (0 != _s.cellPin) {
var selection = ws._getSelection(); var selection = ws._getSelection();
var lastRange = selection.getLast(); var lastRange = selection.getLast();
ws.leftTopRange = lastRange.clone(); ws.leftTopRange = lastRange.clone();
} else { } else {
var ret = false; var ret = false;
...@@ -5742,80 +5739,80 @@ window["native"]["offline_cell_editor_draw"] = function(width, height, ratio) { ...@@ -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) { 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.width = width * ratio;
_null_object.height = height * ratio; _null_object.height = height * ratio;
var wb = _api.wb; var wb = _api.wb;
var ws = _api.wb.getWorksheet(); var ws = _api.wb.getWorksheet();
var range = ws.visibleRange.clone(); var range = ws.visibleRange.clone();
ws.visibleRange.c1 = c1; ws.visibleRange.c1 = c1;
ws.visibleRange.r1 = r1; ws.visibleRange.r1 = r1;
ws.visibleRange.c2 = c2; ws.visibleRange.c2 = c2;
ws.visibleRange.r2 = r2; ws.visibleRange.r2 = r2;
wb.cellEditor.isSelectAll = isSelectAll; wb.cellEditor.isSelectAll = isSelectAll;
if (!isFormulaInsertMode) { if (!isFormulaInsertMode) {
var isFocus = undefined, isClearCell = undefined, isHideCursor = true, isQuickInput = false; var isFocus = undefined, isClearCell = undefined, isHideCursor = true, isQuickInput = false;
var t = wb; var t = wb;
var ws = t.getWorksheet(); var ws = t.getWorksheet();
var activeCellRange = ws.getActiveCell(0, 0, false); var activeCellRange = ws.getActiveCell(0, 0, false);
var selectionRange = ws.model.selectionRange.clone(); var selectionRange = ws.model.selectionRange.clone();
t.setCellEditMode(true); t.setCellEditMode(true);
ws.setCellEditMode(true); ws.setCellEditMode(true);
ws.openCellEditor(t.cellEditor, /*fragments*/undefined, /*cursorPos*/undefined, isFocus, isClearCell, ws.openCellEditor(t.cellEditor, /*fragments*/undefined, /*cursorPos*/undefined, isFocus, isClearCell,
/*isHideCursor*/isHideCursor, /*isQuickInput*/isQuickInput, selectionRange); /*isHideCursor*/isHideCursor, /*isQuickInput*/isQuickInput, selectionRange);
//t.input.disabled = false; //t.input.disabled = false;
t.handlers.trigger("asc_onEditCell", Asc.c_oAscCellEditorState.editStart); t.handlers.trigger("asc_onEditCell", Asc.c_oAscCellEditorState.editStart);
// Эвент на обновление состояния редактора // Эвент на обновление состояния редактора
t.cellEditor._updateEditorState(); t.cellEditor._updateEditorState();
} }
ws.visibleRange = range; ws.visibleRange = range;
} }
window["native"]["offline_cell_editor_test_cells"] = function(x, y, width, height, ratio, isSelectAll, isFormulaInsertMode, c1, r1, c2, r2) { 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.width = width * ratio;
_null_object.height = height * ratio; _null_object.height = height * ratio;
var wb = _api.wb; var wb = _api.wb;
var ws = _api.wb.getWorksheet(); var ws = _api.wb.getWorksheet();
var range = ws.visibleRange.clone(); var range = ws.visibleRange.clone();
ws.visibleRange.c1 = c1; ws.visibleRange.c1 = c1;
ws.visibleRange.r1 = r1; ws.visibleRange.r1 = r1;
ws.visibleRange.c2 = c2; ws.visibleRange.c2 = c2;
ws.visibleRange.r2 = r2; ws.visibleRange.r2 = r2;
wb.cellEditor.isSelectAll = isSelectAll; wb.cellEditor.isSelectAll = isSelectAll;
var editFunction = function() { var editFunction = function() {
window["native"]["openCellEditor"](); window["native"]["openCellEditor"]();
}; };
var editLockCallback = function(res) { var editLockCallback = function(res) {
if (!res) { if (!res) {
window["native"]["closeCellEditor"](); window["native"]["closeCellEditor"]();
//t.setCellEditMode(false); //t.setCellEditMode(false);
//t.controller.setStrictClose(false); //t.controller.setStrictClose(false);
//t.controller.setFormulaEditMode(false); //t.controller.setFormulaEditMode(false);
//ws.setCellEditMode(false); //ws.setCellEditMode(false);
//ws.setFormulaEditMode(false); //ws.setFormulaEditMode(false);
//t.input.disabled = true; //t.input.disabled = true;
// Выключаем lock для редактирования ячейки // Выключаем lock для редактирования ячейки
wb.collaborativeEditing.onStopEditCell(); wb.collaborativeEditing.onStopEditCell();
//t.cellEditor.close(false); //t.cellEditor.close(false);
wb._onWSSelectionChanged(); wb._onWSSelectionChanged();
} }
}; };
// Стартуем редактировать ячейку // Стартуем редактировать ячейку
wb.collaborativeEditing.onStartEditCell(); wb.collaborativeEditing.onStartEditCell();
if (ws._isLockedCells(ws.getActiveCell(0, 0, false), /*subType*/null, editLockCallback)) { 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 ...@@ -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) { window["native"]["offline_cell_editor_process_input_commands"] = function(sendArguments) {
_null_object.width = width * ratio; _null_object.width = width * ratio;
_null_object.height = height * ratio; _null_object.height = height * ratio;
var wb = _api.wb; var wb = _api.wb;
var cellEditor = _api.wb.cellEditor; var cellEditor = _api.wb.cellEditor;
var operationCode, left,right, position, value, value2; var operationCode, left,right, position, value, value2;
var width = sendArguments[0]; var width = sendArguments[0];
var height = sendArguments[1]; var height = sendArguments[1];
var ratio = sendArguments[2]; var ratio = sendArguments[2];
for (var i = 3; i < sendArguments.length; i += 4) { for (var i = 3; i < sendArguments.length; i += 4) {
operationCode = sendArguments[i + 0]; operationCode = sendArguments[i + 0];
value = sendArguments[i + 1]; value = sendArguments[i + 1];
value2 = sendArguments[i + 2]; value2 = sendArguments[i + 2];
...@@ -5847,7 +5844,7 @@ window["native"]["offline_cell_editor_process_input_commands"] = function(sendAr ...@@ -5847,7 +5844,7 @@ window["native"]["offline_cell_editor_process_input_commands"] = function(sendAr
var event = {which:value,metaKey:undefined,ctrlKey:undefined}; var event = {which:value,metaKey:undefined,ctrlKey:undefined};
event.stopPropagation = function() {}; event.stopPropagation = function() {};
event.preventDefault = function() {}; event.preventDefault = function() {};
switch (operationCode) { switch (operationCode) {
// KEY_DOWN // KEY_DOWN
...@@ -6010,11 +6007,11 @@ window["native"]["offline_cell_editor_mouse_event"] = function(sendEvents) { ...@@ -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) { window["native"]["offline_cell_editor_close"] = function(x, y, width, height, ratio) {
var e = {which: 13, shiftKey: false, metaKey: false, ctrlKey: false}; var e = {which: 13, shiftKey: false, metaKey: false, ctrlKey: false};
var wb = _api.wb; var wb = _api.wb;
var ws = _api.wb.getWorksheet(); var ws = _api.wb.getWorksheet();
var cellEditor = wb.cellEditor; var cellEditor = wb.cellEditor;
// TODO: SHOW POPUP // TODO: SHOW POPUP
var length = cellEditor.undoList.length; var length = cellEditor.undoList.length;
...@@ -6118,7 +6115,7 @@ window["native"]["offline_insertFormula"] = function(functionName, autoComplete, ...@@ -6118,7 +6115,7 @@ window["native"]["offline_insertFormula"] = function(functionName, autoComplete,
} }
var arn = ws.model.selectionRange.clone(); var arn = ws.model.selectionRange.clone();
var openEditor = function (res) { var openEditor = function (res) {
if (res) { if (res) {
// Выставляем переменные, что мы редактируем // Выставляем переменные, что мы редактируем
...@@ -6159,56 +6156,56 @@ window["native"]["offline_insertFormula"] = function(functionName, autoComplete, ...@@ -6159,56 +6156,56 @@ window["native"]["offline_insertFormula"] = function(functionName, autoComplete,
window["native"]["offline_copy"] = function() { window["native"]["offline_copy"] = function() {
var worksheet = _api.wb.getWorksheet(); var worksheet = _api.wb.getWorksheet();
var sBase64 = {}; var sBase64 = {};
var dataBuffer = {}; var dataBuffer = {};
if (_api.wb.cellEditor.isOpened) { if (_api.wb.cellEditor.isOpened) {
var v = _api.wb.cellEditor.copySelection(); var v = _api.wb.cellEditor.copySelection();
if (v) { if (v) {
dataBuffer.text = _api.wb.cellEditor._getFragmentsText(v); dataBuffer.text = _api.wb.cellEditor._getFragmentsText(v);
} }
} else { } else {
var clipboard = {}; var clipboard = {};
clipboard.pushData = function(type, data) { clipboard.pushData = function(type, data) {
if (AscCommon.c_oAscClipboardDataFormat.Text === type) { if (AscCommon.c_oAscClipboardDataFormat.Text === type) {
dataBuffer.text = data; dataBuffer.text = data;
} else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) { } else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) {
if (null != data.drawingUrls && data.drawingUrls.length > 0) { if (null != data.drawingUrls && data.drawingUrls.length > 0) {
dataBuffer.drawingUrls = data.drawingUrls[0]; dataBuffer.drawingUrls = data.drawingUrls[0];
} }
dataBuffer.sBase64 = data.sBase64; dataBuffer.sBase64 = data.sBase64;
} }
} }
_api.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text); _api.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text);
} }
var _stream = global_memory_stream_menu; var _stream = global_memory_stream_menu;
_stream["ClearNoAttack"](); _stream["ClearNoAttack"]();
if (dataBuffer.text) { if (dataBuffer.text) {
_stream["WriteByte"](0); _stream["WriteByte"](0);
_stream["WriteString2"](dataBuffer.text); _stream["WriteString2"](dataBuffer.text);
} }
if (dataBuffer.drawingUrls) { if (dataBuffer.drawingUrls) {
_stream["WriteByte"](1); _stream["WriteByte"](1);
_stream["WriteStringA"](dataBuffer.drawingUrls); _stream["WriteStringA"](dataBuffer.drawingUrls);
} }
if (dataBuffer.sBase64) { if (dataBuffer.sBase64) {
_stream["WriteByte"](2); _stream["WriteByte"](2);
_stream["WriteStringA"](dataBuffer.sBase64); _stream["WriteStringA"](dataBuffer.sBase64);
} }
_stream["WriteByte"](255); _stream["WriteByte"](255);
return _stream; return _stream;
} }
window["native"]["offline_paste"] = function(params) { window["native"]["offline_paste"] = function(params) {
...@@ -6230,60 +6227,60 @@ window["native"]["offline_paste"] = function(params) { ...@@ -6230,60 +6227,60 @@ window["native"]["offline_paste"] = function(params) {
} }
window["native"]["offline_cut"] = function() { window["native"]["offline_cut"] = function() {
var worksheet = _api.wb.getWorksheet(); var worksheet = _api.wb.getWorksheet();
var dataBuffer = {}; var dataBuffer = {};
if (_api.wb.cellEditor.isOpened) { if (_api.wb.cellEditor.isOpened) {
var v = _api.wb.cellEditor.copySelection(); var v = _api.wb.cellEditor.copySelection();
if (v) { if (v) {
dataBuffer.text = _api.wb.cellEditor._getFragmentsText(v); dataBuffer.text = _api.wb.cellEditor._getFragmentsText(v);
_api.wb.cellEditor.cutSelection(); _api.wb.cellEditor.cutSelection();
} }
} else { } else {
var clipboard = {}; var clipboard = {};
clipboard.pushData = function(type, data) { clipboard.pushData = function(type, data) {
if (AscCommon.c_oAscClipboardDataFormat.Text === type) { if (AscCommon.c_oAscClipboardDataFormat.Text === type) {
dataBuffer.text = data; dataBuffer.text = data;
} else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) { } else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) {
if (null != data.drawingUrls && data.drawingUrls.length > 0) { if (null != data.drawingUrls && data.drawingUrls.length > 0) {
dataBuffer.drawingUrls = data.drawingUrls[0]; dataBuffer.drawingUrls = data.drawingUrls[0];
} }
dataBuffer.sBase64 = data.sBase64; dataBuffer.sBase64 = data.sBase64;
} }
} }
_api.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text); _api.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text);
worksheet.emptySelection(Asc.c_oAscCleanOptions.All); worksheet.emptySelection(Asc.c_oAscCleanOptions.All);
} }
var _stream = global_memory_stream_menu; var _stream = global_memory_stream_menu;
_stream["ClearNoAttack"](); _stream["ClearNoAttack"]();
if (dataBuffer.text) { if (dataBuffer.text) {
_stream["WriteByte"](0); _stream["WriteByte"](0);
_stream["WriteString2"](dataBuffer.text); _stream["WriteString2"](dataBuffer.text);
} }
if (dataBuffer.drawingUrls) { if (dataBuffer.drawingUrls) {
_stream["WriteByte"](1); _stream["WriteByte"](1);
_stream["WriteStringA"](dataBuffer.drawingUrls); _stream["WriteStringA"](dataBuffer.drawingUrls);
} }
if (dataBuffer.sBase64) { if (dataBuffer.sBase64) {
_stream["WriteByte"](2); _stream["WriteByte"](2);
_stream["WriteStringA"](dataBuffer.sBase64); _stream["WriteStringA"](dataBuffer.sBase64);
} }
_stream["WriteByte"](255); _stream["WriteByte"](255);
return _stream; return _stream;
} }
window["native"]["offline_delete"] = function() { window["native"]["offline_delete"] = function() {
...@@ -6551,7 +6548,7 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -6551,7 +6548,7 @@ window["native"]["offline_apply_event"] = function(type,params) {
} }
break; break;
} }
case 12: // ASC_MENU_EVENT_TYPE_TABLESTYLES case 12: // ASC_MENU_EVENT_TYPE_TABLESTYLES
{ {
var props = asc_ReadFormatTableInfo(params, _current); var props = asc_ReadFormatTableInfo(params, _current);
...@@ -7097,7 +7094,7 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7097,7 +7094,7 @@ window["native"]["offline_apply_event"] = function(type,params) {
_api.asc_endFindText(); _api.asc_endFindText();
break; break;
} }
case 2405: // ASC_SPREADSHEETS_EVENT_TYPE_CELL_STYLES case 2405: // ASC_SPREADSHEETS_EVENT_TYPE_CELL_STYLES
{ {
_api.wb.getCellStyles(); _api.wb.getCellStyles();
...@@ -7124,16 +7121,16 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7124,16 +7121,16 @@ window["native"]["offline_apply_event"] = function(type,params) {
case 3010: // ASC_SPREADSHEETS_EVENT_TYPE_AUTO_FILTER_CHANGE case 3010: // ASC_SPREADSHEETS_EVENT_TYPE_AUTO_FILTER_CHANGE
{ {
var changeFilter = asc_ReadAutoFilter(params, _current); var changeFilter = asc_ReadAutoFilter(params, _current);
if (changeFilter && 'FALSE' === changeFilter.styleName) { if (changeFilter && 'FALSE' === changeFilter.styleName) {
changeFilter.styleName = false; changeFilter.styleName = false;
} }
_api.asc_changeAutoFilter(changeFilter.tableName, changeFilter.optionType, changeFilter.styleName); _api.asc_changeAutoFilter(changeFilter.tableName, changeFilter.optionType, changeFilter.styleName);
_api.wb.getWorksheet().handlers.trigger('selectionChanged'); _api.wb.getWorksheet().handlers.trigger('selectionChanged');
break; break;
} }
case 3020: // ASC_SPREADSHEETS_EVENT_TYPE_AUTO_FILTER_APPLY case 3020: // ASC_SPREADSHEETS_EVENT_TYPE_AUTO_FILTER_APPLY
{ {
var autoFilter = asc_ReadAutoFiltersOptions(params, _current); var autoFilter = asc_ReadAutoFiltersOptions(params, _current);
...@@ -7304,14 +7301,14 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7304,14 +7301,14 @@ window["native"]["offline_apply_event"] = function(type,params) {
_return = _stream; _return = _stream;
break; break;
} }
case 7005: // ASC_SPREADSHEETS_EVENT_TYPE_GET_CHART_SETTINGS case 7005: // ASC_SPREADSHEETS_EVENT_TYPE_GET_CHART_SETTINGS
{ {
var chartSettings = _api.asc_getChartObject(); var chartSettings = _api.asc_getChartObject();
if (chartSettings) { if (chartSettings) {
_stream = global_memory_stream_menu; _stream = global_memory_stream_menu;
_stream["ClearNoAttack"](); _stream["ClearNoAttack"]();
asc_menu_WriteChartPr(12, chartSettings, _stream); asc_menu_WriteChartPr(12, chartSettings, _stream);
_return = _stream; _return = _stream;
} }
...@@ -7339,31 +7336,31 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7339,31 +7336,31 @@ window["native"]["offline_apply_event"] = function(type,params) {
ws.changeRowHeight(toRow, height, 0); ws.changeRowHeight(toRow, height, 0);
break; break;
} }
case 10000: // ASC_SOCKET_EVENT_TYPE_OPEN case 10000: // ASC_SOCKET_EVENT_TYPE_OPEN
{ {
var t = _api.CoAuthoringApi._CoAuthoringApi; var t = _api.CoAuthoringApi._CoAuthoringApi;
t._state = AscCommon.ConnectionState.WaitAuth; t._state = AscCommon.ConnectionState.WaitAuth;
t.onFirstConnect(); t.onFirstConnect();
break; break;
} }
case 10010: // ASC_SOCKET_EVENT_TYPE_ON_CLOSE case 10010: // ASC_SOCKET_EVENT_TYPE_ON_CLOSE
{ {
break; break;
} }
case 10020: // ASC_SOCKET_EVENT_TYPE_MESSAGE case 10020: // ASC_SOCKET_EVENT_TYPE_MESSAGE
{ {
var t = _api.CoAuthoringApi._CoAuthoringApi; var t = _api.CoAuthoringApi._CoAuthoringApi;
var dataObject = JSON.parse(params); var dataObject = JSON.parse(params);
// console.log("JS - " + dataObject['type']); // console.log("JS - " + dataObject['type']);
switch (dataObject['type']) { switch (dataObject['type']) {
case 'auth' : case 'auth' :
t._onAuth(dataObject); t._onAuth(dataObject);
...@@ -7419,15 +7416,15 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7419,15 +7416,15 @@ window["native"]["offline_apply_event"] = function(type,params) {
t._onSession(dataObject); t._onSession(dataObject);
break; break;
} }
break; break;
} }
case 11010: // ASC_SOCKET_EVENT_TYPE_ON_DISCONNECT case 11010: // ASC_SOCKET_EVENT_TYPE_ON_DISCONNECT
{ {
break; break;
} }
case 11020: // ASC_SOCKET_EVENT_TYPE_TRY_RECONNECT case 11020: // ASC_SOCKET_EVENT_TYPE_TRY_RECONNECT
{ {
var t = _api.CoAuthoringApi._CoAuthoringApi; var t = _api.CoAuthoringApi._CoAuthoringApi;
...@@ -7435,7 +7432,7 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7435,7 +7432,7 @@ window["native"]["offline_apply_event"] = function(type,params) {
t._initSocksJs(); t._initSocksJs();
break; break;
} }
case 21000: // ASC_COAUTH_EVENT_TYPE_INSERT_URL_IMAGE case 21000: // ASC_COAUTH_EVENT_TYPE_INSERT_URL_IMAGE
{ {
var urls = JSON.parse(params[0]); var urls = JSON.parse(params[0]);
...@@ -7450,10 +7447,10 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7450,10 +7447,10 @@ window["native"]["offline_apply_event"] = function(type,params) {
params[0] = firstUrl; params[0] = firstUrl;
_return = _s.offline_addImageDrawingObject(params); _return = _s.offline_addImageDrawingObject(params);
break; break;
} }
default: default:
break; break;
} }
...@@ -7462,25 +7459,25 @@ window["native"]["offline_apply_event"] = function(type,params) { ...@@ -7462,25 +7459,25 @@ window["native"]["offline_apply_event"] = function(type,params) {
} }
function testLockedObjects () { function testLockedObjects () {
var ws = _api.wb.getWorksheet(); var ws = _api.wb.getWorksheet();
var objectRender = ws.objectRender; var objectRender = ws.objectRender;
var aObjects = ws.model.Drawings; var aObjects = ws.model.Drawings;
var overlay = objectRender.getDrawingCanvas().autoShapeTrack; var overlay = objectRender.getDrawingCanvas().autoShapeTrack;
if (!overlay) if (!overlay)
return; return;
overlay.Native["PD_DrawLockedObjectsBegin"](); overlay.Native["PD_DrawLockedObjectsBegin"]();
for (var i = 0; i < aObjects.length; i++) { for (var i = 0; i < aObjects.length; i++) {
var drawingObject = aObjects[i]; var drawingObject = aObjects[i];
if (drawingObject.isGraphicObject()) { if (drawingObject.isGraphicObject()) {
var drawingArea = objectRender.drawingArea; var drawingArea = objectRender.drawingArea;
objectRender.drawingArea.reinitRanges(); objectRender.drawingArea.reinitRanges();
for (var j = 0; j < drawingArea.frozenPlaces.length; ++j) { for (var j = 0; j < drawingArea.frozenPlaces.length; ++j) {
if (drawingArea.frozenPlaces[j].isObjectInside(drawingObject)) { if (drawingArea.frozenPlaces[j].isObjectInside(drawingObject)) {
...@@ -7493,41 +7490,41 @@ function testLockedObjects () { ...@@ -7493,41 +7490,41 @@ function testLockedObjects () {
} }
} }
} }
if ( ws.collaborativeEditing.getCollaborativeEditing() ) { if ( ws.collaborativeEditing.getCollaborativeEditing() ) {
ws._drawCollaborativeElementsMeOther(AscCommon.c_oAscLockTypes.kLockTypeMine, overlay); ws._drawCollaborativeElementsMeOther(AscCommon.c_oAscLockTypes.kLockTypeMine, overlay);
ws._drawCollaborativeElementsMeOther(AscCommon.c_oAscLockTypes.kLockTypeOther, overlay); ws._drawCollaborativeElementsMeOther(AscCommon.c_oAscLockTypes.kLockTypeOther, overlay);
ws._drawCollaborativeElementsAllLock(overlay); ws._drawCollaborativeElementsAllLock(overlay);
} }
overlay.Native["PD_DrawLockedObjectsEnd"](); overlay.Native["PD_DrawLockedObjectsEnd"]();
} }
window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsMeOther = function (type, overlay) { window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsMeOther = function (type, overlay) {
var currentSheetId = this.model.getId(), i, strokeColor, arrayCells, oCellTmp; var currentSheetId = this.model.getId(), i, strokeColor, arrayCells, oCellTmp;
if (!currentSheetId) if (!currentSheetId)
return; return;
if (AscCommon.c_oAscLockTypes.kLockTypeMine === type) { if (AscCommon.c_oAscLockTypes.kLockTypeMine === type) {
strokeColor = AscCommonExcel.c_oAscCoAuthoringMeBorderColor; strokeColor = AscCommonExcel.c_oAscCoAuthoringMeBorderColor;
arrayCells = this.collaborativeEditing.getLockCellsMe(currentSheetId); arrayCells = this.collaborativeEditing.getLockCellsMe(currentSheetId);
arrayCells = arrayCells.concat(this.collaborativeEditing.getArrayInsertColumnsBySheetId(currentSheetId)); arrayCells = arrayCells.concat(this.collaborativeEditing.getArrayInsertColumnsBySheetId(currentSheetId));
arrayCells = arrayCells.concat(this.collaborativeEditing.getArrayInsertRowsBySheetId(currentSheetId)); arrayCells = arrayCells.concat(this.collaborativeEditing.getArrayInsertRowsBySheetId(currentSheetId));
} else { } else {
strokeColor = AscCommonExcel.c_oAscCoAuthoringOtherBorderColor; strokeColor = AscCommonExcel.c_oAscCoAuthoringOtherBorderColor;
arrayCells = this.collaborativeEditing.getLockCellsOther(currentSheetId); arrayCells = this.collaborativeEditing.getLockCellsOther(currentSheetId);
} }
var sheetId = this.model.getId(); var sheetId = this.model.getId();
if (!sheetId) if (!sheetId)
return; return;
for (i = 0; i < arrayCells.length; ++i) { for (i = 0; i < arrayCells.length; ++i) {
var left = this.cols[arrayCells[i].c1].left, top = this.rows[arrayCells[i].r1].top; var left = this.cols[arrayCells[i].c1].left, top = this.rows[arrayCells[i].r1].top;
var userId = ""; var userId = "";
if (AscCommon.c_oAscLockTypes.kLockTypeMine !== type) { if (AscCommon.c_oAscLockTypes.kLockTypeMine !== type) {
var lockInfo = this.collaborativeEditing.getLockInfo(AscCommonExcel.c_oAscLockTypeElem.Range, var lockInfo = this.collaborativeEditing.getLockInfo(AscCommonExcel.c_oAscLockTypeElem.Range,
...@@ -7539,7 +7536,7 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsMeOth ...@@ -7539,7 +7536,7 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsMeOth
userId = isLocked.UserId; userId = isLocked.UserId;
} }
} }
overlay.Native["PD_DrawLockCell"](arrayCells[i].c1, overlay.Native["PD_DrawLockCell"](arrayCells[i].c1,
arrayCells[i].r1, arrayCells[i].r1,
Math.min(arrayCells[i].c2, this.cols.length - 1), Math.min(arrayCells[i].c2, this.cols.length - 1),
...@@ -7560,19 +7557,19 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsAllLo ...@@ -7560,19 +7557,19 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsAllLo
var currentSheetId = this.model.getId(); var currentSheetId = this.model.getId();
if (!currentSheetId) if (!currentSheetId)
return; return;
var nLockAllType = this.collaborativeEditing.isLockAllOther(currentSheetId); var nLockAllType = this.collaborativeEditing.isLockAllOther(currentSheetId);
if (Asc.c_oAscMouseMoveLockedObjectType.None !== nLockAllType) { if (Asc.c_oAscMouseMoveLockedObjectType.None !== nLockAllType) {
var isAllRange = true, strokeColor = (Asc.c_oAscMouseMoveLockedObjectType.TableProperties === nLockAllType) ? var isAllRange = true, strokeColor = (Asc.c_oAscMouseMoveLockedObjectType.TableProperties === nLockAllType) ?
AscCommonExcel.c_oAscCoAuthoringLockTablePropertiesBorderColor : AscCommonExcel.c_oAscCoAuthoringLockTablePropertiesBorderColor :
AscCommonExcel.c_oAscCoAuthoringOtherBorderColor, oAllRange = new window["Asc"].Range(0, 0, AscCommon.gc_nMaxCol0, AscCommon.gc_nMaxRow0); 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 left = this.cols[oAllRange.c1].left, top = this.rows[oAllRange.r1].top;
var sheetId = this.model.getId(); var sheetId = this.model.getId();
if (!sheetId) if (!sheetId)
return; return;
var userId = ""; var userId = "";
var lockInfo = this.collaborativeEditing.getLockInfo(AscCommonExcel.c_oAscLockTypeElem.Range, var lockInfo = this.collaborativeEditing.getLockInfo(AscCommonExcel.c_oAscLockTypeElem.Range,
null, null,
...@@ -7582,7 +7579,7 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsAllLo ...@@ -7582,7 +7579,7 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElementsAllLo
if (false !== isLocked) { if (false !== isLocked) {
userId = isLocked.UserId; userId = isLocked.UserId;
} }
overlay.Native["PD_DrawLockCell"](oAllRange.c1, overlay.Native["PD_DrawLockCell"](oAllRange.c1,
oAllRange.r1, oAllRange.r1,
Math.min(oAllRange.c2, this.cols.length - 1), Math.min(oAllRange.c2, this.cols.length - 1),
...@@ -7610,25 +7607,25 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElements = fu ...@@ -7610,25 +7607,25 @@ window["AscCommonExcel"].WorksheetView.prototype._drawCollaborativeElements = fu
window["Asc"]["spreadsheet_api"].prototype.openDocument = function(sData) { window["Asc"]["spreadsheet_api"].prototype.openDocument = function(sData) {
var t = this; var t = this;
setTimeout(function() { setTimeout(function() {
//console.log("JS - openDocument()"); //console.log("JS - openDocument()");
t.wbModel = t._openDocument(sData); t.wbModel = t._openDocument(sData);
t.wb = new AscCommonExcel.WorkbookView(t.wbModel, t.controller, t.handlers, t.wb = new AscCommonExcel.WorkbookView(t.wbModel, t.controller, t.handlers,
window["_null_object"], window["_null_object"], t, window["_null_object"], window["_null_object"], t,
t.collaborativeEditing, t.fontRenderingMode); t.collaborativeEditing, t.fontRenderingMode);
t.DocumentLoadComplete = true; t.DocumentLoadComplete = true;
t.asc_CheckGuiControlColors(); t.asc_CheckGuiControlColors();
t.sendColorThemes(_api.wbModel.theme); t.sendColorThemes(_api.wbModel.theme);
t.asc_ApplyColorScheme(false); t.asc_ApplyColorScheme(false);
t.sendStandartTextures(); t.sendStandartTextures();
//console.log("JS - applyFirstLoadChanges() before"); //console.log("JS - applyFirstLoadChanges() before");
// Применяем пришедшие при открытии изменения // Применяем пришедшие при открытии изменения
t._applyFirstLoadChanges(); t._applyFirstLoadChanges();
// Применяем все lock-и (ToDo возможно стоит пересмотреть вообще Lock-и) // Применяем все lock-и (ToDo возможно стоит пересмотреть вообще Lock-и)
...@@ -7636,52 +7633,52 @@ window["Asc"]["spreadsheet_api"].prototype.openDocument = function(sData) { ...@@ -7636,52 +7633,52 @@ window["Asc"]["spreadsheet_api"].prototype.openDocument = function(sData) {
t.arrPreOpenLocksObjects[i](); t.arrPreOpenLocksObjects[i]();
} }
t.arrPreOpenLocksObjects = []; t.arrPreOpenLocksObjects = [];
// Меняем тип состояния (на никакое) // Меняем тип состояния (на никакое)
t.advancedOptionsAction = AscCommon.c_oAscAdvancedOptionsAction.None t.advancedOptionsAction = AscCommon.c_oAscAdvancedOptionsAction.None
// Были ошибки при открытии, посылаем предупреждение // Были ошибки при открытии, посылаем предупреждение
if (0 < t.wbModel.openErrors.length) { if (0 < t.wbModel.openErrors.length) {
t.sendEvent('asc_onError', c_oAscError.ID.OpenWarning, c_oAscError.Level.NoCritical); t.sendEvent('asc_onError', c_oAscError.ID.OpenWarning, c_oAscError.Level.NoCritical);
} }
//console.log("JS - applyFirstLoadChanges() after"); //console.log("JS - applyFirstLoadChanges() after");
setTimeout(function() { setTimeout(function() {
t.wb.showWorksheet(undefined, false, true); t.wb.showWorksheet(undefined, false, true);
//console.log("JS - showWorksheet()"); //console.log("JS - showWorksheet()");
var ws = t.wb.getWorksheet(); var ws = t.wb.getWorksheet();
//console.log("JS - getWorksheet()"); //console.log("JS - getWorksheet()");
window["native"]["onEndLoadingFile"](ws.headersWidth, ws.headersHeight); window["native"]["onEndLoadingFile"](ws.headersWidth, ws.headersHeight);
//console.log("JS - onEndLoadingFile()"); //console.log("JS - onEndLoadingFile()");
_s.asc_WriteAllWorksheets(true); _s.asc_WriteAllWorksheets(true);
setInterval(function() { setInterval(function() {
_api._autoSave(); _api._autoSave();
testLockedObjects(); testLockedObjects();
}, 100); }, 100);
//console.log("JS - openDocument()"); //console.log("JS - openDocument()");
}, 5); }, 5);
}, 5); }, 5);
}; };
window["AscCommon"].getFullImageSrc2 = function (src) { window["AscCommon"].getFullImageSrc2 = function (src) {
var start = src.slice(0, 6); var start = src.slice(0, 6);
if (0 === start.indexOf('theme') && editor.ThemeLoader){ if (0 === start.indexOf('theme') && editor.ThemeLoader){
return editor.ThemeLoader.ThemesUrlAbs + src; return editor.ThemeLoader.ThemesUrlAbs + src;
} }
if (0 !== start.indexOf('http:') && 0 !== start.indexOf('data:') && 0 !== start.indexOf('https:') && if (0 !== start.indexOf('http:') && 0 !== start.indexOf('data:') && 0 !== start.indexOf('https:') &&
0 !== start.indexOf('file:') && 0 !== start.indexOf('ftp:')){ 0 !== start.indexOf('file:') && 0 !== start.indexOf('ftp:')){
var srcFull = AscCommon.g_oDocumentUrls.getImageUrl(src); var srcFull = AscCommon.g_oDocumentUrls.getImageUrl(src);
...@@ -7692,4 +7689,3 @@ window["AscCommon"].getFullImageSrc2 = function (src) { ...@@ -7692,4 +7689,3 @@ window["AscCommon"].getFullImageSrc2 = function (src) {
} }
return src; return src;
} }
...@@ -1755,20 +1755,20 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params) ...@@ -1755,20 +1755,20 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params)
case 21: case 21:
{ {
var bIsNeed = _params[_current.pos++]; var bIsNeed = _params[_current.pos++];
if (bIsNeed) if (bIsNeed)
{ {
var currImage = this.WordControl.m_oLogicDocument.DrawingObjects.Get_Props(); var currImage = this.WordControl.m_oLogicDocument.DrawingObjects.Get_Props();
if (currImage && currImage.length) { if (currImage && currImage.length) {
var _originSize = this.WordControl.m_oDrawingDocument.Native["DD_GetOriginalImageSize"](currImage[0].ImageUrl); var _originSize = this.WordControl.m_oDrawingDocument.Native["DD_GetOriginalImageSize"](currImage[0].ImageUrl);
var _w = _originSize[0]; var _w = _originSize[0];
var _h = _originSize[1]; var _h = _originSize[1];
// сбрасываем урл // сбрасываем урл
_imagePr.ImageUrl = undefined; _imagePr.ImageUrl = undefined;
var _section_select = this.WordControl.m_oLogicDocument.Get_PageSizesByDrawingObjects(); var _section_select = this.WordControl.m_oLogicDocument.Get_PageSizesByDrawingObjects();
var _page_width = AscCommon.Page_Width; var _page_width = AscCommon.Page_Width;
var _page_height = AscCommon.Page_Height; var _page_height = AscCommon.Page_Height;
...@@ -1776,25 +1776,25 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params) ...@@ -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_y_top_margin = AscCommon.Y_Top_Margin;
var _page_x_right_margin = AscCommon.X_Right_Margin; var _page_x_right_margin = AscCommon.X_Right_Margin;
var _page_y_bottom_margin = AscCommon.Y_Bottom_Margin; var _page_y_bottom_margin = AscCommon.Y_Bottom_Margin;
if (_section_select) if (_section_select)
{ {
if (_section_select.W) if (_section_select.W)
_page_width = _section_select.W; _page_width = _section_select.W;
if (_section_select.H) if (_section_select.H)
_page_height = _section_select.H; _page_height = _section_select.H;
} }
var __w = Math.max(1, _page_width - (_page_x_left_margin + _page_x_right_margin)); 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 __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 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; var hI = (undefined !== _h) ? Math.max(_h * AscCommon.g_dKoef_pix_to_mm, 1) : 1;
wI = Math.max(5, Math.min(wI, __w)); wI = Math.max(5, Math.min(wI, __w));
hI = Math.max(5, Math.min(hI, __h)); hI = Math.max(5, Math.min(hI, __h));
_imagePr.Width = wI; _imagePr.Width = wI;
_imagePr.Height = hI; _imagePr.Height = hI;
} }
...@@ -2172,6 +2172,121 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params) ...@@ -2172,6 +2172,121 @@ Asc['asc_docs_api'].prototype["Call_Menu_Event"] = function(type, _params)
break; 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: default:
break; break;
} }
...@@ -4213,6 +4328,41 @@ AscCommon.asc_WriteColorSchemes = asc_WriteColorSchemes; ...@@ -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) Asc['asc_docs_api'].prototype.UpdateTextPr = function(TextPr)
{ {
...@@ -5359,61 +5509,61 @@ Asc['asc_docs_api'].prototype["Native_Editor_Initialize_Settings"] = function(_p ...@@ -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() Asc['asc_docs_api'].prototype.Call_Menu_Context_Copy = function()
{ {
var dataBuffer = {}; var dataBuffer = {};
var clipboard = {}; var clipboard = {};
clipboard.pushData = function(type, data) { clipboard.pushData = function(type, data) {
if (AscCommon.c_oAscClipboardDataFormat.Text === type) { if (AscCommon.c_oAscClipboardDataFormat.Text === type) {
dataBuffer.text = data; dataBuffer.text = data;
} else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) { } else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) {
if (null != data.drawingUrls && data.drawingUrls.length > 0) { if (null != data.drawingUrls && data.drawingUrls.length > 0) {
dataBuffer.drawingUrls = data.drawingUrls[0]; dataBuffer.drawingUrls = data.drawingUrls[0];
} }
dataBuffer.sBase64 = data.sBase64; dataBuffer.sBase64 = data.sBase64;
} }
} }
this.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text); this.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text);
var _stream = global_memory_stream_menu; var _stream = global_memory_stream_menu;
_stream["ClearNoAttack"](); _stream["ClearNoAttack"]();
if (dataBuffer.text) { if (dataBuffer.text) {
_stream["WriteByte"](0); _stream["WriteByte"](0);
_stream["WriteString2"](dataBuffer.text); _stream["WriteString2"](dataBuffer.text);
} }
if (dataBuffer.drawingUrls) { if (dataBuffer.drawingUrls) {
_stream["WriteByte"](1); _stream["WriteByte"](1);
_stream["WriteStringA"](dataBuffer.drawingUrls); _stream["WriteStringA"](dataBuffer.drawingUrls);
} }
if (dataBuffer.sBase64) { if (dataBuffer.sBase64) {
_stream["WriteByte"](2); _stream["WriteByte"](2);
_stream["WriteStringA"](dataBuffer.sBase64); _stream["WriteStringA"](dataBuffer.sBase64);
} }
_stream["WriteByte"](255); _stream["WriteByte"](255);
return _stream; return _stream;
}; };
Asc['asc_docs_api'].prototype.Call_Menu_Context_Cut = function() Asc['asc_docs_api'].prototype.Call_Menu_Context_Cut = function()
{ {
var dataBuffer = {}; var dataBuffer = {};
var clipboard = {}; var clipboard = {};
clipboard.pushData = function(type, data) { clipboard.pushData = function(type, data) {
if (AscCommon.c_oAscClipboardDataFormat.Text === type) { if (AscCommon.c_oAscClipboardDataFormat.Text === type) {
dataBuffer.text = data; dataBuffer.text = data;
} else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) { } else if (AscCommon.c_oAscClipboardDataFormat.Internal === type) {
if (null != data.drawingUrls && data.drawingUrls.length > 0) { if (null != data.drawingUrls && data.drawingUrls.length > 0) {
dataBuffer.drawingUrls = data.drawingUrls[0]; dataBuffer.drawingUrls = data.drawingUrls[0];
} }
...@@ -5421,31 +5571,31 @@ Asc['asc_docs_api'].prototype.Call_Menu_Context_Cut = function() ...@@ -5421,31 +5571,31 @@ Asc['asc_docs_api'].prototype.Call_Menu_Context_Cut = function()
dataBuffer.sBase64 = data.sBase64; dataBuffer.sBase64 = data.sBase64;
} }
} }
this.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text); this.asc_CheckCopy(clipboard, AscCommon.c_oAscClipboardDataFormat.Internal|AscCommon.c_oAscClipboardDataFormat.Text);
this.asc_SelectionCut(); this.asc_SelectionCut();
var _stream = global_memory_stream_menu; var _stream = global_memory_stream_menu;
_stream["ClearNoAttack"](); _stream["ClearNoAttack"]();
if (dataBuffer.text) { if (dataBuffer.text) {
_stream["WriteByte"](0); _stream["WriteByte"](0);
_stream["WriteString2"](dataBuffer.text); _stream["WriteString2"](dataBuffer.text);
} }
if (dataBuffer.drawingUrls) { if (dataBuffer.drawingUrls) {
_stream["WriteByte"](1); _stream["WriteByte"](1);
_stream["WriteStringA"](dataBuffer.drawingUrls); _stream["WriteStringA"](dataBuffer.drawingUrls);
} }
if (dataBuffer.sBase64) { if (dataBuffer.sBase64) {
_stream["WriteByte"](2); _stream["WriteByte"](2);
_stream["WriteStringA"](dataBuffer.sBase64); _stream["WriteStringA"](dataBuffer.sBase64);
} }
_stream["WriteByte"](255); _stream["WriteByte"](255);
return _stream; return _stream;
}; };
Asc['asc_docs_api'].prototype.Call_Menu_Context_Paste = function(type, param) 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) ...@@ -5487,6 +5637,185 @@ Asc['asc_docs_api'].prototype.pre_Paste = function(_fonts, _images, callback)
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 // chat styles
AscCommon.ChartPreviewManager.prototype.clearPreviews = function() AscCommon.ChartPreviewManager.prototype.clearPreviews = function()
......
...@@ -44,6 +44,7 @@ window.location.pathname = ""; ...@@ -44,6 +44,7 @@ window.location.pathname = "";
window.NATIVE_EDITOR_ENJINE = true; window.NATIVE_EDITOR_ENJINE = true;
window.NATIVE_EDITOR_ENJINE_SYNC_RECALC = true; window.NATIVE_EDITOR_ENJINE_SYNC_RECALC = true;
window.IS_NATIVE_EDITOR = true;
var document = {}; var document = {};
window.document = document; window.document = document;
...@@ -484,13 +485,12 @@ function NativeOpenFile() ...@@ -484,13 +485,12 @@ function NativeOpenFile()
Api = _api; Api = _api;
} }
function NativeOpenFile2(_params) function NativeOpenFile2(_params, documentInfo)
{ {
window["CreateMainTextMeasurerWrapper"](); window["CreateMainTextMeasurerWrapper"]();
window.g_file_path = "native_open_file"; window.g_file_path = "native_open_file";
window.NATIVE_DOCUMENT_TYPE = window.native.GetEditorType(); 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") if (window.NATIVE_DOCUMENT_TYPE == "presentation" || window.NATIVE_DOCUMENT_TYPE == "document")
{ {
_api = new window["Asc"]["asc_docs_api"](""); _api = new window["Asc"]["asc_docs_api"]("");
...@@ -500,10 +500,71 @@ function NativeOpenFile2(_params) ...@@ -500,10 +500,71 @@ function NativeOpenFile2(_params)
_api.Native_Editor_Initialize_Settings(_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.CoAuthoringApi.auth(window.documentInfo["viewmode"], rData);
_api.NativeAfterLoad(); });
_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!!!! // ToDo get_PropertyThemeColorSchemes method removed, now the only Event!!!!
/*if (_api.__SendThemeColorScheme) /*if (_api.__SendThemeColorScheme)
...@@ -521,13 +582,8 @@ function NativeOpenFile2(_params) ...@@ -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() function NativeCalculateFile()
...@@ -855,3 +911,4 @@ window.native.Call_Menu_Event = function (type, _params) ...@@ -855,3 +911,4 @@ window.native.Call_Menu_Event = function (type, _params)
return _api.Call_Menu_Event(type, _params); return _api.Call_Menu_Event(type, _params);
}; };
window['SockJS'] = createSockJS();
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