po-ui / po-angular

Biblioteca de componentes Angular.
https://po-ui.io
MIT License
903 stars 210 forks source link

<po-table>: PoTable Service singleton #2031

Open joaomauriciotecadi opened 4 months ago

joaomauriciotecadi commented 4 months ago

Erro fetch component

O componente realiza o fetch para a URL da propriedade do p-service-api do ultimo <po-table> renderizado na tela.

Projeto com exemplo do erro

Fetch Po-table

Reprodução do erro

  1. Necessário um endpoint de consultar com paginação para habilita ro Carregar mais no primeiro componente.
  2. Criar o componente <po-table> utilizando a propriedade p-service-api para a URL "http:localhost:3000/X".
  3. Criar um outro componente <po-table> utilizando a propriedade p-service-api para a URL "http:localhost:3000/Y"
  4. Ao ser renderizado o primeiro componente, será instanciado o table service com a URL informada.
  5. O fetch ocorre normalmente para o endpoint "http:localhost:3000/X".
  6. Ao ser renderizado o segundo componente, será substituido a URL dentro do table service com a URL informada.
  7. O fetch ocorre normalmente para o endpoint "http:localhost:3000/Y"
  8. Clicar em Carregar mais do primeiro componente.
  9. O erro ocorre aqui, pois como não há uma re-reenderização a URL para fetch no table service não é atribuida novamente.
  10. 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.

image

Que comportamento você esperava ver?

Espero que a URL do p-service-api não seja reatribuida ao criar um novo componente <po-table>

Ambiente

anliben commented 4 months ago

Bom Dia @joaomauriciotecadi, tudo bem?

Analisarei e retorno com uma resposta em breve.

Attr.

joaomauriciotecadi commented 4 months ago

Bom dia @anliben

Coloquei uma possivel correção no pr https://github.com/po-ui/po-angular/pull/2032