Commit 6c7fc3fe authored by GoshaZotov's avatar GoshaZotov

add specialPasteData, specialPasteUndoData into CClipboardBase

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