Páginas filhas
  • LGX - LWEBDIALOG

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Pagetitle
LGX - LWEBDIALOG
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.


Nota
iconfalse

(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


Bloco de código
LET m_webdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG")


Métodos

SET

GET


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


Exemplo




Expandir
titleSET INIT_GET URL

Método

SET

GET:

INIT_

URL

Iniciar a exibição e permitir navegação de uma página WEB para o endereço URL informadoRetorna o endereço atual URL carregado na janela de dialog WEB no acionamento da propriedades INIT_URL ou INIT_APP.

Sintaxe




Bloco de código
_ADVPL_setget_property(< l_webdialog_referencelWebDialogReference >,"INIT_URL",< l_url_address >)) => cUrl

Parâmetros




NomeTipoDescriçãoObrigatório?
l_webdialog_reference 
lWebDialogReferenceCHAR

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

Sim
l_url_address


Retorno




TipoDescrição
CHAREndereço
WEB a ser apresentado para navegação
URL em execução na janela de diálogo WEB.
Sim
Bloco de código
languageruby
themeConfluence
linenumberstrue
LET     CALLl_url = _ADVPL_setget_property(l_webdialog_referencelWebDialogReference,"INIT_URL","https://www.totvs.com")
Expandir
titleSET INITGET CLEAR_APPCACHE

Método

SET

GET:

 INIT

CLEAR_

APP

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

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 componentePara 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 abaixo.

Sintaxe




Bloco de código
_ADVPL_setget_property(< l_webdialog_referencelWebDialogReference >,"INITCLEAR_APPCACHE",< l_appweb_logix >)) => nClearCache

Parâmetros




NomeTipoDescriçãoObrigatório?
l_webdialog_referencelWebDialogReferenceCHAR

Referência do componente

.
Siml_appweb_logix
CHAR
Nome da fonte 4gl que possui a função principal que aciona a aplicação WEB Logix

que está em foco na tela.

Sim
Exemplo


Retorno

code


Tipo
language
Descriçã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



Bloco de código
linenumberstrue
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.


Expandir
titleSET INIT_URL

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



Bloco de código
_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



Bloco de código
languageruby
themeConfluence
linenumberstrue
     CALL _ADVPL_set_property(lWebDialogReference,"INIT_URL","https://www.totvs.com")




Expandir
titleSET INIT_APP

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



Bloco de código
_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



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(lWebDialogReference,"INIT_APP","exemploweb")   




Expandir
titleSET CLEAR_CACHE

Método SET: CLEAR_CACHE

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


Sintaxe



Bloco de código
_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



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(lWebDialogReference,"CLEAR_CACHE", < l_enableClearCache> )   




Expandir
titleSET FINISH_APP

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



Bloco de código
_ADVPL_set_property(< lWebDialogReference>,"FINISH_APP")

Parâmetros



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


Exemplo



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(lWebDialogReference,"FINISH_APP")  




Expandir
titleSET ENABLE_CLOSE_BUTTON

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.

Nota
iconfalse

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

Sintaxe



Bloco de código
_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



Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(lWebDialogReference,"ENABLE_CLOSE_BUTTON",FALSE)





Método SET: MAXIMIZED

Define se a janela abrirá maximizada.

Sintaxe

Expandir
titleClique AQUI para visualizar um exemplo completo utilizando a classe LWEBDIALOG

Exemplo



Bloco de código
linenumberstrue
###---------------------------------------------------------------------------------------------------------------------------------###
### 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()
###
ruby
themeConfluence
linenumberstrue
###---------------------------------------------------------------------------------------------------------------------------------###
### 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
--------------------------------------------------------------------------------------###
DATABASE logix

DEFINE m_container_reference         ### 
 VARCHAR(10)
DEFINE m_webdialog_reference       ### 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  VARCHAR(10)

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

#------------------------------------------------------------------#
 FUNCTION exemploweb_getRelativePathrunInContainer(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
        ### 
 Retorna   o caminho do PATH relativo### a aplicação exemploweb pastaterá raizseus configuradaartefatos aweb partirarmazenados dana pasta indicada como ROOTPATH no Appserver 
c:\totvs\logix\web\apps\exemplos\exemploweb\
        ### Onde onde ficam armazenados os artefatos desta aplicação WEB (imagens, html, json, artefatos angular, etc).
   RETURN "/exemplos/"
END FUNCTION

Expandir
titleSET MAXIMIZED
Bloco de código
_ADVPL_set_property(< l_dialog_reference >,"MAXIMIZED",< situação >)

Parâmetros

NomeTipoDescriçãoObrigatório?l_dialog_reference CHARReferência do componente.Simalinhamento
BOOLEAN
Indicador que define se a janela abrirá maximizada.Sim

Exemplo

Bloco de código
languageruby
themeConfluence
linenumberstrue
CALL _ADVPL_set_property(l_dialog_reference,"MAXIMIZED",FALSE)  
Expandir
titleSET ENABLE_ESC_CLOSE

Método SET: ENABLE_ESC_CLOSE

Define se habilita o encerramento da janela com a tecla ESC.

Sintaxe

Bloco de código
_ADVPL_set_property(< l_dialog_reference >,"ENABLE_ESC_CLOSE",< situação >)

Parâmetros

NomeTipoDescriçãoObrigatório?l_dialog_reference CHARReferência do componente.Simsituação
BOOLEAN
Indicador que define se a janela poderá ser encerrada com a tecla ESC.Sim

Exemplo

Bloco de código
languageruby
themeConfluence
linenumberstrue
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(lm_dialogwebdialog_reference,"ENABLEINIT_ESC_CLOSEAPP",FALSE)    
Expandir
titleExemplo completo

Exemplo

Bloco de código
linenumberstrue
#------------"exemploweb")
    END IF
 END FUNCTION

#------------------------------------------------------------------#
FUNCTION LDIALOG_test()
#------------exemploweb_getRelativePath()
#------------------------------------------------------------------#
    DEFINE l_dialog_reference VARCHAR(10)

    LET l_dialog_reference = _ADVPL_create_component(NULL,"LDIALOG")
    CALL _ADVPL_set_property(l_dialog_reference,"SIZE",640,480)
    CALL _ADVPL_set_property(l_dialog_reference,"TITLE","Exemplo de componente LDIALOG")
    CALL _ADVPL_set_property(l_dialog_reference,"MAXIMIZED",FALSE)
    CALL _ADVPL_set_property(l_dialog_reference,"ENABLE_ESC_CLOSE",FALSE)
    
    CALL _ADVPL_set_property(l_dialog_reference,"ACTIVATE",TRUE)
   ### 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


Image RemovedImage Added