aboutsummaryrefslogtreecommitdiffstats
path: root/files/js/files.js
diff options
context:
space:
mode:
Diffstat (limited to 'files/js/files.js')
-rw-r--r--files/js/files.js58
1 files changed, 45 insertions, 13 deletions
diff --git a/files/js/files.js b/files/js/files.js
index 85bc7a98f62..431b49131ce 100644
--- a/files/js/files.js
+++ b/files/js/files.js
@@ -1,26 +1,33 @@
$(document).ready(function() {
$('#file_action_panel').attr('activeAction', false);
-
- $('#fileList tr td.filename').draggable({
- distance: 20, revert: true, opacity: 0.7,
- stop: function(event, ui) {
- $('#fileList tr td.filename').addClass('ui-draggable');
- },
- });
- $('#fileList tr[data-type="dir"] td.filename').droppable({
+
+ //drag/drop of files
+ $('#fileList tr td.filename').draggable(dragOptions);
+ $('#fileList tr[data-type="dir"] td.filename').droppable(folderDropOptions);
+ $('div.crumb').droppable({
drop: function( event, ui ) {
var file=ui.draggable.text().trim();
- var target=$(this).text().trim();
+ var target=$(this).attr('data-dir');
+ var dir=$('#dir').val();
+ while(dir.substr(0,1)=='/'){//remove extra leading /'s
+ dir=dir.substr(1);
+ }
+ dir='/'+dir;
+ if(dir.substr(-1,1)!='/'){
+ dir=dir+'/';
+ }
+ if(target==dir){
+ return;
+ }
$.ajax({
url: 'ajax/move.php',
- data: "dir="+$('#dir').val()+"&file="+file+'&target='+target,
+ data: "dir="+dir+"&file="+file+'&target='+target,
complete: function(data){boolOperationFinished(data, function(){
- var el=$('#fileList tr[data-file="'+file+'"] td.filename');
- el.draggable('destroy');
FileList.remove(file);
});}
});
- }
+ },
+ tolerance: 'pointer'
});
// Sets the file-action buttons behaviour :
@@ -234,3 +241,28 @@ function formatDate(date){
"July", "August", "September", "October", "November", "December" ];
return monthNames[date.getMonth()]+' '+date.getDate()+', '+date.getFullYear()+', '+((date.getHours()<10)?'0':'')+date.getHours()+':'+date.getMinutes();
}
+
+
+//options for file drag/dropp
+var dragOptions={
+ distance: 20, revert: true, opacity: 0.7,
+ stop: function(event, ui) {
+ $('#fileList tr td.filename').addClass('ui-draggable');
+ }
+};
+var folderDropOptions={
+ drop: function( event, ui ) {
+ var file=ui.draggable.text().trim();
+ var target=$(this).text().trim();
+ var dir=$('#dir').val();
+ $.ajax({
+ url: 'ajax/move.php',
+ data: "dir="+dir+"&file="+file+'&target='+dir+'/'+target,
+ complete: function(data){boolOperationFinished(data, function(){
+ var el=$('#fileList tr[data-file="'+file+'"] td.filename');
+ el.draggable('destroy');
+ FileList.remove(file);
+ });}
+ });
+ }
+} \ No newline at end of file