aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/models/Tab.js
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2019-05-23 17:03:04 +0200
committerDaniel Calviño Sánchez <danxuliu@gmail.com>2019-10-29 12:56:00 +0100
commitfd90af50d910e659aa8df0d380424383c6c09620 (patch)
tree76d8ddcc7cf44ba6852f31b0a2323d23d6b1c258 /apps/files/src/models/Tab.js
parentea6f423e2c8e50cf1357a0e2182dc4c9a9bf981e (diff)
downloadnextcloud-server-fd90af50d910e659aa8df0d380424383c6c09620.tar.gz
nextcloud-server-fd90af50d910e659aa8df0d380424383c6c09620.zip
Add OCA.Files.Sidebar
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'apps/files/src/models/Tab.js')
-rw-r--r--apps/files/src/models/Tab.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/apps/files/src/models/Tab.js b/apps/files/src/models/Tab.js
new file mode 100644
index 00000000000..28902b0e754
--- /dev/null
+++ b/apps/files/src/models/Tab.js
@@ -0,0 +1,59 @@
+/**
+ * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
+ *
+ * @author John Molakvoæ <skjnldsv@protonmail.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+export default class Tab {
+
+ #component;
+ #legacy;
+ #name;
+
+ /**
+ * Create a new tab instance
+ *
+ * @param {string} name the name of this tab
+ * @param {Object} component the vue component
+ * @param {boolean} [legacy] is this a legacy tab
+ */
+ constructor(name, component, legacy) {
+ this.#name = name
+ this.#component = component
+ this.#legacy = legacy === true
+
+ if (this.#legacy) {
+ console.warn('Legacy tabs are deprecated! They will be removed in nextcloud 20.')
+ }
+
+ }
+
+ get name() {
+ return this.#name
+ }
+
+ get component() {
+ return this.#component
+ }
+
+ get isLegacyTab() {
+ return this.#legacy === true
+ }
+
+}