/************************************* * SPDX-FileCopyrightText: 2009-2020 Vtenext S.r.l. * SPDX-License-Identifier: AGPL-3.0-only ************************************/ function editworkflowscript($, conditions){ var vtinst = new VtenextWebservices("webservice.php"); var fieldValidator; var desc = null; function id(v){ return v; } function map(fn, list){ var out = []; $.each(list, function(i, v){ out[out.length]=fn(v); }); return out; } function field(name){ return function(object){ if(typeof(object) != 'undefined') { return object[name]; } }; } function zip(){ var out = []; var lengths = map(field('length'), arguments); var min = reduceR(function(a,b){return a'+e.label+'';}, opType['picklistValues']) ); value.replaceWith(''); } function forInteger(opType, condno){ var value = $(format("#save_condition_%s_value", condno)); value.replaceWith(format('', condno)); } //crmv@36510 var functions = { string:function(opType, condno){ var value = $(format("#save_condition_%s_value", condno)); value.replaceWith(format('', condno)); }, 'boolean': function(opType, condno){ var value = $("#save_condition_"+condno+"_value"); value.replaceWith( ''); }, integer: forInteger, picklist:forPicklist, multipicklist:forPicklist, picklistmultilanguage:forPicklist, //crmv@95817 date: forInteger }; //crmv@36510 e var ret = functions[fieldType]; if(ret==null){ ret = functions['string']; } return ret; } var format = fn.format; function fillOptions(el,options){ el.empty(); $.each(options, function(k, v){ el.append(''); }); } function resetFields(opType, condno){ if (!opType) return; var ops = $("#save_condition_"+condno+"_operation"); var selectedOperations = operations[opType.name]; var l = {}; var labels = { 'is':'EQUALS', 'equal to':'EQUALS', 'is not':'NOT_EQUALS_TO', 'does not equal':'NOT_EQUALS_TO', 'has changed':'HAS_CHANGED', //crmv@56962 'contains':'CONTAINS', 'does not contain':'DOES_NOT_CONTAINS', 'starts with':'STARTS_WITH', 'ends with':'ENDS_WITH', //crmv@56962 'less than':'LESS_THAN', 'greater than':'GREATER_THAN', 'less than or equal to':'LESS_OR_EQUALS', 'greater than or equal to':'GREATER_OR_EQUALS', }; for(var i=0; i \
\ \
\
\ \
\
\ \
\ delete \ ' ); var fe = $("#save_condition_"+condno+"_fieldname"); var i = 1; fillOptions(fe, fieldLabels); var fullFieldName = fe.val(); resetFields(getFieldType(fullFieldName), condno); var re = $("#save_condition_"+condno+"_remove"); re.bind("click", function(){ removeCondition(condno); }); fe.bind("change", function(){ var select = $(this); var condNo = select.attr("id").match(/save_condition_(\d+)_fieldname/)[1]; var fullFieldName = $(this).val(); resetFields(getFieldType(fullFieldName), condNo); }); } var newTaskPopup = NewTaskPopup(); $("#new_task").click(function(){ newTaskPopup.show(); }); var newTemplatePopup = NewTemplatePopup(); $("#new_template").click(function(){ newTemplatePopup.show(); }); var condno=0; if(conditions){ $.each(conditions, function(i, condition){ var fieldname = condition["fieldname"]; addCondition(condno); $(format("#save_condition_%s_fieldname", condno)).val(fieldname); resetFields(getFieldType(fieldname), condno); $(format("#save_condition_%s_operation", condno)).val(condition["operation"]); $('#dump').html(condition["value"]); var text = $('#dump').text(); $(format("#save_condition_%s_value", condno)).val(text); condno+=1; }); } $("#save_conditions_add").bind("click", function(){ addCondition(condno++); }); $("#save_submit").bind("click", function(){ var conditions = []; $("#save_conditions").children().each(function(i){ var fieldname = $(this).find(".fieldname").val(); var operation = $(this).find(".operation").val(); var value = $(this).find(".value").val(); var condition = {fieldname:fieldname, operation:operation, value:value}; conditions[i]=condition; }); if(conditions.length==0){ var out = ""; }else{ var out = JSON.stringify(conditions); } $("#save_conditions_json").val(out); }); pageLoadingPopup.close(); $('#save_conditions_add').show(); })); })); })); }); }