gnu-social/plugins/DomainWhitelist/js/whitelistinvite.js

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
});
$(document).on('click', '.add_row', SN_WHITELIST.addRow);
$(document).on('click', '.remove_row', SN_WHITELIST.removeRow);
SN_WHITELIST.updateButtons();
});