GlideModalForm - Cliente

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • A API GlideModalForm fornece métodos para exibir um formulário em um GlideModal.

    O uso geral da classe GlideModalForm envolve a criação do objeto, a definição de preferências e a renderização do GlideModalForm.
    var dialog = new GlideModalForm('dialog title', 'table_name_or_form_name', [callback on completion of submit])
      dialog.setPreference('name', 'value');
      dialog.render();

    Especifique os parâmetros de consulta que são passados para o formulário usando o método setPreference(). Qualquer par de nome/valor especificado com setPreference() é enviado junto com a solicitação POST do formulário para exibir o formulário.

    O GlideModalForm está definido para preencher a altura da janela do documento.

    GlideModalForm – GlideModalForm(cadeia de caracteres título, cadeia de caracteres tableName, função onCompletionCallback, booliano somente leitura)

    Cria uma instância da classe GlideModalForm.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    título Cadeia de caracteres Título do formulário modal.
    tableName Cadeia de caracteres Tabela mostrada.
    onConpletionCallback Função Função a ser chamada depois que o formulário foi enviado e processado no servidor.

    A função de retorno de chamada tem o formatocallbackFunction(String action_verb, String sys_id, String table, String displayValue) em que:

    • action_verb: Nome da ação de IU executada. Os exemplos são sysverb_insert (botão Enviar), sysverb_cancel, sysverb_save (botão Salvar).
    • sys_id: Sys_id do registro afetado.
    • table: Nome da tabela que contém o registro.
    • displayValue: Valor que aparece no formulário.
    readOnly Booliano Opcional. Sinalizador que indica se o formulário modal deve ser definido como somente leitura.
    Valores válidos:
    • verdadeiro: define o formulário como somente leitura.
    • falso: definido para para leitura/gravação.

    Padrão: falso

    Este exemplo mostra como instanciar um objeto 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 (nome da cadeia de caracteres, valor da cadeia de caracteres)

    Define o campo de formulário especificado com o valor especificado.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do campo de formulário. Se o nome especificado não for um campo no formulário modal associado, ele será ignorado.
    valor Cadeia de caracteres Valor para definir o campo de formulário especificado.
    Tabela 3. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como chamar addParm() para definir o valor do campo sys_id do formulário modal.

    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(cadeia de caracteres sys_id)

    Define a preferência de sys_id do objeto.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    sys_id Cadeia de caracteres A preferência de ID. Um dos parâmetros de consulta passados para o formulário.
    Tabela 5. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como usar o método setSysID() para inicializar o valor do 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(função callbackFunction)

    Define a função a ser chamada quando o formulário for enviado e processado com sucesso pelo servidor.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    função de retorno de chamada Função Função de retorno de chamada a ser chamada quando o formulário tiver sido processado com sucesso.
    A função de retorno de chamada tem o formato callbackFunction(String action_verb, String sys_id, String table, String displayValue) em que:
    • action_verb: action_name de um registro sys_ui_action
    • sys_id: Sys_id do registro afetado
    • table: nome da tabela que contém o registro
    • displayValue: valor que aparece no formulário
    Tabela 7. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como definir a função de retorno de chamada ao carregar do modal associado.

    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(Função callbackFunction)

    Define a função a ser chamada após o carregamento do formulário.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    função de retorno de chamada Função Função a ser chamada após o carregamento do formulário. A função de retorno de chamada tem o formulário callBackFunction(GlideModalForm obj)
    Tabela 9. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como definir a função de retorno de chamada ao carregar do modal associado.

    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 – renderização ()

    Mostra o formulário modal.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 11. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como chamar render() para exibir o modal.

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