diff options
author | Julius Härtl <jus@bitgrid.net> | 2019-07-09 15:00:41 +0200 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2019-10-29 13:16:29 +0100 |
commit | ae59edc6bfa7331636c7a0d0b144f292367ae5a3 (patch) | |
tree | daaaabd7ed4683894deca08d27a69cbf5609b346 | |
parent | adb163b33798313f20b7bb34c0fc2a9f8268c87a (diff) | |
download | nextcloud-server-ae59edc6bfa7331636c7a0d0b144f292367ae5a3.tar.gz nextcloud-server-ae59edc6bfa7331636c7a0d0b144f292367ae5a3.zip |
Add ShareTabSections service to register sections in the share tab
Signed-off-by: Julius Härtl <jus@bitgrid.net>
-rw-r--r-- | apps/files_sharing/src/files_sharing_tab.js | 4 | ||||
-rw-r--r-- | apps/files_sharing/src/services/TabSections.js | 49 |
2 files changed, 53 insertions, 0 deletions
diff --git a/apps/files_sharing/src/files_sharing_tab.js b/apps/files_sharing/src/files_sharing_tab.js index 18b4f4d7d1f..076e4c8f3f2 100644 --- a/apps/files_sharing/src/files_sharing_tab.js +++ b/apps/files_sharing/src/files_sharing_tab.js @@ -24,6 +24,8 @@ import SharingTab from './views/SharingTab' import ShareSearch from './services/ShareSearch' import ExternalLinkActions from './services/ExternalLinkActions' +import TabSections from './services/TabSections' + if (window.OCA && window.OCA.Sharing) { Object.assign(window.OCA.Sharing, { ShareSearch: new ShareSearch() }) } @@ -32,6 +34,8 @@ if (window.OCA && window.OCA.Sharing) { Object.assign(window.OCA.Sharing, { ExternalLinkActions: new ExternalLinkActions() }) } +Object.assign(window.OCA.Sharing, { ShareTabSections: new TabSections() }) + window.addEventListener('DOMContentLoaded', () => { if (OCA.Files && OCA.Files.Sidebar) { OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab('sharing', SharingTab)) diff --git a/apps/files_sharing/src/services/TabSections.js b/apps/files_sharing/src/services/TabSections.js new file mode 100644 index 00000000000..0750cc707ef --- /dev/null +++ b/apps/files_sharing/src/services/TabSections.js @@ -0,0 +1,49 @@ +/** + * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net> + * + * @author Julius Härtl <jus@bitgrid.net> + * + * @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/>. + * + */ + +/** + * Callback for adding two numbers. + * + * @callback registerSectionCallback + * @param {Element} el The DOM element where the section is rendered + * @param {FileInfo} fileInfo current file FileInfo + */ +export default class TabSections { + + #sections; + + constructor() { + this.#sections = [] + } + + /** + * @param {registerSectionCallback} section To be called to mount the section to the sharing sidebar + */ + registerSection(section) { + this.#sections.push(section) + } + + getSections() { + return this.#sections + } + +} |