diff options
author | tomneedham <tom@owncloud.com> | 2013-12-11 09:12:47 +0000 |
---|---|---|
committer | tomneedham <tom@owncloud.com> | 2013-12-11 09:12:47 +0000 |
commit | 7afe6b349352f90bec5a8409bf5c23494f808f1a (patch) | |
tree | c0e4294c123a42b519ac168259a113efadbebed7 /apps/files_trashbin/js | |
parent | 37b07fe6a9e512214852584fb15056f008509882 (diff) | |
parent | 28180485d9d767a081656e403fe7c8210957f976 (diff) | |
download | nextcloud-server-7afe6b349352f90bec5a8409bf5c23494f808f1a.tar.gz nextcloud-server-7afe6b349352f90bec5a8409bf5c23494f808f1a.zip |
Merge branch 'master' into fix-5388-master
Diffstat (limited to 'apps/files_trashbin/js')
-rw-r--r-- | apps/files_trashbin/js/filelist.js | 7 | ||||
-rw-r--r-- | apps/files_trashbin/js/trash.js | 96 |
2 files changed, 55 insertions, 48 deletions
diff --git a/apps/files_trashbin/js/filelist.js b/apps/files_trashbin/js/filelist.js index cd5a67ddfe0..f42abb6d029 100644 --- a/apps/files_trashbin/js/filelist.js +++ b/apps/files_trashbin/js/filelist.js @@ -22,3 +22,10 @@ FileList.reload = function(){ FileList.linkTo = function(dir){ return OC.linkTo('files_trashbin', 'index.php')+"?dir="+ encodeURIComponent(dir).replace(/%2F/g, '/'); } + +FileList.updateEmptyContent = function(){ + var $fileList = $('#fileList'); + var exists = $fileList.find('tr:first').exists(); + $('#emptycontent').toggleClass('hidden', exists); + $('#filestable th').toggleClass('hidden', !exists); +} diff --git a/apps/files_trashbin/js/trash.js b/apps/files_trashbin/js/trash.js index 4e6a1e93fa4..48e9629f7de 100644 --- a/apps/files_trashbin/js/trash.js +++ b/apps/files_trashbin/js/trash.js @@ -8,7 +8,7 @@ $(document).ready(function() { deleteAction.removeClass('delete-icon').addClass('progress-icon'); disableActions(); $.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'), - {files: JSON.stringify([filename]), dirlisting: tr.attr('data-dirlisting')}, + {files: JSON.stringify([$('#dir').val() + '/' + filename]), dirlisting: tr.attr('data-dirlisting')}, function(result) { for (var i = 0; i < result.data.success.length; i++) { var row = document.getElementById(result.data.success[i].filename); @@ -19,6 +19,7 @@ $(document).ready(function() { } enableActions(); FileList.updateFileSummary(); + FileList.updateEmptyContent(); } ); @@ -34,7 +35,7 @@ $(document).ready(function() { deleteAction.removeClass('delete-icon').addClass('progress-icon'); disableActions(); $.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), - {files: JSON.stringify([filename]), dirlisting: tr.attr('data-dirlisting')}, + {files: JSON.stringify([$('#dir').val() + '/' +filename]), dirlisting: tr.attr('data-dirlisting')}, function(result) { for (var i = 0; i < result.data.success.length; i++) { var row = document.getElementById(result.data.success[i].filename); @@ -45,6 +46,7 @@ $(document).ready(function() { } enableActions(); FileList.updateFileSummary(); + FileList.updateEmptyContent(); } ); @@ -64,41 +66,6 @@ $(document).ready(function() { procesSelection(); }); - $('#fileList').on('click', 'td.filename a', function(event) { - if (event.shiftKey) { - event.preventDefault(); - var last = $(lastChecked).parent().parent().prevAll().length; - var first = $(this).parent().parent().prevAll().length; - var start = Math.min(first, last); - var end = Math.max(first, last); - var rows = $(this).parent().parent().parent().children('tr'); - for (var i = start; i < end; i++) { - $(rows).each(function(index) { - if (index == i) { - var checkbox = $(this).children().children('input:checkbox'); - $(checkbox).attr('checked', 'checked'); - $(checkbox).parent().parent().addClass('selected'); - } - }); - } - } - var checkbox = $(this).parent().children('input:checkbox'); - lastChecked = checkbox; - if ($(checkbox).attr('checked')) { - $(checkbox).removeAttr('checked'); - $(checkbox).parent().parent().removeClass('selected'); - $('#select_all').removeAttr('checked'); - } else { - $(checkbox).attr('checked', 'checked'); - $(checkbox).parent().parent().toggleClass('selected'); - var selectedCount = $('td.filename input:checkbox:checked').length; - if (selectedCount == $('td.filename input:checkbox').length) { - $('#select_all').attr('checked', 'checked'); - } - } - procesSelection(); - }); - $('.undelete').click('click', function(event) { event.preventDefault(); var files = getSelectedFiles('file'); @@ -122,39 +89,72 @@ $(document).ready(function() { } enableActions(); FileList.updateFileSummary(); + FileList.updateEmptyContent(); } ); }); $('.delete').click('click', function(event) { event.preventDefault(); - var files = getSelectedFiles('file'); - var fileslist = JSON.stringify(files); - var dirlisting = getSelectedFiles('dirlisting')[0]; + var allFiles = $('#select_all').is(':checked'); + var files = []; + var params = {}; + if (allFiles) { + params = { + allfiles: true, + dir: $('#dir').val() + }; + } + else { + files = getSelectedFiles('file'); + params = { + files: JSON.stringify(files), + dirlisting: getSelectedFiles('dirlisting')[0] + }; + }; disableActions(); - for (var i = 0; i < files.length; i++) { - var deleteAction = $('tr').filterAttr('data-file', files[i]).children("td.date").children(".action.delete"); - deleteAction.removeClass('delete-icon').addClass('progress-icon'); + if (allFiles) { + FileList.showMask(); + } + else { + for (var i = 0; i < files.length; i++) { + var deleteAction = $('tr').filterAttr('data-file', files[i]).children("td.date").children(".action.delete"); + deleteAction.removeClass('delete-icon').addClass('progress-icon'); + } } $.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), - {files: fileslist, dirlisting: dirlisting}, + params, function(result) { - for (var i = 0; i < result.data.success.length; i++) { - var row = document.getElementById(result.data.success[i].filename); - row.parentNode.removeChild(row); + if (allFiles) { + FileList.hideMask(); + // simply remove all files + $('#fileList').empty(); + } + else { + for (var i = 0; i < result.data.success.length; i++) { + var row = document.getElementById(result.data.success[i].filename); + row.parentNode.removeChild(row); + } } if (result.status !== 'success') { OC.dialogs.alert(result.data.message, t('core', 'Error')); } enableActions(); FileList.updateFileSummary(); + FileList.updateEmptyContent(); } ); }); + $('#fileList').on('click', 'td.filename input', function() { + var checkbox = $(this).parent().children('input:checkbox'); + $(checkbox).parent().parent().toggleClass('selected'); + procesSelection(); + }); + $('#fileList').on('click', 'td.filename a', function(event) { var mime = $(this).parent().parent().data('mime'); if (mime !== 'httpd/unix-directory') { @@ -201,7 +201,7 @@ function getSelectedFiles(property){ elements.each(function(i,element){ var file={ name:$(element).attr('data-filename'), - file:$(element).attr('data-file'), + file:$('#dir').val() + "/" + $(element).attr('data-file'), timestamp:$(element).attr('data-timestamp'), type:$(element).attr('data-type'), dirlisting:$(element).attr('data-dirlisting') |