Γρήγορη κατάσταση επεξεργασίας για YUI 3 DataTable
19η Απριλίου, 2011 στις 3:20 μ.μ. από τον John Lindal | Σε Ανάπτυξης , YUI Γκαλερί 3 | 1 σχόλιοΑκόμα κι αν YUI 3 DataTable δεν έχει ακόμη επιτόπια επεξεργασία των μεμονωμένων κυττάρων, είναι σχετικά απλό να εφαρμόσει τη λειτουργία γρήγορης επεξεργασίας. Η QuickEdit plugin για DataTable στην Γκαλερί YUI 3 επιτρέπει σε όλες τις ορατές τιμές σε DataTable που θέλετε να επεξεργαστείτε ταυτόχρονα.
( Κάντε κλικ στο screenshot για να παίξει με αυτό το παράδειγμα .)
Επισκόπηση
Όπως και με το YUI 2 έκδοση , η βασική ιδέα της γρήγορης κατάσταση επεξεργασίας είναι να ανταλλάξουν όλες τις μορφοποιητές κυττάρων με καινούργια τα οποία καταλαμβάνουν τα κύτταρα με τα στοιχεία μορφή, π.χ., τα πεδία εισαγωγής ή αναπτυσσόμενα μενού. Αυτό γίνεται όταν start() καλείται, με βάση τις ρυθμίσεις που περιγράφονται παρακάτω. Αφού ο χρήστης έχει τελειώσει, μπορείτε να καλέσετε getChanges() για να πάρετε τις αλλαγές στις τιμές και στη συνέχεια τους επιμένουν. Για να βγείτε από τη λειτουργία γρήγορης επεξεργασίας, καλέστε cancel() . (Πήρε το όνομά του να ακυρώσει
αντί να σταματήσει
να σας υπενθυμίσω ότι απορρίπτει όλες τις αλλαγές.)
Δεδομένου ότι η μονάδα γρήγορης γκαλερί Επεξεργασία είναι ένα plugin για DataTable, θα πρέπει να το συνδέσετε στο DataTable σας για να μπορέσετε να χρησιμοποιήσετε:
my_table.plug (Y.Plugin.DataTableQuickEdit)?
Αυτό το plugin αποθηκεύει στο qe μέλος του DataTable, οπότε θα πρέπει να καλέσετε τις λειτουργίες του plugin για αυτό, όπως:
my_table.qe.start ()?
Διαμόρφωση
Γρήγορη Επεξεργασία προσθέτει δύο νέα χαρακτηριστικά διαμόρφωσης για όλες τις στήλες: quickEdit και qeFormatter .
Αν μια στήλη του quickEdit περιουσία ορίζεται, η στήλη θα είναι επεξεργάσιμο στη λειτουργία γρήγορης επεξεργασίας. Για να αποδεχτείτε όλες τις προεπιλογές, μπορείτε να ορίσετε απλά quickEdit:true . Για περισσότερο έλεγχο, μπορείτε να περάσετε ένα αντικείμενο με τις παρακάτω ιδιότητες:
-
formatter Το σύστημα διαμόρφωσης των κυττάρων τα οποία θα καθιστούν κατάλληλο πεδίο φόρμας: <input type="text">, <textarea>, ή <select>. Από προεπιλογή, ο μορφοποιητή κύτταρο
Y.Plugin.DataTableQuickEdit.textFormatterχρησιμοποιείται για όλα τα κύτταρα να παράγουν τα στοιχεία εισόδου. Για να πάρετε μιαtextareaστοιχείο, να ρυθμίσετε μια στήλη που θα χρησιμοποιηθείY.Plugin.DataTableQuickEdit.textareaFormatterαντ 'αυτού.-
validation Επικύρωση ρυθμίσεων για κάθε πεδίο στη στήλη.
-
css CSS τάξεις κωδικοποίηση των βασικών κανόνων επικύρωσης:
-
yiv-required Αξία δεν πρέπει να είναι άδειο.
-
yiv-length:[x,y] String πρέπει να είναι τουλάχιστον
xχαρακτήρες και σε πιοyχαρακτήρες. Τουλάχιστον ένα από τα x και y πρέπει να καθορίζονται.-
yiv-integer:[x,y] Η ακέραια τιμή πρέπει να είναι τουλάχιστον
xκαι στο πιοy.xκαιyείναι δύο προαιρετικά.-
yiv-decimal:[x,y] Η δεκαδική τιμή πρέπει να είναι τουλάχιστον
xκαι στο πιοy. Εκθέτες δεν επιτρέπεται.xκαιyείναι δύο προαιρετικά.
-
-
fn Μια λειτουργία που θα πρέπει να ονομάζεται με το DataTable ως πεδίο εφαρμογής της και το στοιχείο της φόρμας του κυττάρου, όπως το επιχείρημα. Επιστροφή true αν η τιμή είναι έγκυρη. Διαφορετικά, καλέστε
this.displayMessage(...)για να εμφανιστεί ένα σφάλμα και στη συνέχεια επιστρέφουν ψευδείς.-
msg Ένας χάρτης των τύπων στα μηνύματα που θα εμφανίζεται όταν ένας βασικός κανόνας regex ή αποτύχει η επικύρωση. Οι έγκυροι τύποι είναι:
required,min_length,max_length,integer,decimal, καιregex. Δεν υπάρχει προεπιλογή για τον τύποregex, οπότε θα πρέπει να καθορίσετε ένα μήνυμα, αν διαμορφώσετε ένα regex επικύρωσης. Τα μηνύματα λάθους προεπιλογή για τους άλλους τύπους αποθηκεύονται σεY.FormManager.Strings(παρέχεται από γκαλερί formmgr-CSS-επικύρωση ) και μπορεί να παρακαμφθεί και / ή τοπικό.-
regex Κανονική έκφραση ότι η τιμή πρέπει να πληρούν προκειμένου να θεωρούνται έγκυρες.
-
Μερικές φορές, ένα μη επεξεργάσιμο στήλη πρέπει να αποδίδονται με διαφορετικό τρόπο κατά τη διάρκεια της γρήγορης κατάσταση επεξεργασίας. Το καλύτερο παράδειγμα είναι μια στήλη που περιέχει ένα σύνδεσμο, αφού πλοήγηση μακριά από τη σελίδα, ενώ στη λειτουργία γρήγορης επεξεργασίας μπορεί να είναι καταστροφικές. Για να καταργήσετε τη σύνδεση κατά τη διάρκεια της γρήγορης επεξεργασίας, ρυθμίστε qeFormatter για τη στήλη να είναι Y.Plugin.DataTableQuickEdit.readonlyLinkFormatter . Για τις διευθύνσεις ηλεκτρονικού ταχυδρομείου, χρησιμοποιήστε Y.Plugin.DataTableQuickEdit.readonlyEmailFormatter . Μπορείτε επίσης να γράψετε τη δική σας συνήθεια, μόνο για ανάγνωση μορφοποιητή. Απλά ακολουθήστε τις συνήθεις κανόνες για την κατασκευή κυττάρου μορφοποιητή DataTable.
Λείπει Χαρακτηριστικά
Λόγω ενός bug στο 3.3.0 YUI DataTable , η td στοιχείο περάσει σε ένα σύστημα διαμόρφωσης στήλη είναι πραγματικά από την προηγούμενη στήλη. Αυτό το έκανε πάρα πολύ ενοχλητικό να υποστηρίξει κάτω αντίγραφο,
όπου ένα κουμπί στην πρώτη γραμμή σας επιτρέπει να αντιγράψετε την τιμή κάτω σε όλες τις άλλες σειρές.
Το σφάλμα που απαιτούνται, επίσης, μια πλήρη αναμόρφωση των βασικών κυττάρων Γρήγορη μορφοποιητές Επεξεργασία για να επιστρέψει το κείμενο, αντί να το χειρισμό του DOM. Αυτός είναι ο λόγος δεν είναι προσαρμοσμένες μορφοποιητές κυττάρων επίσημα υποστηρίζεται σε αυτή την αρχική έκδοση. Αν είστε τολμηροί, μπορείτε να χτίσετε τους ακόμα, αλλά να έχετε κατά νου ότι θα πρέπει να ξαναγράψουμε τους, συμπεριλαμβανομένης της προσθήκης για τη στήριξη αντίγραφο κάτω,
μία φορά το bug στο DataTable καθορίζεται.
Μοιραστείτε και κατ 'επέκταση: Del.icio.us Σελιδοδείκτης με | Digg it! | Reddit!
1 σχόλιο
Λυπούμαστε, το σχόλιο μορφή είναι κλειστή αυτή τη στιγμή.

Πνευματικά δικαιώματα © 2006-2012 Yahoo! Με επιφύλαξη παντός δικαιώματος. Πολιτική απορρήτου - Όροι Υπηρεσίας
Κινούμενο από WordPress για το Yahoo! Web Hosting .


Χάρη στην γκαλερί-μπάλωμα-340-DataTable-διαμορφωτή, η YUI 3.4.0 έκδοση της γκαλερί-quickedit παρέχει πλέον "αντιγράψετε τα κάτω" λειτουργικότητα.
Σχόλιο από τον John Lindal - 23 Αυγούστου του 2011 #