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;