Merge pull request #1356 from ONLYOFFICE/fix/bug_52232

[SSE] Fix bug 52232
This commit is contained in:
Julia Radzhabova 2021-11-26 12:33:39 +03:00 committed by GitHub
commit 9e8e78ada2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 9 deletions

View file

@ -411,7 +411,7 @@ Common.UI.HintManager = new(function() {
_clearHints(); _clearHints();
}); });
$(document).on('keyup', function(e) { $(document).on('keyup', function(e) {
if (e.keyCode == Common.UI.Keys.ALT && _needShow) { if (e.keyCode == Common.UI.Keys.ALT && _needShow && !(window.SSE && window.SSE.getController('Statusbar').getIsDragDrop())) {
e.preventDefault(); e.preventDefault();
if (!_hintVisible) { if (!_hintVisible) {
$('input:focus').blur(); // to change value in inputField $('input:focus').blur(); // to change value in inputField

View file

@ -177,11 +177,11 @@ define([
lockDrag = true; lockDrag = true;
} }
}); });
if (((this.bar.selectTabs.length === this.bar.tabs.length || this.bar.tabs.length === 1) && !(e.ctrlKey || e.metaKey)) || this.bar.isEditFormula) { if (((this.bar.selectTabs.length === this.bar.tabs.length || this.bar.tabs.length === 1) && !(e.ctrlKey || (Common.Utils.isMac && e.altKey))) || this.bar.isEditFormula) {
lockDrag = true; lockDrag = true;
} }
// move last selected sheet if all sheets are selected // move last selected sheet if all sheets are selected
if (this.bar.selectTabs.length === this.bar.tabs.length && this.bar.tabs.length > 1 && !e.ctrlKey && !e.metaKey) { if (this.bar.selectTabs.length === this.bar.tabs.length && this.bar.tabs.length > 1 && !e.ctrlKey && !(Common.Utils.isMac && e.altKey)) {
lockDrag = false; lockDrag = false;
this.bar.$el.find('ul > li.selected').removeClass('selected'); this.bar.$el.find('ul > li.selected').removeClass('selected');
} }
@ -221,7 +221,7 @@ define([
if (!this.bar.isEditFormula) { if (!this.bar.isEditFormula) {
this.bar.$el.find('.mousemove').removeClass('mousemove right'); this.bar.$el.find('.mousemove').removeClass('mousemove right');
$(e.currentTarget).parent().addClass('mousemove'); $(e.currentTarget).parent().addClass('mousemove');
event.dataTransfer.dropEffect = event.metaKey || event.ctrlKey ? 'copy' : 'move'; event.dataTransfer.dropEffect = (event.ctrlKey || Common.Utils.isMac && event.altKey) ? 'copy' : 'move';
} else { } else {
event.dataTransfer.dropEffect = 'none'; event.dataTransfer.dropEffect = 'none';
} }
@ -234,7 +234,7 @@ define([
if (!this.bar.isEditFormula) { if (!this.bar.isEditFormula) {
this.bar.$el.find('.mousemove').removeClass('mousemove right'); this.bar.$el.find('.mousemove').removeClass('mousemove right');
$(e.currentTarget).parent().addClass('mousemove'); $(e.currentTarget).parent().addClass('mousemove');
event.dataTransfer.dropEffect = event.metaKey || event.ctrlKey ? 'copy' : 'move'; event.dataTransfer.dropEffect = (event.ctrlKey || Common.Utils.isMac && event.altKey) ? 'copy' : 'move';
} else { } else {
event.dataTransfer.dropEffect = 'none'; event.dataTransfer.dropEffect = 'none';
} }
@ -244,6 +244,9 @@ define([
$(e.currentTarget).parent().removeClass('mousemove right'); $(e.currentTarget).parent().removeClass('mousemove right');
}, this), }, this),
dragend: $.proxy(function (e) { dragend: $.proxy(function (e) {
if (Common.Utils.isMac && e.altKey) { // don't show alt hints after copy by drag and drop
this.bar.isDragDrop = true;
}
var event = e.originalEvent; var event = e.originalEvent;
if (event.dataTransfer.dropEffect === 'move' && !event.dataTransfer.mozUserCancelled) { if (event.dataTransfer.dropEffect === 'move' && !event.dataTransfer.mozUserCancelled) {
this.bar.trigger('tab:dragend', true); this.bar.trigger('tab:dragend', true);
@ -253,10 +256,13 @@ define([
this.bar.$el.find('.mousemove').removeClass('mousemove right'); this.bar.$el.find('.mousemove').removeClass('mousemove right');
}, this), }, this),
drop: $.proxy(function (e) { drop: $.proxy(function (e) {
if (Common.Utils.isMac && e.altKey) { // don't show alt hints after copy by drag and drop
this.bar.isDragDrop = true;
}
var event = e.originalEvent, var event = e.originalEvent,
index = $(event.currentTarget).data('index'); index = $(event.currentTarget).data('index');
this.bar.$el.find('.mousemove').removeClass('mousemove right'); this.bar.$el.find('.mousemove').removeClass('mousemove right');
this.bar.trigger('tab:drop', event.dataTransfer, index, event.ctrlKey || event.metaKey); this.bar.trigger('tab:drop', event.dataTransfer, index, (event.ctrlKey || Common.Utils.isMac && event.altKey));
this.bar.isDrop = true; this.bar.isDrop = true;
}, this) }, this)
}); });
@ -299,7 +305,7 @@ define([
}, this)); }, this));
addEvent(this.$bar[0], 'dragenter', _.bind(function (event) { addEvent(this.$bar[0], 'dragenter', _.bind(function (event) {
if (!this.isEditFormula) { if (!this.isEditFormula) {
event.dataTransfer.dropEffect = event.metaKey || event.ctrlKey ? 'copy' : 'move'; event.dataTransfer.dropEffect = (event.ctrlKey || Common.Utils.isMac && event.altKey) ? 'copy' : 'move';
} else { } else {
event.dataTransfer.dropEffect = 'none'; event.dataTransfer.dropEffect = 'none';
} }
@ -308,7 +314,7 @@ define([
if (event.preventDefault) { if (event.preventDefault) {
event.preventDefault(); // Necessary. Allows us to drop. event.preventDefault(); // Necessary. Allows us to drop.
} }
event.dataTransfer.dropEffect = !this.isEditFormula ? (event.metaKey || event.ctrlKey ? 'copy' : 'move') : 'none'; event.dataTransfer.dropEffect = !this.isEditFormula ? ((event.ctrlKey || Common.Utils.isMac && event.altKey) ? 'copy' : 'move') : 'none';
!this.isEditFormula && this.tabs[this.tabs.length - 1].$el.addClass('mousemove right'); !this.isEditFormula && this.tabs[this.tabs.length - 1].$el.addClass('mousemove right');
return false; return false;
}, this)); }, this));
@ -319,7 +325,10 @@ define([
addEvent(this.$bar[0], 'drop', _.bind(function (event) { addEvent(this.$bar[0], 'drop', _.bind(function (event) {
this.$el.find('.mousemove').removeClass('mousemove right'); this.$el.find('.mousemove').removeClass('mousemove right');
if (this.isDrop === undefined) { if (this.isDrop === undefined) {
this.trigger('tab:drop', event.dataTransfer, 'last', event.ctrlKey || event.metaKey); if (Common.Utils.isMac && event.altKey) { // don't show alt hints after copy by drag and drop
this.isDragDrop = true;
}
this.trigger('tab:drop', event.dataTransfer, 'last', (event.ctrlKey || Common.Utils.isMac && event.altKey));
} else { } else {
this.isDrop = undefined; this.isDrop = undefined;
} }

View file

@ -800,6 +800,12 @@ define([
Common.NotificationCenter.trigger('protect:sheet', !this.api.asc_isProtectedSheet()); Common.NotificationCenter.trigger('protect:sheet', !this.api.asc_isProtectedSheet());
}, },
getIsDragDrop: function () {
var isDragDrop = this.statusbar.tabbar.isDragDrop;
this.statusbar.tabbar.isDragDrop = false;
return isDragDrop;
},
zoomText : 'Zoom {0}%', zoomText : 'Zoom {0}%',
errorLastSheet : 'Workbook must have at least one visible worksheet.', errorLastSheet : 'Workbook must have at least one visible worksheet.',
errorRemoveSheet: 'Can\'t delete the worksheet.', errorRemoveSheet: 'Can\'t delete the worksheet.',