PolarisUI - 범위 지정됨

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기6분
  • PolarisUI API는 직접 UI 페이지에서 활성화할 넥스트 경험 수 있는 메서드를 제공합니다.

    직접 필드가 선택된 경우 UI 페이지 [sys_ui_page]는 직접입니다. 직접 UI 페이지에는 공통 HTML 페이지 템플릿이 포함되지 않으며 페이지에서 사용하려는 모든 CSS와 JavaScript가 포함되어야 합니다.

    모든 비직접 UI 페이지가 기본적으로 사용됩니다 넥스트 경험 .

    에 대한 넥스트 경험자세한 내용은 Next Experience UI를 참조하십시오.

    PolarisUI API는 sn_ui 네임스페이스 내에서 제공됩니다.

    PolarisUI - canUsePolarisCSS()

    현재 페이지에서 UI를 넥스트 경험 사용할 수 있는지 확인합니다.

    이 메서드는 다음 조건이 모두 충족되면 true 를 반환합니다.
    • sn_ui. PolarisUI.isEnabled()가입니다.
    • 요청 URL 매개변수 sysparm_use_polarisfalse로 설정되지 않았습니다.
    • 레퍼러 HTTP 요청 헤더에 sysparm_use_polaris=false가 포함되어 있지 않습니다.
    • 페이지 테마 지원 [sys_page_theme] 테이블의 기록에서 페이지 또는 해당 상위 플러그인 사용이 넥스트 경험 거부되지 않습니다.

    활성화된 경우 넥스트 경험 이 메서드를 사용하여 동작 또는 Jelly 출력을 조건부로 변경합니다.

    표 1. 매개변수
    이름 유형 설명
    없음
    표 2. 반환
    유형 설명
    부울

    현재 페이지에서 UI를 사용할 수 있는지 여부를 나타내는 플래그입니다 넥스트 경험 .

    유효한 값은 다음과 같습니다.
    • true: 현재 페이지에서 UI를 사용할 수 있습니다 넥스트 경험 .
    • false: 현재 페이지에서 UI를 사용할 수 넥스트 경험 없습니다.

    이 UI 작업은 현재 양식에서 실행 중인 경우 넥스트 경험 다른 페이지로 리디렉션됩니다.

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

    이 Jelly 스크립트는 를 사용하여 넥스트 경험페이지에 대해 다른 스타일시트를 설정합니다.

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

    UI에서 사용하는 넥스트 경험 CSS 클래스 이름의 목록을 반환합니다.

    UI 페이지의 HTML <body> 태그에서 이 메서드를 사용하여 올바르게 렌더링하는 데 넥스트 경험 필요한 CSS 클래스를 설정합니다.
    <body class="$[sn_ui.PolarisUI.getBodyClassNames()]">

    반환되는 클래스 이름은 시스템 속성 및 세션 디버그 출력이 있는지 여부에 따라 변경됩니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    문자열 UI에서 넥스트 경험 사용하는 CSS 클래스 이름의 목록입니다.

    이 Jelly 스크립트는 사용자 지정 UI 페이지에 추가됩니다 넥스트 경험 .

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

    현재 사용자에 대해 UI가 넥스트 경험 활성화되어 있는지 확인합니다.

    이 메서드는 시스템 속성과 glide.ui.polaris.use 사용자 기본 설정이 모두 true로 설정되어 있는지 glide.ui.polaris.experience 확인합니다.
    • glide.ui.polaris.experience 인스턴스에서 활성화합니다 넥스트 경험 .
    • glide.ui.polaris.usefalse로 설정된 경우 지정된 사용자에 대해 비활성화됩니다넥스트 경험.
    시스템 속성 및 사용자 기본 설정에 대한 넥스트 경험 자세한 내용은 Next Experience 시스템 속성을 참조하십시오.
    주:
    이 메서드는 현재 페이지에 대해 비활성화된 경우에도 넥스트 경험 true를 반환합니다. 이 방법은 전역적으로 활성화된 경우 넥스트 경험 조건부로 전체 경험을 활성화하거나 다른 페이지로 리디렉션하는 데 유용합니다.
    표 5. 매개변수
    이름 유형 설명
    없음
    표 6. 반환
    유형 설명
    부울

    현재 사용자에 대해 UI를 넥스트 경험 사용할 수 있는지 여부를 나타내는 플래그입니다.

    유효한 값은 다음과 같습니다.
    • true: 현재 사용자에 대한 UI가 넥스트 경험 사용 설정되었습니다.
    • false: 현재 사용자에 대해 UI를 넥스트 경험 사용할 수 없습니다.

    이 UI 페이지는 현재 사용자에 대해 활성화된 경우 넥스트 경험 사용자에게 조건부 메시지를 표시합니다.

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

    이 비즈니스 규칙은 사용자가 . 대신 넥스트 경험클릭하여 기록을 코어 UI 볼 수 있는 정보 메시지를 기록 표시에 표시합니다. 비즈니스 규칙 조건 필드가 !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);