diff --git a/apps/common/main/lib/view/Header.js b/apps/common/main/lib/view/Header.js index e82cc2cbb..12ce705de 100644 --- a/apps/common/main/lib/view/Header.js +++ b/apps/common/main/lib/view/Header.js @@ -74,7 +74,7 @@ define([ var templateRightBox = '
' + '
' + - '' + + '' + '
' + '<%= textSaveEnd %>' + '
' + @@ -116,7 +116,7 @@ define([ '
' + '
' + '
' + - '' + + '' + '' + '
'; diff --git a/apps/common/main/resources/img/controls/toolbarbig.png b/apps/common/main/resources/img/controls/toolbarbig.png index 16aaf8a45..5c300ef0d 100644 Binary files a/apps/common/main/resources/img/controls/toolbarbig.png and b/apps/common/main/resources/img/controls/toolbarbig.png differ diff --git a/apps/common/main/resources/img/controls/toolbarbig@2x.png b/apps/common/main/resources/img/controls/toolbarbig@2x.png index f68309906..bfc632e19 100644 Binary files a/apps/common/main/resources/img/controls/toolbarbig@2x.png and b/apps/common/main/resources/img/controls/toolbarbig@2x.png differ diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 76220cbc1..48138ef7b 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -530,6 +530,7 @@ .button-normal-icon(btn-func-math, 73, @toolbar-big-icon-size); .button-normal-icon(btn-more, 74, @toolbar-big-icon-size); .button-normal-icon(btn-pagenum, 75, @toolbar-big-icon-size); +.button-normal-icon(btn-calculation, 80, @toolbar-big-icon-size); [applang=ru] { .btn-toolbar { diff --git a/apps/documenteditor/embed/js/ApplicationController.js b/apps/documenteditor/embed/js/ApplicationController.js index 07d2debb1..f8baf5891 100644 --- a/apps/documenteditor/embed/js/ApplicationController.js +++ b/apps/documenteditor/embed/js/ApplicationController.js @@ -398,6 +398,10 @@ DE.ApplicationController = new(function(){ message = me.errorUserDrop; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + message = me.errorFileSizeExceed; + break; + default: message = me.errorDefaultMessage.replace('%1', id); break; @@ -409,7 +413,7 @@ DE.ApplicationController = new(function(){ Common.Gateway.reportError(id, message); $('#id-critical-error-title').text(me.criticalErrorTitle); - $('#id-critical-error-message').text(message); + $('#id-critical-error-message').html(message); $('#id-critical-error-close').text(me.txtClose).off().on('click', function(){ window.location.reload(); }); @@ -418,7 +422,7 @@ DE.ApplicationController = new(function(){ Common.Gateway.reportWarning(id, message); $('#id-critical-error-title').text(me.notcriticalErrorTitle); - $('#id-critical-error-message').text(message); + $('#id-critical-error-message').html(message); $('#id-critical-error-close').text(me.txtClose).off().on('click', function(){ $('#id-critical-error-dialog').modal('hide'); }); @@ -553,6 +557,7 @@ DE.ApplicationController = new(function(){ downloadTextText: 'Downloading document...', waitText: 'Please, wait...', textLoadingDocument: 'Loading document', - txtClose: 'Close' + txtClose: 'Close', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(); \ No newline at end of file diff --git a/apps/documenteditor/embed/locale/en.json b/apps/documenteditor/embed/locale/en.json index 77a8b48f8..91cd7c4b4 100644 --- a/apps/documenteditor/embed/locale/en.json +++ b/apps/documenteditor/embed/locale/en.json @@ -12,6 +12,7 @@ "DE.ApplicationController.errorAccessDeny": "You are trying to perform an action you do not have rights for.
Please contact your Document Server administrator.", "DE.ApplicationController.errorDefaultMessage": "Error code: %1", "DE.ApplicationController.errorFilePassProtect": "The file is password protected and cannot be opened.", + "DE.ApplicationController.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "DE.ApplicationController.errorUserDrop": "The file cannot be accessed right now.", "DE.ApplicationController.notcriticalErrorTitle": "Warning", "DE.ApplicationController.scriptLoadError": "The connection is too slow, some of the components could not be loaded. Please reload the page.", diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index 18f1a82d5..55f341fba 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -134,11 +134,14 @@ define([ } }, this)); diagramEditor.on('hide', _.bind(function(cmp, message) { - this.documentHolder.fireEvent('editcomplete', this.documentHolder); if (this.api) { this.api.asc_onCloseChartFrame(); this.api.asc_enableKeyEvents(true); } + var me = this; + setTimeout(function(){ + me.documentHolder.fireEvent('editcomplete', me.documentHolder); + }, 10); }, this)); } @@ -151,10 +154,13 @@ define([ this.api.asc_setMailMergeData(data); }, this)); mergeEditor.on('hide', _.bind(function(cmp, message) { - this.documentHolder.fireEvent('editcomplete', this.documentHolder); if (this.api) { this.api.asc_enableKeyEvents(true); } + var me = this; + setTimeout(function(){ + me.documentHolder.fireEvent('editcomplete', me.documentHolder); + }, 10); }, this)); } }, diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 25986829a..8ae828013 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1486,6 +1486,10 @@ define([ config.msg = this.errorEmailClient; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + config.msg = this.errorFileSizeExceed; + break; + default: config.msg = (typeof id == 'string') ? id : this.errorDefaultMessage.replace('%1', id); break; @@ -2470,7 +2474,8 @@ define([ errorEmailClient: 'No email client could be found', textCustomLoader: 'Please note that according to the terms of the license you are not entitled to change the loader.
Please contact our Sales Department to get a quote.', txtHyperlink: 'Hyperlink', - waitText: 'Please, wait...' + waitText: 'Please, wait...', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(), DE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index fe28eb861..875b4acdd 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -665,6 +665,7 @@ "DE.Controllers.Main.warnNoLicense": "This version of %1 editors has certain limitations for concurrent connections to the document server.
If you need more please consider purchasing a commercial license.", "DE.Controllers.Main.warnNoLicenseUsers": "This version of %1 editors has certain limitations for concurrent users.
If you need more please consider purchasing a commercial license.", "DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "DE.Controllers.Main.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "DE.Controllers.Navigation.txtBeginning": "Beginning of document", "DE.Controllers.Navigation.txtGotoBeginning": "Go to the beginning of the document", "DE.Controllers.Statusbar.textHasChanges": "New changes have been tracked", diff --git a/apps/documenteditor/mobile/app/controller/Main.js b/apps/documenteditor/mobile/app/controller/Main.js index 09a87a897..deecc10f8 100644 --- a/apps/documenteditor/mobile/app/controller/Main.js +++ b/apps/documenteditor/mobile/app/controller/Main.js @@ -948,6 +948,10 @@ define([ config.msg = this.errorEditingDownloadas; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + config.msg = this.errorFileSizeExceed; + break; + default: config.msg = this.errorDefaultMessage.replace('%1', id); break; @@ -1432,7 +1436,8 @@ define([ errorEditingDownloadas: 'An error occurred during the work with the document.
Use the \'Download\' option to save the file backup copy to your computer hard drive.', textPaidFeature: 'Paid feature', textCustomLoader: 'Please note that according to the terms of the license you are not entitled to change the loader.
Please contact our Sales Department to get a quote.', - waitText: 'Please, wait...' + waitText: 'Please, wait...', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(), DE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/documenteditor/mobile/locale/en.json b/apps/documenteditor/mobile/locale/en.json index a288509a9..96ecafa44 100644 --- a/apps/documenteditor/mobile/locale/en.json +++ b/apps/documenteditor/mobile/locale/en.json @@ -247,6 +247,7 @@ "DE.Controllers.Main.warnNoLicense": "This version of %1 editors has certain limitations for concurrent connections to the document server.
If you need more please consider purchasing a commercial license.", "DE.Controllers.Main.warnNoLicenseUsers": "This version of %1 editors has certain limitations for concurrent users.
If you need more please consider purchasing a commercial license.", "DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "DE.Controllers.Main.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "DE.Controllers.Search.textNoTextFound": "Text not Found", "DE.Controllers.Search.textReplaceAll": "Replace All", "DE.Controllers.Settings.notcriticalErrorTitle": "Warning", diff --git a/apps/presentationeditor/embed/js/ApplicationController.js b/apps/presentationeditor/embed/js/ApplicationController.js index a425b3840..a140f01a6 100644 --- a/apps/presentationeditor/embed/js/ApplicationController.js +++ b/apps/presentationeditor/embed/js/ApplicationController.js @@ -498,6 +498,10 @@ PE.ApplicationController = new(function(){ message = me.errorUserDrop; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + message = me.errorFileSizeExceed; + break; + default: message = me.errorDefaultMessage.replace('%1', id); break; @@ -509,7 +513,7 @@ PE.ApplicationController = new(function(){ Common.Gateway.reportError(id, message); $('#id-critical-error-title').text(me.criticalErrorTitle); - $('#id-critical-error-message').text(message); + $('#id-critical-error-message').html(message); $('#id-critical-error-close').text(me.txtClose).off().on('click', function(){ window.location.reload(); }); @@ -518,7 +522,7 @@ PE.ApplicationController = new(function(){ Common.Gateway.reportWarning(id, message); $('#id-critical-error-title').text(me.notcriticalErrorTitle); - $('#id-critical-error-message').text(message); + $('#id-critical-error-message').html(message); $('#id-critical-error-close').text(me.txtClose).off().on('click', function(){ $('#id-critical-error-dialog').modal('hide'); }); @@ -624,6 +628,7 @@ PE.ApplicationController = new(function(){ downloadTextText: 'Downloading presentation...', waitText: 'Please, wait...', textLoadingDocument: 'Loading presentation', - txtClose: 'Close' + txtClose: 'Close', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(); diff --git a/apps/presentationeditor/embed/locale/en.json b/apps/presentationeditor/embed/locale/en.json index c25ad71da..a12071d1d 100644 --- a/apps/presentationeditor/embed/locale/en.json +++ b/apps/presentationeditor/embed/locale/en.json @@ -12,6 +12,7 @@ "PE.ApplicationController.errorAccessDeny": "You are trying to perform an action you do not have rights for.
Please contact your Document Server administrator.", "PE.ApplicationController.errorDefaultMessage": "Error code: %1", "PE.ApplicationController.errorFilePassProtect": "The file is password protected and cannot be opened.", + "PE.ApplicationController.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "PE.ApplicationController.errorUserDrop": "The file cannot be accessed right now.", "PE.ApplicationController.notcriticalErrorTitle": "Warning", "PE.ApplicationController.scriptLoadError": "The connection is too slow, some of the components could not be loaded. Please reload the page.", diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index cc4ef086d..403b24c96 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -1193,6 +1193,10 @@ define([ config.msg = this.errorEmailClient; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + config.msg = this.errorFileSizeExceed; + break; + default: config.msg = (typeof id == 'string') ? id : this.errorDefaultMessage.replace('%1', id); break; @@ -2178,7 +2182,8 @@ define([ txtShape_polyline2: 'Freeform', errorEmailClient: 'No email client could be found', textCustomLoader: 'Please note that according to the terms of the license you are not entitled to change the loader.
Please contact our Sales Department to get a quote.', - waitText: 'Please, wait...' + waitText: 'Please, wait...', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(), PE.Controllers.Main || {})) }); diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json index d3b768c0b..686018f0f 100644 --- a/apps/presentationeditor/main/locale/en.json +++ b/apps/presentationeditor/main/locale/en.json @@ -586,6 +586,7 @@ "PE.Controllers.Main.warnNoLicense": "This version of %1 editors has certain limitations for concurrent connections to the document server.
If you need more please consider purchasing a commercial license.", "PE.Controllers.Main.warnNoLicenseUsers": "This version of %1 editors has certain limitations for concurrent users.
If you need more please consider purchasing a commercial license.", "PE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "PE.Controllers.Main.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "PE.Controllers.Statusbar.zoomText": "Zoom {0}%", "PE.Controllers.Toolbar.confirmAddFontName": "The font you are going to save is not available on the current device.
The text style will be displayed using one of the system fonts, the saved font will be used when it is available.
Do you want to continue?", "PE.Controllers.Toolbar.textAccent": "Accents", diff --git a/apps/presentationeditor/mobile/app/controller/Main.js b/apps/presentationeditor/mobile/app/controller/Main.js index cafc6e266..da95d6730 100644 --- a/apps/presentationeditor/mobile/app/controller/Main.js +++ b/apps/presentationeditor/mobile/app/controller/Main.js @@ -880,6 +880,10 @@ define([ config.msg = this.errorEditingDownloadas; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + config.msg = this.errorFileSizeExceed; + break; + default: config.msg = this.errorDefaultMessage.replace('%1', id); break; @@ -1387,7 +1391,8 @@ define([ errorEditingDownloadas: 'An error occurred during the work with the document.
Use the \'Download\' option to save the file backup copy to your computer hard drive.', textPaidFeature: 'Paid feature', textCustomLoader: 'Please note that according to the terms of the license you are not entitled to change the loader.
Please contact our Sales Department to get a quote.', - waitText: 'Please, wait...' + waitText: 'Please, wait...', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(), PE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/presentationeditor/mobile/locale/en.json b/apps/presentationeditor/mobile/locale/en.json index d4d763049..d55aa3c0a 100644 --- a/apps/presentationeditor/mobile/locale/en.json +++ b/apps/presentationeditor/mobile/locale/en.json @@ -223,6 +223,7 @@ "PE.Controllers.Main.warnNoLicense": "This version of %1 editors has certain limitations for concurrent connections to the document server.
If you need more please consider purchasing a commercial license.", "PE.Controllers.Main.warnNoLicenseUsers": "This version of %1 editors has certain limitations for concurrent users.
If you need more please consider purchasing a commercial license.", "PE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "PE.Controllers.Main.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "PE.Controllers.Search.textNoTextFound": "Text not Found", "PE.Controllers.Search.textReplaceAll": "Replace All", "PE.Controllers.Settings.notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/embed/js/ApplicationController.js b/apps/spreadsheeteditor/embed/js/ApplicationController.js index 9dafa9ae0..1c8078945 100644 --- a/apps/spreadsheeteditor/embed/js/ApplicationController.js +++ b/apps/spreadsheeteditor/embed/js/ApplicationController.js @@ -406,6 +406,10 @@ SSE.ApplicationController = new(function(){ message = me.errorUserDrop; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + message = me.errorFileSizeExceed; + break; + default: message = me.errorDefaultMessage.replace('%1', id); break; @@ -417,7 +421,7 @@ SSE.ApplicationController = new(function(){ Common.Gateway.reportError(id, message); $('#id-critical-error-title').text(me.criticalErrorTitle); - $('#id-critical-error-message').text(message); + $('#id-critical-error-message').html(message); $('#id-critical-error-close').text(me.txtClose).off().on('click', function(){ window.location.reload(); }); @@ -426,7 +430,7 @@ SSE.ApplicationController = new(function(){ Common.Gateway.reportWarning(id, message); $('#id-critical-error-title').text(me.notcriticalErrorTitle); - $('#id-critical-error-message').text(message); + $('#id-critical-error-message').html(message); $('#id-critical-error-close').text(me.txtClose).off().on('click', function(){ $('#id-critical-error-dialog').modal('hide'); }); @@ -571,6 +575,7 @@ SSE.ApplicationController = new(function(){ downloadTextText: 'Downloading spreadsheet...', waitText: 'Please, wait...', textLoadingDocument: 'Loading spreadsheet', - txtClose: 'Close' + txtClose: 'Close', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(); \ No newline at end of file diff --git a/apps/spreadsheeteditor/embed/locale/en.json b/apps/spreadsheeteditor/embed/locale/en.json index f94d807ac..11ac34dc1 100644 --- a/apps/spreadsheeteditor/embed/locale/en.json +++ b/apps/spreadsheeteditor/embed/locale/en.json @@ -12,6 +12,7 @@ "SSE.ApplicationController.errorAccessDeny": "You are trying to perform an action you do not have rights for.
Please contact your Document Server administrator.", "SSE.ApplicationController.errorDefaultMessage": "Error code: %1", "SSE.ApplicationController.errorFilePassProtect": "The file is password protected and cannot be opened.", + "SSE.ApplicationController.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "SSE.ApplicationController.errorUserDrop": "The file cannot be accessed right now.", "SSE.ApplicationController.notcriticalErrorTitle": "Warning", "SSE.ApplicationController.scriptLoadError": "The connection is too slow, some of the components could not be loaded. Please reload the page.", diff --git a/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js b/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js index 5093269b1..45a977803 100644 --- a/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js +++ b/apps/spreadsheeteditor/main/app/controller/FormulaDialog.js @@ -80,7 +80,8 @@ define([ } }, 'FormulaTab': { - 'function:apply': this.applyFunction + 'function:apply': this.applyFunction, + 'function:calculate': this.onCalculate }, 'Toolbar': { 'function:apply': this.applyFunction, @@ -353,6 +354,13 @@ define([ } }, + onCalculate: function(calc) { + var type = calc.type; + if (type === Asc.c_oAscCalculateType.All || type === Asc.c_oAscCalculateType.ActiveSheet) { + this.api && this.api.asc_calculate(type); + } + }, + sCategoryAll: 'All', sCategoryLast10: '10 last used', sCategoryLogical: 'Logical', diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index f382175bc..93611d6d9 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -1399,6 +1399,10 @@ define([ config.maxwidth = 600; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + config.msg = this.errorFileSizeExceed; + break; + default: config.msg = (typeof id == 'string') ? id : this.errorDefaultMessage.replace('%1', id); break; @@ -2432,7 +2436,8 @@ define([ txtDate: 'Date', txtTime: 'Time', txtTab: 'Tab', - txtFile: 'File' + txtFile: 'File', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(), SSE.Controllers.Main || {})) }); diff --git a/apps/spreadsheeteditor/main/app/controller/Spellcheck.js b/apps/spreadsheeteditor/main/app/controller/Spellcheck.js index 4abcbbb8a..6f058827d 100644 --- a/apps/spreadsheeteditor/main/app/controller/Spellcheck.js +++ b/apps/spreadsheeteditor/main/app/controller/Spellcheck.js @@ -103,6 +103,7 @@ define([ if (this.api) { this.api.asc_nextWord(); } + Common.NotificationCenter.trigger('edit:complete', this, {restorefocus:true}); }, onDictionary: function() { @@ -172,6 +173,7 @@ define([ this.api.asc_setDefaultLanguage(lang); Common.localStorage.setItem("sse-spellcheck-locale", this.panelSpellcheck.cmbDictionaryLanguage.getValue()); } + Common.NotificationCenter.trigger('edit:complete', this, {restorefocus:true}); }, onClickChange: function (btn, e) { @@ -179,6 +181,7 @@ define([ var rec = this.panelSpellcheck.suggestionList.getSelectedRec(); rec && this.api.asc_replaceMisspelledWord(rec.get('value'), this._currentSpellObj); } + Common.NotificationCenter.trigger('edit:complete', this, {restorefocus:true}); }, onClickChangeMenu: function (menu, item) { @@ -190,12 +193,14 @@ define([ rec && this.api.asc_replaceMisspelledWord(rec.get('value'), this._currentSpellObj, true); } } + Common.NotificationCenter.trigger('edit:complete', this, {restorefocus:true}); }, onClickIgnore: function () { if (this.api) { this.api.asc_ignoreMisspelledWord(this._currentSpellObj, false) } + Common.NotificationCenter.trigger('edit:complete', this, {restorefocus:true}); }, onClickIgnoreMenu: function (menu, item) { @@ -206,6 +211,7 @@ define([ this.api.asc_ignoreMisspelledWord(this._currentSpellObj, true); } } + Common.NotificationCenter.trigger('edit:complete', this, {restorefocus:true}); }, onSpellCheckVariantsFound: function (property) { diff --git a/apps/spreadsheeteditor/main/app/template/Toolbar.template b/apps/spreadsheeteditor/main/app/template/Toolbar.template index fae46d2d5..ffd9e89f0 100644 --- a/apps/spreadsheeteditor/main/app/template/Toolbar.template +++ b/apps/spreadsheeteditor/main/app/template/Toolbar.template @@ -172,6 +172,10 @@ +
+
+ +
diff --git a/apps/spreadsheeteditor/main/app/view/FormulaTab.js b/apps/spreadsheeteditor/main/app/view/FormulaTab.js index 21e3523f7..158d3c125 100644 --- a/apps/spreadsheeteditor/main/app/view/FormulaTab.js +++ b/apps/spreadsheeteditor/main/app/view/FormulaTab.js @@ -57,6 +57,12 @@ define([ me.btnFormula.on('click', function(){ me.fireEvent('function:apply', [{name: 'more', origin: 'more'}]); }); + me.btnCalculate.on('click', function () { + me.fireEvent('function:calculate', [{type: Asc.c_oAscCalculateType.All}]); + }); + me.btnCalculate.menu.on('item:click', function (menu, item, e) { + me.fireEvent('function:calculate', [{type: item.value}]); + }); } return { options: {}, @@ -214,6 +220,18 @@ define([ Common.Utils.injectComponent($host.find('#slot-btn-more'), this.btnMore); this.lockedControls.push(this.btnMore); + this.btnCalculate = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'btn-calculation', + caption: this.txtCalculation, + split: true, + menu: true, + disabled: true, + lock: [_set.editCell, _set.selRangeEdit, _set.lostConnect, _set.coAuth] + }); + Common.Utils.injectComponent($host.find('#slot-btn-calculate'), this.btnCalculate); + this.lockedControls.push(this.btnCalculate); + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); }, @@ -226,6 +244,17 @@ define([ (new Promise(function (accept, reject) { accept(); })).then(function(){ + me.btnCalculate.updateHint([me.tipCalculateTheEntireWorkbook + Common.Utils.String.platformKey('F9'), me.tipCalculate]); + var _menu = new Common.UI.Menu({ + items: [ + {caption: me.textCalculateWorkbook, value: Asc.c_oAscCalculateType.All}, + {caption: me.textCalculateCurrentSheet, value: Asc.c_oAscCalculateType.ActiveSheet}, + //{caption: '--'}, + //{caption: me.textAutomatic, value: '', toggleGroup: 'menuCalcMode', checkable: true, checked: true}, + //{caption: me.textManual, value: '', toggleGroup: 'menuCalcMode', checkable: true, checked: false} + ] + }); + me.btnCalculate.setMenu(_menu); setEvents.call(me); }); }, @@ -480,7 +509,14 @@ define([ txtAdditional: 'Additional', txtFormula: 'Function', txtFormulaTip: 'Insert function', - txtMore: 'More functions' + txtMore: 'More functions', + txtCalculation: 'Calculation', + tipCalculate: 'Calculate', + textCalculateWorkbook: 'Calculate workbook', + textCalculateCurrentSheet: 'Calculate current sheet', + textAutomatic: 'Automatic', + textManual: 'Manual', + tipCalculateTheEntireWorkbook: 'Calculate the entire workbook' } }()), SSE.Views.FormulaTab || {})); }); diff --git a/apps/spreadsheeteditor/main/app/view/Spellcheck.js b/apps/spreadsheeteditor/main/app/view/Spellcheck.js index 33d879318..1d6a3ad83 100644 --- a/apps/spreadsheeteditor/main/app/view/Spellcheck.js +++ b/apps/spreadsheeteditor/main/app/view/Spellcheck.js @@ -146,7 +146,8 @@ define([ cls : 'input-group-nr', scroller : { suppressScrollX: true - } + }, + search: true }); this.btnToDictionary = new Common.UI.Button({ diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index b644c07c0..ecec32f3e 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -751,6 +751,7 @@ "SSE.Controllers.Main.warnNoLicense": "This version of %1 editors has certain limitations for concurrent connections to the document server.
If you need more please consider purchasing a commercial license.", "SSE.Controllers.Main.warnNoLicenseUsers": "This version of %1 editors has certain limitations for concurrent users.
If you need more please consider purchasing a commercial license.", "SSE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "SSE.Controllers.Main.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "SSE.Controllers.Print.strAllSheets": "All Sheets", "SSE.Controllers.Print.textWarning": "Warning", "SSE.Controllers.Print.txtCustom": "Custom", @@ -1633,6 +1634,13 @@ "SSE.Views.FormulaTab.txtFormulaTip": "Insert function", "SSE.Views.FormulaTab.txtMore": "More functions", "SSE.Views.FormulaTab.txtRecent": "Recently used", + "SSE.Views.FormulaTab.txtCalculation": "Calculation", + "SSE.Views.FormulaTab.tipCalculate": "Calculate", + "SSE.Views.FormulaTab.textCalculateWorkbook": "Calculate workbook", + "SSE.Views.FormulaTab.textCalculateCurrentSheet": "Calculate current sheet", + "SSE.Views.FormulaTab.textAutomatic": "Automatic", + "SSE.Views.FormulaTab.textManual": "Manual", + "SSE.Views.FormulaTab.tipCalculateTheEntireWorkbook": "Calculate the entire workbook", "SSE.Views.GroupDialog.cancelButtonText": "Cancel", "SSE.Views.GroupDialog.okButtonText": "OK", "SSE.Views.GroupDialog.textColumns": "Columns", diff --git a/apps/spreadsheeteditor/mobile/app/controller/Main.js b/apps/spreadsheeteditor/mobile/app/controller/Main.js index b187c935d..c120d514b 100644 --- a/apps/spreadsheeteditor/mobile/app/controller/Main.js +++ b/apps/spreadsheeteditor/mobile/app/controller/Main.js @@ -1034,6 +1034,10 @@ define([ config.msg = this.errorFrmlMaxTextLength; break; + case Asc.c_oAscError.ID.ConvertationOpenLimitError: + config.msg = this.errorFileSizeExceed; + break; + default: config.msg = this.errorDefaultMessage.replace('%1', id); break; @@ -1615,7 +1619,8 @@ define([ textPaidFeature: 'Paid feature', textCustomLoader: 'Please note that according to the terms of the license you are not entitled to change the loader.
Please contact our Sales Department to get a quote.', errorFrmlMaxTextLength: 'Text values in formulas are limited to 255 characters.
Use the CONCATENATE function or concatenation operator (&)', - waitText: 'Please, wait...' + waitText: 'Please, wait...', + errorFileSizeExceed: 'The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.' } })(), SSE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/mobile/locale/en.json b/apps/spreadsheeteditor/mobile/locale/en.json index 34b803416..138513d20 100644 --- a/apps/spreadsheeteditor/mobile/locale/en.json +++ b/apps/spreadsheeteditor/mobile/locale/en.json @@ -284,6 +284,7 @@ "SSE.Controllers.Main.warnNoLicense": "This version of %1 editors has certain limitations for concurrent connections to the document server.
If you need more please consider purchasing a commercial license.", "SSE.Controllers.Main.warnNoLicenseUsers": "This version of %1 editors has certain limitations for concurrent users.
If you need more please consider purchasing a commercial license.", "SSE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "SSE.Controllers.Main.errorFileSizeExceed": "The file size exceeds the limitation set for your server.
Please contact your Document Server administrator for details.", "SSE.Controllers.Search.textNoTextFound": "Text not found", "SSE.Controllers.Search.textReplaceAll": "Replace All", "SSE.Controllers.Settings.notcriticalErrorTitle": "Warning",