membershipworks: Fix script in upcoming events post generator
Some checks failed
Ruff / ruff (push) Successful in 1m38s
Test / test (push) Failing after 3m43s

This commit is contained in:
Adam Goldsmith 2024-08-09 01:47:07 -04:00
parent fb005d419f
commit 1827d10bf4
2 changed files with 24 additions and 22 deletions

View File

@ -0,0 +1,19 @@
import { Popover } from "bootstrap";
async function copyToClipboard(event: MouseEvent) {
// https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API
const data = new ClipboardItem({
"text/plain": new Blob([document.getElementById("preview")!.innerHTML], {
type: "text/plain",
}),
});
await navigator.clipboard.write([data]);
let popover = Popover.getInstance(event.target as Element)!;
popover.show();
setTimeout(() => popover.hide(), 1000);
}
const button = document.getElementById("copy-button")!;
new Popover(button, { trigger: "manual" });
button.addEventListener("click", copyToClipboard);

View File

@ -1,6 +1,11 @@
{% extends "base.dj.html" %} {% extends "base.dj.html" %}
{% load nh3_tags %} {% load nh3_tags %}
{% load django_vite %}
{% block vite_extra_assets %}
{% vite_asset 'membershipworks/js/upcoming_events_post_generator.entry.ts' %}
{% endblock %}
{% block title %}Upcoming Events{% endblock %} {% block title %}Upcoming Events{% endblock %}
{% block content %} {% block content %}
@ -136,25 +141,3 @@
</button> </button>
</div> </div>
{% endblock %} {% endblock %}
{% block script %}
<script>
async function copyToClipboard(event) {
// https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API
const data = new ClipboardItem({
"text/plain": new Blob(
[document.getElementById("preview").innerHTML], {
type: "text/plain"
})
});
await navigator.clipboard.write([data]);
bootstrap.Popover.getInstance(event.target).show();
setTimeout(() => bootstrap.Popover.getInstance(event.target).hide(), 1000);
}
const button = document.getElementById("copy-button");
const popover = new bootstrap.Popover(button, {
trigger: "manual"
})
button.addEventListener("click", copyToClipboard);
</script>
{% endblock %}