Einen copy to clipboard Button über eine embed Komponente
Beschreibung:
Dropdown Menüs und Datumsfelder lassen sich mit dem Mauscursor nicht kopieren.
Also zweckentfremden wir die embed Komponente mit einem Javascript zum kopieren.
Durchführung:
Eine embed Komponente an die gewünschte Stelle hinzufügen.
Dann diesen HTML-Code einfügen
!!!WICHTIG bei Text nicht bei Javascript is ja HTML-Code!!!
Die Variable value mit der Variable ersetzten (also zum Beispiel textfeld aus der koiiert werden soll.)
<button onclick="( function()
{ navigator.clipboard.writeText('{{ value }}').then(function (){alert (' {{ value }} Copied!')}) }
)()">Copy Link</button>
Hier ein Beispiel mit Deustchem Text und echten Variablen
<button onclick="( function()
{ navigator.clipboard.writeText('{{ Form.Fields.rechnungsadressemeldeadresse }}').then(function (){alert (' {{ Form.Fields.rechnungsadressemeldeadresse }} in die Zwischenablage kopiert!')}) }
)()">Copy</button>
Hier ein Beispiel wenn ein Datum umformatiert werden soll.
Denn in Budibase wird ein Datumsfeld in diesem Format zurückgegben, wenn es durch keine Komponente wie eine Datumskomponente umformatiert wird : 1981-06-03T00:00:00.000
<button onclick="( function()
{
var value = '{{ value }}'; // Das Originaldatum
var date = new Date(value); // Erstellen eines neuen Date-Objekts mit dem Wert
var day = String(date.getDate()).padStart(2, '0'); // Extrahieren und Formatieren des Tages
var month = String(date.getMonth() + 1).padStart(2, '0'); // Extrahieren und Formatieren des Monats
var year = date.getFullYear(); // Extrahieren des Jahres
// Zusammenfügen der Teile in das gewünschte Format
var formattedDate = day + '.' + month + '.' + year;
navigator.clipboard.writeText(formattedDate).then(function (){
alert (formattedDate+' Copied!')
})
})()">Copy Link</button>
Nun sieht die Rückgabe so aus:
