diff options
author | Georg Ehrke <dev@georgswebsite.de> | 2012-04-18 17:27:34 +0200 |
---|---|---|
committer | Georg Ehrke <dev@georgswebsite.de> | 2012-04-18 17:27:34 +0200 |
commit | 45de7ad221f9e505abdabcc5084dd12c80851469 (patch) | |
tree | 9afe2994fe01d35cf7aa2e16389c04bb3e298faf /files/js | |
parent | dfc92675e0d76ad9550a274b712e084e1738831c (diff) | |
download | nextcloud-server-45de7ad221f9e505abdabcc5084dd12c80851469.tar.gz nextcloud-server-45de7ad221f9e505abdabcc5084dd12c80851469.zip |
move files to app folder
Diffstat (limited to 'files/js')
-rw-r--r-- | files/js/admin.js | 23 | ||||
-rw-r--r-- | files/js/fileactions.js | 154 | ||||
-rw-r--r-- | files/js/filelist.js | 232 | ||||
-rw-r--r-- | files/js/files.js | 591 | ||||
-rw-r--r-- | files/js/timezone.js | 12 |
5 files changed, 0 insertions, 1012 deletions
diff --git a/files/js/admin.js b/files/js/admin.js deleted file mode 100644 index bfa96670635..00000000000 --- a/files/js/admin.js +++ /dev/null @@ -1,23 +0,0 @@ -function switchPublicFolder() -{ - var publicEnable = $('#publicEnable').is(':checked'); - var sharingaimGroup = $('input:radio[name=sharingaim]'); //find all radiobuttons of that group - $.each(sharingaimGroup, function(index, sharingaimItem) { - sharingaimItem.disabled = !publicEnable; //set all buttons to the correct state - }); -} - -$(document).ready(function(){ - switchPublicFolder(); // Execute the function after loading DOM tree - $('#publicEnable').click(function(){ - switchPublicFolder(); // To get rid of onClick() - }); - - $('#allowZipDownload').bind('change', function() { - if($('#allowZipDownload').attr('checked')) { - $('#maxZipInputSize').removeAttr('disabled'); - } else { - $('#maxZipInputSize').attr('disabled', 'disabled'); - } - }); -}); diff --git a/files/js/fileactions.js b/files/js/fileactions.js deleted file mode 100644 index 80e918a455c..00000000000 --- a/files/js/fileactions.js +++ /dev/null @@ -1,154 +0,0 @@ -FileActions={ - actions:{}, - defaults:{}, - icons:{}, - currentFile:null, - register:function(mime,name,icon,action){ - if(!FileActions.actions[mime]){ - FileActions.actions[mime]={}; - } - FileActions.actions[mime][name]=action; - FileActions.icons[name]=icon; - }, - setDefault:function(mime,name){ - FileActions.defaults[mime]=name; - }, - get:function(mime,type){ - var actions={}; - if(FileActions.actions.all){ - actions=$.extend( actions, FileActions.actions.all ) - } - if(mime){ - if(FileActions.actions[mime]){ - actions=$.extend( actions, FileActions.actions[mime] ) - } - var mimePart=mime.substr(0,mime.indexOf('/')); - if(FileActions.actions[mimePart]){ - actions=$.extend( actions, FileActions.actions[mimePart] ) - } - } - if(type){//type is 'dir' or 'file' - if(FileActions.actions[type]){ - actions=$.extend( actions, FileActions.actions[type] ) - } - } - return actions; - }, - getDefault:function(mime,type){ - if(mime){ - var mimePart=mime.substr(0,mime.indexOf('/')); - } - var name=false; - if(mime && FileActions.defaults[mime]){ - name=FileActions.defaults[mime]; - }else if(mime && FileActions.defaults[mimePart]){ - name=FileActions.defaults[mimePart]; - }else if(type && FileActions.defaults[type]){ - name=FileActions.defaults[type]; - }else{ - name=FileActions.defaults.all; - } - var actions=this.get(mime,type); - return actions[name]; - }, - display:function(parent){ - FileActions.currentFile=parent; - $('#fileList span.fileactions, #fileList td.date a.action').remove(); - var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType()); - var file=FileActions.getCurrentFile(); - if($('tr').filterAttr('data-file',file).data('renaming')){ - return; - } - parent.children('a.name').append('<span class="fileactions" />'); - var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType()); - for(name in actions){ - if((name=='Download' || actions[name]!=defaultAction) && name!='Delete'){ - var img=FileActions.icons[name]; - if(img.call){ - img=img(file); - } - var html='<a href="#" class="action" style="display:none">'; - if(img) { html+='<img src="'+img+'"/> '; } - html += name+'</a>'; - var element=$(html); - element.data('action',name); - element.click(function(event){ - event.stopPropagation(); - event.preventDefault(); - var action=actions[$(this).data('action')]; - var currentFile=FileActions.getCurrentFile(); - FileActions.hide(); - action(currentFile); - }); - element.hide(); - parent.find('a.name>span.fileactions').append(element); - } - } - if(actions['Delete']){ - var img=FileActions.icons['Delete']; - if(img.call){ - img=img(file); - } - var html='<a href="#" original-title="Delete" class="action delete" style="display:none" />'; - var element=$(html); - if(img){ - element.append($('<img src="'+img+'"/>')); - } - element.data('action','Delete'); - element.click(function(event){ - event.stopPropagation(); - event.preventDefault(); - var action=actions[$(this).data('action')]; - var currentFile=FileActions.getCurrentFile(); - FileActions.hide(); - action(currentFile); - }); - element.hide(); - 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(){ - return FileActions.currentFile.parent().attr('data-file'); - }, - getCurrentMimeType:function(){ - return FileActions.currentFile.parent().attr('data-mime'); - }, - getCurrentType:function(){ - return FileActions.currentFile.parent().attr('data-type'); - } -} - -$(document).ready(function(){ - if($('#allowZipDownload').val() == 1){ - var downloadScope = 'all'; - } else { - var downloadScope = 'file'; - } - FileActions.register(downloadScope,'Download',function(){return OC.imagePath('core','actions/download')},function(filename){ - window.location='ajax/download.php?files='+encodeURIComponent(filename)+'&dir='+encodeURIComponent($('#dir').val()); - }); -}); - -FileActions.register('all','Delete',function(){return OC.imagePath('core','actions/delete')},function(filename){ - FileList.do_delete(filename); -}); - -FileActions.register('all','Rename',function(){return OC.imagePath('core','actions/rename')},function(filename){ - FileList.rename(filename); -}); - -FileActions.register('dir','Open','',function(filename){ - window.location='index.php?dir='+encodeURIComponent($('#dir').val()).replace(/%2F/g, '/')+'/'+encodeURIComponent(filename); -}); - -FileActions.setDefault('dir','Open'); diff --git a/files/js/filelist.js b/files/js/filelist.js deleted file mode 100644 index 5bd85fc29ef..00000000000 --- a/files/js/filelist.js +++ /dev/null @@ -1,232 +0,0 @@ -FileList={ - useUndo:true, - update:function(fileListHtml) { - $('#fileList').empty().html(fileListHtml); - }, - addFile:function(name,size,lastModified,loading){ - var img=(loading)?OC.imagePath('core', 'loading.gif'):OC.imagePath('core', 'filetypes/file.png'); - var html='<tr data-type="file" data-size="'+size+'">'; - if(name.indexOf('.')!=-1){ - var basename=name.substr(0,name.lastIndexOf('.')); - var extension=name.substr(name.lastIndexOf('.')); - }else{ - var basename=name; - var extension=false; - } - html+='<td class="filename" style="background-image:url('+img+')"><input type="checkbox" />'; - html+='<a class="name" href="download.php?file='+$('#dir').val()+'/'+name+'"><span class="nametext">'+basename - if(extension){ - html+='<span class="extension">'+extension+'</span>'; - } - html+='</span></a></td>'; - if(size!='Pending'){ - simpleSize=simpleFileSize(size); - }else{ - simpleSize='Pending'; - } - sizeColor = Math.round(200-size/(1024*1024)*2); - lastModifiedTime=Math.round(lastModified.getTime() / 1000); - modifiedColor=Math.round((Math.round((new Date()).getTime() / 1000)-lastModifiedTime)/60/60/24*14); - html+='<td class="filesize" title="'+humanFileSize(size)+'" style="color:rgb('+sizeColor+','+sizeColor+','+sizeColor+')">'+simpleSize+'</td>'; - html+='<td class="date"><span class="modified" title="'+formatDate(lastModified)+'" style="color:rgb('+modifiedColor+','+modifiedColor+','+modifiedColor+')">'+relative_modified_date(lastModified.getTime() / 1000)+'</span></td>'; - html+='</tr>'; - FileList.insertElement(name,'file',$(html).attr('data-file',name)); - if(loading){ - $('tr').filterAttr('data-file',name).data('loading',true); - }else{ - $('tr').filterAttr('data-file',name).find('td.filename').draggable(dragOptions); - } - }, - addDir:function(name,size,lastModified){ - html = $('<tr></tr>').attr({ "data-type": "dir", "data-size": size, "data-file": name}); - td = $('<td></td>').attr({"class": "filename", "style": 'background-image:url('+OC.imagePath('core', 'filetypes/folder.png')+')' }); - td.append('<input type="checkbox" />'); - var link_elem = $('<a></a>').attr({ "class": "name", "href": "index.php?dir="+ encodeURIComponent($('#dir').val()+'/'+name).replace(/%2F/g, '/') }); - link_elem.append($('<span></span>').addClass('nametext').text(name)); - td.append(link_elem); - html.append(td); - if(size!='Pending'){ - simpleSize=simpleFileSize(size); - }else{ - simpleSize='Pending'; - } - sizeColor = Math.round(200-Math.pow((size/(1024*1024)),2)); - lastModifiedTime=Math.round(lastModified.getTime() / 1000); - modifiedColor=Math.round((Math.round((new Date()).getTime() / 1000)-lastModifiedTime)/60/60/24*5); - td = $('<td></td>').attr({ "class": "filesize", "title": humanFileSize(size), "style": 'color:rgb('+sizeColor+','+sizeColor+','+sizeColor+')'}).text(simpleSize); - html.append(td); - - td = $('<td></td>').attr({ "class": "date" }); - td.append($('<span></span>').attr({ "class": "modified", "title": formatDate(lastModified), "style": 'color:rgb('+modifiedColor+','+modifiedColor+','+modifiedColor+')' }).text( relative_modified_date(lastModified.getTime() / 1000) )); - html.append(td); - FileList.insertElement(name,'dir',html); - $('tr').filterAttr('data-file',name).find('td.filename').draggable(dragOptions); - $('tr').filterAttr('data-file',name).find('td.filename').droppable(folderDropOptions); - }, - refresh:function(data) { - result = jQuery.parseJSON(data.responseText); - if(typeof(result.data.breadcrumb) != 'undefined'){ - updateBreadcrumb(result.data.breadcrumb); - } - FileList.update(result.data.files); - resetFileActionPanel(); - }, - remove:function(name){ - $('tr').filterAttr('data-file',name).find('td.filename').draggable('destroy'); - $('tr').filterAttr('data-file',name).remove(); - if($('tr[data-file]').length==0){ - $('#emptyfolder').show(); - $('.file_upload_filename').addClass('highlight'); - } - }, - insertElement:function(name,type,element){ - //find the correct spot to insert the file or folder - var fileElements=$('tr[data-file][data-type="'+type+'"]'); - var pos; - if(name.localeCompare($(fileElements[0]).attr('data-file'))<0){ - pos=-1; - }else if(name.localeCompare($(fileElements[fileElements.length-1]).attr('data-file'))>0){ - pos=fileElements.length-1; - }else{ - for(var pos=0;pos<fileElements.length-1;pos++){ - if(name.localeCompare($(fileElements[pos]).attr('data-file'))>0 && name.localeCompare($(fileElements[pos+1]).attr('data-file'))<0){ - break; - } - } - } - if(fileElements.length){ - if(pos==-1){ - $(fileElements[0]).before(element); - }else{ - $(fileElements[pos]).after(element); - } - }else if(type=='dir' && $('tr[data-file]').length>0){ - $('tr[data-file]').first().before(element); - }else{ - $('#fileList').append(element); - } - $('#emptyfolder').hide(); - $('.file_upload_filename').removeClass('highlight'); - }, - loadingDone:function(name){ - var tr=$('tr').filterAttr('data-file',name); - tr.data('loading',false); - var mime=tr.data('mime'); - tr.attr('data-mime',mime); - getMimeIcon(mime,function(path){ - tr.find('td.filename').attr('style','background-image:url('+path+')'); - }); - tr.find('td.filename').draggable(dragOptions); - }, - isLoading:function(name){ - return $('tr').filterAttr('data-file',name).data('loading'); - }, - rename:function(name){ - var tr=$('tr').filterAttr('data-file',name); - tr.data('renaming',true); - var td=tr.children('td.filename'); - var input=$('<input class="filename"></input>').val(name); - var form=$('<form></form>') - form.append(input); - td.children('a.name').text(''); - td.children('a.name').append(form) - input.focus(); - form.submit(function(event){ - event.stopPropagation(); - event.preventDefault(); - var newname=input.val(); - tr.attr('data-file',newname); - td.children('a.name').empty(); - var path = td.children('a.name').attr('href'); - td.children('a.name').attr('href', path.replace(encodeURIComponent(name), encodeURIComponent(newname))); - if(newname.indexOf('.')>0){ - basename=newname.substr(0,newname.lastIndexOf('.')); - }else{ - basename=newname; - } - var span=$('<span class="nametext"></span>'); - span.text(basename); - td.children('a.name').append(span); - if(newname.indexOf('.')>0){ - span.append($('<span class="extension">'+newname.substr(newname.lastIndexOf('.'))+'</span>')); - } - $.get(OC.filePath('files','ajax','rename.php'), { dir : $('#dir').val(), newname: newname, file: name },function(){ - tr.data('renaming',false); - }); - return false; - }); - input.click(function(event){ - event.stopPropagation(); - event.preventDefault(); - }); - input.blur(function(){ - form.trigger('submit'); - }); - }, - do_delete:function(files){ - if(FileList.deleteFiles || !FileList.useUndo){//finish any ongoing deletes first - FileList.finishDelete(function(){ - FileList.do_delete(files); - }); - return; - } - 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; - $('#notification').text(t('files','undo deletion')); - $('#notification').data('deletefile',true); - $('#notification').fadeIn(); - }, - finishDelete:function(ready,sync){ - if(!FileList.deleteCanceled && FileList.deleteFiles){ - var fileNames=FileList.deleteFiles.join(';'); - $.ajax({ - url: 'ajax/delete.php', - async:!sync, - data: "dir="+$('#dir').val()+"&files="+encodeURIComponent(fileNames), - complete: function(data){ - boolOperationFinished(data, function(){ - $('#notification').fadeOut(); - $.each(FileList.deleteFiles,function(index,file){ - FileList.remove(file); - }); - FileList.deleteCanceled=true; - FileList.deleteFiles=null; - if(ready){ - ready(); - } - }); - } - }); - } - } -} - -$(document).ready(function(){ - $('#notification').hide(); - $('#notification').click(function(){ - if($('#notification').data('deletefile')) - { - $.each(FileList.deleteFiles,function(index,file){ - $('tr').filterAttr('data-file',file).show(); -// alert(file); - }); - FileList.deleteCanceled=true; - FileList.deleteFiles=null; - } - $('#notification').fadeOut(); - }); - FileList.useUndo=('onbeforeunload' in window) - $(window).bind('beforeunload', function (){ - FileList.finishDelete(null,true); - }); -}); diff --git a/files/js/files.js b/files/js/files.js deleted file mode 100644 index 3ce95f992d0..00000000000 --- a/files/js/files.js +++ /dev/null @@ -1,591 +0,0 @@ -$(document).ready(function() { - $('#fileList tr').each(function(){ - //little hack to set unescape filenames in attribute - $(this).attr('data-file',decodeURIComponent($(this).attr('data-file'))); - }); - - if($('tr[data-file]').length==0){ - $('.file_upload_filename').addClass('highlight'); - } - - $('#file_action_panel').attr('activeAction', false); - - //drag/drop of files - $('#fileList tr td.filename').draggable(dragOptions); - $('#fileList tr[data-type="dir"][data-write="true"] td.filename').droppable(folderDropOptions); - $('div.crumb:not(.last)').droppable(crumbDropOptions); - $('ul#apps>li:first-child').data('dir',''); - if($('div.crumb').length){ - $('ul#apps>li:first-child').droppable(crumbDropOptions); - } - - // Triggers invisible file input - $('.file_upload_button_wrapper').live('click', function() { - $(this).parent().children('.file_upload_start').trigger('click'); - return false; - }); - - // Sets the file-action buttons behaviour : - $('tr').live('mouseenter',function(event) { - FileActions.display($(this).children('td.filename')); - }); - $('tr').live('mouseleave',function(event) { - FileActions.hide(); - }); - - var lastChecked; - - // Sets the file link behaviour : - $('td.filename a').live('click',function(event) { - event.preventDefault(); - if (event.ctrlKey || event.shiftKey) { - if (event.shiftKey) { - var last = $(lastChecked).parent().parent().prevAll().length; - var first = $(this).parent().parent().prevAll().length; - var start = Math.min(first, last); - var end = Math.max(first, last); - var rows = $(this).parent().parent().parent().children('tr'); - for (var i = start; i < end; i++) { - $(rows).each(function(index) { - if (index == i) { - var checkbox = $(this).children().children('input:checkbox'); - $(checkbox).attr('checked', 'checked'); - $(checkbox).parent().parent().addClass('selected'); - } - }); - } - } - var checkbox = $(this).parent().children('input:checkbox'); - lastChecked = checkbox; - if ($(checkbox).attr('checked')) { - $(checkbox).removeAttr('checked'); - $(checkbox).parent().parent().removeClass('selected'); - $('#select_all').removeAttr('checked'); - } else { - $(checkbox).attr('checked', 'checked'); - $(checkbox).parent().parent().toggleClass('selected'); - var selectedCount=$('td.filename input:checkbox:checked').length; - if (selectedCount == $('td.filename input:checkbox').length) { - $('#select_all').attr('checked', 'checked'); - } - } - procesSelection(); - } else { - var filename=$(this).parent().parent().attr('data-file'); - var tr=$('tr').filterAttr('data-file',filename); - var renaming=tr.data('renaming'); - if(!renaming && !FileList.isLoading(filename)){ - var mime=$(this).parent().parent().data('mime'); - var type=$(this).parent().parent().data('type'); - var action=FileActions.getDefault(mime,type); - if(action){ - action(filename); - } - } - } - - }); - - // Sets the select_all checkbox behaviour : - $('#select_all').click(function() { - if($(this).attr('checked')){ - // Check all - $('td.filename input:checkbox').attr('checked', true); - $('td.filename input:checkbox').parent().parent().addClass('selected'); - }else{ - // Uncheck all - $('td.filename input:checkbox').attr('checked', false); - $('td.filename input:checkbox').parent().parent().removeClass('selected'); - } - procesSelection(); - }); - - $('td.filename input:checkbox').live('change',function(event) { - if (event.shiftKey) { - var last = $(lastChecked).parent().parent().prevAll().length; - var first = $(this).parent().parent().prevAll().length; - var start = Math.min(first, last); - var end = Math.max(first, last); - var rows = $(this).parent().parent().parent().children('tr'); - for (var i = start; i < end; i++) { - $(rows).each(function(index) { - if (index == i) { - var checkbox = $(this).children().children('input:checkbox'); - $(checkbox).attr('checked', 'checked'); - $(checkbox).parent().parent().addClass('selected'); - } - }); - } - } - var selectedCount=$('td.filename input:checkbox:checked').length; - $(this).parent().parent().toggleClass('selected'); - if(!$(this).attr('checked')){ - $('#select_all').attr('checked',false); - }else{ - if(selectedCount==$('td.filename input:checkbox').length){ - $('#select_all').attr('checked',true); - } - } - procesSelection(); - }); - - $('#file_newfolder_name').click(function(){ - if($('#file_newfolder_name').val() == 'New Folder'){ - $('#file_newfolder_name').val(''); - } - }); - - $('.download').click('click',function(event) { - var files=getSelectedFiles('name').join(';'); - var dir=$('#dir').val()||'/'; - $('#notification').text(t('files','generating ZIP-file, it may take some time.')); - $('#notification').fadeIn(); - window.location='ajax/download.php?files='+encodeURIComponent(files)+'&dir='+encodeURIComponent(dir); - return false; - }); - - $('.delete').click(function(event) { - var files=getSelectedFiles('name'); - event.preventDefault(); - FileList.do_delete(files); - return false; - }); - - $('.file_upload_start').live('change',function(){ - var form=$(this).closest('form'); - var that=this; - var uploadId=form.attr('data-upload-id'); - var files=this.files; - var target=form.children('iframe'); - var totalSize=0; - if(files){ - for(var i=0;i<files.length;i++){ - totalSize+=files[i].size; - if(FileList.deleteFiles && FileList.deleteFiles.indexOf(files[i].name)!=-1){//finish delete if we are uploading a deleted file - FileList.finishDelete(function(){ - $(that).change(); - }); - return; - } - } - } - if(totalSize>$('#max_upload').val()){ - $( "#uploadsize-message" ).dialog({ - modal: true, - buttons: { - Close: function() { - $( this ).dialog( "close" ); - } - } - }); - }else{ - target.load(function(){ - var response=jQuery.parseJSON(target.contents().find('body').text()); - //set mimetype and if needed filesize - if(response){ - if(response[0] != undefined && response[0].status == 'success'){ - for(var i=0;i<response.length;i++){ - var file=response[i]; - $('tr').filterAttr('data-file',file.name).data('mime',file.mime); - if(size=='Pending'){ - $('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size); - } - FileList.loadingDone(file.name); - } - } - else{ - $('#notification').text(t('files',response.data.message)); - $('#notification').fadeIn(); - $('#fileList > tr').not('[data-mime]').fadeOut(); - $('#fileList > tr').not('[data-mime]').remove(); - } - } - }); - form.submit(); - var date=new Date(); - if(files){ - for(var i=0;i<files.length;i++){ - if(files[i].size>0){ - var size=files[i].size; - }else{ - var size=t('files','Pending'); - } - if(files){ - FileList.addFile(getUniqueName(files[i].name),size,date,true); - } - } - }else{ - var filename=this.value.split('\\').pop(); //ie prepends C:\fakepath\ in front of the filename - FileList.addFile(getUniqueName(filename),'Pending',date,true); - } - - //clone the upload form and hide the new one to allow users to start a new upload while the old one is still uploading - var clone=form.clone(); - uploadId++; - clone.attr('data-upload-id',uploadId); - clone.attr('target','file_upload_target_'+uploadId); - clone.children('iframe').attr('name','file_upload_target_'+uploadId) - clone.insertBefore(form); - form.hide(); - } - }); - - //add multiply file upload attribute to all browsers except konqueror (which crashes when it's used) - if(navigator.userAgent.search(/konqueror/i)==-1){ - $('.file_upload_start').attr('multiple','multiple') - } - - //if the breadcrumb is to long, start by replacing foldernames with '...' except for the current folder - var crumb=$('div.crumb').first(); - while($('div.controls').height()>40 && crumb.next('div.crumb').length>0){ - crumb.children('a').text('...'); - crumb=crumb.next('div.crumb'); - } - //if that isn't enough, start removing items from the breacrumb except for the current folder and it's parent - var crumb=$('div.crumb').first(); - var next=crumb.next('div.crumb'); - while($('div.controls').height()>40 && next.next('div.crumb').length>0){ - crumb.remove(); - crumb=next; - next=crumb.next('div.crumb'); - } - //still not enough, start shorting down the current folder name - var crumb=$('div.crumb>a').last(); - while($('div.controls').height()>40 && crumb.text().length>6){ - var text=crumb.text() - text=text.substr(0,text.length-6)+'...'; - crumb.text(text); - } - - $(window).click(function(){ - $('#new>ul').hide(); - $('#new').removeClass('active'); - $('button.file_upload_filename').removeClass('active'); - $('#new li').each(function(i,element){ - if($(element).children('p').length==0){ - $(element).children('input').remove(); - $(element).append('<p>'+$(element).data('text')+'</p>'); - } - }); - }); - $('#new').click(function(event){ - event.stopPropagation(); - }); - $('#new>a').click(function(){ - $('#new>ul').toggle(); - $('#new').toggleClass('active'); - $('button.file_upload_filename').toggleClass('active'); - }); - $('#new li').click(function(){ - if($(this).children('p').length==0){ - return; - } - - $('#new li').each(function(i,element){ - if($(element).children('p').length==0){ - $(element).children('input').remove(); - $(element).append('<p>'+$(element).data('text')+'</p>'); - } - }); - - var type=$(this).data('type'); - var text=$(this).children('p').text(); - $(this).data('text',text); - $(this).children('p').remove(); - var input=$('<input>'); - $(this).append(input); - input.focus(); - input.change(function(){ - var name=$(this).val(); - switch(type){ - case 'file': - $.post( - OC.filePath('files','ajax','newfile.php'), - {dir:$('#dir').val(),filename:name,content:" \n"}, - function(data){ - var date=new Date(); - FileList.addFile(name,0,date); - var tr=$('tr').filterAttr('data-file',name); - tr.data('mime','text/plain'); - getMimeIcon('text/plain',function(path){ - tr.find('td.filename').attr('style','background-image:url('+path+')'); - }); - } - ); - break; - case 'folder': - $.post( - OC.filePath('files','ajax','newfolder.php'), - {dir:$('#dir').val(),foldername:name}, - function(data){ - var date=new Date(); - FileList.addDir(name,0,date); - } - ); - break; - case 'web': - if(name.substr(0,8)!='https://' && name.substr(0,7)!='http://'){ - name='http://'.name; - } - var localName=name; - if(localName.substr(localName.length-1,1)=='/'){//strip / - localName=localName.substr(0,localName.length-1) - } - if(localName.indexOf('/')){//use last part of url - localName=localName.split('/').pop(); - }else{//or the domain - localName=(localName.match(/:\/\/(.[^/]+)/)[1]).replace('www.',''); - } - $.post( - OC.filePath('files','ajax','newfile.php'), - {dir:$('#dir').val(),source:name,filename:localName}, - function(result){ - if(result.status == 'success'){ - var date=new Date(); - FileList.addFile(localName,0,date); - var tr=$('tr').filterAttr('data-file',localName); - tr.data('mime',result.data.mime); - getMimeIcon(result.data.mime,function(path){ - tr.find('td.filename').attr('style','background-image:url('+path+')'); - }); - }else{ - - } - } - ); - break; - } - var li=$(this).parent(); - $(this).remove(); - li.append('<p>'+li.data('text')+'</p>'); - $('#new>a').click(); - }); - }); - - //check if we need to scan the filesystem - $.get(OC.filePath('files','ajax','scan.php'),{checkonly:'true'}, function(response) { - if(response.data.done){ - scanFiles(); - } - }, "json"); -}); - -function scanFiles(force){ - force=!!force; //cast to bool - scanFiles.scanning=true; - $('#scanning-message').show(); - $('#fileList').remove(); - var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force}); - scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource); - scannerEventSource.listen('scanning',function(data){ - $('#scan-count').text(data.count+' files scanned'); - $('#scan-current').text(data.file+'/'); - }); - scannerEventSource.listen('success',function(success){ - scanFiles.scanning=false; - if(success){ - window.location.reload(); - }else{ - alert('error while scanning'); - } - }); -} -scanFiles.scanning=false; - -function boolOperationFinished(data, callback) { - result = jQuery.parseJSON(data.responseText); - if(result.status == 'success'){ - callback.call(); - } else { - alert(result.data.message); - } -} - -function updateBreadcrumb(breadcrumbHtml) { - $('p.nav').empty().html(breadcrumbHtml); -} - -//options for file drag/dropp -var dragOptions={ - distance: 20, revert: 'invalid', opacity: 0.7, - stop: function(event, ui) { - $('#fileList tr td.filename').addClass('ui-draggable'); - } -}; -var folderDropOptions={ - drop: function( event, ui ) { - var file=ui.draggable.parent().data('file'); - var target=$(this).text().trim(); - var dir=$('#dir').val(); - $.ajax({ - url: 'ajax/move.php', - data: "dir="+encodeURIComponent(dir)+"&file="+encodeURIComponent(file)+'&target='+encodeURIComponent(dir)+'/'+encodeURIComponent(target), - complete: function(data){boolOperationFinished(data, function(){ - var el = $('#fileList tr').filterAttr('data-file',file).find('td.filename'); - el.draggable('destroy'); - FileList.remove(file); - });} - }); - } -} -var crumbDropOptions={ - drop: function( event, ui ) { - var file=ui.draggable.text().trim(); - var target=$(this).data('dir'); - var dir=$('#dir').val(); - while(dir.substr(0,1)=='/'){//remove extra leading /'s - dir=dir.substr(1); - } - dir='/'+dir; - if(dir.substr(-1,1)!='/'){ - dir=dir+'/'; - } - if(target==dir || target+'/'==dir){ - return; - } - $.ajax({ - url: 'ajax/move.php', - data: "dir="+encodeURIComponent(dir)+"&file="+encodeURIComponent(file)+'&target='+encodeURIComponent(target), - complete: function(data){boolOperationFinished(data, function(){ - FileList.remove(file); - });} - }); - }, - tolerance: 'pointer' -} - -function procesSelection(){ - var selected=getSelectedFiles(); - var selectedFiles=selected.filter(function(el){return el.type=='file'}); - var selectedFolders=selected.filter(function(el){return el.type=='dir'}); - if(selectedFiles.length==0 && selectedFolders.length==0){ - $('#headerName>span.name').text(t('files','Name')); - $('#headerSize').text(t('files','Size')); - $('#modified').text(t('files','Modified')); - $('th').removeClass('multiselect'); - $('.selectedActions').hide(); - $('thead').removeClass('fixed'); - $('#headerName').css('width','auto'); - $('#headerSize').css('width','auto'); - $('#headerDate').css('width','auto'); - $('table').css('padding-top','0'); - }else{ - var width={name:$('#headerName').css('width'),size:$('#headerSize').css('width'),date:$('#headerDate').css('width')}; - $('#headerName').css('width',width.name); - $('#headerSize').css('width',width.size); - $('#headerDate').css('width',width.date); - $('.selectedActions').show(); - var totalSize=0; - for(var i=0;i<selectedFiles.length;i++){ - totalSize+=selectedFiles[i].size; - }; - for(var i=0;i<selectedFolders.length;i++){ - totalSize+=selectedFolders[i].size; - }; - simpleSize=simpleFileSize(totalSize); - $('#headerSize').text(simpleSize); - $('#headerSize').attr('title',humanFileSize(totalSize)); - var selection=''; - if(selectedFolders.length>0){ - if(selectedFolders.length==1){ - selection+='1 '+t('files','folder'); - }else{ - selection+=selectedFolders.length+' '+t('files','folders'); - } - if(selectedFiles.length>0){ - selection+=' & '; - } - } - if(selectedFiles.length>0){ - if(selectedFiles.length==1){ - selection+='1 '+t('files','file'); - }else{ - selection+=selectedFiles.length+' '+t('files','files'); - } - } - $('#headerName>span.name').text(selection); - $('#modified').text(''); - $('th').addClass('multiselect'); - } -} - -/** - * @brief get a list of selected files - * @param string property (option) the property of the file requested - * @return array - * - * possible values for property: name, mime, size and type - * if property is set, an array with that property for each file is returnd - * if it's ommited an array of objects with all properties is returned - */ -function getSelectedFiles(property){ - var elements=$('td.filename input:checkbox:checked').parent().parent(); - var files=[]; - elements.each(function(i,element){ - var file={ - name:$(element).attr('data-file'), - mime:$(element).data('mime'), - type:$(element).data('type'), - size:$(element).data('size'), - }; - if(property){ - files.push(file[property]); - }else{ - files.push(file); - } - }); - return files; -} - -function relative_modified_date(timestamp) { - var timediff = Math.round((new Date()).getTime() / 1000) - timestamp; - var diffminutes = Math.round(timediff/60); - var diffhours = Math.round(diffminutes/60); - var diffdays = Math.round(diffhours/24); - var diffmonths = Math.round(diffdays/31); - var diffyears = Math.round(diffdays/365); - if(timediff < 60) { return t('files','seconds ago'); } - else if(timediff < 120) { return '1 '+t('files','minute ago'); } - else if(timediff < 3600) { return diffminutes+' '+t('files','minutes ago'); } - //else if($timediff < 7200) { return '1 hour ago'; } - //else if($timediff < 86400) { return $diffhours.' hours ago'; } - else if(timediff < 86400) { return t('files','today'); } - else if(timediff < 172800) { return t('files','yesterday'); } - else if(timediff < 2678400) { return diffdays+' '+t('files','days ago'); } - else if(timediff < 5184000) { return t('files','last month'); } - //else if($timediff < 31556926) { return $diffmonths.' months ago'; } - else if(timediff < 31556926) { return t('files','months ago'); } - else if(timediff < 63113852) { return t('files','last year'); } - else { return diffyears+' '+t('files','years ago'); } -} - -function getMimeIcon(mime, ready){ - if(getMimeIcon.cache[mime]){ - ready(getMimeIcon.cache[mime]); - }else{ - $.get( OC.filePath('files','ajax','mimeicon.php')+'?mime='+mime, function(path){ - getMimeIcon.cache[mime]=path; - ready(getMimeIcon.cache[mime]); - }); - } -} -getMimeIcon.cache={}; - -function getUniqueName(name){ - if($('tr').filterAttr('data-file',name).length>0){ - var parts=name.split('.'); - var extension=parts.pop(); - var base=parts.join('.'); - numMatch=base.match(/\((\d+)\)/); - var num=2; - if(numMatch && numMatch.length>0){ - num=parseInt(numMatch[numMatch.length-1])+1; - base=base.split('(') - base.pop(); - base=base.join('(').trim(); - } - name=base+' ('+num+').'+extension; - return getUniqueName(name); - } - return name; -} diff --git a/files/js/timezone.js b/files/js/timezone.js deleted file mode 100644 index d569683f210..00000000000 --- a/files/js/timezone.js +++ /dev/null @@ -1,12 +0,0 @@ -//send the clients time zone to the server -$(document).ready(function() { - var visitortimezone = (-new Date().getTimezoneOffset()/60); - $.ajax({ - type: "GET", - url: "ajax/timezone.php", - data: 'time='+ visitortimezone, - success: function(){ - location.reload(); - } - }); -});
\ No newline at end of file |