Eventos
Com o MIRA é possível manipular e interagir com os dados carregados dinamicamente na interface em tempo de execução, por exemplo, quando o usuário entra com dados em algum widget de captura de dados (input).
Se durante o tratamento de algum evento houver modificação nos dados previamente utilizados na avaliação das condições, ou em informações exibidas na interface, o MIRA reavalia os Widgets Abstratos e Concretos que foram utilizados para montar a interface, atualizando a tela exibida com as possíveis alterações nas informações e/ou Widgets exibidos para o usuário.
Os eventos tratados são registrados como parte do mapeamento de Widgets Concretos.
{name:'status', value:'Aguardando', events:{click:'marcar_feito'}},
{name:'status', value:'Feito', when:'isDone'}
Registrando um evento:
conf = {
events: {
marcar_feito: function(options) {
options.$dataObj.set('feito', true);
}
}
}
Todas as funções que tratam eventos, recebem um parâmetro chamado options
, este parâmetro é composto pelos seguintes
atributos:
$env
: Informações sobre o contexto da aplicação, como request, device e dado carregado pelo request da URI.$bind
: Informações sobre o contexto da aplicação, como request, device e dado carregado pelo request da URI.$data
: Dados de leitura do objeto carregado da URI ou do contexto de um datasource de um Widget Abstrato$dataObj
: Objeto para manipular informações dos dados que foram carregados da URI ou do contesto de um datasource de um Widget Abstrato$element
: Elemento HTML do contexto do evento$event
: Informações do evento disparado$map
: Widget Concreto utilizado no mapeamento.