summaryrefslogtreecommitdiffstats
path: root/apps/files/src
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2020-01-29 16:31:47 +0100
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2020-01-29 16:44:53 +0100
commitb476659ac888618fdb01c1316db073237c9222d3 (patch)
tree05f722eeabf3de7fb0be5f53421bc32be467e03d /apps/files/src
parentcd6a193793f5b0f34fbe5d9c4d52e54f94494237 (diff)
downloadnextcloud-server-b476659ac888618fdb01c1316db073237c9222d3.tar.gz
nextcloud-server-b476659ac888618fdb01c1316db073237c9222d3.zip
Fix legacy tabs
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'apps/files/src')
-rw-r--r--apps/files/src/components/LegacyTab.vue11
-rw-r--r--apps/files/src/models/Tab.js12
-rw-r--r--apps/files/src/services/Sidebar.js6
-rw-r--r--apps/files/src/views/Sidebar.vue1
4 files changed, 16 insertions, 14 deletions
diff --git a/apps/files/src/components/LegacyTab.vue b/apps/files/src/components/LegacyTab.vue
index 32c644ed806..eaa72a99bbb 100644
--- a/apps/files/src/components/LegacyTab.vue
+++ b/apps/files/src/components/LegacyTab.vue
@@ -21,7 +21,9 @@
-->
<template>
- <AppSidebarTab :icon="icon"
+ <AppSidebarTab
+ :id="id"
+ :icon="icon"
:name="name"
:active-tab="activeTab" />
</template>
@@ -38,7 +40,7 @@ export default {
type: Object,
required: true,
},
- name: {
+ id: {
type: String,
required: true,
},
@@ -52,9 +54,8 @@ export default {
icon() {
return this.component.getIcon()
},
- id() {
- // copied from AppSidebarTab
- return this.name.toLowerCase().replace(/ /g, '-')
+ name() {
+ return this.component.getLabel()
},
order() {
return this.component.order
diff --git a/apps/files/src/models/Tab.js b/apps/files/src/models/Tab.js
index 2a045551c54..fd1ea9888d9 100644
--- a/apps/files/src/models/Tab.js
+++ b/apps/files/src/models/Tab.js
@@ -24,23 +24,23 @@ export default class Tab {
#component
#legacy
- #name
+ #id
#enabled
/**
* Create a new tab instance
*
- * @param {string} name the name of this tab
+ * @param {string} id the unique id of this tab
* @param {Object} component the vue component
* @param {Function} [enabled] function that returns if the tab should be shown or not
* @param {boolean} [legacy] is this a legacy tab
*/
- constructor(name, component, enabled = () => true, legacy) {
+ constructor(id, component, enabled = () => true, legacy) {
if (typeof enabled !== 'function') {
throw new Error('The enabled argument should be a function')
}
- this.#name = name
+ this.#id = id
this.#component = component
this.#enabled = enabled
this.#legacy = legacy === true
@@ -51,8 +51,8 @@ export default class Tab {
}
- get name() {
- return this.#name
+ get id() {
+ return this.#id
}
get component() {
diff --git a/apps/files/src/services/Sidebar.js b/apps/files/src/services/Sidebar.js
index 42243b9de82..560db8862ec 100644
--- a/apps/files/src/services/Sidebar.js
+++ b/apps/files/src/services/Sidebar.js
@@ -56,17 +56,17 @@ export default class Sidebar {
* @returns {Boolean}
*/
registerTab(tab) {
- const hasDuplicate = this.#state.tabs.findIndex(check => check.name === tab.name) > -1
+ const hasDuplicate = this.#state.tabs.findIndex(check => check.id === tab.id) > -1
if (!hasDuplicate) {
this.#state.tabs.push(tab)
return true
}
- console.error(`An tab with the same name ${tab.name} already exists`, tab)
+ console.error(`An tab with the same id ${tab.id} already exists`, tab)
return false
}
registerSecondaryView(view) {
- const hasDuplicate = this.#state.views.findIndex(check => check.name === view.name) > -1
+ const hasDuplicate = this.#state.views.findIndex(check => check.id === view.id) > -1
if (!hasDuplicate) {
this.#state.views.push(view)
return true
diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue
index c55e1671178..00e4367e92f 100644
--- a/apps/files/src/views/Sidebar.vue
+++ b/apps/files/src/views/Sidebar.vue
@@ -62,6 +62,7 @@
<component
:is="tabComponent(tab).is"
v-if="canDisplay(tab)"
+ :id="tab.id"
:key="tab.id"
:component="tabComponent(tab).component"
:name="tab.name"