PolarisUI - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • . PolarisUI A API fornece métodos para habilitar Next Experience Em páginas de IU diretas.

    Uma página de IU [sys_ui_page] será direta se Direto o campo é 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 IU do Next Experience .

    . PolarisUI A API é fornecida no sn_ui namespace.

    PolarisUI - canUsePolarisCSS()

    Verifica se a página atual pode usar Next Experience IU.

    Este método retorna verdadeiro se todas as condições a seguir forem atendidas.
    • sn_ui.PolarisUI.isEnabled() . verdadeiro .
    • O parâmetro URL da solicitação sysparm_use_polarisnão está definido como falso .
    • O cabeçalho da solicitação HTTP do referenciador não contém sysparm_use_polaris .
    • O uso da página ou do plug-in primário não é negado Next Experience Por um registro na tabela Suporte de tema de página [sys_page_theme].

    Use este método para mudar condicionalmente o comportamento ou geleia saída se Next Experience habilitado.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    Booliano

    Sinalizador que indica se a página atual pode usar Next Experience IU.

    Valores válidos:
    • Verdadeiro: A página atual pode usar Next Experience IU.
    • Falso: A página atual não pode usar Next Experience IU.

    Esta Ação de IU redireciona para uma página diferente se Next Experience está 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()

    Retorna uma lista de nomes de classe CSS usados pelo Next Experience IU.

    Use este método no HTML <body>Marcador de uma página de IU para definir as classes CSS necessárias Next Experience renderizar corretamente.
    <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">

    Os nomes de classe retornados mudam dependendo das propriedades do sistema e se existe uma saída de depuração de sessão.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres Lista de nomes de classe CSS usados pelo Next Experience IU.

    Este script Jelly adiciona Next Experience Para 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()

    Verifica se Next Experience A IU está habilitada para o usuário atual.

    Este método verifica se glide.ui.polaris.experiencepropriedade do sistema e. glide.ui.polaris.useas preferências do usuário estão definidas como verdadeiro .
    • glide.ui.polaris.experiencehabilita Next Experience na instância .
    • glide.ui.polaris.usedesabilitado Next Experience para usuários especificados quando definido como falso .
    Para obter mais informações sobre Next Experience propriedades do sistema e preferências do usuário, consulte Propriedades do sistema Next Experience .
    Nota:
    Este método retorna verdadeiro mesmo se Next Experience está 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 está habilitado globalmente.
    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    Booliano

    Sinalizador que indica se Next Experience A IU está habilitada para o usuário atual.

    Valores válidos:
    • Verdadeiro: O. Next Experience A IU está habilitada para o usuário atual.
    • Falso: O. Next Experience A IU não está habilitada para o usuário atual.

    Esta página de IU exibe uma mensagem condicional para o usuário se Next Experience está 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 em que um usuário pode clicar para exibir o registro IU principal em vez de Next Experience. A regra de negócio Condição o campo está definido como 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);