// 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")
  }
}
