PolarisUI - Incluse dans le périmètre

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 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 de l’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 et doit inclure tous les formats 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 en savoir plus 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 true 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 faux.
    • L’en-tête de la requête HTTP de référence 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 de 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 de noms de classes 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 classe renvoyés changent en fonction des propriétés système et de l’existence 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 classes 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 les deux définies sur vrai.
    • glide.ui.polaris.experience activé Next Experience sur l’instance.
    • glide.ui.polaris.use Se désactive Next Experience pour les utilisateurs spécifiés si la valeur est 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 Next Experience.
    Remarque :
    Cette méthode renvoie la valeur true 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 qui indique si l’interface Next Experience utilisateur est activée pour l’utilisateur actuel.

    Valeurs valides :
    • true : l’interface Next Experience utilisateur est activée pour l’utilisateur actuel.
    • false : 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 cette option 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 sur 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() &amp;&amp;sn_ui. PolarisUI.isEnabled() &amp; 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);