Browse Source

Fix Sidebar enabled check

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
pull/18449/head
John Molakvoæ (skjnldsv) 6 years ago
committed by npmbuildbot[bot]
parent
commit
27dc4ef268
  1. 10
      apps/files/js/dist/sidebar.js
  2. 2
      apps/files/js/dist/sidebar.js.map
  3. 3
      apps/files/js/filelist.js
  4. 19
      apps/files/src/models/Tab.js
  5. 6
      apps/files/src/views/Sidebar.vue

10
apps/files/js/dist/sidebar.js
File diff suppressed because it is too large
View File

2
apps/files/js/dist/sidebar.js.map
File diff suppressed because it is too large
View File

3
apps/files/js/filelist.js

@ -3650,8 +3650,9 @@
registerTabView: function(tabView) {
console.warn('registerTabView is deprecated! It will be removed in nextcloud 20.');
const name = tabView.getLabel()
const enabled = tabView.canDisplay || undefined
if (name) {
OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab(name, tabView, true))
OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab(name, tabView, enabled, true))
}
},

19
apps/files/src/models/Tab.js

@ -22,20 +22,27 @@
export default class Tab {
#component;
#legacy;
#name;
#component
#legacy
#name
#enabled
/**
* Create a new tab instance
*
* @param {string} name the name 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, legacy) {
constructor(name, component, enabled = () => true, legacy) {
if (typeof enabled !== 'function') {
throw new Error('The enabled argument should be a function')
}
this.#name = name
this.#component = component
this.#enabled = enabled
this.#legacy = legacy === true
if (this.#legacy) {
@ -52,6 +59,10 @@ export default class Tab {
return this.#component
}
get isEnabled() {
return this.#enabled
}
get isLegacyTab() {
return this.#legacy === true
}

6
apps/files/src/views/Sidebar.vue

@ -255,11 +255,7 @@ export default {
* @returns {boolean}
*/
canDisplay(tab) {
if (tab.isLegacyTab) {
return this.fileInfo && tab.component.canDisplay && tab.component.canDisplay(this.fileInfo)
}
// if the tab does not have an enabled method, we assume it's always available
return tab.enabled ? tab.enabled(this.fileInfo) : true
return tab.isEnabled(this.fileInfo)
},
onClose() {
this.resetData()

Loading…
Cancel
Save