Commit 03068699 authored by GoshaZotov's avatar GoshaZotov

add _isLockedCells for special paste

parent c22bf5c0
......@@ -449,6 +449,7 @@
History.EndTransaction();
}
window['AscCommon'].g_clipboardBase.specialPasteProps = null;
},
start_specialpaste: function()
......
......@@ -8778,6 +8778,14 @@
return;
}
var isIntoShape = t.objectRender.controller.getTargetDocContent(true);
var onSelectionCallback = function(isSuccess)
{
if(!isSuccess)
{
return false;
}
//не вызываю для отката api.wb.clipboard.pasteData, потому что внутри асинхронные методы - isLockedCells
var undoPreviousPaste = function()
{
......@@ -8818,7 +8826,6 @@
window["Asc"]["editor"].wb.clipboard.start_paste();
//откатываемся до того, что было до вставки
var isIntoShape = this.objectRender.controller.getTargetDocContent(true);
//курсор и специальная вставка не в шейпе + курсор в шейпе, специальная вставка на листе
if(preSpecialPasteData && preSpecialPasteData.data && !window['AscCommon'].g_clipboardBase.specialPasteButtonProps.shapeId)
{
......@@ -8828,17 +8835,17 @@
//переводим фокус из шейпа на лист
if(isIntoShape)
{
this.objectRender.controller.resetSelection();
t.objectRender.controller.resetSelection();
}
//меняем activeRange
if(specialPasteData.activeRange)
{
this.model.selectionRange = specialPasteData.activeRange.clone(this.model);
t.model.selectionRange = specialPasteData.activeRange.clone(t.model);
}
//нужно удалить данные предыдущей вставки(нужно для удаления ф/т)
t.model.autoFilters.isEmptyAutoFilters(this.model.selectionRange.getLast());
t.model.autoFilters.isEmptyAutoFilters(t.model.selectionRange.getLast());
undoPreviousPaste();
}
......@@ -8854,7 +8861,17 @@
window['AscCommon'].g_clipboardBase.specialPasteProps = props;
//TODO пока для закрытия транзации выставляю флаг. пересмотреть!
window["Asc"]["editor"].wb.clipboard.bIsEndTransaction = true;
api.wb.clipboard.pasteData(this, specialPasteData._format, specialPasteData.data1, specialPasteData.data2, specialPasteData.text_data, true);
api.wb.clipboard.pasteData(t, specialPasteData._format, specialPasteData.data1, specialPasteData.data2, specialPasteData.text_data, true);
};
if(specialPasteData.activeRange && !isIntoShape)
{
this._isLockedCells(specialPasteData.activeRange.ranges, /*subType*/null, onSelectionCallback);
}
else
{
onSelectionCallback(true);
}
};
WorksheetView.prototype._pasteData = function (isLargeRange, fromBinary, val, bIsUpdate, canChangeColWidth) {
......@@ -9310,9 +9327,6 @@
lastSelection.r2 = arn.r2;
var arnFor = [arn, arrFormula];
var clipboardBase = window['AscCommon'].g_clipboardBase;
clipboardBase.specialPasteProps = null;
return arnFor;
};
......@@ -9636,9 +9650,6 @@
lastSelection.c2 = trueActiveRange.c2;
lastSelection.r2 = trueActiveRange.r2;
var clipboardBase = window['AscCommon'].g_clipboardBase;
clipboardBase.specialPasteProps = null;
return arnFor;
};
......
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