in enginframe/hydrogen.manage-users.js [309:376]
tagItDialog: function (dialogTitle, inputLabel, buttonLabel, oldValue, check, autocompleteServiceUri, actionfunc) {
var dialog, dialogId, inputId, entry, button, dialogButtons, warningBox;
if (/^[a-zA-Z0-9- ]*$/.test(oldValue) && jQuery(oldValue).is("div")) {
oldValue = jQuery(oldValue).text();
}
dialogId = Math.floor(Math.random() * 1000) + 1;
inputId = 'input_' + dialogId;
dialog = jQuery('<div class="hy-tagit-dialog" id="' + dialogId + '"/>').appendTo(jQuery('body'));
jQuery('<label for="' + inputId + '" style="display:block">' + inputLabel + ':</label>').appendTo(dialog);
entry = jQuery('<input type="text" name="value" id="' + inputId + '"/>').appendTo(dialog);
entry.val(oldValue);
manageUsers.tagIt("#" + inputId, "tags", "", false, autocompleteServiceUri);
warningBox = jQuery('<div class="ui-state-error ui-corner-all ef-ugm-reserved-group ui-helper-hidden"><table width="100%"><tbody><tr><td><span class="ui-icon ui-icon-alert"/></td><td width="99%"><span class="msgErr"/></td></tr></tbody></table></div>').appendTo(dialog);
jQuery("#" + inputId).tagit({
beforeTagAdded: function (event, ui) {
if (ui.tagLabel === "admin" || ui.tagLabel === "all-users") {
jQuery(".ef-ugm-reserved-group span.msgErr").text("Group " + ui.tagLabel + " is reserved!");
jQuery(".ef-ugm-reserved-group").removeClass("ui-helper-hidden");
return false;
}
else if (!(new RegExp('^[\\w.-]+$')).test(ui.tagLabel)) {
jQuery(".ef-ugm-reserved-group span.msgErr").text("Invalid character for group name!");
jQuery(".ef-ugm-reserved-group").removeClass("ui-helper-hidden");
return false;
}
else {
jQuery(".ef-ugm-reserved-group").addClass("ui-helper-hidden");
}
}
});
dialogButtons = {
Cancel: function () {
jQuery(this).dialog("close");
}
};
dialogButtons[buttonLabel] = function () {
var newValue = entry.val();
if (check === true) {
if (newValue.length <= 0) {
return false;
}
}
jQuery(this).dialog("close");
actionfunc(newValue);
};
dialog.dialog({
title: dialogTitle,
resizable: false,
buttons: dialogButtons,
modal: true,
width: "450px"
});
button = jQuery('button:contains(' + buttonLabel + ')', dialog.parent('div.ui-dialog'));
button.addClass('ui-priority-primary');
entry.keypress(function (e) {
if (e.which === 13) {
button.click();
return false;
}
return true;
});
},