Φτιάξτε μια συνιστώσα για το UI Builder
Μια συνιστώσα UI Builder είναι ένα αρχείο HTML με έως τέσσερα μέρη. Ο σκελετός που προσφέρει ο επεξεργαστής για μια νέα συνιστώσα (public/template.txt) είναι ένα ρολόι:
<style>
.CLASS { font-size: 14px; }
</style>
<script>
exports.id = '';
exports.name = 'Clock';
exports.group = 'Controls';
exports.author = 'Total.js';
exports.icon = 'ti ti-clock';
exports.config = { bold: false, flash: true, seconds: true };
exports.version = '1';
exports.follow = true;
exports.make = function(instance, config, element, cls, iseditor) {
// build the component inside element
};
</script>
<readme>
The component renders the current time and the model contains a `Date` object.
</readme>
<settings>
<div class="padding">
<ui-component name="input" path="?.bold" config="type:checkbox">Apply bold font</ui-component>
</div>
</settings>| Μέρος | Τι κάνει |
|---|---|
<style> | το CSS της συνιστώσας· το CLASS αντικαθίσταται από μια κλάση που ανήκει στη συνιστώσα |
<script> | εξάγει τα μεταδεδομένα (id, name, group, author, icon, version, config με τις προεπιλογές) και τη συνάρτηση make |
<readme> | το κείμενο βοήθειας που εμφανίζεται στον επεξεργαστή (Markdown) |
<settings> | η φόρμα που επεξεργάζεται το config: πεδία εισόδου jComponent των οποίων το path ξεκινά με ?. ακολουθούμενο από το κλειδί της διαμόρφωσης |
Η συνάρτηση make
Η make(instance, config, element, cls, iseditor) εκτελείται όταν δημιουργείται η συνιστώσα:
- Το
instanceείναι η παρουσία της συνιστώσας (set,on,emit,state...). - Το
configείναι η διαμόρφωσή της και τοelementτο στοιχείο jQuery που πρέπει να γεμίσει. - Το
clsείναι η κλάση που αντικατέστησε τοCLASSκαι τοiseditorδείχνει αν σχεδιάζεται μέσα στον επεξεργαστή ή σε έναν αποδοθέντα σχεδιασμό (έτσι, για παράδειγμα, ένα χρονόμετρο δεν χρειάζεται να τρέχει όσο σχεδιάζετε).
Μέσα σε αυτήν ακούτε γεγονότα (instance.on('configure', ...) όταν αλλάζουν οι ρυθμίσεις και instance.on('destroy', ...) για να καθαρίσετε τα χρονόμετρα) και γράφετε την τιμή με instance.set('value', date).
Μεταδεδομένα, σημαίες, μέθοδοι και γεγονότα
Από το README του επεξεργαστή:
- Μεταδεδομένα: το
exports.follow = trueεμφανίζει τη συνιστώσα στη φόρμα ρυθμίσεων Path for reading/writing (μόνο για τον σχεδιαστή) και τοexports.hidden = trueτην κρύβει από τη λίστα συνιστωσών. - Σημαίες μιας παρουσίας: το
instance.state.bind = trueδένει αυτόματα τη συνιστώσα μέσα σε μια φόρμα, για όσες διαβάζουν και γράφουν δεδομένα· τοinstance.state.notify = trueεκπέμπει μόνο το γεγονόςnotifyόταν αλλάζει η τιμή, αντί να ορίζει απευθείας την τιμή της συνιστώσας (η συνιστώσα Counter είναι το παράδειγμα). - Μέθοδος: η
instance.datasource(CLID_OR_@INSTANCEID__OR__#VIEWID, function(value) {})διαβάζει μια πηγή δεδομένων και δίνει έναν πίνακα από[id, name]. - Γεγονός: το
instance.on('refresh', function(meta) {})ενεργοποιείται όταν άλλαξαν κάποια αντικείμενα: τοmeta.typeείναιremoveήconfigure, μεmeta.itemsήmeta.item. - Ιδιότητες του επεξεργαστή που μπορεί να διαβάσει μια συνιστώσα:
DEF.cl.datasource(λίστες κωδικών και συνιστώσες μεfollow),DEF.cl.paths,DEF.cl.list(όλες οι παρουσίες),DEF.cl.inputs,DEF.cl.outputs,DEF.cl.viewsκαιDEF.cl.apps(αδελφοί σχεδιασμοί). - Παρακολούθηση: ένα
config.pathπου ξεκινά με@σημαίνει ότι η συνιστώσα ακολουθεί μια άλλη.
Δημοσιεύστε το αρχείο στη δική σας λίστα συνιστωσών (εκτέλεση του επεξεργαστή) και η ομάδα σας μπορεί να το χρησιμοποιεί από τον επεξεργαστή.