summaryrefslogtreecommitdiff
path: root/_www/zone.d/index.html
diff options
context:
space:
mode:
Diffstat (limited to '_www/zone.d/index.html')
-rw-r--r--_www/zone.d/index.html165
1 files changed, 85 insertions, 80 deletions
diff --git a/_www/zone.d/index.html b/_www/zone.d/index.html
index 18483bf..e7e7171 100644
--- a/_www/zone.d/index.html
+++ b/_www/zone.d/index.html
@@ -112,11 +112,11 @@
<div class="nav-left">
<h3>Zone files</h3>
- <div id="Zones"></div>
+ <div id="Zoned"></div>
<label for="newZoneFile"> New zone file: </label>
<input id="newZoneFile" />
- <button onclick="createZoneFile()">Create</button>
+ <button onclick="ZonedCreate()">Create</button>
</div>
<div class="content">
@@ -273,7 +273,7 @@
</div>
<div class="actions">
- <button class="create" onclick="createRR()">Create</button>
+ <button class="create" onclick="ZonedRecordAdd()">Create</button>
</div>
</div>
</div>
@@ -291,41 +291,41 @@
async function main() {
resc = new Rescached("")
- let res = await resc.getEnvironment()
+ let res = await resc.Zoned()
if (res.code != 200) {
notifError(res.message)
return
}
- renderZones(resc.env.Zones)
+ renderZoned(resc.zoned)
resetActiveZone()
}
- async function createZoneFile() {
+ async function ZonedCreate() {
let name = document.getElementById("newZoneFile").value
if (name === "") {
notifError("The zone file name must not be empty")
return
}
- let res = await resc.ZoneFileCreate(name)
+ let res = await resc.ZonedCreate(name)
if (res.code != 200) {
notifError(res.message)
return
}
- renderZones(resc.env.Zones)
+ renderZoned(resc.zoned)
}
- async function deleteZoneFile() {
- let res = await resc.ZoneFileDelete(activeZone.Name)
+ async function ZonedDelete() {
+ let res = await resc.ZonedDelete(activeZone.Name)
if (res.code != 200) {
notifError(res.message)
return
}
- renderZones(resc.env.Zones)
+ renderZoned(resc.zoned)
resetActiveZone()
notifInfo(res.message)
}
- async function createRR() {
+ async function ZonedRecordAdd() {
newRR.Type = parseInt(document.getElementById("rr_type").value)
switch (newRR.Type) {
case 12: // PTR
@@ -345,7 +345,9 @@
newRR.Name = document.getElementById("rr_name").value
newRR.Value = document.getElementById("rr_value").value
}
- console.log("createRR: ", newRR)
+
+ console.log("ZonedRecordAdd: ", newRR)
+
let res = await resc.ZonedRecordAdd(activeZone.Name, newRR)
if (res.code != 200) {
notifError(res.message)
@@ -355,8 +357,9 @@
notifInfo(res.message)
}
- async function deleteRR(name, idx) {
+ async function ZonedRecordDelete(name, idx) {
let rr = activeZone.Records[name][idx]
+ console.log("ZonedRecordDelete: ", rr)
let res = await resc.ZonedRecordDelete(activeZone.Name, rr)
if (res.code != 200) {
notifError(res.message)
@@ -398,20 +401,20 @@
}
}
- function renderZones(zones) {
- let wrapper = document.getElementById("Zones")
+ function renderZoned(zoned) {
+ let wrapper = document.getElementById("Zoned")
out = ""
- for (let name in zones) {
- if (!zones.hasOwnProperty(name)) {
+ for (let name in zoned) {
+ if (!zoned.hasOwnProperty(name)) {
continue
}
- let zoneFile = zones[name]
+ let zoneFile = zoned[name]
out += `
- <div class="item">
- <span onclick="setActiveZone('${zoneFile.Name}')">
- ${zoneFile.Name}
- </span>
- </div>`
+ <div class="item">
+ <span onclick="setActiveZone('${zoneFile.Name}')">
+ ${zoneFile.Name}
+ </span>
+ </div>`
}
wrapper.innerHTML = out
}
@@ -419,29 +422,23 @@
function renderActiveZone() {
let w = document.getElementById("activeZone")
w.innerHTML = `
- <h3>
- ${activeZone.Name}
- <button
- class="action-delete"
- onclick="deleteZoneFile()"
- >
- Delete
- </button>
- </h3>
- `
+ <h3>
+ ${activeZone.Name}
+ <button
+ class="action-delete"
+ onclick="ZonedDelete()"
+ >
+ Delete
+ </button>
+ </h3>
+ `
}
- function renderActiveZoneSOA() {
- const w = document.getElementById("activeZone_soa")
- w.style.display = "block"
- const soa = activeZone.SOA
- document.getElementById("soa_mname").value = soa.MName
- document.getElementById("soa_rname").value = soa.RName
- document.getElementById("soa_serial").value = soa.Serial
- document.getElementById("soa_refresh").value = soa.Refresh
- document.getElementById("soa_retry").value = soa.Retry
- document.getElementById("soa_expire").value = soa.Expire
- document.getElementById("soa_minimum").value = soa.Minimum
+ function renderActiveZoneForm() {
+ let form = document.getElementById("activeZone_form")
+ form.style.display = "block"
+ document.getElementById("rr_type").value = 1
+ onSelectRRType(1)
}
function renderActiveZoneRecords() {
@@ -455,29 +452,43 @@
}
listRR.forEach((rr, idx) => {
out += `
- <div class="rr">
- <span class="name">
- ${rr.Name}
- </span>
- <span class="type">
- ${resc.GetRRTypeName(rr.Type)}
- </span>
- <span class="value">
- ${renderRRValue(rr.Value)}
- </span>
- <span class="actions">
- <button onclick="deleteRR('${rr.Name}', ${idx})">
- X
- </button>
- </span>
- </div>
- `
+ <div class="rr">
+ <span class="name">
+ ${rr.Name}
+ </span>
+ <span class="type">
+ ${resc.GetRRTypeName(rr.Type)}
+ </span>
+ <span class="value">
+ ${renderRecordValue(rr.Value)}
+ </span>
+ <span class="actions">
+ <button onclick="ZonedRecordDelete('${rr.Name}', ${idx})">
+ X
+ </button>
+ </span>
+ </div>
+ `
})
}
w.innerHTML = out
}
- function renderRRValue(value) {
+ function renderActiveZoneSOA() {
+ const w = document.getElementById("activeZone_soa")
+ w.style.display = "block"
+ const soa = activeZone.SOA
+ document.getElementById("soa_mname").value = soa.MName
+ document.getElementById("soa_rname").value = soa.RName
+ document.getElementById("soa_serial").value = soa.Serial
+ document.getElementById("soa_refresh").value = soa.Refresh
+ document.getElementById("soa_retry").value = soa.Retry
+ document.getElementById("soa_expire").value = soa.Expire
+ document.getElementById("soa_minimum").value = soa.Minimum
+ }
+
+
+ function renderRecordValue(value) {
if (typeof value === "object") {
let w = ""
for (const [k, v] of Object.entries(value)) {
@@ -491,17 +502,8 @@
return value
}
- function renderActiveZoneForm() {
- let form = document.getElementById("activeZone_form")
- form.style.display = "block"
- document.getElementById("rr_type").value = 1
- onSelectRRType(1)
- }
-
function resetActiveZone() {
- document.getElementById("activeZone").innerHTML = `
- <p>Select one of the zone file to manage.</p>
- `
+ document.getElementById("activeZone").innerHTML = `<p>Select one of the zone file to manage.</p>`
document.getElementById("activeZone_soa").style.display = "none"
document.getElementById("activeZone_records").style.display = "none"
document.getElementById("activeZone_form").style.display = "none"
@@ -509,10 +511,13 @@
}
async function saveSOA() {
- console.log("saveSOA: ", activeZone.SOA.Value)
- let rr = activeZone.SOA
- rr.Type = 6
- let res = await resc.ZonedRecordAdd(activeZone.Name, rr)
+ activeZone.SOA.Type = 6
+ let req = {
+ Name: activeZone.Name,
+ Type: 6,
+ Value: activeZone.SOA,
+ }
+ let res = await resc.ZonedRecordAdd(activeZone.Name, req)
if (res.code != 200) {
notifError(res.message)
return
@@ -521,13 +526,13 @@
}
async function setActiveZone(name) {
- activeZone = resc.env.Zones[name]
let res = await resc.ZonedRecords(name)
if (res.code != 200) {
notifError(res.message)
return
}
- activeZone.Records = res.data
+
+ activeZone = resc.zoned[name]
console.log("setActiveZone: records: ", activeZone.Records)
renderActiveZone()
renderActiveZoneSOA()
@@ -536,7 +541,7 @@
}
function updateSOA(k, v) {
- activeZone.SOA.Value[k] = v
+ activeZone.SOA[k] = v
}
</script>
</body>