po-angular icon indicating copy to clipboard operation
po-angular copied to clipboard

Configurar seleção por item no p-table (p-selectable)

Open SalatielBairros opened this issue 5 years ago • 4 comments

Descrição da melhoria

Atualmente, ao utilizar a opção p-selectable do componente po-table, todos os itens da lista recebem um checkbox habilitado. Necessito, como usuário do componente, impedir que o usuário selecione alguma linha de acordo com regra de negócio estabelecida, para que o ao usuário final fique claro quais itens estão disponíveis para a ação ao ser executada nos selecionados.

Caso de uso

Um exemplo da necessidade dessa funcionalidade pode ser visto na imagem abaixo: image Apenas os itens Finalizados podem ser selecionados, enquanto os ainda em modo de rascunho devem estar bloqueados para a seleção (inclusive o selecionar todos).

Informações adicionais

Para manter a consistência visual da tela , sugiro que o checkbox seja apenas desabilitado, permanecendo visível. Uma possível sugestão de desenvolvimento seria desenvolver uma interface que seria implementada na classe do objeto listado contendo uma propriedade que permite ou não ser habilitado. Caso a propriedade não exista, o default seria exibir.

SalatielBairros avatar Apr 01 '20 18:04 SalatielBairros

Item adicionado ao backlog.

jhosefmarks avatar Aug 12 '20 21:08 jhosefmarks

Também estou precisando dessa funcionalidade.

rabraganca avatar Apr 28 '21 17:04 rabraganca

Precisando disso tbm :(

adrielov avatar Jun 30 '21 14:06 adrielov

Também preciso dessa mesma regra. Por enquanto para tentar validar/"não deixar" selecionado, fiz um tratamento, onde ao selecionar um item e ele não poderia ser marcado, exibo a msg que não pode e na sequência executo "poTable.unselectRowItem()" / também tentei com "row.$selected = false" para desmarcar. Na primeira vez que clico nessa linha que não poderia ser marcada, isso funciona, desmarca corretamente, porém ao clicar novamente na mesma linha para marcar, já não funciona mais, deixa selecionado.

Atualizei a versão do angular (global e local) e atualizei o PO-UI/Components, mesmo assim continua selecionado.

HermesDS2U avatar Dec 28 '22 13:12 HermesDS2U