Você está na página 1de 4

Primeiro,

vou explicar o resultadoDeBuscaPorPartidasSemFiltroCtrl, que o controller


carregado quando voc clica no "O que t rolando?". A ideia desse controller apenas listar
no mapa TODOS os eventos rolando (tanto partidas quanto aulas).
Ento primeiramente, tem a funo daquela barrinha inferior, que a gente chama de PullUp,
bem intuitivo. Essa funo voc pode s copiar pro mapa que vai usar, padrozo.

Em seguida, tem outra funo que voc pode s copiar, porque a funo responsvel por
colocar (em termos de front end mesmo e de back tambm) aquele boto no mapa do
Google que quando voc clica te leva pro seu local atual. No tem muito o que precisar
entender, s copiar mesmo


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

Você também pode gostar