Skip to content

fix: corrige a emissão de evento de foco e blur em date input desativado#1044

Open
jvictordev1 wants to merge 1 commit intomainfrom
fix/disabled-focus-date-input
Open

fix: corrige a emissão de evento de foco e blur em date input desativado#1044
jvictordev1 wants to merge 1 commit intomainfrom
fix/disabled-focus-date-input

Conversation

@jvictordev1
Copy link
Contributor

Por favor, verifique se o seu pull request está de acordo com o checklist abaixo:

  • A implementação feita possui testes (Caso haja um motivo para não haver testes/haver apenas testes de snapshot, descrever abaixo)
  • A documentação no mdx foi feita ou atualizada, caso necessário
  • O eslint passou localmente

1 - Resumo

Impede a emissão do evento de foco e blur quando o date input está desativado.

2 - Tipo de pull request

  • 🧱 Novo componente
  • ✨ Nova feature ou melhoria
  • 🐛 Fix
  • 👨‍💻 Refatoração
  • 📝 Documentação
  • 🎨 Estilo
  • 🤖 Build ou CI/CD

3 - Esse PR fecha alguma issue? Favor referenciá-la

#913

4 - Quais são os passos para avaliar o pull request?

  1. Rode os testes do projeto com npm run test
  2. Builde o projeto com npm run build
  3. Acesse a documentação com npm run docs:dev, vá até o componente DateInput e verifique que os eventos de @focus e @blur não são emitidos quando o componente está desabilitado, assim como sua estilização não muda (o input continua com a estilização de input desabilitado)

5 - Imagem ou exemplo de uso:

image

6 - Esse pull request adiciona breaking changes?

  • Sim
  • Não

@github-actions github-actions bot added the 🐛 Bug Algo não está funcionando label Jan 14, 2026
@tassiocaique
Copy link
Collaborator

@greptileai revise esse PR

@greptile-apps
Copy link

greptile-apps bot commented Feb 11, 2026

Greptile Overview

Greptile Summary

Este PR tenta corrigir a emissão de eventos de foco e blur em inputs de data desabilitados, mas contém um erro crítico de lógica. A implementação atual usa disabled && nos event handlers, o que faz com que os eventos sejam emitidos APENAS quando o componente está desabilitado - exatamente o oposto do comportamento desejado.

Problema identificado:

  • As linhas 83-85 usam @focus="disabled && handleFocus"
  • Em JavaScript, disabled && handleFocus só executa handleFocus quando disabled é true
  • O comportamento correto seria usar !disabled && para executar apenas quando NÃO está desabilitado

Impacto:

  • Com a mudança atual, inputs de data habilitados NÃO emitirão eventos de foco/blur
  • Inputs de data desabilitados EMITIRÃO eventos de foco/blur (bug)
  • Isso quebra a funcionalidade esperada do componente

Solução:
Usar !disabled && ao invés de disabled && nos event handlers, ou mover a verificação para dentro das funções handleFocus, handleBlur e handleKeydown.

Confidence Score: 0/5

  • Este PR NÃO deve ser mesclado - contém bug crítico que inverte a lógica desejada
  • A lógica booleana está completamente invertida. Usar disabled && faz com que os handlers sejam chamados apenas quando o input está desabilitado, quando o objetivo era justamente o contrário. Isso introduz um bug grave que quebra a funcionalidade tanto para inputs habilitados quanto desabilitados.
  • O arquivo src/components/BaseInput.vue precisa de correção urgente nas linhas 83-85

Important Files Changed

Filename Overview
package.json bump de versão patch (3.152.0 → 3.152.1), sem problemas
src/components/BaseInput.vue lógica invertida nos event handlers - eventos serão emitidos apenas quando desabilitado (bug crítico)

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Comment on lines +83 to +85
@focus="disabled && handleFocus"
@blur="disabled && handleBlur"
@keydown="disabled && handleKeydown"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lógica invertida: a condição atual emite eventos APENAS quando desabilitado (oposto do esperado). Use negação da prop disabled para corrigir

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lucasn4s lucasn4s added the jules Marca o Google Jules para investigação. label Feb 11, 2026
@caveat-ops
Copy link

Greptile Overview

Greptile Summary

Este PR tenta corrigir a emissão de eventos de foco e blur em inputs de data desabilitados, mas contém um erro crítico de lógica. A implementação atual usa disabled && nos event handlers, o que faz com que os eventos sejam emitidos APENAS quando o componente está desabilitado - exatamente o oposto do comportamento desejado.

Problema identificado:

* As linhas 83-85 usam `@focus="disabled && handleFocus"`

* Em JavaScript, `disabled && handleFocus` só executa `handleFocus` quando `disabled` é `true`

* O comportamento correto seria usar `!disabled &&` para executar apenas quando NÃO está desabilitado

Impacto:

* Com a mudança atual, inputs de data habilitados NÃO emitirão eventos de foco/blur

* Inputs de data desabilitados EMITIRÃO eventos de foco/blur (bug)

* Isso quebra a funcionalidade esperada do componente

Solução: Usar !disabled && ao invés de disabled && nos event handlers, ou mover a verificação para dentro das funções handleFocus, handleBlur e handleKeydown.

Confidence Score: 0/5

* Este PR NÃO deve ser mesclado - contém bug crítico que inverte a lógica desejada

* A lógica booleana está completamente invertida. Usar `disabled &&` faz com que os handlers sejam chamados apenas quando o input está desabilitado, quando o objetivo era justamente o contrário. Isso introduz um bug grave que quebra a funcionalidade tanto para inputs habilitados quanto desabilitados.

* O arquivo `src/components/BaseInput.vue` precisa de correção urgente nas linhas 83-85

Important Files Changed

@google-labs-jules Implement the suggestion above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 Bug Algo não está funcionando jules Marca o Google Jules para investigação.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants