Konfiguration der Monitor-Spalten

Die Spaltenkonfiguration am Monitor wird über die Einstellung column_config durchgeführt. Die Einstellung besteht aus einem JSON-Array, in dem für jede Spalte ein Objekt angegeben ist. Das sieht in etwa so aus:

[
	{
		SPALTEN_KONFIGURATION_FUER_SPALTE_1
	},
	{
		SPALTEN_KONFIGURATION_FUER_SPALTE_2
	},
	{
		SPALTEN_KONFIGURATION_FUER_SPALTE_n
	}
]

Die folgenden Spalten-Konfigurationen gelten nur für die Tabelle im Monitor. Sie lassen sich nicht auf die Spalten-Konfigurationen der Tabellen in den Detailansichten anwenden. Für die Spalten-Konfigurationen in den Detailansichten siehe auch: Konfiguration der Monitor-Detailansichten.

Automatische Spaltenkonfiguration

Besteht keine Spaltenkonfiguration, wenn ein Monitor neu angelegt wird, dann wird diese automatisch erstellt. Soll die column_config neu generiert werden, kann dies durch das Speichern eines leeren JSON-Arrays ([]) als Wert für column_config initiiert werden. Alternativ kann die Konfiguration durch die Löschen-Schaltfläche am Zeilenende (mit anschließendem Speichern) zurückgesetzt werden.

Konfiguration einer Spalte

Die Konfiguration einer Spalte ist in einem JSON-Objekt zusammengefasst. Sie kann die folgenden Attribute beinhalten:

Attribut Datentyp Beschreibung

dataIndex

text

Dies ist der Spalten- oder Feldname der Datenquelle, dessen Wert angezeigt werden soll.

Wenn der gleiche dataIndex für mehrere Spalten verwendet wird, sollte auch stateId mit unterschiedlichen Werten gesetzt werden. Dadurch können die Spalten intern unterschieden werden.

text

text

Dies ist die Beschriftung des Spaltenkopfes.

headerIconCls

text

Definiert ein Icon, das im Spaltenkopf dargestellt wird. Es wird eine FontAwesome CSS-Klasse erwartet, z.B. fal fa-table.

hidden

boolean

Steuert die initiale Sichtbarkeit der Spalte. Der Standardwert ist false.

hideable

boolean

Wenn dieser Wert false ist, kann die Sichtbarkeit nicht durch den Anwender verändert werden. Der Standardwert ist true.

width

number

Definiert die Breite der Spalte in Pixel.

Verwenden Sie als Wert eine Zahl ohne Anführungszeichen (z.B. 123) und keinen String (z.B. "123").

xtype

text

Definiert den Spaltentyp. Mögliche Werte sind z.B. datecolumn, bpcCheckColumn, booleancolumn, actioncolumn oder attachmentcolumn. Der Standardwert ist column.

customRenderer

boolean/text

Steuert die Spaltendarstellung bzw. den Renderer. Siehe Renderer (customRenderer).

filter

JSON

Definiert den Filter für die Spalte.

{
    "source": "lowercase",
    "type": "text"
}
source

Die Suche (das Filtern) von Daten geschieht über den Index. Für alle Daten, die in das BPC übernommen werden, werden drei Verfahren angewendet, um Daten in einen Index zu schreiben. Diese drei Verfahren sind für Textinhalte immer verfügbar. Über die filter source wird gesteuert, auf welchen dieser Indizes zurückgegriffen wird.

Hier ist eine kurze Beschreibung der möglichen Werte für source:

  • analysed: Textinformationen werden an Worttrennzeichen (https://unicode.org/reports/tr29/) aufgeteilt und in Kleinbuchstaben umgewandelt.

  • raw: Text wird 1:1 übernommen.

  • lowercase: Text wird in Kleinbuchstaben umgewandelt, aber nicht aufgetrennt.

    Beispiel

    Der Eingangstext ist "Es ist ein schöner Tag.". Die Ergebnisse im Index sind:

  • analysed: "es", "ist", "ein", "schöner", "tag"

  • raw: "Es ist ein schöner Tag."

  • lowercase: "es ist ein schöner tag."

type

Siehe Filtertypen.

Weitere Attribute

Zusätzlich zu den oben genannten Attributen können weitere, spezifischere Attribute konfiguriert werden.

Attribut Datentyp Beschreibung

format

string

Mit diesem Attribut kann die Darstellung von Datums-, Uhrzeit- oder Zahlenwerten angepasst werden. Bedingung: Das Attribut xtype muss auf datecolumn (für Datumsformate) oder numbercolumn (für Zahlenformate) gesetzt sein.

Beispiele
  • Datum: d.m.Y H:i

  • Dezimalzahl: #,###

  • Geldbetrag: #,###.00 €

formatter

string

Dieses Attribut erlaubt die Verwendung einer Methode von Ext.util.Format zur Formatierung des Wertes. .Beispiel

"formatter": "fileSize"

cellWrap

boolean

Erlaubt Textumbrüche (Zeilenumbrüche) in einer Zelle. Als Umbruch gelten <br/>, CR, LF und CRLF. Letztere können mit einer entsprechenden formatter-Funktion in XPath erzeugt werden.

Bedingung: Bei dem Attribut formatter muss nl2br gesetzt sein.

role

string|string[]

Begrenzt die Sichtbarkeit der Spalte auf eine oder mehrere Rollen. Wird eine Liste von Rollen angegeben, muss der aktuelle Anwender mindestens eine der Rollen besitzen. .Beispiel

"role": ["bpcadmin"]

organisation

string|string[]

Begrenzt die Sichtbarkeit der Spalte auf eine oder mehrere Organisationen. Wird eine Liste von Organisationen angegeben, muss der aktuelle Anwender mindestens einer der Organisationen zugeordnet sein. .Beispiel

"organisation": ["banker"]

right

string|string[]

Begrenzt die Sichtbarkeit der Spalte auf ein oder mehrere Rechte. Wird eine Liste von Rechten angegeben, muss der aktuelle Anwender mindestens eines der Rechte besitzen. .Beispiel

"right": ["to_something_right"]

flowId

string

Dies ist die ID der Flow-Komponente, die das System referenziert, das Daten in den Monitor schreibt.

flowId ist bei der Verwendung von "customRenderer": "flow!_!flowRenderer" erforderlich und nur dann notwendig. Dieses Attribut wird üblicherweise in der externalReference-Spalte verwendet.

Beispiel
"flowId": "mein-iguasu"

hideUnknownObjects

boolean

Wenn true, werden unbekannte Objekte, die nicht vom Typ iguasu oder inubit sind, nicht als String angezeigt.

hideUnknownObjects ist optional. Es hat nur Auswirkungen auf die Spalte, wenn "customRenderer": "flow!_!flowRenderer" verwendet wird. Dieses Attribut wird üblicherweise in der externalReference-Spalte verwendet.

linkIcon

string

Definiert das Icon, das neben dem Text angezeigt wird. Der Standardwert ist "x-fal fa-external-link". .Beispiel

"linkIcon": "x-fal fa-fire"

linkIcon ist optional. Es hat nur Auswirkungen auf die Spalte, wenn "customRenderer": "flow!_!flowRenderer" verwendet wird. Dieses Attribut wird üblicherweise in der externalReference-Spalte verwendet. Nutzen Sie "linkIcon": " ", um kein Icon anzuzeigen.

Renderer (customRenderer)

Die folgende Beschreibung bezieht sich auf das Attribut customRenderer in der Spaltenkonfiguration. Es gibt drei verschiedene Konfigurationsmöglichkeiten.

Boolean-Wert

Durch die Angabe von false wird kein Renderer verwendet. Bei true wird in der Konfiguration der Monitor-Komponente (Monitor_CustomRenderer) zuerst nach einem Renderer mit passendem Namen gesucht. Das Matching erfolgt über Renderername = Dataindex der Spalte (Bsp.: PROCESSID = PROCESSID). Der Zweck ist, für verschiedene Werte in derselben Spalte verschiedene Renderer darzustellen. Sollte kein Renderer mit passendem Namen gefunden werden, wird auf den defaultRenderer zugegriffen.

Beispiel für Monitor_ColumnConfig
[
  {
    "filter": {
      "source": "raw",
      "type": "dynamicList"
    },
    "hidden": false,
    "dataIndex": "STATUS",
    "hideable": true,
    "width": 200,
    "customRenderer": true, (1)
    "minWidth": 64,
    "text": "STATUS"
  }
]
1 Boolean-Wert für customRenderer.
Beispiel für Monitor_CustomRenderer
{
  "STATUS": { (1)
    "iconOnly": false,
    "valueMap": {
      "xx": { (2)
        "color": "#cbbc6b",
        "label": "signedxx",
        "iconCls": "fal fa-chevron-circle-right"
      },
      "test": { (3)
        "color": "green",
        "iconCls": "fal fa-star-o"
      },
      "!": { (4)
        "color": "#FF0000",
        "label": "EMPTY FIELD",
        "iconCls": "fal fa-info-circle fa-fw fa-ln"
      },
      "*": { (5)
        "color": "yellow",
        "label": "RENDERED FALLBACK VALUE",
        "iconCls": "fal fa-info-circle fa-fw fa-ln"
      }
    }
  },
  "defaultRenderer": { (6)
    "iconOnly": false,
    "valueMap": {
      "info": {
        "color": "green",
        "label": "INFO",
        "iconCls": "fal fa-info-circle fa-fw fa-ln"
      },
      "debug": {
        "color": "#D49A6A",
        "label": "DEBUG",
        "iconCls": "fal fa-info-circle fa-fw fa-ln"
      }
    }
  }
}
1 Spaltenname.
2 CustomRenderer für den Wert xx.
3 Renderer für den Wert test.
4 Renderer für Felder mit leeren Werten.
5 Fallback-Renderer für alle anderen Werte.
6 Wird verwendet, wenn kein spezifischer Renderer für die Spalte (STATUS) gefunden wird.
  • Refresh nach bearbeiten: Nach Änderung der Konfigurationen sollte der Browser einmal neu geladen werden.

  • Kleinbuchstaben Matching: Der Wert, der beim Matching geprüft wird, sollte kleingeschrieben werden.

  • Renderer für Childlogs: Renderer für die Childlogs verfolgen dieselben Regeln wie die Renderer für Parents. Zu beachten ist, dass die Child-Spalte in der Childlogs-Tabelle genauso heißen sollte wie ihre Parent-Spalte.

Angabe des Render-Namens

Wenn man den Namen des Renderers als String angibt, wird in column_customerRenderer nach einem Renderer mit dem angegebenen Namen gesucht. .Beispiel "customRenderer": "TEST-RENDERER" erwartet einen Eintrag "TEST-RENDERER" in column_customRenderer.

Referenzieren eigener Renderer-Funktionen

Für die Nutzung eigener Renderer-Funktionen muss die Syntax MODUL!_!FUNKTION bei der Konfiguration genutzt werden. Diese Angabe wird in die Form MODUL.Module.FUNKTION() überführt. Diese Funktion wird ausgewertet und es wird die Renderer-Funktion als Rückgabewert erwartet. Um eine eigene Funktion zu nutzen, muss diese beim Aufruf des Monitors bereit geladen sein. Dies kann z.B. durch das Einbinden eines eigenen BPC-Moduls oder der Konfiguration "view_additionalFiles" (siehe Core Services Einstellungen) geschehen.

Beispiel-Konfiguration
"customRenderer": "bpcCustomRenderer!_!uppercase"
Beispiel-Funktion
Ext.define("bpcCustomRenderer.Module", {
    singleton: true,

    uppercase: function () {
        return function (value, meta, record) {
            return String(value).toUpperCase();
        };
    }

});

Wenn kein Renderer definiert ist, wird geprüft, ob die jeweilige Spalte den dataIndex STATUS besitzt. Falls ja, wird der defaultRenderer aus dem Objekt verwendet. Weitere Spaltenkonfigurationsparameter können direkt aus der ExtJS-Dokumentation abgeleitet werden.

Formatter

Die folgende Beschreibung bezieht sich auf das Attribut formatter in der Spaltenkonfiguration.

Translate

Wird in der Spaltenkonfiguration das Attribut formatter auf "translate" gesetzt, werden die Werte dieser Spalte übersetzt, sofern eine entsprechende Übersetzung vorhanden ist.

Beispielkonfiguration
{
    "formatter": "translate",
    "dataIndex": "STATUS",
    "text": "STATUS"
}

Datum

Wird in der Spaltenkonfiguration das Attribut formatter beispielsweise auf "date(Y-m-d)" gesetzt, werden die Werte dieser Spalte im Monitor als Datum im angegebenen Format dargestellt.

Beispielkonfiguration
{
    "formatter": "date(Y-m-d)",
    "dataIndex": "timestamp",
    "text": "Time"
}

Runden

Wird in der Spaltenkonfiguration das Attribut formatter beispielsweise auf "round(2)" gesetzt, so werden die Werte dieser Spalte auf zwei Nachkommastellen gerundet.

Klein-/Großschreibung

Wird in der Spaltenkonfiguration das Attribut formatter beispielsweise auf "lowercase" gesetzt, so werden die Werte dieser Spalte in Kleinbuchstaben dargestellt. Analog funktioniert diese Konfiguration auch mit uppercase.

Lower-Case-Formatter
{
    "formatter": "lowercase"
}
Upper-Case-Formatter
{
    "formatter": "uppercase"
}

Für weitergehende Informationen zu Formatierungen in Monitorspalten, siehe die ExtJS Dokumentation.

Spaltentypen

Der Spaltentyp wird durch die Einstellung des xtype definiert. Ist kein xtype angegeben, handelt es sich um eine einfache Textspalte.

xtype der Spalte Filter.type-Option Beschreibung

attachmentcolumn

Spalte zum Download von Inhalten aus der SQL-Tabelle.

templatecolumn

Eine Spalte, deren Wert im Frontend via JavaScript manipuliert werden kann.

bpcCheckColumn

Checkbox-Spalte.

gridActionColumn

Eine Spalte, die alle ProcessAction-Spalten in einer Spalte kombiniert und einen Button oder Dropdown für diese Aktionen anzeigt.

Template-Spalte (templatecolumn)

Die templatecolumn bietet die Möglichkeit, den Wert der Spalte im Frontend zu modifizieren. Man kann ihn beispielsweise kürzen, umwandeln oder um Werte aus anderen Spalten anreichern. Hiermit kann bspw. eine Hyperlink-Spalte erzeugt werden. Um eine Spalte mit Hyperlink zu erzeugen, kann in der ColumnConfig der Spalte der xtype templatecolumn und das Template tpl definiert werden. Über Platzhalter mit geschweiften Klammern kann auf sämtliche Daten (Spalten) des aktuellen Datensatzes (der aktuellen Zeile) über deren dataIndex zugegriffen werden. Sollen noch Funktionen auf den Wert angewendet werden, müssen innerhalb der geschweiften Klammern zusätzlich eckige Klammern eingefügt werden. In diesem Fall muss den dataIndizes noch values. vorangestellt werden.

Beispiel: Jira-Ticket-Spalte
{
    "text": "Jira-Link",
    "dataIndex": "JIRA",
    "xtype": "templatecolumn",
    "tpl": "<a target=\"_blank\" href=\"{JIRA}\">{[values.JIRA.substr(values.JIRA.lastIndexOf('/') + 1)]}</a>",
    "width": 300,
    "minWidth": 64
}

In diesem Beispiel wird eine Spalte mit dem dataIndex "JIRA" erzeugt, die im OpenSearch einen Jira-Link enthält. Im BPC wird die Spalte mit einem Hyperlink gefüllt, der in einem neuen Fenster (target="_blank") öffnet. Dessen href ist der Wert der Spalte selbst: {JIRA}. Der Text des Links wird mit der JavaScript-Funktion values.JIRA.substr(values.JIRA.lastIndexOf('/') + 1) auf den Substring nach dem letzten Slash gekürzt. Dies wird im Template via {[values.JIRA.substr(values.JIRA.lastIndexOf('/') + 1)]} erreicht.

Filtern von Template-Spalten

Das Filtern einer templatecolumn kann zu unerwartetem Verhalten führen, wenn die Funktionsweise nicht beachtet wird.

Ein Standard-Textfilter (type: "text") filtert immer nur auf den Rohdaten des Feldes, das im dataIndex angegeben ist. Das gerenderte Template wird hierbei nicht berücksichtigt.

Der dynamicList-Filter verhält sich anders: . Er versucht, das Spalten-Template (tpl) auf die Werte in der Vorschlagsliste anzuwenden. . Allerdings hat der Filter-Renderer keinen Zugriff auf den vollständigen Datensatz der Monitorzeile. Er kennt nur den Wert des dataIndex-Feldes (verfügbar als value) und die Anzahl der Vorkommen (count). . Wenn das Spalten-Template auf andere Felder des Datensatzes zugreift (z.B. {PROCESSID}), schlägt das Rendern in der Filter-Vorschlagsliste fehl.

Die Lösung besteht darin, ein separates, angepasstes Template speziell für den Filter zu definieren. Dies geschieht über die Eigenschaft tpl innerhalb der filter-Konfiguration. Dieses Filter-Template kann dann nur auf die verfügbaren Daten (value und count) zugreifen.

Beispiel: Spalten-Template mit separatem Filter-Template
{
    "text": "Ticket",
    "dataIndex": "TICKET_NR",
    "xtype": "templatecolumn",
    "tpl": "<b>Ticket: </b>{TICKET_NR} (ID: {PROCESSID})", (1)
    "filter": {
        "source": "raw",
        "type": "dynamicList",
        "tpl": "<b>Ticket: </b>{value} ({count})", (2)
    }
}
1 Das Spalten-Template greift auf TICKET_NR (aus dataIndex) und PROCESSID (ein anderes Feld im Datensatz) zu.
2 Das Filter-Template kann nur auf value (den Wert von TICKET_NR) und count zugreifen. Der Zugriff auf PROCESSID wäre hier nicht möglich.

Datums-Spalte (datecolumn)

Bei diesem Spaltentyp wird versucht, den Wert der Spalte als Datum zu interpretieren und formatiert darzustellen. Das Datumsformat kann über das Attribut format gesteuert werden. Die Syntax für das Format ist in der ExtJS Dokumentation zu finden. Wird an der Spalte kein Format angegeben, so wird das Datumsformat der Monitorinstanz verwendet.

Prozess-Aktions-Spalte (gridActionColumn)

Sind in einem Monitor Aktions-Spalten konfiguriert, die durch die Toolbar oder das Kontextmenü ausgeführt werden können, so ist es möglich, durch das Hinzufügen dieser Spalte pro Zeile einen Aktions-Button zu erzeugen. Mehrere Aktions-Spalten und auch mehrere Einträge von Aktionen in einer Spalte werden in einem Dropdown zusammengefasst. Die Anzahl der Aktionen wird auf dem Button angezeigt. Ist nur eine Aktion vorhanden, kann die Aktion direkt durch Klick auf den Button gestartet werden. Die Spalte kann den zusätzlichen Parameter showIconOnly entgegennehmen, der true oder false als Wert akzeptiert. Damit kann gesteuert werden, ob der Button pro Spalte den vollen Text anzeigt oder nur das Icon und die Anzahl an verfügbaren Aktionen. Der Standardwert ist false.

ShowIconOnly: false
Abbildung 1. showIconOnly: false
{
    "dataIndex": "Action",
    "xtype": "gridActionColumn",
    "showIconOnly": false
}
ShowIconOnly: true
Abbildung 2. showIconOnly: true
{
    "dataIndex": "Action",
    "xtype": "gridActionColumn",
    "showIconOnly": true
}

Anhang-Spalte (attachmentcolumn)

Dieser Spaltentyp kann verwendet werden, um direkt einen Download-Button für Spalten anzubieten, die eine Datei enthalten.
Es werden folgende Monitoreinstellungen verwendet.

  • inubit_baseUrl

  • inubit_referenceEndpoint

  • inubit_proxyId

  • column_id

  • column_file

Beispiel
{
    "filter": {
        "source": "raw",
        "type": "text"
    },
    "xtype": "attachmentcolumn",
    "hidden": false,
    "dataIndex": "REFFILE",
    "hideable": true,
    "width": 200,
    "customRenderer": false,
    "minWidth": 64,
    "text": "REFFILE"
}

Checkbox-Spalte (bpcCheckColumn)

Es ist möglich, eine Spalte für Wahrheitswerte zu definieren, die eine Checkbox anstelle des Wertes darstellt. Die Werte für "wahr" sind:

  • true

  • 'true'

  • 1

  • '1'

  • 'ja'

Um einen entsprechenden Filter für die Spalte zu nutzen, muss type innerhalb von filter auf 'check' gesetzt werden.

Beispiel
{
  "filter": {
    "source": "raw",
    "type": "check"
  },
  "xtype": "bpcCheckColumn",
  "hidden": false,
  "dataIndex": "CHECKBOX",
  "hideable": true,
  "width": 200,
  "customRenderer": false,
  "minWidth": 64,
  "text": "CHECKBOX"
}

columncheck false

columncheck true

Sprung-Spalte (bpcModuleJumpColumn)

Um aus dem Monitor heraus zu einem anderen Modul (z.B. einem weiteren Monitor) springen zu können, muss in der column_config eine zusätzliche Spalte mit dem xtype bpcModuleJumpColumn eingefügt werden. In dieser wird die ID des Zielmoduls unter targetModule eingetragen. Die Spalte wird dann mit einem Icon in jeder Zeile des Monitors angezeigt. Durch Klicken auf das Icon wird der Sprung ausgeführt.

JumpColumn
Abbildung 3. Monitor mit Sprungspalte

Außerdem besteht die Möglichkeit, den Sprung zum Zielmodul über das Kontextmenü auszulösen. Im Kontextmenü kann das Öffnen des Zielmoduls in drei verschiedenen Modi ausgeführt werden:

  • Im neuen Tab öffnen: Das Zielmodul wird in einem neuen Tab geöffnet.

  • In diesem Tab öffnen: Das Zielmodul wird im gleichen Tab geöffnet.

  • URL kopieren: Die URL des Zielmoduls wird in die Zwischenablage kopiert.

Es besteht die Möglichkeit, die Sprungoptionen Im neuen Tab öffnen und URL kopieren zu deaktivieren. Siehe auch [jumpMenuDisableOptions].

JumpColumn - Kontextmenü
Abbildung 4. Monitor mit Sprungspalte und geöffnetem Kontextmenü

Werden sourceColumn und targetColumn angegeben, wird beim Sprung der aktuelle Wert aus der sourceColumn als Filter im Zielmonitor an der Spalte targetColumn gesetzt.

Ausschnitt aus column_config
 {
    "targetModule": "auditlog",
    "xtype": "bpcModuleJumpColumn",
    "dataIndex": "text",
    "targetColumn": "action",
    "width": 300,
    "text": "Sprung zum Auditlog",
    "sourceColumn": "auditlog_action"
  }

Konfigurationsparameter

Name Beispielwert Beschreibung

xtype

bpcModuleJumpColumn

Diese Angabe ist zwingend notwendig für den Einsatz der Sprungspalte.

dataIndex

PROCESSID

Bezug zum Datenfeld der Datenquelle. Enthält das Feld im aktuellen Datensatz (Zeile) keinen Wert, wird auch kein Link bereitgestellt. Dieser Wert ist häufig identisch mit sourceColumn.

stateId

jumpPROCESSID

Sollte eindeutig gesetzt werden, wenn dataIndex mehrfach vorkommt (z.B. weil auch noch eine normale Spalte mit dem gleichen dataIndex verwendet wird).

targetModule

4711

ID des Moduls, das angesprungen werden soll. Kann auch die ID des Ausgangsmonitors sein, wenn die aktuelle Ansicht gefiltert werden soll.

targetColumn

PROCESSID

Angabe des Datenfeldes, das im Zielmonitor gefiltert werden soll.

targetRoute

"optional/route"

Wird an die URL-Route des Zielmoduls angehängt und kann vom Modul separat ausgewertet werden.

targetConfig

{"viewId":"allView"}

Optionale JSON-Konfiguration, die dem Zielmodul übergeben wird.

sourceColumn

PROCESSID

Angabe des Datenfeldes, dessen Wert für den Filter des Zielmonitors genutzt wird. Dieser Wert ist häufig identisch mit dataIndex.

showIcon

false

Gibt an, ob in der Zelle ein Link-Icon dargestellt werden soll. Standard: true.

showValue

false

Gibt an, ob in der Zelle der aktuelle Wert (siehe dataIndex) angezeigt werden soll. Standard: true.

filterOperation

=*

Operator für den Filter am Zielmonitor. Standard: =.

filterSourceType

analyzed, lowercase

Angabe des Datentyps, auf den gefiltert werden soll. Standard: raw.

filterType

date, dynamiclist

Angabe des Filtertyps, der gesetzt werden soll. Standard: text.

forceNewInstance

true

Wenn dieser Wert true ist, wird das Zielmodul immer neu erstellt, auch wenn dieses bereits angezeigt wurde. Standard: false.

jumpParamFn

proxy.bpc-proxy

Name der Funktion, die die Parameter des Sprunges aufarbeiten soll. Der zurückgegebene Wert darf keine zirkulären Referenzen enthalten. Muss vom Zielmodul unterstützt werden.

vamLinkType

customIds

Für Zielmodul "Data Management". Der Spalteninhalt wird als id (bei assets) oder customId (bei customIds) interpretiert. Standard: assets.

vamTemplateCustomId

ZAEHLPUNKT

Für Zielmodul "Data Management". Bei vamLinkType=customIds wird zur Ermittlung der Assets auf dieses VAM-Template gefiltert. Dadurch werden zufällige zusätzliche Treffer vermieden.

urlTpl

&KEY={SPALTENNAME}

Nur für Zielmodul "External Content". Ein Template, das mit dem aktuellen Datensatz ausgewertet wird. Das Ergebnis wird der URL des "External Content"-Moduls angefügt.

text

Link

Beschriftung des Spaltenkopfes.

headerIconCls

x-fal fa-table

Icon, das im Spaltenkopf dargestellt wird.

filter

Weglassen oder 'filter: false' angeben, damit kein Filter verwendet wird.

iconCls

x-fal fa-table

Icon, das in der Zelle dargestellt wird. Standard: x-fal fa-external-link.

separator

,

Trennt die Zeichenkette am Separator auf und erzeugt einzelne Links. In diesem Fall wird sourceColumn ignoriert und die Einzelwerte werden übergeben. Standard: "".

openNewTab

true

Öffnet das Zielmodul in einem neuen Tab. Standard: false.

jumpMenuDisableOptions

false

Deaktiviert die erweiterten Sprungoptionen im Kontextmenü.

jumpMenuIconCls

Icon, das im Menüelement der Sprungspalte dargestellt wird.

jumpMenuText

Text, der im Menüelement der Sprungspalte dargestellt wird. Es kann ein Template verwendet werden. Damit können Attribute der Spaltenkonfiguration, der Wert der Quellspalte und Übersetzungen mit statischen Inhalten beliebig kombiniert werden.

+ .Beispiel Monitor: {column.targetModule} - {translate:translate('MONITOR_TARGET_FILTER')}: {value}

+ Unter der Annahme, dass der Spaltenwert login ist und targetModule mit auditlog konfiguriert ist, kommt bei deutscher Oberfläche folgendes Ergebnis zustande: Monitor: auditlog - Zielfilter: login.

Sprung zum "External Content" Modul

Jump zu External Content

Sprungspalte für Data-Management konfigurieren

Sprünge aus einem Monitor in ein Artefakt im Data-Management sind über deren Anzeigenamen oder deren technische IDs (assets) möglich. Hierbei ist zu beachten, dass der Anzeigename ein Konfigurationsdetail des Data-Managements ist. Wenn der Anzeigename für die Verlinkung ausgewählt und später geändert wird, führt dies zu Problemen bei den darauf konfigurierten Sprungspalten. Um dies zu verhindern, könnte der Anzeigename im Data-Management als unveränderbar markiert werden. Wie der Anzeigename aussieht, kann direkt im Data-Management in der Spalte "Anzeigename" nachgeschaut werden.

Ein zweiter Weg ist die Konfiguration über assets, wie im Bild dargestellt. Hierfür muss vamLinkType auf assets gesetzt werden. Wo assets zu finden sind, ist ebenfalls im Bild zu sehen. In diesem Fall wird das Data Management-Artefakt verlinkt, dessen technische ID mit dem Wert im Monitor übereinstimmt.

Jump zu Data Management

Filtertypen

Jede Spalte sollte eine Konfiguration für den Filter im Monitor enthalten. Diese enthält mindestens das Attribut type und davon abhängig auch das Attribut source. Weitere Attribute können je nach Filtertyp hinzukommen. Das Attribut type gibt den zu verwendenden Filter an. Diese Filter werden im Folgenden einzeln beschrieben. Der Typ des Filters ist nicht zwingend an den Daten- oder Spaltentyp gebunden, jedoch sind nicht alle Kombinationen sinnvoll.

Um den Filter für eine Spalte zu deaktivieren, kann das Attribut filter in der Spaltenkonfiguration weggelassen werden. Alternativ kann unterhalb von filter der type auf false gesetzt werden.

Renderer in Filtern

Wurde ein CustomRenderer für eine Spalte definiert, wird dieser auch bei der Vorschlagsliste am Filterfeld angewendet.

Renderer mit Ursprungswert

Dabei wird erst der gerenderte Wert angezeigt, anschließend der Ursprungswert in Klammern und am Ende, falls bekannt, die Anzahl der Datensätze mit diesem Wert. Soll der Ursprungswert nicht angezeigt werden, kann dieser mit der Angabe "hideRawValue": true in der Filterkonfiguration ausgeblendet werden.

Renderer ohne Ursprungswert

Textfilter (type = text)

Bei diesem Filter ist die Eingabe von beliebigem Text zum Filtern möglich.

Listenfilter (type = dynamiclist)

Der dynamicList-Filter erlaubt es dem Benutzer, Filterwerte aus einer automatisch generierten Liste zu setzen. Die Liste wird aus allen im Monitor verfügbaren Werten dieser Spalte zusammengesetzt. Für den Fall, dass diese Ergebnisliste nicht vollständig ist, wird eine Warnung mit der Anzahl der nicht angezeigten Werte angezeigt. Falls alle Werte angezeigt werden sollen, kann der Filter entweder auf remote gesetzt oder der maxQuerySize-Parameter erhöht werden.

Dieser Filtertyp kann nur mit source: "lowercase" oder source: "raw" verwendet werden.

dynamicList

Lokaler Filter (Standard)

Um diesen Filter zu verwenden, muss der Parameter queryMode weggelassen oder auf local gesetzt werden. Beim Öffnen des Filterfeldes wird die Ergebnisliste einmalig geladen. Standardmäßig werden nur die ersten 100 eindeutigen Werte und deren gerenderte Darstellungen berücksichtigt. Die Länge der Ergebnisliste kann jedoch durch den maxQuerySize-Parameter gesteuert werden (Maximum: 1000). Sollte die Vorschlagsliste mehr Werte berücksichtigen (z.B. 250), sollte folgende Einstellung gesetzt werden:

{
    "filter": {
      "type": "dynamiclist",
      "fieldConfig": {
        "queryMode": "local",
        "maxQuerySize" : 250
      }
    }
  }

Dies führt jedoch dazu, dass beim Tippen von Text keine Vorschläge mehr auf Basis der gerenderten Werte erfolgen, sondern nur anhand der Rohwerte in der zugrunde liegenden Datenbank.

Remote Filter

Um diesen Filter zu verwenden, muss der Parameter queryMode auf remote gesetzt werden. Nach dem Öffnen des Filterfeldes wird die Ergebnisliste jedes Mal neu geladen, wenn in das Filterfeld getippt wird. Standardmäßig werden nur die ersten 100 eindeutigen Werte und deren gerenderte Darstellungen berücksichtigt. Die Länge der Ergebnisliste kann durch den maxQuerySize-Parameter gesteuert werden (Maximum: 1000). Sollte die Vorschlagsliste mehr Werte berücksichtigen (z.B. 250), sollte folgende Einstellung gesetzt werden:

{
    "filter": {
      "type": "dynamiclist",
      "fieldConfig": {
        "queryMode": "remote",
        "maxQuerySize" : 250
      }
    }
  }

Zeitraumfilter (type = daterange)

Dieser Filter bietet eine Auswahlkomponente für absolute und relative Zeiträume. Die Schnellauswahl der gleitenden Zeiträume kann über den Konfigurationsparameter dateRange_favorites konfiguriert werden. Über die fieldConfig an den Spalten kann die Komponente bei Bedarf angepasst werden.

Beispielkonfiguration mit Standard-Start/Endzeit
{
    "filter": {
      "source": "raw",
      "fieldConfig": {
        "absoluteDefaultStartTime":"00:00:00",
        "absoluteDefaultEndTime":"23:59:59"
      },
      "type": "daterange"
    },
    "xtype": "datecolumn",
    "hidden": false,
    "dataIndex": "timestampUTC",
    "hideable": true,
    "width": 200,
    "customRenderer": false,
    "localized": {
      "text": "CORE_TIME"
    },
    "minWidth": 64
  }
monitor custom renderer daterange filter 01
monitor custom renderer daterange filter 02
monitor custom renderer daterange filter 03

Numerischer Filter (type = number)

Dieser Filter ermöglicht das Filtern mit numerischen Werten. Der Standard-Operator kann in der ColumnConfig definiert werden. Wenn keiner definiert ist, ist = der Standard-Operator. Über das Spalten-Menü kann zusätzlich der Operator (>, <, =, ⇐, >=) festgelegt werden.

{
    "filter": {
      "type": "number",
      "operator": ">"
    }
  }

JSON-Filter (type = json)

Ermöglicht das Filtern in strukturierten Daten. Er ermöglicht es, mehrere Filterkriterien für eine einzige Spalte zu kombinieren.

{
    "filter": {
      (...)
      "type": "json"
    },
    (...)
  },

Keywords: