diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index e51c6aeff..8414bbd08 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -1460,7 +1460,7 @@ define([ } }, - onError: function(id, level, errData) { + onError: function(id, level, errData, callback) { if (id == Asc.c_oAscError.ID.LoadingScriptError) { this.showTips([this.scriptLoadError]); this.tooltip && this.tooltip.getBSTip().$tip.css('z-index', 10000); @@ -1859,6 +1859,20 @@ define([ config.msg = this.errorLoadingFont; break; + case Asc.c_oAscError.ID.FillAllRowsWarning: + var fill = errData[0], + have = errData[1], + fillWithSeparator = fill.toLocaleString(this.appOptions.lang); + if (this.appOptions.isDesktopApp && this.appOptions.isOffline) { + config.msg = fill > have ? Common.Utils.String.format(this.textFormulaFilledAllRowsWithEmpty, fillWithSeparator) : Common.Utils.String.format(this.textFormulaFilledAllRows, fillWithSeparator); + config.buttons = [{caption: this.textFillOtherRows, primary: true, value: 'fillOther'}, 'close']; + } else { + config.msg = fill >= have ? Common.Utils.String.format(this.textFormulaFilledFirstRowsOtherIsEmpty, fillWithSeparator) : Common.Utils.String.format(this.textFormulaFilledFirstRowsOtherHaveData, fillWithSeparator, (have - fill).toLocaleString(this.appOptions.lang)); + config.buttons = ['ok']; + } + config.maxwidth = 400; + break; + default: config.msg = (typeof id == 'string') ? id : this.errorDefaultMessage.replace('%1', id); break; @@ -1898,6 +1912,8 @@ define([ Common.NotificationCenter.trigger('api:disconnect', true); // enable download and print } else if (id == Asc.c_oAscError.ID.DataValidate && btn !== 'ok') { this.api.asc_closeCellEditor(true); + } else if (id == Asc.c_oAscError.ID.FillAllRowsWarning && btn === 'fillOther' && _.isFunction(callback)) { + callback(); } this._state.lostEditingRights = false; this.onEditComplete(); @@ -3397,7 +3413,12 @@ define([ uploadDocFileCountMessage: 'No documents uploaded.', errorLoadingFont: 'Fonts are not loaded.
Please contact your Document Server administrator.', textNeedSynchronize: 'You have an updates', - textChangesSaved: 'All changes saved' + textChangesSaved: 'All changes saved', + textFillOtherRows: 'Fill other rows', + textFormulaFilledAllRows: 'Formula filled {0} rows have data. Filling other empty rows may take a few minutes.', + textFormulaFilledAllRowsWithEmpty: 'Formula filled first {0} rows. Filling other empty rows may take a few minutes.', + textFormulaFilledFirstRowsOtherIsEmpty: 'Formula filled only first {0} rows by memory save reason. Other rows in this sheet don\'t have data.', + textFormulaFilledFirstRowsOtherHaveData: 'Formula filled only first {0} rows have data by memory save reason. There are other {1} rows have data in this sheet. You can fill them manually.' } })(), SSE.Controllers.Main || {})) }); diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 304363e68..e00eb2a68 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -1040,6 +1040,11 @@ "SSE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.
Contact %1 sales team for personal upgrade terms.", "SSE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", "SSE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "SSE.Controllers.Main.textFillOtherRows": "Fill other rows", + "SSE.Controllers.Main.textFormulaFilledAllRows": "Formula filled {0} rows have data. Filling other empty rows may take a few minutes.", + "SSE.Controllers.Main.textFormulaFilledAllRowsWithEmpty": "Formula filled first {0} rows. Filling other empty rows may take a few minutes.", + "SSE.Controllers.Main.textFormulaFilledFirstRowsOtherIsEmpty": "Formula filled only first {0} rows by memory save reason. Other rows in this sheet don't have data.", + "SSE.Controllers.Main.textFormulaFilledFirstRowsOtherHaveData": "Formula filled only first {0} rows have data by memory save reason. There are other {1} rows have data in this sheet. You can fill them manually.", "SSE.Controllers.Print.strAllSheets": "All Sheets", "SSE.Controllers.Print.textFirstCol": "First column", "SSE.Controllers.Print.textFirstRow": "First row",