summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/kanban/kanban_renderer_mobile.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/views/kanban/kanban_renderer_mobile.js')
-rw-r--r--addons/web/static/src/js/views/kanban/kanban_renderer_mobile.js44
1 files changed, 36 insertions, 8 deletions
diff --git a/addons/web/static/src/js/views/kanban/kanban_renderer_mobile.js b/addons/web/static/src/js/views/kanban/kanban_renderer_mobile.js
index eae16968833..dfc86042aca 100644
--- a/addons/web/static/src/js/views/kanban/kanban_renderer_mobile.js
+++ b/addons/web/static/src/js/views/kanban/kanban_renderer_mobile.js
@@ -91,10 +91,15 @@ KanbanRenderer.include({
var index = _.findIndex(this.widgets, {db_id: localID});
var $column = this.widgets[index].$el;
var left = $column.css('left');
+ var right = $column.css('right');
var scrollTop = $column.scrollTop();
return this._super.apply(this, arguments).then(function () {
$column = self.widgets[index].$el;
- $column.css({left: left});
+ if (_t.database.parameters.direction === 'rtl') {
+ $column.css({right: right});
+ } else {
+ $column.css({left: left});
+ }
$column.scrollTop(scrollTop); // required when clicking on 'Load More'
self._enableSwipe();
});
@@ -115,19 +120,40 @@ KanbanRenderer.include({
var self = this;
var moveToIndex = this.activeColumnIndex;
var updateFunc = animate ? 'animate' : 'css';
+ var rtl = _t.database.parameters.direction === 'rtl';
_.each(this.widgets, function (column, index) {
var columnID = column.id || column.db_id;
var $column = self.$('.o_kanban_group[data-id="' + columnID + '"]');
if (index === moveToIndex - 1) {
- $column[updateFunc]({left: '-100%'});
+ if (rtl) {
+ $column[updateFunc]({right: '-100%'});
+ } else {
+ $column[updateFunc]({left: '-100%'});
+ }
} else if (index === moveToIndex + 1) {
- $column[updateFunc]({left: '100%'});
+ if (rtl) {
+ $column[updateFunc]({right: '100%'});
+ } else {
+ $column[updateFunc]({left: '100%'});
+ }
} else if (index === moveToIndex) {
- $column[updateFunc]({left: '0%'});
+ if (rtl) {
+ $column[updateFunc]({right: '0%'});
+ } else {
+ $column[updateFunc]({left: '0%'});
+ }
} else if (index < moveToIndex) {
- $column.css({left: '-100%'});
+ if (rtl) {
+ $column.css({right: '-100%'});
+ } else {
+ $column.css({left: '-100%'});
+ }
} else if (index > moveToIndex) {
- $column.css({left: '100%'});
+ if (rtl) {
+ $column.css({right: '100%'});
+ } else {
+ $column.css({left: '100%'});
+ }
}
});
}
@@ -184,6 +210,7 @@ KanbanRenderer.include({
}
}
// Apply the scroll x on the tabs
+ // XXX in case of RTL, should we use scrollRight?
this.$('.o_kanban_mobile_tabs').scrollLeft(scrollToLeft);
}
},
@@ -213,16 +240,17 @@ KanbanRenderer.include({
*/
_enableSwipe: function () {
var self = this;
+ var step = _t.database.parameters.direction === 'rtl' ? -1 : 1;
this.$el.swipe({
excludedElements: ".o_kanban_mobile_tabs",
swipeLeft: function () {
- var moveToIndex = self.activeColumnIndex + 1;
+ var moveToIndex = self.activeColumnIndex + step;
if (moveToIndex < self.widgets.length) {
self._moveToGroup(moveToIndex, self.ANIMATE);
}
},
swipeRight: function () {
- var moveToIndex = self.activeColumnIndex - 1;
+ var moveToIndex = self.activeColumnIndex - step;
if (moveToIndex > -1) {
self._moveToGroup(moveToIndex, self.ANIMATE);
}