diff --git a/dashboard/src/components/MailboxDialog.vue b/dashboard/src/components/MailboxDialog.vue index ace6b842e..beaac4dd1 100644 --- a/dashboard/src/components/MailboxDialog.vue +++ b/dashboard/src/components/MailboxDialog.vue @@ -111,26 +111,19 @@ defineExpose({ usersAndGroupsAndApps.value = []; if (props.users.length) usersAndGroupsAndApps.value.push({ separator: true, label: 'Users' }); - usersAndGroupsAndApps.value = usersAndGroupsAndApps.value.concat(props.users); + usersAndGroupsAndApps.value = usersAndGroupsAndApps.value.concat(props.users.map(u => { + return { ...u, icon: 'fa-solid fa-user', name: u.username || u.displayName || u.email }; + })); if (props.groups.length) usersAndGroupsAndApps.value.push({ separator: true, label: 'Groups' }); - usersAndGroupsAndApps.value = usersAndGroupsAndApps.value.concat(props.groups); + usersAndGroupsAndApps.value = usersAndGroupsAndApps.value.concat(props.groups.map(g => { + return { ...g, icon: 'fa-solid fa-users' }; + })); if (props.apps.length) usersAndGroupsAndApps.value.push({ separator: true, label: 'Apps' }); - usersAndGroupsAndApps.value = usersAndGroupsAndApps.value.concat(props.apps); - - // unify on .name for multiselect - usersAndGroupsAndApps.value.forEach(item => { - if (item.appIds) { - item.icon = 'fa-solid fa-users'; - } else if (item.username) { - item.icon = 'fa-solid fa-user'; - item.name = item.username; - } else { - item.icon = 'fa-solid fa-cube'; - item.name = item.label || item.fqdn; - } - }); + usersAndGroupsAndApps.value = usersAndGroupsAndApps.value.concat(props.apps.map(a => { + return { ...a, icon: 'fa-solid fa-cube', name: a.label || a.fqdn }; + })); domainList.value = props.domains.map(d => { return {