Commit fc550e96 authored by GoshaZotov's avatar GoshaZotov

use CClipboardBase for excel

parent 7a695ee6
......@@ -484,7 +484,7 @@ CHistory.prototype.UndoRedoEnd = function (Point, oRedoObjectParam, bUndo) {
if (oRedoObjectParam.bIsOn)
this.TurnOn();
if(!AscCommonExcel.g_clipboardExcel.pasteStart)
if(!window['AscCommon'].g_clipboardBase.pasteStart)
{
this.workbook.handlers.trigger("hideSpecialPasteOptions");
}
......@@ -741,7 +741,7 @@ CHistory.prototype._sendCanUndoRedo = function()
this.workbook.handlers.trigger("setDocumentModified", this.Have_Changes());
//скрываю кнопку специальной вставки при каждом действии/undoredo
//при выполнении специальной вставки и при сохранении(-1 !== this.Index) не скрываю кнопку
if(!AscCommonExcel.g_clipboardExcel.pasteStart && -1 !== this.Index && !(this.workbook.bUndoChanges || this.workbook.bRedoChanges))
if(!window['AscCommon'].g_clipboardBase.pasteStart && -1 !== this.Index && !(this.workbook.bUndoChanges || this.workbook.bRedoChanges))
{
this.workbook.handlers.trigger("hideSpecialPasteOptions");
}
......
......@@ -282,12 +282,6 @@
this.copyProcessor = new CopyProcessorExcel();
this.pasteProcessor = new PasteProcessorExcel();
this.bIsEndTransaction = false;//если нужно сделать на end_paste endTransaction
//TODO возможно стоит перенести в clipboard_base
this.pasteStart = false;//если true - осуществляется вставка. false выставляется только по полному окончанию вставки(загрузки картинок и тд)
this.specialPasteStart = false;
return this;
}
......@@ -383,7 +377,7 @@
var t = this;
t.pasteProcessor.clean();
this.start_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_Start();
if(!bIsSpecialPaste)
{
......@@ -401,7 +395,7 @@
if(text)
{
window["Asc"]["editor"].wb.cellEditor.pasteText(text);
this.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
}
}
else
......@@ -426,7 +420,7 @@
if(text)
{
window["Asc"]["editor"].wb.cellEditor.pasteText(text);
this.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
}
}
else
......@@ -443,7 +437,7 @@
if(data1)
{
window["Asc"]["editor"].wb.cellEditor.pasteText(data1);
this.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
}
}
else
......@@ -462,35 +456,6 @@
window['AscCommon'].g_clipboardBase.specialPasteData.data2 = data2;
window['AscCommon'].g_clipboardBase.specialPasteData.text_data = text_data;
}
},
start_paste: function()
{
this.pasteStart = true;
},
end_paste: function()
{
this.pasteStart = false;
if(this.specialPasteStart)
{
this.specialPasteStart = false;
}
if(this.bIsEndTransaction)
{
this.bIsEndTransaction = false;
History.EndTransaction();
}
window['AscCommon'].g_clipboardBase.specialPasteProps = null;
},
start_specialpaste: function()
{
//TODO переделать на методы, которые в clipboardBase specialPasteStart/specialPasteEnd
this.specialPasteStart = true;
}
};
......@@ -1171,7 +1136,7 @@
{
t._insertBinaryIntoShapeContent(worksheet, [docContent]);
}
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
};
worksheet.objectRender.controller.checkSelectedObjectsAndCallback2(callback);
......@@ -1211,7 +1176,7 @@
{
t._insertBinaryIntoShapeContent(worksheet, pasteData.content, true);
}
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
};
worksheet.objectRender.controller.checkSelectedObjectsAndCallback2(callback);
......@@ -1248,7 +1213,7 @@
if(isCellEditMode)
{
var text = this._getTextFromWord(docContent);
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
return text;
}
else if(isIntoShape)
......@@ -1259,7 +1224,7 @@
{
t._insertBinaryIntoShapeContent(worksheet, docContent);
}
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
};
worksheet.objectRender.controller.checkSelectedObjectsAndCallback2(callback);
......@@ -1421,7 +1386,7 @@
var oInfo = new CSelectedElementsInfo();
var selectedElementsInfo = isIntoShape.GetSelectedElementsInfo(oInfo);
var mathObj = oInfo.Get_Math();
if(!AscCommonExcel.g_clipboardExcel.specialPasteStart && null === mathObj)
if(!window['AscCommon'].g_clipboardBase.specialPasteStart && null === mathObj)
{
var sProps = Asc.c_oSpecialPasteProps;
var curShape = isIntoShape.Parent.parent;
......@@ -1697,8 +1662,7 @@
});
}
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
},
_insertImagesFromBinaryWord: function(ws, data, aImagesSync)
......@@ -1907,7 +1871,7 @@
if(isSuccess)
t._pasteInShape(worksheet, node, isIntoShape);
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
};
worksheet.objectRender.controller.checkSelectedObjectsAndCallback2(callback);
......@@ -1952,7 +1916,7 @@
//при специальной вставке в firefox _getComputedStyle возвращает null
//TODO пересмотреть функцию _getComputedStyle
if(AscCommonExcel.g_clipboardExcel.specialPasteStart && window['AscCommon'].g_clipboardBase.specialPasteData.aContent)
if(window['AscCommon'].g_clipboardBase.specialPasteStart && window['AscCommon'].g_clipboardBase.specialPasteData.aContent)
{
oPasteProcessor.aContent = window['AscCommon'].g_clipboardBase.specialPasteData.aContent;
}
......@@ -2603,7 +2567,7 @@
{
if(!text || (text && !text.length))
{
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
return;
}
......@@ -2631,10 +2595,10 @@
isIntoShape.Paragraph_Add(new ParaText(_char));
}
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
//for special paste
if(!AscCommonExcel.g_clipboardExcel.specialPasteStart)
if(!window['AscCommon'].g_clipboardBase.specialPasteStart)
{
var sProps = Asc.c_oSpecialPasteProps;
var allowedSpecialPasteProps = [sProps.sourceformatting, sProps.destinationFormatting];
......
......@@ -8776,7 +8776,7 @@
//в случае, если вставляем из глобального буфера, транзакцию закрываем внутри функции _loadDataBeforePaste на callbacks от загрузки шрифтов и картинок
if (prop !== "paste" || (prop === "paste" && fromBinary)) {
History.EndTransaction();
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
}
};
......@@ -8818,8 +8818,8 @@
return false;
}
AscCommonExcel.g_clipboardExcel.start_specialpaste();
AscCommonExcel.g_clipboardExcel.start_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_Start();
window['AscCommon'].g_clipboardBase.Special_Paste_Start();
api.asc_Undo();
......@@ -8830,7 +8830,7 @@
//далее специальная вставка
clipboard_base.specialPasteProps = props;
//TODO пока для закрытия транзации выставляю флаг. пересмотреть!
AscCommonExcel.g_clipboardExcel.bIsEndTransaction = true;
window['AscCommon'].g_clipboardBase.bIsEndTransaction = true;
AscCommonExcel.g_clipboardExcel.pasteData(t, specialPasteData._format, specialPasteData.data1, specialPasteData.data2, specialPasteData.text_data, true);
};
......@@ -8850,7 +8850,7 @@
var specialPasteProps = g_clipboardBase.specialPasteProps;
if ( val.props && val.props.onlyImages === true ) {
if(!AscCommonExcel.g_clipboardExcel.specialPasteStart)
if(!window['AscCommon'].g_clipboardBase.specialPasteStart)
{
this.handlers.trigger("showSpecialPasteOptions", [Asc.c_oSpecialPasteProps.picture]);
}
......@@ -8984,7 +8984,7 @@
}
//for special paste
if(!AscCommonExcel.g_clipboardExcel.specialPasteStart)
if(!window['AscCommon'].g_clipboardBase.specialPasteStart)
{
//var specialPasteShowOptions = new Asc.SpecialPasteShowOptions();
var allowedSpecialPasteProps;
......@@ -9088,7 +9088,7 @@
//закрываем транзакцию, поскольку в setSelectionInfo она не закроется
History.EndTransaction();
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
}, true );
}
......@@ -9104,7 +9104,7 @@
if ( isEndTransaction )
{
History.EndTransaction();
AscCommonExcel.g_clipboardExcel.end_paste();
window['AscCommon'].g_clipboardBase.Paste_Process_End();
}
};
......@@ -10043,7 +10043,7 @@
specialPasteShowOptions.asc_setOptions(props);
specialPasteShowOptions.asc_setCellCoord(cellCoord);
this.handlers.trigger("showSpecialPasteOptions", specialPasteShowOptions);
},
};
WorksheetView.prototype.updateSpecialPasteOptionsPosition = function(changeActiveRange)
{
......
......@@ -105,6 +105,8 @@
this.specialPasteStart = false;//если true, то в данный момент выполняется специальная вставка
this.pasteStart = false;//идет процесс вставки, выставится в false только после полного ее окончания(загрузка картинок и шрифтов)
this.bIsEndTransaction = false;//временный флаг для excel. TODO пересмотреть!
}
CClipboardBase.prototype =
......@@ -971,12 +973,26 @@
}
else//если не было специальной вставки, необходимо показать кнопку специальной вставки
{
this.SpecialPasteButton_Show();
this.specialPasteProps = null;
//this.SpecialPasteButton_Show();
}
//TODO для excel заглушка. пересмотреть!
if(this.bIsEndTransaction)
{
this.bIsEndTransaction = false;
History.EndTransaction();
}
},
SpecialPasteButton_Show : function(props)
{
//при быстром совместном редактировании отключаем возможность специальной вставки
if(AscCommon.CollaborativeEditing && AscCommon.CollaborativeEditing.m_bFast)
{
return;
}
if(!props)
{
props = this.specialPasteButtonProps.props;
......
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