Konfiguration mehrerer Grids/Sichten

Diese Seite erläutert die Möglichkeit, mehrere tabellarische Ansichten in einem Monitor zu konfigurieren. Die Sichten basieren dabei auf demselben Datenbestand, dem konfigurierten Index des Monitors. Sie können jedoch über Filter z.B. anhand von logischen Regeln oder Rechten eingeschränkt werden.

Um mehrere Ansichten für einen Monitor zu aktivieren, muss der Konfiguration Parameter function_gridMultipleViews auf true gesetzt werden.

Alle weiteren Funktionen werden dann über den Parameter function_gridMultipleViewsConfig gesteuert.

Multiple Grids Konfiguration

Das JSON-Objekt function_gridMultipleViewsConfig enthält alle Einstellungen für die Darstellung und den Inhalt der Ansichten. Auf der obersten Ebene dieses Objekts können Sie das allgemeine Verhalten der Tabs steuern.

  • tabPosition
    Bestimmt die Position der Tab-Leiste (mögliche Werte: top (Default), bottom, left, right) (optional).

  • tabRotation
    Definiert die Textausrichtung der Tabs, was besonders bei seitlicher Platzierung hilfreich ist (mögliche Werte: default (automatische Rotation), 0 (keine Rotation, Default), 1 (Rotation um 90 Grad im Uhrzeigersinn), 2 (Rotation um 90 Grad gegen den Uhrzeigersinn)) (optional).

  • views
    Enthält die Liste an Ansichten.
    Siehe Eigenschaften einer Ansicht definieren

  • defaultView
    Die initiale Ansicht, die immer zuerst angezeigt wird (optional).
    Siehe Initiale Ansicht festlegen

Eigenschaften einer Ansicht definieren

Die eigentlichen Ansichten werden in der Konfiguration als Array unter dem Schlüssel views aufgelistet. Jede dieser Ansichten kann die folgenden Eigenschaften besitzen:

  • id
    Eindeutige ID für die Ansicht.
    Wird für die Referenzierung der Ansicht z. B. in einem Dashboard-Widget verwendet.

  • title
    Wird als Titel im Tab oder im Header verwendet (optional, wenn iconCls gesetzt ist).
    Unterstützt HTML, bspw.: "<span class='x-fal fa-info-circle' style='color:green'></span> INFO" für farbige Icons.

  • iconCls
    Ergänzt den Titel im Tab um ein FontAwesome-Icon (optional, wenn title gesetzt ist).

  • filter
    Schränkt die angezeigten Monitordaten in dieser spezifischen Ansicht ein (optional).

  • organisation
    Beschränkt die Sichtbarkeit dieses Tabs auf bestimmte Organisationen (optional).

  • role
    Beschränkt die Sichtbarkeit dieses Tabs auf bestimmte Rollen (optional).

  • right
    Beschränkt die Sichtbarkeit dieses Tabs auf bestimmte Rechte (optional).

  • margin
    Definiert den Außenabstand der Tabelle zum Rand, z. B. 10 10 10 10 (optional).

  • hideColumnHeaders
    Blendet die Spaltenüberschriften der Tabelle aus, wenn der Wert auf true gesetzt wird (optional).

Beispiel einer Konfiguration

{
  "tabPosition": "left",
  "tabRotation": "default",
  "views": [
    {
      "filter": {
        "bool": {
          "must_not": [],
          "should": [],
          "must": [
            {
              "match_all": {}
            }
          ]
        }
      },
      "id": "allView",
      "title": "Gesamtansicht",
      "iconCls": "x-fal fa-list",
      "margin": "10 10 10 10",
      "hideColumnHeaders": false
    },
    {
      "filter": {
        "bool": {
          "must_not": [
            {
              "match_all": {}
            }
          ],
          "should": [],
          "must": []
        }
      },
      "id": "noView",
      "role": [
        "bpcadmin"
      ],
      "title": "Leer",
      "hideColumnHeaders": true
    }
  ]
}

Initiale Ansicht festlegen

Wenn nicht anders angegeben, wird die erste Ansicht immer zuerst angezeigt. Um das Verhalten zu ändern, ist innerhalb von function_gridMultipleViewsConfig eine Standardansicht (defaultView) anzugeben. Diese kann direkt auf eine ID einer View verweisen oder über Organisationen/Rollen/Rechte des Benutzers gesteuert werden.

Referenzierung einer Ansicht

{
  (...),
  "defaultView": "allView",
  "views": [
    {
      "filter": {},
      "id": "allView",
      "title": "Gesamtansicht"
    }
  ]
}

Ansicht nach Organisationen/Rollen/Rechte

Bei Angaben von Organisationen/Rollen/Rechte wird der erste für den aktuellen Benutzer passende Eintrag gesucht. Dabei wird folgende Reihenfolge abgeprüft: Organisationen → Rollen → Rechte. Wenn kein passender Eintrag gefunden wird, wird die erste definierte Ansicht verwendet.

Beispiel
{
  "defaultView": {
    "organisation": {
      "orgX": "allView",
      "orgY": "noView"
    },
    "role": {
      "bpcadmin": "noView"
    },
    "right": {
      "right1": "allView"
    }
  },
  (...)
}

Keywords: