@ -6,6 +6,13 @@ var FileList={
$ ( this ) . attr ( 'data-file' , decodeURIComponent ( $ ( this ) . attr ( 'data-file' ) ) ) ;
$ ( this ) . attr ( 'data-file' , decodeURIComponent ( $ ( this ) . attr ( 'data-file' ) ) ) ;
} ) ;
} ) ;
} ,
} ,
/ * *
* Returns the tr element for a given file name
* /
findFileEl : function ( fileName ) {
// use filterAttr to avoid escaping issues
return $ ( '#fileList tr' ) . filterAttr ( 'data-file' , fileName ) ;
} ,
update : function ( fileListHtml ) {
update : function ( fileListHtml ) {
var $fileList = $ ( '#fileList' ) ;
var $fileList = $ ( '#fileList' ) ;
$fileList . empty ( ) . html ( fileListHtml ) ;
$fileList . empty ( ) . html ( fileListHtml ) ;
@ -292,8 +299,9 @@ var FileList={
$ ( '#filestable' ) . toggleClass ( 'hidden' , show ) ;
$ ( '#filestable' ) . toggleClass ( 'hidden' , show ) ;
} ,
} ,
remove : function ( name ) {
remove : function ( name ) {
$ ( 'tr' ) . filterAttr ( 'data-file' , name ) . find ( 'td.filename' ) . draggable ( 'destroy' ) ;
var fileEl = FileList . findFileEl ( name ) ;
$ ( 'tr' ) . filterAttr ( 'data-file' , name ) . remove ( ) ;
fileEl . find ( 'td.filename' ) . draggable ( 'destroy' ) ;
fileEl . remove ( ) ;
FileList . updateFileSummary ( ) ;
FileList . updateFileSummary ( ) ;
if ( ! $ ( 'tr[data-file]' ) . exists ( ) ) {
if ( ! $ ( 'tr[data-file]' ) . exists ( ) ) {
$ ( '#emptycontent' ) . removeClass ( 'hidden' ) ;
$ ( '#emptycontent' ) . removeClass ( 'hidden' ) ;
@ -334,7 +342,7 @@ var FileList={
FileList . updateFileSummary ( ) ;
FileList . updateFileSummary ( ) ;
} ,
} ,
loadingDone : function ( name , id ) {
loadingDone : function ( name , id ) {
var mime , tr = $ ( 'tr[data-file="' + name + '"]' ) ;
var mime , tr = FileList . findFileEl ( name ) ;
tr . data ( 'loading' , false ) ;
tr . data ( 'loading' , false ) ;
mime = tr . data ( 'mime' ) ;
mime = tr . data ( 'mime' ) ;
tr . attr ( 'data-mime' , mime ) ;
tr . attr ( 'data-mime' , mime ) ;
@ -347,12 +355,12 @@ var FileList={
} , null , null , tr . attr ( 'data-etag' ) ) ;
} , null , null , tr . attr ( 'data-etag' ) ) ;
tr . find ( 'td.filename' ) . draggable ( dragOptions ) ;
tr . find ( 'td.filename' ) . draggable ( dragOptions ) ;
} ,
} ,
isLoading : function ( nam e) {
isLoading : function ( fil e) {
return $ ( 'tr[data-file="' + name + '"]' ) . data ( 'loading' ) ;
return FileList . findFileEl ( file ) . data ( 'loading' ) ;
} ,
} ,
rename : function ( oldname ) {
rename : function ( oldname ) {
var tr , td , input , form ;
var tr , td , input , form ;
tr = $ ( 'tr[data-file="' + oldname + '"]' ) ;
tr = FileList . findFileEl ( oldname ) ;
tr . data ( 'renaming' , true ) ;
tr . data ( 'renaming' , true ) ;
td = tr . children ( 'td.filename' ) ;
td = tr . children ( 'td.filename' ) ;
input = $ ( '<input type="text" class="filename"/>' ) . val ( oldname ) ;
input = $ ( '<input type="text" class="filename"/>' ) . val ( oldname ) ;
@ -500,14 +508,16 @@ var FileList={
form . trigger ( 'submit' ) ;
form . trigger ( 'submit' ) ;
} ) ;
} ) ;
} ,
} ,
inList : function ( filename ) {
inList : function ( file ) {
return $ ( '#fileList tr[data-file="' + filename + '"]' ) . length ;
return FileList . findFileEl ( file ) . length ;
} ,
} ,
replace : function ( oldName , newName , isNewFile ) {
replace : function ( oldName , newName , isNewFile ) {
// Finish any existing actions
// Finish any existing actions
$ ( 'tr[data-file="' + oldName + '"]' ) . hide ( ) ;
var oldFileEl = FileList . findFileEl ( oldName ) ;
$ ( 'tr[data-file="' + newName + '"]' ) . hide ( ) ;
var newFileEl = FileList . findFileEl ( newName ) ;
var tr = $ ( 'tr[data-file="' + oldName + '"]' ) . clone ( ) ;
oldFileEl . hide ( ) ;
newFileEl . hide ( ) ;
var tr = oldFileEl . clone ( ) ;
tr . attr ( 'data-replace' , 'true' ) ;
tr . attr ( 'data-replace' , 'true' ) ;
tr . attr ( 'data-file' , newName ) ;
tr . attr ( 'data-file' , newName ) ;
var td = tr . children ( 'td.filename' ) ;
var td = tr . children ( 'td.filename' ) ;
@ -559,7 +569,7 @@ var FileList={
files = [ files ] ;
files = [ files ] ;
}
}
for ( var i = 0 ; i < files . length ; i ++ ) {
for ( var i = 0 ; i < files . length ; i ++ ) {
var deleteAction = $ ( 'tr[data-file="' + files [ i ] + '"]' ) . children ( "td.date" ) . children ( ".action.delete" ) ;
var deleteAction = FileList . findFileEl ( files [ i ] ) . children ( "td.date" ) . children ( ".action.delete" ) ;
deleteAction . removeClass ( 'delete-icon' ) . addClass ( 'progress-icon' ) ;
deleteAction . removeClass ( 'delete-icon' ) . addClass ( 'progress-icon' ) ;
}
}
// Finish any existing actions
// Finish any existing actions
@ -573,7 +583,7 @@ var FileList={
function ( result ) {
function ( result ) {
if ( result . status === 'success' ) {
if ( result . status === 'success' ) {
$ . each ( files , function ( index , file ) {
$ . each ( files , function ( index , file ) {
var files = $ ( 'tr[data-file="' + file + '"]' ) ;
var files = FileList . findFileEl ( file ) ;
files . remove ( ) ;
files . remove ( ) ;
files . find ( 'input[type="checkbox"]' ) . removeAttr ( 'checked' ) ;
files . find ( 'input[type="checkbox"]' ) . removeAttr ( 'checked' ) ;
files . removeClass ( 'selected' ) ;
files . removeClass ( 'selected' ) ;
@ -595,7 +605,7 @@ var FileList={
OC . Notification . hide ( ) ;
OC . Notification . hide ( ) ;
} , 10000 ) ;
} , 10000 ) ;
$ . each ( files , function ( index , file ) {
$ . each ( files , function ( index , file ) {
var deleteAction = $ ( 'tr[data-file="' + file + '"] .action.delete') ;
var deleteAction = FileList . findFileEl ( file ) . find ( ' .action.delete') ;
deleteAction . removeClass ( 'progress-icon' ) . addClass ( 'delete-icon' ) ;
deleteAction . removeClass ( 'progress-icon' ) . addClass ( 'delete-icon' ) ;
} ) ;
} ) ;
}
}
@ -737,7 +747,7 @@ var FileList={
} ,
} ,
scrollTo : function ( file ) {
scrollTo : function ( file ) {
//scroll to and highlight preselected file
//scroll to and highlight preselected file
var $scrolltorow = $ ( 'tr[data-file="' + file + '"]' ) ;
var $scrolltorow = FileList . findFileEl ( file ) ;
if ( $scrolltorow . exists ( ) ) {
if ( $scrolltorow . exists ( ) ) {
$scrolltorow . addClass ( 'searchresult' ) ;
$scrolltorow . addClass ( 'searchresult' ) ;
$ ( window ) . scrollTop ( $scrolltorow . position ( ) . top ) ;
$ ( window ) . scrollTop ( $scrolltorow . position ( ) . top ) ;
@ -949,7 +959,7 @@ $(document).ready(function() {
$ ( '#notification' ) . on ( 'click' , '.undo' , function ( ) {
$ ( '#notification' ) . on ( 'click' , '.undo' , function ( ) {
if ( FileList . deleteFiles ) {
if ( FileList . deleteFiles ) {
$ . each ( FileList . deleteFiles , function ( index , file ) {
$ . each ( FileList . deleteFiles , function ( index , file ) {
$ ( 'tr[data-file="' + file + '"]' ) . show ( ) ;
FileList . findFileEl ( file ) . show ( ) ;
} ) ;
} ) ;
FileList . deleteCanceled = true ;
FileList . deleteCanceled = true ;
FileList . deleteFiles = null ;
FileList . deleteFiles = null ;
@ -959,10 +969,10 @@ $(document).ready(function() {
FileList . deleteCanceled = false ;
FileList . deleteCanceled = false ;
FileList . deleteFiles = [ FileList . replaceOldName ] ;
FileList . deleteFiles = [ FileList . replaceOldName ] ;
} else {
} else {
$ ( 'tr[data-file="' + FileList . replaceOldName + '"]' ) . show ( ) ;
FileList . findFileEl ( FileList . replaceOldName ) . show ( ) ;
}
}
$ ( 'tr[data-replace="true"' ) . remove ( ) ;
$ ( 'tr[data-replace="true"' ) . remove ( ) ;
$ ( 'tr[data-file="' + FileList . replaceNewName + '"]' ) . show ( ) ;
FileList . findFileEl ( FileList . replaceNewName ) . show ( ) ;
FileList . replaceCanceled = true ;
FileList . replaceCanceled = true ;
FileList . replaceOldName = null ;
FileList . replaceOldName = null ;
FileList . replaceNewName = null ;
FileList . replaceNewName = null ;
@ -977,7 +987,8 @@ $(document).ready(function() {
} ) ;
} ) ;
} ) ;
} ) ;
$ ( '#notification:first-child' ) . on ( 'click' , '.suggest' , function ( ) {
$ ( '#notification:first-child' ) . on ( 'click' , '.suggest' , function ( ) {
$ ( 'tr[data-file="' + $ ( '#notification > span' ) . attr ( 'data-oldName' ) + '"]' ) . show ( ) ;
var file = $ ( '#notification > span' ) . attr ( 'data-oldName' ) ;
FileList . findFileEl ( file ) . show ( ) ;
OC . Notification . hide ( ) ;
OC . Notification . hide ( ) ;
} ) ;
} ) ;
$ ( '#notification:first-child' ) . on ( 'click' , '.cancel' , function ( ) {
$ ( '#notification:first-child' ) . on ( 'click' , '.cancel' , function ( ) {