diff options
author | Michael Gapczynski <mtgap@owncloud.com> | 2012-09-05 00:12:11 -0400 |
---|---|---|
committer | Michael Gapczynski <mtgap@owncloud.com> | 2012-09-05 00:12:25 -0400 |
commit | a26ea6d65c2117d5af78a64244b2d7e5f4e9ccfe (patch) | |
tree | a413ff87fd37d503c67b12a859a5d5074f397de9 /apps/files/js/files.js | |
parent | e8fcc7112918ac425560655384ba54ed09657145 (diff) | |
download | nextcloud-server-a26ea6d65c2117d5af78a64244b2d7e5f4e9ccfe.tar.gz nextcloud-server-a26ea6d65c2117d5af78a64244b2d7e5f4e9ccfe.zip |
Implement support for replacing files during upload with the actions: replace, suggest name, and cancel
Diffstat (limited to 'apps/files/js/files.js')
-rw-r--r-- | apps/files/js/files.js | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/apps/files/js/files.js b/apps/files/js/files.js index a729b5f2e6a..3d347c3f564 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -236,7 +236,14 @@ $(document).ready(function() { var size=t('files','Pending'); } if(files && !dirName){ - FileList.addFile(getUniqueName(files[i].name),size,date,true); + var uniqueName = getUniqueName(files[i].name); + if (uniqueName != files[i].name) { + FileList.checkName(uniqueName, files[i].name, true); + var hidden = true; + } else { + var hidden = false; + } + FileList.addFile(uniqueName,size,date,true,hidden); } else if(dirName) { var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext') var currentUploads = parseInt(uploadtext.attr('currentUploads')); @@ -255,7 +262,14 @@ $(document).ready(function() { } }else{ var filename=this.value.split('\\').pop(); //ie prepends C:\fakepath\ in front of the filename - FileList.addFile(getUniqueName(filename),'Pending',date,true); + var uniqueName = getUniqueName(filename); + if (uniqueName != filename) { + FileList.checkName(uniqueName, filename, true); + var hidden = true; + } else { + var hidden = false; + } + FileList.addFile(uniqueName,'Pending',date,true,hidden); } if($.support.xhrFileUpload) { for(var i=0;i<files.length;i++){ @@ -475,12 +489,18 @@ $(document).ready(function() { $(this).append(input); input.focus(); input.change(function(){ - var name=getUniqueName($(this).val()); - if(type != 'web' && name.indexOf('/')!=-1){ + if(type != 'web' && $(this).val().indexOf('/')!=-1){ $('#notification').text(t('files','Invalid name, \'/\' is not allowed.')); $('#notification').fadeIn(); return; } + var name = getUniqueName($(this).val()); + if (name != $(this).val()) { + FileList.checkName(name, $(this).val(), true); + var hidden = true; + } else { + var hidden = false; + } switch(type){ case 'file': $.post( @@ -489,7 +509,7 @@ $(document).ready(function() { function(result){ if (result.status == 'success') { var date=new Date(); - FileList.addFile(name,0,date); + FileList.addFile(name,0,date,false,hidden); var tr=$('tr').filterAttr('data-file',name); tr.data('mime','text/plain'); getMimeIcon('text/plain',function(path){ @@ -508,7 +528,7 @@ $(document).ready(function() { function(result){ if (result.status == 'success') { var date=new Date(); - FileList.addDir(name,0,date); + FileList.addDir(name,0,date,hidden); } else { OC.dialogs.alert(result.data.message, 'Error'); } @@ -539,7 +559,7 @@ $(document).ready(function() { eventSource.listen('success',function(mime){ $('#uploadprogressbar').fadeOut(); var date=new Date(); - FileList.addFile(localName,0,date); + FileList.addFile(localName,0,date,false,hidden); var tr=$('tr').filterAttr('data-file',localName); tr.data('mime',mime); getMimeIcon(mime,function(path){ |