po-angular
po-angular copied to clipboard
fix(po-table): cria potableservice como provider
< PO-TABLE >
2031
PR Checklist [Revisor]
Qual o comportamento atual?
Atualmente, quando é criado o componente po-table
o serviço PoTableService
é criado no padrão singleton. Com isso pode ocorrer o fetch, utilizando a proprierdade p-service-api
, incorreto quando existe mais de um componente ativo.
Qual o novo comportamento?
O serviço PoTableService
é definido como provider, assim, cada instancia do componente po-table
tem o seu proprio serviço.
Simulação Erro fetch po-table
- Necessário um endpoint de consultar com paginação para habilita ro Carregar mais no primeiro componente.
- Criar o componente
utilizando a propriedade p-service-api para a URL "http:localhost:3000/X". - Criar um outro componente
utilizando a propriedade p-service-api para a URL "http:localhost:3000/Y" - Ao ser renderizado o primeiro componente, será instanciado o table service com a URL informada.
- O fetch ocorre normalmente para o endpoint "http:localhost:3000/X".
- Ao ser renderizado o segundo componente, será substituido a URL dentro do table service com a URL informada.
- O fetch ocorre normalmente para o endpoint "http:localhost:3000/Y"
- Clicar em Carregar mais do primeiro componente.
- O erro ocorre aqui, pois como não há uma re-reenderização a URL para fetch no table service não é atribuida novamente.
- O fetch ocorre de forma ERRADA para o endpoint "http:localhost:3000/Y" ao invés do endpoint "http:localhost:3000/X" informado no p-service-api do primeiro componente.
PR Checklist [Revisor]
- [x] Padrão de Commit (Coeso, de acordo com o que está sendo realizado)
- [x] Código (Boas práticas, nome de variavéis/métodos, etc.)
- [x] Testes unitários (Cobre a situação implementada e coverage está mantido)
- [x] Documentação (Clara, objetiva e com exemplos caso necessário)
- [x] Samples (A implementação possui exemplo no Labs/Caso de uso)
- [x] Rodado em navegadores suportados (Chrome, FireFox, Edge
Statements : 99.99% ( 13535/13536 ) Branches : 100% ( 5590/5590 ) Functions : 99.97% ( 3693/3694 ) Lines : 100% ( 12857/12857 )