#4 -- Now you can load rule
All checks were successful
CI fuzzy controller / container-test-job (push) Successful in 59s
All checks were successful
CI fuzzy controller / container-test-job (push) Successful in 59s
This commit is contained in:
parent
311b8a4c5c
commit
e91642e1d0
@ -81,14 +81,19 @@ function getFromRest(url, callBack) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* exported fillSelect */
|
/* exported fillSelect */
|
||||||
function fillSelect(selectElement, values) {
|
function fillSelect(selectElement, values, selectedVal) {
|
||||||
$(selectElement).html("");
|
$(selectElement).html("");
|
||||||
$.each(values, function (key, value) {
|
$.each(values, function (key, value) {
|
||||||
$(selectElement).append($("<option />").val(value.id).text(value.name));
|
$(selectElement).append($("<option />").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) {
|
getFromRest("/rule/getFuzzyTerms/"+$(variablesElement).val(), function (fuzzyTerms) {
|
||||||
var fuzzyTermsData = [];
|
var fuzzyTermsData = [];
|
||||||
$.each(fuzzyTerms, function (key, value) {
|
$.each(fuzzyTerms, function (key, value) {
|
||||||
@ -97,13 +102,13 @@ function fillFuzzyTerms(variablesElement, fuzzyTermsElement) {
|
|||||||
name: value.description
|
name: value.description
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
fillSelect(fuzzyTermsElement, fuzzyTermsData);
|
fillSelect(fuzzyTermsElement, fuzzyTermsData, termVal);
|
||||||
$(fuzzyTermsElement).selectpicker("refresh");
|
$(fuzzyTermsElement).selectpicker("refresh");
|
||||||
$(fuzzyTermsElement).trigger("change");
|
$(fuzzyTermsElement).trigger("change");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function fillVariables(projectId, variablesElement) {
|
function fillVariables(projectId, variablesElement, variableVal) {
|
||||||
getFromRest("/rule/getVariables/"+projectId, function (variables) {
|
getFromRest("/rule/getVariables/"+projectId, function (variables) {
|
||||||
var variablesData = [];
|
var variablesData = [];
|
||||||
$.each(variables, function (key, value) {
|
$.each(variables, function (key, value) {
|
||||||
@ -112,7 +117,7 @@ function fillVariables(projectId, variablesElement) {
|
|||||||
name: value.name
|
name: value.name
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
fillSelect(variablesElement, variablesData);
|
fillSelect(variablesElement, variablesData, variableVal);
|
||||||
$(variablesElement).selectpicker("refresh");
|
$(variablesElement).selectpicker("refresh");
|
||||||
$(variablesElement).trigger("change");
|
$(variablesElement).trigger("change");
|
||||||
});
|
});
|
||||||
@ -126,16 +131,16 @@ function fuzzyTermsValueChanged() {
|
|||||||
createRule();
|
createRule();
|
||||||
}
|
}
|
||||||
|
|
||||||
function addVariableSelect(projectId) {
|
function addVariableSelect(projectId, variableVal) {
|
||||||
var variablesElement = $("<select class='selectpicker inputVar m-2' data-live-search='true data-width='70%'></select>");
|
var variablesElement = $("<select class='selectpicker inputVar m-2' data-live-search='true data-width='70%'></select>");
|
||||||
fillVariables(projectId, variablesElement);
|
fillVariables(projectId, variablesElement, variableVal);
|
||||||
return variablesElement;
|
return variablesElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
function addFuzzyTermsSelect(variablesElement) {
|
function addFuzzyTermsSelect(variablesElement, termVal) {
|
||||||
fuzzyTermsElement = $("<select class='selectpicker inputVal m-2' data-live-search='true data-width='70%'></select>");
|
var fuzzyTermsElement = $("<select class='selectpicker inputVal m-2' data-live-search='true data-width='70%'></select>");
|
||||||
if ($(variablesElement).val()) {
|
if ($(variablesElement).val()) {
|
||||||
fillFuzzyTerms(variablesElement, fuzzyTermsElement);
|
fillFuzzyTerms(variablesElement, fuzzyTermsElement, termVal);
|
||||||
}
|
}
|
||||||
return fuzzyTermsElement;
|
return fuzzyTermsElement;
|
||||||
}
|
}
|
||||||
@ -144,15 +149,15 @@ function removeAntecedent(buttonElement) {
|
|||||||
fuzzyTermsValueChanged();
|
fuzzyTermsValueChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
function addAntecedent(parentElement, projectId) {
|
function addAntecedent(parentElement, projectId, variableVal, termVal) {
|
||||||
rowElement = $("<div class='row'></div>");
|
var rowElement = $("<div class='row'></div>");
|
||||||
if ($(parentElement).find('.row').length) {
|
if ($(parentElement).find('.row').length) {
|
||||||
$(rowElement).append("<label class='col col-md-1 m-2'>И</label>");
|
$(rowElement).append("<label class='col col-md-1 m-2'>И</label>");
|
||||||
} else {
|
} else {
|
||||||
$(rowElement).append("<label class='col col-md-1 m-2'> </label>");
|
$(rowElement).append("<label class='col col-md-1 m-2'> </label>");
|
||||||
}
|
}
|
||||||
var variablesElement = addVariableSelect(projectId);
|
var variablesElement = addVariableSelect(projectId, variableVal);
|
||||||
var fuzzyTermsElement = addFuzzyTermsSelect(variablesElement)
|
var fuzzyTermsElement = addFuzzyTermsSelect(variablesElement, termVal);
|
||||||
$(variablesElement).on( "change", function() {variableValueChanged(variablesElement, fuzzyTermsElement)});
|
$(variablesElement).on( "change", function() {variableValueChanged(variablesElement, fuzzyTermsElement)});
|
||||||
$(fuzzyTermsElement).on( "change", function() {fuzzyTermsValueChanged()});
|
$(fuzzyTermsElement).on( "change", function() {fuzzyTermsValueChanged()});
|
||||||
$(rowElement).append(variablesElement);
|
$(rowElement).append(variablesElement);
|
||||||
@ -163,3 +168,11 @@ function addAntecedent(parentElement, projectId) {
|
|||||||
}
|
}
|
||||||
$(parentElement).append(rowElement);
|
$(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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -47,13 +47,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="/js/fuzzyRule.js"></script>
|
<script type="text/javascript" src="/js/fuzzyRule.js"></script>
|
||||||
<script>
|
<script>
|
||||||
/*<![CDATA[*/
|
|
||||||
if ($('#ruleContent').val()) {
|
if ($('#ruleContent').val()) {
|
||||||
alert('123');
|
addAntecedentFromRule($('#rulesAntecedent'), $('#projectId').val(), $('#ruleContent').val());
|
||||||
} else {
|
} else {
|
||||||
addAntecedent($('#rulesAntecedent'), [[${projectId}]]);
|
addAntecedent($('#rulesAntecedent'), $('#projectId').val());
|
||||||
}
|
}
|
||||||
/*]]>*/
|
|
||||||
</script>
|
</script>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user