1 // Disable chosing individual objects when a scrip is applied globally
3 var global_checkboxes = [
4 "form[name=AddRemoveScrip] input[type=checkbox][name^=AddScrip-][value=0]",
5 "form input[type=checkbox][name^=AddCustomField-][value=0]"
7 jQuery(global_checkboxes.join(", "))
9 var self = jQuery(this);
10 var checked = self.prop("checked");
13 .find("table.collection input[type=checkbox]")
14 .prop("disabled", checked);
18 // Replace user references in history with the HTML versions
19 function ReplaceUserReferences() {
20 var users = jQuery(".user[data-replace=user]");
21 var ids = users.map(function(){
22 return "id=" + encodeURIComponent(jQuery(this).attr("data-user-id"))
23 }).toArray().join(";");
29 RT.Config.WebPath + "/Helpers/UserInfo?" + ids,
31 users.each(function() {
32 var user = jQuery(this);
33 var uid = user.attr("data-user-id");
36 user.removeAttr("data-replace")
37 .html( jQuery(json[uid]._html).html() );
42 jQuery(ReplaceUserReferences);
46 jQuery("select.cascade-by-optgroup").each(function(){
50 // Generate elements for cascading based on the master <select> ...
51 var complete = jQuery(this)
53 .attr("name", name + "-Complete")
54 .attr("disabled", "disabled")
58 var groups = jQuery(this)
60 .attr("name", name + "-Groups")
61 .find("option").remove().end()
62 .find("optgroup").replaceWith(function(){
63 return jQuery("<option>").val(this.label).text(this.label);
65 .prepend( complete.find("option[value='']") )
68 // Synchronize the <select> we just generated
69 var selected = jQuery("option[selected]", this).parent().attr("label");
70 jQuery('option[value="' + selected + '"]', groups).attr("selected", "selected");
73 groups.change(function(){
74 var name = this.name.replace(/-Groups$/, '');
75 var field = jQuery(this);
76 var subfield = field.next("select[name=" + name + "]");
77 var complete = subfield.next("select[name=" + name + "-Complete]");
78 var value = field.val();
79 filter_cascade_select( subfield[0], complete[0], value, true );
85 jQuery("input[type=file]").change( function() {
86 var input = jQuery(this);
87 var warning = input.next(".invalid");
89 if ( !input.val().match(/"/) ) {
96 jQuery("<span class='invalid'>")
97 .text(loc_key("quote_in_filename"))
105 jQuery("#UpdateType").change(function(ev) {
106 jQuery(".messagebox-container")
107 .removeClass("action-response action-private")
108 .addClass("action-"+ev.target.value);