blob: d95cee430bc49d93f83a0b592440f3243c3be816 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<form onsubmit="ṡ.set('deck', $deck).then(() => alert('Saved!')); return false">
<p>
<input type=submit value="Save deck">
</form>
<div>
<p>
<button onclick="document.forms.deck_clear.showPopover()">
Clear deck
</button>
<form popover name=deck_clear onsubmit="$deck = []; this.hidePopover(); return false">
<p>
Really clear?
<p>
<input type=submit value=Yes> <button type=button onclick="document.forms.deck_clear.hidePopover()">No</button>
</form>
</div>
<script>
async function import_deck$(form) {
let url = form.deck.value
form.status.value = "Fetching…"
let news = await (await fetch(url)).json()
news.sort((a, b) => a.num > b.num)
$deck = $deck.concat(news)
form.status.value = "Done!"
}
</script>
<div>
<p>
<button onclick="document.forms.deck_import.showPopover()">
Import question set
</button>
<form popover name=deck_import onsubmit="import_deck$(this); return false">
<select name=deck>
<% $difficulties.each do |dif| -%>
<optgroup label=<%= dif %>>
<% $categories.each do |cat| -%>
<option value=<%= name_from dif, cat %>><%= dif %> - <%= cat %></option>
<% end -%>
</optgroup>
<% end -%>
</select>
<p>
<input type=submit value=Import> <button type=button onclick="document.forms.deck_import.hidePopover()">Cancel</button>
<p>
<output name=status></output>
</form>
</div>
|