Pomocniki danych: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED i Thelpers
QUERIFY([url], object)buduje ciąg zapytania: wartościnullsą pomijane, tablice łączone przecinkami, daty zamieniane na teksty ISO, a wszystko jest kodowane. Z url jest do niego dołączany (?lub&), także po metodzie jak w'POST /api/x'.STRINGIFY(object, [compress], [fields])toJSON.stringify()z dwiema opcjami:compress: truepomija puste teksty,nullifalseoraz przycina teksty;fieldsto lista nazw, które zostają, funkcja(key, value), która decyduje, lub obiekt, w którymname: falsepomija pole.ENCRYPT(value, [key], [type])zamienia tekst lub obiekt w tekst szesnastkowy kończący się kontrolą klucza, aDECRYPT(text, [key], [type])oddaje wartość lubundefined, gdy klucz albo typ nie są takie same. To zaciemnienie dla przeglądarki, nie bezpieczeństwo: każdy może to odczytać bez klucza.FN('n => n * 2')kompiluje wyrażenie do funkcji i ją zapamiętuje; bez=>tekst jest ciałem, a argument nazywa sięvalue.NOOP,EMPTYARRAYiEMPTYOBJECT(zamrożone: nie da się ich zmienić przez pomyłkę),MONTHSiDAYS(nazwy po angielsku) orazNOW(Date, który jComponent utrzymuje aktualnym).- Listy kodów:
CLINIT(name, function(next) {}, [expire], [init])rejestruje listę, którą ładujefunction(wywołujenext(value); z tekstem zamiast funkcji adres taki jakGET /api/countries/).CL('a,b', callback)ładuje listy, które nie są załadowane, i zapisuje każdą wDEF.cl.name(oraz w stanie pod tą ścieżką);CLRELOAD(name, callback)ładuje je ponownie. - Tłumaczenie:
LOCALIZE(text)ładuje słownik w formacie plików zasobów Total.js (key : translation, po jednym w wierszu,//dla komentarzy), aTRANSLATE(text)zastępuje każde@(text)jego tłumaczeniem (tym samym tekstem, gdy go nie ma). Kluczem jestTplusHASH()tekstu w systemie o podstawie 36. UNAUTHORIZED(...names)zwracafalse, gdywindow.userma jedno z uprawnień (user.permissionslubuser.roles, lista albo obiekt) lub jestsa/su, a w przeciwnym razietrue(także gdy nie ma użytkownika).Thelpers(ten sam obiekt coTangular.helpers, aTatoTangular) zawiera pomocniki szablonów: dodaj jednego przezThelpers.name = function(value, ...arguments), gdziethisto model, i użyj go jako{{ 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> Wypróbuj w przeglądarce
Edytuj przykład i uruchom go. Działa w izolowanej ramce w Twojej przeglądarce; nic nie jest wysyłane na nasz serwer.
Podgląd