From 49e96c73e3d5a1a09b5e0e184b0c8d1938514168 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Fri, 30 Dec 2022 23:48:18 +0300 Subject: [PATCH] [rtl] Fix menu position in statusbar for DE, PE, SSE --- apps/common/main/lib/component/Menu.js | 14 ++++++++++++++ apps/common/main/lib/component/TabBar.js | 4 ++-- apps/documenteditor/main/app/view/Statusbar.js | 2 +- .../main/resources/less/statusbar.less | 10 ++++++++++ apps/presentationeditor/main/app/view/Statusbar.js | 2 +- .../main/resources/less/statusbar.less | 10 ++++++++++ apps/spreadsheeteditor/main/app/view/Statusbar.js | 7 ++++--- .../main/resources/less/statusbar.less | 2 +- 8 files changed, 43 insertions(+), 8 deletions(-) diff --git a/apps/common/main/lib/component/Menu.js b/apps/common/main/lib/component/Menu.js index 9ecbf461f..a05566b4d 100644 --- a/apps/common/main/lib/component/Menu.js +++ b/apps/common/main/lib/component/Menu.js @@ -180,6 +180,8 @@ define([ this.menuAlign = 'tr-br'; } else if (this.menuAlign === 'tr-br') { this.menuAlign = 'tl-bl'; + } else if (this.menuAlign === 'bl-tl') { + this.menuAlign = 'br-tr'; } } @@ -789,6 +791,18 @@ define([ this.scrollAlwaysVisible = this.options.scrollAlwaysVisible; this.search = this.options.search; + if (Common.UI.isRTL()) { + if (this.menuAlign === 'tl-tr') { + this.menuAlign = 'tr-tl'; + } else if (this.menuAlign === 'tl-bl') { + this.menuAlign = 'tr-br'; + } else if (this.menuAlign === 'tr-br') { + this.menuAlign = 'tl-bl'; + } else if (this.menuAlign === 'bl-tl') { + this.menuAlign = 'br-tr'; + } + } + if (this.options.restoreHeight) { this.options.restoreHeight = (typeof (this.options.restoreHeight) == "number") ? this.options.restoreHeight : (this.options.maxHeight ? this.options.maxHeight : 100000); !this.options.maxHeight && (this.options.maxHeight = this.options.restoreHeight); diff --git a/apps/common/main/lib/component/TabBar.js b/apps/common/main/lib/component/TabBar.js index d7a16a04c..cfeadd6ac 100644 --- a/apps/common/main/lib/component/TabBar.js +++ b/apps/common/main/lib/component/TabBar.js @@ -569,8 +569,8 @@ define([ checkInvisible: function(suppress) { var result = { - first: !this.isTabVisible(0), - last: !this.isTabVisible(this.tabs.length-1) + first: !this.isTabVisible(Common.UI.isRTL() ? this.tabs.length-1 : 0), + last: !this.isTabVisible(Common.UI.isRTL() ? 0 : this.tabs.length-1) }; !suppress && this.fireEvent('tab:invisible', this, result); diff --git a/apps/documenteditor/main/app/view/Statusbar.js b/apps/documenteditor/main/app/view/Statusbar.js index 072bc49c4..019699b58 100644 --- a/apps/documenteditor/main/app/view/Statusbar.js +++ b/apps/documenteditor/main/app/view/Statusbar.js @@ -247,7 +247,7 @@ define([ style: 'margin-top:-5px;', restoreHeight: 285, itemTemplate: _.template([ - '', + '', '', '<%= caption %>', '' diff --git a/apps/documenteditor/main/resources/less/statusbar.less b/apps/documenteditor/main/resources/less/statusbar.less index da9e369a1..36b02abe6 100644 --- a/apps/documenteditor/main/resources/less/statusbar.less +++ b/apps/documenteditor/main/resources/less/statusbar.less @@ -232,4 +232,14 @@ margin-left: 8px; } } + + .lang-menu { + li a { + padding-left: 28px !important; + .rtl & { + padding-left: 20px !important; + padding-right: 28px !important; + } + } + } } diff --git a/apps/presentationeditor/main/app/view/Statusbar.js b/apps/presentationeditor/main/app/view/Statusbar.js index e0895aa1e..33015369e 100644 --- a/apps/presentationeditor/main/app/view/Statusbar.js +++ b/apps/presentationeditor/main/app/view/Statusbar.js @@ -257,7 +257,7 @@ define([ style: 'margin-top:-5px;', restoreHeight: 285, itemTemplate: _.template([ - '', + '', '', '<%= caption %>', '' diff --git a/apps/presentationeditor/main/resources/less/statusbar.less b/apps/presentationeditor/main/resources/less/statusbar.less index 330fa6d01..22f852a9f 100644 --- a/apps/presentationeditor/main/resources/less/statusbar.less +++ b/apps/presentationeditor/main/resources/less/statusbar.less @@ -248,4 +248,14 @@ } } + + .lang-menu { + li a { + padding-left: 28px !important; + .rtl & { + padding-left: 20px !important; + padding-right: 28px !important; + } + } + } } diff --git a/apps/spreadsheeteditor/main/app/view/Statusbar.js b/apps/spreadsheeteditor/main/app/view/Statusbar.js index 00fd9306b..823a9fc63 100644 --- a/apps/spreadsheeteditor/main/app/view/Statusbar.js +++ b/apps/spreadsheeteditor/main/app/view/Statusbar.js @@ -763,7 +763,8 @@ define([ this.tabMenu.atposition = (function () { return { top : rect.top, - left: rect.left - parentPos.left - 2 + left: rect.left - parentPos.left - 2, + right: rect.right - parentPos.left + 2 }; })(); @@ -779,7 +780,7 @@ define([ onTabMenuAfterShow: function (obj) { if (obj.atposition) { - obj.setOffset(obj.atposition.left); + obj.setOffset(Common.UI.isRTL() ? (obj.atposition.right - $(obj.el).width()) : obj.atposition.left); } this.enableKeyEvents = true; @@ -952,7 +953,7 @@ define([ if (obj.atposition) { var statusHeight = $(this.el).height(), offsetTop = !this.isCompact && (obj.atposition.top - $(this.el).offset().top > statusHeight/2) ? statusHeight/2 : 0; - obj.setOffset(obj.atposition.left, offsetTop); + obj.setOffset(Common.UI.isRTL() ? (obj.atposition.left - $(this.el).width() + 2) : obj.atposition.left, offsetTop); } this.enableKeyEvents = true; }, diff --git a/apps/spreadsheeteditor/main/resources/less/statusbar.less b/apps/spreadsheeteditor/main/resources/less/statusbar.less index e01b81193..c46ed652f 100644 --- a/apps/spreadsheeteditor/main/resources/less/statusbar.less +++ b/apps/spreadsheeteditor/main/resources/less/statusbar.less @@ -657,7 +657,7 @@ > a { padding: 5px 12px 5px 26px; .rtl & { - padding: 5px 56px 5px 12px; + padding: 5px 26px 5px 12px; } &::before { margin-left: -22px;