$(document).ready(function() { $('#pNestId').select2({ placeholder: 'Select a Nest', }).change(); $('#pEggId').select2({ placeholder: 'Select a Nest Egg', }); $('#pPackId').select2({ placeholder: 'Select a Service Pack', }); $('#pNodeId').select2({ placeholder: 'Select a Node', }).change(); $('#pAllocation').select2({ placeholder: 'Select a Default Allocation', }); $('#pAllocationAdditional').select2({ placeholder: 'Select Additional Allocations', }); }); let lastActiveBox = null; $(document).on('click', function (event) { if (lastActiveBox !== null) { lastActiveBox.removeClass('box-primary'); } lastActiveBox = $(event.target).closest('.box'); lastActiveBox.addClass('box-primary'); }); $('#pNodeId').on('change', function () { currentNode = $(this).val(); $.each(Panel.nodeData, function (i, v) { if (v.id == currentNode) { $('#pAllocation').html('').select2({ data: v.allocations, placeholder: 'Select a Default Allocation', }); updateAdditionalAllocations(); } }); }); $('#pNestId').on('change', function (event) { $('#pEggId').html('').select2({ data: $.map(_.get(Panel.nests, $(this).val() + '.eggs', []), function (item) { return { id: item.id, text: item.name, }; }), }).change(); }); $('#pEggId').on('change', function (event) { let parentChain = _.get(Panel.nests, $('#pNestId').val(), null); let objectChain = _.get(parentChain, 'eggs.' + $(this).val(), null); const images = _.get(objectChain, 'docker_images', {}) $('#pDefaultContainer').html(''); const keys = Object.keys(images); for (let i = 0; i < keys.length; i++) { let opt = document.createElement('option'); opt.value = images[keys[i]]; opt.innerHTML = keys[i] + " (" + images[keys[i]] + ")"; $('#pDefaultContainer').append(opt); } if (!_.get(objectChain, 'startup', false)) { $('#pStartup').val(_.get(parentChain, 'startup', 'ERROR: Startup Not Defined!')); } else { $('#pStartup').val(_.get(objectChain, 'startup')); } $('#pPackId').html('').select2({ data: [{ id: 0, text: 'No Service Pack' }].concat( $.map(_.get(objectChain, 'packs', []), function (item, i) { return { id: item.id, text: item.name + ' (' + item.version + ')', }; }) ), }); const variableIds = {}; $('#appendVariablesTo').html(''); $.each(_.get(objectChain, 'variables', []), function (i, item) { variableIds[item.env_variable] = 'var_ref_' + item.id; let isRequired = (item.required === 1) ? 'Required ' : ''; let dataAppend = ' \
' + item.description + '
\
Access in Startup: {{' + item.env_variable + '}}
\
Validation Rules: ' + item.rules + '