1(function () { 2 'use strict'; 3 4 var jQuery = require('jquery'); 5 var parseOptionsFromFieldset = require('jira/data/parse-options-from-fieldset'); 6 var Events = require('jira/util/events'); 7 var Reasons = require('jira/util/events/reasons'); 8 var Types = require('jira/util/events/types'); 9 var IssueAutoComplete = require('jira/autocomplete/issue-autocomplete'); 10 var UserAutoComplete = require('jira/autocomplete/user-autocomplete'); 11 var wrmContextPath = require('wrm/context-path'); 12 var contextPath = wrmContextPath(); 13 14 Events.bind(Types.NEW_CONTENT_ADDED, function (e, context, reason) { 15 if (reason !== Reasons.panelRefreshed) { 16 UserAutoComplete.init(context); 17 IssueAutoComplete.init(context); 18 } 19 }); 20 21 Events.bind(Types.NEW_CONTENT_ADDED, function (e, context, reason) { 22 if (reason !== Reasons.panelRefreshed) { 23 jQuery("fieldset.user-searcher-params", context).each(function () { 24 var params = parseOptionsFromFieldset(jQuery(this)); 25 var $container = jQuery("#" + params.fieldId + "_container", context); 26 27 if (params.userPickerEnabled === true) { 28 var autocompleter = UserAutoComplete({ 29 fieldID: params.fieldId, 30 delimChar: params.multiSelect === true ? "," : undefined, 31 ajaxData: { 32 fieldName: params.fieldName 33 } 34 }); 35 } 36 37 var setupFields = function setupFields(related) { 38 var field = jQuery("#" + params.fieldId, context); 39 var userImage = jQuery("#" + params.fieldId + "Image", context); 40 var groupImage = jQuery("#" + params.fieldId + "GroupImage", context); 41 var fieldDesc = jQuery("#" + params.fieldId + "_desc", context); 42 if (related === "select.list.none") { 43 field.val("").attr("disabled", "true"); 44 userImage.hide(); 45 groupImage.hide(); 46 fieldDesc.hide(); 47 } else { 48 field.removeAttr("disabled"); 49 if (related === "select.list.group") { 50 userImage.hide(); 51 groupImage.show(); 52 if (params.userPickerEnabled === true) { 53 autocompleter.disable(); 54 fieldDesc.hide(); 55 } 56 } else { 57 userImage.show(); 58 groupImage.hide(); 59 if (params.userPickerEnabled === true) { 60 autocompleter.enable(); 61 fieldDesc.show(); 62 } 63 } 64 } 65 }; 66 67 jQuery("#" + params.userSelect, context).change(function () { 68 var related = jQuery(this).find("option:selected").attr("rel"); 69 setupFields(related); 70 }).find("option:selected").each(function () { 71 setupFields(jQuery(this).attr("rel")); 72 }); 73 74 $container.find("a.user-popup-trigger").click(function (e) { 75 var url = contextPath + '/secure/popups/UserPickerBrowser.jspa?'; 76 url += 'formName=' + params.formName + '&'; 77 url += 'multiSelect=' + params.multiSelect + '&'; 78 url += 'decorator=popup&'; 79 url += 'element=' + params.fieldId; 80 81 var vWinUsers = window.open(url, 'UserPicker', 'status=yes,resizable=yes,top=100,left=100,width=800,height=750,scrollbars=yes'); 82 vWinUsers.opener = self; 83 vWinUsers.focus(); 84 e.preventDefault(); 85 }); 86 87 $container.find("a.group-popup-trigger").click(function (e) { 88 var url = contextPath + '/secure/popups/GroupPickerBrowser.jspa?'; 89 url += 'formName=' + params.formName + '&'; 90 url += 'multiSelect=' + params.multiSelect + '&'; 91 url += 'decorator=popup&'; 92 url += 'element=' + params.fieldId; 93 94 var vWinUsers = window.open(url, 'GroupPicker', 'status=yes,resizable=yes,top=100,left=100,width=800,height=750,scrollbars=yes'); 95 vWinUsers.opener = self; 96 vWinUsers.focus(); 97 e.preventDefault(); 98 }); 99 }); 100 } 101 }); 102})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.