Quick Edit-Modus für YUI 3 DataTable
19. April 2011 um 15.20 Uhr von John Lindal | In Entwicklung , YUI 3 Galerie | Keine KommentareObwohl YUI 3 DataTable noch nicht über Inline-Editing von einzelnen Zellen, ist es relativ einfach, Quick Edit-Modus zu implementieren. Die QuickEdit Plugin für DataTable in die YUI 3 Galerie können alle sichtbaren Werte in einer DataTable bearbeitet werden gleichzeitig.
( Klicken Sie auf den Screenshot, um bei diesem Beispiel zu spielen .)
Überblick
Wie bei den YUI-2-Version , ist der Kerngedanke der Quick Edit-Modus zu tauschen alle die Zelle Formatierer durch neue, die die Zellen mit Formular-Elemente, z. B. Eingabefelder oder Dropdown-Listen zu füllen. Dies geschieht, wenn start() aufgerufen wird, basierend auf der Konfiguration beschrieben. Nachdem der Benutzer fertig ist, können Sie getChanges() , um die geänderten Werte zu bekommen und dann bleiben sie. Zum Verlassen des Quick Edit-Modus aufrufen cancel() . (Es ist benannt stornieren
statt stoppen
Sie daran erinnern, dass es alle Änderungen verworfen.)
Da die Quick Edit-Galerie-Modul ist ein Plugin für DataTable, müssen Sie es in Ihrem datatable Stecker, bevor Sie es verwenden können:
my_table.plug (Y.Plugin.DataTableQuickEdit);
Dieser speichert das Plugin in den qe Mitglied der Datentabelle, so müssen Sie das Plugin-Funktionen wie folgt aufrufen:
my_table.qe.start ();
Konfiguration
Quick Edit fügt zwei neue Konfiguration Attribute, um alle Spalten: quickEdit und qeFormatter .
Wenn eine Spalte der quickEdit Eigenschaft definiert ist, wird die Spalte bearbeitet werden in Quick Edit-Modus. So nehmen Sie alle Standardeinstellungen, können Sie einfach eingestellt quickEdit:true . Für mehr Kontrolle haben, können Sie ein Objekt übergeben mit folgenden Eigenschaften:
-
formatter Die Zelle Formatter, die eine entsprechende Formularfeld machen wird: <input type="text">, <textarea> oder <select>. Standardmäßig wird die Zelle Formatierer
Y.Plugin.QuickEdit.textFormatterist für alle Zellen verwendet werden, um input-Elemente zu erzeugen. Um eintextarea-Element, konfigurieren Sie eine Spalte zur VerwendungY.Plugin.QuickEdit.textareaFormatterstatt.-
validation Validation-Konfiguration für jedes Feld in der Spalte.
-
css CSS-Klassen kodieren grundlegende Validierungsregeln:
-
yiv-required Der Wert muss nicht leer sein.
-
yiv-length:[x,y] String muss mindestens
xZeichen und höchstensyZeichen. Mindestens eine der x-und y müssen angegeben werden.-
yiv-integer:[x,y] Der ganzzahlige Wert muss mindestens
xund maximaly.xundysind beide optional.-
yiv-decimal:[x,y] Der Dezimalwert muss mindestens
xund maximaly. Exponenten sind nicht erlaubt.xundysind beide optional.
-
-
fn Eine Funktion, mit der DataTable als die Tragweite und die Zelle bilden Element als Argument aufgerufen wird. Gibt true zurück, wenn der Wert gültig ist. Ansonsten rufen
this.displayMessage(...)zu einer Fehleranzeige und dann return false.-
msg Eine Karte der Arten von Nachrichten, die angezeigt wird, wenn eine basische oder regex Gültigkeitsregel fehlschlägt. Die gültigen Typen sind:
required,min_length,max_length,integer,decimalundregex. Es gibt keinen Standardwert für Typregex, so müssen Sie eine Nachricht, wenn Sie einen regex Validierung konfigurieren. Die Standard-Fehlermeldungen für die anderen Arten sind in gespeichertenY.FormManager.Strings(von Galerie-formmgr-css-Validierung ) und kann überschrieben werden und / oder lokalisiert.-
regex Regulärer Ausdruck, dass der Wert erfüllen müssen, um als gültig angesehen werden.
-
Manchmal muss eine nicht-editierbare Spalte anders bei Quick Edit-Modus wiedergegeben werden. Das beste Beispiel ist eine Spalte mit einem Link, da die Navigation weg von der Seite, während in Quick Edit-Modus können verheerend sein. So entfernen Sie den Link in Quick Edit, konfigurieren qeFormatter für die Spalte zu Y.Plugin.QuickEdit.readonlyLinkFormatter . Für E-Mail-Adressen verwenden Y.Plugin.QuickEdit.readonlyEmailFormatter . Sie können auch schreiben Sie eigene, read-only-Formatierer. Folgen Sie einfach den normalen Regeln für den Aufbau einer DataTable Zelle Formatierer.
Fehlende Funktionen
Aufgrund eines Fehlers in YUI 3.3.0 DataTable , die td weitergegeben Element, um eine Spalte Formatter ist eigentlich aus der vorherigen Spalte. Dies machte es zu mühsam, notieren Sie
unterstützen, wo eine Schaltfläche in der ersten Reihe können Sie kopieren Sie den Wert auf alle anderen Zeilen.
Der Bug auch eine komplette Überarbeitung der grundlegenden Quick Edit Zelle Formatierer erforderlich, um Text anstelle der Manipulation des DOM zurückkehren. Aus diesem Grund benutzerdefinierte Zelle Formatierer nicht offiziell in dieser ersten Version nicht unterstützt. Wenn Sie abenteuerlustig sind, können Sie dennoch bauen sie, aber bedenken Sie, dass Sie brauchen, um sie neu zu schreiben, einschließlich dem Hinzufügen von Unterstützung für abschreiben,
wenn die Fehler in DataTable festgelegt ist.
Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!
Noch keine Kommentare »
RSS-Feed für Kommentare zu diesem Beitrag. TrackBack URI
Leave a comment

Copyright © 2006-2011 Yahoo! Inc. Alle Rechte vorbehalten. Datenschutzbestimmungen - Nutzungsbedingungen
Präsentiert von WordPress auf Yahoo! Web Hosting .


