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

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 32분
  • g_modal API를 사용하면 모달 창을 표시하여 애플리케이션 기능을 향상시킬 수 있습니다.

    이 API를 사용하여 작업 공간에 모달을 표시합니다.

    이 API를 사용하여 다음을 수행할 수 있습니다.
    • 모달 창에 입력 유형 필드를 표시합니다.
    • UI 페이지 또는 외부 링크와 같은 프레임에 무언가를 표시합니다.
    • 사용자 확인 작업을 수행합니다.
    • 구성요소를 로드합니다.
    • HTML을 사용하여 모달의 내용을 채웁니다.

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

    UI 작업과 관련된 경보 메시지를 표시합니다.

    표 1. 매개변수
    이름 유형 설명
    직위 문자열 옵션입니다. 모달의 헤더에 표시할 제목입니다.

    기본값: 경보

    메시지 문자열 모달 본문에 표시할 메시지입니다.
    주:
    매개 변수를 하나만 전달하면 메서드는 이를 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 문자열 옵션입니다. 확인 버튼에 표시할 텍스트입니다.

    기본값: OK

    style.buttonType 문자열 옵션입니다. 표시할 확인 버튼의 유형입니다.

    기본값: 기본값

    표 2. 반환
    유형 설명
    약속 callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다.

    callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다.

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

    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)

    UI 작업과 관련된 확인 메시지를 표시합니다.

    표 3. 매개변수
    이름 유형 설명
    직위 문자열 옵션입니다. 모달의 헤더에 표시할 제목입니다.

    기본값: 확인

    메시지 문자열 모달 본문에 표시할 메시지입니다.
    주:
    매개 변수를 하나만 전달하면 메서드는 이를 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 문자열 옵션입니다. 취소 버튼에 표시할 텍스트입니다.

    기본값: 취소

    스타일.cancelType 문자열 옵션입니다. 표시할 취소 버튼의 유형입니다.

    유효한 값은 다음과 같습니다.

    • 확인(파란색 배경)
    • 기본값(흰색 배경)
    • 파괴적(빨간색 배경)

    기본값: confirm

    style.confirmTitle 문자열 옵션입니다. 확인 버튼에 표시할 텍스트입니다.

    기본값: OK

    style.confirmType 문자열 옵션입니다. 표시할 확인 버튼의 유형입니다.

    유효한 값은 다음과 같습니다.

    • 확인(파란색 배경)
    • 기본값(흰색 배경)
    • 파괴적(빨간색 배경)

    기본값: 기본값

    표 4. 반환
    유형 설명
    약속 callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다.

    callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다.

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

    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 ()넥스트 경험 - confirmDestroy(문자열 제목, 문자열 메시지, 함수 콜백, 스타일 객체)

    UI 작업과 관련된 확인 메시지를 표시합니다. 확인 단추에는 파괴적인 스타일이 표시됩니다.

    표 5. 매개변수
    이름 유형 설명
    직위 문자열 옵션입니다. 모달의 헤더에 표시할 제목입니다.

    기본값: 확인

    메시지 문자열 모달 본문에 표시할 메시지입니다.
    주:
    매개 변수를 하나만 전달하면 메서드는 이를 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 문자열 옵션입니다. 취소 버튼에 표시할 텍스트입니다.

    기본값: 취소

    스타일.cancelType 문자열 옵션입니다. 표시할 취소 버튼의 유형입니다.

    유효한 값은 다음과 같습니다.

    • 확인(파란색 배경)
    • 기본값(흰색 배경)
    • 파괴적(빨간색 배경)

    기본값: confirm

    style.confirmTitle 문자열 옵션입니다. 확인 버튼에 표시할 텍스트입니다.

    기본값: OK

    style.confirmType 문자열 옵션입니다. 표시할 확인 버튼의 유형입니다.

    기본값: destructive

    표 6. 반환
    유형 설명
    약속 callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다.

    callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다.

    이 코드 예제에서는 confirmDestroy() 메서드를 호출하여 빨간색 확인 단추와 함께 확인 모달을 표시하는 방법을 보여 줍니다.

    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",
        confirmTitle: "Confirm",
        cancelType: "destructive",
        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)

    전달된 HTML을 사용하여 모달 내의 컨텐츠를 생성하는 모달을 표시합니다.

    표 7. 매개변수
    이름 유형 설명
    제목 문자열 옵션입니다. 모달의 헤더에 표시할 제목입니다.

    기본값: 비어 있음

    리치 텍스트 문자열 모달에 표시할 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: 양식에 표시되는 값입니다.

    기본값: 추가 처리 없음

    cancelTitle 문자열 옵션입니다. 취소 버튼에 표시할 텍스트입니다.

    기본값: 취소

    confirmTitle 문자열 옵션입니다. 확인 버튼에 표시할 텍스트입니다.

    기본값: OK

    cancelType 문자열 옵션입니다. 표시할 취소 버튼의 유형입니다.

    유효한 값은 다음과 같습니다.

    • 확인(파란색 배경)
    • 기본값(흰색 배경)
    • 파괴적(빨간색 배경)

    기본값: 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

    표 8. 반환
    유형 설명
    약속 callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다.

    callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다.

    다음 코드 예제에서는 연결된 모달에서 "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) 
        }
      )
    }

    출력:


    서식 있는 텍스트 모달

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

    지정된 필드와 기본적으로 확인취소 버튼이 포함된 모달 창을 표시합니다.

    표 9. 매개변수
    이름 유형 설명
    직위 문자열 옵션입니다. 모달의 헤더에 표시할 제목입니다.

    기본값: " "

    필드 객체 배열 모달에 표시할 필드 목록입니다. 각 필드는 별도의 개체에 정의됩니다. 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 문자열 옵션입니다. 목록 필드에 표시할 값입니다.

    기본값: 비어 있음

    fields.choices.value 문자열 옵션입니다. 목록 필드에 표시되는 값의 내부 값입니다.

    기본값: 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.<> 있습니다. 아래 fields 대괄호 []의 값은 연결된 fields 형식에서 지원하는 요소입니다.

    유효한 값은 다음과 같습니다.

    • 부울 [autofocus, 레이블, 필수, 이름, 값]
    • 선택 [자동 초점, 선택 사항, 레이블, 필수, 이름, 값]
    • domain_id [label, referringRecordId, referringTable, value]
    • glide_list [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(' -- 선택 -- ')

    또는 참조 필드의 경우 연결된 양식에 필드 값을 표시할 수 있습니다.

    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

    cancelTitle 문자열 옵션입니다. 취소 버튼에 표시할 텍스트입니다.

    기본값: 취소

    confirmTitle 문자열 옵션입니다. 확인 버튼에 표시할 텍스트입니다.

    기본값: OK

    cancelType 문자열 옵션입니다. 표시할 취소 버튼의 유형입니다.

    유효한 값은 다음과 같습니다.

    • 확인(파란색 배경)
    • 기본값(흰색 배경)
    • 파괴적(빨간색 배경)

    기본값: 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

    명령 문자열 옵션입니다. 모달에 표시할 지침입니다. 이 컨텐츠는 모달 제목 아래와 모달의 첫 번째 필드 위에 표시됩니다.

    기본값: 표시되는 지침 없음

    표 10. 반환
    유형 설명
    약속 callback 매개 변수가 전달되면 성공하면 promise를 반환하고 그렇지 않으면 오류를 반환합니다.

    callback 매개 변수가 전달되지 않으면 메서드는 항상 성공을 반환합니다.

    다음 예시에서는 모달 창을 사용하여 사용자에게 이유를 묻는 메시지를 표시한 다음 이를 기록의 작업 메모 필드로 다시 전달하는 방법을 보여줍니다. then() 메서드는 모달이 반환하는 것을 반환하는 promise를 반환합니다. fieldValues 이 경우. 필드 값이 있는 클라이언트 측의 작업 메모 필드는 updatedFields 배열에 있습니다. 하나의 필드만 반환되기 때문에 이 예에서는 인덱스 위치를 0으로 가정합니다.

    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)

    콘텐츠의 외부 URL 또는 UI 페이지에 대한 링크를 사용하는 모달을 표시합니다.

    표 11. 매개변수
    이름 유형 설명
    제목 문자열 옵션입니다. 모달의 헤더에 표시할 제목입니다.

    기본값: 비어 있음

    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

    modalHeight 문자열 옵션입니다. 모달의 높이입니다. 이 값은 "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

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

    다음 예시에서는 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 페이지를 사용하는 방법을 보여줍니다. iFrame에 있을 때는 UI 페이지에서 g_form API에 액세스할 수 없으므로 UI 페이지에서 window.parent.postMessage()를 사용하여 iFrame의 데이터를 작업 공간으로 다시 전달합니다.

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

    출력:


    코드에서 생성된 모달 스크린샷