PolarisUI – Scoped

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Die PolarisUI- API bietet Methoden zum Aktivieren von Next Experience auf direkten UI-Seiten.

    Eine UI-Seite [sys_ui_page] ist direkt, wenn das Feld Direktausgewähltist. Eine direkte UI-Seite enthält nicht die allgemeine HTML-Seitenvorlage und muss das gesamte CSS und JavaScript enthalten, das Sie auf der Seite verwenden möchten.

    Alle nicht direkten UI-Seiten verwenden standardmäßig Next Experience.

    Weitere Informationen zu Next Experiencefinden Sie in der Next Experience-UI.

    Die PolarisUI- API wird innerhalb des sn_ui- Namespace bereitgestellt.

    PolarisUI – canUsePolarisCSS()

    Überprüft, ob die aktuelle Seite die Benutzeroberfläche Next Experience verwenden kann.

    Diese Methode gibt „ true “ zurück, wenn alle der folgenden Bedingungen erfüllt sind.
    • sn_ui.PolarisUI.isEnabled() ist true.
    • Der Anforderungs-URL-Parameter sysparm_use_polaris ist nicht auf falsefestgelegt.
    • Der HTTP-Anforderungsheader des Referrers enthält nicht sysparm_use_polaris=false.
    • Der Seite oder ihrem übergeordneten Plugin wird die Verwendung von Next Experience durch einen Datensatz in der Tabelle „Seitenthema-Support“ [sys_page_theme] nicht verweigert.

    Verwenden Sie diese Methode, um das Verhalten oder die Jelly- Ausgabe bedingt zu ändern, wenn Next Experience aktiviert ist.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die aktuelle Seite die Next Experience -UI verwenden kann.

    Gültige Werte:
    • true: Die aktuelle Seite kann die Benutzeroberfläche Next Experience verwenden.
    • false: Die aktuelle Seite kann die Benutzeroberfläche Next Experience nicht verwenden.

    Diese UI-Aktion leitet zu einer anderen Seite um, wenn Next Experience für das aktuelle Formular ausgeführt wird.

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

    Dieses Jelly-Skript legt ein anderes Stylesheet für Seiten mit Next Experiencefest .

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

    Gibt eine Liste von CSS-Klassennamen zurück, die von der Next Experience -UI verwendet werden.

    Verwenden Sie diese Methode im HTML-Tag <body> einer UI-Seite, um die CSS-Klassen festzulegen, die für die korrekte Darstellung von Next Experience erforderlich sind.
    <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">

    Die zurückgegebenen Klassennamen ändern sich in Abhängigkeit von den Systemeigenschaften und davon, ob eine Debug-Ausgabe der Sitzung vorhanden ist.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Liste der CSS-Klassennamen, die von der Benutzeroberfläche Next Experience verwendet werden.

    Dieses Jelly-Skript fügt Next Experience zu einer benutzerdefinierten UI-Seite hinzu.

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

    Überprüft, ob die Benutzeroberfläche Next Experience für den aktuellen Benutzer aktiviert ist.

    Diese Methode überprüft, ob die Systemeigenschaft glide.ui.polaris.useglide.ui.polaris.experience und die Benutzereinstellung [] beide auf truefestgelegt sind.
    • glide.ui.polaris.experience aktiviert Next Experience in der Instanz.
    • glide.ui.polaris.use deaktiviert Next Experience für angegebene Benutzer, wenn dies auf falsegesetzt ist.
    Weitere Informationen zu Systemeigenschaften und Benutzereinstellungen von Next Experience finden Sie unter Next Experience-Systemeigenschaften.
    Hinweis:
    Diese Methode gibt „true“ zurück, auch wenn Next Experience für die aktuelle Seite deaktiviert ist. Diese Methode ist nützlich, um ganze Experiences bedingt zu aktivieren oder auf verschiedene Seiten umzuleiten, wenn Next Experience global aktiviert ist.
    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die Next Experience -UI für den aktuellen Benutzer aktiviert ist.

    Gültige Werte:
    • true: Die Benutzeroberfläche Next Experience ist für den aktuellen Benutzer aktiviert.
    • false: Die Benutzeroberfläche Next Experience ist für den aktuellen Benutzer nicht aktiviert.

    Diese UI-Seite zeigt dem Benutzer eine bedingte Nachricht an, wenn Next Experience für den aktuellen Benutzer aktiviert ist.

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

    Diese Geschäftsregel zeigt eine Infonachricht in der Datensatzanzeige an, auf die ein Benutzer klicken kann, um den Datensatz in Core-UI anstelle von Next Experienceanzuzeigen. Das Bedingungsfeld der Business Rule ist auf !current.isNewRecord() && sn_ui.PolarisUI.isEnabled() && sn_ui.PolarisUI.canUsePolarisCSS() festgelegt.

    // 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);