Componente do tipo janela de diálogo não modal (não permite que outras janelas sejam controladas enquanto uma estiver ativa), permitindo movimentação dentro da área de trabalho do usuário e executando em modo maximizado ou normal.


(aviso) Válido apenas a partir do build HARPIA. Para build 32 bits, usando smartclient Lobo Guará, algumas propriedades podem não estar disponíveis. (aviso)

Componente disponível a partir do pacote LOGIX 12.1.2503 ou Framework Fix 12.1.2411.FIX01


Hierarquia




Sintaxe


LET m_webdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG")


Métodos SET


Métodos acessíveis utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.


Método SET: INIT_URL

Iniciar a exibição e permitir navegação de uma página WEB para o endereço URL informado.

Sintaxe



_ADVPL_set_property(< l_webdialog_reference >,"INIT_URL",< l_url_address >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_webdialog_reference CHARReferência do componente.Sim
l_url_address
CHAR
Endereço WEB a ser apresentado para navegação.Sim

Exemplo



     CALL _ADVPL_set_property(l_webdialog_reference,"INIT_URL","https://www.totvs.com")




Método SET: INIT_APP

Iniciar a execução de uma aplicação desenvolvida com padrões Web Logix utilizando interface com componentes PO-UI.

Para correto funcionamento da aplicação, utilizando este componente e propriedade, o código do programa principal que aciona a tela com interface WEB em PO-UI é desenvolvida utilizando um fonte 4GL, que precisa ser desenvolvido com uma determinada estrutura padrão que é apresentada num código de exemplo ao final desta página onde constará um código de exemplo completo utilizando a classe LWebDialog.

Sintaxe



_ADVPL_set_property(< l_webdialog_reference >,"INIT_APP",< l_appweb_logix >)

Parâmetros



NomeTipoDescriçãoObrigatório?
l_webdialog_referenceCHARReferência do componente.Sim
l_appweb_logix
CHAR
Nome da fonte 4gl que possui a função principal que aciona a aplicação WEB Logix.Sim


Exemplo


CALL _ADVPL_set_property(l_webdialog_reference,"INIT_APP","exemploweb")   




Método SET: FINISH_APP

Encerra a janela de diálogo onde está sendo executada a aplicação WEB ou endereço URL iniciada com a propriedade INIT_APP ou INIT_URL.

Sintaxe



_ADVPL_set_property(< l_webdialog_reference >,"FINISH_APP")

Parâmetros



NomeTipoDescriçãoObrigatório?
l_webdialog_reference CHARReferência do componente.Sim

Exemplo



CALL _ADVPL_set_property(l_webdialog_reference,"FINISH_APP")  




Método SET: ENABLE_CLOSE_BUTTON

Define se habilita ou não um botão FECHAR para encerrar a janela de diálogo WEB. Por padrão este botão FECHAR é apresentado no topo da janela de diálogo.

Sintaxe


_ADVPL_set_property(< l_dialog_reference >,"ENABLE_CLOSE_BUTTON",< l_enable_button >,< l_align_button >)

Parâmetros


NomeTipoDescriçãoObrigatório?
l_dialog_reference CHARReferência do componente.Sim
l_enable_button
BOOLEAN

Indicador que define se a janela apresentará um botão para Fechar a janela de diálogo WEB.

TRUE - Apresentar botão FECHAR.

FALSE - Não apresentar botão FECHAR.

Sim
l_align_buttonCHAR

Alinhamento do botão FECHAR,

TOP (Padrão) - Alinhamento do botão na área superior da janela de diálogo WEB.

BOTTOM - Alinhamento do botão na área inferior da janela de diálogo WEB.

Não


Exemplo


CALL _ADVPL_set_property(l_dialog_reference,"ENABLE_CLOSE_BUTTON",FALSE)





Exemplo



###---------------------------------------------------------------------------------------------------------------------------------###
### A aplicação WEB LOGIX sempre deverá ter uma função onde o prefixo é _getRelativePath() para determinar o caminho relativo da 
### pasta onde está localizada a pasta de mesmo nome da aplicação que conterá os artefatos para execução da tela WEB.
### Exemplo:
###       Aplicação: exemploweb
###       Fonte 4GL: exemploweb.4gl
###       Funções desenvolvidas neste código fonte 4GL:
###           - Function exemploweb()
###           - Function exemploweb_getRelativePath()
###---------------------------------------------------------------------------------------------------------------------------------###
DATABASE logix

DEFINE m_container_reference        VARCHAR(10)
DEFINE m_webdialog_reference        VARCHAR(10)

#------------------------------------------------------------------#
 FUNCTION exemploweb()
#------------------------------------------------------------------#
    RETURN exemploweb_runInContainer(NULL)
 END FUNCTION

#------------------------------------------------------------------#
 FUNCTION exemploweb_runInContainer(l_container_refer)
#------------------------------------------------------------------#
#OBJETIVO: função para acionamento de programa a partir de uma tela COCKPIT,
#          onde deverá passar a referencia do painel lateral do cockpit, onde
#          o formulário deverá ser renderizado, como parâmetro.
    DEFINE l_container_refer  VARCHAR(10)

    INITIALIZE m_webdialog_reference TO NULL

    IF LOG_initApp("PADRAO") = 0 THEN
        IF m_container_reference <> " " THEN
            LET m_container_reference = _ADVPL_create_component(NULL,"LSCROLLPANEL",m_container_reference)
            CALL _ADVPL_set_property(m_container_reference,"ALIGN","CENTER")
        END IF
        LET m_webdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG",m_container_reference)

        ### Neste caso imaginemos que no meu appserver está configurado assim:
        ### ROOTPATH: c:\totvs\logix
        ### Ambiente web:
        ### -------------------------------------------------
        ### [<HOST_OR_IP>:<HTTP_OR_HTTPS_PORT>/apps]
        ### ENVIRONMENT=<Environment_name>
		### RESPONSEJOB=JOBWEB
		### DEFAULTPAGE=index.html
		### PATH=c:\totvs\logix\web\apps
		### SOURCEPATH=c:\totvs\logix\web\apps
		### CACHE-CONTROL=no-store
		### PRAGMA=no-cache
        ### 
        ### a aplicação exemploweb terá seus artefatos web armazenados na pasta c:\totvs\logix\web\apps\exemplos\exemploweb\
        ### Onde a pasta "/exemplos/" é a pasta relativa localizada a partir da pasta principal indicada para o ambiente web no appserver.
        ### e a pasta "exemploweb" é a pasta com o nome da aplicação que armazena todos artefatos web para execução da tela.
        CALL _ADVPL_set_property(m_webdialog_reference,"INIT_APP","exemploweb")
    END IF
 END FUNCTION

#------------------------------------------------------------------#
FUNCTION exemploweb_getRelativePath()
#------------------------------------------------------------------#
   ### Retorna o caminho do PATH relativo a pasta raiz configurada a partir da pasta indicada como ROOTPATH no Appserver 
   ### onde ficam armazenados os artefatos desta aplicação WEB (imagens, html, json, artefatos angular, etc).
   RETURN "/exemplos/"
END FUNCTION

Visualização