style: aggiunte iconcine per copia numero ticket e titolo nella pagina di riepilogo del ticket e copia titolo nella pagina ticket/a mio carico. style: rimosso link apri in otrs sul titolo dell'header di un ticket
This commit is contained in:
@@ -153,13 +153,14 @@ const TicketDetailView = {
|
||||
<div class="card">
|
||||
<div class="ticket-header">
|
||||
<div class="ticket-header-info">
|
||||
<div class="ticket-number">#${ticket.tn}</div>
|
||||
<h2 class="ticket-detail-title">
|
||||
${data.otrsWebUrl ? `
|
||||
<a href="${data.otrsWebUrl}" target="_blank" style="color:inherit; text-decoration:none; border-bottom:1px dashed transparent; transition:border-bottom 0.1s ease;" onmouseover="this.style.borderBottom='1px dashed var(--text-primary)'" onmouseout="this.style.borderBottom='transparent'" title="Apri in OTRS">
|
||||
<div class="ticket-number" style="display:inline-flex; align-items:center; gap:6px;">
|
||||
<span class="copy-ticket-btn" data-tn="${ticket.tn}" style="cursor: pointer; font-size: 0.85rem;" title="Copia numero ticket">📋</span>
|
||||
#${ticket.tn}
|
||||
-
|
||||
</div>
|
||||
<h2 class="ticket-detail-title" style="display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap;">
|
||||
<span class="copy-ticket-btn" data-tn="${App.escapeHtml(ticket.title || '')}" style="cursor: pointer; font-size: 0.85rem;" title="Copia titolo ticket">📋</span>
|
||||
${App.escapeHtml(ticket.title || '(senza titolo)')}
|
||||
</a>
|
||||
` : App.escapeHtml(ticket.title || '(senza titolo)')}
|
||||
</h2>
|
||||
<div class="ticket-meta-badges">
|
||||
<span class="badge badge-state" data-state-type="${(ticket.state_type || '').toLowerCase()}">${ticket.state_name}</span>
|
||||
@@ -521,7 +522,7 @@ const TicketDetailView = {
|
||||
modules: {
|
||||
toolbar: [
|
||||
['bold', 'italic', 'underline', 'strike'],
|
||||
[{ 'list': 'ordered'}, { 'list': 'bullet' }],
|
||||
[{ 'list': 'ordered' }, { 'list': 'bullet' }],
|
||||
['link', 'image'],
|
||||
['clean']
|
||||
],
|
||||
@@ -529,7 +530,7 @@ const TicketDetailView = {
|
||||
bindings: {
|
||||
tab: {
|
||||
key: 'Tab',
|
||||
handler: function() {
|
||||
handler: function () {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1292,7 +1293,7 @@ const TicketDetailView = {
|
||||
if (doc && doc.readyState === 'complete') {
|
||||
attachImageClick();
|
||||
}
|
||||
} catch (_) {}
|
||||
} catch (_) { }
|
||||
});
|
||||
|
||||
document.querySelectorAll('.attachment-badge[data-is-image="true"]').forEach(badge => {
|
||||
@@ -1302,5 +1303,19 @@ const TicketDetailView = {
|
||||
this.openImageLightbox(badge.href);
|
||||
});
|
||||
});
|
||||
|
||||
document.querySelectorAll('.copy-ticket-btn').forEach(btn => {
|
||||
btn.addEventListener('click', (e) => {
|
||||
e.stopPropagation();
|
||||
const tn = btn.dataset.tn;
|
||||
if (tn) {
|
||||
navigator.clipboard.writeText(tn).then(() => {
|
||||
Toast.success('Copiato negli appunti!');
|
||||
}).catch(err => {
|
||||
Toast.error('Errore durante la copia: ' + err.message);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
@@ -153,7 +153,7 @@ const TicketListView = {
|
||||
</td>
|
||||
<td style="color:var(--text-tertiary);font-size:0.78rem;">${App.formatDateTime(t.create_time)}</td>
|
||||
<td><span class="badge badge-state" data-state-type="${(t.state_type || '').toLowerCase()}">${t.state_name}</span></td>
|
||||
<td class="ticket-title-cell"><a href="#/tickets/${t.id}" class="ticket-title-link" onclick="event.stopPropagation()">${App.escapeHtml(t.title || '(senza titolo)')}</a></td>
|
||||
<td class="ticket-title-cell"><span class="copy-ticket-btn" data-tn="${t.title}" style="cursor: pointer; font-size: 0.82rem; display: inline-flex; align-items: center; margin-right: 4px;" onclick="event.stopPropagation();" title="Copia titolo ticket">📋</span><a href="#/tickets/${t.id}" class="ticket-title-link" onclick="event.stopPropagation()">${App.escapeHtml(t.title || '(senza titolo)')}</a></td>
|
||||
<td class="queue-cell"><span class="badge badge-queue">${App.escapeHtml(shortQueue)}</span><div class="queue-tooltip">${App.escapeHtml(t.queue_name)}</div></td>
|
||||
<td style="color:var(--text-secondary);font-size:0.82rem;">${t.owner_first || ''} ${t.owner_last || ''}</td>
|
||||
<td style="color:var(--text-secondary);font-size:0.82rem;">${t.customer_first ? `${t.customer_first} ${t.customer_last}` : (t.customer_user_id || '—')}</td>
|
||||
|
||||
Reference in New Issue
Block a user