diff options
Diffstat (limited to 'src/gnunet/service/zonemaster/gui_new.htpl')
-rw-r--r-- | src/gnunet/service/zonemaster/gui_new.htpl | 114 |
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"> PKEY (Ed25519+EcDSA)<br> | ||
14 | <input type="radio" id="edkey" name="keytype" value="EDKEY"> 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}} | ||