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


