Skip to content

Commit 31ddfb0

Browse files
committed
Fix SharingInput Multiselect
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
1 parent 7f06a0c commit 31ddfb0

14 files changed

Lines changed: 22 additions & 24 deletions

apps/files_sharing/js/dist/files_sharing_tab.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/files_sharing/js/dist/files_sharing_tab.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/files_sharing/src/components/SharingInput.vue

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
:searchable="true"
3636
:user-select="true"
3737
open-direction="below"
38+
label="displayName"
39+
track-by="id"
3840
@search-change="asyncFind"
3941
@select="addShare">
4042
<template #noOptions>
@@ -233,6 +235,7 @@ export default {
233235
const lookupEntry = []
234236
if (data.lookupEnabled && !lookup) {
235237
lookupEntry.push({
238+
id: 'global-lookup',
236239
isNoUser: true,
237240
displayName: t('files_sharing', 'Search globally'),
238241
lookup: true,
@@ -404,26 +407,27 @@ export default {
404407
* @returns {Object}
405408
*/
406409
formatForMultiselect(result) {
407-
let desc
410+
let subtitle
408411
if (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_USER && this.config.shouldAlwaysShowUnique) {
409-
desc = result.shareWithDisplayNameUnique ?? ''
412+
subtitle = result.shareWithDisplayNameUnique ?? ''
410413
} else if ((result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE
411414
|| result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_REMOTE_GROUP
412415
) && result.value.server) {
413-
desc = t('files_sharing', 'on {server}', { server: result.value.server })
416+
subtitle = t('files_sharing', 'on {server}', { server: result.value.server })
414417
} else if (result.value.shareType === this.SHARE_TYPES.SHARE_TYPE_EMAIL) {
415-
desc = result.value.shareWith
418+
subtitle = result.value.shareWith
416419
} else {
417-
desc = result.shareWithDescription ?? ''
420+
subtitle = result.shareWithDescription ?? ''
418421
}
419422
420423
return {
424+
id: `${result.value.shareType}-${result.value.shareWith}`,
421425
shareWith: result.value.shareWith,
422426
shareType: result.value.shareType,
423427
user: result.uuid || result.value.shareWith,
424428
isNoUser: result.value.shareType !== this.SHARE_TYPES.SHARE_TYPE_USER,
425429
displayName: result.name || result.label,
426-
desc,
430+
subtitle,
427431
shareWithDisplayNameUnique: result.shareWithDisplayNameUnique || '',
428432
icon: this.shareTypeToIcon(result.value.shareType),
429433
}

apps/files_sharing/src/models/Share.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,17 @@ export default class Share {
150150
|| this.#share.share_with
151151
}
152152

153+
/**
154+
* Unique display name in case of multiple
155+
* duplicates results with the same name.
156+
*
157+
* @returns {string}
158+
* @readonly
159+
* @memberof Share
160+
*/
153161
get shareWithDisplayNameUnique() {
154-
return this.#share.share_with_displayname_unique || this.#share.share_with
162+
return this.#share.share_with_displayname_unique
163+
|| this.#share.share_with
155164
}
156165

157166
/**

apps/settings/js/vue-settings-apps-53ebd5109b417caf3351.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

apps/settings/js/vue-settings-apps-53ebd5109b417caf3351.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/settings/js/vue-settings-users-961f28f8e8f7699aa569.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

apps/settings/js/vue-settings-users-961f28f8e8f7699aa569.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

apps/settings/js/vue-vendors-settings-apps-b8832926335a405dfc1b.js

Lines changed: 0 additions & 2 deletions
This file was deleted.

apps/settings/js/vue-vendors-settings-apps-b8832926335a405dfc1b.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)