Páginas filhas
  • LGX - LWEBDIALOG

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 GET


Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente.


Método GET: URL

Retorna o endereço atual URL carregado na janela de dialog WEB no acionamento da propriedades INIT_URL ou INIT_APP.

Sintaxe




_ADVPL_get_property(< lWebDialogReference >,"URL") => cUrl

Parâmetros




NomeTipoDescriçãoObrigatório?
lWebDialogReferenceCHAR

Referência do componente que está em foco na tela.

Sim


Retorno




TipoDescrição
CHAREndereço URL em execução na janela de diálogo WEB.

Exemplo




LET l_url = _ADVPL_get_property(lWebDialogReference,"URL")

Método GET: CLEAR_CACHE

Retorna o valor da propriedade CLEAR_CACHE que indica se é feita a limpeza do cache antes de exibir a página WEB.

Por padrão esta propriedade é definida como TRUE na criação do componente.

Sintaxe




_ADVPL_get_property(< lWebDialogReference >,"CLEAR_CACHE") => nClearCache

Parâmetros




NomeTipoDescriçãoObrigatório?
lWebDialogReferenceCHAR

Referência do componente que está em foco na tela.

Sim


Retorno



TipoDescrição
BOOLEAN

Indica se deve limpar ou não o cache da página web antes de exibi-la.

TRUE - Limpeza de cache ativa.

FALSE - Limpeza de cache inativa.

Exemplo



LET l_enableClearCache = _ADVPL_get_property(lWebDialogReference,"CLEAR_CACHE")


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(< lWebDialogReference >,"INIT_URL",< l_urlAddress >)

Parâmetros



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

Exemplo



     CALL _ADVPL_set_property(lWebDialogReference,"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(< lWebDialogReference>,"INIT_APP",< l_appwebLogix >)

Parâmetros




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


Exemplo



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




Método SET: CLEAR_CACHE

Realiza limpeza de cache da página WEB antes de exibir a URL.


Sintaxe



_ADVPL_set_property(< lWebDialogReference>,"CLEAR_CACHE",< l_enableClearCache >)

Parâmetros




NomeTipoDescriçãoObrigatório?
l_webdialog_referenceCHARReferência do componente.Sim
l_enableClearCache 
BOOLEAN

Indicador para forçar limpeza de cache da página WEB a ser exibida.

TRUE - Limpar o cache antes da exibição da página WEB.

FALSE - Não limpar o cache da página WEB antes de exibi-la.

Sim


Exemplo



CALL _ADVPL_set_property(lWebDialogReference,"CLEAR_CACHE", < l_enableClearCache> )   




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(< lWebDialogReference>,"FINISH_APP")

Parâmetros



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


Exemplo



CALL _ADVPL_set_property(lWebDialogReference,"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.

Disponível a partir do pacote Logix 12.1.2507 ou Framework FIX 12.1.2411.FIX02.

Sintaxe



_ADVPL_set_property(< lWebDialogReference>,"ENABLE_CLOSE_BUTTON",< l_enableButton >,< l_alignButton >)

Parâmetros



NomeTipoDescriçãoObrigatório?
lWebDialogReferenceCHARReferência do componente.Sim
l_enableButton 
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_alignButton CHAR

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(lWebDialogReference,"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