commit
d7abd44dea
@ -1,191 +1,189 @@ |
|||||||
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(); |
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">'; |
||||||
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) { |
||||||
|
FileActions.currentFile = $(this).parent().parent().parent(); |
||||||
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(); |
|
||||||
action(currentFile); |
action(currentFile); |
||||||
}); |
}); |
||||||
element.hide(); |
|
||||||
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" />'; |
||||||
} 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" />'; |
||||||
} |
} |
||||||
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(); |
|
||||||
action(currentFile); |
action(currentFile); |
||||||
}); |
}); |
||||||
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').fadeIn(200,function(){ |
|
||||||
$('#fileList .action').css('-o-transition-property','opacity'); |
|
||||||
}); |
|
||||||
return false; |
|
||||||
}, |
|
||||||
hide:function(){ |
|
||||||
$('#fileList span.fileactions, #fileList td.date a.action').fadeOut(200,function(){ |
|
||||||
$(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()); |
||||||
|
}); |
||||||
|
|
||||||
|
$('#fileList tr').each(function(){ |
||||||
|
FileActions.display($(this).children('td.filename')); |
||||||
}); |
}); |
||||||
}); |
}); |
||||||
|
|
||||||
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'); |
||||||
|
@ -1,6 +1,13 @@ |
|||||||
|
<?php if(count($_["breadcrumb"])):?> |
||||||
|
<div class="crumb"> |
||||||
|
<a href="<?php echo $_['baseURL'].urlencode($crumb['dir']); ?>">
|
||||||
|
<img src="<?php echo OCP\image_path('core','places/home.svg');?>" />
|
||||||
|
</a> |
||||||
|
</div> |
||||||
|
<?php endif;?> |
||||||
<?php for($i=0; $i<count($_["breadcrumb"]); $i++): |
<?php for($i=0; $i<count($_["breadcrumb"]); $i++): |
||||||
$crumb = $_["breadcrumb"][$i]; ?> |
$crumb = $_["breadcrumb"][$i]; ?> |
||||||
<div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg" data-dir='<?php echo urlencode($crumb["dir"]);?>' style='background-image:url("<?php echo OCP\image_path('core','breadcrumb.png');?>")'>
|
<div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg" data-dir='<?php echo urlencode($crumb["dir"]);?>'>
|
||||||
<a href="<?php echo $_['baseURL'].urlencode($crumb["dir"]); ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
|
<a href="<?php echo $_['baseURL'].urlencode($crumb['dir']); ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
|
||||||
</div> |
</div> |
||||||
<?php endfor;?> |
<?php endfor;?> |
||||||
|
After Width: | Height: | Size: 884 B |
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 884 B After Width: | Height: | Size: 364 B |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 55 KiB |
Loading…
Reference in new issue