Vaadin-combo-box: Suporte para provedor de dados / carregamento lento

Criado em 17 mai. 2018  ·  14Comentários  ·  Fonte: vaadin/vaadin-combo-box

A página de componentes no site Vaadin menciona o suporte para carregamento lento (e filtragem remota) como o primeiro recurso vaadin-combo-box :

screen shot 2018-05-17 at 17 11 42

Mas mais do que um recurso adequado, é apenas expor um filtro para deixar outro algo substituir os itens. Um provedor de dados adequado com suporte de paginação para rolagem infinita (como em vaadin-grid ) seria preferível.

Notas

epic

Comentários muito úteis

Esse é um tipo de recurso que os usuários antigos do Vaadin presumem estar lá. Não posso considerar o Vaadin 10 pronto antes que nossa combo-box possa lidar com um grande número de opções sem sufocar o navegador ou a rede. Por favor, faça isso!

Todos 14 comentários

Algum comentário sobre isso? Talvez não seja uma alta prioridade para o componente da web em si, mas da perspectiva dos desenvolvedores Java tentando portar aplicativos do FW8 para o Flow, isso é um grande bloqueador quando por trás de ComboBox há um enorme pool de itens e o o uso de um provedor de dados preguiçoso é obrigatório.

É verdade que a caixa de combinação não tem uma API de carregamento lento adequada no momento. Este é um bom candidato para aprimoramento. Deve estar alinhado com a API dataProvider da grade.

Esse é um tipo de recurso que os usuários antigos do Vaadin presumem estar lá. Não posso considerar o Vaadin 10 pronto antes que nossa combo-box possa lidar com um grande número de opções sem sufocar o navegador ou a rede. Por favor, faça isso!

Oi,
Eu concordo totalmente com @mstahv . Depois de 3 aplicativos de produção com V8, comecei um novo projeto há 2 meses e tirei o V10. Lidar com grandes conjuntos de dados foi uma das principais características que pegamos no Vaadin e também pagamos pela assinatura. Sinceramente, nem considerei que esse recurso estivesse faltando. Agora temos TextField com Grid abaixo para simular a auto-sugestão. Realmente parece estranho.

Este e o # 88 são evidentemente os recursos mais solicitados, mas percebo, a partir de várias discussões com a equipe, a vontade de reformular o código do componente antes de introduzir novos recursos. De fato, existem algumas linhas obscuras que podem assustar outros colaboradores 😃

A equipe pode lançar alguma luz sobre a evolução futura deste componente? Novos recursos serão adicionados à base de código atual ou haverá uma reformulação ocorrendo antes disso?

@tomivirkki , você tem uma boa resposta para @heruan? Também estou interessado em ouvir a opinião da equipe sobre a manutenção deste componente, se ele precisaria de uma refatoração / reescrita antes de adicionar recursos mais complexos?

Embora a API provavelmente não veja muitas mudanças, desse ponto de vista, se for razoável, poderíamos primeiro enviar esses recursos tão solicitados e, em seguida, começar a trabalhar na reescrita.

Estamos fazendo algumas pesquisas sobre como seria fácil adicionar esse recurso ao código-fonte atual. Na melhor das hipóteses, não exigiria mudanças maiores na fonte existente, mas a maior parte poderia ser incluída como um mixin (como no caso do vaadin-grid ).

@heruan e @mstahv apenas para ter certeza, você está ciente da API filteredItems de <vaadin-combo-box> ? Ele pode ser usado para mostrar qualquer opção personalizada na lista suspensa da caixa de combinação enquanto ignora a filtragem interna. De forma semelhante ao campo de pesquisa do Google; você digita algo nele e obtém uma lista de sugestões relevantes abaixo do campo. No caso de <vaadin-combo-box> você pode obviamente ter muito mais opções (o array filteredItems ).

Existe algum caso de uso relevante que requer uma API de provedor de dados lenta e dedicada e que não pode ser coberto pela API filteredItems ?

Estou aqui apenas porque a equipe do Flow disse que precisa primeiro para o componente da web ;-) Acho que selecionar uma pessoa de um grande conjunto é um bom exemplo. Conjunto tão grande que não faz sentido enviá-los todos ao navegador de uma vez.

@tomivirkki , acho que o caso de uso que Matti descreve seria difícil de implementar. Você precisaria manter o ID / índice do item selecionado em algum lugar e, em seguida, quando o usuário clicar na caixa de combinação para abrir, buscar a página correta de itens (que contém o item selecionado), enquanto ainda se certifica de que a lista suspensa da caixa de combinação mostra a posição de rolagem corretamente.

Só para deixar claro: a caixa de combinação é diferente do preenchimento automático.

@tomivirkki Estou ciente dos recursos de filtragem, que podem restringir o número de itens carregados, mas estamos enfrentando casos em que o filtro retorna muitos itens, então a transferência de dados ainda é um problema. Rolar a lista suspensa deve paginar os itens como se estivessem em <iron-list> eu diria.

Em minha experiência, percebi que alguns usuários esperam conseguir rolar uma caixa de combinação para encontrar o item desejado sem digitar nada.

Oi,
É possível testar e usar esse recurso com V11 Java? Ou quando podemos esperar bi no V11 Java? Obrigada.

@maticpetek o progresso na versão Java pode ser rastreado em vaadin / vaadin-combo-box-flow # 131

Esperamos conseguir lançar a versão estável 4.2.0 em algumas semanas para que possa ser incluída no V12, que entrará em fase beta no início de novembro.

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