summaryrefslogtreecommitdiffstats
path: root/apps/files/js
diff options
context:
space:
mode:
authorThomas Mueller <thomas.mueller@tmit.eu>2013-01-11 10:00:12 +0100
committerThomas Mueller <thomas.mueller@tmit.eu>2013-01-11 10:00:12 +0100
commit364b1cd3915ab8d33f1a63f598be3acb4bfcf86a (patch)
tree401f02cc3a6b8d9ba28620fcd9ec6a31ef381ab7 /apps/files/js
parentbfc55fef89089fc43c6a352de860374ca3fcfd53 (diff)
parent60489764f37a6f344fa20e361a26c7a6006f9c97 (diff)
downloadnextcloud-server-364b1cd3915ab8d33f1a63f598be3acb4bfcf86a.tar.gz
nextcloud-server-364b1cd3915ab8d33f1a63f598be3acb4bfcf86a.zip
Merge branch 'master' into fixing-998-master
Conflicts: apps/files/js/files.js
Diffstat (limited to 'apps/files/js')
-rw-r--r--apps/files/js/filelist.js10
-rw-r--r--apps/files/js/files.js95
2 files changed, 64 insertions, 41 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index fc37e03ba49..04b7d92e2c3 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -151,8 +151,7 @@ var FileList={
var newname=input.val();
if (!Files.isFileNameValid(newname)) {
return false;
- }
- if (newname != name) {
+ } else if (newname != name) {
if (FileList.checkName(name, newname, false)) {
newname = name;
} else {
@@ -185,6 +184,13 @@ var FileList={
td.children('a.name').show();
return false;
});
+ input.keyup(function(event){
+ if (event.keyCode == 27) {
+ tr.data('renaming',false);
+ form.remove();
+ td.children('a.name').show();
+ }
+ });
input.click(function(event){
event.stopPropagation();
event.preventDefault();
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index ac47f390826..81f596d6647 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -26,17 +26,19 @@ Files={
});
procesSelection();
},
- isFileNameValid:function (name) {
- if (name === '.') {
- OC.Notification.show(t('files', "'.' is an invalid file name."));
- return false;
- }
- if (name.length == 0) {
- OC.Notification.show(t('files', "File name cannot be empty."));
- return false;
- }
+ isFileNameValid:function (name) {
+ if (name === '.') {
+ $('#notification').text(t('files', '\'.\' is an invalid file name.'));
+ $('#notification').fadeIn();
+ return false;
+ }
+ if (name.length == 0) {
+ $('#notification').text(t('files', 'File name cannot be empty.'));
+ $('#notification').fadeIn();
+ return false;
+ }
- // check for invalid characters
+ // check for invalid characters
var invalid_characters = ['\\', '/', '<', '>', ':', '"', '|', '?', '*'];
for (var i = 0; i < invalid_characters.length; i++) {
if (name.indexOf(invalid_characters[i]) != -1) {
@@ -252,12 +254,12 @@ $(document).ready(function() {
}
});
}else{
- var dropTarget = $(e.originalEvent.target).closest('tr');
- if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
- var dirName = dropTarget.attr('data-file')
- }
+ var dropTarget = $(e.originalEvent.target).closest('tr');
+ if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
+ var dirName = dropTarget.attr('data-file')
+ }
- var date=new Date();
+ var date=new Date();
if(files){
for(var i=0;i<files.length;i++){
if(files[i].size>0){
@@ -310,9 +312,9 @@ $(document).ready(function() {
var jqXHR = $('#file_upload_start').fileupload('send', {files: files[i],
formData: function(form) {
var formArray = form.serializeArray();
- // array index 0 contains the max files size
- // array index 1 contains the request token
- // array index 2 contains the directory
+ // array index 0 contains the max files size
+ // array index 1 contains the request token
+ // array index 2 contains the directory
formArray[2]['value'] = dirName;
return formArray;
}}).success(function(result, textStatus, jqXHR) {
@@ -322,13 +324,14 @@ $(document).ready(function() {
OC.Notification.show(t('files', response.data.message));
}
var file=response[0];
- // TODO: this doesn't work if the file name has been changed server side
+ // TODO: this doesn't work if the file name has been changed server side
delete uploadingFiles[dirName][file.name];
- if ($.assocArraySize(uploadingFiles[dirName]) == 0) {
- delete uploadingFiles[dirName];
- }
+ if ($.assocArraySize(uploadingFiles[dirName]) == 0) {
+ delete uploadingFiles[dirName];
+ }
+ //TODO update file upload size limit
- var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext')
+ var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext')
var currentUploads = parseInt(uploadtext.attr('currentUploads'));
currentUploads -= 1;
uploadtext.attr('currentUploads', currentUploads);
@@ -377,8 +380,10 @@ $(document).ready(function() {
if(size==t('files','Pending')){
$('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
}
+ //TODO update file upload size limit
FileList.loadingDone(file.name, file.id);
} else {
+ Files.cancelUpload(this.files[0].name);
OC.Notification.show(t('files', response.data.message));
$('#fileList > tr').not('[data-mime]').fadeOut();
$('#fileList > tr').not('[data-mime]').remove();
@@ -386,6 +391,7 @@ $(document).ready(function() {
})
.error(function(jqXHR, textStatus, errorThrown) {
if(errorThrown === 'abort') {
+ Files.cancelUpload(this.files[0].name);
OC.Notification.show(t('files', 'Upload cancelled.'));
}
});
@@ -404,8 +410,10 @@ $(document).ready(function() {
if(size==t('files','Pending')){
$('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
}
+ //TODO update file upload size limit
FileList.loadingDone(file.name, file.id);
} else {
+ //TODO Files.cancelUpload(/*where do we get the filename*/);
OC.Notification.show(t('files', response.data.message));
$('#fileList > tr').not('[data-mime]').fadeOut();
$('#fileList > tr').not('[data-mime]').remove();
@@ -445,7 +453,7 @@ $(document).ready(function() {
// http://stackoverflow.com/a/6700/11236
var size = 0, key;
for (key in obj) {
- if (obj.hasOwnProperty(key)) size++;
+ if (obj.hasOwnProperty(key)) size++;
}
return size;
};
@@ -488,7 +496,7 @@ $(document).ready(function() {
$('#new').removeClass('active');
$('#new li').each(function(i,element){
if($(element).children('p').length==0){
- $(element).children('input').remove();
+ $(element).children('form').remove();
$(element).append('<p>'+$(element).data('text')+'</p>');
}
});
@@ -507,7 +515,7 @@ $(document).ready(function() {
$('#new li').each(function(i,element){
if($(element).children('p').length==0){
- $(element).children('input').remove();
+ $(element).children('form').remove();
$(element).append('<p>'+$(element).data('text')+'</p>');
}
});
@@ -516,22 +524,31 @@ $(document).ready(function() {
var text=$(this).children('p').text();
$(this).data('text',text);
$(this).children('p').remove();
+ var form=$('<form></form>');
var input=$('<input>');
- $(this).append(input);
+ form.append(input);
+ $(this).append(form);
input.focus();
- input.change(function(){
- if (type != 'web' && !Files.isFileNameValid($(this).val())) {
- return;
- } else if( type == 'folder' && $('#dir').val() == '/' && $(this).val() == 'Shared') {
- OC.Notification.show(t('files','Invalid folder name. Usage of "Shared" is reserved by Owncloud'));
- return;
+ form.submit(function(event){
+ event.stopPropagation();
+ event.preventDefault();
+ var newname=input.val();
+ if(type == 'web' && newname.length == 0) {
+ $('#notification').text(t('files', 'URL cannot be empty.'));
+ $('#notification').fadeIn();
+ return false;
+ } else if (type != 'web' && !Files.isFileNameValid(newname)) {
+ return false;
+ } else if( type == 'folder' && $('#dir').val() == '/' && newname == 'Shared') {
+ OC.Notification.show(t('files','Invalid folder name. Usage of \'Shared\' is reserved by Owncloud'));
+ return false;
}
if (FileList.lastAction) {
FileList.lastAction();
}
- var name = getUniqueName($(this).val());
- if (name != $(this).val()) {
- FileList.checkName(name, $(this).val(), true);
+ var name = getUniqueName(newname);
+ if (newname != name) {
+ FileList.checkName(name, newname, true);
var hidden = true;
} else {
var hidden = false;
@@ -575,7 +592,7 @@ $(document).ready(function() {
break;
case 'web':
if(name.substr(0,8)!='https://' && name.substr(0,7)!='http://'){
- name='http://'.name;
+ name='http://'+name;
}
var localName=name;
if(localName.substr(localName.length-1,1)=='/'){//strip /
@@ -614,8 +631,8 @@ $(document).ready(function() {
});
break;
}
- var li=$(this).parent();
- $(this).remove();
+ var li=form.parent();
+ form.remove();
li.append('<p>'+li.data('text')+'</p>');
$('#new>a').click();
});