Seleção de Interface
Quando há navegação para uma URI, será feita a seleção de interface de acordo com os dados retornados pela URI, se nenhuma
URI for informada na URL, será selecionado a interface abstrata e concreta com o nome landing
. Se nenhuma condição for atendida,
será selecionada a interface abstrata e concreta com o nome not_found
, por isto, é obrigatório definir estas duas interfaces
em sua aplicação.
var selection = [
{
when: 'rule_name',
abstract: 'abstract_interface_name'
concrete: 'concrete_interface_name' # opcional
},
...
];
Cada objeto da seleção de interface é composta por 3 parâmetros:
Parâmetros
when
Informe a condição que deve ser avaliada para que seja selecionada a interface abstrata e concreta.
Caso queira usar duas condições, você pode colocar uma seguida da outra separada por ,
, neste caso, todas as condições
infomadas deverão retornar true
para que esta seleção seja a escolhida.
{ name: 'ambiente_seguro_mobile', when: 'isSecure,isMobile'}
Você pode utilizar uma condição geral ou escrever uma expressão que deverá ser avaliada.
{ name: 'preco' when:'$data.preco != null'}
De preferência a escrever as condições na estrutura de condições do framework, assim será mais fácil de reaproveitar e dar manutenção as condições.
abstract
Nome da interface abstrata que será utilizado quando a condição for verdadeira.
concrete
Opcional
Caso um nome não seja informado, ele utilizará o mesmo nome da interface abstrata.
Exemplos
Selecionar uma interface abstrata diferente de concreta:
{
when: 'isRule',
abstract: 'abstractRule'
concrete: 'concreteRule'
}
Selecionar uma interface concreta e abstrata com o mesmo nome:
{
when: 'isAnotherRule',
abstract: 'my_interface'
}