Enterprise: Filtros de coluna de datagrid não funcionam bem com grade de árvore

Criado em 23 nov. 2018  ·  19Comentários  ·  Fonte: infor-design/enterprise

Temos experimentado a grade de árvore no projeto do catálogo de dados e encontramos vários problemas que a tornam menos utilizável. Problemas foram encontrados em 4.11. A maioria deles provavelmente tem mais a ver com ids-enterprise, mas estou colocando todos eles aqui. Escrevendo isso no meu telefone, posso adicionar exemplos de captura de tela conforme necessário na próxima semana.

  • [x] 1. Comportamento: O filtro corresponde apenas aos itens da árvore de nível superior.
    Expectativa: o filtro deve corresponder aos itens inferiores na árvore, exibindo o item correspondente, bem como os pais, avós, etc. para contexto ~~

  • [x] 2. Comportamento: a correspondência de uma linha com os filhos continua exibindo o botão expandir / recolher, mas clicar nele não faz nada. Às vezes também causa estranheza geral com indentação que tentarei reproduzir na próxima semana.
    Expectativa: se um dos pais for compatível, deve ser expansível para visualizar todos os filhos. Tenho menos certeza de qual deveria ser o comportamento se um de seus filhos também fosse compatível ... ~~

  • [x] 3. Comportamento: A formatação da grade da árvore é enganosa. O recuo de um filho corresponde ao recuo produzido pelo botão expandir / recolher no pai, fazendo com que pareça que eles estão no mesmo nível.
    Expectativa: o texto dos elementos irmãos deve ter recuo correspondente, o botão expandir / recolher não deve alterar o recuo

  • [] 4. Comportamento: Aplicar formatação personalizada à coluna com o botão expandir / recolher com um componente Angular não parece possível sem quebrar a árvore.
    Expectativa: a formatação personalizada deve permanecer possível ao lado da grade da árvore

[5] type

Comentários muito úteis

Adicionar como configurações de API allowChildExpandOnMatch: boolean

allowChildExpandOnMatch === true

  • se apenas o pai obteve correspondência, então adicione os nós filhos também
  • se um ou mais nodos filhos corresponderem, então adicione o nodo pai e todos os nodos filhos

allowChildExpandOnMatch === false

  • se apenas o pai obteve correspondência, então (desabilitar | ocultar | qualquer outra coisa) botão +/- e não adicionar nós filhos
  • se um ou mais nodos filhos forem correspondidos, então adicione o nodo pai e apenas os nodos filhos correspondentes (como está fazendo agora)

Todos 19 comentários

Acho que devemos mover isso para o projeto EP. Você pode mover para mim @clepore

Eu numerei seus problemas para poder respondê-los. Também precisamos de uma maneira de reproduzi-los melhor.

  1. Este problema pode ter sido corrigido em # 437 você pode testar novamente em http://4130-beta0-enterprise.demo.design.infor.com/components/datagrid/test-tree-filter.html

  2. Precisa de uma maneira de reproduzir isso. Pode estar relacionado a # 405

  3. Precisa de um exemplo para isso.

  4. Isso pode ser possível se você copiar o código do formatador de árvore inteiramente e adicionar suas personalizações à sua versão https://github.com/infor-design/enterprise/blob/master/src/components/datagrid/datagrid.formatters.js # L368 -L378

Vou olhar para os outros, mas posso responder a 4 agora: Eu tentei copiar o código do formatador Tree para o componente, mas o código que dá a função de expandir / recolher o botão não estava encontrando o botão.

OK. Eu estava pensando que seria melhor para 4. fazer o conceito de um subFormatador para que você possa especificar isso e em alguns formatadores essa parte pode ser formatada. Fx para isolar a parte do texto do formatador de árvore.

3 é um problema inerente ao design da grade da árvore:

2018-11-26 5

De minha memória, isso foi discutido durante o design inicial, mas a versão "esperada" parece mais legível para mim. O que você acha @kayiuho ?

Acho que 2 também foi resolvido por 1 sendo corrigido. Se eu puder reproduzi-lo no enterprise-ng novamente, eu o avisarei.

@tmcconechy apenas de olhar para a comparação visual, a versão "esperada" parece fazer mais sentido em termos de hierarquia visual. Ele poderia ser mais investigado / testado com diferentes estados para ver se o padrão quebra em qualquer nível ... talvez um protótipo possa ajudar.

3 foi empurrado no sprint de dezembro.

Resumindo

  1. Foi corrigido em outro problema # 437
  2. Foi corrigido outro problema # 437
  3. Este sprint foi corrigido por @chrisfried - obrigado!
  4. Ainda é um problema

Portanto, temos que dividir esse tíquete. Você pode criar um novo problema para # 4 se ainda quiser @chrisfried
Então, podemos resolver isso mais tarde, pois este tíquete é movido para o controle de qualidade para as correções que você fez. Melhor se você fizer o tíquete estar no seu nome. Obrigado!

O comportamento número 2 ainda ocorre quando você aplica o filtro que corresponde ao nó pai. O botão Expandir / recolher é exibido, mas não faz nada.
Passos:

  1. Acesse https://4140-beta0-enterprise.demo.design.infor.com/components/datagrid/test-tree-filter.html
  2. Aplicar Contém filtro na coluna Tarefa com a palavra "HMM"
  3. Tente expandir / recolher a primeira linha, nada acontece.

@ deep7102 Você pode dar uma olhada neste gabinete extra?

No momento, a razão pela qual a última parte de # 2 não funciona é que não há crianças que combinem embaixo dela. Percebo que diz "Expectativa: se um dos pais for compatível, deve ser expansível para visualizar todos os filhos".

Será que realmente achamos que deveria ser mostrado às crianças, mesmo que elas não correspondam? Não tenho tanta certeza, e inclinado para que este seja o comportamento correto / aceitável?

O que pensamos? @EdwardCoyle @clepore @pwpatton @ deep7102 @brianjuan @chrisfried ?

Para o comportamento de pesquisa padrão, acho que pode depender. Talvez uma opção esteja em ordem (allowChildExpandOnMatch) ou algo assim.

No ponto de referência temos um exemplo em que permitimos a expansão de um nó correspondente mesmo quando os filhos não correspondem aos critérios de pesquisa (somos preguiçosos carregando e gerenciamos todo esse comportamento sem a pesquisa / filtro padrão, já que não podemos fazer isso no memória).

Adicionar como configurações de API allowChildExpandOnMatch: boolean

allowChildExpandOnMatch === true

  • se apenas o pai obteve correspondência, então adicione os nós filhos também
  • se um ou mais nodos filhos corresponderem, então adicione o nodo pai e todos os nodos filhos

allowChildExpandOnMatch === false

  • se apenas o pai obteve correspondência, então (desabilitar | ocultar | qualquer outra coisa) botão +/- e não adicionar nós filhos
  • se um ou mais nodos filhos forem correspondidos, então adicione o nodo pai e apenas os nodos filhos correspondentes (como está fazendo agora)

Parece que isso seria suficiente - grande mudança?

Pode estar pensando através da necessidade de rastrear o filtro e filtrar nós e profundidades, etc.

Ok, sugiro que façamos um novo problema para mais tarde. Isso não está totalmente no escopo no momento.
Então, sugiro que fechemos este problema como está

Acho que estamos prontos para criar um tíquete separado para a implementação das grandes mudanças para o número 2.

Agora moveremos isso Concluído, uma vez que https://4140-beta0-enterprise.demo.design.infor.com/components/datagrid/test-tree-filter.html está funcionando conforme o esperado para todos os outros comportamentos sugeridos.

Adicionado o novo problema # 1422

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