-
Status:
implemented-pending-homologation(relatório e plano da lousa emsdd/implementation/BATCH-258.md) -
Modo de Autonomia:
autonomo_monitorado -
Lote Alvo Core:
BATCH-258(conn2flow) -
Lote Coordenado no Site:
REQ-111/BATCH-105(conn2flow-site) -
Data de Criação: 2026-10-06
-
Origem: pedido direto do Engenheiro Chefe no chat, ao testar a REQ-248 no Lab.
-
Repositório Alvo: Core
conn2flowem[REDACTED] -
Branch de trabalho:
feat/req-249.
1. Pedido, nas palavras do Engenheiro Chefe
"Ainda continua com defeito de link. Eu tenho um widget que é a loja. Quando eu clico na imagem, o link vai para fora. Mas quando eu clico no adicionar carrinho, não faz nada. Na página real ela funciona o botão adicionar carrinho e vai para o mesmo lugar. Da mesma coisa, menus e navegação institucional rodapé: ele clica e fica lá dentro, fica alterando página lá dentro."
"Eu queria ter possibilidade de os widgets e métricas mudarem de posição com módulos, ou seja, aparecer primeiro. No menu, ali nas opções. E essa configuração poder ser salva lá para os layouts, que vai ler lá nos perfis."
"Eu tive outras ideias para a lousa: criar formas, colocar texto, poder fazer desenho, rabisco. Não precisa fazer tudo de uma vez, vai por partes. Pode também já fazer um plano."
2. Diagnóstico (reproduzido no Lab)
-
Os links dos widgets
menustrazemtarget="_self"no próprio elemento; obase target="_top"do documento isolado só vale para link sem destino próprio. -
O botão de carrinho da loja não é link: o script chama o carrinho com a sessão do visitante. O widget no Dashboard roda em documento isolado, sem sessão, e a chamada falha sem aviso. Tratado no site (REQ-111).
-
Navegação feita por script (
location.href = …) dentro do widget também fica no quadro.
3. Escopo no core
-
No documento isolado do widget: todo clique em link e todo envio de formulário sai para a página de fora, qualquer que seja o
targetescrito; âncora interna continua dentro. Navegação por script é desviada para fora onde o navegador permite interceptar. -
O documento passa a se identificar para os scripts de widget (
gestor.dashboardWidget), para que um módulo adapte o que depende da sessão. -
Opção no menu "Widgets antes dos módulos": troca a ordem das duas abas. Vale para o próprio layout, é guardada nos layouts salvos e no layout publicado por perfil.
-
Plano de evolução da lousa (texto, formas, desenho, ícones), em fases, registrado no relatório do lote. Sem implementação neste lote.
4. Critérios de aceite
-
[x] Link do widget de menus com
target="_self"abre na página de fora. -
[x] Link com
target="_blank"e formulário de busca também saem para a página de fora. -
[x] Âncora interna continua dentro do widget.
-
[x] Aba de widgets em primeiro pelo menu; persiste; acompanha layout salvo e publicado; quem só visualiza recebe a ordem do perfil.
-
[x] PHPUnit e Vitest verdes; roteiro de navegador no Lab; textos nos dois idiomas.