Eventos na página de pesquisa
Quando uma atividade termina o render do seu form de pesquisa, esta vai despoletar um evento a partir do objeto/namespace window.SiteApp
. Cada atividade tem o seu evento, no final quando todas as atividades terminarem o seu render é despoletado um evento para informar que todos os forms de pesquisa terminaram o seu render.
Eventos
O objeto SiteApp
é uma extensão do objeto Backbone.Events
desta forma tem todas as funções associadas à manipulação de eventos. Para mais informações ver a documentação.
Lista de eventos da pesquisa
- "SearchPackage.RenderEnded" (wrapperEl) - Evento despoletado quando termina o render do form de pesquisa de pacotes;
- "SearchLodge.RenderEnded" (wrapperEl) - Evento despoletado quando termina o render do form de pesquisa de hospedagem;
- "SearchFlight.RenderEnded" (wrapperEl) - Evento despoletado quando termina o render do form de pesquisa de voos;
- "SearchInsurance.RenderEnded" (wrapperEl) - Evento despoletado quando termina o render do form de pesquisa de seguros;
- "SearchRentACar.RenderEnded" (wrapperEl) - Evento despoletado quando termina o render do form de pesquisa de rent-a-car;
- "SearchService.RenderEnded" (wrapperEl) -Evento despoletado quando termina o render do form de pesquisa de serviços;
- "SearchTransfer.RenderEnded" (wrapperEl) - Evento despoletado quando termina o render do form de pesquisa de transfers;
- "Search.RenderEnded" (wrapperEl) - Este evento é despoletado quando todas as atividades terminarem o seu render;
Lista de eventos dos resultados
- "ResultPackage.ItemAdded" (wrapperEl) - Este evento é despoletado quando é adicionado um pacote à lista de resultados da pesquisa de pacotes;
- "ResultTransfer.ItemAdded" (wrapperEl) - Este evento é despoletado quando é adicionado um tranfer à lista de resultados da pesquisa de transfers;
- "ResultFlight.ItemAdded" (wrapperEl) - Este evento é despoletado quando é adicionado um voo à lista de resultados da pesquisa de voos;
- "ResultInsurance.ItemAdded" (wrapperEl) - Este evento é despoletado quando é adicionado um seguro à lista de resultados da pesquisa de seguros;
- "ResultLodge.ItemAdded" (wrapperEl) - Este evento é despoletado quando é adicionado um hotel à lista de resultados da pesquisa de hoteis;
- "ResultRentACar.ItemAdded" (wrapperEl) - Este evento é despoletado quando é adicionado um rent-a-car à lista de resultados da pesquisa de rent-a-cars;
- "ResultService.ItemAdded" (wrapperEl) - Este evento é despoletado quando é adicionado um serviço à lista de resultados da pesquisa de serviços;
(wrapperEl)
é um elemento (jQuery) passado como argumento do evento, este contém o form de pesquisa de cada atividade. No caso do evento Search.RenderEnded
o wrapperEl
é o elemento que contém todos os forms de pesquisa
Exemplo 1: Log dos eventos para a consola do browser
Ao inserir o código em baixo na página de pesquisa pode validar o comportamento dos eventos.
Página de pesquisa:
Código Javascript para fazer log dos eventos:
Output na consola do browser:
Exemplo 2: Manipular elementos no form
Neste segundo exemplo vamos esperar pelo evento da pesquisa de serviços. De seguida, vamos alterar o nome serviço que estamos a procurar para Serviço de Teste
e não permitir que o utilizador altere esse valor.
Página de pesquisa:
Código Javascript que vai esperar pelo evento da atividade de Serviços SearchService.RenderEnded
e fazer as alterações requeridas:
Em baixo está destacado o wrapperEl
referenciado anteriormente, como pode observar este contém o form de pesquisa:
Resultado final:
Eventos do Widget de Pesquisa
No caso do widget de pesquisa os eventos seguem a mesma filosofia como podem observar em baixo