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
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.
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
Precisa de uma maneira de reproduzir isso. Pode estar relacionado a # 405
Precisa de um exemplo para isso.
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:
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.
Resumindo
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:
@ 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
allowChildExpandOnMatch === false
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
Comentários muito úteis
Adicionar como configurações de API
allowChildExpandOnMatch: boolean
allowChildExpandOnMatch === true
allowChildExpandOnMatch === false