Adição da função de caixa de ferramentas aglutinando as funções de adição manual
This commit is contained in:
30
app/javascript/controllers/ferramentas_controller.js
Normal file
30
app/javascript/controllers/ferramentas_controller.js
Normal file
@@ -0,0 +1,30 @@
|
||||
// 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")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user