aboutsummaryrefslogtreecommitdiff
path: root/src/gnunet/service/zonemaster/gui_new.htpl
diff options
context:
space:
mode:
Diffstat (limited to 'src/gnunet/service/zonemaster/gui_new.htpl')
-rw-r--r--src/gnunet/service/zonemaster/gui_new.htpl114
1 files changed, 114 insertions, 0 deletions
diff --git a/src/gnunet/service/zonemaster/gui_new.htpl b/src/gnunet/service/zonemaster/gui_new.htpl
new file mode 100644
index 0000000..f470de9
--- /dev/null
+++ b/src/gnunet/service/zonemaster/gui_new.htpl
@@ -0,0 +1,114 @@
1{{define "new_zone"}}
2<div>
3 <h3>Creating a new GNS zone:</h3>
4 <form action="/action/new/zone/0" method="post" onsubmit="return(zone_validate());">
5 <table>
6 <tr>
7 <td align="right"><b>Zone name:</b></td>
8 <td><input type="text" id="name" name="name"></td>
9 </tr>
10 <tr>
11 <td align="right" valign="top"><b>Key type:</b></td>
12 <td>
13 <input type="radio" id="pkey" name="keytype" value="PKEY" checked="checked">&nbsp;PKEY (Ed25519+EcDSA)<br>
14 <input type="radio" id="edkey" name="keytype" value="EDKEY">&nbsp;EDKEY (EdDSA)
15 </td>
16 </tr>
17 </table>
18 <button id="submit">Add zone</button>
19 </form>
20 <a href="/"><button id="leave">Leave</button></a>
21</div>
22<script>
23 const zone_names = [
24 {{range $i, $n := .Names}}
25 '{{$n}}',
26 {{end}}
27 ];
28 function zone_validate() {
29 const name = document.getElementById("name").value;
30 if (!name) {
31 alert("Empty zone name not allowed");
32 return false;
33 }
34 for (var i = 0; i < names.length; i++) {
35 if (zone_names[i] == name) {
36 alert("Zone name already used");
37 return false;
38 }
39 }
40 return(true);
41 }
42</script>
43{{end}}
44
45{{define "new_label"}}
46<div>
47 <h3>Creating a new GNS label for zone "{{index .Params "zone"}}":</h3>
48 <form action="/action/new/label/{{.Ref}}" onsubmit="return(label_validate());">
49 <table>
50 <tr>
51 <td align="right">Name:</td>
52 <td><input type="text" id="name" name="name"></td>
53 </tr>
54 </table>
55 <button id="submit">Add label</button>
56 </form>
57 <a href="/"><button>Leave</button></a>
58</div>
59<script>
60 const label_names = [
61 {{range $i, $n := .Names}}
62 '{{$n}}',
63 {{end}}
64 ];
65 function label_validate() {
66 const name = document.getElementById("name").value;
67 if (!name) {
68 alert("Empty labels not allowed");
69 return false;
70 }
71 for (var i = 0; i < names.length; i++) {
72 if (label_names[i] == name) {
73 alert("Label already used");
74 return false;
75 }
76 }
77 return(true);
78 }
79</script>
80{{end}}
81
82{{define "new_record"}}
83{{$data := .}}
84<div>
85 <h3>Creating a new GNS resource record for label "{{index .Params "label"}}":</h3>
86 <div class="tabset">
87 {{range $i, $type := .RRspecs}}
88 <input type="radio" name="tabset" id="tab{{$i}}" aria-controls="tab{{$i}}" {{if eq $i 0}}checked{{end}}>
89 <label for="tab{{$i}}">{{rrtype $type.Type}}</label>
90 {{end}}
91 <div class="tab-panels">
92 {{range $i, $spec := .RRspecs}}
93 <section id="tab{{$i}}" class="tab-panel">
94 {{$t := rrtype $spec.Type}}
95 {{$pf := setspecs $data.Params $spec}}
96 {{if eq $t "PKEY"}}{{template "PKEY" $data}}{{end}}
97 {{if eq $t "EDKEY"}}{{template "EDKEY" $data}}{{end}}
98 {{if eq $t "NICK"}}{{template "NICK" $data}}{{end}}
99 {{if eq $t "LEHO"}}{{template "LEHO" $data}}{{end}}
100 {{if eq $t "REDIRECT"}}{{template "REDIRECT" $data}}{{end}}
101 {{if eq $t "GNS2DNS"}}{{template "GNS2DNS" $data}}{{end}}
102 {{if eq $t "BOX"}}{{template "BOX" $data}}{{end}}
103 {{if eq $t "DNS_CNAME"}}{{template "DNS_CNAME" $data}}{{end}}
104 {{if eq $t "DNS_A"}}{{template "DNS_A" $data}}{{end}}
105 {{if eq $t "DNS_AAAA"}}{{template "DNS_AAAA" $data}}{{end}}
106 {{if eq $t "DNS_MX"}}{{template "DNS_MX" $data}}{{end}}
107 {{if eq $t "DNS_TXT"}}{{template "DNS_TXT" $data}}{{end}}
108 </section>
109 {{end}}
110 </div>
111 </div>
112 <a href="/"><button>Leave</button></a>
113</div>
114{{end}}