updated js to copy clicked link text. Also don't need id tags any more.

This commit is contained in:
2026-02-16 21:32:00 -05:00
parent dba8381913
commit ed38584ab2
3 changed files with 14 additions and 6 deletions

View File

@@ -18,7 +18,7 @@
<tr> <tr>
<th><%= t(:field_vin) %></th> <th><%= t(:field_vin) %></th>
<td id="vin"> <td>
<a href="#" onclick="handleCopy(event)"><%= @vin[0] if @vin %><b><%=@vin[1] if @vin%></b></a> <a href="#" onclick="handleCopy(event)"><%= @vin[0] if @vin %><b><%=@vin[1] if @vin%></b></a>
</td> </td>
</tr> </tr>

View File

@@ -12,7 +12,7 @@
</div> </div>
<div class="label-sub"> <div class="label-sub">
<%= vehicle.vin.scan(/.{1,9}/)[0] if vehicle.vin %><b><%=vehicle.vin.scan(/.{1,9}/)[1] if vehicle.vin%></b> <a href="#" onclick="handleCopy(event)"><%= vehicle.vin.scan(/.{1,9}/)[0] if vehicle.vin %><b><%=vehicle.vin.scan(/.{1,9}/)[1] if vehicle.vin%></b></a>
</div> </div>
</div> </div>

View File

@@ -1,17 +1,25 @@
async function handleCopy(event) { async function handleCopy(event) {
console.log("Copy link clicked"); console.log("Copy link clicked");
// 1. Prevent the link from actually navigating // 1. Prevent the link from actually navigating
event.preventDefault(); event.preventDefault();
// 2. Grab the text from our span let text;
const text = document.getElementById('vin').innerText; let link;
// 2. Grab the text from our clicked link
if(event.target.tagName.toLowerCase() === 'b'){
text = event.target.parentElement.innerText;
link = event.target.parentElement;
} else {
text = event.target.innerText;
link = event.target;
}
try { try {
// 3. Write to clipboard // 3. Write to clipboard
await navigator.clipboard.writeText(text); await navigator.clipboard.writeText(text);
// 4. Update the UI to show it worked // 4. Update the UI to show it worked
const link = event.target;
const originalText = link.innerText; const originalText = link.innerText;
link.innerHTML = "<b>Copied!</b>"; link.innerHTML = "<b>Copied!</b>";
link.style.color = "#4CAF50"; // Turn green link.style.color = "#4CAF50"; // Turn green