| 1 | import { MdNavigationDrawer } from "./MdNavigationDrawer.js" |
| 2 | |
| 3 | export class MdMenuButton extends HTMLButtonElement { |
| 4 | |
| 5 | constructor() { |
| 6 | super() |
| 7 | this.abreDrawer = this.abreDrawer.bind(this) |
| 8 | } |
| 9 | |
| 10 | connectedCallback() { |
| 11 | this.type = "button" |
| 12 | this.classList.add("md-standard-icon-button") |
| 13 | this.innerHTML = |
| 14 | `<span class="material-symbols-outlined">menu</span>` |
| 15 | this.addEventListener("click", this.abreDrawer) |
| 16 | } |
| 17 | |
| 18 | disconnectedCallback() { |
| 19 | this.removeEventListener("click", this.abreDrawer) |
| 20 | } |
| 21 | |
| 22 | abreDrawer() { |
| 23 | const drawer = document.querySelector(".drawer") |
| 24 | if (drawer instanceof MdNavigationDrawer) { |
| 25 | drawer.abre() |
| 26 | } |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | customElements.define("md-menu-button", MdMenuButton, { extends: "button" }) |