// XXX: Should I do crazy SN.X.Y.Z.A namespace instead?
var SN_WHITELIST = SN_WHITELIST || {};
-SN_WHITELIST.updateButtons = function() {
+SN_WHITELIST.updateButtons = function () {
+ $("ul > li > a.remove_row").show();
+ $("ul > li > a.add_row").hide();
+
var lis = $('ul > li > input[name^="username[]"]');
if (lis.length === 1) {
$("ul > li > a.remove_row").hide();
} else {
$("ul > li > a.remove_row:first").show();
}
+ $("ul > li > a.add_row:last").show();
};
-SN_WHITELIST.resetRow = function(row) {
+SN_WHITELIST.resetRow = function (row) {
$("input", row).val('');
// Make sure the default domain is the first selection
$("select option:first", row).val();
$("a.remove_row", row).show();
};
-SN_WHITELIST.addRow = function() {
+SN_WHITELIST.addRow = function () {
var row = $(this).closest("li");
var newRow = row.clone();
+ $(row).find('a.add_row').hide();
SN_WHITELIST.resetRow(newRow);
- $(newRow).insertAfter(row).show("blind", "slow", function() {
+ $(newRow).insertAfter(row).show("blind", "fast", function () {
SN_WHITELIST.updateButtons();
});
};
-SN_WHITELIST.removeRow = function() {
- $(this).closest("li").hide("blind", "slow", function() {
- $(this).remove();
- SN_WHITELIST.updateButtons();
+SN_WHITELIST.removeRow = function () {
+ var that = this;
+
+ $("#confirm-dialog").dialog({
+ buttons : {
+ "Confirm" : function () {
+ $(this).dialog("close");
+ $(that).closest("li").hide("blind", "fast", function () {
+ $(this).remove();
+ SN_WHITELIST.updateButtons();
+ });
+ },
+ "Cancel" : function () {
+ $(this).dialog("close");
+ }
+ }
});
+
+ if ($(this).closest('li').find(':input[name^=username]').val()) {
+ $("#confirm-dialog").dialog("open");
+ } else {
+ $(that).closest("li").hide("blind", "fast", function () {
+ $(this).remove();
+ SN_WHITELIST.updateButtons();
+ });
+ }
};
-$(document).ready(function() {
- $('.add_row').live('click', SN_WHITELIST.addRow);
- $('.remove_row').live('click', SN_WHITELIST.removeRow);
-});
+$(document).ready(function () {
+ $("#confirm-dialog").dialog({
+ autoOpen: false,
+ modal: true
+ });
+ $(document).on('click', '.add_row', SN_WHITELIST.addRow);
+ $(document).on('click', '.remove_row', SN_WHITELIST.removeRow);
+
+ SN_WHITELIST.updateButtons();
+});