ForgejComponent
pt

jComponent

Ajudantes de dados: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED e Thelpers

jComponent 20 · jcomponent@20 jcomponentfrontendutilitiestemplates Executada com jComponent 20
  • QUERIFY([url], object) constrói uma cadeia de consulta: os valores null sã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: true omite textos vazios, null e false, e apara os textos; fields é uma lista dos nomes que se mantêm, uma função (key, value) que decide, ou um objeto em que name: false omite um campo.
  • ENCRYPT(value, [key], [type]) transforma um texto ou um objeto num texto hexadecimal que termina com uma verificação da chave, e DECRYPT(text, [key], [type]) devolve o valor, ou undefined quando 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-se value.
  • NOOP, EMPTYARRAY e EMPTYOBJECT (congelados: não se podem alterar por engano), MONTHS e DAYS (os nomes em inglês) e NOW (um Date que o jComponent mantém atualizado).
  • Listas de códigos: CLINIT(name, function(next) {}, [expire], [init]) regista uma lista que function carrega (chama next(value); com um texto em vez de uma função, um endereço como GET /api/countries/). CL('a,b', callback) carrega as listas que não estão carregadas e guarda cada uma em DEF.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) e TRANSLATE(text) substitui cada @(text) pela sua tradução (o mesmo texto quando não há nenhuma). A chave é T mais o HASH() do texto em base 36.
  • UNAUTHORIZED(...names) devolve false quando window.user tem uma das permissões (user.permissions ou user.roles, uma lista ou um objeto) ou é sa / su, e true caso contrário (também quando não há utilizador).
  • Thelpers (o mesmo objeto que Tangular.helpers, e Ta é Tangular) contém os ajudantes dos modelos: acrescente um com Thelpers.name = function(value, ...arguments), onde this é o modelo, e use-o como {{ value | name(argument) }}.
public/index.html
<!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