Выпадающее меню больше не закрывается от любого движения мыши
Между кнопкой и списком был зазор, из-за которого hover срабатывал как выход из группы. Убрал зазор и добавил задержку закрытия 150 мс с отменой при возврате курсора — перейти в пункты меню теперь можно спокойно.
This commit is contained in:
parent
73e83e2413
commit
58bfb1608a
|
|
@ -171,7 +171,7 @@ make backup E=test # на домашнем сервере: ./scripts/clickho
|
|||
|
||||
## Версионирование
|
||||
|
||||
- Единый источник версии — `common/version.py` (`__version__`), текущая — `0.6.4`.
|
||||
- Единый источник версии — `common/version.py` (`__version__`), текущая — `0.6.5`.
|
||||
- Схема — SemVer-подобная (`MAJOR.MINOR.PATCH`); git-тег = `v` + версия (`v0.1`).
|
||||
- Docker-образы тегируются версией (Блок 2), события ClickHouse получают `bot_version` (Блок 3).
|
||||
- Выпуск: изменить `common/version.py` → коммит → аннотированный тег `vX.Y` → `git push --tags`.
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
Сообщения <span class="text-xs">▾</span>
|
||||
</button>
|
||||
<div
|
||||
class="mt-1 hidden flex-col gap-1 rounded-lg border border-slate-200 bg-white p-2 sm:absolute sm:left-0 sm:top-full sm:z-20 sm:mt-1 sm:min-w-48 sm:shadow-lg"
|
||||
class="hidden flex-col gap-1 rounded-lg border border-slate-200 bg-white p-2 sm:absolute sm:left-0 sm:top-full sm:z-20 sm:min-w-48 sm:shadow-lg"
|
||||
data-group-dropdown
|
||||
>
|
||||
<a href="/sequences" class="rounded px-3 py-1.5 text-slate-600 hover:bg-slate-100 hover:text-slate-900">Шаблоны</a>
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
Пользователи <span class="text-xs">▾</span>
|
||||
</button>
|
||||
<div
|
||||
class="mt-1 hidden flex-col gap-1 rounded-lg border border-slate-200 bg-white p-2 sm:absolute sm:left-0 sm:top-full sm:z-20 sm:mt-1 sm:min-w-48 sm:shadow-lg"
|
||||
class="hidden flex-col gap-1 rounded-lg border border-slate-200 bg-white p-2 sm:absolute sm:left-0 sm:top-full sm:z-20 sm:min-w-48 sm:shadow-lg"
|
||||
data-group-dropdown
|
||||
>
|
||||
<a href="/users" class="rounded px-3 py-1.5 text-slate-600 hover:bg-slate-100 hover:text-slate-900">Список</a>
|
||||
|
|
@ -103,6 +103,8 @@
|
|||
var dropdown = group.querySelector("[data-group-dropdown]");
|
||||
if (!toggle || !dropdown) return;
|
||||
|
||||
var closeTimer = null;
|
||||
|
||||
function setOpen(open) {
|
||||
dropdown.classList.toggle("hidden", !open);
|
||||
toggle.setAttribute("aria-expanded", String(open));
|
||||
|
|
@ -110,12 +112,19 @@
|
|||
|
||||
toggle.addEventListener("click", function (event) {
|
||||
event.stopPropagation();
|
||||
if (closeTimer) clearTimeout(closeTimer);
|
||||
setOpen(dropdown.classList.contains("hidden"));
|
||||
});
|
||||
|
||||
if (window.matchMedia("(min-width: 640px)").matches) {
|
||||
group.addEventListener("mouseenter", function () { setOpen(true); });
|
||||
group.addEventListener("mouseleave", function () { setOpen(false); });
|
||||
group.addEventListener("mouseenter", function () {
|
||||
if (closeTimer) clearTimeout(closeTimer);
|
||||
setOpen(true);
|
||||
});
|
||||
group.addEventListener("mouseleave", function () {
|
||||
if (closeTimer) clearTimeout(closeTimer);
|
||||
closeTimer = setTimeout(function () { setOpen(false); }, 150);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@
|
|||
|
||||
from __future__ import annotations
|
||||
|
||||
__version__ = "0.6.4"
|
||||
__version__ = "0.6.5"
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@ from common import __version__
|
|||
|
||||
def test_version_is_set():
|
||||
assert __version__
|
||||
assert __version__ == "0.6.4"
|
||||
assert __version__ == "0.6.5"
|
||||
|
|
|
|||
Loading…
Reference in New Issue