ef59c69dc8
Legacy file actions are registered by legacy apps through window.FileActions.register(). These actions can only be used by the main file list ("all files") because legacy apps can only deal with a single list / container. New file actions of compatible apps must be registered through OCA.Files.fileActions. These will be used for other lists like the sharing overview. Fixed versions and sharing actions to use OCA.Files.fileActions, which makes them available in the sharing overview list.
82 lines
2.4 KiB
JavaScript
82 lines
2.4 KiB
JavaScript
/*
|
|
* Copyright (c) 2014
|
|
*
|
|
* This file is licensed under the Affero General Public License version 3
|
|
* or later.
|
|
*
|
|
* See the COPYING-README file.
|
|
*
|
|
*/
|
|
|
|
OCA.Trashbin = {};
|
|
OCA.Trashbin.App = {
|
|
_initialized: false,
|
|
|
|
initialize: function($el) {
|
|
if (this._initialized) {
|
|
return;
|
|
}
|
|
this._initialized = true;
|
|
this.fileList = new OCA.Trashbin.FileList(
|
|
$('#app-content-trashbin'), {
|
|
scrollContainer: $('#app-content'),
|
|
fileActions: this._createFileActions()
|
|
}
|
|
);
|
|
},
|
|
|
|
_createFileActions: function() {
|
|
var fileActions = new OCA.Files.FileActions();
|
|
fileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename, context) {
|
|
var dir = context.fileList.getCurrentDirectory();
|
|
if (dir !== '/') {
|
|
dir = dir + '/';
|
|
}
|
|
context.fileList.changeDirectory(dir + filename);
|
|
});
|
|
|
|
fileActions.setDefault('dir', 'Open');
|
|
|
|
fileActions.register('all', 'Restore', OC.PERMISSION_READ, OC.imagePath('core', 'actions/history'), function(filename, context) {
|
|
var fileList = context.fileList;
|
|
var tr = fileList.findFileEl(filename);
|
|
var deleteAction = tr.children("td.date").children(".action.delete");
|
|
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
|
fileList.disableActions();
|
|
$.post(OC.filePath('files_trashbin', 'ajax', 'undelete.php'), {
|
|
files: JSON.stringify([filename]),
|
|
dir: fileList.getCurrentDirectory()
|
|
},
|
|
_.bind(fileList._removeCallback, fileList)
|
|
);
|
|
}, t('files_trashbin', 'Restore'));
|
|
|
|
fileActions.register('all', 'Delete', OC.PERMISSION_READ, function() {
|
|
return OC.imagePath('core', 'actions/delete');
|
|
}, function(filename, context) {
|
|
var fileList = context.fileList;
|
|
$('.tipsy').remove();
|
|
var tr = fileList.findFileEl(filename);
|
|
var deleteAction = tr.children("td.date").children(".action.delete");
|
|
deleteAction.removeClass('delete-icon').addClass('progress-icon');
|
|
fileList.disableActions();
|
|
$.post(OC.filePath('files_trashbin', 'ajax', 'delete.php'), {
|
|
files: JSON.stringify([filename]),
|
|
dir: fileList.getCurrentDirectory()
|
|
},
|
|
_.bind(fileList._removeCallback, fileList)
|
|
);
|
|
});
|
|
return fileActions;
|
|
}
|
|
};
|
|
|
|
$(document).ready(function() {
|
|
$('#app-content-trashbin').one('show', function() {
|
|
var App = OCA.Trashbin.App;
|
|
App.initialize($('#app-content-trashbin'));
|
|
// force breadcrumb init
|
|
// App.fileList.changeDirectory(App.fileList.getCurrentDirectory(), false, true);
|
|
});
|
|
});
|
|
|