Du hattest auf der Matrix42 Enterprise Service Management Plattform schon einmal die Notwendigkeit, mit einem Quick Link die Zwischenablage befüllen zu müssen? Dann bist du hier genau richtig! Ich zeige die Implementierung hier anhand einer Schnellansicht aus dem neo42 GlobalParameterFramework (Werbung). Hierbei soll die GruppenID mit einem Klick auf ein Symbol in die Zwischenablage kopiert werden.
Das Ergebnis soll wie folgt aussehen:
Javascript-Snippet für das Befüllen der Zwischenablage
Um die Implementierung zu starten, legen wird als Erstes ein neues Attribut an, welches uns per Javascript die Zwischenablage befüllen wird:
Das Attribut muss den Typ “String” haben:
Anschließend muss im erweiterten Modus folgender Code hinterlegt werden:
Hier auch noch einmal der Code zum Kopieren:
if($value!=="") {
navigator.clipboard.writeText($value);
}
return $value;
Code-Sprache: PHP (php)
Einbindung des Quick Link
Nun kann ein Quick Link Control mit Drag&Drop in das Layout gezogen werden. Dieses Control wird wie folgt konfiguriert:
Als Quelle habe ich hier das Attribut neo42_ObjectID gewählt (1). Dieser Wert soll in das Ziel “triggerCopy” (2) geschrieben werden, welches unser zuvor hinterlegtes Javascript-Snippet ausführt und so den Text in die Zwischenablage kopiert.
Damit der Quick Link nur ein Icon anzeigt, können folgende Eigenschaften konfiguriert werden:
Damit funktioniert der Quick Link bereits und du kannst den Inhalt in der Zwischenablage verwenden.
Du kannst natürlich den Inhalt der Quelle komplett dynamisch befüllen. Auf diese Weise kannst du zum Beispiel auch einen DeepLink in die Zwischenablage kopieren, der direkt zur Schnellansicht des Objektes führt:
Hier auch wieder der Code zum Kopieren:
let baseUrl = window.location.href;
return $format(baseUrl+'?view-options={"embedded":false,"objectId":"{ObjectEOID}","type":"{ObjectType}","viewType":"preview"}');
Code-Sprache: JavaScript (javascript)
An der Stelle ist zu berücksichtigen, dass die DeepLinks natürlich immer die vollständige URL beinhalten. Es ist also sinnvoll, vor der Generierung von DeepLinks auf einen alternativen DNS-Namen umgestellt zu haben, um Probleme nach einer Servermigration vorzubeugen. Wie das geht, siehst du hier.
Hier findest du auch noch ein Video zum neo42 GlobalParameterFramework, wo du den QuickLink in Aktion sehen kannst:
Ich hoffe, dir hat der Artikel gefallen und es hilft dir, die Arbeitsabläufe zu optimieren. Nutze bei Fragen gerne die Kommentarfunktion.