So, ich bin zwar Mod, hab aber selber nicht so richtig Ahnung wos hingehört, bitte nicht hauen
Vielleicht kennen einige von euch jQuery, das wunderbare JavaScript Framework. Wer sich damit ein wenig eingehender beschäftigt hat, wird vielleicht sogar das Plugin TableSorter kennen.
TableSorter sortiert einen Table (welch Wunder) anhand einer im Tableheader angegeben Spalte.
Nachdem ich mich einige Zeit mit jenem begnügt habe, dachte ich mir: Du durchsuchst dauernd die Tabellen, magst jQuery, findest TableSorter toll, also schreib dein eigenes Plugin.
Ziemlich schnell habe ich dann das jQuery TableSearcher Plugin entwickelt. Das Prinzip sollte selbsterklärend sein, aber ein wenig zur Vorgensweise des Scriptes:
- Die Spalten des Tables werden anhand des <thead>-Tags im Table erkannt. Zugehörig sind dann auch die <th>-Tags darin. Wer jQuery Tablesorter benutzt wird mit Tablesearcher keine Probleme haben.
- Es wird ein Button "Searcher hinzufügen" über dem Table erzeugt.
- Es wird ein Searcher (der Zusammenschluss eines Textfeldes und einer Select-Box) direkt über dem Button erzeugt, wobei die Select-Box die Spaltennamen des Tables enthält.
- Beim Auftreten eines Onchange Events wird der Table durchsucht, und nur die Zeilen, auf die ALLE Searcher zutreffen werden angezeigt.
- Beim Klick auf den Button wird ein neuer Searcher erzeugt.
Die Vorteile liegen ganz klar auf der Hand:
- Keine zusätzlichen Datenbankabfragen
- Sortierung + Suche in einem
- Kein zusätzlicher Query an den Server
Jedoch, kein Vorteil ohne Nachteil:
- JavaScript wird unbedingt benötigt
- Keine Erkennung von Zahlen u.ä.; es wird stur nach Substrings gesucht
- Nach jetzigem (Wissens-)Stand nur 1 Tablesearcher-Table pro Seite möglich
- Tabellenspaltennamen dürfen nicht doppelt vorkommen
Den zweiten Nachteil versuche ich bereits auszumerzen, ich weiß jedoch nicht, ob ich die Zeit und Lust dazu finde, diese Arbeit zu beenden.
Die Verwendung des Plugins ist ziemlich einfach:
Das wars bereits. Mit diesem Befehl wird der Tablesearcher mit Standardparametern erzeugt. Auf zusätzliche Parameter gehe ich in diesem Entwicklungsstadium noch nicht ein, da ich wohlmöglich noch einige hinzufügen werde.Code:jQuery('#meintable').tablesearcher();
Nun zu meiner eigentlichen Frage:
Wer würde sich für ein entsprechendes Addon fürs VMS davon interessieren?
Ich denke da zum Beispiel an Buchungslisten u.ä., bei der man die DB einmal mit meinetwegen 1000 Zeilen belastet und alle anderen Suchen nur über Tablesearcher macht.
Also, nochmal für alle die das bisherige nur überflogen haben:
Plugin verallgemeinern und dann der breiten Öffentlichkeit zur Verfügung stellen, oder besteht gar kein Interesse?
Demo: http://snippets.ad-revolution.com/
Mfg
Sebmaster