In einer Tabelle dargestellte Links können individuell Konfiguriert werden um Ihre Funktion und Darstellung zu beeinflussen. Hierzu können jeder Spalte einer Tabelle in der JSON-Datei Eigenschaften festgelegt werden. 

Sobald eine Spalte dem Typ „genLink" zugeordnet ist, werden die Inhalte dieser Spalte als Link dargestellt.

Eine Spalte mit dem Typ Link definieren

<cols>
    <list>
        <field>Link_Field</field>
        <title>Spalte mit Links</title>
        <type>genLink</type>
        <link>
            <url>name_of_view</url>
            <label>EquipmentNo</label>
            <icon>fa-home</icon>
            <result>true</result>
            <appendAllUrlParams>false</appendAllUrlParams>
            <linkparams>
                <list>
                    <searchfield>issueid</searchfield>
                    <search>
                        <list>Issue_ID</list>
                        <list>Konstante</list>
                    </search>
                </list>
                <list>
                    <searchfield>equi</searchfield>
                    <search>
                        <list>EquipmentNo</list>
                    </search>
                </list>
            </linkparams>
            <extern>true</extern>
        </link>
        <show>true</show>
    </list>
</cols>
"type": "genLink",
"link": {
    "url": "name_of_view",
    "label": "EquipmentNo",
    "icon": "fa-home",
    "result": "true",
    "appendAllUrlParams": "false",
    "linkparams": [
        {"searchfield": "issueid", "search": ["Issue_ID", "Konstante"]},
        {"searchfield": "equi", "search": ["EquipmentNo"]},
        ...
    ],
    "extern": true
},
"show": true


Feld

Typ / Werte

Beschreibung

Default
urlStringHier wird der Pfad eingetragen, zu welchem verlinkt werden soll. Hier kann eine statische URL oder ein Verweis auf eine Tabellenspalte angegeben werden.
labelString

Dient der individuellen Darstellung des Links.
Die Darstellung kann eine feste Zeichenkette oder ein Verweis auf ein Tabellenfeld sein.

Siehe: Konstante, Tabellenfeld

Der Wert des Aktuellen Tabellenfeldes
iconString

Mithilfe des Feld icon kann ein Symbol an dem Link angezeigt werden.
Die Symbole werden von Font-Awesome genutzt. Für die Verwendung muss lediglich der Name der CSS Klasse des Symbols eingetragen werden.

Siehe: https://fontawesome.com/v4.7.0/icons/

Derzeit sind nur die Symbole von Font-Awesome aus Version 4.7 verfügbar. Ggf. sind einige der mit Version 5 neu hinzugefügten Symbole noch nicht nutzbar.

resulttrueMit dem Feld result kann definiert werden, dass der Link als Button dargestellt werden soll.false
false
linkparamsArrayJedes Objekt im Array steht für einen Link-Parameter.
Dieser besteht aus searchfield und search und kann individuell konfiguriert werden.

linkparams → searchfieldStringName des Parameters. Mit diesem Namen wird der Parameter als URL-Parameter in die URL geschrieben.

linkparams → searchArray von Strings

In der Liste können die verschiedenen Quellen oder auch konstante Werte eingefügt werden.
Diese werden konkateniert als Wert an den URL-Parameter geschrieben.

Mit einem Präfix kann die Verarbeitung des Wertes bestimmt werden.

Siehe: Präfix.


linkparams → separatorStringHiermit kann ein eigener Parameter konfiguriert werden, mit dem dieser URL-Parameter von den anderen getrennt wird.&
linkparams → tokenStringHiermit kann ein eigener Parameter konfiguriert werden, mit dem der Name dieses URL-Parameters von seinem zugewiesenen Wert getrennt wird.=
linkparams → noseparatortrueDas Trennzeichen wird unterdrückt. Dadurch wird dieser URL-Parameter ohne Trennzeichen an die URL übergebenfalse
falseDas Trennzeichen wird zur Trennung des URL-Parameters von anderen URL-Parametern verwendet.
linkparams → notokentrueDer Token wird unterdrückt. Dadurch wird der Name dieses URL-Parameters von seinem zugewiesenen Wert nicht durch ein token getrennt.false
falseDer Token wird zur Trennung des Namen dieses URL-Parameters von seinem zugewiesenen Wert verwendet.
appendAllUrlParamstrue

Alle aktuell in der URL enthalten URL-Parameter werden an die verlinkte view weitergegeben.

Parameter, die in linkparams angegeben sind werden hinzugefügt.

Falls ein Parameter in linkparams und in der aktuellen URL vorhanden ist, wird der Wert aus den linkparams übernommen.

Die Konfigurationen durch die Felder Separator, token, noseparator und notoken werden ignoriert.

false

false

Die in linkparams konfigurierten Parameter, werden an die URL übergeben.
In dem Fall, dass der Link auf das aktuelle Dashboard verweist, werden alle zu dem Zeitpunkt gesetzten URL-Parameter überschrieben.

extern

true

Der Link wird in einem neuem Tab geöffnet.
Dabei wird kein TabExchange durchgeführt.

Mit dieser Einstellung muss die angegebene URL ein absoluter Pfad sein.
Hierbei muss der URL der Präfixe "http://" für Webseiten oder "\\" für Netzwerkfreigaben vorangestellt sein.

false
false

Der Link wird standardmäßig im aktuellen Tab geöffnet. Durch einen Klick auf das Mausrad oder über das Kontextmenü → "Link in neuem Tab öffnen", kann der Link dennoch in einem neuen Tab geöffnet werden.
Dabei wird ein TabExchange durchgeführt.

Mit dieser Einstellung wird die angegebene URL den Namen einer view beinhalten

Bei einem TabExchange wird der aktive Filter an die verlinkte view übergeben


Die URL setzt sich wie folgt zusammen:

1. Der Verweis wird aus dem Feld url entnommen.
2. Falls vorhanden, werden die Parameterfelder und Suchparameter der Liste linkparams entnommen und mit einem '?' von der URL getrennt in der angegebenen Reihenfolge angehängt.
3. Sind mehrere Link-Parameter angegeben, werden diese mit einem '&' verbunden. 

Beispiel: Link mit mehreren Parameterfelder und einer Konstanten

<cols>
    <list>
        <field>Link_Field</field>
        <title>Spalte mit Links</title>
        <type>genLink</type>
        <link>
            <url>dsp_Issue_singleResult</url>
            <linkparams>
                <list>
                    <searchfield>issueid</searchfield>
                    <search>
                        <list>Issue_ID</list>
                        <list>*02</list>
                    </search>
                </list>
                <list>
                    <searchfield>equi</searchfield>
                    <search>
                        <list>EquipmentNo</list>
                    </search>
                </list>
            </linkparams>
            <label>EquipmentNo</label>
        </link>
        <show>true</show>
    </list>
</cols>


"link": {
    "url": „dsp_Issue_SingleResult",
    "linkparams": [
        {searchfield: "issueid", "search": ["Issue_ID", "*02"]},
        {searchfield: "equi", "search": ["EquipmentNo"]}
    ],
    "label": "EquipmentNo"
}


ergibt folgende URL:

http://srvIP/datascienceportal/#/dsp_Issue_SingleResult?issueid=9999&equi=equipmentno
Hierbei können beliebig viele Linkparameter, sowie je beliebig viele Suchparameter angegeben werden. Falls mehrere Suchparameter angegeben werden, werden diese ohne Trennzeichen aneinander gehängt (z.B. um Konstanten einzubauen).

Parameter und Individuelle Konfiguration

Einem Link können 0-n Parameter angehängt werden. Jedes Parameterfeld kann im „linkparams"-Bereich individuell konfiguriert werden.
In „searchfield" muss ein Identifikator für das Parameterfeld festgelegt werden, welchem unter „search" ein oder mehrere Werte angehängt werden (siehe oberes Beispiel).

In beiden Feldern können Verweise oder konstante Texte verwendet werden. Um zu definieren wie sich das Parameterfeld verhalten soll, gibt es folgende Präfixe:

PräfixBedeutungBeispiel
*

Parameter ist eine konstante Zeichenfolge
Siehe: Konstante

*MeinKonstanterWert
?

Parameter wird von dem angegebenen URL-Parameter entnommen
Siehe: URL-Parameter

?MeinUrlParameter
\

Parameter wird nicht kodiert
Siehe: Kodierung

\%0D%0A
ohne

Parameter wird aus dem angegebenen Tabellenfeld entnommen
Siehe: Tabellenfeld

MeinTabellenFeld

Aktueller Wert eines Tabellenfeldes übernehmen

Wenn der Präfix entfällt wird der Wert aus dem angegebenen Tabellenfeld der aktuellen Zeile entnommen und als Wert für den URL-Parameter an den Link übergeben.

Konstanten Wert an Link übergeben

Mit dem Zeichen '*' kann definiert werden, dass es sich bei dem Wert um eine Konstante handelt.
Eine Konstante ist eine feste Zeichenfolge. Diese wird so wie angegeben als Wert für den URL-Parameter an den Link übergeben.

Aktuellen URL-Parameter an Link übergeben

Ein Search-Value kann mit dem Value eines beliebigen, aktuellen URL-Parameters befüllt werden. Hierzu muss im Feld „search“ der Bezeichner des URL-Parameters mit einem vorhergehendem „?“-Zeichen eingetragen werden.

URL mit der die aktuelle View aufgerufen wurde.:

.../#/cmp_Issue_Manager_Rating?equi=equipmentno
Link mit URL-Parameter


<link>
    <url>dsp_Issue_singleResult</url>
    <linkparams>
        <list>
            <searchfield>equino</searchfield>
            <search>
                <list>?equi</list>
            </search>
        </list>
    </linkparams>
</link>
"link":{
    "url": "dsp_Issue_SingleResult",
    "linkparams": [{
        "searchfield": "equino",
        "search": ["?equi"]
    }]
}


Ergibt folgenden Link:

.../#/dsp_Issue_SingleResult?equino=equipmentno

Beim übergeben eines URL-Parameters sollte darauf geachtet werden, dass der Bezeichner des Parameters exakt wie in der URL im „search“-Feld angegeben wird. Sollte der Parameter nicht in der aktuellen URL vorhanden sein oder keinen Wert besitzen, können Fehler auftreten.


Kodieren von Parametern

Standardmäßig werden übergebene Parameter kodiert, sodass gültige URLs ohne fehlerhafte Sonderzeichen generiert werden.
In besonderen Fällen, zum Beispiel wenn sie bereits korrekt kodierte Inhalte referenzieren, führt dies zu einer doppelten Kodierung, was zu Fehlern in der URL führt. Um dies zu vermeiden kann dem jeweiligen YUNAML Element ein Backslash ("\") vorangestellt werden, um die automatische Kodierung zu deaktivieren.
Beachten Sie, dass durch YUNA in diesem Fall keine Kodierung vorgenommen wird und der Dashboard-Entwickler dafür verantwortlich ist, die Werte korrekt zu kodieren.

<link>
	<url>mailto:markus.mustermann@example.com</url>
	<linkparams>
    	<list>
        	<search>
	            <list>*subject=Email-Titel</list>
            	<list>*body=Erste Zeile des Email-Texts</list>
            	<list>\%0D%0A</list>
            	<list>*Zweite Zeile des Email-Texts</list>
        	</search>
        	<notoken>true</notoken>
    	</list>
	</linkparams>
	<extern>true</extern>
</link>

Trennzeichen

Jedem Parameterfeld können selbst definierte Trennzeichen vergeben werden. Hierzu werden dem Objekt des Parameters die Felder „separator" und „token" mitgegeben. In „separator" kann definiert werden, welches Trennzeichen verwendet werden soll um das Parameterfeld vom restlichen Link zu trennen. Mit „token" bestimmt man das Trennzeichen, welches den Identifikator vom Value trennt.Kodiert
Beispiel für einen Link mit einer Konstanten und definiertem Trennzeichen:

Beispiel: Link mit einer Konstante und definierte Trennzeichen

<link>
    <url>dsp_Issue_singleResult</url>
    <linkparams>
        <list>
            <searchfield>EquipmentNo</searchfield>
            <search>
                <list>EquipmentNo</list>
            </search>
            <separator>%</separator>
            <token>$</token>
        </list>
    </linkparams>
    <label>EquipmentNo</label>
</link>
"link":{
    "url": "dsp_Issue_SingleResult",
    "linkparams": [{
        "searchfield": "*EquipmentNo",
        "search": ["EquipmentNo"]
        "separator": „%",
        "token": „$"
        //"notoken": true,
        //"noseparator": true
 }]
}


ergibt folgende URL:

.../#/dsp_Issue_SingleResult%EquipmentNo$equipmentno

hier wird '%' anstelle des '?' und '$'
„?" zum Trennung des ersten Parameterfeldes zum Link. „&" für jedes weitere angehängte Parameterfeld und. „=" zwischen Identifikator und Value eines Parameterfeldes.

Die Benutzung der Trennzeichen kann mit den Parametern "notoken" und "noseparator" unterdrückt werden, indem man diese auf den Wert "true" setzt.