ForgejComponent
es

jComponent

Ayudantes de datos: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED y Thelpers

jComponent 20 · jcomponent@20 jcomponentfrontendutilitiestemplates Ejecutada con jComponent 20
  • QUERIFY([url], object) construye una cadena de consulta: los valores null se 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]) es JSON.stringify() con dos opciones: compress: true omite textos vacíos, null y false, y recorta los textos; fields es una lista de los nombres que se conservan, una función (key, value) que decide, o un objeto donde name: false omite 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, y DECRYPT(text, [key], [type]) devuelve el valor, o undefined cuando 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 llama value.
  • NOOP, EMPTYARRAY y EMPTYOBJECT (congelados: no se pueden cambiar por error), MONTHS y DAYS (los nombres en inglés) y NOW (un Date que jComponent mantiene actualizado).
  • Listas de códigos: CLINIT(name, function(next) {}, [expire], [init]) registra una lista que function carga (llama a next(value); con un texto en lugar de una función, una dirección como GET /api/countries/). CL('a,b', callback) carga las listas que no están cargadas y guarda cada una en DEF.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) y TRANSLATE(text) reemplaza cada @(text) por su traducción (el mismo texto cuando no hay ninguna). La clave es T más el HASH() del texto en base 36.
  • UNAUTHORIZED(...names) devuelve false cuando window.user tiene uno de los permisos (user.permissions o user.roles, una lista o un objeto) o es sa / su, y true en caso contrario (también cuando no hay usuario).
  • Thelpers (el mismo objeto que Tangular.helpers, y Ta es Tangular) contiene los ayudantes de las plantillas: añade uno con Thelpers.name = function(value, ...arguments), donde this es el modelo, y úsalo 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>
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