mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 15:14:58 +00:00
fix drag&drop upload of folders
This commit is contained in:
parent
024f47367a
commit
e6cb1ce446
|
@ -900,16 +900,16 @@ function onAddClipboard(ev) { /* {{{ */
|
|||
}
|
||||
}
|
||||
|
||||
SeedDMSUpload.handleFileUpload = function(items,obj,statusbar) {
|
||||
SeedDMSUpload.handleFileUpload = function(target_id, target_type, items,obj,statusbar) {
|
||||
/* target is set for the quick upload area */
|
||||
var target_id = obj.data('target');
|
||||
var target_type = 'folder';
|
||||
// var target_id = obj.data('target');
|
||||
// var target_type = 'folder';
|
||||
/* droptarget is set for folders and documents in lists */
|
||||
var droptarget = obj.data('droptarget');
|
||||
if(droptarget) {
|
||||
target_type = droptarget.split("_")[0];
|
||||
target_id = droptarget.split("_")[1];
|
||||
}
|
||||
// var droptarget = obj.data('droptarget');
|
||||
// if(droptarget) {
|
||||
// target_type = droptarget.split("_")[0];
|
||||
// target_id = droptarget.split("_")[1];
|
||||
// }
|
||||
var afterupload = obj.data('afterupload');
|
||||
if(afterupload) {
|
||||
afteruploadfunc = eval(afterupload);
|
||||
|
@ -962,15 +962,15 @@ function onAddClipboard(ev) { /* {{{ */
|
|||
fd.append('formtoken', obj.data('uploadformtoken'));
|
||||
fd.append('command', 'addfolder');
|
||||
fd.append('name', item.name);
|
||||
var fid = SeedDMSUpload.addSubFolder(fd);
|
||||
let fid = SeedDMSUpload.addSubFolder(fd);
|
||||
if(fid) {
|
||||
obj.data('target', fid);
|
||||
obj.data('droptarget', 'folder_'+fid);
|
||||
// obj.data('target', fid);
|
||||
// obj.data('droptarget', 'folder_'+fid);
|
||||
/* Set void afterupload to prevent tons of noty messages */
|
||||
obj.data('afterupload', '()=>{}');
|
||||
// obj.data('afterupload', '()=>{}');
|
||||
var dirReader = item.createReader();
|
||||
dirReader.readEntries(function(entries) {
|
||||
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
|
||||
SeedDMSUpload.handleFileUpload(fid, 'folder', entries, obj, statusbar);
|
||||
});
|
||||
}
|
||||
/* Just reload the parent folder */
|
||||
|
@ -1060,6 +1060,11 @@ $(document).ready(function() { /* {{{ */
|
|||
$(document).on('drop', "#draganddrophandler", function (e) {
|
||||
$(this).css('border', '0px dotted #0B85A1');
|
||||
e.preventDefault();
|
||||
|
||||
attr_rel = $(this).data('droptarget');
|
||||
target_type = attr_rel.split("_")[0];
|
||||
target_id = attr_rel.split("_")[1];
|
||||
|
||||
var files = e.originalEvent.dataTransfer.files;
|
||||
var items = e.originalEvent.dataTransfer.items;
|
||||
|
||||
|
@ -1069,7 +1074,7 @@ $(document).ready(function() { /* {{{ */
|
|||
for (var i=0; i<items.length; i++) {
|
||||
newitems.push(items[i].webkitGetAsEntry());
|
||||
}
|
||||
SeedDMSUpload.handleFileUpload(newitems, $(this), $(this));
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems, $(this), $(this));
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1105,7 +1110,7 @@ $(document).ready(function() { /* {{{ */
|
|||
for (var i=0; i<items.length; i++) {
|
||||
newitems.push(items[i].webkitGetAsEntry());
|
||||
}
|
||||
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
} else {
|
||||
/* The data is passed in dataTransfer. The items are meaning less. */
|
||||
var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text"));
|
||||
|
@ -1225,7 +1230,7 @@ $(document).ready(function() { /* {{{ */
|
|||
"label" : "<i class='fa fa-arrow-right'></i> "+trans.upload_new_version,
|
||||
"class" : "btn-danger",
|
||||
"callback": function() {
|
||||
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1'));
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems,$(e.currentTarget),$('div.statusbar-container h1'));
|
||||
}
|
||||
}, {
|
||||
"label" : trans.cancel,
|
||||
|
@ -1320,7 +1325,7 @@ $(document).ready(function() { /* {{{ */
|
|||
for (var i=0; i<items.length; i++) {
|
||||
newitems.push(items[i].webkitGetAsEntry());
|
||||
}
|
||||
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -949,16 +949,16 @@ function onAddClipboard(ev) { /* {{{ */
|
|||
}
|
||||
}
|
||||
|
||||
SeedDMSUpload.handleFileUpload = function(items,obj,statusbar) {
|
||||
SeedDMSUpload.handleFileUpload = function(target_id, target_type, items,obj,statusbar) {
|
||||
/* target is set for the quick upload area */
|
||||
var target_id = obj.data('target');
|
||||
var target_type = 'folder';
|
||||
// var target_id = obj.data('target');
|
||||
// var target_type = 'folder';
|
||||
/* droptarget is set for folders and documents in lists */
|
||||
var droptarget = obj.data('droptarget');
|
||||
if(droptarget) {
|
||||
target_type = droptarget.split("_")[0];
|
||||
target_id = droptarget.split("_")[1];
|
||||
}
|
||||
// var droptarget = obj.data('droptarget');
|
||||
// if(droptarget) {
|
||||
// target_type = droptarget.split("_")[0];
|
||||
// target_id = droptarget.split("_")[1];
|
||||
// }
|
||||
var afterupload = obj.data('afterupload');
|
||||
if(afterupload) {
|
||||
afteruploadfunc = eval(afterupload);
|
||||
|
@ -1011,15 +1011,15 @@ function onAddClipboard(ev) { /* {{{ */
|
|||
fd.append('formtoken', obj.data('uploadformtoken'));
|
||||
fd.append('command', 'addfolder');
|
||||
fd.append('name', item.name);
|
||||
var fid = SeedDMSUpload.addSubFolder(fd);
|
||||
let fid = SeedDMSUpload.addSubFolder(fd);
|
||||
if(fid) {
|
||||
obj.data('target', fid);
|
||||
obj.data('droptarget', 'folder_'+fid);
|
||||
// obj.data('target', fid);
|
||||
// obj.data('droptarget', 'folder_'+fid);
|
||||
/* Set void afterupload to prevent tons of noty messages */
|
||||
obj.data('afterupload', '()=>{}');
|
||||
// obj.data('afterupload', '()=>{}');
|
||||
var dirReader = item.createReader();
|
||||
dirReader.readEntries(function(entries) {
|
||||
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
|
||||
SeedDMSUpload.handleFileUpload(fid, 'folder', entries, obj, statusbar);
|
||||
});
|
||||
}
|
||||
/* Just reload the parent folder */
|
||||
|
@ -1109,6 +1109,11 @@ $(document).ready(function() { /* {{{ */
|
|||
$(document).on('drop', "#draganddrophandler", function (e) {
|
||||
$(this).css('border', '0px dotted #0B85A1');
|
||||
e.preventDefault();
|
||||
|
||||
attr_rel = $(this).data('droptarget');
|
||||
target_type = attr_rel.split("_")[0];
|
||||
target_id = attr_rel.split("_")[1];
|
||||
|
||||
var files = e.originalEvent.dataTransfer.files;
|
||||
var items = e.originalEvent.dataTransfer.items;
|
||||
|
||||
|
@ -1118,7 +1123,7 @@ $(document).ready(function() { /* {{{ */
|
|||
for (var i=0; i<items.length; i++) {
|
||||
newitems.push(items[i].webkitGetAsEntry());
|
||||
}
|
||||
SeedDMSUpload.handleFileUpload(newitems, $(this), $(this));
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems, $(this), $(this));
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1154,7 +1159,7 @@ $(document).ready(function() { /* {{{ */
|
|||
for (var i=0; i<items.length; i++) {
|
||||
newitems.push(items[i].webkitGetAsEntry());
|
||||
}
|
||||
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
} else {
|
||||
/* The data is passed in dataTransfer. The items are meaning less. */
|
||||
var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text"));
|
||||
|
@ -1295,7 +1300,7 @@ $(document).ready(function() { /* {{{ */
|
|||
"label" : "<i class='fa fa-link'></i> "+trans.upload_new_version,
|
||||
"className" : "btn-danger",
|
||||
"callback": function() {
|
||||
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1'));
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems,$(e.currentTarget),$('div.statusbar-container h1'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1394,7 +1399,7 @@ $(document).ready(function() { /* {{{ */
|
|||
for (var i=0; i<items.length; i++) {
|
||||
newitems.push(items[i].webkitGetAsEntry());
|
||||
}
|
||||
SeedDMSUpload.handleFileUpload(newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
SeedDMSUpload.handleFileUpload(target_id, target_type, newitems,$(e.currentTarget),$('div.statusbar-container h1')/*$(e.currentTarget).find("span")*/);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue
Block a user