mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2024-11-14 01:20:27 +00:00
Replace direct 'click' event binding with delegated binding. Fixes #58.
Direct binding only works for elements already in the DOM, delegated binding works for all elements that match a filter even if created after the DOM is fully loaded.
This commit is contained in:
parent
b286d8a9ad
commit
9794e221aa
@ -71,8 +71,7 @@
|
|||||||
"info" : true,
|
"info" : true,
|
||||||
"autoWidth" : false
|
"autoWidth" : false
|
||||||
});
|
});
|
||||||
|
$(document.body).on('click', '.history-info-button', function() {
|
||||||
$(".history-info-button").click(function() {
|
|
||||||
var modal = $("#modal_history_info");
|
var modal = $("#modal_history_info");
|
||||||
var info = $(this).val();
|
var info = $(this).val();
|
||||||
modal.find('.modal-body p').text(info);
|
modal.find('.modal-body p').text(info);
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// handle revocation of privileges
|
// handle revocation of privileges
|
||||||
$('.button_revoke').click(function() {
|
$(document.body).on('click', '.button_revoke', function() {
|
||||||
var modal = $("#modal_revoke");
|
var modal = $("#modal_revoke");
|
||||||
var username = $(this).prop('id');
|
var username = $(this).prop('id');
|
||||||
var info = "Are you sure you want to revoke all privileges for " + username + ". They will not able to access any domain.";
|
var info = "Are you sure you want to revoke all privileges for " + username + ". They will not able to access any domain.";
|
||||||
@ -97,7 +97,7 @@
|
|||||||
modal.modal('show');
|
modal.modal('show');
|
||||||
});
|
});
|
||||||
// handle deletion of user
|
// handle deletion of user
|
||||||
$('.button_delete').click(function() {
|
$(document.body).on('click', '.button_delete', function() {
|
||||||
var modal = $("#modal_delete");
|
var modal = $("#modal_delete");
|
||||||
var username = $(this).prop('id');
|
var username = $(this).prop('id');
|
||||||
var info = "Are you sure you want to delete " + username + "?";
|
var info = "Are you sure you want to delete " + username + "?";
|
||||||
@ -118,7 +118,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// handle checkbox toggling
|
// handle checkbox toggling
|
||||||
$('.admin_toggle').on('ifToggled', function(event) {
|
$(document.body).on('ifToggled', '.admin_toggle', function() {
|
||||||
var is_admin = $(this).prop('checked');
|
var is_admin = $(this).prop('checked');
|
||||||
var username = $(this).prop('id');
|
var username = $(this).prop('id');
|
||||||
postdata = {
|
postdata = {
|
||||||
|
@ -74,13 +74,12 @@
|
|||||||
"info" : true,
|
"info" : true,
|
||||||
"autoWidth" : false
|
"autoWidth" : false
|
||||||
});
|
});
|
||||||
|
$(document.body).on('click', '.setting-toggle-button', function() {
|
||||||
$(".setting-toggle-button").click(function() {
|
|
||||||
var setting = $(this).prop('id');
|
var setting = $(this).prop('id');
|
||||||
applyChanges('','/admin/setting/' + setting + '/toggle', false, true)
|
applyChanges('','/admin/setting/' + setting + '/toggle', false, true)
|
||||||
});
|
});
|
||||||
|
|
||||||
$(".setting-save-button").click(function() {
|
$(document.body).on('click', '.setting-save-button', function() {
|
||||||
var setting = $(this).prop('id');
|
var setting = $(this).prop('id');
|
||||||
var value = $(this).parents('tr').find('#value')[0].value;
|
var value = $(this).parents('tr').find('#value')[0].value;
|
||||||
var postdata = {'value': value};
|
var postdata = {'value': value};
|
||||||
|
@ -223,14 +223,13 @@
|
|||||||
"info" : false,
|
"info" : false,
|
||||||
"autoWidth" : false
|
"autoWidth" : false
|
||||||
});
|
});
|
||||||
|
$(document.body).on('click', '.history-info-button', function() {
|
||||||
$(".history-info-button").click(function() {
|
|
||||||
var modal = $("#modal_history_info");
|
var modal = $("#modal_history_info");
|
||||||
var info = $(this).val();
|
var info = $(this).val();
|
||||||
modal.find('.modal-body p').text(info);
|
modal.find('.modal-body p').text(info);
|
||||||
modal.modal('show');
|
modal.modal('show');
|
||||||
});
|
});
|
||||||
$(document).on("click", ".button_dnssec", function() {
|
$(document.body).on("click", ".button_dnssec", function() {
|
||||||
var domain = $(this).prop('id');
|
var domain = $(this).prop('id');
|
||||||
getdnssec('/domain/' + domain + '/dnssec');
|
getdnssec('/domain/' + domain + '/dnssec');
|
||||||
});
|
});
|
||||||
|
@ -147,7 +147,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// handle delete button
|
// handle delete button
|
||||||
$(document).on("click", ".button_delete", function(e) {
|
$(document.body).on("click", ".button_delete", function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
var modal = $("#modal_delete");
|
var modal = $("#modal_delete");
|
||||||
var table = $("#tbl_records").DataTable();
|
var table = $("#tbl_records").DataTable();
|
||||||
@ -163,7 +163,7 @@
|
|||||||
|
|
||||||
});
|
});
|
||||||
// handle edit button
|
// handle edit button
|
||||||
$(document).on("click", ".button_edit, .row_record", function(e) {
|
$(document.body).on("click", ".button_edit, .row_record", function(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
if ($(this).is('tr')) {
|
if ($(this).is('tr')) {
|
||||||
var nRow = $(this)[0];
|
var nRow = $(this)[0];
|
||||||
@ -193,7 +193,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// handle apply changes button
|
// handle apply changes button
|
||||||
$(document).on("click",".button_apply_changes", function() {
|
$(document.body).on("click",".button_apply_changes", function() {
|
||||||
var modal = $("#modal_apply_changes");
|
var modal = $("#modal_apply_changes");
|
||||||
var table = $("#tbl_records").DataTable();
|
var table = $("#tbl_records").DataTable();
|
||||||
var domain = $(this).prop('id');
|
var domain = $(this).prop('id');
|
||||||
@ -209,7 +209,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// handle add record button
|
// handle add record button
|
||||||
$(document).on("click", ".button_add_record", function (e) {
|
$(document.body).on("click", ".button_add_record", function (e) {
|
||||||
if (nNew || nEditing) {
|
if (nNew || nEditing) {
|
||||||
// TODO: replace this alert with modal
|
// TODO: replace this alert with modal
|
||||||
alert("Previous record not saved. Please save it before adding more record.")
|
alert("Previous record not saved. Please save it before adding more record.")
|
||||||
@ -225,7 +225,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
//handle cancel button
|
//handle cancel button
|
||||||
$(document).on("click", ".button_cancel", function (e) {
|
$(document.body).on("click", ".button_cancel", function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
var oTable = $("#tbl_records").DataTable();
|
var oTable = $("#tbl_records").DataTable();
|
||||||
if (nNew) {
|
if (nNew) {
|
||||||
@ -239,7 +239,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
//handle save button
|
//handle save button
|
||||||
$(document).on("click", ".button_save", function (e) {
|
$(document.body).on("click", ".button_save", function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
var table = $("#tbl_records").DataTable();
|
var table = $("#tbl_records").DataTable();
|
||||||
saveRow(table, nEditing);
|
saveRow(table, nEditing);
|
||||||
@ -248,14 +248,14 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
//handle update_from_master button
|
//handle update_from_master button
|
||||||
$(document).on("click", ".button_update_from_master", function (e) {
|
$(document.body).on("click", ".button_update_from_master", function (e) {
|
||||||
var domain = $(this).prop('id');
|
var domain = $(this).prop('id');
|
||||||
applyChanges({'domain': domain}, '/domain/' + domain + '/update');
|
applyChanges({'domain': domain}, '/domain/' + domain + '/update');
|
||||||
});
|
});
|
||||||
|
|
||||||
{% if record_helper_setting %}
|
{% if record_helper_setting %}
|
||||||
//handle wacky record types
|
//handle wacky record types
|
||||||
$(document).on("focus", "#current_edit_record_data", function (e) {
|
$(document.body).on("focus", "#current_edit_record_data", function (e) {
|
||||||
var record_type = $(this).parents("tr").find('#record_type').val();
|
var record_type = $(this).parents("tr").find('#record_type').val();
|
||||||
var record_data = $(this);
|
var record_data = $(this);
|
||||||
if (record_type == "MX") {
|
if (record_type == "MX") {
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
$("#domain_multi_user").multiSelect();
|
$("#domain_multi_user").multiSelect();
|
||||||
|
|
||||||
// handle deletion of user
|
// handle deletion of user
|
||||||
$('.delete_domain').click(function() {
|
$(document.body).on('click', '.delete_domain', function() {
|
||||||
var modal = $("#modal_delete_domain");
|
var modal = $("#modal_delete_domain");
|
||||||
var domain = $(this).prop('id');
|
var domain = $(this).prop('id');
|
||||||
var info = "Are you sure you want to delete " + domain + "?";
|
var info = "Are you sure you want to delete " + domain + "?";
|
||||||
|
Loading…
Reference in New Issue
Block a user