controls
Em controls, são especificados os tipos de controles (formulário, botão, label...) que devem fazer parte do front-end da interface.
Exemplo de definição dos controles de uma interface especificados no douidefinition que será renderizada:
Os controles apresentam a seguinte regra: Se o controle possui pai, ele herda os resources dele e depois inclui o seu próprio. O seu resource tem prioridade em cima do resource do controle pai. Caso o controle não tenha pai, ele herda resource da interface.
A figura a seguir, exibe o front-end renderizado utilizando a configuração de controle exibida anteriormente.
A flexibilidade da utilização de controles é a possibilidade de herança dos mesmos, podendo-se alterar controles específicos apenas, mantendo toda a estrutura de controles herdada.
O DOUI framework passa as seguintes informações para os XSL´s, e estes podem utilizar ou não para gerar o HTML final da interface. Tais informações sempre estarão presentes no XML gerado para interfaces DOUI.
São elas:
- isPrinting: indica se a página está em modo de impressão ou não. Essa informação pode ser utilizada, por exemplo, se quiser que uma interface saia na impressão com layout diferente do que está sendo visualizada. Portanto, é necessário saber se a página está em modo de impressão (utilizando o serviço de impressão Lumis ) ou não;
- locale: informa o idioma que o usuário atual está utilizando;
- serviceInstanceId: informa o identificador da instância do serviço;
- serviceInstanceDebugLevel: informa o nível de debug da instância de serviço, especificado na aba " Avançado", acessado via right-click sobre a interface. Este valor, por default, é "0";
- pageId : informa o identificador da página onde a a interface está instanciada;
- channelId:informa o identificador do canal onde está instanciado o serviço de tal interface;
- userId : informa o identificador do usuário atual;
- userName : informa o nome do usuário atual;
- userEmail: informa o e-mail do usuário, se possuir;
- userLogin: informa o login do usuário atual.
Eles são apresentados da seguinte maneira na aba XML do Estilo de todas as interfaces DOUI (acessado através do right-click sobre a interface):
Permissão de Controles
É possível atribuir uma lista de permissões da ACL para qualquer controle:
Se em uma lista de controles, a permissão de um deles for negada, os seus irmãos são renderizados normalmente.