Escolar Documentos
Profissional Documentos
Cultura Documentos
Aqui a parte interessante. Tudo isso que aparece nessa imagem o que pega objetos do
banco de dados e adiciona eles numa lista de partidas. Toooodas essas linhas de cdigo so
analogas a fazer um "partidas = Partidas.objects.all()" no Django (vai vendo a dificuldade do
Firebase).
A gente colocou um cards no pull up, em que cada card uma partida ou aula. O que voc
vai fazer igual mas no mostrando TODOS e sim filtrado. Card s um bang no html, um
quadradinho pra mostrar informaes.
Faltou essa partinha. Explicando em linhas gerais, o que acontece que voc primeiro pega
a referncia ao banco de dados que voc quer, fazendo
"firebase.database().ref('partidas')". Em seguida a parte interessante o mtodo que
funciona como um listener (um cara que fica observando alguma coisa e te fala quando algo
mudou naquilo que ele observa). Esse listener o mtodo "firebase.database().ref('seu
modelo do banco de dados').on('child_added', function(){});"
Nesse caso, pra ficar bem separadinho, ns tiramos a funo que ele vai performar caso
acontea o evento "child_added" ou "child_changed" de dentro daquela linha e s
referenciamos ela pelo nome "adicionaPartida"
Ento pra cada objeto de partida que ele encontrar no banco de dados ele vai rodar a funo
adicionarPartida e o que essa funo faz pegar essa partida e adicionar ela na variavel que
ta guardando as partidas, tipo um "for".
Se voc estranhar o que esse geocoder, uma funo na qual voc pode jogar um
endereo escrito tipo "Av. Paulista, 4000" e ele te d as coordenadas do lugar, em latitude e
longitude.
Pois bem, ali no final dessa ltima imagem voc pode ver que ele pegou a sua posio atual
e chamou a funo "CarregarTudo". Isso foi outro artificio pras coisas ficarem separadinhas,
ento basicamente, depois de achar a sua posio atual ele chama essa funo que faz as
seguintes coisas
Isso so s configuraes gerais desse controller, ele basicamente carrega o mapa com as
opes que queremos, coloca o pin na sua posio atual, l o que t na search box e coloca
um pin no local que voc pesquisou.
Tenta dar uma entendida nesse controller em geral ( um dos mais complexos depois do
gerenciarPartidaCtrl).
Porque o que voc vai fazer muito parecido mas em vez de na funo adicionarPartida
voc colocar todas as partidas dentro da lista $scope.partidas = [ ]. Voc vai colocar uns ifs, e
se no atender o criterio, ignora aquela partida. Se estiver dentro dos filtros (vulgos ifs) voc
coloca ela na listinha normal.
Agora mostrando exatamente onde voc vai mexer:
Se voc pegar o app, vai ver que o flow Home -> Jogos -> clica em alguma modalidade a
vai em Procurar Partida -> a voce chega no procurarPartidasFiltroCtrl, que tem alguns fields
pra voc filtrar.
O que voc tem que fazer pegar essas variveis que j esto implementadas no
procurarPartidasFiltro e passasr elas pro controller que voc vai trabalhar, no caso o
"resultadosDeBuscaPartidaFiltrosCtrl".
Essas so as variaveis, a no comecinho. Voc vai pegar o resultado inputado pelo usurio e
passar ele pro controller que voc vai por o mapa com filtros.
esse primeiro .controller a.
Na real, se voce puder terminar ate dia 9 seria perfeito