Page tree
Skip to end of metadata
Go to start of metadata

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. 

  • Links können intern oder extern sein
  • Dem Link kann eine beliebige URL angegeben werden
  • Der Link kann aus mehreren statischen und/oder mehreren dynamischen Teilen bestehen
  • Die statischen und dynamischen Teile können einen beliebigen Inhalt haben
  • Die Darstellung kann als fester Text, Icon oder Zelleninhalt konfiguriert werden

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

Eine Spalte mit dem Typ Link definieren

XML
<cols>
    <list>
        <field>Link_Field</field>
        <title>Spalte mit Links</title>
        <type>genLink</type>
        <link>
            <url>cmp_Issue_singleResult</url>
            <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>
            <label>EquipmentNo</label>
            <extern>true</extern>
        </link>
        <show>true</show>
    </list>
</cols>
JSON
"type": "genLink",
"link": {
    "url": "cmp_Issue_SingleResult",
    "linkparams": [
        {"searchfield": "issueid", "search": ["Issue_ID", "Konstante"]},
        {"searchfield": "equi", "search": ["EquipmentNo"]}
        ...
    ],
    "label": "EquipmentNo",
    "extern": true
},
"show": true


Feld

Mögliche Werte

Beschreibung

"extern"true
false 
true: Link wird in einem neuem Tab geöffnet, ohne Weitergabe der Einstellungen des aktuellen Tabs (TabExchange). Mit dieser Einstellung wird die angegebene URL als absoluter Pfad behandelt. Hierbei der URL die Präfixe "http://" oder "\\" (bei einer Netzwerkfreigaben) vorangestellt werden, da sich der Link ansonsten versucht ausgehend vom Root-Verzeichnis des CMP zu öffnen.
false: Link wird im aktuellen Tab geöffnet. Durch einen Klick auf das Mausrad oder Rechtsklick → "Link in neuem Tab öffnen", kann der Link in einem neuen Tab geöffnet werden. Hierbei werden die Einstellungen des aktuellen Tabs (TabExchange) mit übergeben. Mit dieser Einstellung wird die angegebene URL als relativer Pfad zum Heimverzeichnis CMP behandelt.
"label"StringTitel des Links.
linkparamsArray of ObjectsJedes Objekt im Array steht für einen Linkparameter, welcher individuelle konfiguriert werden kann.
urlStringHier wird der Pfad eingetragen, zu welchem verlinkt werden soll. Hier kann eine statische URL oder ein Verweis auf eine Tabellenspalte angegeben werden.


Die URL setzt sich wie folgt zusammen:

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

Link mit mehreren Parameterfelder und einer Konstanten


XML
<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>


JSON
"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).

Falls das Feld „link – extern" nicht angegeben wurde oder auf „false" gestellt wurde, ist der Link ein interner Link, der sich im selben Tab des Browsers öffnet. Um einen externen Link zu erzeugen muss das Feld „extern" auf „true" gesetzt werden und eine gültige URL in „link – url" angegeben werden. Dieser Link wird in einem neuen Tab des Browsers geöffnet.

XML
<extern>true</extern>

Individuelle Parameter

Einem Link können 0-n Parameter angehängt werden. Jedes Parameterfeld kann im „linkparams"-Bereich individuell konfiguriert werden. Jedes Objekt innerhalb des „linkparams"-Bereiches legt ein Parameterfeld fest. In „searchfield" kann ein Identifikator festgelegt werden, welchem unter „search" ein oder mehrere Values angehängt werden (siehe oberes Beispiel). In beide Felder können Verweise oder konstante Texte verwendet werden. Konstanter Text sollte mit einem vorhergehendem „" gekennzeichnet werden, sobald der Text identisch mit einem Verweis ist. Das „" wird später im Link nicht mehr sichtbar sein.

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.
Beispiel für einen Link mit einer Konstanten und definiertem Trennzeichen:


Link mit einer Konstanten und definiertem Trennzeichen


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


ergibt folgende URL:

.../#/dsp_Issue_SingleResult%EquipmentNo$equipmentno 
Beim Weglassen der Felder „separator" und „token" werden die Standardwerte verwendet.
„?" 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.

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


XML
<link>
    <url>dsp_Issue_singleResult</url>
    <linkparams>
        <list>
            <searchfield>equino</searchfield>
            <search>
                <list>?equi</list>
            </search>
        </list>
    </linkparams>
</link>
JSON
"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.

Beispiel für einen mailto-genLink mit Zeilenumbruch
<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>

Visualisierung konfigurieren

Damit ein Link visuell dargestellt wird, muss mindestens eines der Felder „link – label", „link – icon" oder „link – result" konfiguriert sein. 
Falls vorhanden, gibt „link – label" an, welcher Text dargestellt werden soll. Hier kann ein konstanter Text oder ein Verweis zu einer anderen Spalte eingetragen werden um den Textlink dynamisch anzeigen zu lassen.

XML
<label>Issue_ID</label>
JSON
"label": "Issue_ID"

Ein konstanter Text wird durch ein vorangestelltes * gekennzeichnet, z.B. *Sachverhalt.



Falls vorhanden, gibt „link – icon" an, welches Icon vor dem Link-Text angezeigt wird. Da zur Zeit Font-Awesome verwendet wird, kann hier die CSS-Klasse des Icons eingetragen werden.

Derzeit sind im data science portal die icons aus Font Awesome in Version 4.7 verfügbar. Ggf. sind einige der mit Version 5 neu hinzugefügten icons noch nicht nutzbar.


XML
<icon>fa-home</icon>


JSON
"icon": "fa-home"


Falls vorhanden und auf „true" gesetzt, gibt „link – result" an, dass es sich um einen Link handelt der als Button dargestellt wird. 

Die 3 Konfigurationsfelder „link – label", „link – icon" und „link – result" können auch kombiniert werden um z.B. einen Button mit individuellem Text darzustellen oder einen Textlink mit einem Icon zu versehen. 


Link als Button + dynamischen Text + eigenem Icon:

XML
<link>
    <url>dsp_Issue_singleResult</url>
    <result>true</result>
    <icon>fa-toggle-right</icon>
    <label>EquipmentNo</label>
</link>
JSON
"link": {
    "url": "dsp_Issue_SingleResult",
    "result": true,
    "icon": "fa-toggle-right",
    "label": "EquipmentNo"
}
  • No labels