SPScriptedFacetService - com escopo

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 1 min. de leitura
  • Gere 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 a opção É fonte de script está selecionada.

    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 com escopo - createFacet(cadeia de caracteres rótulo, cadeia de caracteres id)

    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 do aspecto.
    id Cadeia de caracteres ID do aspecto.
    Tabela 2. Retorna
    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");

    SPScriptedFacetService com escopo - createMultiChoiceFacet(cadeia de caracteres rótulo, cadeia de caracteres id)

    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 do aspecto.
    id Cadeia de caracteres ID do aspecto.
    Tabela 4. Retorna
    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
      }
    }