mirror of
https://github.com/nextcloud/server.git
synced 2026-04-22 14:50:17 -04:00
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
2 changed files with 29 additions and 7 deletions
|
|
@ -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 a new issue