/** * Load all users as assignedTo list. * * @access public * @return void */ function loadAllUsers() { var link = createLink('bug', 'ajaxLoadAllUsers', 'selectedUser=' + $('#assignedTo').val()); $.get(link, function(data) { if(data) { var moduleID = $('#module').val(); var productID = $('#product').val(); setAssignedTo(moduleID, productID); $('#assignedTo').empty().append($(data).find('option')).trigger('chosen:updated').trigger('chosen:activate'); } }); } /** * Load team members of the latest project of a product as assignedTo list. * * @param $productID * @access public * @return void */ function loadProjectTeamMembers(productID) { var link = createLink('bug', 'ajaxLoadProjectTeamMembers', 'productID=' + productID + '&selectedUser=' + $('#assignedTo').val()); $('#assignedToBox').load(link, function(){$('#assignedTo').chosen();}); } /** * load assignedTo and stories of module. * * @access public * @return void */ function loadModuleRelated() { var moduleID = $('#module').val(); var productID = $('#product').val(); setAssignedTo(moduleID, productID); setStories(moduleID, productID); } /** * Set the assignedTo field. * * @access public * @return void */ function setAssignedTo(moduleID, productID) { if(typeof(productID) == 'undefined') productID = $('#product').val(); if(typeof(moduleID) == 'undefined') moduleID = $('#module').val(); var link = createLink('bug', 'ajaxGetModuleOwner', 'moduleID=' + moduleID + '&productID=' + productID); $.get(link, function(owner) { $('#assignedTo').val(owner); $("#assignedTo").trigger("chosen:updated"); }); } $(function() { if($('#project').val()) loadProjectRelated($('#project').val()); $('[data-toggle=tooltip]').tooltip(); // adjust size of bug type input group var adjustBugTypeGroup = function() { var $group = $('#bugTypeInputGroup'); var width = ($group.parent().width()), addonWidth = 0; var $controls = $group.find('.chosen-single'); $group.children('.input-group-addon').each(function() { addonWidth += $(this).outerWidth(); }); var bestWidth = Math.floor((width - addonWidth)/$controls.length); $controls.css('width', bestWidth); var lastWidth = width - addonWidth - bestWidth * ($controls.length - 1); $controls.last().css('width', lastWidth); }; adjustBugTypeGroup(); $(window).on('resize', adjustBugTypeGroup); // init pri and severity selector $('#severity, #pri').on('change', function() { var $select = $(this); var $selector = $select.closest('.pri-selector'); var value = $select.val(); $selector.find('.pri-text').html($selector.data('type') === 'severity' ? '' : '' + value + ''); }); });