---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# PolarisUI - com escopo

# PolarisUI - com escopo {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 min. de leitura

A API PolarisUI fornece métodos para habilitar Next Experience em páginas de IU diretas.

Uma página de IU \[sys_ui_page\] será direta se o campo Direto estiver Selecionado. Uma página de IU direta não inclui o modelo de página HTML comum e deve incluir todos os CSS e JavaScript que você deseja usar na página.

Todas as páginas de IU não diretas usam Next Experience por padrão.

Para obter mais informações sobre Next Experience, consulte [a IU do Next Experience](https://www.servicenow.com/docs/access?context=next-experience-landing-page&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US).

A API PolarisUI é fornecida no namespace `sn_ui`.

## PolarisUI - canUsePolarisCSS() {#ariaid-title2}

Verifica se a página atual pode usar a IU Next Experience.
Este método retornará `verdadeiro` se todas as condições a seguir forem atendidas.

* sn_ui.PolarisUI.isEnabled() é `verdadeiro`.
* O parâmetro de URL da solicitação sysparm_use_polaris não está definido como `falso`.
* O cabeçalho da solicitação HTTP do referenciador não contém `sysparm_use_polaris=false`.
* O uso de Next Experience não foi negado à página ou ao plug-in primário por um registro na tabela Suporte ao tema da página \[sys_page_theme\].
{#PolarisUI-canUsePolarisCSS__ul_acr_xnb_vrb}

Use este método para mudar condicionalmente o comportamento ou a saída [Jelly](https://www.servicenow.com/docs/access?context=r_JellyTags&version=xanadu&pubname=xanadu-application-development&ft:locale=en-US) se Next Experience estiver habilitado.
{#PolarisUI-canUsePolarisCSS__table_vzz_nkq_prb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

{#PolarisUI-canUsePolarisCSS__table_vzz_nkq_prb} {#PolarisUI-canUsePolarisCSS__table_wzz_nkq_prb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se a página atual pode usar a IU Next Experience. Valores válidos: * verdadeiro: a página atual pode usar a IU Next Experience. * falso: a página atual não pode usar a IU Next Experience. {#PolarisUI-canUsePolarisCSS__ul_pgy_hv2_5rb} |
[Tabela 2. Retorna]

{#PolarisUI-canUsePolarisCSS__table_wzz_nkq_prb}  
Esta Ação de IU será redirecionada para uma página diferente se Next Experience estiver em execução no formulário atual.

    var id = current.getUniqueValue();
    if (sn_ui.PolarisUI.canUsePolarisCSS())
    	action.setRedirectUrl("/now/custom/application/record/" + id);
    return "/record.do?sys_id=" + id;

Este script Jelly define uma folha de estilos diferente para páginas que usam Next Experience.

    <g:evaluate var="jvar_css_path">
    	// Core UI content css record
    	var id = "5e8fde63d713310074304187ed61030d";

    	if (sn_ui.PolarisUI.canUsePolarisCSS())
    		id = "84f03cc87120a00cfab6dd207cb0b72";
    	
    	"/" + id + ".cssdbx";
    </g:evaluate>
    <link href="${jvar_css_path}" rel="stylesheet" type="text/css" />

## PolarisUI - getBodyClassNames() {#ariaid-title3}

Retorna uma lista de nomes de classe CSS usados pela IU Next Experience.
Use este método no marcador HTML `<body>` de uma página de IU para definir as classes CSS necessárias para que Next Experience seja renderizado corretamente.

    <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">

Os nomes de classe retornados mudam dependendo das propriedades do sistema e se houver saída de depuração de sessão.
{#PolarisUI-getBodyClassNames__table_hkn_1lq_prb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 3. Parâmetros]

{#PolarisUI-getBodyClassNames__table_hkn_1lq_prb} {#PolarisUI-getBodyClassNames__table_ikn_1lq_prb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Lista de nomes de classe CSS usados pela IU Next Experience. |
[Tabela 4. Retorna]

{#PolarisUI-getBodyClassNames__table_ikn_1lq_prb}  
Este script Jelly adiciona Next Experience a uma página de IU personalizada.

    <?xml version="1.0" encoding="utf-8" ?>
    <j:jelly trim="true" xmlns:j="jelly:core" xmlns:g="glide" xmlns:g2="null">
        <g2:doctype name="html" />
        <g:inline template="dir_checker.xml"/>
        <html class="${jvar_text_direction}" lang="$[gs.getSession().getLanguage()]">
            <head>
                <g:inline template="set_theme_vars.xml" /> <!-- sets jvar_theme and jvar_css_cache_key -->
                <g:requires name="styles/css_includes_my_app.css" includes="true" params="$[jvar_css_cache_key]" /> 
                <g:if_polaris>
    	<g:then><g:inline template="polarisberg_output.xml"/></g:when>
    	<g:else><g:inline template="heisenberg_output.xml" type="css"/></g:else>
                 </g:if_polaris>
            </head>
            <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">
                Your UI page content here
            </body>
        </html>
    </j:jelly>

## PolarisUI - isEnabled() {#ariaid-title4}

Verifica se a IU Next Experience está habilitada para o usuário atual.
Este método verifica se a propriedade do sistema \[ glide.ui.polaris.experience e a preferência do usuário glide.ui.polaris.use estão definidas como verdadeiras.

* glide.ui.polaris.experience habilita Next Experience na instância.
* glide.ui.polaris.use desabilita Next Experience para usuários especificados quando definido como falso.

{#PolarisUI-isEnabled__ul_hrj_nq2_5rb}Para obter mais informações sobre Next Experience propriedades do sistema e preferências do usuário, consulte [Propriedades do sistema Next Experience](https://www.servicenow.com/docs/access?context=pol-sys-properties&version=xanadu&pubname=xanadu-platform-user-interface&ft:locale=en-US).  
Nota:  
Este método retorna verdadeiro mesmo se Next Experience estiver desabilitado para a página atual. Este método é útil para habilitar condicionalmente experiências inteiras ou redirecionar para páginas diferentes quando Next Experience estiver habilitado globalmente.
{#PolarisUI-isEnabled__table_ljc_djq_prb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 5. Parâmetros]

{#PolarisUI-isEnabled__table_ljc_djq_prb} {#PolarisUI-isEnabled__table_mjc_djq_prb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se a IU Next Experience está habilitada para o usuário atual. Valores válidos: * verdadeiro: a IU Next Experience está habilitada para o usuário atual. * falso: a IU Next Experience não está habilitada para o usuário atual. {#PolarisUI-isEnabled__ul_pgy_hv2_5rb} |
[Tabela 6. Retorna]

{#PolarisUI-isEnabled__table_mjc_djq_prb}  
Esta página de IU exibirá uma mensagem condicional para o usuário se Next Experience estiver habilitado para o usuário atual.

    <j:if test="${sn_ui.PolarisUI.isEnabled()}">
    	<a href="...">Click here to learn more about the new UI changes</a>
    </j:if>

Esta regra de negócio mostra uma mensagem informativa na exibição do registro na qual um usuário pode clicar para exibir o registro em IU principal em vez de Next Experience. O campo Condição da regra de negócio está definido como `!current.isNewRecord() && sn_ui.PolarisUI.isEnabled() && sn_ui.PolarisUI.canUsePolarisCSS()`.

    // business rule script field

    (function executeRule(current, previous /*null when async*/) {

    	var sysId = current.getUniqueValue();
    	gs.addInfoMessage("<a href='/incident.do?sys_id="+ sysId +"&sysparm_use_polaris=false'>Click here to load this page in Core UI</a>");

    })(current, previous);


