You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
3.7 KiB
137 lines
3.7 KiB
2 years ago
|
|
||
|
{{define "title"}}
|
||
|
Protection | Shield
|
||
|
{{end}}
|
||
|
|
||
|
{{define "body"}}
|
||
|
|
||
|
<table class="table" id="Domains">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th scope="col">Domain</th>
|
||
|
<th scope="col">Server</th>
|
||
|
<th scope="col">Port</th>
|
||
|
<th scope="col">Action</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<tr>
|
||
|
<th scope="row">1</th>
|
||
|
<td>@domainname</td>
|
||
|
<td>@server</td>
|
||
|
<td>@port</td>
|
||
|
</tr>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
<div class="row align-items-start">
|
||
|
<div class="col" id="test">
|
||
|
<div class="input-group mb-3">
|
||
|
TEST - 1
|
||
|
</div>
|
||
|
<div class="input-group mb-3">
|
||
|
TEST - 2
|
||
|
</div>
|
||
|
<div class="form-floating">
|
||
|
TEST - 3
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<div class="form-floating">
|
||
|
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#DomainAddModal">
|
||
|
Add Domain
|
||
|
</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<!-- Modal -->
|
||
|
<div class="modal fade" id="DomainAddModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||
|
<div class="modal-dialog">
|
||
|
<div class="modal-content">
|
||
|
<div class="modal-header">
|
||
|
<h5 class="modal-title" id="exampleModalLabel">New Domain</h5>
|
||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||
|
</div>
|
||
|
<div class="modal-body">
|
||
|
<label for="inputEmail" class="sr-only">Domain Name</label>
|
||
|
<input type="text" id="Domain" name="Domain" class="form-control" placeholder="contoso.co" required autofocus>
|
||
|
<label for="inputEmail" class="sr-only">Server</label>
|
||
|
<input type="text" id="Server" name="Server" class="form-control" placeholder="FQDN or IP address" required>
|
||
|
<label for="inputEmail" class="sr-only">Port</label>
|
||
|
<input type="text" id="Port" name="Port" class="form-control" placeholder="443 or any other" required>
|
||
|
</div>
|
||
|
<div class="modal-footer">
|
||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||
|
<button type="button" class="btn btn-primary" onclick="AddDomain()">Save</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
|
||
|
function AddDomain() {
|
||
|
$.ajax({
|
||
|
url: "http://localhost:8080/api/domains",
|
||
|
type: "POST",
|
||
|
data: JSON.stringify({
|
||
|
"DomainName": $("#Domain").val(),
|
||
|
"RealServer": $("#Server").val(),
|
||
|
"RealPort": $("#Port").val(),
|
||
|
}),
|
||
|
success: function(result) {
|
||
|
console.log("DONE!")
|
||
|
console.log(result)
|
||
|
}
|
||
|
})
|
||
|
|
||
|
}
|
||
|
|
||
|
$.ajax({
|
||
|
url: "http://localhost:8080/api/domains",
|
||
|
type: "GET",
|
||
|
data: JSON.stringify({
|
||
|
}),
|
||
|
success: function(result) {
|
||
|
if (result == null) {
|
||
|
console.log("domain list is empty")
|
||
|
return
|
||
|
}
|
||
|
var content = ''
|
||
|
for (var i = 0; i<result.length; i++) {
|
||
|
content += '<th scope="row">' + i + "</th>"
|
||
|
content += '<tr>'
|
||
|
|
||
|
content += '<td>'
|
||
|
content += result[i].DomainName
|
||
|
content += '</td>'
|
||
|
|
||
|
content += '<td>'
|
||
|
content += result[i].RealServer
|
||
|
content += '</td>'
|
||
|
|
||
|
content += '<td>'
|
||
|
content += result[i].RealPort
|
||
|
content += '</td>'
|
||
|
|
||
|
content += '<td>'
|
||
|
content += '<a href="/domain/' + result[i].DomainName +'" type="button" class="btn btn-warning">Edit</a>'
|
||
|
content += '</td>'
|
||
|
|
||
|
content += '</tr>'
|
||
|
|
||
|
}
|
||
|
|
||
|
$('#Domains tbody').html(content)
|
||
|
|
||
|
console.log("DONE!")
|
||
|
}
|
||
|
})
|
||
|
|
||
|
</script>
|
||
|
|
||
|
{{ .Data }}
|
||
|
|
||
|
{{end}}
|