/**
* GNU LibreJSXUL - A browser add-on to block nonfree nontrivial JavaScript.
* *
* Copyright (C) 2011, 2012, 2014 Loic J. Duros
* Copyright (C) 2014, 2015 Nik Nyby
*
* Modified 2020 by Jesús E.
*
* This file is part of GNU LibreJSXUL.
*
* GNU LibreJSXUL is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GNU LibreJSXUL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU LibreJSXUL. If not, see .
*/
var GenerateForm = {
$trContainer: null, // will jQuery element for rules table tboby
le: 0,
init: function () {
var that = this;
$(document).ready(function (e) {
that.$trContainer = $("#whitelist").children('tbody');
// listen for when data is ready to populate form.
document.documentElement.addEventListener(
"populate-form",
function (event) {
that.populateForm(event.detail.data);
}, false);
that.$trContainer.on("click", ".delete", function (event) {
that.deleteRow($(this));
});
$('.librejs-whitelist-reset').click(function (e) {
that.deleteAll();
});
});
},
deleteAll: function () {
var event = document.createEvent("CustomEvent");
event.initCustomEvent(
"librejs-settings-change", true, true, {
event: 'rules-form-delete-all'
});
document.documentElement.dispatchEvent(event);
location.reload();
},
deleteRow: function ($button) {
var hash = $button.parents('tr').children('.hash').text();
this.le--;
this.changeTitle();
$button.parents('tr').remove();
var event = document.createEvent("CustomEvent");
event.initCustomEvent(
"librejs-settings-change", true, true, {
event: 'rules-form-delete', value: hash
});
document.documentElement.dispatchEvent(event);
},
createRow: function (key, url, reason) {
var $tr = $("
");
var $td = $('
').addClass('hash').text(key);
var $delete, $button;
$tr.append($td);
$td = $('