SDK de Listas

Esta seção descreve as funções e o fluxo de trabalho para trabalhar com as listas do SDK

list_selected método

Widgets podem funcionar em interfaces de listas de leads, contatos e empresas para executar algumas ações em massa nos itens dessas listas. Valores possíveis da propriedade locations em manifest.json :

llist - lista de leads
clist - lista de contatos/empresas
tlist - lista de tarefas

O método list_selected está disponível para estes escopos:

this.callbacks = {
  // ...

  render: function () {
    const selected_data = self.list_selected();

    this.render_template({
      body: `
        <div class="widget-body-unique-class-name">
          Leads quantity: ${selected_data.summary.items}
        </div>
      `
    });
  },

  // ...
};
this.callbacks = {
  ...

  render: function () {
    var selected_data = self.list_selected();

    this.render_template({
      body: '<div class="widget-body-unique-class-name">' +
        'Lead quantity: ' + selected_data.summary.items
      '</div>'
    });
  },

  ...
}

Selected_data armazenará os elementos selecionados pelo usuário, que conterão ID, tipo de entidade em que o usuário está e dados de telefone e email dos contatos selecionados ou contatos relacionados aos leads selecionados nas seções correspondentes. O método render_template é usado para renderizar o widget, cujos parâmetros são descritos na página SDK do Cartão. Um exemplo do resultado da execução do método list_selected:

O sistema tem a capacidade de substituir o cartão de edição padrão do item da lista. Para fazer isso, você deve definir a área de conexão do widget catalogs no manifest.json, e então especificar o id do diretório onde o cartão personalizado será usado no lugar do usual.

Para especificar o id do diretório, é necessário chamar o método do widget setSdkCatalogId, passando o id do diretório como argumento até que as configurações do widget sejam salvas. Você pode fazer isso, por exemplo, no callback onSave.

Exemplo:

onSave: _.bind(function () {
          this.setSdkCatalogId(this.params.catalog_id);
          return true;
}, self),

Após configurar as configurações, quando você tentar editar o elemento do diretório, o callback do widget loadCatalogElement será chamado. Nesse caso, o cartão de edição padrão do item da lista não será aberto.

loadCatalogElement: function (catalog_element) {
          console.log('editando o item de catálogo #' + catalog_element.id);
},