Pomocníci pre dáta: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED a Thelpers
QUERIFY([url], object)vytvorí reťazec dotazu: hodnotynullsa preskočia, polia sa spoja čiarkami, dátumy sa zmenia na ISO texty a všetko sa zakóduje. S url sa pripojí k nej (?alebo&), aj za metódou ako v'POST /api/x'.STRINGIFY(object, [compress], [fields])jeJSON.stringify()s dvoma možnosťami:compress: truevynechá prázdne texty,nullafalsea orezáva texty;fieldsje zoznam názvov, ktoré sa ponechajú, funkcia(key, value), ktorá rozhoduje, alebo objekt, kdename: falsepole vynechá.ENCRYPT(value, [key], [type])zmení text alebo objekt na hexadecimálny text, ktorý končí kontrolou kľúča, aDECRYPT(text, [key], [type])vráti hodnotu, aleboundefined, keď kľúč alebo typ nie sú rovnaké. Je to obfuskácia pre prehliadač, nie bezpečnosť: ktokoľvek ho prečíta bez kľúča.FN('n => n * 2')skompiluje výraz do funkcie a zapamätá si ju; bez=>je text telom a argument sa volávalue.NOOP,EMPTYARRAYaEMPTYOBJECT(zmrazené: nemožno ich omylom zmeniť),MONTHSaDAYS(názvy v angličtine) aNOW(Date, ktorý jComponent udržiava aktuálny).- Zoznamy kódov:
CLINIT(name, function(next) {}, [expire], [init])zaregistruje zoznam, ktorýfunctionnačíta (volánext(value); s textom namiesto funkcie adresa akoGET /api/countries/).CL('a,b', callback)načíta zoznamy, ktoré nie sú načítané, a každý uloží doDEF.cl.name(a do stavu na tejto ceste);CLRELOAD(name, callback)ich načíta znova. - Preklad:
LOCALIZE(text)načíta slovník vo formáte zdrojových súborov Total.js (key : translation, jeden na riadok,//pre komentáre) aTRANSLATE(text)nahradí každé@(text)jeho prekladom (rovnakým textom, keď žiadny nie je). Kľúč jeTplusHASH()textu v základe 36. UNAUTHORIZED(...names)vrátifalse, keďwindow.usermá jedno z oprávnení (user.permissionsalebouser.roles, zoznam alebo objekt) alebo jesa/su, a inaktrue(aj keď nie je používateľ).Thelpers(rovnaký objekt akoTangular.helpers, aTajeTangular) obsahuje pomocníkov šablón: pridajte jedného cezThelpers.name = function(value, ...arguments), kdethisje model, a použite ho ako{{ 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> Vyskúšajte to vo svojom prehliadači
Upravte príklad a spustite ho. Beží v izolovanom ráme vo vašom prehliadači; na náš server sa nič neposiela.
Náhľad