-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serviço de Rotas #207
Serviço de Rotas #207
Conversation
f9e807e
to
6dde910
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eu vi alguns detalhes e também tem uma questão, vi muitos logs nos arquivos, eles são realmente necessários pra o roteamento? Alguns eu pontuei mas quando vi que era muito repetitivo parei, se não forem necessários pode tirar todos, e tem uns pathalias pra aplicar também.
remove codes
os logs não são necessários, coloquei apenas como exemplo de utilização do método, ai o exemplo era emitindo um log, talvez a pessoa que criar a página precise emitir algum evento, ai deixei como exemplo, mas posso deletar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deveria estar funcionando os links laterais?
Tentei aqui e não funcionou
pra funcionar é só incluir o atributo data-vanilla-route-link = "spa" e informar a rota no href do link |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sobre aquilo que falamos sobre o router parameter não é um blocker para sua task! Só precisamos conhecer isso melhor!
É importante vc deixar as rotas como exemplo aqui pra que as pessoas tenham como pegar os exemplos e fazer as rotas com mais falidade!!
Ta muito bom, parabens!
blz, vou dar uma estudada nos routes params tbm pra conseguir auxiliar a galera a utilizar. |
Closes #119
Feature
Criação do serviço de rotas para gerenciar, navegar e configurar roteamento.
Visual evidences 🖼️
Checklist
Additional info
GERAL:
As rotas foram separada em grupos, pensando na abstração para facilitar a manutenção.
Cada grupo possui suas rotas, conforme explicado abaixo:
a. Grupos:
(cadastro-pet), (meus-pets), (rotas-principais)
Exemplo de um grupo:
Cadastro do pet:
Cada rota é uma nova página do processo de cadastro de pet
Rota cadastro do pet
TUTORIAL
Seguirei o exemplo da rota cadastropet já criada da imagem anterior para explicar
pathname:
recebe a rota;routeLocation()
- método que informa a rota atual, caso seja necessário, no exemplo coloquei em um log. Obs: precisa importar o routeLocation, conforme exemplo.A partir de agora será um boilerplate:
'home__content-page'
const noPetRegirestedPage = new NoPetRegirestedPage();
noPetRegirestedPage.mount($content);
return $content;
Router.dispose()
serve para emitir uma função ao sair da rota atual, no exemplo eu utilizei para emitir um log, mas você pode ter outra necessidade. Obs: precisa importar o routeLocation, conforme exemplo.a. Navegação por link:
Para navegar entre rotas com links, basta incluir o atributo
data-vanilla-route-link` = "spa"
e informar a rota nohref
, conforme abaixo:b. Navegação utilizando métodos:
Caso haja necessidade de navegar utilizando um método, como no caso de um botão que ao ser clicado deve levar a uma nova página, para isso, basta utilizar o método
go()
, que recebe uma string contendo a rota, conforme exemplo abaixo que utilizei um evento de click para chamar o método:c. Outros métodos adicionais:
back()
é usado para navegar até a página anterior no histórico da sessão.
forward()
é usado para navegar para a próxima página no histórico da sessão.
Obs:
a. Foram criadas apenas as rotas existentes atualmente, conforme o figma, mas acredito que terá outras rotas no andamento do projeto;
b. Utilizei apenas as funcionalidades da biblioteca que julguei necessárias.
Referências:
https://github.com/jscodelover/vanilla-routing