/* Pi-hole: A black hole for Internet advertisements * (c) 2017 Pi-hole, LLC (https://pi-hole.net) * Network-wide ad blocking via your own hardware. * * This file is copyright under the latest version of the EUPL. * Please see LICENSE file for your rights under this license. */ /* global utils:false */ var table; var groups = []; var token = $("#token").html(); function get_groups() { $.post( "scripts/pi-hole/php/groups.php", { action: "get_groups", token: token }, function(data) { groups = data.data; initTable(); }, "json" ); } $(document).ready(function() { $("#btnAdd").on("click", addAdlist); get_groups(); $("#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: [[0, "asc"]], columns: [ { data: "id", visible: false }, { data: "address" }, { data: "enabled", searchable: false }, { data: "comment" }, { data: "groups", searchable: false }, { data: null, width: "80px", orderable: false } ], drawCallback: function() { $(".deleteAdlist").on("click", deleteAdlist); }, rowCallback: function(row, data) { var tooltip = "Added: " + utils.datetime(data.date_added) + "\nLast modified: " + utils.datetime(data.date_modified) + "\nDatabase ID: " + data.id; $("td:eq(0)", row).html( '' + data.address + "" ); var disabled = data.enabled === 0; $("td:eq(1)", row).html( '" ); var status = $("#status", row); status.bootstrapToggle({ on: "Enabled", off: "Disabled", size: "small", onstyle: "success", width: "80px" }); status.on("change", editAdlist); $("td:eq(2)", row).html( '' ); var comment = $("#comment", row); comment.val(data.comment); comment.on("change", editAdlist); $("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 = ""; if (!groups[i].enabled) { extra = " (disabled)"; } sel.append( $("