Commit e2f1f2ca authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Шрифты теперь пишем в изменение.

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@62046 954022d7-b5bf-4e40-9824-e11837661b57
parent 449fca5a
......@@ -1329,6 +1329,7 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
if (this.asyncMethodCallback !== undefined) {
this.asyncMethodCallback();
this.asyncMethodCallback = undefined;
this.waitSave = false;
} else {
// Шрифты загрузились, возможно стоит подождать совместное редактирование
this.FontLoadWaitComplete = true;
......@@ -1375,11 +1376,12 @@ var ASC_DOCS_API_USE_EMBEDDED_FONTS = "@@ASC_DOCS_API_USE_EMBEDDED_FONTS";
spreadsheet_api.prototype._loadFonts = function (fonts, callback) {
if (window["NATIVE_EDITOR_ENJINE"])
return callback();
History.loadFonts(fonts);
this.waitSave = true;
this.asyncMethodCallback = callback;
var arrLoadFonts = [];
for(var i in fonts)
arrLoadFonts.push(new CFont(i, 0, "", 0));
History.loadFonts(arrLoadFonts);
this.FontLoader.LoadDocumentFonts2(arrLoadFonts);
};
......
......@@ -112,6 +112,7 @@ function CHistory(workbook)
this.lastDrawingObjects = null;
this.LastState = null;
this.LoadFonts = {};//собираем все загруженные шрифты между моментами сохранения
this.HasLoadFonts = false;
this.SavedIndex = null; // Номер точки отката, на которой произошло последнее сохранение
}
......@@ -125,6 +126,7 @@ CHistory.prototype.Clear = function()
this.TurnOffHistory = 0;
this.Transaction = 0;
this.LoadFonts = {};
this.HasLoadFonts = false;
this.SavedIndex = null;
......@@ -569,6 +571,8 @@ CHistory.prototype.Create_NewPoint = function()
Time : Time, // Текущее время
SelectionState : oSelectionState
};
this._addFonts(true);
};
// Регистрируем новое изменение:
......@@ -790,18 +794,9 @@ CHistory.prototype.GetSerializeArray = function()
{
var elem = point.Items[j];
aPointChanges.push(new UndoRedoItemSerializable(elem.Class, elem.Type, elem.SheetId, elem.Range, elem.Data, elem.LocalChange));
}
aRes.push(aPointChanges);
}
if (aRes.length > 0) {
var aFonts = [];
for (var i in this.LoadFonts)
aFonts.push(i);
//добавляем в начало, чтобы не потерять это изменение при undo/redo и обрезке изменений
if(aFonts.length > 0)
aRes[0].push(new UndoRedoItemSerializable(g_oUndoRedoWorkbook, historyitem_Workbook_AddFont, null, null, new UndoRedoData_SingleProperty(aFonts)));
}
return aRes;
};
//функция, которая перемещает последнее действие на первую позицию(в текущей точке)
......@@ -814,6 +809,21 @@ CHistory.prototype.ChangeActionsEndToStart = function()
}
};
CHistory.prototype.loadFonts = function (fonts) {
for (var i in fonts)
this.LoadFonts[i] = 1;
};
for (var i = 0; i < fonts.length; ++i) {
this.LoadFonts[fonts[i].name] = 1;
this.HasLoadFonts = true;
}
this._addFonts(false);
};
CHistory.prototype._addFonts = function (isCreateNew) {
// Если мы начали транзакцию или мы только создаем точку, то можно добавлять
if (this.HasLoadFonts && (isCreateNew || !this.IsEndTransaction())) {
var arrFonts = [];
for (var i in this.LoadFonts)
arrFonts.push(i);
this.Add(g_oUndoRedoWorkbook, historyitem_Workbook_AddFont, null, null, new UndoRedoData_SingleProperty(arrFonts));
this.LoadFonts = {};
this.HasLoadFonts = false;
}
};
\ No newline at end of file
......@@ -2019,7 +2019,7 @@
{
var changeTag = $(node).find("a");
this._changeHtmlTag(changeTag);
};
}
oPasteProcessor._Prepeare_recursive(node, true, true);
......@@ -2029,9 +2029,12 @@
History.Create_NewPoint();
History.StartTransaction();
oPasteProcessor._Execute(node, {}, true, true, false);
if(!oPasteProcessor.aContent || !oPasteProcessor.aContent.length)
if(!oPasteProcessor.aContent || !oPasteProcessor.aContent.length) {
History.EndTransaction();
return false;
}
var targetContent = worksheet.objectRender.controller.getTargetDocContent(true);//нужно для заголовков диаграмм
targetContent.Remove(1, true, true);
......@@ -2043,6 +2046,7 @@
worksheet.objectRender.controller.cursorMoveRight(false, false);
window.GlobalPasteFlag = false;
window.GlobalPasteFlagCounter = 0;
History.EndTransaction();
});
return true;
......@@ -2396,12 +2400,12 @@
s++;
var rowCountTrue = startNum;
for (var tR = startNum; tR < tableBody.children.length + startNum; ++tR) {
if(tableBody.children[tR - startNum] && tableBody.children[tR -startNum ] && tableBody.children[tR -startNum ].nodeName.toLowerCase() !== "tr")
{
continue;
}
for (var tR = startNum; tR < tableBody.children.length + startNum; ++tR) {
if(tableBody.children[tR - startNum] && tableBody.children[tR -startNum ] && tableBody.children[tR -startNum ].nodeName.toLowerCase() !== "tr")
{
continue;
}
aResult[rowCountTrue] = [];
var cNew = 0;
......@@ -2496,9 +2500,9 @@
}
cNew++;
}
}
rowCountTrue++;
}
rowCountTrue++;
}
......@@ -2507,7 +2511,7 @@
r = rowCountTrue;
else//если помимо таблицы есть ещё и прочее содержимое
tableRowCount += rowCountTrue - startNum - 1;
break;
break;
onlyImages = false;
......
......@@ -8118,7 +8118,7 @@
break;
case "paste":
// Вставляем текст из локального буфера или нет
isLocal ? t._pasteFromLocalBuff(isLargeRange, isLocal, val, bIsUpdate, canChangeColWidth, onlyActive) : t._pasteFromGlobalBuff(isLargeRange, isLocal, val, bIsUpdate, canChangeColWidth, onlyActive);
isLocal ? t._pasteFromLocalBuff(isLargeRange, isLocal, val, bIsUpdate, canChangeColWidth, onlyActive) : t._pasteFromGlobalBuff(isLargeRange, isLocal, val, bIsUpdate, canChangeColWidth);
bIsUpdate = false;
break;
case "hyperlink":
......@@ -8291,7 +8291,7 @@
}
};
WorksheetView.prototype._pasteFromGlobalBuff = function (isLargeRange, isLocal, val, bIsUpdate, canChangeColWidth, onlyActive) {
WorksheetView.prototype._pasteFromGlobalBuff = function (isLargeRange, isLocal, val, bIsUpdate, canChangeColWidth) {
var t = this;
//загрузка шрифтов, в случае удачи на callback вставляем текст
......@@ -8299,8 +8299,7 @@
if(val.onlyImages !== true)
t._pasteFromLocalBuff(isLargeRange, isLocal, val, bIsUpdate, canChangeColWidth);
var a_drawings = [];
var api = asc["editor"];
if (val.addImages && val.addImages.length != 0 && !(window["Asc"]["editor"] && window["Asc"]["editor"].isChartEditor))
{
......
......@@ -1373,7 +1373,7 @@ var ImageLoadStatus =
{
Loading : 0,
Complete : 1
}
};
function CImage(src)
{
......
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