diff --git a/user_script/checkmk_swissknife.user.js b/user_script/checkmk_swissknife.user.js index bb57390..1b41ffe 100644 --- a/user_script/checkmk_swissknife.user.js +++ b/user_script/checkmk_swissknife.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Checkmk SwissKnife // @namespace https://luigidacunto.com/ -// @version 2.9.2 +// @version 2.9.3 // @description Raccolta di miglioramenti all'interfaccia di Checkmk WATO. Ogni fix o enhancement viene aggiunto qui come feature indipendente. // @author Luigi D'Acunto // @homepageURL https://git.luigidacunto.com/tools/checkmk-swissknife @@ -837,7 +837,26 @@ flex-shrink: 0; } .cmk-sk-inv-btn:hover { opacity: 1; background: rgba(229,165,0,0.18) !important; } - .cmk-sk-inv-btn svg { display: block; } + .cmk-sk-copy-btn { + display: inline-flex; + align-items: center; + justify-content: center; + width: 16px; + height: 16px; + background: transparent; + color: #999 !important; + border: 1px solid #666; + border-radius: 3px; + margin-right: 5px; + vertical-align: middle; + cursor: pointer; + opacity: 0.7; + flex-shrink: 0; + padding: 0; + } + .cmk-sk-copy-btn:hover { opacity: 1; border-color: #aaa; color: #ccc !important; } + .cmk-sk-copy-btn.copied { border-color: #4caf50 !important; color: #4caf50 !important; opacity: 1; } + .cmk-sk-inv-btn svg, .cmk-sk-copy-btn svg { display: block; } `); hostCells.forEach(td => { @@ -854,6 +873,20 @@ btn.rel = 'noopener'; btn.title = `Service Discovery: ${hostname}`; btn.innerHTML = ''; + + const copyBtn = doc.createElement('button'); + copyBtn.className = 'cmk-sk-copy-btn'; + copyBtn.type = 'button'; + copyBtn.title = `Copia hostname: ${hostname}`; + copyBtn.innerHTML = ''; + copyBtn.addEventListener('click', () => { + navigator.clipboard.writeText(hostname).then(() => { + copyBtn.classList.add('copied'); + setTimeout(() => copyBtn.classList.remove('copied'), 900); + }); + }); + + td.prepend(copyBtn); td.prepend(btn); });