ScriptLoader - Cliente

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 1 min. de leitura
  • A API ScriptLoader fornece métodos para carregar scripts de forma assíncrona.

    Você pode usar esta API em scripts do lado do cliente para uma IU de plataforma/desktop usando as APIs ListV2 e ListV3. Não está disponível para Portal de serviços, Mobile ou Espaço do agente.

    Você acessa os métodos ScriptLoader usando o objeto global ScriptLoader.

    ScriptLoader - getScripts (scripts de matriz, retorno de chamada de função)

    Carrega scripts de forma assíncrona.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    scripts Matriz Matriz de scripts a serem carregados.
    retorno de chamada Função Função a ser chamada quando os scripts tiverem sido carregados. A função de retorno de chamada não deve ter argumentos.
    Tabela 2. Retorna
    Tipo Descrição
    vazio
    var scriptFiles=[
    'scripts/classes/providers/ProviderUI.js',
    'scripts/classes/providers/wf_provider_client_script.js'
    ];
    
    ScriptLoader.getScripts(scriptFiles, function() {
      ProviderUI.setFields(['input_transform']);
      ProviderUI.apply();
      ProviderUI.removeDisabledAttribute("sys_readonly.wf_element_activity.access");
    }

    ScriptLoader - getScripts (cadeia de caracteres "filePath", retorno de chamada de função)

    Obtém scripts de forma assíncrona.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    caminho do arquivo Cadeia de caracteres Caminho, incluindo o nome do arquivo, que contém um ou mais scripts.
    retorno de chamada Função Função a ser chamada depois que os scripts forem carregados. Esta função de retorno de chamada não deve ter argumentos.
    Tabela 4. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como carregar um script de utilitário e executar a função getDepartment().

    // Client script to load a utility script and run the getDepartment callback function
    ScriptLoader.getScripts('sn_ui_script_util.Utilities.jsdbx', getDepartment);
    
    function getDepartment() {
      var req = sn_ui_script_util.Utilities.rest('json');
      req.addParam("sysparm_query", "sys_id=" + newValue);
      req.addParam("sysparm_fields", "department");
      req.addParam("sysparm_display_value", true);
      req.success(updateNotes);
      req.get("/api/now/table/sys_user");
    }
    
    function updateNotes(data) {
      g_form.setValue("work_notes", data.result[0].department.display_value);
    }