HSLE#40141 Support verbeterd voor single file upload
svn path=/Website/trunk/; revision=38200
This commit is contained in:
@@ -153,6 +153,7 @@ if (fso.FolderExists(params.AttachPath))
|
||||
|
||||
window.return_data = {};
|
||||
var looseFiles = [];
|
||||
var isMultiple;
|
||||
var isAdvancedUpload = function() {
|
||||
var div = document.createElement('div');
|
||||
return (('draggable' in div) || ('ondragstart' in div && 'ondrop' in div)) && 'FormData' in window && 'FileReader' in window;
|
||||
@@ -160,6 +161,7 @@ if (fso.FolderExists(params.AttachPath))
|
||||
|
||||
$(function() {
|
||||
|
||||
isMultiple = $("input#file-upload").attr("multiple") ? 1 : 0;
|
||||
$body = $("body#mod_bijlagen");
|
||||
if (isAdvancedUpload) {
|
||||
|
||||
@@ -168,7 +170,8 @@ if (fso.FolderExists(params.AttachPath))
|
||||
e.stopPropagation();
|
||||
})
|
||||
.on('dragover dragenter', function() {
|
||||
$body.addClass("dragon");
|
||||
if (document.forms.u2.imgfile) // Anders betreft het een enkel bestand die al gevuld is.
|
||||
$body.addClass("dragon");
|
||||
})
|
||||
.on('dragleave dragend drop', function() {
|
||||
$body.removeClass("dragon");
|
||||
@@ -184,7 +187,7 @@ if (fso.FolderExists(params.AttachPath))
|
||||
var data = (e.originalEvent || e).clipboardData;
|
||||
|
||||
if (data.items.length && data.items[0].type.indexOf("image") !== -1)
|
||||
addFiles(data.items[0], "paste");
|
||||
addFiles(data.items[0], "ctrlv");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -205,7 +208,8 @@ if (fso.FolderExists(params.AttachPath))
|
||||
|
||||
function addFiles(fileInput, source)
|
||||
{
|
||||
if (source == "paste")
|
||||
if (document.forms.u2.imgfile) // Anders betreft het een enkel bestand die al gevuld is.
|
||||
if (source == "ctrlv")
|
||||
{
|
||||
looseFiles = [fileInput.getAsFile()]; // List of File instead of FileList
|
||||
document.getElementById("displayFilename").innerText = fileInput.getAsFile().name
|
||||
@@ -216,7 +220,7 @@ if (fso.FolderExists(params.AttachPath))
|
||||
{
|
||||
looseFiles = $.extend(true, {}, fileInput.files);
|
||||
displayFilename(fileInput);
|
||||
iface.button[fileInput.files && fileInput.files.length ? 'enable' : 'disable' ]('btn_upload_submit');
|
||||
iface.button[fileInput.files && fileInput.files.length ? 'enable' : 'disable']('btn_upload_submit');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,10 +276,12 @@ if (fso.FolderExists(params.AttachPath))
|
||||
if (document.forms.u2.imgfile.value == "" && !looseFiles.length)
|
||||
return false;
|
||||
|
||||
// Officieel lte IE9 niet meer gesupport, dus .files mag gebruikt worden
|
||||
var fileList = looseFiles.length ? looseFiles : document.forms.u2.imgfile.files;
|
||||
var loopFiles = isMultiple ? fileList.length : (fileList.length ? 1 : 0);
|
||||
|
||||
// File(s) valideren
|
||||
for (var i = 0; i < fileList.length; i++)
|
||||
for (var i = 0; i < loopFiles; i++)
|
||||
{
|
||||
if (!validateFile(fileList[i]))
|
||||
return false;
|
||||
@@ -287,7 +293,7 @@ if (fso.FolderExists(params.AttachPath))
|
||||
var fTable = document.getElementById("filetable");
|
||||
var fRow = fTable.getElementsByTagName("A");
|
||||
if (fRow.length)
|
||||
for (var x = 0; x < fileList.length; x++)
|
||||
for (var x = 0; x < loopFiles; x++)
|
||||
{
|
||||
for(var y = 0; y < fRow.length; y++)
|
||||
{
|
||||
@@ -318,7 +324,7 @@ if (fso.FolderExists(params.AttachPath))
|
||||
var ajaxData = new FormData();
|
||||
ajaxData.append("<%=protectRequest.theVar%>", "<%=safe.htmlattr(protectRequest.theToken())%>");
|
||||
|
||||
for (var i = 0; i < looseFiles.length; i++)
|
||||
for (var i = 0; i < loopFiles; i++)
|
||||
ajaxData.append("imgfile", looseFiles[i]);
|
||||
|
||||
$.ajax({
|
||||
@@ -345,15 +351,12 @@ if (fso.FolderExists(params.AttachPath))
|
||||
{
|
||||
var fileString = "";
|
||||
var files = fileInput.files;
|
||||
if (files)
|
||||
{
|
||||
for (var i = 0; i < files.length; i++) {
|
||||
if (i != 0) fileString += "\n";
|
||||
fileString += safeFilename(files[i].name);
|
||||
}
|
||||
var loopNames = isMultiple ? files.length : (files.length ? 1 : 0);
|
||||
|
||||
for (var i = 0; i < loopNames; i++) {
|
||||
if (i != 0) fileString += "\n";
|
||||
fileString += safeFilename(files[i].name);
|
||||
}
|
||||
else if (fileInput.value) // IE
|
||||
fileString = fileInput.value;
|
||||
|
||||
document.getElementById("displayFilename").innerText = fileString;
|
||||
FcltMgr.resized();
|
||||
@@ -370,7 +373,7 @@ if (fso.FolderExists(params.AttachPath))
|
||||
|
||||
function Sluiten()
|
||||
{
|
||||
var unUploadedFiles = (looseFiles.length ? looseFiles : document.forms.u2.imgfile.files).length;
|
||||
var unUploadedFiles = (looseFiles.length ? looseFiles.length : (document.forms.u2.imgfile ? document.forms.u2.imgfile.files.length : 0));
|
||||
FcltMgr.confirm(L("lcl_shared_unfinished_uploads"),
|
||||
{ autoconfirm: !unUploadedFiles,
|
||||
fncancel: function() { /* geen actie bij confirm=cancel */ }
|
||||
|
||||
Reference in New Issue
Block a user