#4 -- Add consequent functions
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
5e5f9f35c8
commit
984a719cbf
@ -149,13 +149,13 @@ function fuzzyTermsValueChanged() {
|
|||||||
createRule();
|
createRule();
|
||||||
}
|
}
|
||||||
|
|
||||||
function addVariableSelect(projectId, variableVal) {
|
function createVariableSelect(projectId, variableVal) {
|
||||||
let variablesElement = $("<select class='selectpicker inputVar m-2' data-live-search='true data-width='70%'></select>");
|
let variablesElement = $("<select class='selectpicker inputVar m-2' data-live-search='true data-width='70%'></select>");
|
||||||
fillVariables(projectId, variablesElement, variableVal);
|
fillVariables(projectId, variablesElement, variableVal);
|
||||||
return variablesElement;
|
return variablesElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
function addFuzzyTermsSelect(variablesElement, termVal) {
|
function createFuzzyTermsSelect(variablesElement, termVal) {
|
||||||
let fuzzyTermsElement = $("<select class='selectpicker inputVal m-2' data-live-search='true data-width='70%'></select>");
|
let fuzzyTermsElement = $("<select class='selectpicker inputVal m-2' data-live-search='true data-width='70%'></select>");
|
||||||
if ($(variablesElement).val()) {
|
if ($(variablesElement).val()) {
|
||||||
fillFuzzyTerms(variablesElement, fuzzyTermsElement, termVal);
|
fillFuzzyTerms(variablesElement, fuzzyTermsElement, termVal);
|
||||||
@ -168,6 +168,11 @@ function removeAntecedent(buttonElement) {
|
|||||||
fuzzyTermsValueChanged();
|
fuzzyTermsValueChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeConsequent(buttonElement) {
|
||||||
|
$(buttonElement).parent().remove();
|
||||||
|
//fuzzyTermsValueChanged();
|
||||||
|
}
|
||||||
|
|
||||||
function addAntecedent(parentElement, projectId, variableVal, termVal) {
|
function addAntecedent(parentElement, projectId, variableVal, termVal) {
|
||||||
let rowElement = $("<div class='row'></div>");
|
let rowElement = $("<div class='row'></div>");
|
||||||
if ($(parentElement).find('.row').length) {
|
if ($(parentElement).find('.row').length) {
|
||||||
@ -175,8 +180,8 @@ function addAntecedent(parentElement, projectId, variableVal, termVal) {
|
|||||||
} else {
|
} else {
|
||||||
$(rowElement).append("<label class='col col-md-1 m-2'> </label>");
|
$(rowElement).append("<label class='col col-md-1 m-2'> </label>");
|
||||||
}
|
}
|
||||||
let variablesElement = addVariableSelect(projectId, variableVal);
|
let variablesElement = createVariableSelect(projectId, variableVal);
|
||||||
let fuzzyTermsElement = addFuzzyTermsSelect(variablesElement, termVal);
|
let fuzzyTermsElement = createFuzzyTermsSelect(variablesElement, termVal);
|
||||||
$(variablesElement).on("change", function () {
|
$(variablesElement).on("change", function () {
|
||||||
variableValueChanged(variablesElement, fuzzyTermsElement)
|
variableValueChanged(variablesElement, fuzzyTermsElement)
|
||||||
});
|
});
|
||||||
@ -192,10 +197,42 @@ function addAntecedent(parentElement, projectId, variableVal, termVal) {
|
|||||||
$(parentElement).append(rowElement);
|
$(parentElement).append(rowElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addConsequent(parentElement, projectId, variableVal, termVal) {
|
||||||
|
let rowElement = $("<div class='row'></div>");
|
||||||
|
if ($(parentElement).find('.row').length) {
|
||||||
|
$(rowElement).append("<label class='col col-md-1 m-2'>И</label>");
|
||||||
|
} else {
|
||||||
|
$(rowElement).append("<label class='col col-md-1 m-2'> </label>");
|
||||||
|
}
|
||||||
|
let variablesElement = createVariableSelect(projectId, variableVal);
|
||||||
|
let fuzzyTermsElement = createFuzzyTermsSelect(variablesElement, termVal);
|
||||||
|
$(variablesElement).on("change", function () {
|
||||||
|
variableValueChanged(variablesElement, fuzzyTermsElement)
|
||||||
|
});
|
||||||
|
$(fuzzyTermsElement).on("change", function () {
|
||||||
|
fuzzyTermsValueChanged()
|
||||||
|
});
|
||||||
|
$(rowElement).append(variablesElement);
|
||||||
|
$(rowElement).append("<label class='col col-md-1 m-2'>есть</label>");
|
||||||
|
$(rowElement).append(fuzzyTermsElement);
|
||||||
|
if ($(parentElement).find('.row').length) {
|
||||||
|
$(rowElement).append("<a href='#' class='btn btn-outline-dark m-2' onclick='removeConsequent($(this))'>-</a>");
|
||||||
|
}
|
||||||
|
$(parentElement).append(rowElement);
|
||||||
|
}
|
||||||
|
|
||||||
function addAntecedentFromRule(parentElement, projectId, ruleContent) {
|
function addAntecedentFromRule(parentElement, projectId, ruleContent) {
|
||||||
let antecedentComponents = getAntecedentComponents(getAntecedent(ruleContent));
|
let antecedentComponents = getAntecedentComponents(getAntecedent(ruleContent));
|
||||||
for (let i = 0; i < antecedentComponents.length; i++) {
|
for (let i = 0; i < antecedentComponents.length; i++) {
|
||||||
var a = antecedentComponents[i];
|
let a = antecedentComponents[i];
|
||||||
addAntecedent(parentElement, projectId, getVariable(a), getVariableValue(a));
|
addAntecedent(parentElement, projectId, getVariable(a), getVariableValue(a));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addConsequentFromRule(parentElement, projectId, ruleContent) {
|
||||||
|
let consequentComponents = getConsequentComponents(getConsequent(ruleContent));
|
||||||
|
for (let i = 0; i < consequentComponents.length; i++) {
|
||||||
|
let c = consequentComponents[i];
|
||||||
|
addConsequent(parentElement, projectId, getVariable(c), getVariableValue(c));
|
||||||
|
}
|
||||||
}
|
}
|
@ -47,11 +47,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="/js/fuzzyRule.js"></script>
|
<script type="text/javascript" src="/js/fuzzyRule.js"></script>
|
||||||
<script>
|
<script>
|
||||||
if ($('#ruleContent').val()) {
|
let ruleContentEl = $('#ruleContent');
|
||||||
addAntecedentFromRule($('#rulesAntecedent'), $('#projectId').val(), $('#ruleContent').val());
|
let projectIdEl = $('#projectId');
|
||||||
} else {
|
if ($(ruleContentEl).val()) {
|
||||||
addAntecedent($('#rulesAntecedent'), $('#projectId').val());
|
addAntecedentFromRule($('#rulesAntecedent'), $(projectIdEl).val(), $(ruleContentEl).val());
|
||||||
}
|
addConsequentFromRule($('#rulesConsequent'), $(projectIdEl).val(), $(ruleContentEl).val());
|
||||||
|
} else {
|
||||||
|
addAntecedent($('#rulesAntecedent'), $(projectIdEl).val());
|
||||||
|
addConsequent($('#rulesConsequent'), $(projectIdEl).val());
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user