From 62aa5cffed7bede57fb60aba4a6fef6e7516b882 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 18 Oct 2022 16:37:35 +0300 Subject: [PATCH 1/8] [DE] Add settings for hiding left/right panels to view tab --- .../main/app/controller/LeftMenu.js | 14 ++++++- .../main/app/controller/Main.js | 2 + .../main/app/controller/RightMenu.js | 14 +++++++ .../main/app/controller/ViewTab.js | 33 +++++++++++---- apps/documenteditor/main/app/view/ViewTab.js | 40 ++++++++++++++++++- apps/documenteditor/main/app/view/Viewport.js | 7 ++++ 6 files changed, 100 insertions(+), 10 deletions(-) diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js index a35b548d9..a0304e2e2 100644 --- a/apps/documenteditor/main/app/controller/LeftMenu.js +++ b/apps/documenteditor/main/app/controller/LeftMenu.js @@ -100,7 +100,8 @@ define([ 'collaboration:chat': _.bind(this.onShowHideChat, this) }, 'ViewTab': { - 'viewtab:navigation': _.bind(this.onShowHideNavigation, this) + 'viewtab:navigation': _.bind(this.onShowHideNavigation, this), + 'leftmenu:hide': _.bind(this.onLeftMenuHide, this) }, 'SearchBar': { 'search:show': _.bind(this.onShowHideSearch, this) @@ -916,6 +917,17 @@ define([ } }, + onLeftMenuHide: function (view, status) { + if (this.leftMenu) { + !status && this.leftMenu.close(); + status ? this.leftMenu.show() : this.leftMenu.hide(); + Common.localStorage.setBool('de-hidden-leftmenu', !status); + } + + Common.NotificationCenter.trigger('layout:changed', 'main'); + Common.NotificationCenter.trigger('edit:complete', this.leftMenu); + }, + textNoTextFound : 'Text not found', newDocumentTitle : 'Unnamed document', requestEditRightsText : 'Requesting editing rights...', diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index d1c2f29ef..ebb992593 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1667,6 +1667,8 @@ define([ toolbarController.setMode(this.appOptions); documentHolder.setMode(this.appOptions); + viewport.applyCommonMode(); + this.api.asc_registerCallback('asc_onSendThemeColors', _.bind(this.onSendThemeColors, this)); this.api.asc_registerCallback('asc_onDownloadUrl', _.bind(this.onDownloadUrl, this)); this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onAuthParticipantsChanged, this)); diff --git a/apps/documenteditor/main/app/controller/RightMenu.js b/apps/documenteditor/main/app/controller/RightMenu.js index eb0403860..1261c0156 100644 --- a/apps/documenteditor/main/app/controller/RightMenu.js +++ b/apps/documenteditor/main/app/controller/RightMenu.js @@ -65,6 +65,9 @@ define([ this.addListeners({ 'RightMenu': { 'rightmenuclick': this.onRightMenuClick + }, + 'ViewTab': { + 'rightmenu:hide': _.bind(this.onRightMenuHide, this) } }); @@ -491,6 +494,17 @@ define([ this.onFocusObject(selectedElements); } } + }, + + onRightMenuHide: function (view, status) { + if (this.rightmenu) { + !status && this.rightmenu.clearSelection(); + status ? this.rightmenu.show() : this.rightmenu.hide(); + Common.localStorage.setBool('de-hidden-rightmenu', !status); + } + + Common.NotificationCenter.trigger('layout:changed', 'main'); + Common.NotificationCenter.trigger('edit:complete', this.rightmenu); } }); }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/ViewTab.js b/apps/documenteditor/main/app/controller/ViewTab.js index 2c83c6d2e..921db2e4a 100644 --- a/apps/documenteditor/main/app/controller/ViewTab.js +++ b/apps/documenteditor/main/app/controller/ViewTab.js @@ -131,18 +131,35 @@ define([ me.view.btnInterfaceTheme.$el.closest('.group').remove(); me.view.$el.find('.separator-theme').remove(); } + var emptyGroup = []; if (config.canBrandingExt && config.customization && config.customization.statusBar === false || !Common.UI.LayoutManager.isElementVisible('statusBar')) { + emptyGroup.push(me.view.chStatusbar.$el.closest('.elset')); me.view.chStatusbar.$el.remove(); - var slotChkRulers = me.view.chRulers.$el, - groupRulers = slotChkRulers.closest('.group'), - groupToolbar = me.view.chToolbar.$el.closest('.group'); - groupToolbar.find('.elset')[1].append(slotChkRulers[0]); - groupRulers.remove(); - me.view.$el.find('.separator-rulers').remove(); } - if (!config.isEdit) { // if view tab will be visible in view/restricted-editing mode - me.view.chRulers.hide(); + if (config.canBrandingExt && config.customization && config.customization.leftMenu === false || !Common.UI.LayoutManager.isElementVisible('leftMenu')) { + emptyGroup.push(me.view.chLeftMenu.$el.closest('.elset')); + me.view.chLeftMenu.$el.remove(); + } else if (emptyGroup.length>0) { + emptyGroup.push(me.view.chLeftMenu.$el.closest('.elset')); + emptyGroup.shift().append(me.view.chLeftMenu.$el[0]); + } + + if (!config.isEdit || config.canBrandingExt && config.customization && config.customization.rightMenu === false || !Common.UI.LayoutManager.isElementVisible('rightMenu')) { + emptyGroup.push(me.view.chRightMenu.$el.closest('.elset')); + me.view.chRightMenu.$el.remove(); + } else if (emptyGroup.length>0) { + emptyGroup.push(me.view.chRightMenu.$el.closest('.elset')); + emptyGroup.shift().append(me.view.chRightMenu.$el[0]); + } + + if (emptyGroup.length>1) { // remove empty group + emptyGroup[emptyGroup.length-1].closest('.group').remove(); + } + + if (!config.isEdit) { + me.view.chRulers.$el.closest('.group').remove(); + me.view.chRulers.$el.remove(); me.view.$el.find('.separator-rulers').remove(); } diff --git a/apps/documenteditor/main/app/view/ViewTab.js b/apps/documenteditor/main/app/view/ViewTab.js index fb300ead9..b8974a153 100644 --- a/apps/documenteditor/main/app/view/ViewTab.js +++ b/apps/documenteditor/main/app/view/ViewTab.js @@ -82,6 +82,14 @@ define([ '' + '' + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + '
' + '
' + '
' + @@ -114,6 +122,12 @@ define([ me.chRulers.on('change', _.bind(function (checkbox, state) { me.fireEvent('rulers:change', [me.chRulers, state === 'checked']); }, me)); + me.chLeftMenu.on('change', _.bind(function (checkbox, state) { + me.fireEvent('leftmenu:hide', [me.chLeftMenu, state === 'checked']); + }, me)); + me.chRightMenu.on('change', _.bind(function (checkbox, state) { + me.fireEvent('rightmenu:hide', [me.chRightMenu, state === 'checked']); + }, me)); me.btnDarkDocument.on('click', _.bind(function () { me.fireEvent('darkmode:change'); }, me)); @@ -237,6 +251,26 @@ define([ }); this.lockedControls.push(this.chToolbar); + this.chRightMenu = new Common.UI.CheckBox({ + lock: [_set.lostConnect, _set.disableOnStart], + labelText: this.textRightMenu, + value: !Common.localStorage.getBool("de-hidden-rightmenu"), + dataHint : '1', + dataHintDirection: 'left', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.chRightMenu); + + this.chLeftMenu = new Common.UI.CheckBox({ + lock: [_set.lostConnect, _set.disableOnStart], + labelText: this.textLeftMenu, + value: !Common.localStorage.getBool("de-hidden-leftmenu"), + dataHint : '1', + dataHintDirection: 'left', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.chLeftMenu); + this.chRulers = new Common.UI.CheckBox({ lock: [_set.lostConnect, _set.disableOnStart], labelText: this.textRulers, @@ -271,6 +305,8 @@ define([ this.chStatusbar.render($host.find('#slot-chk-statusbar')); this.chToolbar.render($host.find('#slot-chk-toolbar')); this.chRulers.render($host.find('#slot-chk-rulers')); + this.chLeftMenu.render($host.find('#slot-chk-leftmenu')); + this.chRightMenu.render($host.find('#slot-chk-rightmenu')); return this.$el; }, @@ -327,7 +363,9 @@ define([ tipFitToPage: 'Fit to page', tipFitToWidth: 'Fit to width', tipInterfaceTheme: 'Interface theme', - tipDarkDocument: 'Dark document' + tipDarkDocument: 'Dark document', + textLeftMenu: 'Left panel', + textRightMenu: 'Right panel' } }()), DE.Views.ViewTab || {})); }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/view/Viewport.js b/apps/documenteditor/main/app/view/Viewport.js index a90ad6f6b..0f908a02d 100644 --- a/apps/documenteditor/main/app/view/Viewport.js +++ b/apps/documenteditor/main/app/view/Viewport.js @@ -141,9 +141,16 @@ define([ rightMenuView = DE.getController('RightMenu').getView('RightMenu'); me._rightMenu = rightMenuView.render(this.mode); + if ( Common.localStorage.getBool('de-hidden-rightmenu') ) + me._rightMenu.hide(); + }, + applyCommonMode: function() { if ( Common.localStorage.getBool('de-hidden-status') ) DE.getController('Statusbar').getView('Statusbar').setVisible(false); + + if ( Common.localStorage.getBool('de-hidden-leftmenu') ) + DE.getController('LeftMenu').getView('LeftMenu').hide(); }, setMode: function(mode) { From 95e265d018c7f6ed0458e5c6d8aa58702bee1bd2 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 18 Oct 2022 19:52:47 +0300 Subject: [PATCH 2/8] [DE] Show left panel when press chat or headers --- apps/documenteditor/main/app/controller/LeftMenu.js | 10 ++++++++++ apps/documenteditor/main/app/controller/ViewTab.js | 5 +++++ apps/documenteditor/main/app/view/LeftMenu.js | 5 +++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js index a0304e2e2..c5820df8a 100644 --- a/apps/documenteditor/main/app/controller/LeftMenu.js +++ b/apps/documenteditor/main/app/controller/LeftMenu.js @@ -836,6 +836,7 @@ define([ onPluginOpen: function(panel, type, action) { if ( type == 'onboard' ) { if ( action == 'open' ) { + this.tryToShowLeftMenu(); this.leftMenu.close(); this.leftMenu.panelPlugins.show(); this.leftMenu.onBtnMenuClick({pressed:true, options: {action: 'plugins'}}); @@ -862,6 +863,7 @@ define([ if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) { if (state) { Common.UI.Menu.Manager.hideAll(); + this.tryToShowLeftMenu(); this.leftMenu.showMenu('chat'); } else { this.leftMenu.btnChat.toggle(false, true); @@ -873,6 +875,7 @@ define([ onShowHideNavigation: function(state) { if (state) { Common.UI.Menu.Manager.hideAll(); + this.tryToShowLeftMenu(); this.leftMenu.showMenu('navigation'); } else { this.leftMenu.btnNavigation.toggle(false, true); @@ -922,12 +925,19 @@ define([ !status && this.leftMenu.close(); status ? this.leftMenu.show() : this.leftMenu.hide(); Common.localStorage.setBool('de-hidden-leftmenu', !status); + + !view && this.leftMenu.fireEvent('view:hide', [this, !status]); } Common.NotificationCenter.trigger('layout:changed', 'main'); Common.NotificationCenter.trigger('edit:complete', this.leftMenu); }, + tryToShowLeftMenu: function() { + if ((!this.mode.canBrandingExt || !this.mode.customization || this.mode.customization.leftMenu !== false) && Common.UI.LayoutManager.isElementVisible('leftMenu')) + this.onLeftMenuHide(null, true); + }, + textNoTextFound : 'Text not found', newDocumentTitle : 'Unnamed document', requestEditRightsText : 'Requesting editing rights...', diff --git a/apps/documenteditor/main/app/controller/ViewTab.js b/apps/documenteditor/main/app/controller/ViewTab.js index 921db2e4a..2b9958fc2 100644 --- a/apps/documenteditor/main/app/controller/ViewTab.js +++ b/apps/documenteditor/main/app/controller/ViewTab.js @@ -98,6 +98,11 @@ define([ 'view:hide': _.bind(function (statusbar, state) { this.view.chStatusbar.setValue(!state, true); }, this) + }, + 'LeftMenu': { + 'view:hide': _.bind(function (leftmenu, state) { + this.view.chLeftMenu.setValue(!state, true); + }, this) } }); }, diff --git a/apps/documenteditor/main/app/view/LeftMenu.js b/apps/documenteditor/main/app/view/LeftMenu.js index 55f2eb040..f4e47595d 100644 --- a/apps/documenteditor/main/app/view/LeftMenu.js +++ b/apps/documenteditor/main/app/view/LeftMenu.js @@ -202,7 +202,8 @@ define([ this.$el.width(parseInt(Common.localStorage.getItem('de-mainmenu-width')) || MENU_SCALE_PART); } } else if (!this._state.pluginIsRunning) { - this.isVisible() && Common.localStorage.setItem('de-mainmenu-width',this.$el.width()); + var width = this.$el.width(); + this.isVisible() && (width>SCALE_MIN) && Common.localStorage.setItem('de-mainmenu-width', width); this.$el.width(SCALE_MIN); } @@ -327,7 +328,7 @@ define([ } if (this.panelNavigation) { this.panelNavigation['hide'](); - this.btnNavigation.toggle(false, true); + this.btnNavigation.toggle(false); } if (this.panelSearch) { this.panelSearch['hide'](); From ab7da2fbcceb614d8d682b5ebe8eab7caed9909b Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 19 Oct 2022 23:29:32 +0300 Subject: [PATCH 3/8] [PE] Add settings for hiding left/right panels to view tab --- .../main/app/controller/LeftMenu.js | 34 +++++++- .../main/app/controller/Main.js | 1 + .../main/app/controller/RightMenu.js | 14 ++++ .../main/app/controller/ViewTab.js | 5 ++ .../main/app/view/LeftMenu.js | 8 +- .../main/app/view/ViewTab.js | 77 ++++++++++++++++--- .../main/app/view/Viewport.js | 12 ++- 7 files changed, 132 insertions(+), 19 deletions(-) diff --git a/apps/presentationeditor/main/app/controller/LeftMenu.js b/apps/presentationeditor/main/app/controller/LeftMenu.js index 21d8daed3..a3d1bc2a1 100644 --- a/apps/presentationeditor/main/app/controller/LeftMenu.js +++ b/apps/presentationeditor/main/app/controller/LeftMenu.js @@ -100,6 +100,9 @@ define([ }, 'SearchBar': { 'search:show': _.bind(this.onShowHideSearch, this) + }, + 'ViewTab': { + 'leftmenu:hide': _.bind(this.onLeftMenuHide, this) } }); Common.NotificationCenter.on('leftmenu:change', _.bind(this.onMenuChange, this)); @@ -112,7 +115,6 @@ define([ onLaunch: function() { this.leftMenu = this.createView('LeftMenu').render(); this.leftMenu.btnThumbs.on('toggle', _.bind(this.onShowTumbnails, this)); - this.isThumbsShown = true; this.leftMenu.btnSearchBar.on('toggle', _.bind(this.onMenuSearchBar, this)); Common.util.Shortcuts.delegateShortcuts({ @@ -162,7 +164,8 @@ define([ this.leftMenu.getMenu('file').setApi(api); if (this.mode.canUseHistory) this.getApplication().getController('Common.Controllers.History').setApi(this.api).setMode(this.mode); - this.leftMenu.btnThumbs.toggle(true); + this.isThumbsShown = !Common.localStorage.getBool('pe-hidden-leftmenu'); + this.leftMenu.btnThumbs.toggle(this.isThumbsShown); this.getApplication().getController('Search').setApi(this.api).setMode(this.mode); this.leftMenu.setOptionsPanel('advancedsearch', this.getApplication().getController('Search').getView('Common.Views.SearchPanel')); return this; @@ -669,6 +672,7 @@ define([ onPluginOpen: function(panel, type, action) { if (type == 'onboard') { if (action == 'open') { + this.tryToShowLeftMenu(); this.leftMenu.close(); this.leftMenu.btnThumbs.toggle(false, false); this.leftMenu.panelPlugins.show(); @@ -702,6 +706,7 @@ define([ if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) { if (state) { Common.UI.Menu.Manager.hideAll(); + this.tryToShowLeftMenu(); this.leftMenu.showMenu('chat'); } else { this.leftMenu.btnChat.toggle(false, true); @@ -770,7 +775,30 @@ define([ isCommentsVisible: function() { return this.leftMenu && this.leftMenu.panelComments && this.leftMenu.panelComments.isVisible(); }, - + + onLeftMenuHide: function (view, status) { + if (this.leftMenu) { + if (status) { + this.leftMenu.show(); + } else { + this.menuExpand(this, 'thumbs', false); + this.leftMenu.close(); + this.leftMenu.hide(); + } + Common.localStorage.setBool('pe-hidden-leftmenu', !status); + + !view && this.leftMenu.fireEvent('view:hide', [this, !status]); + } + + Common.NotificationCenter.trigger('layout:changed', 'main'); + Common.NotificationCenter.trigger('edit:complete', this.leftMenu); + }, + + tryToShowLeftMenu: function() { + if ((!this.mode.canBrandingExt || !this.mode.customization || this.mode.customization.leftMenu !== false) && Common.UI.LayoutManager.isElementVisible('leftMenu')) + this.onLeftMenuHide(null, true); + }, + textNoTextFound : 'Text not found', newDocumentTitle : 'Unnamed document', requestEditRightsText : 'Requesting editing rights...', diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 4b9bca50b..23d443fac 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -1310,6 +1310,7 @@ define([ statusbarView && statusbarView.setMode(this.appOptions); toolbarController.setMode(this.appOptions); documentHolder.setMode(this.appOptions); + viewport.applyCommonMode(); this.api.asc_registerCallback('asc_onSendThemeColors', _.bind(this.onSendThemeColors, this)); this.api.asc_registerCallback('asc_onDownloadUrl', _.bind(this.onDownloadUrl, this)); diff --git a/apps/presentationeditor/main/app/controller/RightMenu.js b/apps/presentationeditor/main/app/controller/RightMenu.js index f1f3a69f7..4e5c5a0ba 100644 --- a/apps/presentationeditor/main/app/controller/RightMenu.js +++ b/apps/presentationeditor/main/app/controller/RightMenu.js @@ -61,6 +61,9 @@ define([ this.addListeners({ 'RightMenu': { 'rightmenuclick': this.onRightMenuClick + }, + 'ViewTab': { + 'rightmenu:hide': _.bind(this.onRightMenuHide, this) } }); }, @@ -384,6 +387,17 @@ define([ case Asc.c_oAscTypeSelectElement.Chart: return Common.Utils.documentSettingsType.Chart; } + }, + + onRightMenuHide: function (view, status) { + if (this.rightmenu) { + !status && this.rightmenu.clearSelection(); + status ? this.rightmenu.show() : this.rightmenu.hide(); + Common.localStorage.setBool('pe-hidden-rightmenu', !status); + } + + Common.NotificationCenter.trigger('layout:changed', 'main'); + Common.NotificationCenter.trigger('edit:complete', this.rightmenu); } }); }); \ No newline at end of file diff --git a/apps/presentationeditor/main/app/controller/ViewTab.js b/apps/presentationeditor/main/app/controller/ViewTab.js index 40122de89..459e603f8 100644 --- a/apps/presentationeditor/main/app/controller/ViewTab.js +++ b/apps/presentationeditor/main/app/controller/ViewTab.js @@ -127,6 +127,11 @@ define([ 'gridlines:spacing': _.bind(this.onGridlinesSpacing, this), 'gridlines:custom': _.bind(this.onGridlinesCustom, this), 'rulers:change': _.bind(this.onChangeRulers, this) + }, + 'LeftMenu': { + 'view:hide': _.bind(function (leftmenu, state) { + this.view.chLeftMenu.setValue(!state, true); + }, this) } }); }, diff --git a/apps/presentationeditor/main/app/view/LeftMenu.js b/apps/presentationeditor/main/app/view/LeftMenu.js index 98c6d9681..1a47d30d8 100644 --- a/apps/presentationeditor/main/app/view/LeftMenu.js +++ b/apps/presentationeditor/main/app/view/LeftMenu.js @@ -182,8 +182,9 @@ define([ if (!btn.pressed && this._state.pluginIsRunning) { this.$el.width(Common.localStorage.getItem('pe-mainmenu-width') || MENU_SCALE_PART); } else { - if (this.$el.width() > SCALE_MIN) { - Common.localStorage.setItem('pe-mainmenu-width',this.$el.width()); + var width = this.$el.width(); + if (width > SCALE_MIN) { + Common.localStorage.setItem('pe-mainmenu-width',width); this.$el.width(SCALE_MIN); } if (this._state.pluginIsRunning) // hide comments or chat panel when plugin is running @@ -195,7 +196,8 @@ define([ this.$el.width(Common.localStorage.getItem('pe-mainmenu-width') || MENU_SCALE_PART); } } else if (!this._state.pluginIsRunning){ - this.isVisible() && Common.localStorage.setItem('pe-mainmenu-width',this.$el.width()); + var width = this.$el.width(); + this.isVisible() && (width>SCALE_MIN) && Common.localStorage.setItem('pe-mainmenu-width',width); this.$el.width(SCALE_MIN); } this.onCoauthOptions(); diff --git a/apps/presentationeditor/main/app/view/ViewTab.js b/apps/presentationeditor/main/app/view/ViewTab.js index 7df50557c..a311caa74 100644 --- a/apps/presentationeditor/main/app/view/ViewTab.js +++ b/apps/presentationeditor/main/app/view/ViewTab.js @@ -90,6 +90,14 @@ define([ '' + '
' + '
' + + '
' + + '
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + ''; return { options: {}, @@ -159,6 +167,12 @@ define([ me.btnGridlines.menu.on('show:after', _.bind(function(btn, state) { me.fireEvent('gridlines:aftershow'); }, me)); + me.chLeftMenu.on('change', _.bind(function (checkbox, state) { + me.fireEvent('leftmenu:hide', [me.chLeftMenu, state === 'checked']); + }, me)); + me.chRightMenu.on('change', _.bind(function (checkbox, state) { + me.fireEvent('rightmenu:hide', [me.chRightMenu, state === 'checked']); + }, me)); }, initialize: function (options) { @@ -305,6 +319,26 @@ define([ }); this.lockedControls.push(this.btnGridlines); + this.chRightMenu = new Common.UI.CheckBox({ + lock: [_set.disableOnStart], + labelText: this.textRightMenu, + value: !Common.localStorage.getBool("pe-hidden-rightmenu"), + dataHint : '1', + dataHintDirection: 'left', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.chRightMenu); + + this.chLeftMenu = new Common.UI.CheckBox({ + lock: [_set.disableOnStart], + labelText: this.textLeftMenu, + value: !Common.localStorage.getBool("pe-hidden-leftmenu"), + dataHint : '1', + dataHintDirection: 'left', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.chLeftMenu); + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); }, @@ -329,6 +363,8 @@ define([ this.chNotes.render($host.find('#slot-chk-notes')); this.btnGuides.render($host.find('#slot-btn-guides')); this.btnGridlines.render($host.find('#slot-btn-gridlines')); + this.chLeftMenu.render($host.find('#slot-chk-leftmenu')); + this.chRightMenu.render($host.find('#slot-chk-rightmenu')); return this.$el; }, @@ -371,18 +407,33 @@ define([ me.btnInterfaceTheme.$el.closest('.group').remove(); me.$el.find('.separator-theme').remove(); } - if (config.canBrandingExt && config.customization && config.customization.statusBar === false || !Common.UI.LayoutManager.isElementVisible('statusBar')) { - me.chStatusbar.$el.remove(); - if (!config.isEdit) { - var slotChkNotes = me.chNotes.$el, - groupRulers = slotChkNotes.closest('.group'), - groupToolbar = me.chToolbar.$el.closest('.group'); - groupToolbar.find('.elset')[1].append(slotChkNotes[0]); - groupRulers.remove(); - me.$el.find('.separator-rulers').remove(); - } - } else if (!config.isEdit) { + var emptyGroup = []; + if (config.canBrandingExt && config.customization && config.customization.statusBar === false || !Common.UI.LayoutManager.isElementVisible('statusBar')) { + emptyGroup.push(me.chStatusbar.$el.closest('.elset')); + me.chStatusbar.$el.remove(); + } + + if (config.canBrandingExt && config.customization && config.customization.leftMenu === false || !Common.UI.LayoutManager.isElementVisible('leftMenu')) { + emptyGroup.push(me.chLeftMenu.$el.closest('.elset')); + me.chLeftMenu.$el.remove(); + } else if (emptyGroup.length>0) { + emptyGroup.push(me.chLeftMenu.$el.closest('.elset')); + emptyGroup.shift().append(me.chLeftMenu.$el[0]); + } + + if (!config.isEdit || config.canBrandingExt && config.customization && config.customization.rightMenu === false || !Common.UI.LayoutManager.isElementVisible('rightMenu')) { + emptyGroup.push(me.chRightMenu.$el.closest('.elset')); + me.chRightMenu.$el.remove(); + } else if (emptyGroup.length>0) { + emptyGroup.push(me.chRightMenu.$el.closest('.elset')); + emptyGroup.shift().append(me.chRightMenu.$el[0]); + } + if (emptyGroup.length>1) { // remove empty group + emptyGroup[emptyGroup.length-1].closest('.group').remove(); + } + + if (!config.isEdit) { me.chRulers.hide(); } if (!config.isEdit) { @@ -472,7 +523,9 @@ define([ textShowGridlines: 'Show Gridlines', textSnapObjects: 'Snap Object to Grid', textCm: 'cm', - textCustom: 'Custom' + textCustom: 'Custom', + textLeftMenu: 'Left panel', + textRightMenu: 'Right panel' } }()), PE.Views.ViewTab || {})); diff --git a/apps/presentationeditor/main/app/view/Viewport.js b/apps/presentationeditor/main/app/view/Viewport.js index 5593db8bd..183ad8534 100644 --- a/apps/presentationeditor/main/app/view/Viewport.js +++ b/apps/presentationeditor/main/app/view/Viewport.js @@ -138,10 +138,20 @@ define([ }, applyEditorMode: function() { - PE.getController('RightMenu').getView('RightMenu').render(this.mode); + var me = this, + rightMenuView = PE.getController('RightMenu').getView('RightMenu'); + me._rightMenu = rightMenuView.render(this.mode); + if ( Common.localStorage.getBool('pe-hidden-rightmenu') ) + me._rightMenu.hide(); + }, + + applyCommonMode: function() { if ( Common.localStorage.getBool('pe-hidden-status') ) PE.getController('Statusbar').getView('Statusbar').setVisible(false); + + if ( Common.localStorage.getBool('pe-hidden-leftmenu') ) + PE.getController('LeftMenu').getView('LeftMenu').hide(); }, setMode: function(mode, delay) { From 3f1a44c390a5e194ab4da7cb5942fe19d16a1190 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 20 Oct 2022 01:01:36 +0300 Subject: [PATCH 4/8] [SSE] Add settings for hiding left/right panels to view tab --- .../main/app/controller/LeftMenu.js | 23 ++++++ .../main/app/controller/Main.js | 2 + .../main/app/controller/RightMenu.js | 14 ++++ .../main/app/controller/ViewTab.js | 5 ++ .../main/app/view/LeftMenu.js | 3 +- .../main/app/view/ViewTab.js | 71 ++++++++++++++++--- .../main/app/view/Viewport.js | 7 ++ 7 files changed, 115 insertions(+), 10 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js index 083c3ed83..be6031ecf 100644 --- a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js @@ -93,6 +93,9 @@ define([ }, 'SearchBar': { 'search:show': _.bind(this.onShowHideSearch, this) + }, + 'ViewTab': { + 'leftmenu:hide': _.bind(this.onLeftMenuHide, this) } }); Common.NotificationCenter.on('app:comment:add', _.bind(this.onAppAddComment, this)); @@ -826,6 +829,7 @@ define([ onPluginOpen: function(panel, type, action) { if (type == 'onboard') { if (action == 'open') { + this.tryToShowLeftMenu(); this.leftMenu.close(); this.leftMenu.panelPlugins.show(); this.leftMenu.onBtnMenuClick({pressed: true, options: {action: 'plugins'}}); @@ -841,6 +845,7 @@ define([ if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) { if (state) { Common.UI.Menu.Manager.hideAll(); + this.tryToShowLeftMenu(); this.leftMenu.showMenu('chat'); } else { this.leftMenu.btnChat.toggle(false, true); @@ -904,6 +909,24 @@ define([ return this.leftMenu && this.leftMenu.panelComments && this.leftMenu.panelComments.isVisible(); }, + onLeftMenuHide: function (view, status) { + if (this.leftMenu) { + !status && this.leftMenu.close(); + status ? this.leftMenu.show() : this.leftMenu.hide(); + Common.localStorage.setBool('sse-hidden-leftmenu', !status); + + !view && this.leftMenu.fireEvent('view:hide', [this, !status]); + } + + Common.NotificationCenter.trigger('layout:changed', 'main'); + Common.NotificationCenter.trigger('edit:complete', this.leftMenu); + }, + + tryToShowLeftMenu: function() { + if ((!this.mode.canBrandingExt || !this.mode.customization || this.mode.customization.leftMenu !== false) && Common.UI.LayoutManager.isElementVisible('leftMenu')) + this.onLeftMenuHide(null, true); + }, + textNoTextFound : 'Text not found', newDocumentTitle : 'Unnamed document', textItemEntireCell : 'Entire cell contents', diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index 714087669..ae35da318 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -1412,6 +1412,8 @@ define([ app.getController('Toolbar').setMode(this.appOptions); app.getController('DocumentHolder').setMode(this.appOptions); + viewport && viewport.applyCommonMode(); + if (this.appOptions.isEditMailMerge || this.appOptions.isEditDiagram) { statusbarView.hide(); } diff --git a/apps/spreadsheeteditor/main/app/controller/RightMenu.js b/apps/spreadsheeteditor/main/app/controller/RightMenu.js index 56d68c611..ef9cab72e 100644 --- a/apps/spreadsheeteditor/main/app/controller/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/RightMenu.js @@ -69,6 +69,9 @@ define([ }, 'PivotTable': { 'insertpivot': this.onInsertPivot + }, + 'ViewTab': { + 'rightmenu:hide': this.onRightMenuHide.bind(this) } }); @@ -466,6 +469,17 @@ define([ this._state.wsLock = props.wsLock; } this.onSelectionChanged(this.api.asc_getCellInfo()); + }, + + onRightMenuHide: function (view, status) { + if (this.rightmenu) { + !status && this.rightmenu.clearSelection(); + status ? this.rightmenu.show() : this.rightmenu.hide(); + Common.localStorage.setBool('sse-hidden-rightmenu', !status); + } + + Common.NotificationCenter.trigger('layout:changed', 'main'); + Common.NotificationCenter.trigger('edit:complete', this.rightmenu); } }); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/controller/ViewTab.js b/apps/spreadsheeteditor/main/app/controller/ViewTab.js index 1102f5284..7a211b90c 100644 --- a/apps/spreadsheeteditor/main/app/controller/ViewTab.js +++ b/apps/spreadsheeteditor/main/app/controller/ViewTab.js @@ -111,6 +111,11 @@ define([ 'view:compact': _.bind(function (toolbar, state) { this.view.chToolbar.setValue(!state, true); }, this) + }, + 'LeftMenu': { + 'view:hide': _.bind(function (leftmenu, state) { + this.view.chLeftMenu.setValue(!state, true); + }, this) } }); Common.NotificationCenter.on('layout:changed', _.bind(this.onLayoutChanged, this)); diff --git a/apps/spreadsheeteditor/main/app/view/LeftMenu.js b/apps/spreadsheeteditor/main/app/view/LeftMenu.js index 4d07dc04b..bb9966d06 100644 --- a/apps/spreadsheeteditor/main/app/view/LeftMenu.js +++ b/apps/spreadsheeteditor/main/app/view/LeftMenu.js @@ -179,7 +179,8 @@ define([ this.$el.width(Common.localStorage.getItem('sse-mainmenu-width') || MENU_SCALE_PART); } } else if (!this._state.pluginIsRunning){ - this.isVisible() && Common.localStorage.setItem('sse-mainmenu-width',this.$el.width()); + var width = this.$el.width(); + this.isVisible() && (width>SCALE_MIN) && Common.localStorage.setItem('sse-mainmenu-width',width); this.$el.width(SCALE_MIN); } this.onCoauthOptions(); diff --git a/apps/spreadsheeteditor/main/app/view/ViewTab.js b/apps/spreadsheeteditor/main/app/view/ViewTab.js index 8516fd2e5..5eeb0d722 100644 --- a/apps/spreadsheeteditor/main/app/view/ViewTab.js +++ b/apps/spreadsheeteditor/main/app/view/ViewTab.js @@ -101,6 +101,14 @@ define([ '' + '' + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + ''; function setEvents() { @@ -149,6 +157,12 @@ define([ me.fireEvent('editcomplete', me); }).on('combo:focusin', _.bind(this.onComboOpen, this, false)) .on('show:after', _.bind(this.onComboOpen, this, true)); + me.chLeftMenu.on('change', _.bind(function (checkbox, state) { + me.fireEvent('leftmenu:hide', [me.chLeftMenu, state === 'checked']); + }, me)); + me.chRightMenu.on('change', _.bind(function (checkbox, state) { + me.fireEvent('rightmenu:hide', [me.chRightMenu, state === 'checked']); + }, me)); } return { @@ -307,6 +321,27 @@ define([ dataHintOffset: 'small' }); this.lockedControls.push(this.chToolbar); + + this.chRightMenu = new Common.UI.CheckBox({ + lock: [_set.lostConnect], + labelText: this.textRightMenu, + value: !Common.localStorage.getBool("sse-hidden-rightmenu"), + dataHint : '1', + dataHintDirection: 'left', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.chRightMenu); + + this.chLeftMenu = new Common.UI.CheckBox({ + lock: [_set.lostConnect], + labelText: this.textLeftMenu, + value: !Common.localStorage.getBool("sse-hidden-leftmenu"), + dataHint : '1', + dataHintDirection: 'left', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.chLeftMenu); + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); }, @@ -334,6 +369,8 @@ define([ this.chHeadings && this.chHeadings.render($host.find('#slot-chk-heading')); this.chGridlines && this.chGridlines.render($host.find('#slot-chk-gridlines')); this.chZeros && this.chZeros.render($host.find('#slot-chk-zeros')); + this.chLeftMenu.render($host.find('#slot-chk-leftmenu')); + this.chRightMenu.render($host.find('#slot-chk-rightmenu')); return this.$el; }, @@ -391,17 +428,31 @@ define([ me.$el.find('.separator-theme').remove(); } + var emptyGroup = []; if (config.canBrandingExt && config.customization && config.customization.statusBar === false || !Common.UI.LayoutManager.isElementVisible('statusBar')) { + emptyGroup.push(me.chStatusbar.$el.closest('.elset')); me.chStatusbar.$el.remove(); - if (!config.isEdit) { - var slotChkFormula = me.chFormula.$el, - groupFormula = slotChkFormula.closest('.group'), - groupToolbar = me.chToolbar.$el.closest('.group'); - groupToolbar.find('.elset')[1].append(slotChkFormula[0]); - groupFormula.remove(); - me.$el.find('.separator-formula').remove(); - } } + + if (config.canBrandingExt && config.customization && config.customization.leftMenu === false || !Common.UI.LayoutManager.isElementVisible('leftMenu')) { + emptyGroup.push(me.chLeftMenu.$el.closest('.elset')); + me.chLeftMenu.$el.remove(); + } else if (emptyGroup.length>0) { + emptyGroup.push(me.chLeftMenu.$el.closest('.elset')); + emptyGroup.shift().append(me.chLeftMenu.$el[0]); + } + + if (!config.isEdit || config.canBrandingExt && config.customization && config.customization.rightMenu === false || !Common.UI.LayoutManager.isElementVisible('rightMenu')) { + emptyGroup.push(me.chRightMenu.$el.closest('.elset')); + me.chRightMenu.$el.remove(); + } else if (emptyGroup.length>0) { + emptyGroup.push(me.chRightMenu.$el.closest('.elset')); + emptyGroup.shift().append(me.chRightMenu.$el[0]); + } + if (emptyGroup.length>1) { // remove empty group + emptyGroup[emptyGroup.length-1].closest('.group').remove(); + } + if (Common.UI.Themes.available()) { function _fill_themes() { var btn = this.btnInterfaceTheme; @@ -531,7 +582,9 @@ define([ textAlwaysShowToolbar: 'Always show toolbar', textInterfaceTheme: 'Interface theme', textShowFrozenPanesShadow: 'Show frozen panes shadow', - tipInterfaceTheme: 'Interface theme' + tipInterfaceTheme: 'Interface theme', + textLeftMenu: 'Left panel', + textRightMenu: 'Right panel' } }()), SSE.Views.ViewTab || {})); }); diff --git a/apps/spreadsheeteditor/main/app/view/Viewport.js b/apps/spreadsheeteditor/main/app/view/Viewport.js index 89b7e2707..dd15ef0e0 100644 --- a/apps/spreadsheeteditor/main/app/view/Viewport.js +++ b/apps/spreadsheeteditor/main/app/view/Viewport.js @@ -162,6 +162,13 @@ define([ rightMenuView = SSE.getController('RightMenu').getView('RightMenu'); me._rightMenu = rightMenuView.render(this.mode); + if ( Common.localStorage.getBool('sse-hidden-rightmenu') ) + me._rightMenu.hide(); + }, + + applyCommonMode: function() { + if ( Common.localStorage.getBool('sse-hidden-leftmenu') ) + SSE.getController('LeftMenu').getView('LeftMenu').hide(); }, setMode: function(mode, delay) { From 3309cbf2d28c34d7fb1c63cc7a29efb7388018fa Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 21 Oct 2022 23:25:22 +0300 Subject: [PATCH 5/8] Add translation --- apps/documenteditor/main/locale/en.json | 2 ++ apps/presentationeditor/main/locale/en.json | 4 +++- apps/spreadsheeteditor/main/locale/en.json | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 2666dfc09..8f67f4f91 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -3160,6 +3160,8 @@ "DE.Views.ViewTab.tipFitToWidth": "Fit to width", "DE.Views.ViewTab.tipHeadings": "Headings", "DE.Views.ViewTab.tipInterfaceTheme": "Interface theme", + "DE.Views.ViewTab.textLeftMenu": "Left panel", + "DE.Views.ViewTab.textRightMenu": "Right panel", "DE.Views.WatermarkSettingsDialog.textAuto": "Auto", "DE.Views.WatermarkSettingsDialog.textBold": "Bold", "DE.Views.WatermarkSettingsDialog.textColor": "Text color", diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json index 6fd9c5ef0..c858676f7 100644 --- a/apps/presentationeditor/main/locale/en.json +++ b/apps/presentationeditor/main/locale/en.json @@ -2604,5 +2604,7 @@ "PE.Views.ViewTab.tipFitToWidth": "Fit to width", "PE.Views.ViewTab.tipGridlines": "Show gridlines", "PE.Views.ViewTab.tipGuides": "Show Guides", - "PE.Views.ViewTab.tipInterfaceTheme": "Interface theme" + "PE.Views.ViewTab.tipInterfaceTheme": "Interface theme", + "PE.Views.ViewTab.textLeftMenu": "Left panel", + "PE.Views.ViewTab.textRightMenu": "Right panel" } \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index a279d12bd..a81a0785b 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -3916,6 +3916,8 @@ "SSE.Views.ViewTab.tipFreeze": "Freeze panes", "SSE.Views.ViewTab.tipInterfaceTheme": "Interface theme", "SSE.Views.ViewTab.tipSheetView": "Sheet view", + "SSE.Views.ViewTab.textLeftMenu": "Left panel", + "SSE.Views.ViewTab.textRightMenu": "Right panel", "SSE.Views.WatchDialog.closeButtonText": "Close", "SSE.Views.WatchDialog.textAdd": "Add watch", "SSE.Views.WatchDialog.textBook": "Book", From 72328c0955ace553e222d7ba3547ae508f51f220 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 24 Oct 2022 10:28:30 +0300 Subject: [PATCH 6/8] Set init value for left/right panels --- apps/api/documents/api.js | 7 ++-- .../main/lib/controller/LayoutManager.js | 33 ++++++++++++++++--- .../main/app/controller/Main.js | 2 +- apps/documenteditor/main/app/view/ViewTab.js | 18 ++++++++-- apps/documenteditor/main/app/view/Viewport.js | 18 +++++++--- .../main/app/controller/Main.js | 2 +- .../main/app/controller/Main.js | 2 +- 7 files changed, 66 insertions(+), 16 deletions(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 2517bb7ce..78d99621c 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -175,9 +175,12 @@ }, leftMenu: { navigation: false/true, - spellcheck: false/true // spellcheck button in sse + spellcheck: false/true // spellcheck button in sse, + mode: false/true // init value for left panel, true - is visible, false - is hidden, used for option "Left panel" on the View Tab } / false / true, // use instead of customization.leftMenu - rightMenu: false/true, // use instead of customization.rightMenu + rightMenu: { + mode: false/true // init value for right panel, true - is visible, false - is hidden, used for option "Right panel" on the View Tab + } / false/true, // use instead of customization.rightMenu statusBar: { textLang: false/true // text language button in de/pe docLang: false/true // document language button in de/pe diff --git a/apps/common/main/lib/controller/LayoutManager.js b/apps/common/main/lib/controller/LayoutManager.js index 8a31ae069..be970633b 100644 --- a/apps/common/main/lib/controller/LayoutManager.js +++ b/apps/common/main/lib/controller/LayoutManager.js @@ -47,14 +47,16 @@ if (Common.UI === undefined) { } Common.UI.LayoutManager = new(function() { - var _config; - var _init = function(config) { + var _config, + _licensed; + var _init = function(config, licensed) { _config = config; + _licensed = licensed; }; var _applyCustomization = function(config, el, prefix) { !config && (config = _config); - if (!config) return; + if (!_licensed || !config) return; for (var name in config) { if(config.hasOwnProperty(name)) { @@ -71,7 +73,7 @@ Common.UI.LayoutManager = new(function() { var _isElementVisible = function(value, config, prefix) { !config && (config = _config); - if (!config) return true; + if (!_licensed || !config) return true; var res = true; for (var name in config) { @@ -89,10 +91,31 @@ Common.UI.LayoutManager = new(function() { return res; }; + var _getInitValue = function(name) { + if (_config) { + var arr = name.split('-'), + i = 0, + obj = _config; + for (i=0; i Date: Mon, 24 Oct 2022 23:03:03 +0300 Subject: [PATCH 7/8] Set init value for left/right panels --- apps/documenteditor/main/app/view/ViewTab.js | 20 ++++++------------- apps/documenteditor/main/app/view/Viewport.js | 20 ++++++------------- .../main/app/controller/LeftMenu.js | 5 ++++- .../main/app/view/ViewTab.js | 10 ++++++++-- .../main/app/view/Viewport.js | 10 ++++++---- .../main/app/view/ViewTab.js | 11 ++++++++-- .../main/app/view/Viewport.js | 10 ++++++---- 7 files changed, 45 insertions(+), 41 deletions(-) diff --git a/apps/documenteditor/main/app/view/ViewTab.js b/apps/documenteditor/main/app/view/ViewTab.js index 8cbcc6cfe..8f1d05ee0 100644 --- a/apps/documenteditor/main/app/view/ViewTab.js +++ b/apps/documenteditor/main/app/view/ViewTab.js @@ -315,21 +315,13 @@ define([ this.btnInterfaceTheme.updateHint(this.tipInterfaceTheme); this.btnDarkDocument.updateHint(this.tipDarkDocument); - var value = Common.localStorage.getItem("de-hidden-leftmenu"); - if (value===null) { - value = Common.UI.LayoutManager.getInitValue('leftMenu'); - value = (value!==undefined) ? !value : false; - } else - value = (parseInt(value) == 1); - this.chLeftMenu.setValue(!value); + var value = Common.UI.LayoutManager.getInitValue('leftMenu'); + value = (value!==undefined) ? !value : false; + this.chLeftMenu.setValue(!Common.localStorage.getBool("de-hidden-leftmenu", value)); - value = Common.localStorage.getItem("de-hidden-rightmenu"); - if (value===null) { - value = Common.UI.LayoutManager.getInitValue('rightMenu'); - value = (value!==undefined) ? !value : false; - } else - value = (parseInt(value) == 1); - this.chRightMenu.setValue(!value); + value = Common.UI.LayoutManager.getInitValue('rightMenu'); + value = (value!==undefined) ? !value : false; + this.chRightMenu.setValue(!Common.localStorage.getBool("de-hidden-rightmenu", value)); }, show: function () { diff --git a/apps/documenteditor/main/app/view/Viewport.js b/apps/documenteditor/main/app/view/Viewport.js index 61c7c3473..2ee5fcc65 100644 --- a/apps/documenteditor/main/app/view/Viewport.js +++ b/apps/documenteditor/main/app/view/Viewport.js @@ -141,26 +141,18 @@ define([ rightMenuView = DE.getController('RightMenu').getView('RightMenu'); me._rightMenu = rightMenuView.render(this.mode); - var value = Common.localStorage.getItem("de-hidden-rightmenu"); - if (value===null) { - value = Common.UI.LayoutManager.getInitValue('rightMenu'); - value = (value!==undefined) ? !value : false; - } else - value = (parseInt(value) == 1); - value && me._rightMenu.hide(); + var value = Common.UI.LayoutManager.getInitValue('rightMenu'); + value = (value!==undefined) ? !value : false; + Common.localStorage.getBool("de-hidden-rightmenu", value) && me._rightMenu.hide(); }, applyCommonMode: function() { if ( Common.localStorage.getBool('de-hidden-status') ) DE.getController('Statusbar').getView('Statusbar').setVisible(false); - var value = Common.localStorage.getItem("de-hidden-leftmenu"); - if (value===null) { - value = Common.UI.LayoutManager.getInitValue('leftMenu'); - value = (value!==undefined) ? !value : false; - } else - value = (parseInt(value) == 1); - value && DE.getController('LeftMenu').getView('LeftMenu').hide(); + var value = Common.UI.LayoutManager.getInitValue('leftMenu'); + value = (value!==undefined) ? !value : false; + Common.localStorage.getBool("de-hidden-leftmenu", value) && DE.getController('LeftMenu').getView('LeftMenu').hide(); }, setMode: function(mode) { diff --git a/apps/presentationeditor/main/app/controller/LeftMenu.js b/apps/presentationeditor/main/app/controller/LeftMenu.js index a3d1bc2a1..d916bdb5b 100644 --- a/apps/presentationeditor/main/app/controller/LeftMenu.js +++ b/apps/presentationeditor/main/app/controller/LeftMenu.js @@ -164,7 +164,10 @@ define([ this.leftMenu.getMenu('file').setApi(api); if (this.mode.canUseHistory) this.getApplication().getController('Common.Controllers.History').setApi(this.api).setMode(this.mode); - this.isThumbsShown = !Common.localStorage.getBool('pe-hidden-leftmenu'); + + var value = Common.UI.LayoutManager.getInitValue('leftMenu'); + value = (value!==undefined) ? !value : false; + this.isThumbsShown = !Common.localStorage.getBool("pe-hidden-leftmenu", value); this.leftMenu.btnThumbs.toggle(this.isThumbsShown); this.getApplication().getController('Search').setApi(this.api).setMode(this.mode); this.leftMenu.setOptionsPanel('advancedsearch', this.getApplication().getController('Search').getView('Common.Views.SearchPanel')); diff --git a/apps/presentationeditor/main/app/view/ViewTab.js b/apps/presentationeditor/main/app/view/ViewTab.js index a311caa74..d59ee3fc5 100644 --- a/apps/presentationeditor/main/app/view/ViewTab.js +++ b/apps/presentationeditor/main/app/view/ViewTab.js @@ -322,7 +322,6 @@ define([ this.chRightMenu = new Common.UI.CheckBox({ lock: [_set.disableOnStart], labelText: this.textRightMenu, - value: !Common.localStorage.getBool("pe-hidden-rightmenu"), dataHint : '1', dataHintDirection: 'left', dataHintOffset: 'small' @@ -332,7 +331,6 @@ define([ this.chLeftMenu = new Common.UI.CheckBox({ lock: [_set.disableOnStart], labelText: this.textLeftMenu, - value: !Common.localStorage.getBool("pe-hidden-leftmenu"), dataHint : '1', dataHintDirection: 'left', dataHintOffset: 'small' @@ -469,6 +467,14 @@ define([ } } + var value = Common.UI.LayoutManager.getInitValue('leftMenu'); + value = (value!==undefined) ? !value : false; + me.chLeftMenu.setValue(!Common.localStorage.getBool("pe-hidden-leftmenu", value)); + + value = Common.UI.LayoutManager.getInitValue('rightMenu'); + value = (value!==undefined) ? !value : false; + me.chRightMenu.setValue(!Common.localStorage.getBool("pe-hidden-rightmenu", value)); + me.setEvents(); }); }, diff --git a/apps/presentationeditor/main/app/view/Viewport.js b/apps/presentationeditor/main/app/view/Viewport.js index 183ad8534..3e2a288a1 100644 --- a/apps/presentationeditor/main/app/view/Viewport.js +++ b/apps/presentationeditor/main/app/view/Viewport.js @@ -142,16 +142,18 @@ define([ rightMenuView = PE.getController('RightMenu').getView('RightMenu'); me._rightMenu = rightMenuView.render(this.mode); - if ( Common.localStorage.getBool('pe-hidden-rightmenu') ) - me._rightMenu.hide(); + var value = Common.UI.LayoutManager.getInitValue('rightMenu'); + value = (value!==undefined) ? !value : false; + Common.localStorage.getBool("pe-hidden-rightmenu", value) && me._rightMenu.hide(); }, applyCommonMode: function() { if ( Common.localStorage.getBool('pe-hidden-status') ) PE.getController('Statusbar').getView('Statusbar').setVisible(false); - if ( Common.localStorage.getBool('pe-hidden-leftmenu') ) - PE.getController('LeftMenu').getView('LeftMenu').hide(); + var value = Common.UI.LayoutManager.getInitValue('leftMenu'); + value = (value!==undefined) ? !value : false; + Common.localStorage.getBool("pe-hidden-leftmenu", value) && PE.getController('LeftMenu').getView('LeftMenu').hide(); }, setMode: function(mode, delay) { diff --git a/apps/spreadsheeteditor/main/app/view/ViewTab.js b/apps/spreadsheeteditor/main/app/view/ViewTab.js index 5eeb0d722..999a30728 100644 --- a/apps/spreadsheeteditor/main/app/view/ViewTab.js +++ b/apps/spreadsheeteditor/main/app/view/ViewTab.js @@ -325,7 +325,6 @@ define([ this.chRightMenu = new Common.UI.CheckBox({ lock: [_set.lostConnect], labelText: this.textRightMenu, - value: !Common.localStorage.getBool("sse-hidden-rightmenu"), dataHint : '1', dataHintDirection: 'left', dataHintOffset: 'small' @@ -335,7 +334,6 @@ define([ this.chLeftMenu = new Common.UI.CheckBox({ lock: [_set.lostConnect], labelText: this.textLeftMenu, - value: !Common.localStorage.getBool("sse-hidden-leftmenu"), dataHint : '1', dataHintDirection: 'left', dataHintOffset: 'small' @@ -481,6 +479,15 @@ define([ }, me)); } } + + var value = Common.UI.LayoutManager.getInitValue('leftMenu'); + value = (value!==undefined) ? !value : false; + me.chLeftMenu.setValue(!Common.localStorage.getBool("sse-hidden-leftmenu", value)); + + value = Common.UI.LayoutManager.getInitValue('rightMenu'); + value = (value!==undefined) ? !value : false; + me.chRightMenu.setValue(!Common.localStorage.getBool("sse-hidden-rightmenu", value)); + setEvents.call(me); }); }, diff --git a/apps/spreadsheeteditor/main/app/view/Viewport.js b/apps/spreadsheeteditor/main/app/view/Viewport.js index dd15ef0e0..b1235c765 100644 --- a/apps/spreadsheeteditor/main/app/view/Viewport.js +++ b/apps/spreadsheeteditor/main/app/view/Viewport.js @@ -162,13 +162,15 @@ define([ rightMenuView = SSE.getController('RightMenu').getView('RightMenu'); me._rightMenu = rightMenuView.render(this.mode); - if ( Common.localStorage.getBool('sse-hidden-rightmenu') ) - me._rightMenu.hide(); + var value = Common.UI.LayoutManager.getInitValue('rightMenu'); + value = (value!==undefined) ? !value : false; + Common.localStorage.getBool("sse-hidden-rightmenu", value) && me._rightMenu.hide(); }, applyCommonMode: function() { - if ( Common.localStorage.getBool('sse-hidden-leftmenu') ) - SSE.getController('LeftMenu').getView('LeftMenu').hide(); + var value = Common.UI.LayoutManager.getInitValue('leftMenu'); + value = (value!==undefined) ? !value : false; + Common.localStorage.getBool("sse-hidden-leftmenu", value) && SSE.getController('LeftMenu').getView('LeftMenu').hide(); }, setMode: function(mode, delay) { From 688cba592a41071faaf9dcc06a1485bfdd1216fb Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 28 Oct 2022 15:43:09 +0300 Subject: [PATCH 8/8] Change license for init values of left/right panels --- apps/common/main/lib/controller/LayoutManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/common/main/lib/controller/LayoutManager.js b/apps/common/main/lib/controller/LayoutManager.js index be970633b..6469c0816 100644 --- a/apps/common/main/lib/controller/LayoutManager.js +++ b/apps/common/main/lib/controller/LayoutManager.js @@ -92,7 +92,7 @@ Common.UI.LayoutManager = new(function() { }; var _getInitValue = function(name) { - if (_config) { + if (_licensed && _config) { var arr = name.split('-'), i = 0, obj = _config;