$(document).ready(function()
{
if($('#expression').val())
{
window.expression = JSON.parse($('#expression').val());
$('#fieldTable .expression').append("" + $('#name').val() + '=');
appendExpression(window.expression, $('#fieldTable .expression'));
}
$.ajaxForm('#editFieldForm', function(response)
{
if(response.alert)
{
$('#editFieldForm #submit').hide();
$('#editFieldForm #alert').html(response.alert);
$('#editFieldForm #alertDIV').show();
$('#editFieldForm #alertBtn').click(function()
{
location.href = location.href;
});
}
else
{
if(response.result == 'success')
{
var reloadUrl = response.locate == 'reload' ? location.href : response.locate;
setTimeout(function(){location.href = reloadUrl;}, 1200);
}
}
});
$.ajaxForm('#addVarForm', function(data)
{
if(data.result == 'success')
{
var varName = data.varName;
$('#varsTR').show();
$('#varsTD').append($('#varGroup').html().replace(/key/g, varName));
var link = createLink('workflow', 'buildVarControl', 'varName=' + varName);
$('#varsTD').find('#' + varName).find('.input-group').load(link, function()
{
$('#varsTD').find('#' + varName).find('.chosen').chosen();
$('#varsTD').find('#' + varName).find('.form-date').fixedDate().datetimepicker($.extend(window.datetimepickerDefaultOptions, {startView: 2, minView: 2, format: 'yyyy-mm-dd'}));
fixVarControls();
});
$('#sql').val($('#sql').val() + ' $' + varName + ' ');
$.zui.closeModal();
}
});
$('#fieldTable #control').change();
fixVarControls();
showTips();
$('#optionTR td.sortTd').sortable(
{
selector: 'div.input-group',
trigger: '.sortItem',
dragCssClass: 'drag-row',
reverse: true
});
/* Add a option. */
$(document).on('click', '.addItem', function()
{
$(this).closest('.sortTd').find('.sort-btn').removeClass('hidden');
});
});
function showTips()
{
let $tipsBox = $('#tipsBox');
if($tipsBox.length == 0) return;
let optionType = $('[name=optionType]').val();
let control = $('[name=control]').val();
let tips = syncQuoteNoOptions.replace('%s', joinedGroupName);
if(['select', 'multi-select', 'radio', 'checkbox'].includes(control) && optionType == 'custom')
{
tips = syncQuoteFields.replace('%s', joinedGroupName);
}
$tipsBox.html(tips);
if(control == 'file') $tipsBox.find('.nosyncbox').addClass('hidden');
}