Open the menu

    DOUI

    Esta seção tem como objetivo explicar os conceitos envolvidos no desenvolvimento de serviços do tipo DOUI , auxiliando o desenvolvedor a customizar e estender serviços utilizando as facilidades do DOUI Framework .

    O DOUI é um framework para construção de interfaces com controles especializados que manipulam dados. Os controles são associados a um source e seus valores são obtidos através dos fields . Sempre que é disparada uma ação, os controles injetam seus valores como parâmetros para seu processamento.

    Serviços implementados sobre o DOUI devem usar ou estender a classe DouiService, referenciada pelo tipo lum_doui através de mapeamento.

    Portanto, um serviço pode ser definido como um serviço DOUI colocando no nó service o atributo type com valor lum_doui.

    Exemplo:

    DouiServiceInterface

    Interfaces implementadas sobre o DOUI framework devem usar ou estender a classe DouiServiceInterface, também referenciada pelo tipo lum_doui através de mapeamento.

    Portanto, uma interface pode ser definida como uma interface DOUI colocando no nó interface o atributo type com valor lum_doui.

    Para cada interface DOUI pode haver no arquivo servidefinition.xml um bloco que define essa interface. Caso o bloco não esteja presente, uma estrutura default é utilizada.

    O DouiServiceInterface efetua as chamadas necessárias ao doui framework, para que a interface possa ser definida usando as facilidades que o framework oferece.

    Além do tipo lum_doui, há outros tipos de interfaces DOUI que possuem maiores especializações. Todas elas estendem a classe DouiServiceInterface . A estrutura default da interface (aquela usada se a interface não é definida no douidefinition.xm) também varia conforme o tipo. Abaixo seguem as descrições de cada tipo:

    • lum_douiList:Esta interface é utilizada para apresentar uma lista de dados. A classe default utilizada para esse tipo é DouiListServiceInterface;
    • lum_douiQuickList: Esta interface é utilizada para apresentar uma lista rápida, na qual são exibidos apenas alguns dados um link para visualizar todos os dados. Esse link vai para a página com a interface Lista. A classe default utilizada para esse tipo é DouiQuickListServiceInterface;
    • lum_douiDetails: Esta é uma interface de detalhes e é utilizada para apresentar os detalhes sobre um dado específico. Geralmente interface Lista possue link que leva para a página com essa interface, possibilitando visualização em maiores detalhes sobre um dado. A classe default utilizada para esse tipo é DouiDetailsServiceInterface;
    • lum_douiAdministrationList: Esta é uma interface de administração. Nesta interface os dados são listados e o usuário pode adicionar dados, editá-los ou excluí-los. Sendo que a adição e edição de dados são feitas por outras interfaces chamadas por esta. A classe default utilizada para esse tipo é DouiAdministrationListServiceInterface;
    • lum_douiAdministrationAddPropertyPage: Esta interface é utilizada para adicionar um dado e é chamada a partir da interface de Administração, ao clicar em “Adicionar”. A classe default utilizada para esse tipo é DouiAdministrationAddPropertyPageServiceInterface;
    • lum_douiAdministrationEditPropertyPage: Esta interface é utilizada para editar um dado e é chamada a partir da interface que Administração, ao clicar em “Editar”. A classe default utilizada para esse tipo é DouiAdministrationEditPropertyPageServiceInterface;
    • lum_douiAdministrationPropertyPage: Esta interface é utilizada para propriedade genérica. As interfaces de adicionar e editar citadas acima são extensões desta interface. A classe default utilizada para esse tipo é DouiAdministrationPropertyPageServiceInterface;
    • lum_douiAdministrationEmbeddedAddPropertyPage: Esta interface é utilizada para adicionar um dado, mas diferentemente de lum_douiAdministrationAddPropertyPage, ela deve ser instanciada em uma página ao invés de ser utilizada para um pop-up. Ela não possui o botão de cancelar, e após o usuário clicar OK, essa interface renderiza uma mensagem indicando que o dado foi adicionado. A classe default utilizada para esse tipo é DouiAdministrationEmbeddedAddPropertyPageServiceInterface.