Página de administração de clientes
Neste passo, vamos construir uma página que irá interagir com a Data² Table, um banco de dados em que são armazenadas informações importantes para nossas aplicações.
Essa página irá realizar as operações de leitura, escrita, atualização e exclusão. Essas operações tem um acrônimo muito utilizado que é CRUD (Create, Read, Update, Delete). Para vizualização (leitura), utilizaremos uma tabela disponibilizada pelo Data² chamada DataGridBlock, e para as outras operações, serão usados botões e controles de texto.
O resultado final será um Artboard parecido com esse:
Esse Artboard possui:
- Uma tabela para que você possa visualizar e selecionar seus clientes.
- Dois campos de texto ligados ao
NomeeEmaildo cliente selecionado. - Botões de:
- Inserir
- Editar
- Salvar
- Cancelar
- Deletar
Criando uma Data² Table
Para criar uma Data² Table, dê um clique duplo no fundo do Builder, e no menu selecione na barra lateral esquerda a aba Registry. Clique em Table para adicionar a Data² Table.
Clique no nome da Table para selecioná-la. Vamos mudar o nome dela para saber do que ela se trata. No Inspector, na parte superior há uma caixa de texto para alterar o Display Name da tabela, coloque Tabela de clientes.
É necessário configurar quais campos vamos guardar dos nossos clientes. Vamos criar dois campos: nome e email.
- Com a
Tableselecionada, noInspectorclique emSchemae oInspectorirá "navegar" para dentro dessa propriedade. - Clique em
Add Item. - Em
Titleescrevanome. - Em
Component, selecionedata2-core-primitives@String. - Adicione outro campo, só que dessa vez com
emailcomoTitle, e utilize novamentedata2-core-primitives@StringcomoComponent.
Criando um DataSet
Interagimos com a Table através do DataSet. Para criar um DataSet pela primeira vez, clique no fundo da tabela. Para criar outros DataSets, clique no + na parte inferior da tabela.
Selecione o DataSet que você irá utilizar, clicando no nome dele na parte inferior da tabela (próximo ao +), e no Inspector altere o nome para Todos Clientes.
Criando uma página ligada ao DataSet
Adicione um novo Artboard, dando um clique duplo no fundo e selecionando Artboard no menu.
Adicionando a tabela
Selecione a Block Tool e desenhe um bloco maior para conter a tabela, os inputs e os botões.
Desenhe um bloco para ser a tabela dentro do bloco desenhado anteriormente. Para trocar o tipo do bloco, vá no Inspector e clique na parte superior onde há o texto data2-core-primitives@Block. Um menu irá abrir, procure DataGridBlock e selecione essa opção.
Para configurar os parâmetros do DataGridBlock, facilita esconder os parâmetros do Block clicando na seta da seção com título Block.
Habilite o parâmetro Dataset e selecione o DataSet Todos Clientes.
Adicionando os campos de texto
Agora use a Block Tool para desenhar dois blocos abaixo da tabela.
Selecione os dois blocos ao mesmo tempo, selecionando um, segurando SHIFT e clicando no segundo. Então, troque de data2-core-primitives@Block para DataFieldBlock.
Ainda com ambos os DataFieldBlocks selecionados, vamos configurar o parâmetro DataSet para Todos Clientes.
Utilizando a Selection Tool, clique em outro bloco para desselecionar os dois DataFieldBlock. Selecione o primeiro campo de texto e configure o Field para ser Todos Clientes - nome. No segundo DataFieldBlock, configure Field para ser Todos Clientes - email.
Criando os botões
Adicione outro bloco com o texto Inserir. Desta vez, vamos configurar o parâmetro On Click, isto é, o que deve acontecer quando um clique ocorre neste bloco. No Module selecione Todos Clientes, e na Interaction selecione Insert.
Repita o mesmo processo para criar botões para as Interactions:
SaveEditCancelDelete
Dica: Você pode segurar ALT e arrastar um bloco para duplicá-lo.
No fim deste processo, temos:
Testando se deu certo
Clique no botão Preview embaixo do Artboard e tente:
- Clicar em inserir, adicionar informações e salvar. Ao atualizar a página, o dado que foi salvo deveria aparecer na tabela.
- Insira outro cliente e salve.
- Selecionar o cliente pela tabela deveria mudar o valor dos campos de texto.
- Selecionar um cliente, clicar em
Editar, alterar um campo e salvar.
- Selecionar um cliente, clicar em
Editar, alterar um campo e cancelar deveria voltar ao valor original.
- Selecionar um cliente e apagar.
Se todos esses casos funcionaram, está tudo certo com a página!
Criando rotas para suas páginas
Agora que temos dois Artboards, gostaríamos que a rota / mostrasse nossa página inicial, e a rota /clientes mostrasse o Artboard de administração de clientes. Para isso, vamos precisar:
- Criar um
Router, que será usado para criação de rotas. - Usar o
RoutercomoEntry PointdaApplication.
Criando o Router
Para adicionar um Router, dê um clique duplo no fundo do Builder. Na aba Ui, a mesma em que o Artboard e a Application estão localizados, clique em Router para criar.
Configurando o Router
Dê um nome como Router Principal para seu Router alterando o Display Name no Inspector.
Em seguida, coloque / no Initial Path dele.
Clique em Routes para configurar as rotas do Router. Clique duas vezes em Add Item para adicionar duas rotas, uma para a página inicial, e outra para a página de administração de clientes.
Vamos configurar a rota da página inicial, para isso, clique no primeiro item que foi adicionado. Dois paramêtros serão configurados:
- No parâmetro
Pathcoloque/ - No parâmetro
Content, clique no círculo para habilitar o parâmetro e selecione oArtboarddePágina Inicial.
Para voltar para a lista de rotas, clique em Routes logo acima da seção da Route e em seguida clique na segunda rota.
- No parâmetro
Pathcoloque/clientes - No parâmetro
Content, clique no círculo para habilitar o parâmetro e selecione oArtboarddeAdministração de Clientes.
Para salvar, desselecione o seu Router clicando no fundo do Builder.
Utilizando o Router como Entry Point da Application
Selecione a Application e altere seu Entry Point:
- No parâmetro
Component, troque dedata2-core-primitives@Artboardparadata2-core-primitives@Router. - Em
reference, selecione o nome doRoutercriado anteriormente, neste caso,Router Principal.
Faça o Preview da Application. Inicialmente ele deve abrir a página inicial. Ao trocar a URL de /?d2_pl-prv=true para /clientes?d2_pl-prv=true, a página de administração de clientes deveria aparecer.
Adicionando um link entre as páginas
Para adicionar um link da página inicial para a de administração de clientes:
- Desenhe um bloco que será usado como link
- No parâmetro
On Click, selecione seuRouter PrincipalcomoModule, e naInteractionselecionegoTo. - No parâmetro
Path to Routecoloque oPathda sua página de adminstração de clientes, que no caso é/clientes. - Coloque um texto também para saber para aonde o link vai ao ser clicado, você pode dar um duplo clique no bloco para escrever diretamente nele.
Faça o mesmo para adicionar um link do Artboard de administração de clientes para a página inicial, com uma diferença:
- No parâmetro
Path to Routecoloque/ao invés de/clientes.
Dê um Preview na Application e teste o funcionamento desses links!