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 */
|
/* target is set for the quick upload area */
|
||||||
var target_id = obj.data('target');
|
// var target_id = obj.data('target');
|
||||||
var target_type = 'folder';
|
// var target_type = 'folder';
|
||||||
/* droptarget is set for folders and documents in lists */
|
/* droptarget is set for folders and documents in lists */
|
||||||
var droptarget = obj.data('droptarget');
|
// var droptarget = obj.data('droptarget');
|
||||||
if(droptarget) {
|
// if(droptarget) {
|
||||||
target_type = droptarget.split("_")[0];
|
// target_type = droptarget.split("_")[0];
|
||||||
target_id = droptarget.split("_")[1];
|
// target_id = droptarget.split("_")[1];
|
||||||
}
|
// }
|
||||||
var afterupload = obj.data('afterupload');
|
var afterupload = obj.data('afterupload');
|
||||||
if(afterupload) {
|
if(afterupload) {
|
||||||
afteruploadfunc = eval(afterupload);
|
afteruploadfunc = eval(afterupload);
|
||||||
|
@ -962,15 +962,15 @@ function onAddClipboard(ev) { /* {{{ */
|
||||||
fd.append('formtoken', obj.data('uploadformtoken'));
|
fd.append('formtoken', obj.data('uploadformtoken'));
|
||||||
fd.append('command', 'addfolder');
|
fd.append('command', 'addfolder');
|
||||||
fd.append('name', item.name);
|
fd.append('name', item.name);
|
||||||
var fid = SeedDMSUpload.addSubFolder(fd);
|
let fid = SeedDMSUpload.addSubFolder(fd);
|
||||||
if(fid) {
|
if(fid) {
|
||||||
obj.data('target', fid);
|
// obj.data('target', fid);
|
||||||
obj.data('droptarget', 'folder_'+fid);
|
// obj.data('droptarget', 'folder_'+fid);
|
||||||
/* Set void afterupload to prevent tons of noty messages */
|
/* Set void afterupload to prevent tons of noty messages */
|
||||||
obj.data('afterupload', '()=>{}');
|
// obj.data('afterupload', '()=>{}');
|
||||||
var dirReader = item.createReader();
|
var dirReader = item.createReader();
|
||||||
dirReader.readEntries(function(entries) {
|
dirReader.readEntries(function(entries) {
|
||||||
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
|
SeedDMSUpload.handleFileUpload(fid, 'folder', entries, obj, statusbar);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/* Just reload the parent folder */
|
/* Just reload the parent folder */
|
||||||
|
@ -1060,6 +1060,11 @@ $(document).ready(function() { /* {{{ */
|
||||||
$(document).on('drop', "#draganddrophandler", function (e) {
|
$(document).on('drop', "#draganddrophandler", function (e) {
|
||||||
$(this).css('border', '0px dotted #0B85A1');
|
$(this).css('border', '0px dotted #0B85A1');
|
||||||
e.preventDefault();
|
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 files = e.originalEvent.dataTransfer.files;
|
||||||
var items = e.originalEvent.dataTransfer.items;
|
var items = e.originalEvent.dataTransfer.items;
|
||||||
|
|
||||||
|
@ -1069,7 +1074,7 @@ $(document).ready(function() { /* {{{ */
|
||||||
for (var i=0; i<items.length; i++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
newitems.push(items[i].webkitGetAsEntry());
|
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++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
newitems.push(items[i].webkitGetAsEntry());
|
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 {
|
} else {
|
||||||
/* The data is passed in dataTransfer. The items are meaning less. */
|
/* The data is passed in dataTransfer. The items are meaning less. */
|
||||||
var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text"));
|
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,
|
"label" : "<i class='fa fa-arrow-right'></i> "+trans.upload_new_version,
|
||||||
"class" : "btn-danger",
|
"class" : "btn-danger",
|
||||||
"callback": function() {
|
"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,
|
"label" : trans.cancel,
|
||||||
|
@ -1320,7 +1325,7 @@ $(document).ready(function() { /* {{{ */
|
||||||
for (var i=0; i<items.length; i++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
newitems.push(items[i].webkitGetAsEntry());
|
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 */
|
/* target is set for the quick upload area */
|
||||||
var target_id = obj.data('target');
|
// var target_id = obj.data('target');
|
||||||
var target_type = 'folder';
|
// var target_type = 'folder';
|
||||||
/* droptarget is set for folders and documents in lists */
|
/* droptarget is set for folders and documents in lists */
|
||||||
var droptarget = obj.data('droptarget');
|
// var droptarget = obj.data('droptarget');
|
||||||
if(droptarget) {
|
// if(droptarget) {
|
||||||
target_type = droptarget.split("_")[0];
|
// target_type = droptarget.split("_")[0];
|
||||||
target_id = droptarget.split("_")[1];
|
// target_id = droptarget.split("_")[1];
|
||||||
}
|
// }
|
||||||
var afterupload = obj.data('afterupload');
|
var afterupload = obj.data('afterupload');
|
||||||
if(afterupload) {
|
if(afterupload) {
|
||||||
afteruploadfunc = eval(afterupload);
|
afteruploadfunc = eval(afterupload);
|
||||||
|
@ -1011,15 +1011,15 @@ function onAddClipboard(ev) { /* {{{ */
|
||||||
fd.append('formtoken', obj.data('uploadformtoken'));
|
fd.append('formtoken', obj.data('uploadformtoken'));
|
||||||
fd.append('command', 'addfolder');
|
fd.append('command', 'addfolder');
|
||||||
fd.append('name', item.name);
|
fd.append('name', item.name);
|
||||||
var fid = SeedDMSUpload.addSubFolder(fd);
|
let fid = SeedDMSUpload.addSubFolder(fd);
|
||||||
if(fid) {
|
if(fid) {
|
||||||
obj.data('target', fid);
|
// obj.data('target', fid);
|
||||||
obj.data('droptarget', 'folder_'+fid);
|
// obj.data('droptarget', 'folder_'+fid);
|
||||||
/* Set void afterupload to prevent tons of noty messages */
|
/* Set void afterupload to prevent tons of noty messages */
|
||||||
obj.data('afterupload', '()=>{}');
|
// obj.data('afterupload', '()=>{}');
|
||||||
var dirReader = item.createReader();
|
var dirReader = item.createReader();
|
||||||
dirReader.readEntries(function(entries) {
|
dirReader.readEntries(function(entries) {
|
||||||
SeedDMSUpload.handleFileUpload(entries, obj, statusbar);
|
SeedDMSUpload.handleFileUpload(fid, 'folder', entries, obj, statusbar);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/* Just reload the parent folder */
|
/* Just reload the parent folder */
|
||||||
|
@ -1109,6 +1109,11 @@ $(document).ready(function() { /* {{{ */
|
||||||
$(document).on('drop', "#draganddrophandler", function (e) {
|
$(document).on('drop', "#draganddrophandler", function (e) {
|
||||||
$(this).css('border', '0px dotted #0B85A1');
|
$(this).css('border', '0px dotted #0B85A1');
|
||||||
e.preventDefault();
|
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 files = e.originalEvent.dataTransfer.files;
|
||||||
var items = e.originalEvent.dataTransfer.items;
|
var items = e.originalEvent.dataTransfer.items;
|
||||||
|
|
||||||
|
@ -1118,7 +1123,7 @@ $(document).ready(function() { /* {{{ */
|
||||||
for (var i=0; i<items.length; i++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
newitems.push(items[i].webkitGetAsEntry());
|
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++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
newitems.push(items[i].webkitGetAsEntry());
|
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 {
|
} else {
|
||||||
/* The data is passed in dataTransfer. The items are meaning less. */
|
/* The data is passed in dataTransfer. The items are meaning less. */
|
||||||
var source_info = JSON.parse(e.originalEvent.dataTransfer.getData("text"));
|
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,
|
"label" : "<i class='fa fa-link'></i> "+trans.upload_new_version,
|
||||||
"className" : "btn-danger",
|
"className" : "btn-danger",
|
||||||
"callback": function() {
|
"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++) {
|
for (var i=0; i<items.length; i++) {
|
||||||
newitems.push(items[i].webkitGetAsEntry());
|
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