ForgejComponent
bg

jComponent

Помощници за данни: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED и Thelpers

jComponent 20 · jcomponent@20 jcomponentfrontendutilitiestemplates Изпълнено с jComponent 20
  • QUERIFY([url], object) изгражда низ на заявка: стойностите null се пропускат, масивите се свързват със запетаи, датите стават ISO текстове и всичко се кодира. С url се добавя към него (? или &), също след метод като в 'POST /api/x'.
  • STRINGIFY(object, [compress], [fields]) е JSON.stringify() с две опции: compress: true пропуска празните текстове, null и false и подрязва текстовете; fields е списък с имената, които се запазват, функция (key, value), която решава, или обект, където name: false пропуска поле.
  • ENCRYPT(value, [key], [type]) превръща текст или обект в шестнадесетичен текст, който завършва с проверка на ключа, а DECRYPT(text, [key], [type]) връща стойността или undefined, когато ключът или типът не са същите. Това е заглушаване за браузъра, не сигурност: всеки може да го прочете без ключа.
  • FN('n => n * 2') компилира израз във функция и я запомня; без => текстът е тялото, а аргументът се казва value.
  • NOOP, EMPTYARRAY и EMPTYOBJECT (замразени: не могат да се променят по грешка), MONTHS и DAYS (имената на английски) и NOW (Date, който jComponent поддържа актуален).
  • Списъци с кодове: CLINIT(name, function(next) {}, [expire], [init]) регистрира списък, който function зарежда (извиква next(value); с текст вместо функция, адрес като GET /api/countries/). CL('a,b', callback) зарежда списъците, които не са заредени, и съхранява всеки в DEF.cl.name (и в състоянието на този път); CLRELOAD(name, callback) ги зарежда отново.
  • Превод: LOCALIZE(text) зарежда речник във формата на ресурсните файлове на Total.js (key : translation, по един на ред, // за коментари), а TRANSLATE(text) замества всяко @(text) с превода му (същия текст, когато няма такъв). Ключът е T плюс HASH() на текста в основа 36.
  • UNAUTHORIZED(...names) връща false, когато window.user има едно от правата (user.permissions или user.roles, списък или обект) или е sa / su, и true в противен случай (също когато няма потребител).
  • Thelpers (същият обект като Tangular.helpers, а Ta е Tangular) държи помощниците на шаблоните: добавете един с Thelpers.name = function(value, ...arguments), където this е моделът, и го използвайте като {{ 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>
Опитайте в браузъра си

Редактирайте примера и го изпълнете. Работи в изолирана рамка във вашия браузър; нищо не се изпраща към нашия сървър.

Преглед