aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/js')
-rw-r--r--apps/files/js/file-upload.js15
-rw-r--r--apps/files/js/filelist.js16
-rw-r--r--apps/files/js/files.js2
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) {