mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-23 01:50:12 +01:00
This commit is contained in:
parent
fc0e5bdf01
commit
b73396a5f9
6 changed files with 91 additions and 20 deletions
|
|
@ -12,8 +12,21 @@ export class Menu {
|
|||
this.wheelEvent = "onwheel" in document.createElement("div") ? "wheel" : "mousewheel";
|
||||
|
||||
this.element = document.getElementById("commonMenu");
|
||||
this.element.addEventListener(isMobile() ? getEventName() : "mouseover", (event) => {
|
||||
this.element.addEventListener(isMobile() ? "click" : "mouseover", (event) => {
|
||||
const target = event.target as Element;
|
||||
if (isMobile()) {
|
||||
const titleElement = hasClosestByClassName(target, "b3-menu__title");
|
||||
if (titleElement) {
|
||||
const lastShowElements = this.element.querySelectorAll(".b3-menu__item--show");
|
||||
if (lastShowElements.length > 0) {
|
||||
lastShowElements[lastShowElements.length - 1].classList.remove("b3-menu__item--show");
|
||||
} else {
|
||||
this.remove();
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
const itemElement = hasClosestByClassName(target, "b3-menu__item");
|
||||
if (!itemElement) {
|
||||
return;
|
||||
|
|
@ -35,7 +48,9 @@ export class Menu {
|
|||
return;
|
||||
}
|
||||
itemElement.classList.add("b3-menu__item--show");
|
||||
this.showSubMenu(subMenuElement);
|
||||
if (!this.element.classList.contains("b3-menu--fullscreen")) {
|
||||
this.showSubMenu(subMenuElement);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -102,6 +117,15 @@ export class Menu {
|
|||
this.element.classList.remove("fn__none");
|
||||
setPosition(this.element, options.x - (isLeft ? window.siyuan.menus.menu.element.clientWidth : 0), options.y, options.h, options.w);
|
||||
}
|
||||
|
||||
public fullscreen () {
|
||||
this.element.classList.add("b3-menu--fullscreen");
|
||||
this.element.insertAdjacentHTML("afterbegin", `<div class="b3-menu__title">
|
||||
<svg><use xlink:href="#iconLeft"></use></svg>
|
||||
${window.siyuan.languages.back}
|
||||
</div>`);
|
||||
this.popup({x: 0, y: 0});
|
||||
}
|
||||
}
|
||||
|
||||
export class MenuItem {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue