Skip to content
Snippets Groups Projects
contextInfoController.js 4.44 KiB
Newer Older
/**
 * Created by Helena on 03.10.2015.
 */


// check if all needed fields were filled with information
/**
 * Function checks whether all visible selections and input fields are not empty
 * @return {Array} Returns and array which includes the string with the missing content and which an object with selected infos.
 * */
function checkInformation() {

    var missing_content = ""; // displayed to user if something is missing

Helena Jank's avatar
Helena Jank committed
    var selectedInfoID = $("#selectContextInfos").select2("data");
    var selectedOperator = $("#selectOperator").select2("data");
Helena Jank's avatar
Helena Jank committed
    var selectedContextInfo;


    // check selection bar "Kontextinformationen"
Helena Jank's avatar
Helena Jank committed
    if ( selectedInfoID == null ) {
        // if selection bar context information is empty, concatenate it in missing_content string
        missing_content += " - Kontextinformation\n";
    } else {
Helena Jank's avatar
Helena Jank committed
        // create a copy of the selected context info's JSON structure
        selectedContextInfo = $.extend(new ContextInformation(), contextList.getItem(selectedInfoID.id));
    }

    /*    // only addable if context info doesn't exist already
     for (var h=0; h<current_unit["contextInformations"].length; h++) {
     if (selectedContextInfo["text"] == current_unit["contextInformations"][h]["name"]) {
     alert(selectedContextInfo["text"] + " existiert bereits!");

     // if already exist return with error code
     return ["Error999", {}];
     }
     }*/

    // check selection bar "Operator"
    if ( selectedOperator["text"] == "\r" ) {
        // if selection bar operator is empty, concatenate it in missing_content string
        missing_content += " - Operator\n";
    } else {
        // update JSON structure
Helena Jank's avatar
Helena Jank committed
        selectedContextInfo.setOperators(selectedContextInfo.getOperators()[selectedOperator.id]);
Helena Jank's avatar
Helena Jank committed
    // check and get context value
    var contextValue;
    switch(selectedContextInfo.getType()) {
        case "FLOAT":
        case "INTEGER":
        case "STRING":
            var inputField = $("#inputContextValue");
            // if input field context value is empty, concatenate it in missing_content string
            if ( inputField[0].value == "" ) {
                missing_content += " - Wert\n";
                inputField.parent().addClass("has-error");
            } else {
                inputField.parent().removeClass("has-error");
                contextValue = inputField[0].value;
            }
            break;
        case "ENUM":
        case "BOOLEAN":
            var selected = $("#selectPossibleValues").select2("data");
            // if selection bar context value is empty, concatenate it in missing_content string
            if ( selected["text"] == "\r" ) {
                missing_content += " - Wert\n";
            }
            contextValue = selectedContextInfo.getEnums()[selected.id];
            break;
Helena Jank's avatar
Helena Jank committed
    // update JSON structure
    selectedContextInfo.setInputValue(contextValue);

    // check and get parameters (if existent)
    var selectedInfoParameters = selectedContextInfo.getParameters();
    for (var i in selectedInfoParameters) {
        var parameter = selectedInfoParameters[i];
        var parameterElement = $("#parameter"+i);
        var parameterDiv = parameterElement.parent();
        var paramValue;
        switch (parameter.getType()) {
            case "FLOAT":
            case "INTEGER":
            case "STRING":
                // if input field is empty, concatenate it in missing_content string
                if ( parameterElement[0].value == "" ) {
                    missing_content += " - " + translate_parameter(parameter.getID()) + "\n";
                    parameterDiv.addClass("has-error");
                }
                else {
                    parameterDiv.removeClass("has-error");
                    paramValue = parameterElement[0].value;
                }
                break;
            case "ENUM":
            case "BOOLEAN":
                var selected = parameterElement.select2("data");
                // if selection bar parameter is empty, concatenate it in missing_content string
                if (selected["text"] == "\r") {
                    missing_content += " - " + translate_parameter(parameter.getID()) + "\n";
                }
                else
                    paramValue = parameter.getEnums()[selected.id];
                break;
Helena Jank's avatar
Helena Jank committed
        parameter.setInputValue(paramValue);
Helena Jank's avatar
Helena Jank committed
    return [missing_content, selectedContextInfo];