Tabellen

Indikatoren

Geschätzte Lektüre: 4 Minuten

Mit Hilfe von Indikatorregeln lassen einzelne oder mehrere Datensätze einer Tabelle in der Listendarstellung visuell hervorheben. Dazu gibt es die folgenden drei Möglichkeiten, die einzeln oder in Kombination auf einen Datensatz bzw. einer Tabellenzeile angewandt werden können:

  • Hervorhebung eines Datensatzes durch eine abweichende Zeilen-Hintergundfarbe in der Tabellenliste (color)
  • Einblenden eines Hinweis-Textes, wenn der Mauszeiger für kurze Zeit auf einem Datensatz bzw. einer Zeile der Tabellenliste belassen wird (title)
  • Einfügen einer Grafik oder eines Textes vor der Zeile in der Tabellenliste (object)

Indikatoren können für eine Tabelle über die Tabellen-Einstellungen oder für einzelne Gruppen über die Tabellenrechte eingerichtet werden. Dabei überschreibt eine vorhandene Gruppeneinstellung die globale Tabelleneinstellung. Man findet die Indikatorregel jeweils bei der Ampel.

Indikatorregeln müssen in einer PHP-Funktion in der Erweiterungsdatei ./dependent/EXTENSIONS/ext_gtab.inc oder in einer globalen Erweiterungsdatei definiert werden. Falls einer Tabelle zugewiesen, wird die PHP-Funktion für jeden Datensatz einmal durchlaufen.

Indikatorregeln werden auch auf den Kalender übertragen. Somit können Termine mit unterschiedlichen Hintergrundfarben oder eigenen Symbolen ergänzt werden.

PHP-Funktion zur Definition von Indikatorregeln

  • beliebiger Funktionsname
  • folgende Übergabeparameter werden benötigt, um Indikatoren sinnvoll definieren zu können:
    • Tabellen-ID (in der Beispielfunktion: $gtabid)
    • Datensatz-ID der Tabelle (in der Beispielfunktion: $i)
    • Array mit allen Datensätzen der Tabelle (in der Beispielfunktion: $gresult)
  • Return-Wert „false“ blendet den Datensatz in der Listendarstellung der Tabelle aus. Bei der Anzahl der gefundenen Datensätze wird dieser trotzdem berücksicht, auch wird er in der Details- sowie Bearbeitungsansicht beim Vor- oder Zurückblättern angezeigt.
  • Optionale Spaltenüberschrift:
    $gresult[$gtabid][„header„] = ‚text‘;
  • Optionale Spaltenbreite:
    $gresult[$gtabid][„width„] = 100;
  • Zeilen-Hintergrundfarbe verwenden durch Setzen eines RGB-Werts im wie folgt indizierten Datensatz-Array (Variablennamen entsprechend der Beispielfunktion). Falls das Array mehr als 1 Wert besitzt wird versucht die Farbe über eine average_color Funktion zu ermitteln:
    $gresult[$gtabid][„indicator“][„color„][$i][1] = $RGB;
  • CSS-Klasse für die Ergebnis-Zeile:
    $gresult[$gtabid][„indicator“][„class„][$i] = „my-css-class-to-indicate-something“;
  • Hinweis-Text verwenden durch Setzen eines Textes im wie folgt indizierten Datensatz-Array (Variablennamen entsprechend der Beispielfunktion). Falls das Array mehr als 1 Wert besitzt werden die Titel mit Komma getrennt verkettet:
    $gresult[$gtabid][„indicator“][„title„][$i][1] = $text1;
    $gresult[$gtabid][„indicator“][„title“][$i][2] = $text2;

    Mehrere Texte werden entsprechend der Reihenfolge in der Funktion im Hinweis aneinander gehängt.
  • Attribute für die Ergebnis-Zeile:
    $gresult[$gtabid][„indicator“][„attribute„][$i] = „my-attribute-to-indicate-something“;
  • Grafik oder Text vor der Tabellen-Zeile einfügen durch Setzen eines Textes oder einer Grafik im wie folgt indizierten Datensatz-Array (Variablennamen entsprechend der Beispielfunktion). Falls das Array mehr als 1 Wert werden die Objekte mit Leerzeichen getrennt verkettet:
    $gresult[$gtabid][„indicator“][„object„][$i][2] = $grafik;
    $gresult[$gtabid][„indicator“][„object“][$i][6] = $text;

    Mehrere Texte/Grafiken werden entsprechend der Reihenfolge in der Funktion vor dem eigentlichen Datensatz angezeigt. Um eine übersichtliche Darstellung der Tabelle zu erhalten, können Objekte in fester Breite aufgeteilt werden.
  • Das zu öffnende Formular bei Doppelklick auf die Datensatzzeile (Variablennamen entsprechend der Beispielfunktion):
    $gresult[$gtabid][„indicator“][„form_id„][$i] = 10;

Initialisiert wird der Indikator über die Gruppen Tabellenrechte oder in den Tabelleneigenschaften. Pro Tabelle kann eine eigene Funktion über das Formularfeld „Indikatorregel“ definiert werden.

return extIndicatorSample($gtabid,$i,$gresult);
Share this Doc

Indikatoren

Or copy link

CONTENTS