Commit ee8361ea authored by GoshaZotov's avatar GoshaZotov

add specialPasteStart

parent e9e452d6
...@@ -245,6 +245,7 @@ ...@@ -245,6 +245,7 @@
this.specialPasteProps = null; this.specialPasteProps = null;
//TODO возможно стоит перенести в clipboard_base //TODO возможно стоит перенести в clipboard_base
this.pasteStart = false;//если true - осуществляется вставка. false выставляется только по полному окончанию вставки(загрузки картинок и тд) this.pasteStart = false;//если true - осуществляется вставка. false выставляется только по полному окончанию вставки(загрузки картинок и тд)
this.specialPasteStart = false;
return this; return this;
} }
...@@ -414,14 +415,26 @@ ...@@ -414,14 +415,26 @@
start_paste: function() start_paste: function()
{ {
this.pasteStart = true; this.pasteStart = true;
console.log(this.pasteStart); //console.log("pasteStart: " + this.pasteStart);
}, },
end_paste: function() end_paste: function()
{ {
this.pasteStart = false; this.pasteStart = false;
console.log(this.pasteStart); //console.log("pasteEnd: " + this.pasteStart);
} if(this.specialPasteStart)
{
this.specialPasteStart = false;
//console.log("specialPasteEnd: " + this.specialPasteStart);
}
},
start_specialpaste: function()
{
this.specialPasteStart = true;
//console.log("specialPasteStart: " + this.specialPasteStart);
},
}; };
......
...@@ -711,6 +711,7 @@ ...@@ -711,6 +711,7 @@
}, },
"showSpecialPasteOptions": function(val) { "showSpecialPasteOptions": function(val) {
self.handlers.trigger("asc_onShowSpecialPasteOptions", val); self.handlers.trigger("asc_onShowSpecialPasteOptions", val);
console.log("showSpecialPasteOptions");
} }
}); });
...@@ -826,6 +827,7 @@ ...@@ -826,6 +827,7 @@
}); });
this.model.handlers.add("hideSpecialPasteOptions", function() { this.model.handlers.add("hideSpecialPasteOptions", function() {
self.handlers.trigger("asc_onHideSpecialPasteOptions"); self.handlers.trigger("asc_onHideSpecialPasteOptions");
console.log("hideSpecialPasteOptions");
}); });
this.cellCommentator = new AscCommonExcel.CCellCommentator({ this.cellCommentator = new AscCommonExcel.CCellCommentator({
......
...@@ -8773,11 +8773,12 @@ ...@@ -8773,11 +8773,12 @@
this.model.selectionRange = specialPasteData.activeRange.clone(this.model); this.model.selectionRange = specialPasteData.activeRange.clone(this.model);
} }
window["Asc"]["editor"].wb.clipboard.start_paste();
//откатываем данные в ячейках //откатываем данные в ячейках
api.wb.clipboard.pasteProcessor.pasteFromBinary(this, preSpecialPasteData.data); window["Asc"]["editor"].wb.clipboard.start_specialpaste();
api.wb.clipboard.pasteData(this, AscCommon.c_oAscClipboardDataFormat.Internal, preSpecialPasteData.data, null, null, true);
window["Asc"]["editor"].wb.clipboard.start_specialpaste();
window["Asc"]["editor"].wb.clipboard.start_paste(); window["Asc"]["editor"].wb.clipboard.start_paste();
//удаляем вставленные изображения //удаляем вставленные изображения
if(preSpecialPasteData.images) if(preSpecialPasteData.images)
...@@ -8797,6 +8798,7 @@ ...@@ -8797,6 +8798,7 @@
//далее специальная вставка //далее специальная вставка
if(specialPasteData) if(specialPasteData)
{ {
window["Asc"]["editor"].wb.clipboard.start_specialpaste();
api.wb.clipboard.specialPasteProps = props; api.wb.clipboard.specialPasteProps = props;
api.wb.clipboard.pasteData(this, specialPasteData._format, specialPasteData.data1, specialPasteData.data2, specialPasteData.text_data, true); api.wb.clipboard.pasteData(this, specialPasteData._format, specialPasteData.data1, specialPasteData.data2, specialPasteData.text_data, true);
} }
...@@ -8808,7 +8810,10 @@ ...@@ -8808,7 +8810,10 @@
var specialPasteProps = _clipboard.specialPasteProps; var specialPasteProps = _clipboard.specialPasteProps;
if ( val.props && val.props.onlyImages === true ) { if ( val.props && val.props.onlyImages === true ) {
this.handlers.trigger("showSpecialPasteOptions", [Asc.c_oSpecialPasteProps.picture]); if(!window["Asc"]["editor"].wb.clipboard.specialPasteStart)
{
this.handlers.trigger("showSpecialPasteOptions", [Asc.c_oSpecialPasteProps.picture]);
}
return; return;
} }
...@@ -8939,23 +8944,26 @@ ...@@ -8939,23 +8944,26 @@
} }
//for special paste //for special paste
var specialPasteShowOptions = new Asc.SpecialPasteShowOptions(); if(!window["Asc"]["editor"].wb.clipboard.specialPasteStart)
var allowedSpecialPasteProps;
var sProps = Asc.c_oSpecialPasteProps;
if(fromBinary)
{
allowedSpecialPasteProps = [sProps.paste, sProps.pasteOnlyFormula, sProps.formulaNumberFormat, sProps.formulaAllFormatting, sProps.formulaWithoutBorders, sProps.formulaColumnWidth, sProps.mergeConditionalFormating, sProps.pasteOnlyValues, sProps.valueNumberFormat, sProps.valueAllFormating, sProps.pasteOnlyFormating, sProps.link];
}
else
{ {
//matchDestinationFormatting - пока не добавляю, так как работает как и values var specialPasteShowOptions = new Asc.SpecialPasteShowOptions();
allowedSpecialPasteProps = [sProps.sourceformatting, sProps.destinationFormatting]; var allowedSpecialPasteProps;
var sProps = Asc.c_oSpecialPasteProps;
if(fromBinary)
{
allowedSpecialPasteProps = [sProps.paste, sProps.pasteOnlyFormula, sProps.formulaNumberFormat, sProps.formulaAllFormatting, sProps.formulaWithoutBorders, sProps.formulaColumnWidth, sProps.mergeConditionalFormating, sProps.pasteOnlyValues, sProps.valueNumberFormat, sProps.valueAllFormating, sProps.pasteOnlyFormating, sProps.link];
}
else
{
//matchDestinationFormatting - пока не добавляю, так как работает как и values
allowedSpecialPasteProps = [sProps.sourceformatting, sProps.destinationFormatting];
}
specialPasteShowOptions.asc_setOptions(allowedSpecialPasteProps);
var cellCoord = this.getCellCoord(selectData[0].c2, selectData[0].r2);
specialPasteShowOptions.asc_setCellCoord(cellCoord);
this.handlers.trigger("showSpecialPasteOptions", specialPasteShowOptions);
} }
specialPasteShowOptions.asc_setOptions(allowedSpecialPasteProps);
var cellCoord = this.getCellCoord(selectData[0].c2, selectData[0].r2);
specialPasteShowOptions.asc_setCellCoord(cellCoord);
this.handlers.trigger("showSpecialPasteOptions", specialPasteShowOptions);
}; };
WorksheetView.prototype._loadDataBeforePaste = function ( isLargeRange, fromBinary, pasteContent, bIsUpdate, canChangeColWidth ) { WorksheetView.prototype._loadDataBeforePaste = function ( isLargeRange, fromBinary, pasteContent, bIsUpdate, canChangeColWidth ) {
......
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