Commit 68c68375 authored by Alexander.Trofimov's avatar Alexander.Trofimov

fix bug 32621

parent a843a6df
...@@ -3134,8 +3134,7 @@ Workbook.prototype.sortDependency = function(setCellFormat) { ...@@ -3134,8 +3134,7 @@ Workbook.prototype.sortDependency = function(setCellFormat) {
} }
} }
for (i in oCleanCellCacheArea) for (i in oCleanCellCacheArea)
this.handlers.trigger("cleanCellCache", i, oCleanCellCacheArea[i], this.handlers.trigger("cleanCellCache", i, oCleanCellCacheArea[i], AscCommonExcel.c_oAscCanChangeColWidth.none);
AscCommonExcel.c_oAscCanChangeColWidth.numbers);
AscCommonExcel.g_oVLOOKUPCache.clean(); AscCommonExcel.g_oVLOOKUPCache.clean();
AscCommonExcel.g_oHLOOKUPCache.clean(); AscCommonExcel.g_oHLOOKUPCache.clean();
......
...@@ -11298,60 +11298,58 @@ ...@@ -11298,60 +11298,58 @@
return mergedRange ? mergedRange : new asc_Range( col, row, col, row ); return mergedRange ? mergedRange : new asc_Range( col, row, col, row );
}; };
WorksheetView.prototype._saveCellValueAfterEdit = function ( oCellEdit, c, val, flags, skipNLCheck, isNotHistory, lockDraw ) { WorksheetView.prototype._saveCellValueAfterEdit = function (oCellEdit, c, val, flags, skipNLCheck, isNotHistory, lockDraw) {
var t = this; var t = this;
var oldMode = t.isFormulaEditMode; var oldMode = t.isFormulaEditMode;
t.isFormulaEditMode = false; t.isFormulaEditMode = false;
if ( !isNotHistory ) { if (!isNotHistory) {
History.Create_NewPoint(); History.Create_NewPoint();
History.StartTransaction(); History.StartTransaction();
} }
var isFormula = t._isFormula( val ); var isFormula = t._isFormula(val);
if ( isFormula ) { if (isFormula) {
var ftext = val.reduce( function ( pv, cv ) { var ftext = val.reduce(function (pv, cv) {
return pv + cv.text; return pv + cv.text;
}, "" ); }, "");
var ret = true; var ret = true;
// ToDo - при вводе формулы в заголовок автофильтра надо писать "0" // ToDo - при вводе формулы в заголовок автофильтра надо писать "0"
c.setValue( ftext, function ( r ) { c.setValue(ftext, function (r) {
ret = r; ret = r;
} ); });
if ( !ret ) { if (!ret) {
t.isFormulaEditMode = oldMode; t.isFormulaEditMode = oldMode;
History.EndTransaction(); History.EndTransaction();
return false; return false;
} }
isFormula = c.isFormula(); isFormula = c.isFormula();
} } else {
else { c.setValue2(val);
c.setValue2( val );
// Вызываем функцию пересчета для заголовков форматированной таблицы // Вызываем функцию пересчета для заголовков форматированной таблицы
t.model.autoFilters.renameTableColumn( oCellEdit ); t.model.autoFilters.renameTableColumn(oCellEdit);
} }
if ( !isFormula ) { if (!isFormula) {
// Нужно ли выставлять WrapText (ищем символ новой строки в тексте) // Нужно ли выставлять WrapText (ищем символ новой строки в тексте)
var bIsSetWrap = false; var bIsSetWrap = false;
if ( !skipNLCheck ) { if (!skipNLCheck) {
for ( var i = 0; i < val.length; ++i ) { for (var i = 0; i < val.length; ++i) {
if ( val[i].text.indexOf( kNewLine ) >= 0 ) { if (val[i].text.indexOf(kNewLine) >= 0) {
bIsSetWrap = true; bIsSetWrap = true;
break; break;
} }
} }
} }
if ( bIsSetWrap ) { if (bIsSetWrap) {
c.setWrap( true ); c.setWrap(true);
} }
// Для формулы обновление будет в коде рассчета формулы
t._updateCellsRange( oCellEdit, /*canChangeColWidth*/c_oAscCanChangeColWidth.numbers, lockDraw );
} }
if ( !isNotHistory ) { t._updateCellsRange(oCellEdit, isNotHistory ? c_oAscCanChangeColWidth.none : c_oAscCanChangeColWidth.numbers, lockDraw);
if (!isNotHistory) {
History.EndTransaction(); History.EndTransaction();
} }
......
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