ForgejComponent
it

jComponent

Helper per i dati: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED e Thelpers

jComponent 20 · jcomponent@20 jcomponentfrontendutilitiestemplates Eseguita con jComponent 20
  • QUERIFY([url], object) costruisce una stringa di query: i valori null sono saltati, gli array sono uniti con virgole, le date diventano testi ISO e tutto è codificato. Con un url viene aggiunta ad esso (? o &), anche dopo un metodo come in 'POST /api/x'.
  • STRINGIFY(object, [compress], [fields]) è JSON.stringify() con due opzioni: compress: true omette testi vuoti, null e false, e rifila i testi; fields è una lista dei nomi che si mantengono, una funzione (key, value) che decide, o un oggetto dove name: false omette un campo.
  • ENCRYPT(value, [key], [type]) trasforma un testo o un oggetto in un testo esadecimale che termina con un controllo della chiave, e DECRYPT(text, [key], [type]) restituisce il valore, o undefined quando la chiave o il tipo non coincidono. È un'offuscazione per il browser, non sicurezza: chiunque può leggerlo senza la chiave.
  • FN('n => n * 2') compila un'espressione in una funzione e la ricorda; senza => il testo è il corpo e l'argomento si chiama value.
  • NOOP, EMPTYARRAY e EMPTYOBJECT (congelati: non si possono cambiare per errore), MONTHS e DAYS (i nomi in inglese) e NOW (un Date che jComponent tiene aggiornato).
  • Liste di codici: CLINIT(name, function(next) {}, [expire], [init]) registra una lista che function carica (chiama next(value); con un testo al posto di una funzione, un indirizzo come GET /api/countries/). CL('a,b', callback) carica le liste non caricate e memorizza ciascuna in DEF.cl.name (e nello stato a quel percorso); CLRELOAD(name, callback) le ricarica.
  • Traduzione: LOCALIZE(text) carica un dizionario nel formato dei file di risorse di Total.js (key : translation, uno per riga, // per i commenti) e TRANSLATE(text) sostituisce ogni @(text) con la sua traduzione (lo stesso testo se non ce n'è). La chiave è T più l'HASH() del testo in base 36.
  • UNAUTHORIZED(...names) restituisce false quando window.user ha uno dei permessi (user.permissions o user.roles, una lista o un oggetto) o è sa / su, e true altrimenti (anche quando non c'è utente).
  • Thelpers (lo stesso oggetto di Tangular.helpers, e Ta è Tangular) contiene gli helper dei template: aggiungine uno con Thelpers.name = function(value, ...arguments), dove this è il modello, e usalo come {{ 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>
Provalo nel tuo browser

Modifica l'esempio ed eseguilo. Gira in un frame isolato del tuo browser; nulla viene inviato al nostro server.

Anteprima