sidebar: allow turning off tags view by default

With #37065, there is no way to hide the tags from the sidebar
by default when they are not relevant or redundant (e.g. the tab
may already show the file's tags). This can be annyoing especially
when the file has many tags. This patch adds an option to hide
the tags from the sidebar by default (the user can still open
the tags tab manually).

This also reduces one request when opening the sidebar when the
tags are turned off, since all tags don't need to be fetched
anymore.

Signed-off-by: Varun Patil <varunpatil@ucla.edu>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
This commit is contained in:
Varun Patil 2023-10-16 21:04:53 -07:00 committed by nextcloud-command
parent 5d669abd11
commit c581024540
4 changed files with 16 additions and 5 deletions

View File

@ -59,4 +59,5 @@ window.addEventListener('DOMContentLoaded', function() {
window.OCA.Files.Sidebar.open = AppSidebar.open
window.OCA.Files.Sidebar.close = AppSidebar.close
window.OCA.Files.Sidebar.setFullScreenMode = AppSidebar.setFullScreenMode
window.OCA.Files.Sidebar.setShowTagsDefault = AppSidebar.setShowTagsDefault
})

View File

@ -36,7 +36,7 @@
<!-- TODO: create a standard to allow multiple elements here? -->
<template v-if="fileInfo" #description>
<div class="sidebar__description">
<SystemTags v-if="isSystemTagsEnabled"
<SystemTags v-if="isSystemTagsEnabled && showTagsDefault"
v-show="showTags"
:file-id="fileInfo.id"
@has-tags="value => showTags = value" />
@ -138,6 +138,7 @@ export default {
// reactive state
Sidebar: OCA.Files.Sidebar.state,
showTags: false,
showTagsDefault: true,
error: null,
loading: true,
fileInfo: null,
@ -455,7 +456,7 @@ export default {
* Toggle the tags selector
*/
toggleTags() {
this.showTags = !this.showTags
this.showTagsDefault = this.showTags = !this.showTags
},
/**
@ -529,6 +530,15 @@ export default {
}
},
/**
* Allow to set whether tags should be shown by default from OCA.Files.Sidebar
*
* @param {boolean} showTagsDefault - Whether or not to show the tags by default.
*/
setShowTagsDefault(showTagsDefault) {
this.showTagsDefault = showTagsDefault
},
/**
* Emit SideBar events.
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long