Função criada para retornar o tema do Protheus, caso o ambiente seja compátivel com o novo CSS de troca de temas do Protheus (WebApp).
Disponível
Disponível a partir da LIB Label 20240701
Documentações Complementares
totvs.framework.css.getNewWebAppTheme()
Retorna o tema do Protheus se ele for compatível com a nova troca de temas do Protheus, caso contrário, retorna vazio.
Exemplo de uso:
|
Sintaxe: totvs.framework.css.getNewWebAppTheme() → character
Retornos possíveis da função:
- "" (Vazio)
- CLASSIC
- SUNSET
- DARK
Se a função retornar uma string vazia (""), isso indica que o ambiente não é compatível com os novos temas.
A função retorna todos os temas. Portanto, se houver uma alteração de CSS específica para o tema DARK, essa verificação deverá ser feita com base no retorno.
Exemplo completo:
Exemplo com interface e executando em job
user function newWebAppCSS() local oDlg as object local oBtnPrimary as object local oBtnSecondary as object local oFont as object local oSay as object local lIsDark as logical local cTheme as character local oTheme as character cTheme := totvs.framework.css.getNewWebAppTheme() lIsDark := iif(!empty(cTheme) .and. cTheme == "DARK", .T., .F.) //Valida se o tema ativo é o dark oFont := TFont():New('Courier new',,-18,.T.) oTheme := totvs.framework.css.ProtheusTheme():New() if lIsDark //Exemplo de css no new/constructor da classe oDlg := TDialog():New(180,180,550,700,'Exemplo TDialog',,,,,,,,,.T.) oSay:= TSay():Create(oDlg,{||'Tema Dark ativo'},60,01,,oFont,,,,.T.,,,200,20) else oDlg := TDialog():New(180,180,550,700,'Exemplo TDialog',,,,,CLR_BLACK,CLR_WHITE,,,.T.) oSay:= TSay():Create(oDlg,{||'Tema padrão/sunset ativo'},60,01,,oFont,,,,.T.,CLR_RED,CLR_WHITE,200,20) endif //Exemplo de css enviado através do setCss oBtnPrimary := TButton():New( 002, 002, "Botão 01",oDlg,, 40,10,,,.F.,.T.,.F.,,.F.,,,.F. ) oBtnSecondary := TButton():New( 022, 002, "Botão 02",oDlg,, 40,10,,,.F.,.T.,.F.,,.F.,,,.F. ) //Nosso método já verifica se é o css novo ou não e recupera os tokens corretamente oBtnPrimary:SetCSS(oTheme:getPrimaryButtonCSS()) oBtnSecondary:SetCSS(oTheme:getSecondaryButtonCSS()) oDlg:Activate(,,,.T.,,,) FwFreeObj(oDlg) FwFreeObj(oSay) FwFreeObj(oBtnPrimary) FwFreeObj(oBtnSecondary) FwFreeObj(oTheme) FwFreeObj(oFont) return
Resultado do exemplo no Tema Dark:
Resultado do exemplo no Tema Padrão/Sunset:
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas