[SSE] Fix drag move of tabs

This commit is contained in:
Julia Svinareva 2019-11-01 14:15:46 +03:00
parent ac1ed98c99
commit 5d5bcf38e9

View file

@ -113,6 +113,8 @@ define([
this.bounds.push(me.bar.tabs[i].$el.get(0).getBoundingClientRect());
}
me.lastTabRight = me.bounds[length - 1].right;
me.tabBarLeft = me.bounds[0].left;
me.tabBarRight = me.bounds[length - 1].right;
me.tabBarRight = Math.min(me.tabBarRight, barBounds.right - 1);
@ -322,17 +324,18 @@ define([
function dragMove (event) {
if (!_.isUndefined(me.drag)) {
me.drag.moveX = event.clientX*Common.Utils.zoom();
if (me.drag.moveX > me.tabBarRight) {
bar.tabs[bar.tabs.length - 1].$el.addClass('mousemove right');
me.drag.place = bar.tabs.length;
} else {
$(event.target).parent().parent().find('li.mousemove').removeClass('mousemove right');
$(event.target).parent().addClass('mousemove');
if (me.drag.moveX < me.tabBarRight && me.drag.moveX > me.tabBarLeft) {
var name = $(event.target).parent().data('label'),
currentTab = _.findIndex(bar.tabs, {label: name});
if (currentTab !== -1) {
if (currentTab !== -1 && (me.bounds[currentTab].left - me.scrollLeft >= me.tabBarLeft)) {
me.drag.place = currentTab;
$(event.target).parent().parent().find('li.mousemove').removeClass('mousemove right');
$(event.target).parent().addClass('mousemove');
}
} else if ((me.drag.moveX > me.lastTabRight - me.scrollLeft) && (me.tabBarRight >= me.lastTabRight - me.scrollLeft)) { //move to end of list, right border of the right tab is visible
bar.$el.find('li.mousemove').removeClass('mousemove right');
bar.tabs[bar.tabs.length - 1].$el.addClass('mousemove right');
me.drag.place = bar.tabs.length;
}
}
}