diff --git a/files/ajax/rename.php b/files/ajax/rename.php index 65763fceb94db16ecd167d1d28fc22225c93ee16..7554aa0dd623eca0c27e1e832efddf380804f444 100644 --- a/files/ajax/rename.php +++ b/files/ajax/rename.php @@ -1,7 +1,7 @@ <?php // Init owncloud -require_once('../lib/base.php'); +require_once('../../lib/base.php'); // We send json data header( "Content-Type: application/jsonrequest" ); diff --git a/files/js/fileactions.js b/files/js/fileactions.js index 32029c94daa68e4fbb2609bcb06d00f2856dd968..1eb885f06decfe105289b5bf77dad04dc36b96c1 100644 --- a/files/js/fileactions.js +++ b/files/js/fileactions.js @@ -126,8 +126,7 @@ FileActions.register('all','Delete',OC.imagePath('core','actions/delete'),functi }); FileActions.register('all','Rename',OC.imagePath('core','actions/rename'),function(filename){ - //todo - alert('Implement Me!!'); + FileList.rename(filename); }); FileActions.setDefault('all','Download'); diff --git a/files/js/filelist.js b/files/js/filelist.js index e84a9acb535b278ff5ea98f5ac53c1c2ea8e8c4c..fb96437f0a7318267902156f21e937ab28d5fffa 100644 --- a/files/js/filelist.js +++ b/files/js/filelist.js @@ -73,5 +73,38 @@ FileList={ }, isLoading:function(name){ return $('tr[data-file="'+name+'"]').data('loading'); + }, + rename:function(name){ + var tr=$('tr[data-file="'+name+'"]'); + var td=tr.children('td.filename'); + var input=$('<input value='+name+' class="filename"></input>'); + var button=$('<input type="sumit" value="Ok"></input>'); + var form=$('<form action="#"></form>') + form.append(input); + form.append(button); + td.children('a.name').text(''); + td.children('a.name').append(form) + input.focus(); + td.children('a.name').append(button); + form.submit(function(event){ + var newname=input.val(); + event.stopPropagation(); + event.preventDefault(); + tr.attr('data-file',newname); + td.children('a.name').empty(); + td.children('a.name').text(newname); + $.ajax({ + url: 'ajax/rename.php', + data: "dir="+$('#dir').val()+"&newname="+encodeURIComponent(newname)+"&file="+encodeURIComponent(name) + }); + }); + form.click(function(event){ + event.stopPropagation(); + event.preventDefault(); + }); + input.blur(function(){ + td.children('a.name').empty(); + td.children('a.name').text(name); + }); } }