aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/src/sharebreadcrumbview.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/src/sharebreadcrumbview.js')
-rw-r--r--apps/files_sharing/src/sharebreadcrumbview.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/apps/files_sharing/src/sharebreadcrumbview.js b/apps/files_sharing/src/sharebreadcrumbview.js
new file mode 100644
index 00000000000..68ea75d4df9
--- /dev/null
+++ b/apps/files_sharing/src/sharebreadcrumbview.js
@@ -0,0 +1,62 @@
+/**
+ * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { ShareType } from '@nextcloud/sharing'
+
+(function() {
+ 'use strict'
+
+ const BreadCrumbView = OC.Backbone.View.extend({
+ tagName: 'span',
+ events: {
+ click: '_onClick',
+ },
+ _dirInfo: undefined,
+
+ render(data) {
+ this._dirInfo = data.dirInfo || null
+
+ if (this._dirInfo !== null && (this._dirInfo.path !== '/' || this._dirInfo.name !== '')) {
+ const isShared = data.dirInfo && data.dirInfo.shareTypes && data.dirInfo.shareTypes.length > 0
+ this.$el.removeClass('shared icon-public icon-shared')
+ if (isShared) {
+ this.$el.addClass('shared')
+ if (data.dirInfo.shareTypes.indexOf(ShareType.Link) !== -1) {
+ this.$el.addClass('icon-public')
+ } else {
+ this.$el.addClass('icon-shared')
+ }
+ } else {
+ this.$el.addClass('icon-shared')
+ }
+ this.$el.show()
+ this.delegateEvents()
+ } else {
+ this.$el.removeClass('shared icon-public icon-shared')
+ this.$el.hide()
+ }
+
+ return this
+ },
+ _onClick(e) {
+ e.preventDefault()
+ e.stopPropagation()
+
+ const fileInfoModel = new OCA.Files.FileInfoModel(this._dirInfo)
+ const self = this
+ fileInfoModel.on('change', function() {
+ self.render({
+ dirInfo: self._dirInfo,
+ })
+ })
+
+ const path = fileInfoModel.attributes.path + '/' + fileInfoModel.attributes.name
+ OCA.Files.Sidebar.open(path)
+ OCA.Files.Sidebar.setActiveTab('sharing')
+ },
+ })
+
+ OCA.Sharing.ShareBreadCrumbView = BreadCrumbView
+})()