PolarisUI - Dans le champ d’application

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • L’API PolarisUI fournit des méthodes d’activation Next Experience sur les pages directes de l’interface utilisateur.

    Une page d’interface utilisateur [sys_ui_page] est directe si le champ Direct est sélectionné. Une page d’interface utilisateur directe n’inclut pas le modèle de page HTML commun mais doit inclure tous les CSS et JavaScript que vous souhaitez utiliser dans la page.

    Toutes les pages de l’interface utilisateur non directes sont utilisées Next Experience par défaut.

    Pour plus d’informations sur Next Experience, consultez l’interface utilisateur Next Experience.

    L’API PolarisUI est fournie dans l’espace de noms sn_ui .

    PolarisUI : canUsePolarisCSS()

    Vérifie si la page actuelle peut utiliser l’interface Next Experience utilisateur.

    Cette méthode renvoie la valeur vrai si toutes les conditions suivantes sont remplies.
    • sn_ui. PolarisUI.isEnabled() est vrai.
    • Le paramètre sysparm_use_polaris d’URL de la demande n’est pas défini sur false.
    • L’en-tête de demande HTTP référent ne contient pas sysparm_use_polaris=faux.
    • L’utilisation de la page ou de son module d’extension parent n’est pas refusée par un enregistrement de la table Prise en charge du thème de Next Experience page [sys_page_theme].

    Utilisez cette méthode pour modifier conditionnellement le comportement ou la sortie Jelly si Next Experience elle est activée.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la page actuelle peut utiliser l’interface Next Experience utilisateur.

    Valeurs valides :
    • true : la page actuelle peut utiliser l’interface Next Experience utilisateur.
    • false : la page actuelle ne peut pas utiliser l’interface Next Experience utilisateur.

    Cette action d’interface utilisateur redirige vers une autre page si Next Experience elle est en cours d’exécution sur le formulaire actuel.

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

    Ce script Jelly définit une feuille de style différente pour les pages à l’aide de 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()

    Renvoie une liste des noms de classe CSS utilisés par l’interface Next Experience utilisateur.

    Utilisez cette méthode dans la balise HTML <body> d’une page d’interface utilisateur pour définir les classes CSS requises pour Next Experience un rendu correct.
    <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">

    Les noms de classes renvoyés changent en fonction des propriétés système et de l’existence ou non d’une sortie de débogage de session.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Chaîne Liste des noms de classe CSS utilisés par l’interface Next Experience utilisateur.

    Ce script Jelly s’ajoute Next Experience à une page d’interface utilisateur personnalisée.

    <?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()

    Vérifie si l’interface Next Experience utilisateur est activée pour l’utilisateur actuel.

    Cette méthode vérifie si la propriété système et glide.ui.polaris.use la glide.ui.polaris.experience préférence utilisateur sont toutes deux définies sur vrai.
    • glide.ui.polaris.experience s’active Next Experience sur l’instance.
    • glide.ui.polaris.use Se désactive Next Experience pour les utilisateurs spécifiés si la valeur est définie sur faux.
    Pour plus d’informations sur Next Experience les propriétés système et les préférences utilisateur, consultez Propriétés système de Next Experience.
    Remarque :
    Cette méthode renvoie la valeur vrai même si Next Experience elle est désactivée pour la page actuelle. Cette méthode est utile pour activer conditionnellement des expériences entières ou pour rediriger vers différentes pages lorsqu’elle Next Experience est activée globalement.
    Tableau 5. Paramètres
    Nom Type Description
    Aucun
    Tableau 6. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si l’interface Next Experience utilisateur est activée pour l’utilisateur actuel.

    Valeurs valides :
    • vrai : l’interface Next Experience utilisateur est activée pour l’utilisateur actuel.
    • faux : l’interface Next Experience utilisateur n’est pas activée pour l’utilisateur actuel.

    Cette page d’interface utilisateur affiche un message conditionnel à l’utilisateur si Next Experience elle est activée pour l’utilisateur actuel.

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

    Cette règle métier affiche un message d’information sur l’affichage de l’enregistrement dans lequel un utilisateur peut cliquer pour afficher l’enregistrement au Interface utilisateur principale lieu de Next Experience. Le champ Condition de règle métier est défini sur !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);