Árvore de páginas

Facilita o gerenciamento e criação das interfaces dos monitores tipo Texto, convertendo os dados das temp-tables passadas como parâmetro para um objeto JSON no formato compatível com o painel do Gestão à vista.

Obrigatória: Somente para monitores que possuem opção do tipo Texto.

Métodos

Construtor

Método chamado durante a instanciação da classe. Sempre será o primeiro método invocado.


Parâmetros

NomeDireçãoTipo Descrição
ttVisaoMonitorINPUTTemp-TableTemp-Table contendo as informações do monitor na visão em que está sendo carregado.


Exemplo de chamada

USING cdp.services.gestaoavista.*. //Definir no topo do programa

DEFINE VARIABLE InfoBuilder AS InfoBuilder NO-UNDO.   

InfoBuilder = NEW InfoBuilder(INPUT TABLE ttVisaoMonitor). 


setTags

Recebe a temp-table ttTags, que contém as definições das Tags que serão exibidas abaixo do título do monitor. Tags são pequenos rótulos coloridos que são úteis para destacar detalhes importantes.


Parâmetros

NomeDireçãoTipo Descrição
ttTagsINPUTTemp-TableTemp-Table contendo os registros de cada tag a ser exibida.


Exemplo de chamada

CREATE ttTags.
ASSIGN ttTags.valor      = "Tag de Exemplo"
       ttTags.icone      = "po-icon-calendar"
       ttTags.cor-texto  = "#f5f5f5"
       ttTags.cor-tag    = "#080707".

InfoBuilder:setTags(INPUT TABLE ttTags).


setParameters

Recebe a temp-table ttMonitorMetadados, que contém as configurações gerais do monitor, como cor de fundo, cor do título dentre outras.


Parâmetros

NomeDireçãoTipo Descrição
ttMonitorMetadadosINPUTTemp-TableTemp-Table contendo as configurações gerais do monitor.


Exemplo de chamada

CREATE ttMonitorMetadados.
ASSIGN ttMonitorMetadados.cor-titulo = "#FFFFFF"          
       ttMonitorMetadados.cor-fundo = "#007acc".          

InfoBuilder:setParameters(INPUT TABLE ttMonitorMetadados).


setLines

Recebe a ttMonitorInfoLinha, que são as linhas que irão compor o conteúdo do monitor. 


Parâmetros

NomeDireçãoTipo Descrição
ttMonitorInfoLinhaINPUTTemp-TableTemp-Table contendo os registros das linhas do monitor.


Exemplo de chamada

DEFINE VARIABLE oStyle       AS JsonObject  NO-UNDO.

oStyle = NEW JsonObject().
oStyle:ADD("color", "#FFFFFF"). //Colocar no formato "nomeDaPropriedade", "valorDaPropriedade"
oStyle:ADD("height", "100px").
    
/*Cada registro criado na ttMonitorInfoLinha será renderizado no monitor como um "bloco", que pode conter textos, imagens, ícones e outros. */
    
CREATE ttMonitorInfoLinha.
ASSIGN ttMonitorInfoLinha.texto = "Linha 1"
       ttMonitorInfoLinha.icone = "po-icon-clear-content"
       ttMonitorInfoLinha.style-texto = STRING(oStyle:GetJsonText())
       ttMonitorInfoLinha.classe-texto = "po-font-title po-text-center po-sm-12 po-p-1 bold-text".

InfoBuilder:setLines(INPUT TABLE ttMonitorInfoLinha).


createMonitor

Método que transforma todos os dados das temp-tables ttMonitorMetadados, ttMonitorInfoLinha e ttTags em um objeto JSON, já formatado seguindo o padrão utilizado pelo painel do Gestão à Vista. Esse JSON deverá ser retornado pela API de negócio para ser processado e apresentado ao usuário final. Só deve ser invocado depois que os dados do monitor tenham sido carregados através do método setLines.


Parâmetros

NomeDireçãoTipo Descrição

oInfoOutput

OUTPUTJsonObjectObjeto JSON representando o monitor que será apresentado ao usuário


Exemplo de chamada

PROCEDURE pi-get-monitor-data-info:
    DEFINE INPUT  PARAMETER TABLE FOR ttVisaoMonitor.
    DEFINE OUTPUT PARAMETER oInfoOutput AS JsonObject.   
    DEFINE OUTPUT PARAMETER TABLE FOR RowErrors.    

    <...Criação das temp-tables, chamada dos métodos de set...>

    oInfoOutput = InfoBuilder:createMonitor(). 

END PROCEDURE.
  • Sem rótulos