Criando a página de lista de pedidos
Neste vídeo será criado uma página Lista de pedidos no LumisXP que irá consumir os pedidos da API criada anteriormente
Passos de execução
- Criar um canal "Meus pedidos" com página "Meus pedidos"
- Instanciar interface do serviço "Script" no page holder "main"
- Criar estilo "Meus pedidos" com o seguinte HTML:
<section class="main__container container">
<h1 class="main__title">Meus pedidos</h1>
<table class="table">
<thead class="js-table-header">
<tr class="table__header">
<th>Id do pedido</th>
<th>Nome do pedido</th>
<th>Informação adicional</th>
</tr>
</thead>
<tbody id="lista-pedidos">
<!--recuperado client-side-->
</tbody>
</table>
<script src="scripts/components/table.js" defer></script>
</section>
<script>
// Faz uma solicitação HTTP para o endpoint fornecido
fetch("${environment.properties['api-url'][0]}/pedidos").then(response => response.json()) // Converte a resposta em um objeto JSON
.then(data => {
// Itera sobre a lista de pedidos e gera um HTML simples para cada um
data.forEach(pedido => {
const html = `
<tr class="table__body js-table-body">
<td>` + pedido.id + `</td>
<td class="table__title">
<strong>` + pedido.nome_pedido + `</strong>
</td>
<td>` + pedido.info_adicional + `</td>
<td class="table__button">
<a href="#">Ver pedido</a>
</td>
</tr>`;
// Adiciona o HTML gerado ao DOM da página
document.getElementById("lista-pedidos").innerHTML += html;
});
}).catch(error => console.error(error));
</script>