// Disable chosing individual objects when a scrip is applied globally jQuery(function() { var global_checkboxes = [ "form[name=AddRemoveScrip] input[type=checkbox][name^=AddScrip-][value=0]", "form input[type=checkbox][name^=AddCustomField-][value=0]" ]; jQuery(global_checkboxes.join(", ")) .change(function(){ var self = jQuery(this); var checked = self.prop("checked"); self.closest("form") .find("table.collection input[type=checkbox]") .prop("disabled", checked); }); }); // Replace user references in history with the HTML versions function ReplaceUserReferences() { var users = jQuery(".user[data-replace=user]"); var ids = users.map(function(){ return "id=" + encodeURIComponent(jQuery(this).attr("data-user-id")) }).toArray().join(";"); if (!ids.length) return jQuery.get( RT.Config.WebPath + "/Helpers/UserInfo?" + ids, function(json) { users.each(function() { var user = jQuery(this); var uid = user.attr("data-user-id"); if (!json[uid]) return user.removeAttr("data-replace") .html( jQuery(json[uid]._html).html() ); }); } ); } jQuery(ReplaceUserReferences); // Cascaded selects jQuery(function() { jQuery("select.cascade-by-optgroup").each(function(){ var name = this.name; if (!name) return; // Generate elements for cascading based on the master we just generated var selected = jQuery("option[selected]", this).parent().attr("label"); jQuery('option[value="' + selected + '"]', groups).attr("selected", "selected"); // Wire it all up groups.change(function(){ var name = this.name.replace(/-Groups$/, ''); var field = jQuery(this); var subfield = field.next("select[name=" + name + "]"); var complete = subfield.next("select[name=" + name + "-Complete]"); var value = field.val(); filter_cascade_select( subfield[0], complete[0], value, true ); }).change(); }); }); jQuery( function() { jQuery("input[type=file]").change( function() { var input = jQuery(this); var warning = input.next(".invalid"); if ( !input.val().match(/"/) ) { warning.hide(); } else { if (warning.length) { warning.show(); } else { input.val(""); jQuery("") .text(loc_key("quote_in_filename")) .insertAfter(input); } } }); }); jQuery(function() { jQuery("#UpdateType").change(function(ev) { jQuery(".messagebox-container") .removeClass("action-response action-private") .addClass("action-"+ev.target.value); }); });