Criação da bateria de testes automatizados, correção da pagina de gerar romaneio e plano da criação do modulo cliente
This commit is contained in:
@@ -133,7 +133,12 @@ export default class extends Controller {
|
||||
abrirPreview() {
|
||||
if (!this.hasOverlayTarget) return
|
||||
|
||||
// Classe + atributo: só o atributo `hidden` não basta, porque a utility
|
||||
// `.flex` do Tailwind vence o `[hidden] { display:none }` do preflight —
|
||||
// foi assim que o modal ficou preso na tela do /admin/romaneios/13.
|
||||
this.overlayTarget.hidden = false
|
||||
this.overlayTarget.classList.remove("hidden")
|
||||
this.overlayTarget.classList.add("flex")
|
||||
// Trava o scroll do fundo: rolar a lista atrás de um modal aberto faz o
|
||||
// operador perder o lugar quando fecha.
|
||||
document.body.style.overflow = "hidden"
|
||||
@@ -144,6 +149,8 @@ export default class extends Controller {
|
||||
if (!this.hasOverlayTarget || this.overlayTarget.hidden) return
|
||||
|
||||
this.overlayTarget.hidden = true
|
||||
this.overlayTarget.classList.remove("flex")
|
||||
this.overlayTarget.classList.add("hidden")
|
||||
document.body.style.overflow = ""
|
||||
}
|
||||
|
||||
|
||||
@@ -92,10 +92,17 @@
|
||||
|
||||
<iframe> e não <embed>/<object>: o CSP está em enforcing com
|
||||
`object_src :none`, e sem `frame_src` ele cai em `default_src :self` —
|
||||
o iframe de mesma origem passa, os outros dois não. %>
|
||||
o iframe de mesma origem passa, os outros dois não.
|
||||
|
||||
O fechado/aberto é pela CLASSE `hidden`/`flex`, não só pelo atributo
|
||||
`hidden`: as utilities do Tailwind são aplicadas depois do preflight,
|
||||
então `.flex` vence o `[hidden] { display:none }` — com `flex` fixo no
|
||||
markup o modal nascia aberto, em branco e sem fechar, cobrindo a tela
|
||||
inteira (caso real: /admin/romaneios/13). O controller troca as classes
|
||||
e mantém o atributo sincronizado. %>
|
||||
<div data-romaneio-target="overlay" hidden
|
||||
data-action="click->romaneio#fecharPorFora keydown.esc@window->romaneio#fecharPreview"
|
||||
class="fixed inset-0 z-50 flex items-center justify-center p-3 sm:p-6
|
||||
class="fixed inset-0 z-50 hidden items-center justify-center p-3 sm:p-6
|
||||
bg-black/70 backdrop-blur-sm">
|
||||
<div class="w-full max-w-6xl h-[92vh] flex flex-col gap-3"
|
||||
data-romaneio-target="caixaPreview">
|
||||
|
||||
Reference in New Issue
Block a user