SPScripptedFacetService - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. 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.

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

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

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

    Cria um objeto de aspectos de escolha única.

    Depois de criar o objeto de aspectos, adicione itens de aspecto ou consultas mapeadas ao aspecto usando AddFacetItem() método do SPScripptedFacet classe.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    rótulo Cadeia de caracteres Rótulo do 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:
    • Um rótulo ou ID duplicado foi encontrado.
    • 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");

    SPScripptedFacetService - 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 AddFacetItem() método do SPScripptedFacet classe.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    rótulo Cadeia de caracteres Rótulo do 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:

    • Um rótulo ou ID duplicado foi encontrado.
    • 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
      }
    }