Fix dropping files below the table

This commit is contained in:
Vincent Petry 2014-05-22 11:16:42 +02:00
parent 542b395858
commit d6e1643a0e
4 changed files with 15 additions and 5 deletions

View File

@ -91,6 +91,11 @@
position: relative;
}
/* fit app list view heights */
.app-files #app-content>.viewcontainer {
height: 100%;
}
/**
* Override global #controls styles
* to be more flexible / relative

View File

@ -1517,10 +1517,9 @@
fileUploadStart.on('fileuploaddrop', function(e, data) {
OC.Upload.log('filelist handle fileuploaddrop', e, data);
var dropTarget = $(e.originalEvent.target);
// check if dropped inside this list and not another one
if (dropTarget.length && !self.$el.has(dropTarget).length) {
// check if dropped inside this container and not another one
if (dropTarget.length && !self.$el.is(dropTarget) && !self.$el.has(dropTarget).length) {
return false;
}

View File

@ -2,7 +2,7 @@
<?php $_['appNavigation']->printPage(); ?>
<div id="app-content">
<?php foreach ($_['appContents'] as $content) { ?>
<div id="app-content-<?php p($content['id']) ?>" class="hidden">
<div id="app-content-<?php p($content['id']) ?>" class="hidden viewcontainer">
<?php print_unescaped($content['content']) ?>
</div>
<?php } ?>

View File

@ -1730,7 +1730,7 @@ describe('OCA.Files.FileList tests', function() {
ev = dropOn($anotherTable.find('.crumb'));
expect(ev.result).toEqual(false);
});
it('drop on an element outside file list does not trigger upload', function() {
it('drop on an element outside file list container does not trigger upload', function() {
var $anotherEl = $('<div>outside</div>');
var ev;
$('#testArea').append($anotherEl);
@ -1744,6 +1744,12 @@ describe('OCA.Files.FileList tests', function() {
expect(ev.result).not.toEqual(false);
});
it('drop on an element on the table container triggers upload', function() {
var ev;
ev = dropOn($('#app-content-files'), uploadData);
expect(ev.result).not.toEqual(false);
});
it('drop on an element inside the table does not trigger upload if no upload permission', function() {
$('#permissions').val(0);
var ev;