ForgejComponent
el

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 όταν το κλειδί ή ο τύπος δεν είναι ίδια. Είναι συσκότιση για τον browser, όχι ασφάλεια: οποιοσδήποτε μπορεί να το διαβάσει χωρίς το κλειδί.
  • Το 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>
Δοκιμάστε το στον browser σας

Επεξεργαστείτε το παράδειγμα και εκτελέστε το. Εκτελείται σε απομονωμένο πλαίσιο στον browser σας· τίποτα δεν στέλνεται στον διακομιστή μας.

Προεπισκόπηση