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
Nome
eEmail
do 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
Table
selecionada, noInspector
clique emSchema
e oInspector
irá "navegar" para dentro dessa propriedade. - Clique em
Add Item
. - Em
Title
escrevanome
. - Em
Component
, selecionedata2-core-primitives@String
. - Adicione outro campo, só que dessa vez com
email
comoTitle
, e utilize novamentedata2-core-primitives@String
comoComponent
.
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 DataFieldBlock
s 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 Interaction
s:
Save
Edit
Cancel
Delete
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
Router
comoEntry Point
daApplication
.
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
Path
coloque/
- No parâmetro
Content
, clique no círculo para habilitar o parâmetro e selecione oArtboard
dePá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
Path
coloque/clientes
- No parâmetro
Content
, clique no círculo para habilitar o parâmetro e selecione oArtboard
deAdministraçã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@Artboard
paradata2-core-primitives@Router
. - Em
reference
, selecione o nome doRouter
criado 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 Principal
comoModule
, e naInteraction
selecionegoTo
. - No parâmetro
Path to Route
coloque oPath
da 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 Route
coloque/
ao invés de/clientes
.
Dê um Preview
na Application
e teste o funcionamento desses links!