aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/css/files.css5
-rw-r--r--apps/files/index.php3
-rw-r--r--apps/files/js/fileactions.js17
-rw-r--r--apps/files/js/filelist.js80
-rw-r--r--apps/files/js/files.js5
-rw-r--r--apps/files/templates/index.php6
6 files changed, 54 insertions, 62 deletions
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index 748bc2e63a1..ced2006ec06 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -23,7 +23,9 @@
#new>ul>li>p { cursor:pointer; }
#new>ul>li>form>input { padding:0.3em; margin:-0.3em; }
-#upload {
+#trash { height:17px; margin:0 0 0 1em; z-index:1010; position:absolute; right:13.5em; }
+
+#upload {
height:27px; padding:0; margin-left:0.2em; overflow:hidden;
}
#upload a {
@@ -109,6 +111,7 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
}
#fileList .fileactions a.action img { position:relative; top:.2em; }
#fileList a.action { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; }
+#fileList img.move2trash { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; float:right; }
a.action.delete { float:right; }
a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
.selectedActions { display:none; float:right; }
diff --git a/apps/files/index.php b/apps/files/index.php
index d2cd76a7106..7e767cc8a4f 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -131,9 +131,10 @@ if ($needUpgrade) {
$tmpl->assign('isCreatable', \OC\Files\Filesystem::isCreatable($dir . '/'));
$tmpl->assign('permissions', $permissions);
$tmpl->assign('files', $files);
+ $tmpl->assign('trash', \OCP\App::isEnabled('files_trashbin'));
$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize);
$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
$tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']);
$tmpl->printPage();
-}
+} \ No newline at end of file
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index f5ee363a4c8..c30f1bcddd8 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -147,15 +147,19 @@ $(document).ready(function () {
} else {
var downloadScope = 'file';
}
- FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () {
- return OC.imagePath('core', 'actions/download');
- }, function (filename) {
- window.location = OC.filePath('files', 'ajax', 'download.php') + '?files=' + encodeURIComponent(filename) + '&dir=' + encodeURIComponent($('#dir').val());
- });
-
+
+ if (typeof disableDownloadActions == 'undefined' || !disableDownloadActions) {
+ FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () {
+ return OC.imagePath('core', 'actions/download');
+ }, function (filename) {
+ window.location = OC.filePath('files', 'ajax', 'download.php') + '?files=' + encodeURIComponent(filename) + '&dir=' + encodeURIComponent($('#dir').val());
+ });
+ }
+
$('#fileList tr').each(function(){
FileActions.display($(this).children('td.filename'));
});
+
});
FileActions.register('all', 'Delete', OC.PERMISSION_DELETE, function () {
@@ -185,6 +189,7 @@ FileActions.register('all', 'Rename', OC.PERMISSION_UPDATE, function () {
FileList.rename(filename);
});
+
FileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename) {
window.location = OC.linkTo('files', 'index.php') + '?dir=' + encodeURIComponent($('#dir').val()).replace(/%2F/g, '/') + '/' + encodeURIComponent(filename);
});
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 04b7d92e2c3..d0810f70145 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -271,65 +271,39 @@ var FileList={
}
},
do_delete:function(files){
+ if(files.substr){
+ files=[files];
+ }
+ for (var i in files) {
+ var deleteAction = $('tr').filterAttr('data-file',files[i]).children("td.date").children(".action.delete");
+ var oldHTML = deleteAction[0].outerHTML;
+ var newHTML = '<img class="move2trash" data-action="Delete" title="'+t('files', 'perform delete operation')+'" src="'+ OC.imagePath('core', 'loading.gif') +'"></a>';
+ deleteAction[0].outerHTML = newHTML;
+ }
// Finish any existing actions
if (FileList.lastAction) {
FileList.lastAction();
}
- FileList.prepareDeletion(files);
-
- if (!FileList.useUndo) {
- FileList.lastAction();
- } else {
- // NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
- if ($('#dir').val() == '/Shared') {
- OC.Notification.showHtml(t('files', 'unshared {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
- } else {
- OC.Notification.showHtml(t('files', 'deleted {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
- }
- }
- },
- finishDelete:function(ready,sync){
- if(!FileList.deleteCanceled && FileList.deleteFiles){
- var fileNames=JSON.stringify(FileList.deleteFiles);
- $.ajax({
- url: OC.filePath('files', 'ajax', 'delete.php'),
- async:!sync,
- type:'post',
- data: {dir:$('#dir').val(),files:fileNames},
- complete: function(data){
- boolOperationFinished(data, function(){
- OC.Notification.hide();
- $.each(FileList.deleteFiles,function(index,file){
- FileList.remove(file);
+ var fileNames = JSON.stringify(files);
+ $.post(OC.filePath('files', 'ajax', 'delete.php'),
+ {dir:$('#dir').val(),files:fileNames},
+ function(result){
+ if (result.status == 'success') {
+ $.each(files,function(index,file){
+ var files = $('tr').filterAttr('data-file',file);
+ files.hide();
+ files.find('input[type="checkbox"]').removeAttr('checked');
+ files.removeClass('selected');
});
- FileList.deleteCanceled=true;
- FileList.deleteFiles=null;
- FileList.lastAction = null;
- if(ready){
- ready();
- }
- });
- }
- });
- }
- },
- prepareDeletion:function(files){
- if(files.substr){
- files=[files];
- }
- $.each(files,function(index,file){
- var files = $('tr').filterAttr('data-file',file);
- files.hide();
- files.find('input[type="checkbox"]').removeAttr('checked');
- files.removeClass('selected');
- });
- procesSelection();
- FileList.deleteCanceled=false;
- FileList.deleteFiles=files;
- FileList.lastAction = function() {
- FileList.finishDelete(null, true);
- };
+ procesSelection();
+ } else {
+ $.each(files,function(index,file) {
+ var deleteAction = $('tr').filterAttr('data-file',file).children("td.date").children(".move2trash");
+ deleteAction[0].outerHTML = oldHTML;
+ });
+ }
+ });
}
};
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 8e0399b0e0c..3d09d6aa2b6 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -114,6 +114,11 @@ $(document).ready(function() {
$(this).parent().children('#file_upload_start').trigger('click');
return false;
});
+
+ // Show trash bin
+ $('#trash a').live('click', function() {
+ window.location=OC.filePath('files_trashbin', '', 'index.php');
+ });
var lastChecked;
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index b66b523ae38..2d4ed9ab2d9 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -35,6 +35,11 @@
<a href="#" class="svg" onclick="return false;"></a>
</form>
</div>
+ <?php if ($_['trash'] ): ?>
+ <div id="trash" class="button">
+ <a><?php echo $l->t('Trash');?></a>
+ </div>
+ <?php endif; ?>
<div id="uploadprogresswrapper">
<div id="uploadprogressbar"></div>
<input type="button" class="stop" style="display:none"
@@ -42,7 +47,6 @@
onclick="javascript:Files.cancelUploads();"
/>
</div>
-
</div>
<div id="file_action_panel"></div>
<?php else:?>