code style
This commit is contained in:
parent
20e0432de8
commit
d9ef6da2e4
1 changed files with 101 additions and 93 deletions
|
@ -1,96 +1,98 @@
|
||||||
var FileActions={
|
var FileActions = {
|
||||||
actions:{},
|
actions: {},
|
||||||
defaults:{},
|
defaults: {},
|
||||||
icons:{},
|
icons: {},
|
||||||
currentFile:null,
|
currentFile: null,
|
||||||
register:function(mime,name,permissions,icon,action){
|
register: function (mime, name, permissions, icon, action) {
|
||||||
if(!FileActions.actions[mime]){
|
if (!FileActions.actions[mime]) {
|
||||||
FileActions.actions[mime]={};
|
FileActions.actions[mime] = {};
|
||||||
}
|
}
|
||||||
if (!FileActions.actions[mime][name]) {
|
if (!FileActions.actions[mime][name]) {
|
||||||
FileActions.actions[mime][name] = {};
|
FileActions.actions[mime][name] = {};
|
||||||
}
|
}
|
||||||
FileActions.actions[mime][name]['action'] = action;
|
FileActions.actions[mime][name]['action'] = action;
|
||||||
FileActions.actions[mime][name]['permissions'] = permissions;
|
FileActions.actions[mime][name]['permissions'] = permissions;
|
||||||
FileActions.icons[name]=icon;
|
FileActions.icons[name] = icon;
|
||||||
},
|
},
|
||||||
setDefault:function(mime,name){
|
setDefault: function (mime, name) {
|
||||||
FileActions.defaults[mime]=name;
|
FileActions.defaults[mime] = name;
|
||||||
},
|
},
|
||||||
get:function(mime,type,permissions){
|
get: function (mime, type, permissions) {
|
||||||
var actions={};
|
var actions = {};
|
||||||
if(FileActions.actions.all){
|
if (FileActions.actions.all) {
|
||||||
actions=$.extend( actions, FileActions.actions.all );
|
actions = $.extend(actions, FileActions.actions.all);
|
||||||
}
|
}
|
||||||
if(mime){
|
if (mime) {
|
||||||
if(FileActions.actions[mime]){
|
if (FileActions.actions[mime]) {
|
||||||
actions=$.extend( actions, FileActions.actions[mime] );
|
actions = $.extend(actions, FileActions.actions[mime]);
|
||||||
}
|
}
|
||||||
var mimePart=mime.substr(0,mime.indexOf('/'));
|
var mimePart = mime.substr(0, mime.indexOf('/'));
|
||||||
if(FileActions.actions[mimePart]){
|
if (FileActions.actions[mimePart]) {
|
||||||
actions=$.extend( actions, FileActions.actions[mimePart] );
|
actions = $.extend(actions, FileActions.actions[mimePart]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(type){//type is 'dir' or 'file'
|
if (type) {//type is 'dir' or 'file'
|
||||||
if(FileActions.actions[type]){
|
if (FileActions.actions[type]) {
|
||||||
actions=$.extend( actions, FileActions.actions[type] );
|
actions = $.extend(actions, FileActions.actions[type]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var filteredActions = {};
|
var filteredActions = {};
|
||||||
$.each(actions, function(name, action) {
|
$.each(actions, function (name, action) {
|
||||||
if (action.permissions & permissions) {
|
if (action.permissions & permissions) {
|
||||||
filteredActions[name] = action.action;
|
filteredActions[name] = action.action;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return filteredActions;
|
return filteredActions;
|
||||||
},
|
},
|
||||||
getDefault:function(mime,type,permissions){
|
getDefault: function (mime, type, permissions) {
|
||||||
if(mime){
|
if (mime) {
|
||||||
var mimePart=mime.substr(0,mime.indexOf('/'));
|
var mimePart = mime.substr(0, mime.indexOf('/'));
|
||||||
}
|
}
|
||||||
var name=false;
|
var name = false;
|
||||||
if(mime && FileActions.defaults[mime]){
|
if (mime && FileActions.defaults[mime]) {
|
||||||
name=FileActions.defaults[mime];
|
name = FileActions.defaults[mime];
|
||||||
}else if(mime && FileActions.defaults[mimePart]){
|
} else if (mime && FileActions.defaults[mimePart]) {
|
||||||
name=FileActions.defaults[mimePart];
|
name = FileActions.defaults[mimePart];
|
||||||
}else if(type && FileActions.defaults[type]){
|
} else if (type && FileActions.defaults[type]) {
|
||||||
name=FileActions.defaults[type];
|
name = FileActions.defaults[type];
|
||||||
}else{
|
} else {
|
||||||
name=FileActions.defaults.all;
|
name = FileActions.defaults.all;
|
||||||
}
|
}
|
||||||
var actions=this.get(mime,type,permissions);
|
var actions = this.get(mime, type, permissions);
|
||||||
return actions[name];
|
return actions[name];
|
||||||
},
|
},
|
||||||
display:function(parent){
|
display: function (parent) {
|
||||||
FileActions.currentFile=parent;
|
FileActions.currentFile = parent;
|
||||||
$('#fileList span.fileactions, #fileList td.date a.action').remove();
|
$('#fileList span.fileactions, #fileList td.date a.action').remove();
|
||||||
var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType(), FileActions.getCurrentPermissions());
|
var actions = FileActions.get(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions());
|
||||||
var file=FileActions.getCurrentFile();
|
var file = FileActions.getCurrentFile();
|
||||||
if($('tr').filterAttr('data-file',file).data('renaming')){
|
if ($('tr').filterAttr('data-file', file).data('renaming')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
parent.children('a.name').append('<span class="fileactions" />');
|
parent.children('a.name').append('<span class="fileactions" />');
|
||||||
var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType(), FileActions.getCurrentPermissions());
|
var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions());
|
||||||
for(name in actions){
|
for (name in actions) {
|
||||||
// NOTE: Temporary fix to prevent rename action in root of Shared directory
|
// NOTE: Temporary fix to prevent rename action in root of Shared directory
|
||||||
if (name == 'Rename' && $('#dir').val() == '/Shared') {
|
if (name == 'Rename' && $('#dir').val() == '/Shared') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if((name=='Download' || actions[name]!=defaultAction) && name!='Delete'){
|
if ((name == 'Download' || actions[name] != defaultAction) && name != 'Delete') {
|
||||||
var img=FileActions.icons[name];
|
var img = FileActions.icons[name];
|
||||||
if(img.call){
|
if (img.call) {
|
||||||
img=img(file);
|
img = img(file);
|
||||||
}
|
}
|
||||||
var html='<a href="#" class="action" style="display:none">';
|
var html = '<a href="#" class="action" style="display:none">';
|
||||||
if(img) { html+='<img src="'+img+'"/> '; }
|
if (img) {
|
||||||
html += t('files', name) +'</a>';
|
html += '<img src="' + img + '"/> ';
|
||||||
var element=$(html);
|
}
|
||||||
element.data('action',name);
|
html += t('files', name) + '</a>';
|
||||||
element.click(function(event){
|
var element = $(html);
|
||||||
|
element.data('action', name);
|
||||||
|
element.click(function (event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
var action=actions[$(this).data('action')];
|
var action = actions[$(this).data('action')];
|
||||||
var currentFile=FileActions.getCurrentFile();
|
var currentFile = FileActions.getCurrentFile();
|
||||||
FileActions.hide();
|
FileActions.hide();
|
||||||
action(currentFile);
|
action(currentFile);
|
||||||
});
|
});
|
||||||
|
@ -98,94 +100,100 @@ var FileActions={
|
||||||
parent.find('a.name>span.fileactions').append(element);
|
parent.find('a.name>span.fileactions').append(element);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(actions['Delete']){
|
if (actions['Delete']) {
|
||||||
var img=FileActions.icons['Delete'];
|
var img = FileActions.icons['Delete'];
|
||||||
if(img.call){
|
if (img.call) {
|
||||||
img=img(file);
|
img = img(file);
|
||||||
}
|
}
|
||||||
// NOTE: Temporary fix to allow unsharing of files in root of Shared folder
|
// NOTE: Temporary fix to allow unsharing of files in root of Shared folder
|
||||||
if ($('#dir').val() == '/Shared') {
|
if ($('#dir').val() == '/Shared') {
|
||||||
var html = '<a href="#" original-title="' + t('files', 'Unshare') + '" class="action delete" style="display:none" />';
|
var html = '<a href="#" original-title="' + t('files', 'Unshare') + '" class="action delete" style="display:none" />';
|
||||||
} else {
|
} else {
|
||||||
var html='<a href="#" original-title="' + t('files', 'Delete') + '" class="action delete" style="display:none" />';
|
var html = '<a href="#" original-title="' + t('files', 'Delete') + '" class="action delete" style="display:none" />';
|
||||||
}
|
}
|
||||||
var element=$(html);
|
var element = $(html);
|
||||||
if(img){
|
if (img) {
|
||||||
element.append($('<img src="'+img+'"/>'));
|
element.append($('<img src="' + img + '"/>'));
|
||||||
}
|
}
|
||||||
element.data('action','Delete');
|
element.data('action', 'Delete');
|
||||||
element.click(function(event){
|
element.click(function (event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
var action=actions[$(this).data('action')];
|
var action = actions[$(this).data('action')];
|
||||||
var currentFile=FileActions.getCurrentFile();
|
var currentFile = FileActions.getCurrentFile();
|
||||||
FileActions.hide();
|
FileActions.hide();
|
||||||
action(currentFile);
|
action(currentFile);
|
||||||
});
|
});
|
||||||
element.hide();
|
element.hide();
|
||||||
parent.parent().children().last().append(element);
|
parent.parent().children().last().append(element);
|
||||||
}
|
}
|
||||||
$('#fileList .action').css('-o-transition-property','none');//temporarly disable
|
$('#fileList .action').css('-o-transition-property', 'none');//temporarly disable
|
||||||
$('#fileList .action').fadeIn(200,function(){
|
$('#fileList .action').fadeIn(200, function () {
|
||||||
$('#fileList .action').css('-o-transition-property','opacity');
|
$('#fileList .action').css('-o-transition-property', 'opacity');
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
hide:function(){
|
hide: function () {
|
||||||
$('#fileList span.fileactions, #fileList td.date a.action').fadeOut(200,function(){
|
$('#fileList span.fileactions, #fileList td.date a.action').fadeOut(200, function () {
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getCurrentFile:function(){
|
getCurrentFile: function () {
|
||||||
return FileActions.currentFile.parent().attr('data-file');
|
return FileActions.currentFile.parent().attr('data-file');
|
||||||
},
|
},
|
||||||
getCurrentMimeType:function(){
|
getCurrentMimeType: function () {
|
||||||
return FileActions.currentFile.parent().attr('data-mime');
|
return FileActions.currentFile.parent().attr('data-mime');
|
||||||
},
|
},
|
||||||
getCurrentType:function(){
|
getCurrentType: function () {
|
||||||
return FileActions.currentFile.parent().attr('data-type');
|
return FileActions.currentFile.parent().attr('data-type');
|
||||||
},
|
},
|
||||||
getCurrentPermissions:function() {
|
getCurrentPermissions: function () {
|
||||||
return FileActions.currentFile.parent().data('permissions');
|
return FileActions.currentFile.parent().data('permissions');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$(document).ready(function(){
|
$(document).ready(function () {
|
||||||
if($('#allowZipDownload').val() == 1){
|
if ($('#allowZipDownload').val() == 1) {
|
||||||
var downloadScope = 'all';
|
var downloadScope = 'all';
|
||||||
} else {
|
} else {
|
||||||
var downloadScope = 'file';
|
var downloadScope = 'file';
|
||||||
}
|
}
|
||||||
FileActions.register(downloadScope,'Download', OC.PERMISSION_READ, function(){return OC.imagePath('core','actions/download');},function(filename){
|
FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () {
|
||||||
window.location=OC.filePath('files', 'ajax', 'download.php') + '?files='+encodeURIComponent(filename)+'&dir='+encodeURIComponent($('#dir').val());
|
return OC.imagePath('core', 'actions/download');
|
||||||
|
}, function (filename) {
|
||||||
|
window.location = OC.filePath('files', 'ajax', 'download.php') + '?files=' + encodeURIComponent(filename) + '&dir=' + encodeURIComponent($('#dir').val());
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
FileActions.register('all','Delete', OC.PERMISSION_DELETE, function(){return OC.imagePath('core','actions/delete');},function(filename){
|
FileActions.register('all', 'Delete', OC.PERMISSION_DELETE, function () {
|
||||||
if(Files.cancelUpload(filename)) {
|
return OC.imagePath('core', 'actions/delete');
|
||||||
if(filename.substr){
|
}, function (filename) {
|
||||||
filename=[filename];
|
if (Files.cancelUpload(filename)) {
|
||||||
|
if (filename.substr) {
|
||||||
|
filename = [filename];
|
||||||
}
|
}
|
||||||
$.each(filename,function(index,file){
|
$.each(filename, function (index, file) {
|
||||||
var filename = $('tr').filterAttr('data-file',file);
|
var filename = $('tr').filterAttr('data-file', file);
|
||||||
filename.hide();
|
filename.hide();
|
||||||
filename.find('input[type="checkbox"]').removeAttr('checked');
|
filename.find('input[type="checkbox"]').removeAttr('checked');
|
||||||
filename.removeClass('selected');
|
filename.removeClass('selected');
|
||||||
});
|
});
|
||||||
procesSelection();
|
procesSelection();
|
||||||
}else{
|
} else {
|
||||||
FileList.do_delete(filename);
|
FileList.do_delete(filename);
|
||||||
}
|
}
|
||||||
$('.tipsy').remove();
|
$('.tipsy').remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
// t('files', 'Rename')
|
// t('files', 'Rename')
|
||||||
FileActions.register('all','Rename', OC.PERMISSION_UPDATE, function(){return OC.imagePath('core','actions/rename');},function(filename){
|
FileActions.register('all', 'Rename', OC.PERMISSION_UPDATE, function () {
|
||||||
|
return OC.imagePath('core', 'actions/rename');
|
||||||
|
}, function (filename) {
|
||||||
FileList.rename(filename);
|
FileList.rename(filename);
|
||||||
});
|
});
|
||||||
|
|
||||||
FileActions.register('dir','Open', OC.PERMISSION_READ, '', function(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);
|
window.location = OC.linkTo('files', 'index.php') + '?dir=' + encodeURIComponent($('#dir').val()).replace(/%2F/g, '/') + '/' + encodeURIComponent(filename);
|
||||||
});
|
});
|
||||||
|
|
||||||
FileActions.setDefault('dir','Open');
|
FileActions.setDefault('dir', 'Open');
|
||||||
|
|
Loading…
Reference in a new issue