Revert "fix #432: drag-drop in vivaldi": the Vivaldi hack is no longer required, see keeweb/keeweb#983

This reverts commit 60e59da94d.

# Conflicts:
#	app/scripts/comp/drag-drop-info.js
#	app/scripts/views/menu/menu-item-view.js
#	release-notes.md
This commit is contained in:
antelle 2018-08-23 19:05:34 +02:00
parent 3a398a9a26
commit d95ccdf01a
3 changed files with 1 additions and 25 deletions

View File

@ -1,5 +1,4 @@
const DragDropInfo = {
dragType: null,
dragObject: null
};

View File

@ -251,7 +251,6 @@ const ListView = Backbone.View.extend({
const id = $(e.target).closest('.list__item').attr('id');
e.originalEvent.dataTransfer.setData('text/entry', id);
e.originalEvent.dataTransfer.effectAllowed = 'move';
DragDropInfo.dragType = 'text/entry';
DragDropInfo.dragObject = this.items.get(id);
},

View File

@ -8,8 +8,6 @@ const Locale = require('../../util/locale');
const MenuItemView = Backbone.View.extend({
template: require('templates/menu/menu-item.hbs'),
isDropNotWorkingProperly: navigator.userAgent.indexOf('Vivaldi') > 0,
events: {
'mouseover': 'mouseover',
'mouseout': 'mouseout',
@ -22,7 +20,6 @@ const MenuItemView = Backbone.View.extend({
'dragover': 'dragover',
'dragleave': 'dragleave',
'drop': 'drop',
'mouseup': 'mouseup',
'dragover .menu__item-drag-top': 'dragoverTop',
'dragleave .menu__item-drag-top': 'dragleaveTop'
},
@ -197,7 +194,6 @@ const MenuItemView = Backbone.View.extend({
if (this.model.get('drag')) {
e.originalEvent.dataTransfer.setData('text/group', this.model.id);
e.originalEvent.dataTransfer.effectAllowed = 'move';
DragDropInfo.dragType = 'text/group';
DragDropInfo.dragObject = this.model;
}
},
@ -208,9 +204,6 @@ const MenuItemView = Backbone.View.extend({
e.preventDefault();
this.$el.addClass('menu__item--drag');
}
if (this.isDropNotWorkingProperly) {
this.canDrop = true;
}
},
dragleave(e) {
@ -218,16 +211,11 @@ const MenuItemView = Backbone.View.extend({
if (this.model.get('drop') && this.dropAllowed(e)) {
this.$el.removeClass('menu__item--drag menu__item--drag-top');
}
if (this.isDropNotWorkingProperly) {
setTimeout(() => {
this.canDrop = false;
}, 100);
}
},
drop(e) {
e.stopPropagation();
if (DragDropInfo.dragObject && this.model.get('drop') && this.dropAllowed(e)) {
if (this.model.get('drop') && this.dropAllowed(e)) {
const isTop = this.$el.hasClass('menu__item--drag-top');
this.$el.removeClass('menu__item--drag menu__item--drag-top');
if (isTop) {
@ -239,20 +227,10 @@ const MenuItemView = Backbone.View.extend({
this.model.moveHere(DragDropInfo.dragObject);
}
}
DragDropInfo.dragType = null;
DragDropInfo.dragObject = null;
Backbone.trigger('refresh');
}
},
mouseup(e) {
// fix #432: drag-drop in vivaldi. Why drop is not firing?
if (this.isDropNotWorkingProperly && this.canDrop) {
e.originalEvent.dataTransfer = { types: [DragDropInfo.dragType] };
this.drop(e);
}
},
dropTopAllowed(e) {
const types = e.originalEvent.dataTransfer.types;
for (let i = 0; i < types.length; i++) {