GlideModalForm - 클라이언트

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기9분
  • GlideModal에 양식을 표시합니다.

    GlideModalForm 클래스의 일반적인 사용법에는 객체 생성, 기본 설정 지정 및 GlideModalForm 렌더링이 포함됩니다.
    var d = new GlideModalForm('dialog title', 'table_name_or_form_name', [callback on completion of submit])
             d.setPreference('name', 'value');
             d.render();

    setPreference()를 사용하여 양식에 전달되는 쿼리 매개변수를 지정합니다. setPreference()를 사용하여 지정한 이름/값 쌍은 양식을 표시하기 위해 양식 POST 요청과 함께 전송됩니다.

    GlideModalForm은 문서 창의 높이를 채우도록 설정됩니다.

    GlideModalForm - GlideModalForm(title 문자열, tableName 문자열, onCompletionCallback 함수, 부울 readOnly)

    GlideModalForm 클래스의 인스턴스를 만듭니다.

    표 1. 매개변수
    이름 유형 설명
    제목 문자열 모달 양식 제목입니다.
    tableName 문자열 표시 중인 테이블.
    onCompletion콜백 기능 서버에서 양식이 제출 및 처리된 후에 호출할 함수입니다.

    콜백 함수의 형식은callbackFunction(String action_verb, String sys_id, String table, String displayValue) 입니다.

    • action_verb: 실행된 UI 작업의 이름입니다. 예를 들어 sysverb_insert(제출 버튼), sysverb_cancel sysverb_save(저장 버튼)이 있습니다.
    • sys_id: 영향을 받는 기록의 Sys_id입니다.
    • table: 기록이 포함 된 테이블의 이름입니다.
    • displayValue: 양식에 나타나는 값입니다.
    readOnly 부울 옵션입니다. 모달 양식을 읽기 전용으로 설정해야 하는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 양식을 읽기 전용으로 설정합니다.
    • false: 읽기/쓰기로 설정합니다.

    기본값: false

    이 예제에서는 GlideModalForm 객체를 인스턴스화하는 방법을 보여줍니다.

    function openDevice(deviceSysID, deviceName) {
      var uName = gel('hidden_user_name').value + "'s ";
      deviceName = new String(deviceName).escapeHTML();
      var gp = new GlideModalForm(uName + deviceName, "cmn_notif_device", refreshNotifPage);
      gp.addParm('sys_id', deviceSysID);
      gp.render();
    }

    GlideModalForm - addParm(문자열 이름, 문자열 값)

    지정된 양식 필드를 지정된 값으로 설정합니다.

    표 2. 매개변수
    이름 유형 설명
    name 문자열 양식 필드 이름입니다. 지정된 이름이 연결된 모달 양식의 필드가 아닌 경우 무시됩니다.
    문자열 지정된 양식 필드를 설정할 값입니다.
    표 3. 반환
    유형 설명
    void

    이 예는 addParm() 을 호출하여 sys_id 필드의 값을 모달 양식으로 설정하는 방법을 보여줍니다.

    function openDevice(deviceSysID, deviceName) {
      var uName = gel('hidden_user_name').value + "'s ";
      deviceName = new String(deviceName).escapeHTML();
      var gp = new GlideModalForm(uName + deviceName, "cmn_notif_device", refreshNotifPage);
      gp.addParm('sys_id', deviceSysID);
      gp.render();
    }

    GlideModalForm - setSysID(String sys_id)

    객체의 sys_id 기본 설정을 설정합니다.

    표 4. 매개변수
    이름 유형 설명
    sys_id 문자열 ID 기본 설정입니다. 양식에 전달되는 쿼리 매개변수 중 하나입니다.
    표 5. 반환
    유형 설명
    void

    이 예제에서는 setSysID() 메서드를 사용하여 sys_id 값을 초기화하는 방법을 보여 줍니다.

    function(startDate, endDate) {
      var dialog = new GlideModalForm("Add Schedule Item", "cmn_schedule_span");
      dialog.setSysID("-1");
      dialog.addParm("sysparm_collection", "cmn_schedule");
      dialog.addParm("sysparm_collectionID", this.sysId);
      dialog.addParm("sysparm_collection_key", "schedule");
     
      var q = "schedule=" + this.sysId + "^start_date_time="
       + startDate.serializeInUserFormat() + "^end_date_time="
       + endDate.serializeInUserFormat() + "^";
    
      if (startDate.isAllDay(endDate))
        q += "^all_day=true^";
     
      dialog.addParm("sysparm_query", q);
      dialog.render();
    }

    GlideModalForm - setCompletionCallback(callbackFunction 함수)

    서버에서 양식이 성공적으로 제출되고 처리되었을 때 호출할 함수를 설정합니다.

    표 6. 매개변수
    이름 유형 설명
    콜백 함수 기능 양식이 성공적으로 처리되었을 때 호출할 콜백 함수입니다.
    콜백 함수의 형식은 callbackFunction(String action_verb, String sys_id, String table, String displayValue) 입니다.
    • action_verb: sys_ui_action 기록에서 action_name
    • sys_id: 영향을 받는 기록의 Sys_id
    • table: 기록이 포함된 테이블의 이름입니다
    • displayValue: 양식에 나타나는 값
    표 7. 반환
    유형 설명
    void

    이 예제에서는 연결된 모달의 onload 콜백 함수를 설정하는 방법을 보여줍니다.

    function handleCreateOrEdit(targetFieldName, sourceFieldName, adapterRuleId, transformerSysId){
      dialog = new GlideModalForm('Edit Adapter Rule', "sys_adapter_rule");
      dialog.setSysID(adapterRuleId); //Pass in sys_id to edit existing record
      dialog.addParm('sysparm_form_only', 'true'); //Add or remove related lists
      dialog.setOnloadCallback(hideModalForm);
      dialog.setCompletionCallback(handleAdapterCreatedOrUpdated);
      dialog.render(); //Open the dialog
    }
    function handleAdapterCreatedOrUpdated(action_verb, sys_id, table, displayValue) {
      var draftRecordTransformer = g_form.getValue("draft_record_transformer");
      if(draftRecordTransformer == null || draftRecordTransformer.length == 0) {
        //sync Sticky Replications if it is enabled.
        var ajax = new GlideAjax('ReplicationPoolUtil');
        ajax.addParam('sysparm_name', 'syncStickyReplicationSet');
        ajax.addParam('sysparm_entry_set', g_form.getValue("entry_set"));
        ajax.getXMLWait();
      }
    }

    GlideModalForm - setOnloadCallback(callbackFunction 함수)

    양식이 로드된 후 호출될 함수를 설정합니다.

    표 8. 매개변수
    이름 유형 설명
    콜백 함수 기능 양식이 로드된 후 호출할 함수입니다. 콜백 함수의 형식은 callBackFunction(GlideModalForm, obj)입니다.
    표 9. 반환
    유형 설명
    void

    이 예제에서는 연결된 모달의 로드 시 콜백 함수를 설정하는 방법을 보여줍니다.

    function handleCreateOrEdit(targetFieldName, sourceFieldName, adapterRuleId, transformerSysId){
      dialog = new GlideModalForm('Edit Adapter Rule', "sys_adapter_rule");
      dialog.setSysID(adapterRuleId); //Pass in sys_id to edit existing record
      dialog.addParm('sysparm_form_only', 'true'); //Add or remove related lists
      dialog.setOnloadCallback(hideModalForm);
      dialog.setCompletionCallback(handleAdapterCreatedOrUpdated);
      dialog.render(); //Open the dialog
    }

    GlideModalForm - render()

    모달 양식을 표시합니다.

    표 10. 매개변수
    이름 유형 설명
    없음
    표 11. 반환
    유형 설명
    void

    이 예제에서는 render() 를 호출하여 모달을 표시하는 방법을 보여 줍니다.

    function openDevice(deviceSysID, deviceName) {
      var uName = gel('hidden_user_name').value + "'s ";
      deviceName = new String(deviceName).escapeHTML();
      var gp = new GlideModalForm(uName + deviceName, "cmn_notif_device", refreshNotifPage);
      gp.addParm('sys_id', deviceSysID);
      gp.render();
    }