allow pinned lines to persist between corpus changes
This commit is contained in:
parent
6b43b2f2d9
commit
ea16c3ee91
@ -161,9 +161,8 @@ a {
|
||||
</p>
|
||||
</div>
|
||||
<div class="controls">
|
||||
<form method="GET" action="/" style="display:inline">
|
||||
<label for="corpus-select">corpus:</label>
|
||||
<select name="corpus" id="corpus-select">
|
||||
<select is="corpus-picker" id="corpus-select">
|
||||
{{$selected := .SelectedCorpus}}
|
||||
{{range .Corpora}}
|
||||
{{if eq $selected .ID}}
|
||||
@ -173,8 +172,6 @@ a {
|
||||
{{end}}
|
||||
{{end}}
|
||||
</select>
|
||||
<button type="submit">go</button>
|
||||
</form>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div style="margin-bottom: 5px">
|
||||
|
@ -479,9 +479,24 @@ class PoemSaver extends HTMLFormElement {
|
||||
}
|
||||
}
|
||||
|
||||
class CorpusPicker extends HTMLSelectElement {
|
||||
connectedCallback() {
|
||||
if (this.connected) {
|
||||
return;
|
||||
}
|
||||
this.addEventListener("change", (e) => {
|
||||
const params = new URLSearchParams(document.location.search);
|
||||
params.set("corpus", this.value);
|
||||
window.history.replaceState({}, '', `${location.pathname}?${params}`);
|
||||
$("div[is=poem-lines]").regenerate();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const pinned = new CustomEvent("pinned", {bubbles: true});
|
||||
const unpinned = new CustomEvent("unpinned", {bubbles: true});
|
||||
const edited = new CustomEvent("edited", {bubbles: true});
|
||||
customElements.define("corpus-picker", CorpusPicker, { extends: "select" });
|
||||
customElements.define("about-toggler", AboutToggler, { extends: "a" });
|
||||
customElements.define("poem-saver", PoemSaver, { extends: "form" });
|
||||
customElements.define("theme-toggler", ThemeToggler, { extends: "a" });
|
||||
|
Loading…
x
Reference in New Issue
Block a user