github / github/remote-input-element
Ability to prevent/cancel fetch on focus
- Linguagem predominante
- JavaScript
- Estrelas
- 91
- Forks
- 17
- Merge médio
- 1d 19h
- PRs com merge (30d)
- 5
Descrição
I'm using the remote input in a [SelectMenu](https://primer.style/css/components/select-menu#githubcom-usage). The menu's SelectMenu-list is controlled by the remote input. When the page is rendered server-side, a few commonly used items are rendered in the SelectMenu-list to save the user time. The problem I have is these items are instantly cleared when the SelectMenu opens and the remote input receives focus due to the remote input doing the initial fetch.
Would the team be open to a PR that makes it possible to skip/cancel the initial fetch? I'd like to avoid the unnecessary round-trip to the server to get suggestions for the empty string query and preserve by server-side rendered default SelectMenu items. If yes, should it be done via html attribute or by preventing default on one of the custom events?
Two other questions:
1. Should load fire before the fetch starts?
https://github.com/github/remote-input-element/blob/4ec740a69773f4b18dfeef28d52434b0475bcd13/src/index.ts#L132-L134
2. Most github elements store state in a weakmap and use module functions (as opposed to class properties and methods). This makes it difficult to monkey patch component behavior. Is that the intent?
Thank you for sharing the github elements. They're super useful and I love the decoupling of the styles from the behavior.
Guia de contribuição
Direção de pesquisa
Comece por src/index.ts por volta das linhas 132-134 e rastreie o fetch inicial acionado pelo foco e seus eventos personalizados. Determine como uma API de opt-out ou cancelamento deve interagir com o input remoto e os itens da lista SelectMenu-list renderizados pelo servidor, e defina a conclusão como a preservação desses itens sem a solicitação para uma consulta vazia. O issue não menciona um arquivo de teste, portanto localize a cobertura existente de fetch ou eventos antes de alterar o comportamento.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- javascript
- Domínio
- frontend
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100