Compare commits
2 Commits
5c6c7ba2fc
...
f27bb870e1
Author | SHA1 | Date | |
---|---|---|---|
f27bb870e1 | |||
1827d10bf4 |
19
membershipworks/js/upcoming_events_post_generator.entry.ts
Normal file
19
membershipworks/js/upcoming_events_post_generator.entry.ts
Normal 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);
|
@ -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 %}
|
|
||||||
|
@ -46,7 +46,7 @@ requires-python = ">=3.11"
|
|||||||
[project.optional-dependencies]
|
[project.optional-dependencies]
|
||||||
server = [
|
server = [
|
||||||
"uvicorn[standard]~=0.30",
|
"uvicorn[standard]~=0.30",
|
||||||
"setuptools~=71.1",
|
"setuptools~=72.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.entry-points."djangoq.errorreporters"]
|
[project.entry-points."djangoq.errorreporters"]
|
||||||
@ -119,7 +119,7 @@ lint = [
|
|||||||
typing = [
|
typing = [
|
||||||
"mypy~=1.10",
|
"mypy~=1.10",
|
||||||
"django-stubs~=5.0",
|
"django-stubs~=5.0",
|
||||||
"setuptools~=71.1",
|
"setuptools~=72.2",
|
||||||
"types-bleach~=6.1",
|
"types-bleach~=6.1",
|
||||||
"types-requests~=2.32",
|
"types-requests~=2.32",
|
||||||
"types-urllib3~=1.26",
|
"types-urllib3~=1.26",
|
||||||
|
Loading…
Reference in New Issue
Block a user