Skip meeting participants in invite list (#9981)

Signed-off-by: Anton Alexeyev <alexeyev.anton@gmail.com>
This commit is contained in:
Anton Alexeyev
2025-09-30 18:39:31 +07:00
committed by GitHub
parent 3195af9934
commit 80886e8201
3 changed files with 8 additions and 2 deletions
@@ -31,6 +31,7 @@
export let placeholder: IntlString = presentation.string.Search
export let selected: Ref<Employee>[] = []
export let skipCurrentAccount = false
export let skipAccounts: Ref<Employee>[] = []
export let disableDeselectFor: Ref<Employee>[] = []
export let showStatus = true
export let skipInactive = false
@@ -91,6 +92,7 @@
{showStatus}
{disableDeselectFor}
{skipCurrentAccount}
{skipAccounts}
{skipInactive}
on:select={handleSelectionChanged}
/>
@@ -28,6 +28,7 @@
export let search: string = ''
export let selected: Ref<Employee>[] = []
export let skipCurrentAccount = false
export let skipAccounts: Ref<Employee>[] = []
export let disableDeselectFor: Ref<Employee>[] = []
export let showStatus = true
export let skipInactive = false
@@ -52,7 +53,7 @@
? { $search: search }
: { [searchField]: { $like: '%' + search + '%' } }
: {}),
...(skipCurrentAccount ? { _id: { $ne: me } } : {}),
...{ _id: { $nin: skipCurrentAccount ? [...skipAccounts, me] : [...skipAccounts] } },
...(skipInactive ? { active: true } : {}),
...(skipOnlyLocal ? { personUuid: { $exists: true } } : {})
},
@@ -15,11 +15,12 @@
<script lang="ts">
import { ButtonBaseSize, IconSize, ModernButton, showPopup } from '@hcengineering/ui'
import { Employee } from '@hcengineering/contact'
import { sendInvites } from '../../../meetings'
import { currentMeetingRoom, sendInvites } from '../../../meetings'
import love from '../../../plugin'
import { SelectUsersPopup } from '@hcengineering/contact-resources'
import { Ref } from '@hcengineering/core'
import { createEventDispatcher } from 'svelte'
import { infos } from '../../../stores'
export let employee: Employee | undefined = undefined
export let kind: 'primary' | 'secondary' | 'tertiary' | 'negative' = 'secondary'
@@ -39,11 +40,13 @@
}
function openSelectUsersPopup (): void {
const skipAccounts = $infos.filter((p) => p.room === currentMeetingRoom).map((p) => p.person)
showPopup(
SelectUsersPopup,
{
okLabel: love.string.Invite,
skipCurrentAccount: true,
skipAccounts,
skipInactive: true,
showStatus: true
},