Skip to content
Snippets Groups Projects
Commit 99dfaee1 authored by Jörn Friedrich Dreyer's avatar Jörn Friedrich Dreyer
Browse files

reset checkbox after getting selected files instead of ofter dragging, speed up revert

parent 1d0ee61f
No related branches found
No related tags found
No related merge requests found
...@@ -815,10 +815,19 @@ function updateBreadcrumb(breadcrumbHtml) { ...@@ -815,10 +815,19 @@ function updateBreadcrumb(breadcrumbHtml) {
var createDragShadow = function(event){ var createDragShadow = function(event){
//select dragged file //select dragged file
$(event.target).parents('tr').find('td input:first').prop('checked', true); var isDragSelected = $(event.target).parents('tr').find('td input:first').prop('checked');
if (!isDragSelected) {
//select dragged file
$(event.target).parents('tr').find('td input:first').prop('checked',true);
}
var selectedFiles = getSelectedFiles(); var selectedFiles = getSelectedFiles();
if (!isDragSelected && selectedFiles.length == 1) {
//revert the selection
$(event.target).parents('tr').find('td input:first').prop('checked',false);
}
//also update class when we dragged more than one file //also update class when we dragged more than one file
if (selectedFiles.length > 1) { if (selectedFiles.length > 1) {
$(event.target).parents('tr').addClass('selected'); $(event.target).parents('tr').addClass('selected');
...@@ -832,8 +841,7 @@ var createDragShadow = function(event){ ...@@ -832,8 +841,7 @@ var createDragShadow = function(event){
var dir=$('#dir').val(); var dir=$('#dir').val();
$(selectedFiles).each(function(i,elem){ $(selectedFiles).each(function(i,elem){
var selected= $(event.target).parents('tr').hasClass('selected'); var newtr = $('<tr data-dir="'+dir+'" data-filename="'+elem.name+'">'
var newtr = $('<tr data-dir="'+dir+'" data-filename="'+elem.name+'" data-selected="'+selected+'">'
+'<td class="filename">'+elem.name+'</td><td class="size">'+humanFileSize(elem.size)+'</td>' +'<td class="filename">'+elem.name+'</td><td class="size">'+humanFileSize(elem.size)+'</td>'
+'</tr>'); +'</tr>');
tbody.append(newtr); tbody.append(newtr);
...@@ -851,16 +859,11 @@ var createDragShadow = function(event){ ...@@ -851,16 +859,11 @@ var createDragShadow = function(event){
//options for file drag/drop //options for file drag/drop
var dragOptions={ var dragOptions={
revert: 'invalid', opacity: 0.7, zIndex: 100, appendTo: 'body', cursorAt: { left: -5, top: -5 }, revert: 'invalid', revertDuration: 300,
opacity: 0.7, zIndex: 100, appendTo: 'body', cursorAt: { left: -5, top: -5 },
helper: createDragShadow, cursor: 'move', helper: createDragShadow, cursor: 'move',
stop: function(event, ui) { stop: function(event, ui) {
$('#fileList tr td.filename').addClass('ui-draggable'); $('#fileList tr td.filename').addClass('ui-draggable');
//reset selection
$(ui.helper.find('tr')).each(function(i,row){
var file = $(row).data('filename');
var selected = $(row).data('selected');
$('#fileList tr').filterAttr('data-file',file).find('td input:first').prop('checked',selected);
});
} }
} }
...@@ -899,10 +902,6 @@ var folderDropOptions={ ...@@ -899,10 +902,6 @@ var folderDropOptions={
} }
}); });
}); });
//reset checkbox if we dragged a single file
if (files.length == 1) {
$(event.target).parents('tr').find('td input:first').prop('checked', $(event.target).parents('tr').hasClass('selected'));
}
}, },
tolerance: 'pointer' tolerance: 'pointer'
} }
...@@ -941,10 +940,6 @@ var crumbDropOptions={ ...@@ -941,10 +940,6 @@ var crumbDropOptions={
} }
}); });
}); });
//reset checkbox if we dragged a single file
if (files.length == 1) {
$(event.target).parents('tr').find('td input:first').prop('checked', $(event.target).parents('tr').hasClass('selected'));
}
}, },
tolerance: 'pointer' tolerance: 'pointer'
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment