Commit 6c7fc3fe authored by GoshaZotov's avatar GoshaZotov

add specialPasteData, specialPasteUndoData into CClipboardBase

parent 2e9e9268
......@@ -297,7 +297,7 @@
if(null === this.specialPasteProps)
{
this.pasteProcessor.oSpecialPaste.activeRange = ws.model.selectionRange.clone(ws.model);
window['AscCommon'].g_clipboardBase.specialPasteData.activeRange = ws.model.selectionRange.clone(ws.model);
}
switch (_format)
......@@ -363,7 +363,10 @@
if(null === this.specialPasteProps)
{
this.pasteProcessor.oSpecialPaste.oPreSpecialPasteData = {_format: _format, data1: data1, data2: data2, text_data: text_data};
window['AscCommon'].g_clipboardBase.specialPasteData._format = _format;
window['AscCommon'].g_clipboardBase.specialPasteData.data1 = data1;
window['AscCommon'].g_clipboardBase.specialPasteData.data2 = data2;
window['AscCommon'].g_clipboardBase.specialPasteData.text_data = text_data;
}
}
};
......
......@@ -8708,8 +8708,8 @@
if(!window["Asc"]["editor"].wb.clipboard.specialPasteProps)
{
var sBinary = window["Asc"]["editor"].wb.clipboard.copyProcessor.getBinaryForCopy(this, newRange);
window["Asc"]["editor"].wb.clipboard.pasteProcessor.oSpecialPaste.undoBinary = sBinary;
//this.oSpecialPaste.undoImgsId;
window['AscCommon'].g_clipboardBase.specialPasteUndoData.data = sBinary;
//window['AscCommon'].g_clipboardBase.specialPasteUndoData.images = images;
}
checkRange = [newRange];
......@@ -8724,30 +8724,31 @@
WorksheetView.prototype.specialPaste = function (props) {
var api = window["Asc"]["editor"];
//откатываемся до того, что было до вставки
if(api.wb.clipboard.pasteProcessor.oSpecialPaste.undoBinary)
if(window['AscCommon'].g_clipboardBase.specialPasteUndoData.data)
{
var tempProps = new AscCommonExcel.SpecialPasteProps();
api.wb.clipboard.specialPasteProps = tempProps;
//меняем activeRange
this.model.selectionRange = api.wb.clipboard.pasteProcessor.oSpecialPaste.activeRange.clone(this.model);
if(window['AscCommon'].g_clipboardBase.specialPasteData && window['AscCommon'].g_clipboardBase.specialPasteData.activeRange)
{
this.model.selectionRange = window['AscCommon'].g_clipboardBase.specialPasteData.activeRange.clone(this.model);
}
//откатываем данные в ячейках
api.wb.clipboard.pasteProcessor.pasteFromBinary(this, api.wb.clipboard.pasteProcessor.oSpecialPaste.undoBinary);
api.wb.clipboard.pasteProcessor.pasteFromBinary(this, window['AscCommon'].g_clipboardBase.specialPasteUndoData.data);
//удаляем вставленные изображения
}
//далее специальная вставка
if(api.wb.clipboard.pasteProcessor.oSpecialPaste.oPreSpecialPasteData)
if(window['AscCommon'].g_clipboardBase.specialPasteData)
{
var tempProps = new AscCommonExcel.SpecialPasteProps();
tempProps.setProps(props);
api.wb.clipboard.specialPasteProps = tempProps;
var oPreSpecialPasteData = api.wb.clipboard.pasteProcessor.oSpecialPaste.oPreSpecialPasteData;
api.wb.clipboard.pasteData(this, oPreSpecialPasteData._format, oPreSpecialPasteData.data1, oPreSpecialPasteData.data2, oPreSpecialPasteData.text_data);
var specialPasteData = window['AscCommon'].g_clipboardBase.specialPasteData;
api.wb.clipboard.pasteData(this, specialPasteData._format, specialPasteData.data1, specialPasteData.data2, specialPasteData.text_data);
}
};
......
......@@ -93,6 +93,10 @@
this.PasteImagesCount = 0;
this.PasteImagesCounter = 0;
this.PasteImagesBody = "";
//special paste
this.specialPasteData = {};//данные последней вставки перед специальной вставкой
this.specialPasteUndoData = {};//для того, чтобы сделать повторную вставку с помощью special paste нужно сначала откатиться до того состояния, которое было до первой вставки
}
CClipboardBase.prototype =
......
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