ForgejComponent
de

jComponent

Daten-Helfer: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED und Thelpers

jComponent 20 · jcomponent@20 jcomponentfrontendutilitiestemplates Mit jComponent 20 ausgeführt
  • QUERIFY([url], object) baut einen Query-String: null-Werte werden übersprungen, Arrays mit Kommas verbunden, Daten werden zu ISO-Texten und alles wird kodiert. Mit einer URL wird er an sie angehängt (? oder &), auch nach einer Methode wie in 'POST /api/x'.
  • STRINGIFY(object, [compress], [fields]) ist JSON.stringify() mit zwei Optionen: compress: true lässt leere Texte, null und false weg und trimmt die Texte; fields ist eine Liste der Namen, die bleiben, eine Funktion (key, value), die entscheidet, oder ein Objekt, in dem name: false ein Feld weglässt.
  • ENCRYPT(value, [key], [type]) verwandelt einen Text oder ein Objekt in einen hexadezimalen Text, der mit einer Prüfung des Schlüssels endet, und DECRYPT(text, [key], [type]) gibt den Wert zurück, oder undefined, wenn Schlüssel oder Typ nicht gleich sind. Es ist eine Verschleierung für den Browser, keine Sicherheit: Jeder kann es ohne den Schlüssel lesen.
  • FN('n => n * 2') kompiliert einen Ausdruck zu einer Funktion und merkt sie sich; ohne => ist der Text der Rumpf und das Argument heißt value.
  • NOOP, EMPTYARRAY und EMPTYOBJECT (eingefroren: Sie können nicht aus Versehen geändert werden), MONTHS und DAYS (die Namen auf Englisch) und NOW (ein Date, das jComponent aktuell hält).
  • Code-Listen: CLINIT(name, function(next) {}, [expire], [init]) registriert eine Liste, die function lädt (sie ruft next(value) auf; mit einem Text statt einer Funktion eine Adresse wie GET /api/countries/). CL('a,b', callback) lädt die nicht geladenen Listen und speichert jede in DEF.cl.name (und im Zustand unter diesem Pfad); CLRELOAD(name, callback) lädt sie erneut.
  • Übersetzung: LOCALIZE(text) lädt ein Wörterbuch im Format der Ressourcendateien von Total.js (key : translation, eines pro Zeile, // für Kommentare) und TRANSLATE(text) ersetzt jedes @(text) durch seine Übersetzung (denselben Text, wenn es keine gibt). Der Schlüssel ist T plus der HASH() des Textes zur Basis 36.
  • UNAUTHORIZED(...names) gibt false zurück, wenn window.user eine der Berechtigungen hat (user.permissions oder user.roles, eine Liste oder ein Objekt) oder sa / su ist, und sonst true (auch wenn es keinen Benutzer gibt).
  • Thelpers (dasselbe Objekt wie Tangular.helpers, und Ta ist Tangular) enthält die Helfer der Templates: Füge einen mit Thelpers.name = function(value, ...arguments) hinzu, wobei this das Modell ist, und nutze ihn als {{ 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>
Probiere es in deinem Browser aus

Bearbeite das Beispiel und führe es aus. Es läuft in einem isolierten Frame in deinem Browser; nichts wird an unseren Server gesendet.

Vorschau