/** * Load product projects. * * @param int productID * @access public * @return void */ function loadProductProject(productID) { if(productID == 0) { replaceProject(defaultProject, true); loadProductExecutions(productID, $('#project').val()); return; } var project = $('#project').length > 0 ? $('#project').val() : 0; var link = createLink('product', 'ajaxGetProjects', 'productID=' + productID + '&branch=0&project=' + project); $.get(link, function(data) { replaceProject(data); $('#projectIdBox select').trigger('change'); }); } /** * Load product、project executions. * * @param int $productID * @access public * @return void */ function loadProductExecutions(productID, projectID) { if($('#project').length > 0) { if(productID == 0 && projectID == 0) { replaceExecution(defaultExecution, true); return; } if(productID == 0) { var link = createLink('project', 'ajaxGetExecutions', 'projectID=' + projectID + '&executionID=' + $('#executionIdBox #execution').val() + '&mode=multiple,leaf'); } else { var link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&project=' + $('#project').val() + '&branch=0&number=&executionID=' + $('#executionIdBox #execution').val() + '&from=&mode=multiple,leaf'); } } else // In classic mode. { if(productID == 0) { replaceExecution(defaultExecution); return; } var link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&project=0&branch=0&number=&executionID=' + $('#executionIdBox #execution').val()); } $.get(link, function(data) { replaceExecution(data); }); } /** * Replace project data. * * @param string data * @access public * @return void */ function replaceProject(data, emptySelect) { $('#projectIdBox select').replaceWith(data); $('#projectIdBox .chosen-container').remove(); $('#projectIdBox .picker').remove(); if($('#projectIdBox select option').length > maxCount) { $('#projectIdBox select').picker(); } else { $('#projectIdBox select').chosen(); } if(typeof(emptySelect) != 'undefined') $('#projectIdBox select').val('').trigger('chosen:updated'); } /** * Replace execution data. * * @param string data * @access public * @return void */ function replaceExecution(data, emptySelect) { $('#executionIdBox select').replaceWith(data); $('#executionIdBox .chosen-container').remove(); $('#executionIdBox .picker').remove(); if($('#executionIdBox select option').length > maxCount) { $('#executionIdBox select').picker(); } else { $('#executionIdBox select').chosen(); } if(typeof(emptySelect) != 'undefined') $('#executionIdBox select').val('').trigger('chosen:updated'); } /** * Load dept users. * * @param int $deptID * @param string $key id|account * @access public * @return void */ function loadDeptUsers(deptID, key) { if(typeof(key) == 'undefined') key = 'id'; var link = createLink('dept', 'ajaxGetUsers', 'dept=' + deptID + '&user=' + $('#userBox #user').val() + '&key=' + key); $.get(link, function(data) { $('#userBox select').replaceWith(data); $('#userBox .chosen-container').remove(); $('#userBox select').chosen(); }) } /** * Flush width. * * @param object $obj * @access public * @return void */ function flushWidth(obj) { var maxWidth = 0; $(obj).find('.input-group').each(function() { var $groupAddon = $(this).find('.input-group-addon:first'); if($groupAddon.length > 0) { var width = $(this).find('.input-group-addon:first').outerWidth(); if(width > maxWidth) maxWidth = width; } }); $(obj).find('.input-group').each(function() { var $groupAddon = $(this).find('.input-group-addon:first'); var padding = 1; if($groupAddon.length > 0) { while($groupAddon.outerWidth() < maxWidth) { $groupAddon.css('padding-right', padding + 'px').css('padding-left', padding + 'px'); padding++; } } }); } /** * Fix scroll. * * @access public * @return void */ function fixScroll() { var $scrollwrapper = $('div.datatable').first().find('.scroll-wrapper:first'); if($scrollwrapper.length == 0)return; var $tfoot = $('div.table-footer'); var scrollOffset = $scrollwrapper.offset().top + $scrollwrapper.find('.scroll-slide').height(); if($tfoot.length > 0) scrollOffset += $tfoot.height(); if($('div.datatable.head-fixed').length == 0) scrollOffset -= '29'; var windowH = $(window).height(); var bottom = 25 + $tfoot.height(); if(scrollOffset > windowH + $(window).scrollTop()) { $scrollwrapper.css({'position': 'fixed', 'bottom': bottom + 'px'}); $tfoot.addClass('fixed-footer'); } $(window).scroll(function() { if(scrollOffset <= windowH + $(window).scrollTop()) { $scrollwrapper.css({'position':'relative', 'bottom': '0px'}); $tfoot.removeClass('fixed-footer'); } else if($scrollwrapper.css('position') != 'fixed') { if(!$tfoot.hasClass('fixed-footer')) $tfoot.addClass('fixed-footer'); $scrollwrapper.css({'position': 'fixed', 'bottom': bottom + 'px'}); } }); }