diff --git a/api/frontend/js/settings/settings.js b/api/frontend/js/settings/settings.js
index 501505f..e45e713 100644
--- a/api/frontend/js/settings/settings.js
+++ b/api/frontend/js/settings/settings.js
@@ -1,29 +1,37 @@
-const upstream_dns_servers_table_body = document.querySelector('#upstream-dns-servers-table-body')
-const local_domains_table_body = document.querySelector('#local-domains-table-body')
-const cache_size_input = document.querySelector('#cache-size-input')
-const save_settings_button = document.querySelector('#save-settings-button')
-const add_dns_server_button = document.querySelector('#add_dns_server_button')
-const add_local_domain_button = document.querySelector('#add_local_domain_button')
-const edit_file_input = document.querySelector('#edit_file_input')
-const save_config_file_button = document.querySelector('#save_config_file_button')
+const upstream_dns_servers_table_body = document.querySelector(
+ "#upstream-dns-servers-table-body",
+);
+const local_domains_table_body = document.querySelector(
+ "#local-domains-table-body",
+);
+const cache_size_input = document.querySelector("#cache-size-input");
+const save_settings_button = document.querySelector("#save-settings-button");
+const add_dns_server_button = document.querySelector("#add_dns_server_button");
+const add_local_domain_button = document.querySelector(
+ "#add_local_domain_button",
+);
+const edit_file_input = document.querySelector("#edit_file_input");
+const save_config_file_button = document.querySelector(
+ "#save_config_file_button",
+);
-var settings = {}
-var configFile = ""
+var settings = {};
+var configFile = "";
const updateDnsServersTable = () => {
- upstream_dns_servers_table_body.innerHTML = ""
+ upstream_dns_servers_table_body.innerHTML = "";
for (var i = 0; i < settings.resolv.length; i++) {
upstream_dns_servers_table_body.innerHTML += `
|
${settings.resolv[i]}
|
-
`
+ `;
}
-}
+};
const updateLocalDomainsTable = () => {
- local_domains_table_body.innerHTML = ""
+ local_domains_table_body.innerHTML = "";
for (const [key, value] of Object.entries(settings.hosts)) {
if (Array.isArray(value)) {
for (var i = 0; i < value.length; i++) {
@@ -32,7 +40,7 @@ const updateLocalDomainsTable = () => {
${value[i]} |
|
- `
+ `;
}
} else {
local_domains_table_body.innerHTML += `
@@ -40,144 +48,160 @@ const updateLocalDomainsTable = () => {
| ${value} |
|
-
`
+ `;
}
}
-}
+};
const updateInterface = () => {
- updateDnsServersTable()
- updateLocalDomainsTable()
- cache_size_input.value = settings.cache_size
-}
+ updateDnsServersTable();
+ updateLocalDomainsTable();
+ cache_size_input.value = settings.cache_size;
+};
const getSettings = () => {
fetch(window.location.origin + "/api/settings")
- .then(data => data.json())
- .then(jsondata => {
- settings = jsondata
- updateInterface()
- })
-}
+ .then((data) => data.json())
+ .then((jsondata) => {
+ settings = jsondata;
+ updateInterface();
+ })
+ .catch((e) => alert(e));
+};
const setSettings = () => {
fetch(window.location.origin + "/api/settings", {
- method: 'POST',
- body: JSON.stringify(settings)
- }).then(data => data.json())
- .then(jsondata => {
- settings = jsondata
- updateInterface()
+ method: "POST",
+ body: JSON.stringify(settings),
})
-}
+ .then((data) => data.json())
+ .then((jsondata) => {
+ settings = jsondata;
+ updateInterface();
+ alert("Success set settings");
+ })
+ .catch((e) => alert(e));
+};
-save_settings_button.addEventListener('click', () => {
- setSettings()
-})
+save_settings_button.addEventListener("click", () => {
+ setSettings();
+});
const write_cache_size = (value) => {
- settings.cache_size = value
-}
+ settings.cache_size = value;
+};
-cache_size_input.addEventListener('change', (e) => {
- write_cache_size(e.target.value)
-})
+cache_size_input.addEventListener("change", (e) => {
+ write_cache_size(e.target.value);
+});
-cache_size_input.addEventListener('input', (e) => {
- write_cache_size(e.target.value)
-})
+cache_size_input.addEventListener("input", (e) => {
+ write_cache_size(e.target.value);
+});
-getSettings()
+getSettings();
-add_dns_server_button.addEventListener('click', () => {
- const dns_server = prompt("Input your DNS server:")
- if (dns_server === null) return
+add_dns_server_button.addEventListener("click", () => {
+ const dns_server = prompt("Input your DNS server:");
+ if (dns_server === null) return;
if (confirm("Confirm DNS settings? (add DNS server)")) {
if (Array.isArray(settings.resolv)) {
if (!settings.resolv.includes(dns_server)) {
- settings.resolv.push(dns_server)
- updateDnsServersTable()
+ settings.resolv.push(dns_server);
+ updateDnsServersTable();
}
}
}
-})
+});
-upstream_dns_servers_table_body.addEventListener('click', (e) => {
+upstream_dns_servers_table_body.addEventListener("click", (e) => {
if (e.target.classList.contains("delete-table-button")) {
- if (confirm(`Confirm DNS settings? (delete DNS server: ${e.target.id})`)) {
+ if (
+ confirm(`Confirm DNS settings? (delete DNS server: ${e.target.id})`)
+ ) {
if (Array.isArray(settings.resolv)) {
- settings.resolv.splice(e.target.id, 1)
- updateDnsServersTable()
+ settings.resolv.splice(e.target.id, 1);
+ updateDnsServersTable();
}
}
}
-})
+});
-add_local_domain_button.addEventListener('click', () => {
- const domainip = prompt('Input localdomain IP:')
- if (domainip === null) return
- const domain = prompt('Input domain:')
- if (domainip === null || domain === null) return
- if (confirm(`Confirm DNS settings? (Add Local Domain: ${domainip} ${domain})`)) {
+add_local_domain_button.addEventListener("click", () => {
+ const domainip = prompt("Input localdomain IP:");
+ if (domainip === null) return;
+ const domain = prompt("Input domain:");
+ if (domainip === null || domain === null) return;
+ if (
+ confirm(
+ `Confirm DNS settings? (Add Local Domain: ${domainip} ${domain})`,
+ )
+ ) {
for (const [key, value] of Object.entries(settings.hosts)) {
if (key === domainip) {
if (Array.isArray(value)) {
if (!value.includes(domain)) {
- value.push(domain)
- updateLocalDomainsTable()
- return
+ value.push(domain);
+ updateLocalDomainsTable();
+ return;
}
- return
+ return;
}
- const domainsarray = [value, domain]
- settings.hosts[key] = domainsarray
- updateLocalDomainsTable()
- return
+ const domainsarray = [value, domain];
+ settings.hosts[key] = domainsarray;
+ updateLocalDomainsTable();
+ return;
}
}
- settings.hosts[domainip] = domain
- updateLocalDomainsTable()
+ settings.hosts[domainip] = domain;
+ updateLocalDomainsTable();
}
-})
+});
-local_domains_table_body.addEventListener('click', (e) => {
- if (e.target.classList.contains('deldomain')) {
+local_domains_table_body.addEventListener("click", (e) => {
+ if (e.target.classList.contains("deldomain")) {
if (confirm(`Confirm DNS settings? (delete domain: ${e.target.id})`)) {
- const domainip = e.target.id.split("|")[0]
- const domain = e.target.id.split("|")[1]
+ const domainip = e.target.id.split("|")[0];
+ const domain = e.target.id.split("|")[1];
for (const [key, value] of Object.entries(settings.hosts)) {
if (key === domainip) {
if (Array.isArray(value)) {
if (value.includes(domain)) {
- value.splice(value.indexOf(domain), 1)
- updateLocalDomainsTable()
- return
+ value.splice(value.indexOf(domain), 1);
+ updateLocalDomainsTable();
+ return;
}
- return
+ return;
}
- delete settings.hosts[key]
- updateLocalDomainsTable()
- return
+ delete settings.hosts[key];
+ updateLocalDomainsTable();
+ return;
}
}
}
}
-})
+});
const getConfigFile = () => {
fetch(window.location.origin + "/api/settings/file")
- .then(data => data.text())
- .then(textdata => edit_file_input.value = textdata)
-}
+ .then((data) => data.text())
+ .then((textdata) => (edit_file_input.value = textdata))
+ .catch((e) => alert(e));
+};
-getConfigFile()
+getConfigFile();
-save_config_file_button.addEventListener('click', () => {
+save_config_file_button.addEventListener("click", () => {
if (confirm("Save Config file?")) {
fetch(window.location.origin + "/api/settings/file", {
- method: 'POST',
- body: edit_file_input.value
- }).then(data => data.text())
- .then(textdata => edit_file_input.value = textdata)
+ method: "POST",
+ body: edit_file_input.value,
+ })
+ .then((data) => data.text())
+ .then((textdata) => {
+ edit_file_input.value = textdata;
+ alert("Success write settings file");
+ })
+ .catch((e) => alert(e));
}
-})
\ No newline at end of file
+});