aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/src
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r--apps/files_sharing/src/components/SharingEntry.vue5
-rw-r--r--apps/files_sharing/src/components/SharingEntrySimple.vue4
-rw-r--r--apps/files_sharing/src/mixins/SharesMixin.js4
-rw-r--r--apps/files_sharing/src/models/Share.js4
-rw-r--r--apps/files_sharing/src/views/SharingList.vue11
5 files changed, 27 insertions, 1 deletions
diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue
index 407221037dc..c66dfc5c802 100644
--- a/apps/files_sharing/src/components/SharingEntry.vue
+++ b/apps/files_sharing/src/components/SharingEntry.vue
@@ -33,7 +33,7 @@
:href="share.shareWithLink"
v-tooltip.auto="tooltip"
class="sharing-entry__desc">
- <h5>{{ title }}</h5>
+ <h5>{{ title }}<span v-if="!isUnique" class="sharing-entry__desc-unique"> ({{ share.shareWithDisplayNameUnique }})</span></h5>
<p v-if="hasStatus">
<span>{{ share.status.icon || '' }}</span>
<span>{{ share.status.message || '' }}</span>
@@ -402,6 +402,9 @@ export default {
p {
color: var(--color-text-maxcontrast);
}
+ &-unique {
+ color: var(--color-text-maxcontrast);
+ }
}
&__actions {
margin-left: auto;
diff --git a/apps/files_sharing/src/components/SharingEntrySimple.vue b/apps/files_sharing/src/components/SharingEntrySimple.vue
index 5cdce17bf0c..de545a497a8 100644
--- a/apps/files_sharing/src/components/SharingEntrySimple.vue
+++ b/apps/files_sharing/src/components/SharingEntrySimple.vue
@@ -64,6 +64,10 @@ export default {
type: String,
default: '',
},
+ isUnique: {
+ type: Boolean,
+ default: true,
+ },
},
}
diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js
index b35ebd8359e..aef543a5fc6 100644
--- a/apps/files_sharing/src/mixins/SharesMixin.js
+++ b/apps/files_sharing/src/mixins/SharesMixin.js
@@ -42,6 +42,10 @@ export default {
type: Share,
default: null,
},
+ isUnique: {
+ type: Boolean,
+ default: true,
+ },
},
data() {
diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js
index d36484f064a..db9351fb52c 100644
--- a/apps/files_sharing/src/models/Share.js
+++ b/apps/files_sharing/src/models/Share.js
@@ -150,6 +150,10 @@ export default class Share {
|| this.#share.share_with
}
+ get shareWithDisplayNameUnique() {
+ return this.#share.share_with_displayname_unique || this.#share.share_with
+ }
+
/**
* Get the share with entity link
*
diff --git a/apps/files_sharing/src/views/SharingList.vue b/apps/files_sharing/src/views/SharingList.vue
index b8f12f6ef15..5c2a21c8bf8 100644
--- a/apps/files_sharing/src/views/SharingList.vue
+++ b/apps/files_sharing/src/views/SharingList.vue
@@ -26,6 +26,7 @@
:key="share.id"
:file-info="fileInfo"
:share="share"
+ :is-unique="isUnique(share)"
@remove:share="removeShare" />
</ul>
</template>
@@ -34,6 +35,7 @@
// eslint-disable-next-line no-unused-vars
import Share from '../models/Share'
import SharingEntry from '../components/SharingEntry'
+import ShareTypes from '../mixins/ShareTypes'
export default {
name: 'SharingList',
@@ -42,6 +44,8 @@ export default {
SharingEntry,
},
+ mixins: [ShareTypes],
+
props: {
fileInfo: {
type: Object,
@@ -59,6 +63,13 @@ export default {
hasShares() {
return this.shares.length === 0
},
+ isUnique() {
+ return (share) => {
+ return [...this.shares].filter((item) => {
+ return share.type === this.SHARE_TYPES.SHARE_TYPE_USER && share.shareWithDisplayName === item.shareWithDisplayName
+ }).length <= 1
+ }
+ },
},
methods: {