Updated navigator layout (#5619)

Signed-off-by: Alexander Platov <alexander.platov@hardcoreeng.com>
This commit is contained in:
Alexander Platov
2024-06-05 12:50:13 +07:00
committed by GitHub
parent 07d35f0827
commit a437926f35
79 changed files with 1582 additions and 1012 deletions
+10 -1
View File
@@ -16,7 +16,7 @@
import type { Asset, IntlString } from '@hcengineering/platform'
import { deepEqual } from 'fast-equals'
import { ComponentType, createEventDispatcher } from 'svelte'
import { closePopup, showPopup } from '..'
import { closePopup, showPopup, type LabelAndProps, closeTooltip } from '..'
import { AnySvelteComponent, DropdownIntlItem } from '../types'
import ButtonBase from './ButtonBase.svelte'
import ModernPopup from './ModernPopup.svelte'
@@ -32,6 +32,8 @@
export let loading: boolean = false
export let inheritColor: boolean = false
export let noSelection: boolean = false
export let autoSelectionIfOne: boolean = false
export let tooltip: LabelAndProps | undefined = undefined
export let items: DropdownIntlItem[]
export let params: Record<string, any> = {}
@@ -46,7 +48,13 @@
function openPopup () {
if (!opened) {
if (autoSelectionIfOne && items.length === 1) {
selected = items[0].id
dispatch('selected', selected)
return
}
opened = true
closeTooltip()
showPopup(ModernPopup, { items, selected: noSelection ? undefined : selected, params }, element, (result) => {
if (result) {
selected = result
@@ -86,5 +94,6 @@
pressed={opened}
{focusIndex}
{id}
{tooltip}
on:click={openPopup}
/>