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
Nome | Direção | Tipo | Descrição |
---|---|---|---|
ttVisaoMonitor | INPUT | Temp-Table | Temp-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
Nome | Direção | Tipo | Descrição |
---|---|---|---|
ttTags | INPUT | Temp-Table | Temp-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
Nome | Direção | Tipo | Descrição |
---|---|---|---|
ttMonitorMetadados | INPUT | Temp-Table | Temp-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
Nome | Direção | Tipo | Descrição |
---|---|---|---|
ttMonitorInfoLinha | INPUT | Temp-Table | Temp-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
Nome | Direção | Tipo | Descrição |
---|---|---|---|
oInfoOutput | OUTPUT | JsonObject | Objeto 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.