mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-18 05:02:14 +01:00
fix select behaviour in project member dropdown, fixes ST-308
This commit is contained in:
@@ -35,7 +35,7 @@ function isMemberSelected(id: string) {
|
|||||||
return model.value === id;
|
return model.value === id;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { focused } = useFocus(searchInput, { initialValue: true });
|
useFocus(searchInput, { initialValue: true });
|
||||||
|
|
||||||
const filteredMembers = computed(() => {
|
const filteredMembers = computed(() => {
|
||||||
return members.value.filter((member) => {
|
return members.value.filter((member) => {
|
||||||
@@ -142,18 +142,15 @@ const hasMemberSelected = computed(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const showMembersDropdown = ref(true);
|
const showMembersDropdown = ref(true);
|
||||||
|
|
||||||
function onUnfocus() {
|
|
||||||
// TODO this is a hack to prevent the dropdown from closing when clicking on the dropdown
|
|
||||||
setTimeout(() => {
|
|
||||||
if (!focused.value) {
|
|
||||||
showMembersDropdown.value = false;
|
|
||||||
}
|
|
||||||
}, 100);
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
<Dropdown
|
||||||
|
align="bottom-start"
|
||||||
|
width="300"
|
||||||
|
v-model="showMembersDropdown"
|
||||||
|
:closeOnContentClick="true">
|
||||||
|
<template #trigger>
|
||||||
<div class="flex relative">
|
<div class="flex relative">
|
||||||
<div
|
<div
|
||||||
ref="reference"
|
ref="reference"
|
||||||
@@ -175,16 +172,10 @@ function onUnfocus() {
|
|||||||
@keydown.up.prevent="moveHighlightUp"
|
@keydown.up.prevent="moveHighlightUp"
|
||||||
class="relative w-full pl-10"
|
class="relative w-full pl-10"
|
||||||
@keydown.down.prevent="moveHighlightDown"
|
@keydown.down.prevent="moveHighlightDown"
|
||||||
@focusin="showMembersDropdown = true"
|
|
||||||
@blur="onUnfocus"
|
|
||||||
placeholder="Search for a member..."
|
placeholder="Search for a member..."
|
||||||
ref="searchInput" />
|
ref="searchInput" />
|
||||||
</div>
|
</div>
|
||||||
<Dropdown
|
</template>
|
||||||
align="bottom-start"
|
|
||||||
width="300"
|
|
||||||
v-model="showMembersDropdown"
|
|
||||||
:closeOnContentClick="true">
|
|
||||||
<template #content>
|
<template #content>
|
||||||
<div
|
<div
|
||||||
class="py-2 text-white px-3"
|
class="py-2 text-white px-3"
|
||||||
|
|||||||
Reference in New Issue
Block a user