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.
This commit is contained in:
parent
43b1cf7988
commit
68f610a90e
|
@ -422,12 +422,27 @@ var FileList={
|
|||
}
|
||||
tr.find('.fileactions').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
|
||||
tr.detach();
|
||||
FileList.insertElement( tr.attr('data-file'), tr.attr('data-type'),tr );
|
||||
// remove loading mark and recover old image
|
||||
td.css('background-image', oldBackgroundImage);
|
||||
// update file actions in case the extension changed
|
||||
FileActions.display( tr.find('td.filename'), true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -76,12 +76,19 @@ class App {
|
|||
$this->view->rename($dir . '/' . $oldname, $dir . '/' . $newname)
|
||||
) {
|
||||
// successful rename
|
||||
$result['success'] = true;
|
||||
$result['data'] = array(
|
||||
'dir' => $dir,
|
||||
'file' => $oldname,
|
||||
'newname' => $newname
|
||||
$meta = $this->view->getFileInfo($dir . '/' . $newname);
|
||||
$fileinfo = array(
|
||||
'id' => $meta['fileid'],
|
||||
'mime' => $meta['mimetype'],
|
||||
'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 {
|
||||
// rename failed
|
||||
$result['data'] = array(
|
||||
|
|
Loading…
Reference in New Issue