Grid-Toolbar & das Menü "Weitere Optionen"
Die Toolbar des Grids und ihr "⋯ Weitere Optionen"-Menü, das mehrere clientseitige Anzeigesteuerungen hinter einer einzigen Schaltfläche bündelt.
Überblick
Der größte Teil der Grid-Toolbar - Hinzufügen, Gruppierung, Suche, das Panel für die erweiterte Filterung - wird direkt von den in PHP aufgerufenen Methoden gesteuert. Einige Steuerelemente sind anders: Es sind reine clientseitige Umschalter, die ein Besucher nach Belieben im eigenen Browser ändert, unabhängig von Ihrer PHP-Konfiguration (auch wenn manche trotzdem einen Konfigurationsschalter benötigen, damit sie überhaupt vorhanden sind). Diese verstecken sich hinter der Schaltfläche "⋯ Weitere Optionen", damit die primäre Toolbar nicht überladen wirkt. Das Menü zeigt nur Abschnitte, die für die aktuelle Seite tatsächlich relevant sind - eine Seite ohne group_by_columns()-Aufruf zeigt beispielsweise nie einen Gruppierungsabschnitt.
Umschalter für Spaltensichtbarkeit
Erlaubt einem Besucher, einzelne Grid-Spalten nach Belieben ein-/auszublenden, unabhängig davon, was columns() für die Seite konfiguriert hat. Er wird über einen einzigen site-weiten Konfigurationsschalter gesteuert, ohne Override pro Seite:
public static bool $columnVisibilityToggle = true;
Wenn aktiviert (Standard), erhält jedes Grid einen Abschnitt "Spalten" im Menü "Weitere Optionen" mit einer Checkbox pro Spalte; das Deaktivieren einer Checkbox entfernt sie sofort, clientseitig, aus Kopfzeile/Inhalt/Summenfußzeile. Die Wahl wird für die aktuelle Browsersitzung gemerkt, bleibt aber nicht über Tage oder Geräte hinweg erhalten. Es gibt keinen XcrudConfig-artigen Aufruf pro Seite, um eine einzelne Tabelle gezielt ein- oder auszuschließen - er ist entweder für jedes Grid an oder für alle aus.
Gruppen alle auf-/zuklappen
Erscheint nur, sobald eine Seite group_by_columns() aufruft (siehe https://xcrudnova.xcrud.net/docs/de/grouped-rows-sums-and-reports). Das Menü zeigt einen einzigen Umschalter, der alle Gruppen auf einmal aufklappt oder alle zuklappt - eine Abkürzung gegenüber dem einzelnen Anklicken jeder Gruppenüberschrift.
Formularlayout-/Bearbeitungsmodus-Auswahl
Die gleiche Bearbeitungsmodus-Auswahl, die in Formularlayout-Optionen beschrieben ist, ist auch über dieses Menü erreichbar - so gelangt ein Besucher zu den beiden reinen JS-Split-View-Modi (split_left/split_right), die set_edit_mode() selbst nicht setzen kann. Das Menü listet alle fünf auf: Seitenansicht, Split-Ansicht links, Split-Ansicht rechts, Modal und Normal. Die Auswahl greift sofort - selbst ein bereits geöffnetes Formular wird im neuen Modus neu geöffnet, statt auf ein Neuladen zu warten.
Suchfelder in Grid-Kopfzeilen anzeigen
Schaltet die Spalten-Suchfelder in der Kopfzeile (die Reihe kleiner Textfelder unter den Spaltenüberschriften) ein oder aus. Standardmäßig sichtbar; die Wahl eines Besuchers wird hier genauso pro Browsersitzung gemerkt wie beim Umschalter für die Spaltensichtbarkeit.
Verwandt: Inline-Klick-zum-Bearbeiten
Nicht Teil des Menüs "Weitere Optionen" selbst, aber toolbar-nah: Ein direkter Klick auf eine Grid-Zelle bearbeitet dieses Feld an Ort und Stelle, ohne das vollständige Hinzufügen-/Bearbeiten-Formular zu öffnen. Es funktioniert zusammen mit dem jeweils aktiven Bearbeitungsmodus und benötigt keine zusätzliche Konfiguration - es ist Teil des grundlegenden Grid-Verhaltens.
Was konfigurationsgesteuert ist vs. ein reiner Client-Umschalter
| Funktion | Konfigurationsgesteuert? | Override pro Seite? |
|---|---|---|
| Umschalter für Spaltensichtbarkeit | Ja - XcrudConfig::$columnVisibilityToggle | Nein - nur site-weit |
| Gruppen alle auf-/zuklappen | Erscheint automatisch, sobald group_by_columns() gesetzt ist | Entfällt |
| Formularlayout-/Bearbeitungsmodus-Auswahl | Anfangsmodus über set_edit_mode() | Ja, pro Seite; der Besucher kann ihn trotzdem live ändern |
| Suchfelder in Grid-Kopfzeilen anzeigen | Nein - reiner Client-Umschalter | Entfällt (sitzungsbasiert gemerkt) |
| Inline-Klick-zum-Bearbeiten | Nein - immer verfügbar | Entfällt |