PolarisUI : Bereichsbezogen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 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 Direktauf Ausgewählt festgelegtist. Eine direkte UI-Seite enthält nicht die allgemeine HTML-Seitenvorlage und muss alle CSS- und JavaScript-Codes enthalten, die 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 im Namespace sn_ui bereitgestellt.

    PolarisUI – canUsePolarisCSS()

    Überprüft, ob die aktuelle Seite die UI Next Experience verwenden kann.

    Diese Methode gibt true zurück, wenn alle der folgenden Bedingungen erfüllt sind.
    • sn_ui.PolarisUI.isEnabled() ist „wahr“.
    • Der Anforderungs-URL-Parameter sysparm_use_polaris ist nicht auf „false“festgelegt.
    • Der Header der Referrer-HTTP-Anforderung enthält nicht sysparm_use_Polaris=falsch.
    • Der Seite oder dem übergeordneten Plugin wird die Verwendung von Next Experience durch einen Datensatz in der Tabelle „Unterstützung für Seitendesigns“ [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 UI Next Experience verwenden kann.

    Gültige Werte:
    • wahr: Die aktuelle Seite kann die UI Next Experience verwenden.
    • false: Die aktuelle Seite kann die UI Next Experience nicht verwenden.

    Diese UI-Aktion leitet auf eine andere Seite weiter, wenn Next Experience auf dem aktuellen 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 mit Next Experienceein anderes Stylesheet für Seiten fest.

    <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 je nach Systemeigenschaften und abhängig 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 Anwenderoberfläche Next Experience verwendet werden.

    Dieses Jelly-Skript fügt Next Experience zu einer anwenderdefinierten 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 UI Next Experience für den aktuellen Anwender aktiviert ist.

    Diese Methode überprüft, ob die Systemeigenschaft glide.ui.polaris.experience und die Anwendereinstellung glide.ui.polaris.use 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 falsefestgelegt ist.
    Weitere Informationen zu den Systemeigenschaften und Anwendereinstellungen für 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 zu anderen 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 UI Next Experience für den aktuellen Anwender aktiviert ist.

    Gültige Werte:
    • wahr: Die Anwenderoberfläche Next Experience ist für den aktuellen Anwender aktiviert.
    • false: Die UI Next Experience ist für den aktuellen Anwender nicht aktiviert.

    Diese UI-Seite zeigt dem Anwender eine bedingte Nachricht an, wenn Next Experience für den aktuellen Anwender 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 Business Rule zeigt in der Datensatzanzeige eine Infonachricht an, auf die ein Anwender klicken kann, um den Datensatz in Core-UI anstelle von Next Experienceanzuzeigen. Das Feld „Bedingung“ der Business-Regel 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);