fix: toggle calc sample menus on repeated clicks
This commit is contained in:
@@ -343,13 +343,16 @@ function closeModeMenu() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function openModeMenu() {
|
function toggleModeMenu() {
|
||||||
closeModeMenu();
|
if (modeMenuEl) {
|
||||||
|
closeModeMenu();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
closeConstMenu();
|
||||||
const rect = modeButton.getBoundingClientRect();
|
const rect = modeButton.getBoundingClientRect();
|
||||||
modeMenuEl = document.createElement('div');
|
modeMenuEl = document.createElement('div');
|
||||||
modeMenuEl.className = 'mode-menu';
|
modeMenuEl.className = 'mode-menu';
|
||||||
modeMenuEl.style.top = `${rect.bottom + 6 + window.scrollY}px`;
|
modeMenuEl.style.top = `${rect.bottom + 6 + window.scrollY}px`;
|
||||||
modeMenuEl.style.left = `${rect.left + window.scrollX}px`;
|
|
||||||
modeOptions.forEach((mode) => {
|
modeOptions.forEach((mode) => {
|
||||||
const button = document.createElement('button');
|
const button = document.createElement('button');
|
||||||
button.type = 'button';
|
button.type = 'button';
|
||||||
@@ -370,7 +373,7 @@ function openModeMenu() {
|
|||||||
|
|
||||||
modeButton.addEventListener('click', (event) => {
|
modeButton.addEventListener('click', (event) => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
openModeMenu();
|
toggleModeMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
window.addEventListener('resize', () => {
|
window.addEventListener('resize', () => {
|
||||||
@@ -432,8 +435,12 @@ function closeConstMenu() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function openConstMenu() {
|
function toggleConstMenu() {
|
||||||
closeConstMenu();
|
if (constMenuEl) {
|
||||||
|
closeConstMenu();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
closeModeMenu();
|
||||||
const rect = constButton.getBoundingClientRect();
|
const rect = constButton.getBoundingClientRect();
|
||||||
constMenuEl = document.createElement('div');
|
constMenuEl = document.createElement('div');
|
||||||
constMenuEl.className = 'mode-menu';
|
constMenuEl.className = 'mode-menu';
|
||||||
@@ -461,7 +468,7 @@ function openConstMenu() {
|
|||||||
|
|
||||||
constButton.addEventListener('click', (event) => {
|
constButton.addEventListener('click', (event) => {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
openConstMenu();
|
toggleConstMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
leftButton.addEventListener('click', () => {});
|
leftButton.addEventListener('click', () => {});
|
||||||
|
|||||||
Reference in New Issue
Block a user