SPScriptedFacetService - com escopo

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 1 min. de leitura
  • Gera um objeto de aspectos de múltipla escolha ou de escolha única para uma origem de pesquisa avançada.

    A API SPScriptedFacetService só pode ser usada em um script de geração de aspecto em uma origem de pesquisa Portal de serviços. O script de geração de aspecto só fica visível quando É origem com script estiver selecionado.

    Não há nenhum construtor para esta classe. Em vez disso, use os métodos createFacet() ou createMultiChoiceFacet() para gerar um objeto de aspectos.

    SPScriptedFacetService - createFacet (rótulo de cadeia de caracteres, ID de cadeia de caracteres)

    Cria um único objeto de aspectos de escolha.

    Depois de criar o objeto de aspectos, adicione itens de aspecto ou consultas mapeadas ao aspecto usando o método addFacetItem() da classe SPScriptedFacet.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    rótulo Cadeia de caracteres Rótulo para o aspecto.
    id Cadeia de caracteres ID do aspecto.
    Tabela 2. Retornos
    Tipo Descrição
    Objeto Objeto de aspectos de escolha única. Retorna um erro quando:
    • Foi encontrado um rótulo ou ID duplicado.
    • Um rótulo ou ID não está definido.

    Só pode ser usado em um script de geração de aspecto em uma origem de pesquisa avançada do Portal de serviços.

    var stateFacet = facetService.createFacet("State", "state");

    SPScriptedFacetService - createMultiChoiceFacet (rótulo de cadeia de caracteres, ID de cadeia de caracteres)

    Cria um objeto de aspectos de múltipla escolha.

    Depois de criar o objeto de aspectos, adicione itens de aspecto ou consultas mapeadas ao aspecto usando o método addFacetItem() da classe SPScriptedFacet.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    rótulo Cadeia de caracteres Rótulo para o aspecto.
    id Cadeia de caracteres ID do aspecto.
    Tabela 4. Retornos
    Tipo Descrição
    Objeto Objeto de aspectos de múltipla escolha.

    Retorna um erro quando:

    • Foi encontrado um rótulo ou ID duplicado.
    • Um rótulo ou ID não está definido.
    function createMultiChoiceFacetFromKB(label, variable, values, orderBy){
      if(!values || values.length == 0)
        return;
    
      var kbFacet = facetService.createMultiChoiceFacet(label, variable);
      var kbMap = {};
      for(var i in values) {
        var key = values[i].label;
        var value = values[i].id;
        var parent = new KBParentData().getParentCategory(value, key);
        key = parent.join(' > ');
        kbMap[key] = value;
      }
    
      var labels = Object.keys(kbMap).sort();
      for (i = 0; i < labels.length; i++) {
        var currentLabel = labels[i];
        kbFacet.addFacetItem(currentLabel, kbMap[currentLabel]);
        //adds facet search options for each kbMap entry
      }
    }