// Rules parsing function getAntecedent(rule) { withoutIf = rule.split('if'); return withoutIf[1].trim().split('then')[0].trim(); } function getAntecedentComponents(antecedent) { return antecedent.split('and').map((i) => i.trim()); } function getVariable(antecedent) { return antecedent.split('is')[0].trim(); } function getVariableValue(antecedent) { return antecedent.split('is')[1].trim(); } // Rules creation /* exported MessageTypesEnum */ var MessageTypesEnum = { INFO: "info", SUCCESS: "success", WARNING: "warning", DANGER: "danger" }; Object.freeze(MessageTypesEnum); function isEmpty(value) { if (typeof value === "function") { return false; } return (value == null || value.length === 0); } /* exported showFeedbackMessage */ function showFeedbackMessage(message, type) { alert(type + ' ' + message); } /* exported errorHandler */ function errorHandler(response, callBack, errorCallBack) { if (!isEmpty(response.error)) { // TODO: add l10n // showFeedbackMessage(response.error.code + ": " + response.error.message, MessageTypesEnum.DANGER); if (!isEmpty(errorCallBack)) { errorCallBack(response.data); } throw response.error.code + ": " + response.error.message + " / Details: " + response.error.data; } if (!isEmpty(callBack)) { callBack(response); } } /* exported getFromRest */ function getFromRest(url, callBack) { $.ajax({ url: url, cache: false, success: function (response) { errorHandler(response, callBack); } }); } /* exported createRule */ function createRule() { var ruleString = "if "; var inp = $('.selectpicker.inputVar').children(':selected').map(function() {return $(this).text();}).get(); var inpVal = $('.selectpicker.inputVal').children(':selected').map(function() {return $(this).text();}).get(); for (var i = 0; i < inp.length; i++) { if (i > 0) { ruleString += ' and '; } ruleString += inp[i] + " is " + inpVal[i]; } $('#ruleContent').val(ruleString); } /* exported fillSelect */ function fillSelect(selectElement, values) { $(selectElement).html(""); $.each(values, function (key, value) { $(selectElement).append($("