Βοηθοί δεδομένων: QUERIFY, STRINGIFY, ENCRYPT, FN, CL, TRANSLATE, UNAUTHORIZED και Thelpers
- Το
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) }}.
<!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 σας· τίποτα δεν στέλνεται στον διακομιστή μας.
Προεπισκόπηση