diff --git a/DnsServerCore/www/js/zone.js b/DnsServerCore/www/js/zone.js index fc783dad..f14b9f20 100644 --- a/DnsServerCore/www/js/zone.js +++ b/DnsServerCore/www/js/zone.js @@ -1,6 +1,6 @@ /* Technitium DNS Server -Copyright (C) 2022 Shreyas Zare (shreyas@technitium.com) +Copyright (C) 2023 Shreyas Zare (shreyas@technitium.com) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -64,6 +64,7 @@ $(function () { break; case "Tls": + case "Quic": $("#txtAddZoneForwarder").attr("placeholder", "dns.quad9.net (9.9.9.9:853)") break; @@ -2763,6 +2764,7 @@ function updateAddEditFormForwarderPlaceholder() { break; case "Tls": + case "Quic": $("#txtAddEditRecordDataForwarder").attr("placeholder", "dns.quad9.net (9.9.9.9:853)") break; @@ -2899,6 +2901,10 @@ function showEditRecordModal(objBtn) { $("#rdEditRecordDataSoaZoneTransferProtocolTls").prop("checked", true); break; + case "quic": + $("#rdEditRecordDataSoaZoneTransferProtocolQuic").prop("checked", true); + break; + case "tcp": default: $("#rdEditRecordDataSoaZoneTransferProtocolTcp").prop("checked", true); @@ -3952,8 +3958,12 @@ function refreshDnssecProperties(divDnssecPropertiesLoader) { + "" + responseJSON.response.dnssecPrivateKeys[i].keyType + "" + "" + responseJSON.response.dnssecPrivateKeys[i].algorithm + "" + "" + responseJSON.response.dnssecPrivateKeys[i].state + "" - + "" + moment(responseJSON.response.dnssecPrivateKeys[i].stateChangedOn).local().format("YYYY-MM-DD HH:mm") + "" - + ""; + + "" + moment(responseJSON.response.dnssecPrivateKeys[i].stateChangedOn).local().format("YYYY-MM-DD HH:mm"); + + if (responseJSON.response.dnssecPrivateKeys[i].stateReadyBy != null) + tableHtmlRows += "
(ready by: " + moment(responseJSON.response.dnssecPrivateKeys[i].stateReadyBy).local().format("YYYY-MM-DD HH:mm") + ")"; + + tableHtmlRows += ""; if (responseJSON.response.dnssecPrivateKeys[i].keyType === "ZoneSigningKey") { switch (responseJSON.response.dnssecPrivateKeys[i].state) { @@ -3984,15 +3994,19 @@ function refreshDnssecProperties(divDnssecPropertiesLoader) { switch (responseJSON.response.dnssecPrivateKeys[i].state) { case "Generated": - tableHtmlRows += ""; + tableHtmlRows += "
"; foundGeneratedKey = true; break; case "Ready": case "Active": if (!responseJSON.response.dnssecPrivateKeys[i].isRetiring) { - tableHtmlRows += ""; - tableHtmlRows += ""; + tableHtmlRows += "
"; } break; } @@ -4074,16 +4088,17 @@ function updateDnssecPrivateKey(keyTag, objBtn) { }); } -function deleteDnssecPrivateKey(keyTag, objBtn) { - if (!confirm("Are you sure to permanently delete the private key?")) +function deleteDnssecPrivateKey(keyTag, id) { + if (!confirm("Are you sure to permanently delete the private key (" + keyTag + ")?")) return; - var btn = $(objBtn); - var id = btn.attr("data-id"); var divDnssecPropertiesAlert = $("#divDnssecPropertiesAlert"); var zone = $("#lblDnssecPropertiesZoneName").attr("data-zone"); - btn.button('loading'); + var btn = $("#btnDnssecPropertiesDnsKeyRowOption" + id); + var originalBtnHtml = btn.html(); + btn.prop("disabled", true); + btn.html(""); HTTPRequest({ url: "/api/zones/dnssec/properties/deletePrivateKey?token=" + sessionData.token + "&zone=" + zone + "&keyTag=" + keyTag, @@ -4092,7 +4107,8 @@ function deleteDnssecPrivateKey(keyTag, objBtn) { showAlert("success", "Private Key Deleted!", "The DNSSEC private key was deleted successfully.", divDnssecPropertiesAlert); }, error: function () { - btn.button('reset'); + btn.prop("disabled", false); + btn.html(originalBtnHtml); }, invalidToken: function () { $("#modalDnssecProperties").modal("hide"); @@ -4102,15 +4118,17 @@ function deleteDnssecPrivateKey(keyTag, objBtn) { }); } -function rolloverDnssecDnsKey(keyTag, objBtn) { - if (!confirm("Are you sure you want to rollover the DNS Key?")) +function rolloverDnssecDnsKey(keyTag, id) { + if (!confirm("Are you sure you want to rollover the DNS Key (" + keyTag + ")?")) return; - var btn = $(objBtn); var divDnssecPropertiesAlert = $("#divDnssecPropertiesAlert"); var zone = $("#lblDnssecPropertiesZoneName").attr("data-zone"); - btn.button('loading'); + var btn = $("#btnDnssecPropertiesDnsKeyRowOption" + id); + var originalBtnHtml = btn.html(); + btn.prop("disabled", true); + btn.html(""); HTTPRequest({ url: "/api/zones/dnssec/properties/rolloverDnsKey?token=" + sessionData.token + "&zone=" + zone + "&keyTag=" + keyTag, @@ -4119,7 +4137,8 @@ function rolloverDnssecDnsKey(keyTag, objBtn) { showAlert("success", "Rollover Done!", "The DNS Key was rolled over successfully.", divDnssecPropertiesAlert); }, error: function () { - btn.button('reset'); + btn.prop("disabled", false); + btn.html(originalBtnHtml); }, invalidToken: function () { $("#modalDnssecProperties").modal("hide"); @@ -4129,15 +4148,17 @@ function rolloverDnssecDnsKey(keyTag, objBtn) { }); } -function retireDnssecDnsKey(keyTag, objBtn) { - if (!confirm("Are you sure you want to retire the DNS Key?")) +function retireDnssecDnsKey(keyTag, id) { + if (!confirm("Are you sure you want to retire the DNS Key (" + keyTag + ")?")) return; - var btn = $(objBtn); var divDnssecPropertiesAlert = $("#divDnssecPropertiesAlert"); var zone = $("#lblDnssecPropertiesZoneName").attr("data-zone"); - btn.button('loading'); + var btn = $("#btnDnssecPropertiesDnsKeyRowOption" + id); + var originalBtnHtml = btn.html(); + btn.prop("disabled", true); + btn.html(""); HTTPRequest({ url: "/api/zones/dnssec/properties/retireDnsKey?token=" + sessionData.token + "&zone=" + zone + "&keyTag=" + keyTag, @@ -4146,7 +4167,8 @@ function retireDnssecDnsKey(keyTag, objBtn) { showAlert("success", "DNS Key Retired!", "The DNS Key was retired successfully.", divDnssecPropertiesAlert); }, error: function () { - btn.button('reset'); + btn.prop("disabled", false); + btn.html(originalBtnHtml); }, invalidToken: function () { $("#modalDnssecProperties").modal("hide");