var currentCol = 0; var setFieldValueSelectvalue = false; function addField(value) { var newColNumber = currentCol + 1; if(typeof value == "undefined") { value = { 'mode' : 'field', 'value' : '', 'label' : '', }; } var HTML = jQuery('#staticFieldsContainer').html(); HTML = HTML.replace(/##SETID##/g, currentCol); HTML = jQuery(HTML); HTML.find(":disabled").removeAttr("disabled"); jQuery("#fieldlist").append(HTML).removeClass('hide'); jQuery("#staticfields_" + currentCol + "_value").val(value.value); jQuery("#staticfields_" + currentCol + "_mode").val(value.mode); jQuery("#staticfields_" + currentCol + "_mode").on('change', onChangeField); jQuery("#staticfields_" + currentCol + "_label").val(value.label); jQuery("#staticfields_" + currentCol + "_mode").trigger('change'); jQuery('#fieldlist .MakeSelect2').removeClass('MakeSelect2').select2(); currentCol++; return newColNumber; } function onChangeField(event) { parts = jQuery(this).attr("id").split("_"); rowID = parts[1]; var inputHTML = getValueInput(rowID); jQuery("#value_" + rowID + "_container").html(inputHTML); if(setFieldValueSelectvalue !== false) { jQuery("select#staticfields_" + rowID + "_value").val(setFieldValueSelectvalue); setFieldValueSelectvalue = false; } jQuery("select#setter_" + rowID + "_value").select2(); jQuery("#setter_" + rowID + "_field_chosen").attr("alt", jQuery("#setter_" + rowID + "_field").val()); jQuery("#setter_" + rowID + "_field_chosen").attr("title", jQuery("#setter_" + rowID + "_field").val()); } function addAllFields() { var stop = false; var already = {}; jQuery('select.selectFields').each(function(index, value) { already[value.value] = true; }); jQuery("#fieldlist").hide(); jQuery.each(fromFields, function(index, blockFields) { jQuery.each(blockFields, function(indexField, field) { if(field.name.indexOf('(') === 0) { return false; } if(typeof already['$' + field.name] == 'undefined') { addField({ 'mode' : 'field', 'value' : '$' + field.name, 'label' : field.label }); } }); if(stop == true) { return false; } }); jQuery("#fieldlist").show(); } function delField(id) { jQuery('#setterRow_' + id).remove(); } function initRecordListFields(fields) { jQuery.each(fields, function(index, value) { addField(value); }); jQuery("#fieldlist").show(); } function getValueInput(rowID, current_value) { var mode = jQuery("#staticfields_" + rowID + "_mode").val(); // function getConditionInput(recordId, recordName, recordIndex, field, value) { var currentValue; if(current_value === undefined && jQuery("#staticfields_" + rowID + "_value") !== undefined) { currentValue = jQuery("#staticfields_" + rowID + "_value").val(); } else { currentValue = current_value; } var fieldId = "staticfields_" + rowID + "_value"; var fieldName = "task["+StaticFieldsField+"][" + rowID + "][value]"; if(mode == "function") { var html = ""; html += "[module]->[destination]', true)\">"; return html; } else if(mode == "column") { var html = ''; return html; } else if(mode == "field") { setFieldValueSelectvalue = currentValue; var html = jQuery('#fromFieldsFieldValues').html(); return html.replace(/##FIELDNAME##/g, fieldName).replace(/##FIELDID##/g, fieldId); } return createTemplateTextfield(fieldName, fieldId, currentValue, {module: target_module_name, refFields: true}); }