diff --git a/apps/common/main/lib/component/TabBar.js b/apps/common/main/lib/component/TabBar.js
index 19ac737ee..40171a2ba 100644
--- a/apps/common/main/lib/component/TabBar.js
+++ b/apps/common/main/lib/component/TabBar.js
@@ -222,6 +222,12 @@ define([
this.bar.trigger('tab:manual', this.bar, this.bar.tabs.indexOf(tab), tab);
} else {
tab.changeState();
+ if (this.bar.isEditFormula)
+ setTimeout(function(){
+ $('#ce-cell-content').focus();
+ var $cellContent = $('#ce-cell-content')[0];
+ $cellContent.selectionStart = $cellContent.selectionEnd = $cellContent.value.length;
+ }, 500);
}
}
}
@@ -250,7 +256,14 @@ define([
} else {
this.bar.$el.find('ul > li > span').attr('draggable', 'false');
}
- this.bar.trigger('tab:drag', this.bar.selectTabs);
+ if ($('#ce-cell-content').is(':focus'))
+ if (!this.bar.isEditFormula) {
+ $('#ce-cell-content').blur();
+ } else {
+ setTimeout(function () {
+ $('#ce-cell-content').focus();
+ }, 500)
+ }
}, this)
});
tab.$el.children().on(
@@ -351,10 +364,9 @@ define([
this.tabs[this.tabs.length - 1].$el.removeClass('mousemove right');
}, this));
addEvent(this.$bar[0], 'drop', _.bind(function (event) {
- var index = this.tabs.length;
this.$el.find('.mousemove').removeClass('mousemove right');
if (this.isDrop === undefined) {
- this.trigger('tab:drop', event.dataTransfer, index);
+ this.trigger('tab:drop', event.dataTransfer, 'last');
} else {
this.isDrop = undefined;
}
@@ -543,12 +555,17 @@ define([
this.checkInvisible(suppress);
} else if ( index >= (this.tabs.length - 1) || index == 'last') {
var tab = this.tabs[this.tabs.length-1].$el;
+ if (this.$bar.find('.separator-item').length === 0) {
+ this.$bar.append('
');
+ }
this.$bar.scrollLeft(this.$bar.scrollLeft() + (tab.position().left + parseInt(tab.css('width')) - this.$bar.width()) + (this.$bar.width() > 400 ? 20 : 5));
this.checkInvisible(suppress);
} else {
+ if (!this.isTabVisible(this.tabs.length - 1) && this.$bar.find('.separator-item').length === 0) {
+ this.$bar.append('');
+ }
var rightbound = this.$bar.width(),
tab, right, left;
-
if (index == 'forward') {
for (var i = 0; i < this.tabs.length; i++) {
tab = this.tabs[i].$el;
@@ -624,7 +641,7 @@ define([
//left = tab.position().left;
//right = left + tab.width();
- return !(left < leftbound) && !(right - rightbound > 0.1);
+ return !(left < leftbound) && !(right - rightbound > 0.5);
}
return false;
diff --git a/apps/common/main/resources/less/tabbar.less b/apps/common/main/resources/less/tabbar.less
index 0ccdcd736..b3a5ac2c2 100644
--- a/apps/common/main/resources/less/tabbar.less
+++ b/apps/common/main/resources/less/tabbar.less
@@ -41,9 +41,6 @@
cursor: pointer;
}
}
- &:last-of-type {
- margin-right: 20px;
- }
}
&.bottom {
diff --git a/apps/spreadsheeteditor/main/app/view/PivotSettings.js b/apps/spreadsheeteditor/main/app/view/PivotSettings.js
index b6738db20..f298f50b7 100644
--- a/apps/spreadsheeteditor/main/app/view/PivotSettings.js
+++ b/apps/spreadsheeteditor/main/app/view/PivotSettings.js
@@ -212,13 +212,15 @@ define([
},
onFieldsDragStart: function (item, index, event) {
+ this._state.field = {record: item.model};
event.originalEvent.dataTransfer.effectAllowed = 'move';
event.originalEvent.dataTransfer.setDragImage(this.getDragElement(item.model.get('value')), 14, 14);
this.pivotIndex = index;
this.fromListView = this.fieldsList.$el[0].id;
},
- onItemsDragStart: function (listview, item, index, event) {
+ onItemsDragStart: function (type, listview, item, index, event) {
+ this._state.field = {record: item.model, type: type};
event.originalEvent.dataTransfer.effectAllowed = 'move';
event.originalEvent.dataTransfer.setDragImage(this.getDragElement(item.model.get('value')), 14, 14);
this.itemIndex = index;
@@ -267,7 +269,7 @@ define([
},
onDragOver: function (listview, event) {
- if ((this.pivotIndex === -2 && (this.enterListView === 'pivot-list-filters' || this.enterListView === 'pivot-list-values')) ||
+ if (event.originalEvent.dataTransfer.types[0] === 'onlyoffice' || (this.pivotIndex === -2 && (this.enterListView === 'pivot-list-filters' || this.enterListView === 'pivot-list-values')) ||
(this.fromListView === 'pivot-list-fields' && this.enterListView === 'pivot-list-fields')) {
event.originalEvent.dataTransfer.dropEffect = 'none';
} else {
@@ -502,7 +504,7 @@ define([
});
this.columnsList.dataViewItems.forEach(function (item, index) {
item.$el.attr('draggable', true);
- item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, me.columnsList, item, index));
+ item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, 0, me.columnsList, item, index));
item.$el.on('dragenter', _.bind(me.onDragItemEnter, me, item, index));
item.$el.on('dragleave', _.bind(me.onDragItemLeave, me, item, index));
item.$el.on('dragover', _.bind(me.onDragItemOver, me, me.columnsList, item, index));
@@ -512,7 +514,7 @@ define([
this.columnsList.$el.find('.item').last().css({'margin-bottom': '10px'});
this.rowsList.dataViewItems.forEach(function (item, index) {
item.$el.attr('draggable', true);
- item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, me.rowsList, item, index));
+ item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, 1, me.rowsList, item, index));
item.$el.on('dragenter', _.bind(me.onDragItemEnter, me, item, index));
item.$el.on('dragleave', _.bind(me.onDragItemLeave, me, item, index));
item.$el.on('dragover', _.bind(me.onDragItemOver, me, me.rowsList, item, index));
@@ -522,7 +524,7 @@ define([
this.rowsList.$el.find('.item').last().css({'margin-bottom': '10px'});
this.valuesList.dataViewItems.forEach(function (item, index) {
item.$el.attr('draggable', true);
- item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, me.valuesList, item, index));
+ item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, 2, me.valuesList, item, index));
item.$el.on('dragenter', _.bind(me.onDragItemEnter, me, item, index));
item.$el.on('dragleave', _.bind(me.onDragItemLeave, me, item, index));
item.$el.on('dragover', _.bind(me.onDragItemOver, me, me.valuesList, item, index));
@@ -532,7 +534,7 @@ define([
this.valuesList.$el.find('.item').last().css({'margin-bottom': '10px'});
this.filtersList.dataViewItems.forEach(function (item, index) {
item.$el.attr('draggable', true);
- item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, me.filtersList, item, index));
+ item.$el.on('dragstart', _.bind(me.onItemsDragStart, me, 3, me.filtersList, item, index));
item.$el.on('dragenter', _.bind(me.onDragItemEnter, me, item, index));
item.$el.on('dragleave', _.bind(me.onDragItemLeave, me, item, index));
item.$el.on('dragover', _.bind(me.onDragItemOver, me, me.filtersList, item, index));
diff --git a/apps/spreadsheeteditor/main/app/view/Statusbar.js b/apps/spreadsheeteditor/main/app/view/Statusbar.js
index 484b12272..b59d9d617 100644
--- a/apps/spreadsheeteditor/main/app/view/Statusbar.js
+++ b/apps/spreadsheeteditor/main/app/view/Statusbar.js
@@ -243,7 +243,7 @@ define([
if (arrData) {
var key = _.findWhere(arrData, {type: 'key'}).value;
if (Common.Utils.InternalSettings.get("sse-doc-info-key") === key) {
- this.api.asc_moveWorksheet(index, _.findWhere(arrData, {type: 'indexes'}).value);
+ this.api.asc_moveWorksheet(_.isNumber(index) ? index : this.api.asc_getWorksheetsCount(), _.findWhere(arrData, {type: 'indexes'}).value);
this.api.asc_enableKeyEvents(true);
Common.NotificationCenter.trigger('tabs:dragend', this);
} else {
diff --git a/apps/spreadsheeteditor/main/resources/less/statusbar.less b/apps/spreadsheeteditor/main/resources/less/statusbar.less
index 650e1cf2c..57d21312f 100644
--- a/apps/spreadsheeteditor/main/resources/less/statusbar.less
+++ b/apps/spreadsheeteditor/main/resources/less/statusbar.less
@@ -166,6 +166,12 @@
}
}
+ &:last-of-type {
+ span {
+ margin-right: 0;
+ }
+ }
+
> span {
display: inline-block;
.border-radius(0);
@@ -266,6 +272,18 @@
}
}
}
+ &.separator-item {
+ margin-left: 20px;
+ width: 1px;
+ > span {
+ padding: 0;
+ margin: 0;
+ width: 1px;
+ &::after {
+ content: none;
+ }
+ }
+ }
}
}