ForgejComponent
sv

jComponent

Datahjälpare: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED och Thelpers

jComponent 20 · jcomponent@20 jcomponentfrontendutilitiestemplates Körd med jComponent 20
  • QUERIFY([url], object) bygger en frågesträng: null-värden hoppas över, arrayer sammanfogas med kommatecken, datum blir ISO-texter och allt kodas. Med en url läggs den till i den (? eller &), även efter en metod som i 'POST /api/x'.
  • STRINGIFY(object, [compress], [fields]) är JSON.stringify() med två alternativ: compress: true utelämnar tomma texter, null och false och trimmar texterna; fields är en lista över de namn som behålls, en funktion (key, value) som avgör, eller ett objekt där name: false utelämnar ett fält.
  • ENCRYPT(value, [key], [type]) gör en text eller ett objekt till en hexadecimal text som slutar med en kontroll av nyckeln, och DECRYPT(text, [key], [type]) ger tillbaka värdet, eller undefined när nyckeln eller typen inte är desamma. Det är en obfuskering för webbläsaren, inte säkerhet: vem som helst kan läsa den utan nyckeln.
  • FN('n => n * 2') kompilerar ett uttryck till en funktion och kommer ihåg den; utan => är texten kroppen och argumentet heter value.
  • NOOP, EMPTYARRAY och EMPTYOBJECT (frysta: de kan inte ändras av misstag), MONTHS och DAYS (namnen på engelska) och NOW (ett Date som jComponent håller uppdaterat).
  • Kodlistor: CLINIT(name, function(next) {}, [expire], [init]) registrerar en lista som function laddar (den anropar next(value); med en text i stället för en funktion en adress som GET /api/countries/). CL('a,b', callback) laddar de listor som inte är laddade och lagrar var och en i DEF.cl.name (och i tillståndet på den sökvägen); CLRELOAD(name, callback) laddar dem igen.
  • Översättning: LOCALIZE(text) laddar en ordbok i formatet för Total.js resursfiler (key : translation, en per rad, // för kommentarer) och TRANSLATE(text) ersätter varje @(text) med dess översättning (samma text när det inte finns någon). Nyckeln är T plus textens HASH() i bas 36.
  • UNAUTHORIZED(...names) returnerar false när window.user har en av behörigheterna (user.permissions eller user.roles, en lista eller ett objekt) eller är sa / su, och annars true (även när det inte finns någon användare).
  • Thelpers (samma objekt som Tangular.helpers, och Ta är Tangular) innehåller mallarnas hjälpare: lägg till en med Thelpers.name = function(value, ...arguments), där this är modellen, och använd den som {{ 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>
Prova det i din webbläsare

Redigera exemplet och kör det. Det körs i en isolerad ram i din webbläsare; ingenting skickas till vår server.

Förhandsvisning