diff --git a/apps/spreadsheeteditor/main/app/controller/CellEditor.js b/apps/spreadsheeteditor/main/app/controller/CellEditor.js index 659f72cbc..cb92d6915 100644 --- a/apps/spreadsheeteditor/main/app/controller/CellEditor.js +++ b/apps/spreadsheeteditor/main/app/controller/CellEditor.js @@ -309,6 +309,11 @@ define([ onLockDefNameManager: function(state) { this.namedrange_locked = (state == Asc.c_oAscDefinedNameReason.LockDefNameManager); + }, + + disableEditing: function(disabled) { + this.editor.$btnfunc[!disabled?'removeClass':'addClass']('disabled'); + this.editor.btnNamedRanges.setVisible(!disabled); } }); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js index de93a8e20..ba0326674 100644 --- a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js @@ -188,6 +188,16 @@ define([ return this; }, + disableEditing: function(disabled) { + this.leftMenu.btnComments.setDisabled(disabled); + this.leftMenu.btnChat.setDisabled(disabled); + this.leftMenu.btnPlugins.setDisabled(disabled); + this.leftMenu.btnSpellcheck.setDisabled(disabled); + + this.leftMenu.getMenu('file').disableEditing(disabled); + this.leftMenu.getMenu('file').getButton('protect').setDisabled(disable); + }, + createDelayedElements: function() { /** coauthoring begin **/ if ( this.mode.canCoAuthoring ) { diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index 431e08729..e46feea76 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -860,6 +860,7 @@ define([ Common.NotificationCenter.trigger('document:ready', 'main'); me.applyLicense(); + me.warningDocumentIsLocked(); } }, 50); } else { @@ -2220,13 +2221,16 @@ define([ disablefunc: function (disable) { me.disableEditing(disable); var app = me.getApplication(); + app.getController('Toolbar').DisableToolbar(disable,disable); app.getController('RightMenu').SetDisabled(disable, true); app.getController('Statusbar').SetDisabled(disable); app.getController('Common.Controllers.ReviewChanges').SetDisabled(disable); app.getController('DocumentHolder').SetDisabled(disable, true); var leftMenu = app.getController('LeftMenu'); - leftMenu.leftMenu.getMenu('file').getButton('protect').setDisabled(disable); leftMenu.setPreviewMode(disable); + leftMenu.disableEditing(disable); + app.getController('CellEditor').disableEditing(disable); + app.getController('Viewport').disableEditing(disable); var comments = app.getController('Common.Controllers.Comments'); if (comments) comments.setPreviewMode(disable); }}); diff --git a/apps/spreadsheeteditor/main/app/controller/Viewport.js b/apps/spreadsheeteditor/main/app/controller/Viewport.js index 5db842009..dfedc5dfa 100644 --- a/apps/spreadsheeteditor/main/app/controller/Viewport.js +++ b/apps/spreadsheeteditor/main/app/controller/Viewport.js @@ -484,6 +484,10 @@ define([ } }, + disableEditing: function (disabled) { + this.header.btnOptions.menu.items[6].setDisabled(disabled); + }, + textHideFBar: 'Hide Formula Bar', textHideHeadings: 'Hide Headings', textHideGridlines: 'Hide Gridlines', diff --git a/apps/spreadsheeteditor/main/app/view/FileMenu.js b/apps/spreadsheeteditor/main/app/view/FileMenu.js index b78b27a71..f491daafa 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenu.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenu.js @@ -258,6 +258,10 @@ define([ } if (!this.mode) return; + if ( this.mode.disableEditing != undefined ) { + this.panels['opts'].disableEditing(this.mode.disableEditing); + delete this.mode.disableEditing; + } this.miDownload[(this.mode.canDownload && (!this.mode.isDesktopApp || !this.mode.isOffline))?'show':'hide'](); var isBCSupport = window["AscDesktopEditor"] ? window["AscDesktopEditor"]["isBlockchainSupport"]() : false; @@ -410,6 +414,15 @@ define([ } }, + disableEditing: function(disabled) { + this.miProtect.setDisabled(disabled); + if ( !this.panels ) { + this.mode.disableEditing = disabled; + } else { + this.panels['opts'].disableEditing(disabled); + } + }, + btnSaveCaption : 'Save', btnDownloadCaption : 'Download as...', btnInfoCaption : 'Document Info...', diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index 38514fa5b..2cdd37fb7 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -261,6 +261,20 @@ define([ this.spellcheckSettings && this.spellcheckSettings.setApi(api); }, + disableEditing: function(disabled) { + if ( disabled ) { + $(this.viewSettingsPicker.dataViewItems[1].el).hide(); + $(this.viewSettingsPicker.dataViewItems[2].el).hide(); + } else { + if ( this.mode.canPrint ) + $(this.viewSettingsPicker.dataViewItems[1].el).show(); + + if ( this.mode.isEdit ) { + $(this.viewSettingsPicker.dataViewItems[2].el).show(); + } + } + }, + txtGeneral: 'General', txtPageSettings: 'Page Settings', txtSpellChecking: 'Spell checking'