Commit 02b157db authored by GoshaZotov's avatar GoshaZotov

move some properties Clipboard -> clipboard.base

parent 13d18478
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
asc_getOptions : function(val) { return this.options; } asc_getOptions : function(val) { return this.options; }
}; };
function SpecialPasteProps() function СSpecialPasteProps()
{ {
this.cellStyle = true; this.cellStyle = true;
this.val = true; this.val = true;
...@@ -96,9 +96,9 @@ ...@@ -96,9 +96,9 @@
this.images = true; this.images = true;
} }
SpecialPasteProps.prototype = { СSpecialPasteProps.prototype = {
constructor: SpecialPasteProps, constructor: СSpecialPasteProps,
clean: function() clean: function()
{ {
...@@ -251,15 +251,11 @@ ...@@ -251,15 +251,11 @@
this.copyProcessor = new CopyProcessorExcel(); this.copyProcessor = new CopyProcessorExcel();
this.pasteProcessor = new PasteProcessorExcel(); this.pasteProcessor = new PasteProcessorExcel();
this.specialPasteProps = null;
//TODO возможно стоит перенести в clipboard_base
this.pasteStart = false;//если true - осуществляется вставка. false выставляется только по полному окончанию вставки(загрузки картинок и тд)
this.specialPasteStart = false;
this.bIsEndTransaction = false;//если нужно сделать на end_paste endTransaction this.bIsEndTransaction = false;//если нужно сделать на end_paste endTransaction
this.showSpecialPasteButton = false;//нужно показывать или нет кнопку специальной вставки
this.specialPasteRange = null;//для того, чтобы показать в нужном месте иконку(кнопку) специальной вставки //TODO возможно стоит перенести в clipboard_base
this.pasteStart = false;//если true - осуществляется вставка. false выставляется только по полному окончанию вставки(загрузки картинок и тд)
this.specialPasteStart = false;
return this; return this;
} }
...@@ -1372,7 +1368,7 @@ ...@@ -1372,7 +1368,7 @@
insertContent.Elements = this._convertBeforeInsertIntoShapeContent(worksheet, content, isConvertToPPTX, target_doc_content); insertContent.Elements = this._convertBeforeInsertIntoShapeContent(worksheet, content, isConvertToPPTX, target_doc_content);
//TODO конвертирую в текст без форматирую. пеесмотреть! //TODO конвертирую в текст без форматирую. пеесмотреть!
var specialPasteProps = window["Asc"]["editor"].wb.clipboard.specialPasteProps; var specialPasteProps = window['AscCommon'].g_clipboardBase.specialPasteProps;
if(specialPasteProps && !specialPasteProps.format) if(specialPasteProps && !specialPasteProps.format)
{ {
for(var i = 0; i < insertContent.Elements.length; i++) for(var i = 0; i < insertContent.Elements.length; i++)
...@@ -1408,8 +1404,8 @@ ...@@ -1408,8 +1404,8 @@
var allowedSpecialPasteProps = [sProps.sourceformatting, sProps.destinationFormatting]; var allowedSpecialPasteProps = [sProps.sourceformatting, sProps.destinationFormatting];
worksheet.showSpecialPasteOptions(allowedSpecialPasteProps, null, position); worksheet.showSpecialPasteOptions(allowedSpecialPasteProps, null, position);
window["Asc"]["editor"].wb.clipboard.specialPasteRange = cursorPos; window['AscCommon'].g_clipboardBase.specialPasteButtonProps.range = cursorPos;
window["Asc"]["editor"].wb.clipboard.specialPasteShapeId = isIntoShape.Id; window['AscCommon'].g_clipboardBase.specialPasteButtonProps.shapeId = isIntoShape.Id;
} }
}, },
...@@ -1939,7 +1935,7 @@ ...@@ -1939,7 +1935,7 @@
}; };
var aImagesToDownload = this._getImageFromHtml(node, true); var aImagesToDownload = this._getImageFromHtml(node, true);
var specialPasteProps = this.Api.wb.clipboard.specialPasteProps; var specialPasteProps = window['AscCommon'].g_clipboardBase.specialPasteProps;
if(aImagesToDownload !== null && (!specialPasteProps || (specialPasteProps && specialPasteProps.images)))//load to server if(aImagesToDownload !== null && (!specialPasteProps || (specialPasteProps && specialPasteProps.images)))//load to server
{ {
var api = Asc["editor"]; var api = Asc["editor"];
...@@ -4376,8 +4372,8 @@ ...@@ -4376,8 +4372,8 @@
window['AscCommonExcel'] = window['AscCommonExcel'] || {}; window['AscCommonExcel'] = window['AscCommonExcel'] || {};
window["AscCommonExcel"].Clipboard = Clipboard; window["AscCommonExcel"].Clipboard = Clipboard;
window["Asc"]["SpecialPasteProps"] = window["Asc"].SpecialPasteProps = SpecialPasteProps; window["Asc"]["SpecialPasteProps"] = window["Asc"].SpecialPasteProps = СSpecialPasteProps;
prot = SpecialPasteProps.prototype; prot = СSpecialPasteProps.prototype;
prot["asc_setProps"] = prot.asc_setProps; prot["asc_setProps"] = prot.asc_setProps;
window["Asc"]["SpecialPasteShowOptions"] = window["Asc"].SpecialPasteShowOptions = SpecialPasteShowOptions; window["Asc"]["SpecialPasteShowOptions"] = window["Asc"].SpecialPasteShowOptions = SpecialPasteShowOptions;
......
...@@ -711,9 +711,9 @@ ...@@ -711,9 +711,9 @@
}, },
"showSpecialPasteOptions": function(val) { "showSpecialPasteOptions": function(val) {
self.handlers.trigger("asc_onShowSpecialPasteOptions", val); self.handlers.trigger("asc_onShowSpecialPasteOptions", val);
if(!window["Asc"]["editor"].wb.clipboard.showSpecialPasteButton) if(!window['AscCommon'].g_clipboardBase.showSpecialPasteButton)
{ {
window["Asc"]["editor"].wb.clipboard.showSpecialPasteButton = true; window['AscCommon'].g_clipboardBase.showSpecialPasteButton = true;
} }
} }
}); });
...@@ -829,10 +829,10 @@ ...@@ -829,10 +829,10 @@
return !self.isShowComments; return !self.isShowComments;
}); });
this.model.handlers.add("hideSpecialPasteOptions", function() { this.model.handlers.add("hideSpecialPasteOptions", function() {
if(window["Asc"]["editor"].wb.clipboard.showSpecialPasteButton) if(window['AscCommon'].g_clipboardBase.showSpecialPasteButton)
{ {
self.handlers.trigger("asc_onHideSpecialPasteOptions"); self.handlers.trigger("asc_onHideSpecialPasteOptions");
window["Asc"]["editor"].wb.clipboard.showSpecialPasteButton = false; window['AscCommon'].g_clipboardBase.showSpecialPasteButton = false;
} }
}); });
......
...@@ -8680,8 +8680,8 @@ ...@@ -8680,8 +8680,8 @@
break; break;
break; break;
case "paste": case "paste":
var _clipboard = window["Asc"]["editor"].wb.clipboard; var clipboardBase = window['AscCommon'].g_clipboardBase;
_clipboard.specialPasteProps = _clipboard.specialPasteProps ? _clipboard.specialPasteProps : new Asc.SpecialPasteProps(); clipboardBase.specialPasteProps = clipboardBase.specialPasteProps ? clipboardBase.specialPasteProps : new Asc.SpecialPasteProps();
t._loadDataBeforePaste(isLargeRange, fromBinary, val, bIsUpdate, canChangeColWidth); t._loadDataBeforePaste(isLargeRange, fromBinary, val, bIsUpdate, canChangeColWidth);
bIsUpdate = false; bIsUpdate = false;
...@@ -8748,7 +8748,7 @@ ...@@ -8748,7 +8748,7 @@
newRange = this._pasteFromHTML(val, true); newRange = this._pasteFromHTML(val, true);
} }
if(!window["Asc"]["editor"].wb.clipboard.specialPasteProps) if(!window["Asc"]["editor"].wb.clipboard.specialPasteStart)
{ {
var sBinary = window["Asc"]["editor"].wb.clipboard.copyProcessor.getBinaryForCopy(this, newRange); var sBinary = window["Asc"]["editor"].wb.clipboard.copyProcessor.getBinaryForCopy(this, newRange);
var specialPasteSelectionRange = new AscCommonExcel.SelectionRange(); var specialPasteSelectionRange = new AscCommonExcel.SelectionRange();
...@@ -8790,7 +8790,7 @@ ...@@ -8790,7 +8790,7 @@
pasteData = tempWorkbook.aWorksheets[0]; pasteData = tempWorkbook.aWorksheets[0];
if(pasteData) if(pasteData)
{ {
t._pasteFromBinary(pasteData, null, null, api.wb.clipboard.specialPasteProps); t._pasteFromBinary(pasteData, null, null, window['AscCommon'].g_clipboardBase.specialPasteProps);
} }
//удаляем вставленные изображения //удаляем вставленные изображения
...@@ -8819,7 +8819,7 @@ ...@@ -8819,7 +8819,7 @@
if(!isIntoShape && preSpecialPasteData && preSpecialPasteData.data) if(!isIntoShape && preSpecialPasteData && preSpecialPasteData.data)
{ {
var tempProps = new Asc.SpecialPasteProps(); var tempProps = new Asc.SpecialPasteProps();
api.wb.clipboard.specialPasteProps = tempProps; window['AscCommon'].g_clipboardBase.specialPasteProps = tempProps;
//меняем activeRange //меняем activeRange
if(specialPasteData.activeRange) if(specialPasteData.activeRange)
...@@ -8838,7 +8838,7 @@ ...@@ -8838,7 +8838,7 @@
} }
//далее специальная вставка //далее специальная вставка
api.wb.clipboard.specialPasteProps = props; window['AscCommon'].g_clipboardBase.specialPasteProps = props;
//TODO пока для закрытия транзации выставляю флаг. пересмотреть! //TODO пока для закрытия транзации выставляю флаг. пересмотреть!
window["Asc"]["editor"].wb.clipboard.bIsEndTransaction = true; 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(this, specialPasteData._format, specialPasteData.data1, specialPasteData.data2, specialPasteData.text_data, true);
...@@ -8846,8 +8846,8 @@ ...@@ -8846,8 +8846,8 @@
WorksheetView.prototype._pasteData = function (isLargeRange, fromBinary, val, bIsUpdate, canChangeColWidth) { WorksheetView.prototype._pasteData = function (isLargeRange, fromBinary, val, bIsUpdate, canChangeColWidth) {
var t = this; var t = this;
var _clipboard = window["Asc"]["editor"].wb.clipboard; var g_clipboardBase = window['AscCommon'].g_clipboardBase;
var specialPasteProps = _clipboard.specialPasteProps; var specialPasteProps = g_clipboardBase.specialPasteProps;
if ( val.props && val.props.onlyImages === true ) { if ( val.props && val.props.onlyImages === true ) {
if(!window["Asc"]["editor"].wb.clipboard.specialPasteStart) if(!window["Asc"]["editor"].wb.clipboard.specialPasteStart)
...@@ -9004,8 +9004,8 @@ ...@@ -9004,8 +9004,8 @@
WorksheetView.prototype._loadDataBeforePaste = function ( isLargeRange, fromBinary, pasteContent, bIsUpdate, canChangeColWidth ) { WorksheetView.prototype._loadDataBeforePaste = function ( isLargeRange, fromBinary, pasteContent, bIsUpdate, canChangeColWidth ) {
var t = this; var t = this;
var _clipboard = window["Asc"]["editor"].wb.clipboard; var clipboardBase = window['AscCommon'].g_clipboardBase;
var specialPasteProps = _clipboard.specialPasteProps; var specialPasteProps = clipboardBase.specialPasteProps;
//paste from excel binary //paste from excel binary
if(fromBinary) if(fromBinary)
...@@ -9296,8 +9296,8 @@ ...@@ -9296,8 +9296,8 @@
lastSelection.r2 = arn.r2; lastSelection.r2 = arn.r2;
var arnFor = [arn, arrFormula]; var arnFor = [arn, arrFormula];
var _clipboard = window["Asc"]["editor"].wb.clipboard; var clipboardBase = window['AscCommon'].g_clipboardBase;
_clipboard.specialPasteProps = null; clipboardBase.specialPasteProps = null;
return arnFor; return arnFor;
}; };
...@@ -9593,8 +9593,8 @@ ...@@ -9593,8 +9593,8 @@
var arnFor = [trueActiveRange, arrFormula]; var arnFor = [trueActiveRange, arrFormula];
this.setSelection(trueActiveRange); this.setSelection(trueActiveRange);
var _clipboard = window["Asc"]["editor"].wb.clipboard; var clipboardBase = window['AscCommon'].g_clipboardBase;
_clipboard.specialPasteProps = null; clipboardBase.specialPasteProps = null;
return arnFor; return arnFor;
}; };
...@@ -9819,7 +9819,7 @@ ...@@ -9819,7 +9819,7 @@
{ {
var _clipboard = window["Asc"]["editor"].wb.clipboard; var _clipboard = window["Asc"]["editor"].wb.clipboard;
var specialPasteShowOptions = new Asc.SpecialPasteShowOptions(); var specialPasteShowOptions = new Asc.SpecialPasteShowOptions();
_clipboard.specialPasteRange = range; window['AscCommon'].g_clipboardBase.specialPasteButtonProps.range = range;
var cellCoord; var cellCoord;
if(!positionShapeContent) if(!positionShapeContent)
...@@ -9848,12 +9848,12 @@ ...@@ -9848,12 +9848,12 @@
{ {
var _clipboard = window["Asc"]["editor"].wb.clipboard; var _clipboard = window["Asc"]["editor"].wb.clipboard;
var isIntoShape = this.objectRender.controller.getTargetDocContent(true); var isIntoShape = this.objectRender.controller.getTargetDocContent(true);
if(_clipboard.showSpecialPasteButton && isIntoShape) if(window['AscCommon'].g_clipboardBase.showSpecialPasteButton && isIntoShape)
{ {
if(_clipboard.specialPasteShapeId === isIntoShape.Id && _clipboard.specialPasteRange) if(window['AscCommon'].g_clipboardBase.specialPasteButtonProps.shapeId === isIntoShape.Id)
{ {
var specialPasteShowOptions = new Asc.SpecialPasteShowOptions(); var specialPasteShowOptions = new Asc.SpecialPasteShowOptions();
var range = _clipboard.specialPasteRange; var range = window['AscCommon'].g_clipboardBase.specialPasteButtonProps.range;
/*var trueShapeSelection = isIntoShape.Get_SelectionState(); /*var trueShapeSelection = isIntoShape.Get_SelectionState();
isIntoShape.Set_SelectionState(range, range.length - 1);*/ isIntoShape.Set_SelectionState(range, range.length - 1);*/
...@@ -9883,10 +9883,10 @@ ...@@ -9883,10 +9883,10 @@
//isIntoShape.Set_SelectionState(trueShapeSelection, trueShapeSelection.length - 1); //isIntoShape.Set_SelectionState(trueShapeSelection, trueShapeSelection.length - 1);
} }
} }
else if(_clipboard.showSpecialPasteButton && _clipboard.specialPasteRange) else if(window['AscCommon'].g_clipboardBase.showSpecialPasteButton)
{ {
var specialPasteShowOptions = new Asc.SpecialPasteShowOptions(); var specialPasteShowOptions = new Asc.SpecialPasteShowOptions();
var range = _clipboard.specialPasteRange; var range = window['AscCommon'].g_clipboardBase.specialPasteButtonProps.range;
var isVisible = null !== this.getCellVisibleRange(range.c2, range.r2); var isVisible = null !== this.getCellVisibleRange(range.c2, range.r2);
var cellCoord = this.getCellCoord(range.c2, range.r2); var cellCoord = this.getCellCoord(range.c2, range.r2);
......
...@@ -97,6 +97,12 @@ ...@@ -97,6 +97,12 @@
//special paste //special paste
this.specialPasteData = {};//данные последней вставки перед специальной вставкой this.specialPasteData = {};//данные последней вставки перед специальной вставкой
this.specialPasteUndoData = {};//для того, чтобы сделать повторную вставку с помощью special paste нужно сначала откатиться до того состояния, которое было до первой вставки this.specialPasteUndoData = {};//для того, чтобы сделать повторную вставку с помощью special paste нужно сначала откатиться до того состояния, которое было до первой вставки
//параметры специальной вставки из меню.используется класс для EXCEL СSpecialPasteProps. чтобы не протаскивать через все вызываемые функции, добавил это свойство
this.specialPasteProps = null;
this.showSpecialPasteButton = false;//нужно показывать или нет кнопку специальной вставки
this.specialPasteButtonProps = {};//параметры кнопки специальной вставки - позиция. нужно при прокрутке документа, изменения масштаба и тп
} }
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