|
9 | 9 | <li><a href="/license">License</a></li> |
10 | 10 | <li class="mt-3"> |
11 | 11 | <div class="color-modes dropend"> |
12 | | - <a class="dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false"> |
| 12 | + <a class="dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-expanded="false"> |
13 | 13 | <span class="fa-solid fa-palette me-1"></span> Switch theme |
14 | 14 | </a> |
15 | 15 | <ul class="dropdown-menu py-1"> |
|
23 | 23 | </div> |
24 | 24 | <div class="col-12 col-sm-6 mt-4 mt-sm-0 text-sm-end"> |
25 | 25 | <ul class="m-0 p-0"> |
26 | | - <li><a aria-label="GitHub" href="https://github.com/roundcube/roundcubemail" target="_blank" rel="noopener"><img src="https://img.shields.io/github/stars/roundcube/roundcubemail?color=%23066da5&label=stars&logo=github&logoColor=%23fff&style=flat-square" alt="GitHub Stars"></li> |
27 | | - <li><a aria-label="GitHub Contributors" href="https://github.com/roundcube/roundcubemail/graphs/contributors" target="_blank" rel="noopener"><img src="https://img.shields.io/github/contributors/roundcube/roundcubemail?color=%23066da5&label=contributors&logo=github&logoColor=%23fff&style=flat-square" alt="GitHub Contributors"></li> |
28 | | - <li><a aria-label="DockerHub" href="https://hub.docker.com/r/roundcube/roundcubemail/" target="_blank" rel="noopener"><img src="https://img.shields.io/docker/pulls/roundcube/roundcubemail?color=%23066da5&label=pulls&logo=docker&logoColor=%23fff&style=flat-square" alt="Docker Downloads"></li> |
| 26 | + <li><a aria-label="GitHub" href="https://github.com/roundcube/roundcubemail" target="_blank" rel="noopener"><img src="https://img.shields.io/github/stars/roundcube/roundcubemail?color=%23066da5&label=stars&logo=github&logoColor=%23fff&style=flat-square" alt="GitHub Stars"></a></li> |
| 27 | + <li><a aria-label="GitHub Contributors" href="https://github.com/roundcube/roundcubemail/graphs/contributors" target="_blank" rel="noopener"><img src="https://img.shields.io/github/contributors/roundcube/roundcubemail?color=%23066da5&label=contributors&logo=github&logoColor=%23fff&style=flat-square" alt="GitHub Contributors"></a></li> |
| 28 | + <li><a aria-label="DockerHub" href="https://hub.docker.com/r/roundcube/roundcubemail/" target="_blank" rel="noopener"><img src="https://img.shields.io/docker/pulls/roundcube/roundcubemail?color=%23066da5&label=pulls&logo=docker&logoColor=%23fff&style=flat-square" alt="Docker Downloads"></a></li> |
29 | 29 | </ul> |
30 | 30 | </div> |
31 | 31 | </div> |
|
75 | 75 | var copytext = "Copy to clipboard"; |
76 | 76 | var copycomplete = "Copied"; |
77 | 77 | var copyerror = "Copy failed"; |
78 | | - document.querySelectorAll('a.copy-text').forEach((copybtn) => { |
| 78 | + |
| 79 | + document.querySelectorAll('a.copy-popover-link').forEach((sumbtn) => { |
| 80 | + var popover = new bootstrap.Popover(sumbtn, { |
| 81 | + content: sumbtn.closest('td').querySelector('.copy-popover-target').innerHTML, |
| 82 | + html: true, |
| 83 | + customClass: 'copy-popover' |
| 84 | + }); |
| 85 | + |
| 86 | + sumbtn.addEventListener('shown.bs.popover', () => { |
| 87 | + document.querySelectorAll('div.popover a.copy-link').forEach((copybtn) => { |
| 88 | + var tooltipInstance = new bootstrap.Tooltip(copybtn, {'title': copytext}); |
| 89 | + copybtn.addEventListener("click", function(e) { clipboard(this, tooltipInstance, e); }, false); |
| 90 | + }); |
| 91 | + }); |
| 92 | + }); |
| 93 | + |
| 94 | + if (document.querySelectorAll('a.copy-popover-link').length > 0) { |
| 95 | + document.addEventListener("click", function(e) { |
| 96 | + document.querySelectorAll('a.copy-popover-link').forEach((sumbtn) => { |
| 97 | + var popover = bootstrap.Popover.getInstance(sumbtn); |
| 98 | + if (popover.tip && event.target.closest('.popover.show') == null && popover.tip.classList.contains('show')) { |
| 99 | + popover.hide(); |
| 100 | + } |
| 101 | + }); |
| 102 | + }, false); |
| 103 | + } |
| 104 | + |
| 105 | + document.querySelectorAll('a.copy-link').forEach((copybtn) => { |
79 | 106 | var tooltipInstance = new bootstrap.Tooltip(copybtn, {'title': copytext}); |
80 | 107 | copybtn.addEventListener("click", function(e) { clipboard(this, tooltipInstance, e); }, false); |
81 | 108 | }); |
82 | 109 |
|
83 | 110 | async function clipboard(copybtn, tooltipInstance, e) { |
84 | 111 | e.preventDefault(); |
85 | | - var payload = copybtn.closest('p,td').querySelector('.copy-target').textContent.trimEnd(); |
| 112 | + var payload = copybtn.closest('p,td,div').querySelector('.copy-target').textContent.trimEnd(); |
86 | 113 |
|
87 | 114 | try { |
88 | 115 | await navigator.clipboard.writeText(payload); |
|
0 commit comments