diff --git a/src/main/resources/public/js/fuzzyRule.js b/src/main/resources/public/js/fuzzyRule.js index d87da4b..234d5f5 100644 --- a/src/main/resources/public/js/fuzzyRule.js +++ b/src/main/resources/public/js/fuzzyRule.js @@ -81,14 +81,19 @@ function getFromRest(url, callBack) { } /* exported fillSelect */ -function fillSelect(selectElement, values) { +function fillSelect(selectElement, values, selectedVal) { $(selectElement).html(""); $.each(values, function (key, value) { $(selectElement).append($("").val(value.id).text(value.name)); }); + $(selectElement).children().each(function() { + if ($(this).text() == selectedVal) { + $(this).prop('selected', true); + } + }); } -function fillFuzzyTerms(variablesElement, fuzzyTermsElement) { +function fillFuzzyTerms(variablesElement, fuzzyTermsElement, termVal) { getFromRest("/rule/getFuzzyTerms/"+$(variablesElement).val(), function (fuzzyTerms) { var fuzzyTermsData = []; $.each(fuzzyTerms, function (key, value) { @@ -97,13 +102,13 @@ function fillFuzzyTerms(variablesElement, fuzzyTermsElement) { name: value.description }); }); - fillSelect(fuzzyTermsElement, fuzzyTermsData); + fillSelect(fuzzyTermsElement, fuzzyTermsData, termVal); $(fuzzyTermsElement).selectpicker("refresh"); $(fuzzyTermsElement).trigger("change"); }); } -function fillVariables(projectId, variablesElement) { +function fillVariables(projectId, variablesElement, variableVal) { getFromRest("/rule/getVariables/"+projectId, function (variables) { var variablesData = []; $.each(variables, function (key, value) { @@ -112,7 +117,7 @@ function fillVariables(projectId, variablesElement) { name: value.name }); }); - fillSelect(variablesElement, variablesData); + fillSelect(variablesElement, variablesData, variableVal); $(variablesElement).selectpicker("refresh"); $(variablesElement).trigger("change"); }); @@ -126,16 +131,16 @@ function fuzzyTermsValueChanged() { createRule(); } -function addVariableSelect(projectId) { +function addVariableSelect(projectId, variableVal) { var variablesElement = $(""); - fillVariables(projectId, variablesElement); + fillVariables(projectId, variablesElement, variableVal); return variablesElement; } -function addFuzzyTermsSelect(variablesElement) { - fuzzyTermsElement = $(""); +function addFuzzyTermsSelect(variablesElement, termVal) { + var fuzzyTermsElement = $(""); if ($(variablesElement).val()) { - fillFuzzyTerms(variablesElement, fuzzyTermsElement); + fillFuzzyTerms(variablesElement, fuzzyTermsElement, termVal); } return fuzzyTermsElement; } @@ -144,15 +149,15 @@ function removeAntecedent(buttonElement) { fuzzyTermsValueChanged(); } -function addAntecedent(parentElement, projectId) { - rowElement = $("
"); +function addAntecedent(parentElement, projectId, variableVal, termVal) { + var rowElement = $(""); if ($(parentElement).find('.row').length) { $(rowElement).append(""); } else { $(rowElement).append(""); } - var variablesElement = addVariableSelect(projectId); - var fuzzyTermsElement = addFuzzyTermsSelect(variablesElement) + var variablesElement = addVariableSelect(projectId, variableVal); + var fuzzyTermsElement = addFuzzyTermsSelect(variablesElement, termVal); $(variablesElement).on( "change", function() {variableValueChanged(variablesElement, fuzzyTermsElement)}); $(fuzzyTermsElement).on( "change", function() {fuzzyTermsValueChanged()}); $(rowElement).append(variablesElement); @@ -163,3 +168,11 @@ function addAntecedent(parentElement, projectId) { } $(parentElement).append(rowElement); } + +function addAntecedentFromRule(parentElement, projectId, ruleContent) { + var antecedentComponents = getAntecedentComponents(getAntecedent(ruleContent)); + for (let i = 0; i < antecedentComponents.length; i++) { + var a = antecedentComponents[i]; + addAntecedent(parentElement, projectId, getVariable(a), getVariableValue(a)); + } +} diff --git a/src/main/resources/templates/rule/edit.html b/src/main/resources/templates/rule/edit.html index fa7e4f7..7926b6e 100644 --- a/src/main/resources/templates/rule/edit.html +++ b/src/main/resources/templates/rule/edit.html @@ -47,13 +47,11 @@