Barista: [Campo do filtro] não exibe sugestões no MS Edge

Criado em 4 set. 2020  ·  13Comentários  ·  Fonte: dynatrace-oss/barista

Relatório de erro


Ao clicar no campo de filtro na versão sem cromo do MS Edge, nenhuma sugestão de filtro é exibida. Além disso, ao digitar, o botão limpar tudo não é exibido. Em vez disso, há um "X" bastante feio que limpa a entrada (veja a imagem).

No entanto, isso só acontece quando o aplicativo é compilado com o View Engine em vez do Ivy.

Comportamento esperado


Ao clicar no campo do filtro, as sugestões devem ser mostradas em um componente drop-down, como em outros navegadores.

Comportamento Atual


Clicar no campo de filtro no MS Edge não abre um componente suspenso com as sugestões de filtro. No lugar do menu suspenso, uma pequena borda pode ser vista (veja a imagem).

Passos para reproduzir


  1. Desative Angular Ivy no tsconfig do aplicativo:
  "angularCompilerOptions": {
    "enableIvy": false
  }
  1. Clique no campo de filtro em qualquer versão sem cromo do MS Edge.
  2. Nenhum valor de sugestão é exibido

Contexto (ambiente)


Versões usadas:

  • angular : 10.0.9
  • @ angular / cdk : 10.1.1
  • @ dynatrace / barista-components : 8.0.0

Anexos

Estranho X em vez de "limpar tudo"

image (5)

Sem lista suspensa, mas com borda visível

image (4)

Comportamento esperado do Firefox

image (7)

Comportamento real MS Edge

image (6)

bug filter-field has-pr

Comentários muito úteis

Como parece ser um bug de IntersectionObserver para o Edge <= 16, estou atualmente pensando em desativar o realce para esses navegadores. Isso o tornaria pelo menos utilizável.
Por favor, deixe-me saber sua opinião sobre esta "solução".

Todos 13 comentários

Fiz uma investigação no Edge 16 em uma máquina Windows 10 e nenhum FilterField está exibindo nada no preenchimento automático:

image
image

@samuelfahrngruber, seu comportamento não é reproduzível, pois no Edge Versão 18 o preenchimento automático é exibido corretamente.

@lukasholzer Você está usando as amostras em https://barista.dynatrace.com/? porque eles funcionam bem para mim no Edge 18 também.
No entanto, o problema ocorre apenas com a nova versão 8.0.0 dos componentes barista e os exemplos em https://barista.dynatrace.com/ não usam a v8.0.0.

No momento, não consigo construir um exemplo local com o campo de filtro e barista 8.0.0, pois sempre recebo uma mensagem de erro ao construir um novo projeto com apenas um campo de filtro na página:

ERROR in node_modules/@dynatrace/barista-components/button-group/src/button-group.d.ts:35:9 - error TS2611: 'disabled' is defined as a property in class 'HasTabIndex & DtButtonGroupBase', but is overridden here in 'DtButtonGroup<T>' as an accessor.
35     get disabled(): boolean;
           ~~~~~~~~
node_modules/@dynatrace/barista-components/button-group/src/button-group.d.ts:76:9 - error TS2611: 'disabled' is defined as a property in class 'HasTabIndex & CanColor<DtButtonGroupThemePalette> & DtButtonGroupItemBase', but is overridden here in 'DtButtonGroupItem<T>' as an accessor.
76     get disabled(): boolean;
           ~~~~~~~~

Devo registrar outro bug para esse problema?

Além disso, não posso fornecer um exemplo stackblitz porque ele não funciona com o MS Edge.

EDIT: eu criei um bug para este problema # 1577

Parece ser um problema com dt-highlight no Edge.

O componente de destaque que é usado dentro de cada opção para o preenchimento automático não renderiza o texto destacado.

Parece estar relacionado ao 'IntersectionObserver` que é usado no componente de destaque. O observador não dispara na borda após a renderização inicial quando a sobreposição é aberta e as primeiras opções se tornam visíveis.

Todos os outros navegadores funcionam conforme o planejado.
O estranho é que IntersectionObserver é suportado desde o Edge 15

O problema ocorre após a atualização da versão 7.5.1 para 8.0.0 , anteriormente não tínhamos problemas.

No momento, verificando se isso está de alguma forma relacionado ao problema nº 1420 (PR nº 1433), onde esta área de código foi tocada pela última vez.

Como parece ser um bug de IntersectionObserver para o Edge <= 16, estou atualmente pensando em desativar o realce para esses navegadores. Isso o tornaria pelo menos utilizável.
Por favor, deixe-me saber sua opinião sobre esta "solução".

Parece-me razoável - voto a favor.

Como parece ser um bug de IntersectionObserver para o Edge <= 16, estou atualmente pensando em desativar o realce para esses navegadores. Isso o tornaria pelo menos utilizável.
Por favor, deixe-me saber sua opinião sobre esta "solução".

Talvez também para outras versões Edge sem cromo.
Para mim, o problema também ocorre com o Edge 18.

Versão exata:

Microsoft Edge 44.19041.423.0
Microsoft EdgeHTML 18.19041

Bom ponto - mesmo em meus testes.

{browserName: MicrosoftEdge, browserVersion: 44.18362.449.0, javascriptEnabled: true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, setWindowRect: false, timeouts: {implícito: 0, pageLoad: 300000, script: 30000},, zal: screenResolution : 1600x1200, zal: tz : Europe / Vienna}

Estou questionando por que o usamos se não temos o suporte do navegador para ele. 🤔 AFAIK temos que oferecer suporte a todas as versões do Edge ou?
https://caniuse.com/intersectionobserver

@thomaspink alguma atualização sobre este bug?

Depois de investigar mais, o bug só ocorre quando o antigo View Engine é usado em vez do Ivy.
Reproduzível desativando Ivy

  "angularCompilerOptions": {
    "enableIvy": false
  }

e clicando no campo de filtro no MS Edge.

Esta página foi útil?
0 / 5 - 0 avaliações