---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# g_modal(넥스트 경험) - 클라이언트

# g_modal(넥스트 경험) - 클라이언트 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 32분

g_modal API를 사용하면 모달 창을 표시하여 애플리케이션 기능을 향상시킬 수 있습니다.

이 API를 사용하여 작업 공간에 모달을 표시합니다.  
이 API를 사용하여 다음을 수행할 수 있습니다.

* 모달 창에 입력 유형 필드를 표시합니다.
* UI 페이지나 외부 링크와 같은 프레임에 항목을 표시합니다.
* 사용자 확인에 대한 작업을 수행합니다.
* 구성요소를 로드합니다.
* HTML을 사용하여 모달의 내용을 채웁니다.

## g_modal ()넥스트 경험 - alert(문자열 제목, 문자열 메시지, 함수 콜백, 스타일 객체) {#ariaid-title2}

UI 작업과 관련된 경보 메시지를 표시합니다.
{#g_modalNX_alert_S_S_F__table_ed2_wwj_xnb__entry__3}{#g_modalNX_alert_S_S_F__g_modal-alert-title-entry}{#g_modalNX_alert_S_S_F__g_modal-message-entry}{#g_modalNX_alert_S_S_F__g_modal-callback-entry}{#g_modalNX_alert_S_S_F__g_modal-alert-style-entry}{#g_modalNX_alert_S_S_F__g_modal-alert-style_buttonTitle-entry}{#g_modalNX_alert_S_S_F__g_modal-alert-style_buttonType-entry}

| 이름 | 유형 | 설명 |
|-|-|-|
| 직위 | 문자열 | 옵션입니다. 모달의 헤더에 표시할 제목입니다. 기본값: 경보 |
| 메시지 | 문자열 | 모달 본문에 표시할 메시지입니다. 주: 하나의 매개 변수만 전달하면 메서드는 이를 매개 변수로 처리합니다 message . |
| 콜백 | 함수 | 옵션입니다. 양식이 서버에서 제출되고 처리된 후 호출할 함수입니다. 콜백 함수의 형식은 `callbackFunction(String action_verb, String sys_id, String table, String displayValue)` 입니다. * action_verb: 실행된 UI 작업의 이름입니다. 예제: * sysverb_cancel(취소 버튼) * sysverb_insert(제출 버튼) * sysverb_save(저장 버튼) * sys_id: 영향을 받는 기록의 Sys_id. * table: 기록을 포함하는 테이블의 이름입니다. * displayValue: 양식에 표시되는 값입니다. 기본값: 추가 처리 없음 |
| 스타일 | 객체 | 옵션입니다. 모달에 표시할 확인 버튼의 스타일입니다. "style": { "buttonTitle": "String", "buttonType": "String" } |
| style.buttonTitle | 문자열 | 옵션입니다. 확인 버튼에 표시할 텍스트입니다. 기본값: 정상 |
| style.buttonType | 문자열 | 옵션입니다. 표시할 확인 버튼의 유형입니다. 기본값: 기본값 |
[표 1. 매개변수]

{#g_modalNX_alert_S_S_F__table_ed2_wwj_xnb} {#g_modalNX_alert_S_S_F__table_fd2_wwj_xnb__entry__2}{#g_modalNX_alert_S_S_F__g_modal-promise-entry}

| 유형 | 설명 |
|-|-|
| 약속 | callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다. callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다. |
[표 2. 반환]

{#g_modalNX_alert_S_S_F__table_fd2_wwj_xnb}  
다음 코드 예제에서는 이 메서드를 호출하여 '할당 대상만 이 작업을 종료할 수 있습니다.'라는 경고 메시지를 표시하는 방법을 보여 줍니다.

    function onClick(g_form) {

      if (g_user.userID != g_form.getValue('assigned_to')) {
        g_modal.alert('Only the assigned to can end this action.');
        return;
      }

      var msg = getMessage("Are you sure you want to take this action?");
      g_modal.confirm(getMessage("Confirmation"), msg, function (confirmed) {
        if (confirmed) {
          g_form.setValue('state', 'closed_complete');
          g_form.save();
        }
      });

      return false;
    }

## g_modal ()넥스트 경험 - confirm(String title, String message, Function callback, style Object) {#ariaid-title3}

UI 작업과 관련된 확인 메시지를 표시합니다.
{#g_modalNX_confirm_S_S_F__table_ed2_wwj_xnb__entry__3}{#g_modalNX_confirm_S_S_F__g_modal-message-entry}{#g_modalNX_confirm_S_S_F__g_modal-callback-entry}{#g_modalNX_confirm_S_S_F__g_modal-style-entry}{#g_modalNX_confirm_S_S_F__g_modal-style_cancelTitle-entry}{#g_modalNX_confirm_S_S_F__g_modal-style_cancelType-entry}{#g_modalNX_confirm_S_S_F__g_modal-style_confirmTitle-entry}{#g_modalNX_confirm_S_S_F__g_modal-style_confirmType-ph}

| 이름 | 유형 | 설명 |
|-|-|-|
| 직위 | 문자열 | 옵션입니다. 모달의 헤더에 표시할 제목입니다. 기본값: 확인 |
| 메시지 | 문자열 | 모달 본문에 표시할 메시지입니다. 주: 하나의 매개 변수만 전달하면 메서드는 이를 매개 변수로 처리합니다 message . |
| 콜백 | 함수 | 옵션입니다. 양식이 서버에서 제출되고 처리된 후 호출할 함수입니다. 콜백 함수의 형식은 `callbackFunction(String action_verb, String sys_id, String table, String displayValue)` 입니다. * action_verb: 실행된 UI 작업의 이름입니다. 예제: * sysverb_cancel(취소 버튼) * sysverb_insert(제출 버튼) * sysverb_save(저장 버튼) * sys_id: 영향을 받는 기록의 Sys_id. * table: 기록을 포함하는 테이블의 이름입니다. * displayValue: 양식에 표시되는 값입니다. 기본값: 추가 처리 없음 |
| 스타일 | 객체 | 옵션입니다. 모달에 표시할 확인 및 취소 버튼의 스타일입니다. "style": { "cancelTitle": "String", "cancelType": "String", "confirmTitle": "String", "confirmType": "String" } |
| style.cancelTitle | 문자열 | 옵션입니다. 취소 버튼에 표시할 텍스트입니다. 기본값: 취소 |
| style.cancelType | 문자열 | 옵션입니다. 표시할 취소 버튼의 유형입니다. 유효한 값은 다음과 같습니다. * 확인(파란색 배경) * 기본값(흰색 배경) * 파괴적(빨간색 배경) 기본값: confirm |
| style.confirmTitle | 문자열 | 옵션입니다. 확인 버튼에 표시할 텍스트입니다. 기본값: 정상 |
| style.confirmType | 문자열 | 옵션입니다. 표시할 확인 버튼의 유형입니다. 유효한 값은 다음과 같습니다. * 확인(파란색 배경) * 기본값(흰색 배경) * 파괴적(빨간색 배경) 기본값: 기본값 |
[표 3. 매개변수]

{#g_modalNX_confirm_S_S_F__table_ed2_wwj_xnb} {#g_modalNX_confirm_S_S_F__table_fd2_wwj_xnb__entry__2}{#g_modalNX_confirm_S_S_F__g_modal-promise-entry}

| 유형 | 설명 |
|-|-|
| 약속 | callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다. callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다. |
[표 4. 반환]

{#g_modalNX_confirm_S_S_F__table_fd2_wwj_xnb}  
다음 코드 예제에서는 이 메서드를 호출하여 "이 작업을 수행하시겠습니까?" 확인 메시지를 표시하는 방법을 보여 줍니다.

    function onClick(g_form) {

      if (g_user.userID != g_form.getValue('assigned_to')) {
        g_modal.alert('Only the assigned to can end this action.');
        return;
      }

      var msg = getMessage("Are you sure you want to take this action?");
      g_modal.confirm(getMessage("Confirmation"), msg, function (confirmed) {
        if (confirmed) {
          g_form.setValue('state', 'closed_complete');
          g_form.save();
        }
      });

      return false;
    }

출력:  

<br />

## g_modal ()넥스트 경험 - confirmDestroy(문자열 제목, 문자열 메시지, 함수 콜백, 스타일 객체) {#ariaid-title4}

UI 작업과 관련된 확인 메시지를 표시합니다. 확인 단추에는 파괴적인 스타일이 표시됩니다.
{#g_modalNX_confirmDestroy_S_S_F__table_ed2_wwj_xnb__entry__3}{#g_modalNX_confirmDestroy_S_S_F__g_modal-confirmDestroy-title-entry}{#g_modalNX_confirmDestroy_S_S_F__g_modal-message-entry}{#g_modalNX_confirmDestroy_S_S_F__g_modal-callback-entry}{#g_modalNX_confirmDestroy_S_S_F__g_modal-style-entry}{#g_modalNX_confirmDestroy_S_S_F__g_modal-style_cancelTitle-entry}{#g_modalNX_confirmDestroy_S_S_F__g_modal-style_cancelType-entry}{#g_modalNX_confirmDestroy_S_S_F__g_modal-style_confirmTitle-entry}{#g_modalNX_confirmDestroy_S_S_F__g_modal-confirmDestroy-style_confirmType-entry}

| 이름 | 유형 | 설명 |
|-|-|-|
| 직위 | 문자열 | 옵션입니다. 모달의 헤더에 표시할 제목입니다. 기본값: 확인 |
| 메시지 | 문자열 | 모달 본문에 표시할 메시지입니다. 주: 하나의 매개 변수만 전달하면 메서드는 이를 매개 변수로 처리합니다 message . |
| 콜백 | 함수 | 옵션입니다. 양식이 서버에서 제출되고 처리된 후 호출할 함수입니다. 콜백 함수의 형식은 `callbackFunction(String action_verb, String sys_id, String table, String displayValue)` 입니다. * action_verb: 실행된 UI 작업의 이름입니다. 예제: * sysverb_cancel(취소 버튼) * sysverb_insert(제출 버튼) * sysverb_save(저장 버튼) * sys_id: 영향을 받는 기록의 Sys_id. * table: 기록을 포함하는 테이블의 이름입니다. * displayValue: 양식에 표시되는 값입니다. 기본값: 추가 처리 없음 |
| 스타일 | 객체 | 옵션입니다. 모달에 표시할 확인 및 취소 버튼의 스타일입니다. "style": { "cancelTitle": "String", "cancelType": "String", "confirmTitle": "String", "confirmType": "String" } |
| style.cancelTitle | 문자열 | 옵션입니다. 취소 버튼에 표시할 텍스트입니다. 기본값: 취소 |
| style.cancelType | 문자열 | 옵션입니다. 표시할 취소 버튼의 유형입니다. 유효한 값은 다음과 같습니다. * 확인(파란색 배경) * 기본값(흰색 배경) * 파괴적(빨간색 배경) 기본값: confirm |
| style.confirmTitle | 문자열 | 옵션입니다. 확인 버튼에 표시할 텍스트입니다. 기본값: 정상 |
| style.confirmType | 문자열 | 옵션입니다. 표시할 확인 버튼의 유형입니다. 기본값: destructive |
[표 5. 매개변수]

{#g_modalNX_confirmDestroy_S_S_F__table_ed2_wwj_xnb} {#g_modalNX_confirmDestroy_S_S_F__table_fd2_wwj_xnb__entry__2}{#g_modalNX_confirmDestroy_S_S_F__g_modal-promise-entry}

| 유형 | 설명 |
|-|-|
| 약속 | callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다. callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다. |
[표 6. 반환]

{#g_modalNX_confirmDestroy_S_S_F__table_fd2_wwj_xnb}  
이 예에서는 빨간색 취소 버튼과 파란색 확인 버튼이 있는 확인 모달을 표시합니다.

    function callback(value){ 
      value ? console.log("confirm destroy callback") : console.log('cancel callback'); 
    }

    function onClick(g_form) {
      g_modal.confirmDestroy("Confirm Destroy Title", "Confirm Destroy Message", callback, {
        cancelTitle: "Cancel",
        cancelType: "destructive",
        confirmTitle: "Confirm",
        confirmType: "confirm"
      })

      .then( 

        function test() {
          g_form.setValue("state', '7");
        }, 

        function fail() {
          g_form.setValue("state", 2)
        } 
      )
    }

## g_modal(넥스트 경험) - richText(String title, String richText, Function callback, String size, String cancelTitle, String confirmTitle, String cancelType, String confirmType, Object resizableConfig) {#ariaid-title5}

전달된 HTML을 사용하여 모달 내의 컨텐츠를 생성하는 모달을 표시합니다.
{#g_modalNX_richText_S_S_F__table_nnj_pgb_h2c__entry__3}{#g_modalNX_richText_S_S_F__g_modal-title-ph}{#g_modalNX_richText_S_S_F__g_modal-richText-richText-entry}{#g_modalNX_richText_S_S_F__g_modal-callback-entry}{#g_modalNX_richText_S_S_F__g_modal-richText-cancelTitle-entry}{#g_modalNX_richText_S_S_F__g_modal-richText-confirmTitle-entry}{#g_modalNX_richText_S_S_F__g_modal-richText-cancelType-entry}{#g_modalNX_richText_S_S_F__g_modal-style_confirmType-ph}{#g_modalNX_richText_S_S_F__g_modal-resizableConfig-entry}{#g_modalNX_richText_S_S_F__g_modal-resizableConfig_enableResizable-entry}{#g_modalNX_richText_S_S_F__g_modal-resizableConfig_resizableMaxHeight-entry}{#g_modalNX_richText_S_S_F__g_modal-resizableConfig_resizableMinHeight-entry}{#g_modalNX_richText_S_S_F__g_modal-resizableConfig_resizableMaxWidth-entry}{#g_modalNX_richText_S_S_F__g_modal-resizableConfig_resizableMinWidth-entry}

| 이름 | 유형 | 설명 |
|-|-|-|
| 직위 | 문자열 | 옵션입니다. 모달의 헤더에 표시할 제목입니다. 기본값: 비어 있음 |
| 리치 텍스트 | 문자열 | 모달에 표시할 HTML 콘텐츠입니다. 주: 이 메서드는 보안 악용을 일으킬 수 있는 `]]> 태그, 인라인 JavaScript 및 기타 요소를 제거합니다<![CDATA[<script>`. |
| 콜백 | 함수 | 옵션입니다. 양식이 서버에서 제출되고 처리된 후 호출할 함수입니다. 콜백 함수의 형식은 `callbackFunction(String action_verb, String sys_id, String table, String displayValue)` 입니다. * action_verb: 실행된 UI 작업의 이름입니다. 예제: * sysverb_cancel(취소 버튼) * sysverb_insert(제출 버튼) * sysverb_save(저장 버튼) * sys_id: 영향을 받는 기록의 Sys_id. * table: 기록을 포함하는 테이블의 이름입니다. * displayValue: 양식에 표시되는 값입니다. 기본값: 추가 처리 없음 |
| 취소 제목 | 문자열 | 옵션입니다. 취소 버튼에 표시할 텍스트입니다. 기본값: 취소 |
| confirmTitle | 문자열 | 옵션입니다. 확인 버튼에 표시할 텍스트입니다. 기본값: 정상 |
| 취소 유형 | 문자열 | 옵션입니다. 표시할 취소 버튼의 유형입니다. 유효한 값은 다음과 같습니다. * 확인(파란색 배경) * 기본값(흰색 배경) * 파괴적(빨간색 배경) 기본값: confirm |
| confirmType | 문자열 | 옵션입니다. 표시할 확인 버튼의 유형입니다. 유효한 값은 다음과 같습니다. * 확인(파란색 배경) * 기본값(흰색 배경) * 파괴적(빨간색 배경) 기본값: 기본값 |
| resizableConfig | 객체 | 옵션입니다. 연결된 모달의 크기를 조정하기 위한 구성 매개변수입니다. 사용자가 모달의 크기를 조정할 수 없도록 하려면 이 매개변수를 전달하지 마십시오. resizableConfig: { enableResizable: Boolean, resizableMaxHeight: Number, resizableMaxWidth: Number, resizableMinHeight: Number, resizableMinWidth: Number } 기본값: 모달은 조정할 수 없습니다. |
| resizableConfig입니다.enableResizable | 부울 | 사용자가 연결된 모달의 크기를 조정할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 모달을 조정할 수 있습니다. 크기 조정 핸들은 모달의 테두리에 나타납니다. * false: 모달을 조정할 수 없습니다. 기본값: false |
| resizableConfig입니다.resizableMaxHeight | 번호 | 크기 조정 가능한 모달의 최대 높이입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 창의 높이. |
| resizableConfig입니다.크기 조절 가능한 최소 높이 | 번호 | 크기 조정 가능한 모달의 최소 높이입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 600px |
| resizableConfig입니다.resizableMaxWidth | 번호 | 모달의 크기 조정 가능한 최대 너비입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 창의 너비 |
| resizableConfig입니다.resizableMinWidth | 번호 | 크기 조정 가능한 모달의 최소 너비입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 380px |
[표 7. 매개변수]

{#g_modalNX_richText_S_S_F__table_nnj_pgb_h2c} {#g_modalNX_richText_S_S_F__table_onj_pgb_h2c__entry__2}{#g_modalNX_richText_S_S_F__g_modal-promise-entry}

| 유형 | 설명 |
|-|-|
| 약속 | callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다. callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다. |
[표 8. 반환]

{#g_modalNX_richText_S_S_F__table_onj_pgb_h2c}  
다음 코드 예제에서는 연결된 모달에서 "This is rich text" 텍스트를 굵게 표시하는 방법을 보여 줍니다.

    function callback(value){
      value ? console.log("confirm richtext callback") : console.log('cancel rich text callback'); 
    } 

    function onClick(g_form) {
      g_modal.richText("RichTextTitle", "<b>This is rich text</b>", callback, {
        cancelTitle: "Rich Cancel",
        confirmTitle: "Rich Confirm"
      }) 

      .then(
        function test() {
          g_form.setValue("state', '7"); 
        }, 

        function fail() {
          g_form.setValue("state", 2) 
        }
      )
    }

출력:  

<br />

## g_modal ()넥스트 경험 - showFields(String title, Array fields, Function callback, String size, String cancelTitle, String confirmTitle, String cancelType, String confirmType, Object resizableConfig, String instruction) {#ariaid-title6}

지정된 필드와 기본적으로 확인 및 취소 버튼이 포함된 모달 창을 표시합니다.
{#g_modalNX_showFields_S_S_F__table_ed2_wwj_xnb__entry__3}{#g_modalNX_showFields_S_S_F__g_modal-showfields-title-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_autoFocus-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_choices-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_choices_displayValue-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_choices_value-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_display_value_list-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_enableMentions-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_label-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_mandatory-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_name-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_referringTable-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_referringRecordId-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_type-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-fields_value-entry}{#g_modalNX_showFields_S_S_F__g_modal-callback-entry}{#g_modalNX_showFields_S_S_F__g_modal-size-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-cancelTitle-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-confirmTitle-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-cancelType-entry}{#g_modalNX_showFields_S_S_F__g_modal-style_confirmType-ph}{#g_modalNX_showFields_S_S_F__g_modal-resizableConfig-entry}{#g_modalNX_showFields_S_S_F__g_modal-resizableConfig_enableResizable-entry}{#g_modalNX_showFields_S_S_F__g_modal-resizableConfig_resizableMaxHeight-entry}{#g_modalNX_showFields_S_S_F__g_modal-resizableConfig_resizableMinHeight-entry}{#g_modalNX_showFields_S_S_F__g_modal-resizableConfig_resizableMaxWidth-entry}{#g_modalNX_showFields_S_S_F__g_modal-resizableConfig_resizableMinWidth-entry}{#g_modalNX_showFields_S_S_F__g_modal-showfields-instruction-entry}

| 이름 | 유형 | 설명 |
|-|-|-|
| 직위 | 문자열 | 옵션입니다. 모달의 헤더에 표시할 제목입니다. 기본값: " " |
| 필드 | 객체 배열 | 모달에 표시할 필드 목록입니다. 각 필드는 별도의 개체에 정의됩니다. fields 전달하는 매개변수는 지정된 필드(fields.type)의 유형에 따라 다릅니다. 필드는 배열에 표시되는 순서와 동일한 순서로 모달에 표시됩니다. fields: [ { autoFocus: Boolean, choices: "Array", display_value_list: "String", enableMentions: Boolean, label: "String", mandatory: Boolean, name: "String", referringTable: "String", referringRecordId: "String", type: "String", value: "String" } ] |
| 필드.autoFocus | 부울 | 옵션입니다. 모달이 로드될 때 필드가 기본적으로 자동 포커스로 설정되어야 하는지 여부를 나타내는 플래그입니다. 하나의 필드에서만 이 값을 true로 설정해야 합니다. 유효한 값은 다음과 같습니다. * true: 자동 초점. * false: 자동 초점을 맞추지 않습니다. 기본값: false |
| 필드.선택 | 객체 배열 | 매개변수가 fields.type`선택`으로 설정된 경우 필요합니다. 연결된 목록 필드에 표시할 옵션 목록입니다. 선택 목록의 각 항목은 `choices` 배열에서 별도의 개체로 지정해야 합니다. 예: choices: [ { displayValue: "String", value: "String } ] |
| 필드.선택.displayValue | 문자열 | 옵션입니다. 목록 필드에 표시할 값입니다. 기본값: 비어 있음 |
| 필드.선택.값 | 문자열 | 옵션입니다. 목록 필드에 표시되는 값의 내부 값입니다. 기본값: null |
| 필드.display_value_list | 문자열 배열 | 옵션입니다. 표시할 문자열의 목록입니다. 예: `['item1', 'item2', 'item3']`. |
| 필드.멘션 활성화 | 부울 | `html`인 경우 fields.type 필수입니다. 모달에서 사용자를 멘션할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 모달에 사용자를 멘션할 수 있습니다. * false: 모달에서 사용자를 언급할 수 없습니다. 기본값: false |
| fields.label | 문자열 | 옵션입니다. 모달에서 이 필드의 레이블로 표시할 텍스트입니다. 기본값: 비어 있음 |
| 필드.필수 | 부울 | 옵션입니다. 필드가 필수인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 필드는 필수입니다. * false: 필드는 선택 사항입니다. 기본값: false |
| 필드.이름 | 문자열 | 필드의 내부 이름입니다. fields.type 매개변수가 `참조` 또는 `glide_list`로 설정된 경우 이는 검색에 사용되는 현재 기록의 참조 필드입니다. |
| fields.referringTable | 문자열 | 매개변수가 `참조` 또는 `glide_list`로 설정된 경우 fields.type 필요합니다. 참조하려는 테이블의 이름입니다. 예: `인시던트` |
| 필드.referringRecordId | 문자열 | 매개변수가 fields.type`참조`로 설정된 경우 필요합니다. UI 작업 양식에서 호출하는 기록의 Sys_id입니다. |
| fields.type | 문자열 | 모달에 표시할 필드의 유형입니다. 각 필드 유형에는 전달할 수 있는 요소 세트가 fields.\<\> 있습니다. 아래 fields 대괄호 \[\]의 값은 연결된 fields 형식에서 지원하는 요소입니다. 유효한 값은 다음과 같습니다. * 부울 \[autofocus, 레이블, 필수, 이름, 값\] * 선택 \[자동 초점, 선택 사항, 레이블, 필수, 이름, 값\] * domain_id \[label, referringRecordId, referringTable, value\] * [glide_list](https://www.servicenow.com/community/in-other-news/managing-glide-lists/ba-p/2279191) \[autofocus, display_value_list, label, name, mandatory, referringRecordId, referringTable, value\] * html \[autofocus, enableMentions, label, mandatory, name, referringRecordId, referringTable, value\] * 참조 \[autofocus, label, mandatory, name, reference, referringRecordId, referringTable, value\] * 문자열 \[autofocus, 레이블, 필수, 이름, 값\] * textarea \[자동 초점, 레이블, 필수, 이름, 값\] |
| fields.value | 문자열 | 옵션입니다. 필드에 표시할 값입니다. 예를 들어, 선택 필드의 경우 사용자 프롬프트를 표시할 수 있습니다. `값: getMessage(' -- Select -- ')` 또는 참조 필드의 경우 연결된 양식에 필드 값을 표시할 수 있습니다. `g_form.getValue('caller_id')` 기본값: 비어 있음 |
| 콜백 | 함수 | 옵션입니다. 양식이 서버에서 제출되고 처리된 후 호출할 함수입니다. 콜백 함수의 형식은 `callbackFunction(String action_verb, String sys_id, String table, String displayValue)` 입니다. * action_verb: 실행된 UI 작업의 이름입니다. 예제: * sysverb_cancel(취소 버튼) * sysverb_insert(제출 버튼) * sysverb_save(저장 버튼) * sys_id: 영향을 받는 기록의 Sys_id. * table: 기록을 포함하는 테이블의 이름입니다. * displayValue: 양식에 표시되는 값입니다. 기본값: 추가 처리 없음 |
| 크기 | 문자열 | 옵션입니다. 모달의 크기입니다. 유효한 값은 다음과 같습니다. * fw: 전체 너비 * sm: 420x315픽셀 * MD: 600픽셀 x 450픽셀 * LG : 800px x 600px 주: 픽셀 값이 지정되면 모달이 전체 브라우저를 차지합니다. 예를 들어 "1px"를 전달하면 모달이 전체 너비가 됩니다. 기본값: sm |
| 취소 제목 | 문자열 | 옵션입니다. 취소 버튼에 표시할 텍스트입니다. 기본값: 취소 |
| confirmTitle | 문자열 | 옵션입니다. 확인 버튼에 표시할 텍스트입니다. 기본값: 정상 |
| 취소 유형 | 문자열 | 옵션입니다. 표시할 취소 버튼의 유형입니다. 유효한 값은 다음과 같습니다. * 확인(파란색 배경) * 기본값(흰색 배경) * 파괴적(빨간색 배경) 기본값: confirm |
| confirmType | 문자열 | 옵션입니다. 표시할 확인 버튼의 유형입니다. 유효한 값은 다음과 같습니다. * 확인(파란색 배경) * 기본값(흰색 배경) * 파괴적(빨간색 배경) 기본값: 기본값 |
| resizableConfig | 객체 | 옵션입니다. 연결된 모달의 크기를 조정하기 위한 구성 매개변수입니다. 사용자가 모달의 크기를 조정할 수 없도록 하려면 이 매개변수를 전달하지 마십시오. resizableConfig: { enableResizable: Boolean, resizableMaxHeight: Number, resizableMaxWidth: Number, resizableMinHeight: Number, resizableMinWidth: Number } 기본값: 모달은 조정할 수 없습니다. |
| resizableConfig입니다.enableResizable | 부울 | 사용자가 연결된 모달의 크기를 조정할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 모달을 조정할 수 있습니다. 크기 조정 핸들은 모달의 테두리에 나타납니다. * false: 모달을 조정할 수 없습니다. 기본값: false |
| resizableConfig입니다.resizableMaxHeight | 번호 | 크기 조정 가능한 모달의 최대 높이입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 창의 높이. |
| resizableConfig입니다.크기 조절 가능한 최소 높이 | 번호 | 크기 조정 가능한 모달의 최소 높이입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 600px |
| resizableConfig입니다.resizableMaxWidth | 번호 | 모달의 크기 조정 가능한 최대 너비입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 창의 너비 |
| resizableConfig입니다.resizableMinWidth | 번호 | 크기 조정 가능한 모달의 최소 너비입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 380px |
| 명령 | 문자열 | 옵션입니다. 모달에 표시할 지침입니다. 이 컨텐츠는 모달 제목 아래와 모달의 첫 번째 필드 위에 표시됩니다. 기본값: 표시되는 지침 없음 |
[표 9. 매개변수]

{#g_modalNX_showFields_S_S_F__table_ed2_wwj_xnb} {#g_modalNX_showFields_S_S_F__table_fd2_wwj_xnb__entry__2}{#g_modalNX_showFields_S_S_F__g_modal-promise-entry}

| 유형 | 설명 |
|-|-|
| 약속 | callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다. callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다. |
[표 10. 반환]

{#g_modalNX_showFields_S_S_F__table_fd2_wwj_xnb}  
다음 예시에서는 모달 창을 사용하여 사용자에게 이유를 묻는 메시지를 표시한 다음 이를 기록의 작업 메모 필드로 다시 전달하는 방법을 보여줍니다. then() 메서드는 모달이 반환하는 내용을 반환하는 약속을 반환합니다. <var class="keyword varname">fieldValues</var>입니다. 필드 값과 함께 클라이언트 측의 작업 메모 필드는 <var class="keyword varname">updatedFields</var> 배열에 있습니다. 하나의 필드만 반환되므로 이 예시에서는 인덱스 위치를 <var class="keyword varname">0</var>으로 가정합니다.

    function onClick(g_form) {
        g_modal.showFields({
            title: "Enter your reason",
            fields: [{
                type: 'textarea',
                name: 'work_notes',
                label: getMessage('Reason'),
                mandatory: true
            }],
            size: 'lg'
        }).then(function(fieldValues) {
            g_form.setValue('work_notes', fieldValues.updatedFields[0].value);
            g_form.save();
        });
    }

출력:

다음 예시는 위 예시를 확장하여 선택 및 참조 필드를 추가합니다.

    function onClick(g_form) {

        var fields = [{
            type: 'textarea',
            name: 'work_notes',
            label: getMessage('Reason'),
            mandatory: true
        },
        {
            type: 'choice',
            name: 'reason_code',
            label: getMessage('Reason code'),
            value: getMessage(' -- Select -- '),
            choices: [
              {
                displayValue: 'Duplicate',
                value: 'duplicate'
              },
              {
                displayValue: 'Canceled',
                value: 'canceled'
              }
            ],
            mandatory: true
        },
        {
            type: 'reference',
            name: 'caller_id',
            label: getMessage('What is your name?'),
            mandatory: true,
            reference: 'sys_user',
            referringTable: 'incident',
            referringRecordId: g_form.getUniqueValue(),
    	 value: g_form.getValue('caller_id'),
    	 displayValue: g_form.getDisplayValue('caller_id')
        }
      ];

      g_modal.showFields({
        title: "Enter your reason",
        fields: fields,
        size: 'lg'
      }).then(function(fieldValues) {
            g_form.setValue('work_notes', fieldValues.updatedFields[0].value);
            g_form.setValue('caller_id', fieldValues.updatedFields[2].value);
            g_form.save();
      });
    }

출력:

다음 예제에서는 이 메서드를 사용하여 텍스트 영역, 선택 사항, 참조, glide_list 및 domain_id 필드 유형이 포함된 모달을 표시하는 방법을 보여 줍니다.

    function onClick(g_form) {
      var fields = [
        {
          type: 'textarea',
          name: 'work_notes',
          label: getMessage('Reason'),
          mandatory: true
        },
        {
          type: 'choice',
          name: 'reason_code',
          label: getMessage('Reason code'),
          value: getMessage(' -- Select -- '),
          choices: [
            {
              displayValue: 'Duplicate',
              value: 'duplicate'
            },
            {
              displayValue: 'Canceled',
              value: 'canceled'
            }
          ],
          mandatory: true
        },
        {
          type: 'reference',
          name: 'caller_id',
          label: getMessage('What is your name?'),
          mandatory: true,
          referringTable: 'incident',
          referringRecordId: g_form.getUniqueValue(),
          value: g_form.getValue('caller_id')
        },
        {
          type: 'glide_list',
          name: 'watch_list',
          label: 'A list', 
          mandatory: false,
          referringTable: 'incident',
          referringRecordId: g_form.getUniqueValue(),
          value: '628,9ee1,f298d',
          display_value_list: ['item1', 'item2', 'item3']
        },
        {
          label: 'Domain ID',
          type: 'domain_id',
          value: 'c90d4b084a362312013398f051272c0d',
          displayValue: 'TOP/ACME',
          referringRecordId: '552c48888c033300964f4932b03eb092',
          referringTable: 'incident'
        }
      ];

      g_modal.showFields({
        title: "Enter your reason",
        fields: fields,
        size: 'lg'
      }).then(function(fieldValues) {

      });
    }

## g_modal(넥스트 경험) - showFrame(String title, String url, Function callback, String size, String height, String modalHeight, String modalWidth, Boolean showClose, String autoCloseOn, Boolean hasLoadingMessage, Boolean closeOnEscape, boolean hideOverlay, Object resizableConfig) {#ariaid-title7}

콘텐츠의 외부 URL 또는 UI 페이지에 대한 링크를 사용하는 모달을 표시합니다.
{#g_modalNX_showFrame_S_S_F__table_ed2_wwj_xnb__entry__3}{#g_modalNX_showFrame_S_S_F__g_modal-title-ph}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-url-entry}{#g_modalNX_showFrame_S_S_F__g_modal-callback-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-size-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-height-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-modalHeight-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-modalWidth-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-showClose-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-autoCloseOn-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-hasLoadingMessage-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-closeOnEscape-entry}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-hideOverlay-entry}{#g_modalNX_showFrame_S_S_F__g_modal-resizableConfig-entry}{#g_modalNX_showFrame_S_S_F__g_modal-resizableConfig_enableResizable-entry}{#g_modalNX_showFrame_S_S_F__g_modal-resizableConfig_resizableMaxHeight-entry}{#g_modalNX_showFrame_S_S_F__g_modal-resizableConfig_resizableMinHeight-entry}{#g_modalNX_showFrame_S_S_F__g_modal-resizableConfig_resizableMaxWidth-entry}{#g_modalNX_showFrame_S_S_F__g_modal-resizableConfig_resizableMinWidth-entry}

| 이름 | 유형 | 설명 |
|-|-|-|
| 직위 | 문자열 | 옵션입니다. 모달의 헤더에 표시할 제목입니다. 기본값: 비어 있음 |
| URL | 문자열 | IFrame에 로드할 정보의 URL입니다. 주: 하나의 인수만 전달되면 매개변수로 url 처리됩니다. |
| 콜백 | 함수 | 옵션입니다. 양식이 서버에서 제출되고 처리된 후 호출할 함수입니다. 콜백 함수의 형식은 `callbackFunction(String action_verb, String sys_id, String table, String displayValue)` 입니다. * action_verb: 실행된 UI 작업의 이름입니다. 예제: * sysverb_cancel(취소 버튼) * sysverb_insert(제출 버튼) * sysverb_save(저장 버튼) * sys_id: 영향을 받는 기록의 Sys_id. * table: 기록을 포함하는 테이블의 이름입니다. * displayValue: 양식에 표시되는 값입니다. 기본값: 추가 처리 없음 |
| 크기 | 문자열 | 옵션입니다. 모달의 크기입니다. 유효한 값은 다음과 같습니다. * fw: 전체 너비 * sm: 420px x 253.25px * MD: 600픽셀 x 253.25픽셀 * LG : 800px x 254px 기본값: lg |
| height | 문자열 | 옵션입니다. 모달의 컨텐츠 섹션 높이입니다. 이 값은 "80%" 또는 "300px"와 같은 "\<number\>\<unit\>" 형식입니다. 숫자만 전달하는 경우 메서드는 측정 단위가 픽셀이라고 가정합니다. 유효한 측정 단위: * % * 그들 * px * vh 기본값: 100% 또는 153.75px |
| 모달높이 | 문자열 | 옵션입니다. 모달의 높이입니다. 이 값은 "80%" 또는 "300px"와 같은 "\<number\>\<unit\>" 형식입니다. 숫자만 전달하는 경우 메서드는 측정 단위가 픽셀이라고 가정합니다. 유효한 측정 단위: * % * 그들 * px * vh 기본값: 254px |
| 모달 너비 | 문자열 | 옵션입니다. 모달의 너비입니다. 이 값은 "80%" 또는 "300px"와 같은 "\<number\>\<unit\>" 형식입니다. 숫자만 전달하는 경우 메서드는 측정 단위가 픽셀이라고 가정합니다. 유효한 측정 단위: * % * 그들 * px * vh 기본값: 800px |
| 쇼닫기 | 부울 | 옵션입니다. 닫기 아이콘(X)이 모달의 오른쪽 위 모서리에 나타나는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 닫기 아이콘을 표시합니다. * false: 닫기 아이콘을 표시하지 않습니다. 기본값: true |
| autoCloseOn(자동 닫기) | 문자열 | 옵션입니다. 모달을 자동으로 닫는 조건입니다. 유효한 값은 다음과 같습니다. * EMPTY_BODY * URL_CHANGED 기본값: 모달을 자동으로 닫지 않습니다. |
| hasLoadingMessage | 부울 | 옵션입니다. 모달 컨텐츠를 로드하기 전에 모달의 컨텐츠 슬롯에 로드 중... 메시지를 표시할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 로드 메시지를 표시합니다. * false: 로드 메시지를 표시하지 않습니다. 콘텐츠가 로드되기 전에 모달의 콘텐츠 슬롯이 비어 있습니다. 주: "로드 중..."을 사용자 지정할 수 없습니다. 메시지; 표시 여부만 구성합니다. 기본값: false |
| closeOnEscape | 부울 | 옵션입니다. 사용자가 ESC 키를 눌러 모달을 닫을 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 사용자가 esc 키를 누르면 모달이 닫힙니다. * false: 사용자가 esc 키를 누를 때 모달이 닫히지 않습니다. 기본값: false |
| 오버레이 숨기기 | 부울 | 옵션입니다. 기록 페이지 위에 투명한 회색 오버레이를 표시할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 기록 페이지 위에 투명한 회색 오버레이를 숨깁니다. * false: 기록 페이지 위에 투명한 회색 오버레이를 표시합니다. 기본값: false |
| resizableConfig | 객체 | 옵션입니다. 연결된 모달의 크기를 조정하기 위한 구성 매개변수입니다. 사용자가 모달의 크기를 조정할 수 없도록 하려면 이 매개변수를 전달하지 마십시오. resizableConfig: { enableResizable: Boolean, resizableMaxHeight: Number, resizableMaxWidth: Number, resizableMinHeight: Number, resizableMinWidth: Number } 기본값: 모달은 조정할 수 없습니다. |
| resizableConfig입니다.enableResizable | 부울 | 사용자가 연결된 모달의 크기를 조정할 수 있는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 모달을 조정할 수 있습니다. 크기 조정 핸들은 모달의 테두리에 나타납니다. * false: 모달을 조정할 수 없습니다. 기본값: false |
| resizableConfig입니다.resizableMaxHeight | 번호 | 크기 조정 가능한 모달의 최대 높이입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 창의 높이. |
| resizableConfig입니다.크기 조절 가능한 최소 높이 | 번호 | 크기 조정 가능한 모달의 최소 높이입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 600px |
| resizableConfig입니다.resizableMaxWidth | 번호 | 모달의 크기 조정 가능한 최대 너비입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 창의 너비 |
| resizableConfig입니다.resizableMinWidth | 번호 | 크기 조정 가능한 모달의 최소 너비입니다. 데이터 유형: 숫자 단위: 픽셀 기본값: 380px |
[표 11. 매개변수]

{#g_modalNX_showFrame_S_S_F__table_ed2_wwj_xnb} {#g_modalNX_showFrame_S_S_F__table_fd2_wwj_xnb__entry__2}{#g_modalNX_showFrame_S_S_F__g_modal-showFrame-return-Promise-entry}

| 유형 | 설명 |
|-|-|
| 약속 | 성공하면 약속을 반환하고, 그렇지 않으면 오류를 반환합니다. 이 약속은 IFrame 모달이 닫히면 해결됩니다. |
[표 12. 반환]

{#g_modalNX_showFrame_S_S_F__table_fd2_wwj_xnb}  
다음 예시에서는 KB 문서 기록의 sys_id와 기준 URL을 사용하여 모델에 KB 문서를 표시하는 방법을 보여줍니다.

    function onClick(g_form) {
      var kbId = '24d9243187032100deddb882a2e3ec33'; //sysId of KB article
      g_modal.showFrame({
        url: '/kb_view.do?sys_kb_id=' + kbId,
        title: 'Test Knowledge Article',
        size: 'lg',
        height: 500px
      });
    }

출력:

이 예에서는 모달을 만들 때 포함된 UI 페이지를 사용하는 방법을 보여줍니다. g_form API가 iFrame에 있을 때 UI 페이지에서 액세스할 수 없으므로 UI 페이지에서 window.parent.postMessage()를 사용하여 데이터를 작업 공간으로 다시 전달합니다.

    function onClick(g_form) {
      function proposeMIC(data) {
        var workNotes = data.msg + "\n" + data.workNotes;
        var notes = g_form.getValue('work_notes') + ' ' + workNotes;
        var bi = g_form.getValue('business_impact') + ' ' + data.businessImpact;
        g_form.setValue('work_notes', notes.trim());
        g_form.setValue('business_impact', bi.trim());
        g_form.submit('sysverb_mim_propose');
      }
    	
      function openPopup() {
        if(!g_form.getControl('work_notes')) {
          getMessage('Cannot propose major incident as "Worknotes" is not visible', function(msg) {
    	 g_form.addErrorMessage(msg);
          });
          return false;
        }

        var url = "/sn_major_inc_mgmt_mim_propose.do?sysparm_stack=no&sysparm_workspace=" + true;
        g_modal.showFrame({
          title: getMessage("Propose Major Incident"),
          url: url,
          size: 'lg',
          autoCloseOn: 'URL_CHANGED',
          callback: function (ret, data) {
            if (ret)
              proposeMIC(data);
          }
        });
      }
    	
      openPopup();
    }

출력:  

<br />


