Merge pull request #22341 from owncloud/pellaeon-pr-breadcrumb-filelist-overlap-drop
Handle case when breadcrumb and filelist item overlap and both receive a drop
This commit is contained in:
commit
88da2966b4
|
@ -39,6 +39,8 @@
|
|||
}
|
||||
if (options.onDrop) {
|
||||
this.onDrop = options.onDrop;
|
||||
this.onOver = options.onOver;
|
||||
this.onOut = options.onOut;
|
||||
}
|
||||
if (options.getCrumbUrl) {
|
||||
this.getCrumbUrl = options.getCrumbUrl;
|
||||
|
@ -60,6 +62,8 @@
|
|||
breadcrumbs: [],
|
||||
onClick: null,
|
||||
onDrop: null,
|
||||
onOver: null,
|
||||
onOut: null,
|
||||
|
||||
/**
|
||||
* Sets the directory to be displayed as breadcrumb.
|
||||
|
@ -127,6 +131,8 @@
|
|||
if (this.onDrop) {
|
||||
this.$el.find('.crumb:not(.last)').droppable({
|
||||
drop: this.onDrop,
|
||||
over: this.onOver,
|
||||
out: this.onOut,
|
||||
tolerance: 'pointer'
|
||||
});
|
||||
}
|
||||
|
|
|
@ -271,6 +271,12 @@
|
|||
// if dropping on folders is allowed, then also allow on breadcrumbs
|
||||
if (this._folderDropOptions) {
|
||||
breadcrumbOptions.onDrop = _.bind(this._onDropOnBreadCrumb, this);
|
||||
breadcrumbOptions.onOver = function() {
|
||||
self.$el.find('td.filename.ui-droppable').droppable('disable');
|
||||
}
|
||||
breadcrumbOptions.onOut = function() {
|
||||
self.$el.find('td.filename.ui-droppable').droppable('enable');
|
||||
}
|
||||
}
|
||||
this.breadcrumb = new OCA.Files.BreadCrumb(breadcrumbOptions);
|
||||
|
||||
|
@ -785,6 +791,13 @@
|
|||
}
|
||||
|
||||
this.move(_.pluck(files, 'name'), targetPath);
|
||||
|
||||
// re-enable td elements to be droppable
|
||||
// sometimes the filename drop handler is still called after re-enable,
|
||||
// it seems that waiting for a short time before re-enabling solves the problem
|
||||
setTimeout(function() {
|
||||
self.$el.find('td.filename.ui-droppable').droppable('enable');
|
||||
}, 10);
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue