| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- $(function()
- {
- $('.linkage-fields.hidden').remove();
- $('.custom-fields.hidden').parent().remove();
- window.customCount = $('#paramDiv .input-group').length;
- window.triggerCount = $('#triggerForm .trigger-box').length;
- });
- window.addItem = function(event)
- {
- const obj = $(event.target);
- const inputGroup = obj.closest('.input-group').clone();
- const newName = window.customCount + 'custom';
- window.customCount ++;
- $(inputGroup).find('input.custom').attr('id', newName);
- $(inputGroup).find('input.paramName').val('');
- $(inputGroup).find('input[id="' + newName + '"]').next().attr('for', newName);
- obj.closest('.form-group').append($(inputGroup));
- }
- window.deleteItem = function(event)
- {
- const $obj = $(event.target);
- if($('.delete-param').length > 1) $obj.closest('.input-group').remove();
- }
- /**
- * Show input, hidden select.
- *
- * @param obj $obj
- * @access public
- * @return void
- */
- window.setValueInput = function(event)
- {
- const obj = event.target;
- if($(obj).prop('checked'))
- {
- $(obj).closest('.input-group').find('select').attr('disabled', true);
- $(obj).closest('.input-group').find('select').addClass('hidden');
- $(obj).closest('.input-group').find("input[name^='paramValue']").removeClass('hidden');
- $(obj).closest('.input-group').find("input[name^='paramValue']").removeAttr('disabled');
- }
- else
- {
- $(obj).closest('.input-group').find("input[name^='paramValue']").attr('disabled', true);
- $(obj).closest('.input-group').find("input[name^='paramValue']").addClass('hidden');
- $(obj).closest('.input-group').find('select').removeClass('hidden');
- $(obj).closest('.input-group').find('select').removeAttr('disabled');
- }
- }
- window.changeCustomField = function(event)
- {
- let paramValue = $(event.target).val();
- paramValue = paramValue.substr(1).toUpperCase();
- $(event.target).prevAll('input').val(paramValue);
- }
- window.changeTriggerType = function(event)
- {
- const $parentDom = $(event.target).closest('.trigger-box');
- if($parentDom.find('.linkage-fields').length) $parentDom.find('.linkage-fields').remove();
- const triggers = [];
- $('input[name^=triggerType]').each(function()
- {
- if($(this).attr('id') != $(event.target).attr('id')) triggers.push($(this).val());
- });
- const type = $(event.target).val();
- if(triggers.includes(type))
- {
- zui.Modal.alert(triggerRepeat).then(() =>
- {
- let triggerList = {};
- $.extend(true, triggerList, triggerTypeList);
- triggers.forEach((trigger) => {
- if(triggerList[trigger]) delete triggerList[trigger];
- });
- $(event.target).zui('picker').$.setValue(triggerList ? Object.keys(triggerList)[0] : '');
- });
- return;
- }
- if(type != 'tag' || repo.SCM == 'Subversion') $parentDom.append(eval(`${type}Field`).replace(/%s/g, window.triggerCount));
- if(window[`${type}BlockInit`]) eval(`window.${type}BlockInit()`);
- $parentDom.find('.hidden:not(.delete-trigger)').removeClass('hidden');
- }
- window.toggleAutoRun = function(event)
- {
- if($(event.target).prop('checked'))
- {
- $('input[name=autoRun]').val('0');
- }
- else
- {
- $('input[name=autoRun]').val('1');
- }
- }
- window.addTrigger = function()
- {
- if($('#triggerForm .trigger-box').length >= Object.keys(triggerTypeList).length) return;
- $('#triggerForm .trigger-box').last().after(triggerField.replace(/%s/g, window.triggerCount));
- $('#triggerForm .trigger-box').removeClass('hidden');
- $('#triggerPicker' + window.triggerCount).addClass('form-group-wrapper picker-box');
- const triggers = [];
- $('input[name^=triggerType]').each(function(){triggers.push($(this).val());});
- let trigger = '';
- const options = Object.keys(triggerTypeList).map((type) => {
- if(!trigger && !triggers.includes(type)) trigger = type;
- return {value: type, text: triggerTypeList[type]}
- });
- new zui.Picker('#triggerPicker' + window.triggerCount, {
- items: options,
- name: `triggerType[${window.triggerCount}]`
- });
- setTimeout(() =>
- {
- $('#triggerPicker' + (window.triggerCount - 1)).zui('picker').$.setValue(trigger);
- }, 50)
- window.triggerCount ++;
- if($('#triggerForm .trigger-box').length > 1) $('.delete-trigger').removeClass('hidden');
- if($('#triggerForm .trigger-box').length >= Object.keys(triggerTypeList).length) $('.add-trigger-btn').addClass('hidden');
- }
- window.deleteTrigger = function(event)
- {
- $(event.target).closest('.trigger-box').remove();
- if($('#triggerForm .trigger-box').length <= 1) $('.delete-trigger').addClass('hidden');
- if($('#triggerForm .trigger-box').length < Object.keys(triggerTypeList).length)$('.add-trigger-btn').removeClass('hidden');
- }
- window.tagBlockInit = function()
- {
- if(repo.SCM != 'Subversion') return;
- $('#dirPicker' + window.triggerCount).addClass('form-group-wrapper picker-box');
- const options = Object.keys(dirs).map((dir) => {
- return {value: dir, text: dirs[dir]};
- });
- new zui.Picker('#dirPicker' + window.triggerCount, {
- items: options,
- name: `svnDir[]`,
- required: true,
- defaultValue: job.svnDir
- });
- }
- window.scheduleBlockInit = function()
- {
- $('#scheduleTime' + window.triggerCount).addClass('form-group-wrapper picker-box');
- new zui.TimePicker('#scheduleTime' + window.triggerCount, {
- name: 'atTime',
- defaultValue: job.atTime
- })
- }
|