Skip to content
Snippets Groups Projects
Commit 68f610a9 authored by Vincent Petry's avatar Vincent Petry
Browse files

Update file list entry on rename

Whenever a file is renamed, if the extension changes, the mime type and
preview might change. This fix passes the updated info to the client
that updates it.
parent 43b1cf79
Branches
No related tags found
No related merge requests found
...@@ -422,12 +422,27 @@ var FileList={ ...@@ -422,12 +422,27 @@ var FileList={
} }
tr.find('.fileactions').effect('highlight', {}, 5000); tr.find('.fileactions').effect('highlight', {}, 5000);
tr.effect('highlight', {}, 5000); tr.effect('highlight', {}, 5000);
// remove loading mark and recover old image
td.css('background-image', oldBackgroundImage);
}
else {
var fileInfo = result.data;
tr.attr('data-mime', fileInfo.mime);
tr.attr('data-etag', fileInfo.etag);
if (fileInfo.isPreviewAvailable) {
Files.lazyLoadPreview(fileInfo.directory + '/' + fileInfo.name, result.data.mime, function(previewpath) {
tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
}, null, null, result.data.etag);
}
else {
tr.find('td.filename').removeClass('preview').attr('style','background-image:url('+fileInfo.icon+')');
}
} }
// reinsert row // reinsert row
tr.detach(); tr.detach();
FileList.insertElement( tr.attr('data-file'), tr.attr('data-type'),tr ); FileList.insertElement( tr.attr('data-file'), tr.attr('data-type'),tr );
// remove loading mark and recover old image // update file actions in case the extension changed
td.css('background-image', oldBackgroundImage); FileActions.display( tr.find('td.filename'), true);
} }
}); });
} }
......
...@@ -76,12 +76,19 @@ class App { ...@@ -76,12 +76,19 @@ class App {
$this->view->rename($dir . '/' . $oldname, $dir . '/' . $newname) $this->view->rename($dir . '/' . $oldname, $dir . '/' . $newname)
) { ) {
// successful rename // successful rename
$result['success'] = true; $meta = $this->view->getFileInfo($dir . '/' . $newname);
$result['data'] = array( $fileinfo = array(
'dir' => $dir, 'id' => $meta['fileid'],
'file' => $oldname, 'mime' => $meta['mimetype'],
'newname' => $newname 'size' => $meta['size'],
'etag' => $meta['etag'],
'directory' => $dir,
'name' => $newname,
'isPreviewAvailable' => \OC::$server->getPreviewManager()->isMimeSupported($meta['mimetype']),
'icon' => \OCA\Files\Helper::determineIcon($meta)
); );
$result['success'] = true;
$result['data'] = $fileinfo;
} else { } else {
// rename failed // rename failed
$result['data'] = array( $result['data'] = array(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment