fix(files): Do not split filename into base and extension for folders

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
Ferdinand Thiessen 2024-07-22 17:54:54 +02:00 committed by skjnldsv
parent aec506870c
commit 8d00d46350
4 changed files with 17 additions and 14 deletions

View file

@ -51,7 +51,7 @@
@click.native="execDefaultAction" />
<FileEntryName ref="name"
:display-name="displayName"
:basename="basename"
:extension="extension"
:files-list-width="filesListWidth"
:nodes="nodes"

View file

@ -46,8 +46,8 @@
v-bind="linkTo.params">
<!-- File name -->
<span class="files-list__row-name-text">
<!-- Keep the displayName stuck to the extension to avoid whitespace rendering issues-->
<span class="files-list__row-name-" v-text="displayName" />
<!-- Keep the filename stuck to the extension to avoid whitespace rendering issues-->
<span class="files-list__row-name-" v-text="basename" />
<span class="files-list__row-name-ext" v-text="extension" />
</span>
</component>
@ -81,10 +81,16 @@ export default Vue.extend({
},
props: {
displayName: {
/**
* The filename without extension
*/
basename: {
type: String,
required: true,
},
/**
* The extension of the filename
*/
extension: {
type: String,
required: true,
@ -172,7 +178,7 @@ export default Vue.extend({
params: {
download: this.source.basename,
href: this.source.source,
title: t('files', 'Download file {name}', { name: this.displayName }),
title: t('files', 'Download file {name}', { name: `${this.basename}${this.extension}` }),
tabindex: '0',
},
}

View file

@ -53,7 +53,7 @@
@click.native="execDefaultAction" />
<FileEntryName ref="name"
:display-name="displayName"
:basename="basename"
:extension="extension"
:files-list-width="filesListWidth"
:grid-mode="true"

View file

@ -83,18 +83,15 @@ export default defineComponent({
return this.source.status === NodeStatus.LOADING
},
extension() {
if (this.source.attributes?.displayname) {
return extname(this.source.attributes.displayname)
}
return this.source.extension || ''
},
/**
* The display name of the current node
* Either the nodes filename or a custom display name (e.g. for shares)
*/
displayName() {
const ext = this.extension
const name = String(this.source.attributes.displayname || this.source.basename)
// Strip extension from name if defined
return !ext ? name : name.slice(0, 0 - ext.length)
return extname(this.displayName)
},
draggingFiles() {