controls

Top  Previous  Next

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:
 

<controls>

 <control:lum_form >

   <control:lum_propertyPage>

     <control:lum_controlGroup title= "STR_BASIC_INFORMATION">

       <control:lum_table>

          <tr>

            <td>

             <control:lum_label id= "name"/>

            </td>

            <td >

             <control:lum_inputText id= "name"/>

            </td>

          </tr>

          <tr>

            <td>

             <control:lum_label id= "description"/>

            </td>

            <td>

             <control:lum_inputText id= "description"/>

            </td>

          </tr>

        </control:lum_table>

      </control:lum_controlGroup>

    </control:lum_propertyPage>

  </control:lum_form>

</controls>

 

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.
 

Observação

 

<control:lum_form>: significa que o controle é do tipo "lum_form". Esta forma substitui <control type="lum_form">.

A figura a seguir, exibe o front-end renderizado utilizando a configuração de controle exibida anteriormente.

doui007

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):
 

 <douiContext>

  <isPrinting>false</isPrinting>

  <locale>pt_BR</locale>

  <serviceInstanceId>8A488ACB12E82FAF0112E8B61A9223C3</serviceInstanceId>

  <serviceInterfaceInstanceId>8A488ACB12E82FAF0112E8B69C9E2476</serviceInterfaceInstanceId>

  <serviceInstanceDebugLevel>0</serviceInstanceDebugLevel>

  <pageId>8A488ACB12E82FAF0112E8B683D1243E</pageId>

  <channelId>00000000F00000000000000000000001</channelId>

  <userId>00000000D00000000000000000000001</userId>

  <userName>Administrator</userName>

  <userEmail />

  <userLogin>admin</userLogin>

</douiContext>

Permissão de Controles

É possível atribuir uma lista de permissões da ACL para qualquer controle:
 

<control:lum_addButton>

     <permissions>

          <permission id="xxx"/>

     </permissions>

</control:lum_addButton>

<control:lum_editButton/>

Se em uma lista de controles, a permissão de um deles for negada, os seus irmãos são renderizados normalmente.
 

Observação

 

Todos os controles utilizados estão registrados no portal, mais especificamente em "Módulos-->Doui-->Tipos de Controles"


Lumis Portal 6.2.0.120405
Copyright © 2006–2012 Lumis EIP Tecnologia da Informação LTDA. Todos os direitos reservados.