Postagens

Mostrando postagens com o rótulo JavaScript

SharePoint: problema em consulta de termos via JavaScript

Imagem
O SharePoint tem um serviço de termos que pode ser usado tanto como navegação como classificação de itens (colocando tags em documentos, por exemplo). Esse serviço de termos, chamado Managed Metadata Service, pode ser acessado através de uma API que pode ser consumida através de JavaScript. Em uma funcionalidade na qual precisávamos acessar um conjunto de termos específico para popular um controle na tela, começamos a ter o erro abaixo quando a solução foi implantada no ambiente de testes. Cannot read property 'toString' of null O erro a princípio é simples de identificar, existe uma chamada do método toString em uma string que não recebeu nenhum valor. O problema é que esse erro dá dentro da biblioteca JavaScript do próprio SharePoint. O código utilizado nessa chamada é o abaixo. var termSetName = "NOME_TERMO"; var locale = 1046; //pt-BR var clientContext = SP.ClientContext.get_current(); var taxonomySession = SP.Taxonomy.TaxonomySession.getTax...

Criando modelos de HTML com Underscore.js

Imagem
Em aplicações web, os dados que são retornados de serviços, como um REST retornando um objeto JSON, precisam ser exibidos aos usuários. Ou seja, pegamos essas informações e as transformamos em elementos HTML (parágrafos, tabelas, listas, etc). Uma das maneiras de se fazer isso é a manipulação desses dados através de scripts de forma a montar cada elemento. Por exemplo, o código abaixo pega um objeto JSON e o transforma em um parágrafo, através da concatenação do valor com as tags "<p>" e "</p>". Isso a princípio parece ser algo simples, mas no final acabamos com um código de difícil manutenção. Imagine um JSON que tenha um array de objetos para ser montado em uma tabela, com cada linha precisando gerar todas as respectivas tags " <tr>", "<td>" e etc. Pior, imagina esquecer de fechar uma tag ou concatenar sem fechar uma aspas. A próxima pessoa que for dar manutenção vai gastar um bom tempo entendendo o que foi feito (e qua...