Páginas filhas
  • totvs.framework.adapter.dashboard - cards e charts

Versões comparadas

Chave

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

Classe auxiliar para criação dinâmica de cards e charts (gráficos) para telas genéricas de dashboard, para ser utilizada em aplicativos angular POUI
Essa classe deve ser utilizada como herança da sua classe que terá os cards e charts
Essa classe por padrão herda a classe genérica de adapter FwAdapterBaseV2, portanto podem ser utilizados os métodos disponíveis na classe pai também.

classe disponível a partir da lib 20240115

Métodos disponíveis:

...

Exemplos


...

addCard
Âncora
addcard
addcard

...

Método que irá criar um chart (grafico) no dashboard, o nome desse método é dinâmico, deve ser de acordo com o card chart que foi criado no new da classe.

...

Método para definir a query que será utilizada nos detalhes de uma card ou chart, o nome desse método é dinâmico, deve ser de acordo com o card que foi criado no new da classe.

...

Método para definir os campos que serão utilizados nos detalhes de uma card ou chart, o nome desse método é dinâmico, deve ser de acordo com o card que foi criado no new da classe.

...

Método para definir a descrição completa de um card ou chart, deve ser utilizado dentro do metodo método dinâmico que recebe o nome do card ou chart da propriedade e recebe como parâmetro o card ou chartmesmo


Parâmetros:

NomeTipoDescrição
cDescriptionCarácterdescrição a ser definida

Retorno nil

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
//-------------------------------------------------------------------
/*/{Protheus.doc} total_users
    definições referente ao card total_users
@param, oCard, objeto de card a ser criado.
@return objeto de card passado por parametro
@author Caio Lima
@since 15/12/2023
//-----------------------------------------------------------------*/
Method total_users(oCard as object) as object Class home

    oCard:setDescription(STR0010) //"Total de usuários existente no protheus"
    
Return(oCard)

...

Método para definir o valor do card, deve ser utilizado dentro do método dinâmico que recebe o nome do card da propriedade e recebe como parâmetro o card.mesmo
Disponível apenas para o card


Parâmetros:

NomeTipoDescrição
nValuenumericoValor a ser definido para o card

Retorno nil

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
//-------------------------------------------------------------------
/*/{Protheus.doc} total_users
    definições referente ao card total_users
@param, oCard, objeto de card a ser criado.
@return objeto de card passado por parametro
@author Caio Lima
@since 15/12/2023
//-----------------------------------------------------------------*/
Method total_users(oCard as object) as object Class home
	Local cSql as character
	Local nValue as numeric

    cSql := ::total_UsersQuery("total")
	nValue := FwExecCachedQuery():ExecScalar(cSql, "QTD", "30", "10")

    oCard:setValue(nValue)
    
Return(oCard)

...

Método para definir a api que será utilizada para os detalhes de um card ou chart
caso não seja definido será utilizado o default que é 
/api/framework/dashboard/detail/:cDashClient/:cWich

caso seja definido uma api detail diferente não é necessário implementar os métodos addfields e query referente.


Parâmetros:

NomeTipoDescrição
cApiDetailCaráctercaminho para a api de detalhes de um card ou chart

Retorno nil

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
//-------------------------------------------------------------------
/*/{Protheus.doc} total_users
    definições referente ao card total_users
@param, oCard, objeto de card a ser criado.
@return objeto de card passado por parametro
@author Caio Lima
@since 15/12/2023
//-----------------------------------------------------------------*/
Method total_users(oCard as object) as object Class home

	// utilizo a api de detalhes já existente no dashboard de saneamento.
    oCard:setApiDetail("/api/framework/privileges/sanitation/usersWithoutPrivileges")
    
Return(oCard)

...

Adiciona uma coluna que será utilizada para a estrutura de detalhes do card/chart


Parâmetros:

NomeTipoDescrição
cPropertycaracterenome da coluna que virá na api de detalhes
cLabelcaracteretitulo da coluna
cTypecaracteretipo da coluna
lVisiblelogicoindica se a coluna será visivel na grid de detalhes

Retorno nil

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
//-------------------------------------------------------------------
/*/{Protheus.doc} total_users
    definições referente ao card total_users
@param, oCard, objeto de card a ser criado.
@return objeto de card passado por parametro
@author Caio Lima
@since 15/12/2023
//-----------------------------------------------------------------*/
Method total_users(oCard as object) as object Class home

	oCard:addColumn("user_id", STR0011, "string", .T.) //"Id do usuário"
    oCard:addColumn("user_code", STR0012, "string", .T.) //"Código do usuário"
    oCard:addColumn("name", STR0013, "string", .T.) //"Nome do usuário"
    
Return(oCard)


...

addDataChart
Âncora
addDataChart
addDataChart

Descrição

Adiciona uma nova dimensão no gráfico a ser construído
Método disponível apenas para objeto do tipo chart


Parâmetros:

NomeTipoDescrição
cLabelcaracteretitulo da dimensão
nValuenumericovalor da dimensão
cToolTipcaractereTooltip da dimensão, exibida no mousehover no grafico
cColorcaracterecor da dimensão, para maiores informações consultar documentação de chart do POUI

Retorno nil

Bloco de código
languagejava
themeMidnight
titleExemplo
collapsetrue
//-------------------------------------------------------------------
/*/{Protheus.doc} total_users
    definições referente ao chart total_users
@param, oChart, objeto de chart a ser criado.
@return objeto de chart passado por parametro
@author Caio Lima
@since 15/12/2023
//-----------------------------------------------------------------*/
Method total_users(oChart as object) as object Class home
    Local cSql as character
    Local cAlias as character
    Local cAliasBk as character

	cAliasBk := Alias()

    cSql := ::group_RulesQuery("total")
    cAlias := FwExecCachedQuery():OpenQuery(cSql,,,,"30","10")

    oChart:addDataChart(STR0032, (cAlias)->PRIORIZA, STR0031, "color-03") //"Usuários que priorizam os acessos do grupo" //"Prioriza"
    oChart:addDataChart(STR0033, (cAlias)->DESCONSIDERA, STR0034, "color-05") //"Desconsidera" //"Usuários que desconsideram os acessos do grupo"
    oChart:addDataChart(STR0036, (cAlias)->soma, STR0035, "color-07") //"Usuários que somam os acessos do grupo" //"Soma"
    
    (cAlias)->(DbCloseArea())

    FWRestAlias(cAliasBk)

Return(oCard)

Exemplo:
Âncora
Exemplo
Exemplo

framework.adapter.privileges.home.tlpp