180 lines
5.5 KiB
JavaScript
180 lines
5.5 KiB
JavaScript
function onChangeType(event)
|
|
{
|
|
const type = $(event.target).val();
|
|
|
|
if(type == 'external')
|
|
{
|
|
$('.externalPanel').removeClass('hidden');
|
|
$('.storePanel').addClass('hidden');
|
|
$('#type_external').prop('checked', true);
|
|
}
|
|
else
|
|
{
|
|
$('.storePanel').removeClass('hidden');
|
|
$('.externalPanel').addClass('hidden');
|
|
$('#type_store').prop('checked', true);
|
|
}
|
|
}
|
|
|
|
window.onChangeAppType = function(event)
|
|
{
|
|
const appType = $(event.target).val();
|
|
|
|
if(appType == 'jenkins' || appType == 'sonarqube' || appType == 'nexus')
|
|
{
|
|
$('div.jenkins').removeClass('hidden');
|
|
if(appType == 'jenkins')
|
|
{
|
|
$('div.token').removeClass('hidden');
|
|
$('div.password .form-label').removeClass('required');
|
|
}
|
|
else
|
|
{
|
|
$('div.token').addClass('hidden');
|
|
$('div.password .form-label').addClass('required');
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$('div.jenkins').addClass('hidden');
|
|
$('div.token').removeClass('hidden');
|
|
}
|
|
|
|
$('#url').attr('placeholder', '');
|
|
$('#token').attr('placeholder', '');
|
|
$('#account').attr('placeholder', '');
|
|
$('#password').attr('placeholder', '');
|
|
switch(appType)
|
|
{
|
|
case 'gitlab':
|
|
$('#createAppForm').attr('action', $.createLink('gitlab', 'create'));
|
|
$('#url').attr('placeholder', gitlabUrlTips);
|
|
$('#token').attr('placeholder', gitlabTokenTips);
|
|
break;
|
|
case 'gitea':
|
|
$('#createAppForm').attr('action', $.createLink('gitea', 'create'));
|
|
break;
|
|
case 'gogs':
|
|
$('#createAppForm').attr('action', $.createLink('gogs', 'create'));
|
|
break;
|
|
case 'jenkins':
|
|
$('#createAppForm').attr('action', $.createLink('jenkins', 'create'));
|
|
$('#token').attr('placeholder', jenkinsTokenTips);
|
|
$('#password').attr('placeholder', jenkinsPasswordTips);
|
|
break;
|
|
case 'sonarqube':
|
|
$('#createAppForm').attr('action', $.createLink('sonarqube', 'create'));
|
|
$('#url').attr('placeholder', sonarqubeUrlTips);
|
|
$('#account').attr('placeholder', sonarqubeAccountTips);
|
|
break;
|
|
case 'nexus':
|
|
$('#createAppForm').attr('action', $.createLink('instance', 'createExternalApp', 'type=nexus'));
|
|
break;
|
|
}
|
|
}
|
|
|
|
window.onChangeStoreAppType = function(event)
|
|
{
|
|
let storeApp = appID;
|
|
if(!storeApp)
|
|
{
|
|
if(typeof(event) == 'undefined')
|
|
{
|
|
storeApp = defaultApp;
|
|
}
|
|
else
|
|
{
|
|
storeApp = $('[name=storeAppType]').val();
|
|
}
|
|
}
|
|
|
|
$('#createStoreAppForm').data('appid', storeApp);
|
|
$('#createStoreAppForm').attr('action', $.createLink('instance', 'install', 'appID=' + storeApp));
|
|
|
|
if(externalApps.indexOf(apps[storeApp]) !== -1)
|
|
{
|
|
$('#createStoreAppForm input[name=type][value=external]').prop('disabled', false);
|
|
}
|
|
else
|
|
{
|
|
$('#createStoreAppForm input[name=type][value=external]').prop('disabled', true);
|
|
}
|
|
|
|
toggleLoading('#app_version', true);
|
|
toggleLoading('#dbService', true);
|
|
if(storeApp)
|
|
{
|
|
$.getJSON($.createLink('space', 'getStoreAppInfo', 'appID=' + storeApp), function(app)
|
|
{
|
|
$('#app_version').val(app.app_version);
|
|
if(showVersion === true)
|
|
{
|
|
$('#version').picker({items: app.versionList, name: 'version', required: true});
|
|
setTimeout(() =>
|
|
{
|
|
$('#version').picker('setValue', app.versionList[0].value);
|
|
}, 300);
|
|
}
|
|
else
|
|
{
|
|
$('#version').val(app.version);
|
|
}
|
|
if((app.dependencies.mysql && mysqlList) || (app.dependencies.postgresql && pgList && pgList.length > 0))
|
|
{
|
|
$('div.dbType').removeClass('hidden');
|
|
$('[name=dbService]').prop('disabled', false);
|
|
|
|
const dbServiceItems = [];
|
|
const dbService = (app.dependencies.mysql && mysqlList) ? mysqlList : pgList;
|
|
for(i in dbService)
|
|
{
|
|
dbServiceItems.push({'text': dbService[i].alias, 'value': dbService[i].name});
|
|
}
|
|
$('#dbService').zui('picker').render({items: dbServiceItems});
|
|
}
|
|
else
|
|
{
|
|
$('div.dbType').addClass('hidden');
|
|
$('[name=dbService]').prop('disabled', true);
|
|
}
|
|
|
|
toggleLoading('#app_version', false);
|
|
toggleLoading('#dbService', false);
|
|
});
|
|
}
|
|
}
|
|
|
|
function onChangeDbType(event)
|
|
{
|
|
const dbType = $(event.target).val();
|
|
if(dbType == 'sharedDB')
|
|
{
|
|
$('div.dbService').removeClass('hidden');
|
|
$('[name=dbService]').prop('disabled', false);
|
|
}
|
|
else
|
|
{
|
|
$('div.dbService').addClass('hidden');
|
|
$('[name=dbService]').prop('disabled', true);
|
|
}
|
|
}
|
|
|
|
window.alertResource = function()
|
|
{
|
|
zui.Modal.confirm({'message': resourceAlert}).then((res) =>
|
|
{
|
|
if(res)
|
|
{
|
|
var appID = $('#createStoreAppForm').data('appid');
|
|
$('#createStoreAppForm').attr('action', $.createLink('instance', 'install', 'appID=' + appID + '&checkResource=false'));
|
|
$('#createStoreAppForm .form-row .toolbar button[type=submit]').trigger('click');
|
|
}
|
|
});
|
|
}
|
|
|
|
$(function()
|
|
{
|
|
onChangeStoreAppType();
|
|
$('div.dbService .form-label').removeClass('required');
|
|
});
|