diff --git a/scripts/pi-hole/js/groups-lists.js b/scripts/pi-hole/js/groups-lists.js index 0c7f54aa..5caef0f0 100644 --- a/scripts/pi-hole/js/groups-lists.js +++ b/scripts/pi-hole/js/groups-lists.js @@ -23,39 +23,10 @@ $(function () { function format(data) { // Generate human-friendly status string - var statusText = "Unknown"; + var statusText = setStatusText(data, true); var numbers = true; - if (data.status !== null) { - switch (parseInt(data.status, 10)) { - case 0: - statusText = - data.enabled === 0 - ? "List is disabled and not checked" - : "List was not downloaded so far"; - numbers = false; - break; - case 1: - statusText = 'List download was successful (OK)'; - break; - case 2: - statusText = - 'List unchanged upstream, Pi-hole used a local copy (OK)'; - break; - case 3: - statusText = - 'List unavailable, Pi-hole used a local copy (check list)'; - break; - case 4: - statusText = - 'List unavailable, there is no local copy of this list available on your Pi-hole (replace list)'; - numbers = false; - break; - - default: - statusText = - 'Unknown (' + parseInt(data.status, 10) + ")"; - break; - } + if (data.status === 0 || data.status === 4) { + numbers = false; } // Compile extra info for displaying @@ -135,6 +106,46 @@ function setStatusIcon(statusCode) { return ""; } +// Define human-friendly status string +function setStatusText(data, showdetails = false) { + var statusText = "Unknown", + statusDetails = ""; + if (data.status !== null) { + switch (parseInt(data.status, 10)) { + case 0: + statusText = + data.enabled === 0 + ? "List is disabled and not checked" + : "List was not downloaded so far"; + break; + case 1: + statusText = "List download was successful"; + statusDetails = ' (OK)'; + break; + case 2: + statusText = "List unchanged upstream, Pi-hole used a local copy"; + statusDetails = ' (OK)'; + break; + case 3: + statusText = "List unavailable, Pi-hole used a local copy"; + statusDetails = ' (check list)'; + break; + case 4: + statusText = + "List unavailable, there is no local copy of this list available on your Pi-hole"; + statusDetails = ' (replace list)'; + break; + + default: + statusText = "Unknown"; + statusDetails = ' (' + parseInt(data.status, 10) + ")"; + break; + } + } + + return statusText + (showdetails === true ? statusDetails : ""); +} + // Define the status icon element function setTypeIcon(type) { //Add red ban icon if data["type"] is "block"