// app/javascript/controllers/ferramentas_controller.js // Stimulus — "caixa de ferramentas": um botão que abre um menu suspenso com as // ações de lançamento (registrar entrega manual, entrega de termo). Cada item do // menu dispara o modal correspondente (controllers apontamento-manual / // apontamento-termo, que vivem no mesmo elemento pai). import { Controller } from "@hotwired/stimulus" export default class extends Controller { static targets = ["menu"] connect() { // Fecha o menu ao clicar fora dele. this._fora = (e) => { if (!this.element.contains(e.target)) this.fechar() } document.addEventListener("click", this._fora) } disconnect() { document.removeEventListener("click", this._fora) } toggle(event) { event.stopPropagation() this.menuTarget.classList.toggle("hidden") } fechar() { this.menuTarget.classList.add("hidden") } }