From 3b0edd5bcdeca7a2ce79b6f84f9b6250d8cc4751 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 11 Sep 2021 16:13:53 +0530 Subject: [PATCH] webapp main.js: using moment js to format date time. Moved code to new js files. --- DnsServerCore/www/js/main.js | 674 +---------------------------------- 1 file changed, 14 insertions(+), 660 deletions(-) diff --git a/DnsServerCore/www/js/main.js b/DnsServerCore/www/js/main.js index 20f74155..6f1034e8 100644 --- a/DnsServerCore/www/js/main.js +++ b/DnsServerCore/www/js/main.js @@ -57,6 +57,8 @@ function showPageMain(username) { $("#settingsTabPaneGeneral").addClass("active"); $("#dhcpTabListLeases").addClass("active"); $("#dhcpTabPaneLeases").addClass("active"); + $("#logsTabListLogViewer").addClass("active"); + $("#logsTabPaneLogViewer").addClass("active"); $("#divDhcpViewScopes").show(); $("#divDhcpEditScope").hide(); @@ -909,7 +911,7 @@ function loadDnsSettings() { if (responseJSON.response.temporaryDisableBlockingTill == null) $("#lblTemporaryDisableBlockingTill").text("Not Set"); else - $("#lblTemporaryDisableBlockingTill").text(responseJSON.response.temporaryDisableBlockingTill); + $("#lblTemporaryDisableBlockingTill").text(moment(responseJSON.response.temporaryDisableBlockingTill).local().format("YYYY-MM-DD HH:mm:ss")); $("#txtTemporaryDisableBlockingMinutes").val(""); @@ -967,10 +969,17 @@ function loadDnsSettings() { $("#txtBlockListUpdateIntervalHours").val(responseJSON.response.blockListUpdateIntervalHours); - if (responseJSON.response.blockListNextUpdatedOn == null) + if (responseJSON.response.blockListNextUpdatedOn == null) { $("#lblBlockListNextUpdatedOn").text("Not Scheduled"); - else - $("#lblBlockListNextUpdatedOn").text(responseJSON.response.blockListNextUpdatedOn); + } + else { + var blockListNextUpdatedOn = moment(responseJSON.response.blockListNextUpdatedOn); + + if (moment().utc().isBefore(blockListNextUpdatedOn)) + $("#lblBlockListNextUpdatedOn").text(blockListNextUpdatedOn.local().format("YYYY-MM-DD HH:mm:ss")); + else + $("#lblBlockListNextUpdatedOn").text("Updating Now"); + } divDnsSettingsLoader.hide(); divDnsSettings.show(); @@ -1393,7 +1402,7 @@ function temporaryDisableBlockingNow() { btn.button('reset'); $("#chkEnableBlocking").prop("checked", false); - $("#lblTemporaryDisableBlockingTill").text(responseJSON.response.temporaryDisableBlockingTill); + $("#lblTemporaryDisableBlockingTill").text(moment(responseJSON.response.temporaryDisableBlockingTill).local().format("YYYY-MM-DD HH:mm:ss")); showAlert("success", "Blocking Disabled!", "Blocking was successfully disabled temporarily for " + htmlEncode(minutes) + " minute(s)."); }, @@ -1409,22 +1418,6 @@ function temporaryDisableBlockingNow() { return false; } -function cleanTextList(text) { - text = text.replace(/\n/g, ","); - - while (text.indexOf(",,") !== -1) { - text = text.replace(/,,/g, ","); - } - - if (text.startsWith(",")) - text = text.substr(1); - - if (text.endsWith(",")) - text = text.substr(0, text.length - 1); - - return text; -} - function updateChart(chart, data) { chart.data = data; chart.update(); @@ -1849,392 +1842,6 @@ function showTopStats(statsType, limit) { return false; } -function flushDnsCache() { - - if (!confirm("Are you sure to flush the DNS Server cache?")) - return false; - - var btn = $("#btnFlushDnsCache").button('loading'); - - HTTPRequest({ - url: "/api/flushDnsCache?token=" + token, - success: function (responseJSON) { - btn.button('reset'); - showAlert("success", "Cache Flushed!", "DNS Server cache was flushed successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - } - }); - - return false; -} - -function deleteCachedZone() { - - var domain = $("#txtCachedZoneViewerTitle").text(); - - if (!confirm("Are you sure you want to delete the cached zone '" + domain + "' and all its records?")) - return false; - - var btn = $("#btnDeleteCachedZone").button('loading'); - - HTTPRequest({ - url: "/api/deleteCachedZone?token=" + token + "&domain=" + domain, - success: function (responseJSON) { - refreshCachedZonesList(getParentDomain(domain), "up"); - - btn.button('reset'); - showAlert("success", "Cached Zone Deleted!", "Cached zone was deleted successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - } - }); - - return false; -} - -function getParentDomain(domain) { - - if ((domain != null) && (domain != "")) { - var parentDomain; - var i = domain.indexOf("."); - - if (i == -1) - parentDomain = ""; - else - parentDomain = domain.substr(i + 1); - - return parentDomain; - } - - return null; -} - -function refreshCachedZonesList(domain, direction) { - - if (domain == null) - domain = ""; - - domain.toLowerCase(); - - var lstCachedZones = $("#lstCachedZones"); - var divCachedZoneViewer = $("#divCachedZoneViewer"); - var preCachedZoneViewerBody = $("#preCachedZoneViewerBody"); - - divCachedZoneViewer.hide(); - preCachedZoneViewerBody.hide(); - - HTTPRequest({ - url: "/api/listCachedZones?token=" + token + "&domain=" + domain + ((direction == null) ? "" : "&direction=" + direction), - success: function (responseJSON) { - var newDomain = responseJSON.response.domain; - var zones = responseJSON.response.zones; - - var list = "
[refresh]
" - - var parentDomain = getParentDomain(newDomain); - - if (parentDomain != null) - list += "
[up]
" - - for (var i = 0; i < zones.length; i++) { - var zoneName = htmlEncode(zones[i]); - - list += "
" + zoneName + "
" - } - - lstCachedZones.html(list); - - if (newDomain == "") { - $("#txtCachedZoneViewerTitle").text(""); - $("#btnDeleteCachedZone").hide(); - } - else { - $("#txtCachedZoneViewerTitle").text(newDomain); - $("#btnDeleteCachedZone").show(); - } - - if (responseJSON.response.records.length > 0) { - preCachedZoneViewerBody.text(JSON.stringify(responseJSON.response.records, null, 2)); - preCachedZoneViewerBody.show(); - } - - divCachedZoneViewer.show(); - }, - invalidToken: function () { - showPageLogin(); - }, - error: function () { - lstCachedZones.html(""); - }, - objLoaderPlaceholder: lstCachedZones - }); - - return false; -} - -function allowZone() { - - var domain = $("#txtAllowZone").val(); - - if ((domain === null) || (domain === "")) { - showAlert("warning", "Missing!", "Please enter a domain name to allow."); - $("#txtAllowZone").focus(); - return false; - } - - var btn = $("#btnAllowZone").button('loading'); - - HTTPRequest({ - url: "/api/allowZone?token=" + token + "&domain=" + domain, - success: function (responseJSON) { - refreshAllowedZonesList(domain); - - $("#txtAllowZone").val(""); - btn.button('reset'); - - showAlert("success", "Zone Allowed!", "Zone was allowed successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - } - }); - - return false; -} - -function deleteAllowedZone() { - - var domain = $("#txtAllowedZoneViewerTitle").text(); - - if (!confirm("Are you sure you want to delete the allowed zone '" + domain + "'?")) - return false; - - var btn = $("#btnDeleteAllowedZone").button('loading'); - - HTTPRequest({ - url: "/api/deleteAllowedZone?token=" + token + "&domain=" + domain, - success: function (responseJSON) { - refreshAllowedZonesList(getParentDomain(domain), "up"); - - btn.button('reset'); - showAlert("success", "Allowed Zone Deleted!", "Allowed zone was deleted successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - } - }); - - return false; -} - -function refreshAllowedZonesList(domain, direction) { - - if (domain == null) - domain = ""; - - domain.toLowerCase(); - - var lstAllowedZones = $("#lstAllowedZones"); - var divAllowedZoneViewer = $("#divAllowedZoneViewer"); - var preAllowedZoneViewerBody = $("#preAllowedZoneViewerBody"); - - divAllowedZoneViewer.hide(); - preAllowedZoneViewerBody.hide(); - - HTTPRequest({ - url: "/api/listAllowedZones?token=" + token + "&domain=" + domain + ((direction == null) ? "" : "&direction=" + direction), - success: function (responseJSON) { - var newDomain = responseJSON.response.domain; - var zones = responseJSON.response.zones; - - var list = "" - - var parentDomain = getParentDomain(newDomain); - - if (parentDomain != null) - list += "" - - for (var i = 0; i < zones.length; i++) { - var zoneName = htmlEncode(zones[i]); - - list += "" - } - - lstAllowedZones.html(list); - - if (newDomain == "") { - $("#txtAllowedZoneViewerTitle").text(""); - $("#btnDeleteAllowedZone").hide(); - } - else { - $("#txtAllowedZoneViewerTitle").text(newDomain); - $("#btnDeleteAllowedZone").show(); - } - - if (responseJSON.response.records.length > 0) { - preAllowedZoneViewerBody.text(JSON.stringify(responseJSON.response.records, null, 2)); - preAllowedZoneViewerBody.show(); - } - - divAllowedZoneViewer.show(); - }, - invalidToken: function () { - showPageLogin(); - }, - error: function () { - lstAllowedZones.html(""); - }, - objLoaderPlaceholder: lstAllowedZones - }); - - return false; -} - -function blockZone() { - - var domain = $("#txtBlockZone").val(); - - if ((domain === null) || (domain === "")) { - showAlert("warning", "Missing!", "Please enter a domain name to block."); - $("#txtBlockZone").focus(); - return false; - } - - var btn = $("#btnBlockZone").button('loading'); - - HTTPRequest({ - url: "/api/blockZone?token=" + token + "&domain=" + domain, - success: function (responseJSON) { - refreshBlockedZonesList(domain); - - $("#txtBlockZone").val(""); - btn.button('reset'); - - showAlert("success", "Zone Blocked!", "Domain was added to Blocked Zone successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - } - }); - - return false; -} - -function deleteBlockedZone() { - - var domain = $("#txtBlockedZoneViewerTitle").text(); - - if (!confirm("Are you sure you want to delete the blocked zone '" + domain + "'?")) - return false; - - var btn = $("#btnDeleteBlockedZone").button('loading'); - - HTTPRequest({ - url: "/api/deleteBlockedZone?token=" + token + "&domain=" + domain, - success: function (responseJSON) { - refreshBlockedZonesList(getParentDomain(domain), "up"); - - btn.button('reset'); - showAlert("success", "Blocked Zone Deleted!", "Blocked zone was deleted successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - } - }); - - return false; -} - -function refreshBlockedZonesList(domain, direction) { - - if (domain == null) - domain = ""; - - domain.toLowerCase(); - - var lstBlockedZones = $("#lstBlockedZones"); - var divBlockedZoneViewer = $("#divBlockedZoneViewer"); - var preBlockedZoneViewerBody = $("#preBlockedZoneViewerBody"); - - divBlockedZoneViewer.hide(); - preBlockedZoneViewerBody.hide(); - - HTTPRequest({ - url: "/api/listBlockedZones?token=" + token + "&domain=" + domain + ((direction == null) ? "" : "&direction=" + direction), - success: function (responseJSON) { - var newDomain = responseJSON.response.domain; - var zones = responseJSON.response.zones; - - var list = "" - - var parentDomain = getParentDomain(newDomain); - - if (parentDomain != null) - list += "" - - for (var i = 0; i < zones.length; i++) { - var zoneName = htmlEncode(zones[i]); - - list += "" - } - - lstBlockedZones.html(list); - - if (newDomain == "") { - $("#txtBlockedZoneViewerTitle").text(""); - $("#btnDeleteBlockedZone").hide(); - } - else { - $("#txtBlockedZoneViewerTitle").text(newDomain); - $("#btnDeleteBlockedZone").show(); - } - - if (responseJSON.response.records.length > 0) { - preBlockedZoneViewerBody.text(JSON.stringify(responseJSON.response.records, null, 2)); - preBlockedZoneViewerBody.show(); - } - - divBlockedZoneViewer.show(); - }, - invalidToken: function () { - showPageLogin(); - }, - error: function () { - lstBlockedZones.html(""); - }, - objLoaderPlaceholder: lstBlockedZones - }); - - return false; -} - function resolveQuery(importRecords) { if (importRecords == null) @@ -2347,259 +1954,6 @@ function resolveQuery(importRecords) { return false; } -function refreshLogFilesList() { - - var lstLogFiles = $("#lstLogFiles"); - - HTTPRequest({ - url: "/api/listLogs?token=" + token, - success: function (responseJSON) { - var logFiles = responseJSON.response.logFiles; - - var list = ""; - - if (logFiles.length == 0) { - list += "
No Log Was Found
"; - } - else { - list += ""; - - for (var i = 0; i < logFiles.length; i++) { - var logFile = logFiles[i]; - - list += "" - } - } - - lstLogFiles.html(list); - }, - invalidToken: function () { - showPageLogin(); - }, - objLoaderPlaceholder: lstLogFiles - }); - - return false; -} - -function viewLog(logFile) { - - var divLogViewer = $("#divLogViewer"); - var txtLogViewerTitle = $("#txtLogViewerTitle"); - var divLogViewerLoader = $("#divLogViewerLoader"); - var preLogViewerBody = $("#preLogViewerBody"); - - txtLogViewerTitle.text(logFile); - - preLogViewerBody.hide(); - divLogViewerLoader.show(); - divLogViewer.show(); - - HTTPGetFileRequest({ - url: "/log/" + logFile + "?limit=2&token=" + token, - success: function (response) { - - divLogViewerLoader.hide(); - - preLogViewerBody.text(response); - preLogViewerBody.show(); - }, - objLoaderPlaceholder: divLogViewerLoader - }); - - return false; -} - -function downloadLog() { - - var logFile = $("#txtLogViewerTitle").text(); - - window.open("/log/" + logFile + "?token=" + token + "&ts=" + (new Date().getTime()), "_blank"); - - return false; -} - -function deleteLog() { - - var logFile = $("#txtLogViewerTitle").text(); - - if (!confirm("Are you sure you want to permanently delete the log file '" + logFile + "'?")) - return false; - - var btn = $("#btnDeleteLog").button('loading'); - - HTTPRequest({ - url: "/api/deleteLog?token=" + token + "&log=" + logFile, - success: function (responseJSON) { - refreshLogFilesList(); - - $("#divLogViewer").hide(); - btn.button('reset'); - - showAlert("success", "Log Deleted!", "Log file was deleted successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - } - }); - - return false; -} - -function deleteAllLogs() { - - if (!confirm("Are you sure you want to permanently delete all log files?")) - return false; - - HTTPRequest({ - url: "/api/deleteAllLogs?token=" + token, - success: function (responseJSON) { - refreshLogFilesList(); - - $("#divLogViewer").hide(); - - showAlert("success", "Logs Deleted!", "All log files were deleted successfully."); - }, - invalidToken: function () { - showPageLogin(); - } - }); - - return false; -} - -function deleteAllStats() { - - if (!confirm("Are you sure you want to permanently delete all stats files?")) - return false; - - HTTPRequest({ - url: "/api/deleteAllStats?token=" + token, - success: function (responseJSON) { - showAlert("success", "Stats Deleted!", "All stats files were deleted successfully."); - }, - invalidToken: function () { - showPageLogin(); - } - }); - - return false; -} - -function resetImportAllowedZonesModal() { - - $("#divImportAllowedZonesAlert").html(""); - $("#txtImportAllowedZones").val(""); - - setTimeout(function () { - $("#txtImportAllowedZones").focus(); - }, 1000); - - return false; -} - -function importAllowedZones() { - var divImportAllowedZonesAlert = $("#divImportAllowedZonesAlert"); - var allowedZones = cleanTextList($("#txtImportAllowedZones").val()); - - if ((allowedZones.length === 0) || (allowedZones === ",")) { - showAlert("warning", "Missing!", "Please enter allowed zones to import.", divImportAllowedZonesAlert); - $("#txtImportAllowedZones").focus(); - return false; - } - - var btn = $("#btnImportAllowedZones").button('loading'); - - HTTPRequest({ - url: "/api/importAllowedZones?token=" + token, - data: "allowedZones=" + allowedZones, - success: function (responseJSON) { - $("#modalImportAllowedZones").modal("hide"); - btn.button('reset'); - - showAlert("success", "Imported!", "Domain names were imported to allowed zone successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - }, - objAlertPlaceholder: divImportAllowedZonesAlert - }); - - return false; -} - -function exportAllowedZones() { - - window.open("/api/exportAllowedZones?token=" + token, "_blank"); - - showAlert("success", "Exported!", "Allowed zones were exported successfully."); - - return false; -} - -function resetImportBlockedZonesModal() { - - $("#divImportBlockedZonesAlert").html(""); - $("#txtImportBlockedZones").val(""); - - setTimeout(function () { - $("#txtImportBlockedZones").focus(); - }, 1000); - - return false; -} - -function importBlockedZones() { - var divImportBlockedZonesAlert = $("#divImportBlockedZonesAlert"); - var blockedZones = cleanTextList($("#txtImportBlockedZones").val()); - - if ((blockedZones.length === 0) || (blockedZones === ",")) { - showAlert("warning", "Missing!", "Please enter blocked zones to import.", divImportBlockedZonesAlert); - $("#txtImportBlockedZones").focus(); - return false; - } - - var btn = $("#btnImportBlockedZones").button('loading'); - - HTTPRequest({ - url: "/api/importBlockedZones?token=" + token, - data: "blockedZones=" + blockedZones, - success: function (responseJSON) { - $("#modalImportBlockedZones").modal("hide"); - btn.button('reset'); - - showAlert("success", "Imported!", "Domain names were imported to blocked zone successfully."); - }, - error: function () { - btn.button('reset'); - }, - invalidToken: function () { - btn.button('reset'); - showPageLogin(); - }, - objAlertPlaceholder: divImportBlockedZonesAlert - }); - - return false; -} - -function exportBlockedZones() { - - window.open("/api/exportBlockedZones?token=" + token, "_blank"); - - showAlert("success", "Exported!", "Blocked zones were exported successfully."); - - return false; -} - function resetBackupSettingsModal() { $("#divBackupSettingsAlert").html("");