diff options
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r-- | apps/files_sharing/src/components/SharingEntry.vue | 5 | ||||
-rw-r--r-- | apps/files_sharing/src/components/SharingEntrySimple.vue | 4 | ||||
-rw-r--r-- | apps/files_sharing/src/mixins/SharesMixin.js | 4 | ||||
-rw-r--r-- | apps/files_sharing/src/models/Share.js | 4 | ||||
-rw-r--r-- | apps/files_sharing/src/views/SharingList.vue | 11 |
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: { |