diff --git a/scripts/pi-hole/js/groups-adlists.js b/scripts/pi-hole/js/groups-adlists.js index 0b4f4387..759a3290 100644 --- a/scripts/pi-hole/js/groups-adlists.js +++ b/scripts/pi-hole/js/groups-adlists.js @@ -2,217 +2,266 @@ var table; var groups = []; const token = $("#token").html(); -function showAlert(type, message) -{ - var alertElement = null; - var messageElement = null; +function showAlert(type, message) { + var alertElement = null; + var messageElement = null; - switch (type) - { - case 'info': alertElement = $('#alInfo'); break; - case 'success': alertElement = $('#alSuccess'); break; - case 'warning': alertElement = $('#alWarning'); messageElement = $('#warn'); break; - case 'error': alertElement = $('#alFailure'); messageElement = $('#err'); break; - default: return; - } + switch (type) { + case "info": + alertElement = $("#alInfo"); + break; + case "success": + alertElement = $("#alSuccess"); + break; + case "warning": + alertElement = $("#alWarning"); + messageElement = $("#warn"); + break; + case "error": + alertElement = $("#alFailure"); + messageElement = $("#err"); + break; + default: + return; + } - if (messageElement != null) - messageElement.html(message); + if (messageElement != null) messageElement.html(message); - alertElement.fadeIn(200); - alertElement.delay(8000).fadeOut(2000); + alertElement.fadeIn(200); + alertElement.delay(8000).fadeOut(2000); } -function get_groups() -{ - $.post("scripts/pi-hole/php/groups.php", { 'action': 'get_groups', "token":token }, +function get_groups() { + $.post( + "scripts/pi-hole/php/groups.php", + { action: "get_groups", token: token }, function(data) { - groups = data.data; - initTable(); - }, "json"); + groups = data.data; + initTable(); + }, + "json" + ); } -$.fn.redraw = function(){ - return $(this).each(function(){ - var redraw = this.offsetHeight; - }); +$.fn.redraw = function() { + return $(this).each(function() { + var redraw = this.offsetHeight; + }); }; -function datetime(date) -{ - return moment.unix(Math.floor(date)).format("Y-MM-DD HH:mm:ss z"); +function datetime(date) { + return moment.unix(Math.floor(date)).format("Y-MM-DD HH:mm:ss z"); } $(document).ready(function() { + $("#btnAdd").on("click", addAdlist); - $('#btnAdd').on('click', addAdlist); + get_groups(); - get_groups(); - - $('#select').on('change', function() { - $("#ip-custom").val(""); - $("#ip-custom").prop( "disabled" , $( "#select option:selected" ).val() !== "custom"); - }); + $("#select").on("change", function() { + $("#ip-custom").val(""); + $("#ip-custom").prop( + "disabled", + $("#select option:selected").val() !== "custom" + ); + }); }); -function initTable() -{ - table = $("#adlistsTable").DataTable( { - "ajax": { - "url": "scripts/pi-hole/php/groups.php", - "data": {"action": "get_adlists", "token": token}, - "type": "POST" - }, - order: [[ 1, 'asc' ]], - columns: [ - { data: "address" }, - { data: "enabled", searchable: false }, - { data: "comment" }, - { data: "groups", searchable: false }, - { data: null, width: "80px", orderable: false } - ], - "drawCallback": function( settings ) { - $('.editAdlist').on('click', editAdlist); - $('.deleteAdlist').on('click', deleteAdlist); - }, - "rowCallback": function( row, data ) { - const tooltip = 'Added: '+datetime(data["date_added"])+'\nLast modified: '+datetime(data["date_modified"]); - $('td:eq(0)', row).html( ''+data["address"]+'' ); +function initTable() { + table = $("#adlistsTable").DataTable({ + ajax: { + url: "scripts/pi-hole/php/groups.php", + data: { action: "get_adlists", token: token }, + type: "POST" + }, + order: [[1, "asc"]], + columns: [ + { data: "address" }, + { data: "enabled", searchable: false }, + { data: "comment" }, + { data: "groups", searchable: false }, + { data: null, width: "80px", orderable: false } + ], + drawCallback: function(settings) { + $(".editAdlist").on("click", editAdlist); + $(".deleteAdlist").on("click", deleteAdlist); + }, + rowCallback: function(row, data) { + const tooltip = + "Added: " + + datetime(data["date_added"]) + + "\nLast modified: " + + datetime(data["date_modified"]); + $("td:eq(0)", row).html( + '' + data["address"] + "" + ); - const disabled = data["enabled"] === 0; - $('td:eq(1)', row).html( ''); - $('#status', row).bootstrapToggle({ on: 'Enabled', off: 'Disabled', size: 'small', onstyle: "success", width: "80px" }); - - $('td:eq(2)', row).html( '' ); - $('#comment', row).val(data["comment"]); + const disabled = data["enabled"] === 0; + $("td:eq(1)", row).html( + '" + ); + $("#status", row).bootstrapToggle({ + on: "Enabled", + off: "Disabled", + size: "small", + onstyle: "success", + width: "80px" + }); - $('td:eq(3)', row).empty(); - $('td:eq(3)', row).append( '' ); - var sel = $('#multiselect', row); - // Add all known groups - for (var i = 0; i < groups.length; i++) { - var extra = 'ID ' + groups[i].id; - if(!groups[i].enabled) - { - extra += ', disabled'; - } - sel.append($('