diff options
Diffstat (limited to 'apps/files/js')
-rw-r--r-- | apps/files/js/file-upload.js | 15 | ||||
-rw-r--r-- | apps/files/js/filelist.js | 16 | ||||
-rw-r--r-- | apps/files/js/files.js | 2 |
3 files changed, 23 insertions, 10 deletions
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index 5bf4f5c0981..8c56f1cb364 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -334,8 +334,13 @@ $(document).ready(function() { var result=$.parseJSON(response); delete data.jqXHR; - - if (typeof result[0] === 'undefined') { + + if (result.status === 'error' && result.data && result.data.message){ + data.textStatus = 'servererror'; + data.errorThrown = result.data.message; + var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); + fu._trigger('fail', e, data); + } else if (typeof result[0] === 'undefined') { data.textStatus = 'servererror'; data.errorThrown = t('files', 'Could not get result from server.'); var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); @@ -460,7 +465,11 @@ $(document).ready(function() { crumb.text(text); } - $(document).click(function() { + $(document).click(function(ev) { + // do not close when clicking in the dropdown + if ($(ev.target).closest('#new').length){ + return; + } $('#new>ul').hide(); $('#new').removeClass('active'); if ($('#new .error').length > 0) { diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index c33a06bbdc3..e935ce7d5d3 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -264,6 +264,9 @@ var FileList={ $('.creatable').toggleClass('hidden', !isCreatable); $('.notCreatable').toggleClass('hidden', isCreatable); } + else{ + $('.creatable, .notCreatable').addClass('hidden'); + } }, /** * Enables/disables viewer mode. @@ -593,18 +596,19 @@ var FileList={ var fileSize = '<td class="filesize">'+humanFileSize(totalSize)+'</td>'; } - $('#fileList').append('<tr class="summary"><td><span class="info">'+info+'</span></td>'+fileSize+'<td></td></tr>'); + var $summary = $('<tr class="summary"><td><span class="info">'+info+'</span></td>'+fileSize+'<td></td></tr>'); + $('#fileList').append($summary); - var $dirInfo = $('.summary .dirinfo'); - var $fileInfo = $('.summary .fileinfo'); - var $connector = $('.summary .connector'); + var $dirInfo = $summary.find('.dirinfo'); + var $fileInfo = $summary.find('.fileinfo'); + var $connector = $summary.find('.connector'); // Show only what's necessary, e.g.: no files: don't show "0 files" - if ($dirInfo.html().charAt(0) === "0") { + if (totalDirs === 0) { $dirInfo.hide(); $connector.hide(); } - if ($fileInfo.html().charAt(0) === "0") { + if (totalFiles === 0) { $fileInfo.hide(); $connector.hide(); } diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 389bf1bf197..0b10fa8c63a 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -487,7 +487,7 @@ var folderDropOptions={ return false; } - var target = $.trim($(this).find('.nametext').text()); + var target = $(this).closest('tr').data('file'); var files = ui.helper.find('tr'); $(files).each(function(i,row) { |