Browse Source

Drop clipboard.js dependency, use navigator.clipboard directly

pull/761/head
Pēteris Caune 1 year ago
parent
commit
36e8843481
No known key found for this signature in database GPG Key ID: E28D7679E9A9EDE2
  1. 7
      static/js/clipboard.min.js
  2. 26
      static/js/details.js
  3. 30
      static/js/snippet-copy.js
  4. 1
      templates/front/details.html
  5. 1
      templates/front/docs_single.html

7
static/js/clipboard.min.js
File diff suppressed because it is too large
View File

26
static/js/details.js

@ -116,22 +116,16 @@ $(function () {
}, true);
// Copy to clipboard
var clipboard = new ClipboardJS('button.copy-btn');
$("button.copy-btn").mouseout(function(e) {
setTimeout(function() {
e.target.textContent = e.target.dataset.label;
}, 300);
});
clipboard.on('success', function(e) {
e.trigger.textContent = "Copied!";
e.clearSelection();
});
clipboard.on('error', function(e) {
var text = e.trigger.getAttribute("data-clipboard-text");
prompt("Press Ctrl+C to select:", text)
});
$("button.copy-btn")
.click(function() {
navigator.clipboard.writeText(this.dataset.clipboardText);
this.textContent = "Copied!";
})
.mouseout(function(e) {
setTimeout(function() {
e.target.textContent = e.target.dataset.label;
}, 300);
});
$("#events").on("click", "tr.ok", function() {
var n = $("td", this).first().text();

30
static/js/snippet-copy.js

@ -3,36 +3,18 @@ $(function() {
'<span class="ic-clippy"></span>' +
'</button>';
$(".highlight").append(markup);
var reBlankLines = new RegExp("^\\s*[\\r\\n]", "gm");
var reTrailingWhitespace = new RegExp("\\s+$");
var clipboard = new ClipboardJS(".highlight button", {
text: function (trigger) {
var snippetElement = $(trigger).parent().children().clone();
/* remove pygmentize comment elements */
snippetElement.find(".c, .cm, .cp, .c1, .cs").remove();
/* remove blank lines and trailing whitespace */
return snippetElement.text().replace(reBlankLines, '').replace(reTrailingWhitespace, '');
}
});
$(".highlight button")
.tooltip({title: "Copied", trigger: "manual"})
.on("mouseleave", function(e) {
$(e.target).tooltip("hide");
})
.click(function() {
var text = this.parentNode.innerText;
console.log(text);
navigator.clipboard.writeText(text);
$(this).tooltip("show");
})
clipboard.on("success", function(e) {
$(e.trigger).tooltip("show");
});
clipboard.on("error", function(e) {
prompt("Press Ctrl+C to select:", e.text)
});
});

1
templates/front/details.html

@ -355,7 +355,6 @@
<script src="{% static 'js/jquery-3.6.0.min.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
<script src="{% static 'js/selectize.min.js' %}"></script>
<script src="{% static 'js/clipboard.min.js' %}"></script>
<script src="{% static 'js/bootstrap-select.min.js' %}"></script>
<script src="{% static 'js/nouislider.min.js' %}"></script>
<script src="{% static 'js/snippet-copy.js' %}"></script>

1
templates/front/docs_single.html

@ -76,7 +76,6 @@
{% compress js %}
<script src="{% static 'js/jquery-3.6.0.min.js' %}"></script>
<script src="{% static 'js/bootstrap.min.js' %}"></script>
<script src="{% static 'js/clipboard.min.js' %}"></script>
<script src="{% static 'js/snippet-copy.js' %}"></script>
<script src="{% static 'js/search.js' %}"></script>
{% endcompress %}

Loading…
Cancel
Save