Ajudantes de dados: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED e Thelpers
QUERIFY([url], object)constrói uma cadeia de consulta: os valoresnullsão ignorados, os arrays são unidos por vírgulas, as datas passam a textos ISO e tudo é codificado. Com um url é acrescentada a ele (?ou&), também depois de um método como em'POST /api/x'.STRINGIFY(object, [compress], [fields])éJSON.stringify()com duas opções:compress: trueomite textos vazios,nullefalse, e apara os textos;fieldsé uma lista dos nomes que se mantêm, uma função(key, value)que decide, ou um objeto em quename: falseomite um campo.ENCRYPT(value, [key], [type])transforma um texto ou um objeto num texto hexadecimal que termina com uma verificação da chave, eDECRYPT(text, [key], [type])devolve o valor, ouundefinedquando a chave ou o tipo não são iguais. É uma ofuscação para o navegador, não segurança: qualquer pessoa o pode ler sem a chave.FN('n => n * 2')compila uma expressão numa função e memoriza-a; sem=>o texto é o corpo e o argumento chama-sevalue.NOOP,EMPTYARRAYeEMPTYOBJECT(congelados: não se podem alterar por engano),MONTHSeDAYS(os nomes em inglês) eNOW(umDateque o jComponent mantém atualizado).- Listas de códigos:
CLINIT(name, function(next) {}, [expire], [init])regista uma lista quefunctioncarrega (chamanext(value); com um texto em vez de uma função, um endereço comoGET /api/countries/).CL('a,b', callback)carrega as listas que não estão carregadas e guarda cada uma emDEF.cl.name(e no estado nesse caminho);CLRELOAD(name, callback)carrega-as de novo. - Tradução:
LOCALIZE(text)carrega um dicionário no formato dos ficheiros de recursos do Total.js (key : translation, um por linha,//para comentários) eTRANSLATE(text)substitui cada@(text)pela sua tradução (o mesmo texto quando não há nenhuma). A chave éTmais oHASH()do texto em base 36. UNAUTHORIZED(...names)devolvefalsequandowindow.usertem uma das permissões (user.permissionsouuser.roles, uma lista ou um objeto) ou ésa/su, etruecaso contrário (também quando não há utilizador).Thelpers(o mesmo objeto queTangular.helpers, eTaéTangular) contém os ajudantes dos modelos: acrescente um comThelpers.name = function(value, ...arguments), ondethisé o modelo, e use-o como{{ value | name(argument) }}.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>jComponent</title>
<link rel="stylesheet" href="//cdn.componentator.com/spa.min@20.css" />
<script src="//cdn.componentator.com/spa.min@20.js"></script>
</head>
<body>
<p class="out"></p>
</body>
</html> Experimente no seu navegador
Edite o exemplo e execute-o. Corre numa moldura isolada do seu navegador; nada é enviado para o nosso servidor.
Pré-visualização