133 lines
3.5 KiB
JavaScript
133 lines
3.5 KiB
JavaScript
$(function()
|
|
{
|
|
scmChanged(repoSCM, true);
|
|
$('#submit').mousedown(function()
|
|
{
|
|
$form = $(this).closest('form');
|
|
$form.css('min-height', $form.height());
|
|
});
|
|
|
|
/**
|
|
* Handle product changed event.
|
|
*
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
function productChanged()
|
|
{
|
|
var projects = $('#projects').val();
|
|
var products = $('#product').val();
|
|
$.post(createLink('repo', 'ajaxProjectsOfProducts'), {products, projects}, function(response)
|
|
{
|
|
$('#projectContainer').html('').append(response);
|
|
$('#projects').change(projectsChanged);
|
|
$('#projects').chosen().trigger("chosen:updated");
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Handle projects changed event.
|
|
*
|
|
* @param object $event
|
|
* @param object $data
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
function projectsChanged(event, data)
|
|
{
|
|
if(!data.deselected) return;
|
|
|
|
var products = $('#product').val();
|
|
var projects = $('#projects').val();
|
|
|
|
$.post(createLink('repo', 'ajaxFilterShadowProducts'), {products, projectID: data.deselected, objectID}, function(response)
|
|
{
|
|
$('#productContainer').html('').append(response);
|
|
$('#product').change(productChanged);
|
|
$('#product').chosen().trigger("chosen:updated");
|
|
});
|
|
}
|
|
|
|
$('#product').change(productChanged);
|
|
|
|
$('#projects').change(projectsChanged);
|
|
|
|
$('#serviceHost').change(function()
|
|
{
|
|
host = $('#serviceHost').val();
|
|
if(host == '') return false;
|
|
url = createLink('repo', 'ajaxGetProjects', "host=" + host);
|
|
|
|
$.get(url, function(response)
|
|
{
|
|
$('#serviceProject').html('').append(response);
|
|
$('#serviceProject').chosen().trigger("chosen:updated");;
|
|
});
|
|
});
|
|
|
|
$('#serviceProject').change(function()
|
|
{
|
|
$option = $(this).find('option:selected');
|
|
if(!$option.data('name')) return false;
|
|
$('#name').val($option.data('name'));
|
|
$(this).chosen().trigger("chosen:updated");
|
|
});
|
|
});
|
|
|
|
/**
|
|
* Changed SCM.
|
|
*
|
|
* @param string $scm
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
function scmChanged(scm, isFirstRequest = false)
|
|
{
|
|
if(scm == 'Git' || scm == 'Gitea' || scm == 'Gogs')
|
|
{
|
|
$('.account-fields').addClass('hidden');
|
|
if(['Git', 'Gitea', 'Gogs'].indexOf(repoSCM) === -1) $('#client').val('');
|
|
|
|
$('.tips-git').removeClass('hidden');
|
|
$('.tips-svn').addClass('hidden');
|
|
}
|
|
else
|
|
{
|
|
$('.account-fields').removeClass('hidden');
|
|
|
|
$('.tips-git').addClass('hidden');
|
|
$('.tips-svn').removeClass('hidden');
|
|
}
|
|
|
|
if(scm == 'Git' || scm == 'Subversion')
|
|
{
|
|
$('tr.service').toggle(false);
|
|
$('tr.hide-service').toggle(true);
|
|
}
|
|
else
|
|
{
|
|
$('.tips').addClass('hidden');
|
|
$('tr.service').toggle(true);
|
|
if(scm == 'Gitea' || scm == 'Gogs')
|
|
{
|
|
$('tr.hide-service:not(".hide-git")').toggle(true);
|
|
$('tr.hide-git').toggle(false);
|
|
}
|
|
else
|
|
{
|
|
$('tr.hide-service').toggle(false);
|
|
}
|
|
|
|
if(!isFirstRequest)
|
|
{
|
|
var url = createLink('repo', 'ajaxGetHosts', "scm=" + scm);
|
|
$.get(url, function(response)
|
|
{
|
|
$('#serviceHost').html(response);
|
|
$('#serviceHost').chosen().trigger("chosen:updated");;
|
|
$('#serviceHost').change();
|
|
});
|
|
}
|
|
}
|
|
}
|