Ayudantes de datos: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED y Thelpers
QUERIFY([url], object)construye una cadena de consulta: los valoresnullse omiten, los arrays se unen con comas, las fechas se convierten en textos ISO y todo se codifica. Con una url se añade a ella (?o&), también tras un método como en'POST /api/x'.STRINGIFY(object, [compress], [fields])esJSON.stringify()con dos opciones:compress: trueomite textos vacíos,nullyfalse, y recorta los textos;fieldses una lista de los nombres que se conservan, una función(key, value)que decide, o un objeto dondename: falseomite un campo.ENCRYPT(value, [key], [type])convierte un texto o un objeto en un texto hexadecimal que termina con una comprobación de la clave, yDECRYPT(text, [key], [type])devuelve el valor, oundefinedcuando la clave o el tipo no coinciden. Es una ofuscación para el navegador, no seguridad: cualquiera puede leerlo sin la clave.FN('n => n * 2')compila una expresión en una función y la recuerda; sin=>el texto es el cuerpo y el argumento se llamavalue.NOOP,EMPTYARRAYyEMPTYOBJECT(congelados: no se pueden cambiar por error),MONTHSyDAYS(los nombres en inglés) yNOW(unDateque jComponent mantiene actualizado).- Listas de códigos:
CLINIT(name, function(next) {}, [expire], [init])registra una lista quefunctioncarga (llama anext(value); con un texto en lugar de una función, una dirección comoGET /api/countries/).CL('a,b', callback)carga las listas que no están cargadas y guarda cada una enDEF.cl.name(y en el estado en esa ruta);CLRELOAD(name, callback)las carga de nuevo. - Traducción:
LOCALIZE(text)carga un diccionario en el formato de los archivos de recursos de Total.js (key : translation, uno por línea,//para comentarios) yTRANSLATE(text)reemplaza cada@(text)por su traducción (el mismo texto cuando no hay ninguna). La clave esTmás elHASH()del texto en base 36. UNAUTHORIZED(...names)devuelvefalsecuandowindow.usertiene uno de los permisos (user.permissionsouser.roles, una lista o un objeto) o essa/su, ytrueen caso contrario (también cuando no hay usuario).Thelpers(el mismo objeto queTangular.helpers, yTaesTangular) contiene los ayudantes de las plantillas: añade uno conThelpers.name = function(value, ...arguments), dondethises el modelo, y úsalo 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> Pruébalo en tu navegador
Edita el ejemplo y ejecútalo. Se ejecuta en un marco aislado de tu navegador; no se envía nada a nuestro servidor.
Vista previa