Commit 41adcdef authored by GoshaZotov's avatar GoshaZotov

update position special paste button(shape -> sheet)

parent 39d98e27
...@@ -7233,6 +7233,7 @@ ...@@ -7233,6 +7233,7 @@
if (this.isSelectOnShape) { if (this.isSelectOnShape) {
this.isSelectOnShape = false; this.isSelectOnShape = false;
this.objectRender.unselectDrawingObjects(); this.objectRender.unselectDrawingObjects();
this.updateSpecialPasteOptionsPosition();
} }
return isSelectOnShape; return isSelectOnShape;
}; };
...@@ -7251,6 +7252,8 @@ ...@@ -7251,6 +7252,8 @@
// отправляем евент для получения свойств картинки, шейпа или группы // отправляем евент для получения свойств картинки, шейпа или группы
this.model.workbook.handlers.trigger( "asc_onHideComment" ); this.model.workbook.handlers.trigger( "asc_onHideComment" );
this._updateSelectionNameAndInfo(); this._updateSelectionNameAndInfo();
this.updateSpecialPasteOptionsPosition();
}; };
WorksheetView.prototype.setSelection = function (range, validRange) { WorksheetView.prototype.setSelection = function (range, validRange) {
// Проверка на валидность range. // Проверка на валидность range.
...@@ -8816,11 +8819,18 @@ ...@@ -8816,11 +8819,18 @@
//откатываемся до того, что было до вставки //откатываемся до того, что было до вставки
var isIntoShape = this.objectRender.controller.getTargetDocContent(true); var isIntoShape = this.objectRender.controller.getTargetDocContent(true);
if(!isIntoShape && preSpecialPasteData && preSpecialPasteData.data) //курсор и специальная вставка не в шейпе + курсор в шейпе, специальная вставка на листе
if(preSpecialPasteData && preSpecialPasteData.data && !window['AscCommon'].g_clipboardBase.specialPasteButtonProps.shapeId)
{ {
var tempProps = new Asc.SpecialPasteProps(); var tempProps = new Asc.SpecialPasteProps();
window['AscCommon'].g_clipboardBase.specialPasteProps = tempProps; window['AscCommon'].g_clipboardBase.specialPasteProps = tempProps;
//переводим фокус из шейпа на лист
if(isIntoShape)
{
this.objectRender.controller.resetSelection();
}
//меняем activeRange //меняем activeRange
if(specialPasteData.activeRange) if(specialPasteData.activeRange)
{ {
...@@ -8829,7 +8839,7 @@ ...@@ -8829,7 +8839,7 @@
undoPreviousPaste(); undoPreviousPaste();
} }
else if(isIntoShape && preSpecialPasteData && preSpecialPasteData.shapeSelectionState) else if(isIntoShape && preSpecialPasteData && preSpecialPasteData.shapeSelectionState)//курсор и специальная вставка в шейпе
{ {
//таким образом удаляю вставляенный фрагмент до специальной вставки //таким образом удаляю вставляенный фрагмент до специальной вставки
var State = preSpecialPasteData.shapeSelectionState; var State = preSpecialPasteData.shapeSelectionState;
...@@ -9305,6 +9315,7 @@ ...@@ -9305,6 +9315,7 @@
WorksheetView.prototype._pasteFromBinary = function (val, isCheckSelection, tablesMap, specialPasteProps) { WorksheetView.prototype._pasteFromBinary = function (val, isCheckSelection, tablesMap, specialPasteProps) {
var t = this; var t = this;
var trueActiveRange = t.model.selectionRange.getLast().clone(); var trueActiveRange = t.model.selectionRange.getLast().clone();
var lastSelection = this.model.selectionRange.getLast();
var arn = t.model.selectionRange.getLast().clone(); var arn = t.model.selectionRange.getLast().clone();
var arrFormula = []; var arrFormula = [];
...@@ -9591,7 +9602,11 @@ ...@@ -9591,7 +9602,11 @@
t.isChanged = true; t.isChanged = true;
var arnFor = [trueActiveRange, arrFormula]; var arnFor = [trueActiveRange, arrFormula];
this.setSelection(trueActiveRange);
//TODO переделать на setSelection. закомментировал в связи с падением, когда вставляем ниже видимой зоны таблицы
//this.setSelection(trueActiveRange);
lastSelection.c2 = trueActiveRange.c2;
lastSelection.r2 = trueActiveRange.r2;
var clipboardBase = window['AscCommon'].g_clipboardBase; var clipboardBase = window['AscCommon'].g_clipboardBase;
clipboardBase.specialPasteProps = null; clipboardBase.specialPasteProps = null;
......
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