Commit d9650395 authored by Oleg.Korshul's avatar Oleg.Korshul Committed by Alexander Trofimov

git-svn-id:...

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@53303 954022d7-b5bf-4e40-9824-e11837661b57
parent 8bec310c
......@@ -3,6 +3,11 @@ var window = new Object();
var navigator = new Object();
navigator.userAgent = "chrome";
window.navigator = navigator;
window.location = new Object();
window.location.protocol = "";
window.location.host = "";
window.location.href = "";
window.NATIVE_EDITOR_ENJINE = true;
window.NATIVE_EDITOR_ENJINE_SYNC_RECALC = true;
......@@ -234,6 +239,17 @@ function NativeOpenFile()
var oBinaryFileReader = new BinaryFileReader(_api.DocumentUrl);
var doc_bin = window.native.GetFileString(g_file_path);
oBinaryFileReader.Read(doc_bin, window.asc_wb);
_api.wb = new Asc["WorkbookView"](
_api.wbModel,
_api.controller,
_api.handlers,
_null_object,
_null_object,
_api,
_api.collaborativeEditing,
_api.fontRenderingMode,
_api.options);
}
}
......@@ -245,18 +261,7 @@ function NativeCalculateFile()
window.editor.ShowParaMarks = false;
}
else
{
_api.wb = new Asc["WorkbookView"](
_api.wbModel,
_api.controller,
_api.handlers,
_null_object,
_null_object,
_api,
_api.collaborativeEditing,
_api.fontRenderingMode,
_api.options);
{
window.adjustPrint = new asc_CAdjustPrint();
window.printPagesData = _api.wb.calcPagesPrint(window.adjustPrint);
}
......@@ -264,26 +269,63 @@ function NativeCalculateFile()
function NativeApplyChanges()
{
var _count_main = window.native.GetCountChanges();
for (var i = 0; i < _count_main; i++)
if (NATIVE_DOCUMENT_TYPE == "presentation" || NATIVE_DOCUMENT_TYPE == "document")
{
var _changes_file = window.native.GetChangesFile(i);
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
for (var j = 0; j < _changes.length; j++)
{
var Changes = new CCollaborativeChanges();
Changes.Set_Id( _changes[j]["id"] );
Changes.Set_Data( _changes[j]["data"] );
CollaborativeEditing.Add_Changes( Changes );
var _count_main = window.native.GetCountChanges();
for (var i = 0; i < _count_main; i++)
{
var _changes_file = window.native.GetChangesFile(i);
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
for (var j = 0; j < _changes.length; j++)
{
var Changes = new CCollaborativeChanges();
Changes.Set_Id( _changes[j]["id"] );
Changes.Set_Data( _changes[j]["data"] );
CollaborativeEditing.Add_Changes( Changes );
}
}
CollaborativeEditing.Apply_OtherChanges();
}
CollaborativeEditing.Apply_OtherChanges();
else
{
var __changes = [];
var _count_main = window.native.GetCountChanges();
for (var i = 0; i < _count_main; i++)
{
var _changes_file = window.native.GetChangesFile(i);
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
for (var j = 0; j < _changes.length; j++)
{
__changes.push(_changes[j]);
}
}
_api._coAuthoringInit();
_api.CoAuthoringApi.onSaveChanges(__changes, false);
_api.collaborativeEditing.applyChanges();
}
}
function NativeGetFileString()
{
var oBinaryFileWriter = new BinaryFileWriter(window.editor.WordControl.m_oLogicDocument);
return oBinaryFileWriter.Write();
if (NATIVE_DOCUMENT_TYPE == "presentation")
{
var writer = new CBinaryFileWriter();
window.editor.WordControl.m_oLogicDocument.CalculateComments();
return writer.WriteDocument(window.editor.WordControl.m_oLogicDocument);
}
else if (NATIVE_DOCUMENT_TYPE == "document")
{
var oBinaryFileWriter = new BinaryFileWriter(window.editor.WordControl.m_oLogicDocument);
return oBinaryFileWriter.Write();
}
else
{
_api.wb._initCommentsToSave();
var oBinaryFileWriter = new BinaryFileWriter(_api.wbModel);
return oBinaryFileWriter.Write();
}
}
function GetNativeCountPages()
......
......@@ -120,4 +120,9 @@ Asc["WorkbookView"].prototype.init = function (fontRenderingMode) {
this.clipboard.Api = this.Api;
this.clipboard.init();
return this;
};
Asc["spreadsheet_api"].prototype._loadFonts = function(_fonts, callback)
{
return callback();
};
\ No newline at end of file
......@@ -407,19 +407,6 @@ private:
CString strDocumentId = _T("");
LONG lPagesCount = 0;
if (js_func_open->IsFunction())
{
v8::Handle<v8::Function> func_open = v8::Handle<v8::Function>::Cast(js_func_open);
func_open->Call(global_js, 1, args);
if (try_catch.HasCaught())
{
strException = to_cstring(try_catch.Message()->Get()); // ?
return FALSE;
}
}
if (js_func_id->IsFunction())
{
v8::Handle<v8::Function> func_id = v8::Handle<v8::Function>::Cast(js_func_id);
......@@ -439,6 +426,19 @@ private:
pNative->m_strFontsDirectory = m_oParams.m_strFontsDirectory;
pNative->m_strImagesDirectory = m_oParams.m_strImagesDirectory;
if (js_func_open->IsFunction())
{
v8::Handle<v8::Function> func_open = v8::Handle<v8::Function>::Cast(js_func_open);
func_open->Call(global_js, 1, args);
if (try_catch.HasCaught())
{
strException = to_cstring(try_catch.Message()->Get()); // ?
return FALSE;
}
}
if (m_oParams.m_arChanges.GetCount() != 0)
{
if (js_func_apply_changes->IsFunction())
......
......@@ -3,6 +3,11 @@ var window = new Object();
var navigator = new Object();
navigator.userAgent = "chrome";
window.navigator = navigator;
window.location = new Object();
window.location.protocol = "";
window.location.host = "";
window.location.href = "";
window.NATIVE_EDITOR_ENJINE = true;
window.NATIVE_EDITOR_ENJINE_SYNC_RECALC = true;
......@@ -234,6 +239,17 @@ function NativeOpenFile()
var oBinaryFileReader = new BinaryFileReader(_api.DocumentUrl);
var doc_bin = window.native.GetFileString(g_file_path);
oBinaryFileReader.Read(doc_bin, window.asc_wb);
_api.wb = new Asc["WorkbookView"](
_api.wbModel,
_api.controller,
_api.handlers,
_null_object,
_null_object,
_api,
_api.collaborativeEditing,
_api.fontRenderingMode,
_api.options);
}
}
......@@ -245,18 +261,7 @@ function NativeCalculateFile()
window.editor.ShowParaMarks = false;
}
else
{
_api.wb = new Asc["WorkbookView"](
_api.wbModel,
_api.controller,
_api.handlers,
_null_object,
_null_object,
_api,
_api.collaborativeEditing,
_api.fontRenderingMode,
_api.options);
{
window.adjustPrint = new asc_CAdjustPrint();
window.printPagesData = _api.wb.calcPagesPrint(window.adjustPrint);
}
......@@ -264,26 +269,63 @@ function NativeCalculateFile()
function NativeApplyChanges()
{
var _count_main = window.native.GetCountChanges();
for (var i = 0; i < _count_main; i++)
if (NATIVE_DOCUMENT_TYPE == "presentation" || NATIVE_DOCUMENT_TYPE == "document")
{
var _changes_file = window.native.GetChangesFile(i);
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
var _count_main = window.native.GetCountChanges();
for (var i = 0; i < _count_main; i++)
{
var _changes_file = window.native.GetChangesFile(i);
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
for (var j = 0; j < _changes.length; j++)
{
var Changes = new CCollaborativeChanges();
Changes.Set_Id( _changes[j]["id"] );
Changes.Set_Data( _changes[j]["data"] );
CollaborativeEditing.Add_Changes( Changes );
for (var j = 0; j < _changes.length; j++)
{
var Changes = new CCollaborativeChanges();
Changes.Set_Id( _changes[j]["id"] );
Changes.Set_Data( _changes[j]["data"] );
CollaborativeEditing.Add_Changes( Changes );
}
}
CollaborativeEditing.Apply_OtherChanges();
}
CollaborativeEditing.Apply_OtherChanges();
else
{
var __changes = [];
var _count_main = window.native.GetCountChanges();
for (var i = 0; i < _count_main; i++)
{
var _changes_file = window.native.GetChangesFile(i);
var _changes = JSON.parse(window.native.GetFileString(_changes_file));
for (var j = 0; j < _changes.length; j++)
{
__changes.push(_changes[j]);
}
}
_api._coAuthoringInit();
_api.CoAuthoringApi.onSaveChanges(__changes, false);
_api.collaborativeEditing.applyChanges();
}
}
function NativeGetFileString()
{
var oBinaryFileWriter = new BinaryFileWriter(window.editor.WordControl.m_oLogicDocument);
return oBinaryFileWriter.Write();
if (NATIVE_DOCUMENT_TYPE == "presentation")
{
var writer = new CBinaryFileWriter();
window.editor.WordControl.m_oLogicDocument.CalculateComments();
return writer.WriteDocument(window.editor.WordControl.m_oLogicDocument);
}
else if (NATIVE_DOCUMENT_TYPE == "document")
{
var oBinaryFileWriter = new BinaryFileWriter(window.editor.WordControl.m_oLogicDocument);
return oBinaryFileWriter.Write();
}
else
{
_api.wb._initCommentsToSave();
var oBinaryFileWriter = new BinaryFileWriter(_api.wbModel);
return oBinaryFileWriter.Write();
}
}
function GetNativeCountPages()
......@@ -17075,11 +17117,11 @@ prot["asc_getIndex"] = prot.asc_getIndex;
// Manager
//-----------------------------------------------------------------------------------
function GraphicOption(ws, type, delta) {
function GraphicOption(ws, type, range) {
var _this = this;
_this.ws = ws;
_this.type = type;
_this.delta = delta; // Scroll offset: + Down || - Up
_this.range = range;
function checkCol(col) {
while ( (col > 0) && !_this.ws.cols[col] )
......@@ -17098,34 +17140,14 @@ function GraphicOption(ws, type, delta) {
_this.getUpdatedRange = function() {
var vr = _this.ws.visibleRange.clone();
if ( _this.isScrollType() && (_this.delta === 0) )
if ( _this.isScrollType() && !range )
return vr;
switch (_this.type) {
case c_oAscGraphicOption.ScrollVertical: {
// Down
if ( _this.delta > 0 ) {
vr.r1 = vr.r2 - _this.delta;
checkRow(++vr.r2);
}
// Up
else
vr.r2 = vr.r1 - _this.delta;
checkCol(++vr.c2);
}
break;
case c_oAscGraphicOption.ScrollVertical:
case c_oAscGraphicOption.ScrollHorizontal: {
// Right
if ( _this.delta > 0 ) {
vr.c1 = vr.c2 - _this.delta;
checkCol(++vr.c2);
}
// Left
else
vr.c2 = vr.c1 - _this.delta;
vr = range.clone();
checkCol(++vr.c2);
checkRow(++vr.r2);
}
break;
......@@ -17212,6 +17234,7 @@ function DrawingObjects() {
chartRender = new ChartRender();
var worksheet = null;
var isInit = false;
var drawingCtx = null;
var overlayCtx = null;
var shapeCtx = null;
......@@ -17570,6 +17593,7 @@ function DrawingObjects() {
aImagesSync = [];
aObjectsSync = [];
isInit = false;
var theme = api.wbModel.theme;
for (var i = 0; currentSheet.model.Drawings && (i < currentSheet.model.Drawings.length); i++) {
......@@ -17694,7 +17718,6 @@ function DrawingObjects() {
new UndoRedoDataGraphicObjects(drawingObject.graphicObject.Get_Id(), new UndoRedoDataGOSingleProp(null, null)));
drawingObject.graphicObject.addToDrawingObjects();
var boundsChecker = _this.getBoundsChecker(drawingObject.graphicObject);
aBoundsCheckers.push(boundsChecker);
}
......@@ -17734,6 +17757,7 @@ function DrawingObjects() {
}
_this.shiftMap = {};
worksheet.model.Drawings = aObjects;
isInit = true;
}
_this.preCopy = function() {
......@@ -18109,7 +18133,10 @@ function DrawingObjects() {
var lastTask = aDrawTasks[aDrawTasks.length - 1];
if ( lastTask.params.graphicOption && lastTask.params.graphicOption.isScrollType() && graphicOption && (lastTask.params.graphicOption.type === graphicOption.type) ) {
lastTask.params.graphicOption.delta += graphicOption.delta;
lastTask.params.graphicOption.range.c1 = Math.min(lastTask.params.graphicOption.range.c1, graphicOption.range.c1);
lastTask.params.graphicOption.range.r1 = Math.min(lastTask.params.graphicOption.range.r1, graphicOption.range.r1);
lastTask.params.graphicOption.range.c2 = Math.max(lastTask.params.graphicOption.range.c2, graphicOption.range.c2);
lastTask.params.graphicOption.range.r2 = Math.max(lastTask.params.graphicOption.range.r2, graphicOption.range.r2);
return;
}
if ( (currTime - lastTask.time < 40) )
......@@ -18371,10 +18398,14 @@ function DrawingObjects() {
var offsetX = worksheet.cols[worksheet.visibleRange.c1].left - worksheet.cellsLeft;
var offsetY = worksheet.rows[worksheet.visibleRange.r1].top - worksheet.cellsTop;
x = worksheet.getCellLeft(updatedRange.c1, 0) - ptToPx(offsetX);
y = worksheet.getCellTop(updatedRange.r1, 0) - ptToPx(offsetY);
w = worksheet.getCellLeft(updatedRange.c2, 0) - worksheet.getCellLeft(updatedRange.c1, 0);
h = worksheet.getCellTop(updatedRange.r2, 0) - worksheet.getCellTop(updatedRange.r1, 0);
var vr = worksheet.visibleRange;
var borderOffsetX = (updatedRange.c1 <= vr.c1) ? 0 : 1;
var borderOffsetY = (updatedRange.r1 <= vr.r1) ? 0 : 1;
x = ptToPx(worksheet.getCellLeft(updatedRange.c1, 1) - offsetX) - borderOffsetX;
y = ptToPx(worksheet.getCellTop(updatedRange.r1, 1) - offsetY) - borderOffsetY;
w = worksheet.getCellLeft(updatedRange.c2, 0) - worksheet.getCellLeft(updatedRange.c1, 0) + 1;
h = worksheet.getCellTop(updatedRange.r2, 0) - worksheet.getCellTop(updatedRange.r1, 0) + 1;
/*canvas.m_oContext.beginPath();
canvas.m_oContext.strokeStyle = "#FF0000";
......@@ -19219,12 +19250,12 @@ function DrawingObjects() {
ret = aObjects.length;
aObjects.push(drawingObject);
}
drawingObject.setGraphicObjectCoords();
_this.showDrawingObjects(false);
if ( isInit )
_this.showDrawingObjects(false);
_this.sendGraphicObjectProps();
worksheet.model.workbook.handlers.trigger("asc_onEndAddShape");
if ( lockByDefault ) {
......@@ -137358,7 +137389,7 @@ ScrollObject.prototype = {
close: function (saveValue) {
var t = this, opt = t.options, ret = false;
if (saveValue && $.isFunction(opt.saveValueCallback)) {
if (saveValue && "function" === typeof opt.saveValueCallback) {
ret = t._wrapFragments(opt.fragments); // восстанавливаем символы \n
ret = opt.saveValueCallback(opt.fragments, t.textFlags, /*skip NL check*/ret);
if (!ret) {return false;}
......@@ -228629,15 +228660,24 @@ CShape.prototype =
{
if(data.newValue !== null)
{
window.native.ConsoleLog("oleg1");
var api = window["Asc"]["editor"];
if ( api.wb )
{
window.native.ConsoleLog("oleg2");
var ws = api.wb.getWorksheetById(data.newValue);
if(isRealObject(ws))
{
window.native.ConsoleLog("oleg3");
this.drawingObjects = ws.objectRender;
}
else
this.drawingObjects = null;
}
else
{
window.native.ConsoleLog("lalala: " + api.HtmlElementName);
}
}
break;
}
......@@ -290420,5 +290460,10 @@ Asc["WorkbookView"].prototype.init = function (fontRenderingMode) {
this.clipboard.Api = this.Api;
this.clipboard.init();
return this;
};
Asc["spreadsheet_api"].prototype._loadFonts = function(_fonts, callback)
{
return callback();
};
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