diff --git a/changelog/unreleased/enhancement-add-show-file-extension-switch b/changelog/unreleased/enhancement-add-show-file-extension-switch new file mode 100644 index 00000000000..8be0a6c570a --- /dev/null +++ b/changelog/unreleased/enhancement-add-show-file-extension-switch @@ -0,0 +1,12 @@ +Enhancement: Add show file extension toggle switch in file list settings + +We've added a toggle switch to the file list settings to turn off and on displaying file extension. + +If this setting is turned off, the file extension won't be shown anymore in: +* The name column displayed in the files list +* The right sidebar +* The rename modal +* The new file modal + +https://github.com/owncloud/web/pull/6793 +https://github.com/owncloud/web/issues/6730 diff --git a/packages/web-app-files/src/components/AppBar/AppBar.vue b/packages/web-app-files/src/components/AppBar/AppBar.vue index cfda1b1db8b..a2ee1b37439 100644 --- a/packages/web-app-files/src/components/AppBar/AppBar.vue +++ b/packages/web-app-files/src/components/AppBar/AppBar.vue @@ -77,7 +77,7 @@ export default { }, computed: { ...mapGetters('Files', ['files', 'selectedFiles']), - ...mapState('Files', ['areHiddenFilesShown']), + ...mapState('Files', ['areHiddenFilesShown', 'areFileExtensionsShown']), pageTitle() { const title = this.$route.meta.title @@ -116,10 +116,18 @@ export default { if (areHiddenFilesShownBoolean !== this.areHiddenFilesShown) { this.SET_HIDDEN_FILES_VISIBILITY(areHiddenFilesShownBoolean) } + + // Storage returns a string so we need to convert it into a boolean + const areFileExtensionsShown = window.localStorage.getItem('oc_fileExtensionsShown') || 'true' + const areFileExtensionsShownBoolean = areFileExtensionsShown === 'true' + + if (areFileExtensionsShownBoolean !== this.areFileExtensionsShown) { + this.SET_FILE_EXTENSIONS_VISIBILITY(areFileExtensionsShownBoolean) + } }, methods: { - ...mapMutations('Files', ['SET_HIDDEN_FILES_VISIBILITY']) + ...mapMutations('Files', ['SET_HIDDEN_FILES_VISIBILITY', 'SET_FILE_EXTENSIONS_VISIBILITY']) } } diff --git a/packages/web-app-files/src/components/AppBar/CreateAndUpload.vue b/packages/web-app-files/src/components/AppBar/CreateAndUpload.vue index 5b6fcfcdc9e..579396c4543 100644 --- a/packages/web-app-files/src/components/AppBar/CreateAndUpload.vue +++ b/packages/web-app-files/src/components/AppBar/CreateAndUpload.vue @@ -123,7 +123,7 @@ diff --git a/packages/web-app-files/src/components/FilesList/ResourceTable.vue b/packages/web-app-files/src/components/FilesList/ResourceTable.vue index 3e546abe6df..c5679358a05 100644 --- a/packages/web-app-files/src/components/FilesList/ResourceTable.vue +++ b/packages/web-app-files/src/components/FilesList/ResourceTable.vue @@ -52,6 +52,7 @@ :is-path-displayed="arePathsDisplayed" :parent-folder-name-default="defaultParentFolderName" :is-thumbnail-displayed="areThumbnailsDisplayed" + :is-extension-displayed="areFileExtensionsShown" :is-resource-clickable="isResourceClickable(item.id)" :folder-link="folderLink(item)" :parent-folder-link="parentFolderLink(item)" @@ -165,7 +166,7 @@