fga-eps-mds / 2021-2-SysArq-Doc

Repositório da documentação do SysArq - sistema de gerenciamento de arquivos da PC-GO.
https://fga-eps-mds.github.io/2021-2-SysArq-Doc/
GNU General Public License v3.0
2 stars 3 forks source link

Abrir item da tabela numa modal #9

Closed baraky closed 2 years ago

baraky commented 2 years ago

Descrição

Adicionar funcionalidade de abrir um item da tabela numa modal para consultar informações a respeito.

Resultado esperado

Ao clicar com botão direito (ou esquerdo) no elemento, abrir ele em outra guia para ter acesso a todos os dados cadastrados.

guilherme-puida commented 2 years ago

Com a implementação atual do componente das tabelas, implementar essa funcionalidade é um pouco mais difícil do que foi previsto. Os componentes individuais não tem conhecimento sobre o tipo de elemento que é contido na tabela, e sim somente a rota que corresponde ao tipo de elemento:

https://github.com/fga-eps-mds/2021.2-SysArq-Frontend/blob/a5064b656205729b52a5124763a168a27f6c5eb5/sysarq/src/pages/components/DataTable/index.js#L368-L383

Então para implementar essa funcionalidade, teríamos que criar novos componentes para as tabelas que saibam os elementos que elas contém, certo?

baraky commented 2 years ago

Talvez não seja necessário criar um novo componente. Os componenetes de create (ex. CreateAdministrativeProcess) provavelmente podem ser aproveitados. Mas realmente, a implementação será mais difícil do que o previsto.

Para os próximos passos, verifique se é realmente possível utilizar os componentes create (provavelmente será preciso criar um novo argumento para mudar o formato do retorno).

guilherme-puida commented 2 years ago

Os componentes de create fazem muito mais que só mostrar os campos de cada item, como pode ser evidenciado pelos 50 useStates que existem no CreateAdministrativeProcess, por exemplo. Eu ponderei mais sobre o assunto e pensei que talvez seja possível passar um prop para cada DataTable que corresponda ao componente que deva ser mostrado quando a linha for expandida, mas acho que reutilizar os componentes de create não é a melhor solução.

Vou tentar implementar de maneira crua alguns desses componentes, talvez copiando a grid usada nos componentes de create.

baraky commented 2 years ago

Entendi, eu citei o create para reaproveitar código pois ele também é utilizado nas rotas /view/:id para visualizar as informações de um documento, apesar do nome não sugestivo. Mas sinta-se livre para outras possíveis soluções. Podemos discutir sobre na próxima reunião.

guilherme-puida commented 2 years ago

Sim, eu percebi que ele é usado nas rotas de visualização também. Mas mesmo nessas rotas de visualização os campos são editáveis, ou eu estou enganado? Mesmo assim, acho que usar componentes mais simples que só mostrem as informações sem ter que lidar com nenhum tipo de estado interno seria uma solução mais adequada.

guilherme-puida commented 2 years ago

Vale a pena focar nessa funcionalidade agora ou focar nas US que tem no backlog? Não tive muito progresso essa semana.

baraky commented 2 years ago

Pode trabalhar em outra issue, mas foque nas melhorias caso tiver alguma aberta. Nosso compromisso é entregar as melhorias feitas quarta-feira.

Vamos ver de algum EPS trabalhar nessa issue aqui.

baraky commented 2 years ago

Movendo para Stand by até a refatoração do componente DataTable.

baraky commented 2 years ago

Issue recuperada. Foi acordado com o cliente que o melhor seria abrir o elemento numa modal.