73 lines
2.0 KiB
JavaScript
73 lines
2.0 KiB
JavaScript
// XXX: Should I do crazy SN.X.Y.Z.A namespace instead?
|
|
var SN_WHITELIST = SN_WHITELIST || {};
|
|
|
|
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) {
|
|
$("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() {
|
|
var row = $(this).closest("li");
|
|
var newRow = row.clone();
|
|
$(row).find('a.add_row').hide();
|
|
SN_WHITELIST.resetRow(newRow);
|
|
$(newRow).insertAfter(row).show("blind", "fast", function() {
|
|
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() {
|
|
$("#confirm-dialog").dialog({
|
|
autoOpen: false,
|
|
modal: true
|
|
});
|
|
|
|
$('.add_row').live('click', SN_WHITELIST.addRow);
|
|
$('.remove_row').live('click', SN_WHITELIST.removeRow);
|
|
|
|
SN_WHITELIST.updateButtons();
|
|
});
|