diff --git a/js/authoring/controllers/contextInfoController.js b/js/authoring/controllers/contextInfoController.js index 606de679de317deba5c455c749cd0e89447c34a0..cde317bddd84d2433ed38bd3b06307933013b1d1 100644 --- a/js/authoring/controllers/contextInfoController.js +++ b/js/authoring/controllers/contextInfoController.js @@ -24,93 +24,104 @@ function checkInformation() { } else { // 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", {}]; - } - }*/ + /* // 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!"); - // 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 - selectedContextInfo.setOperators(selectedContextInfo.getOperators()[selectedOperator.id]); - } + // if already exist return with error code + return ["Error999", {}]; + } + }*/ - // 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; - } - // update JSON structure - selectedContextInfo.setInputValue(contextValue); + // check selection bar "Operator" + if ( selectedOperator == null ) { + // if selection bar operator is empty, concatenate it in missing_content string + missing_content += " - Operator\n"; + } else { + // update JSON structure + selectedContextInfo.setChosenOperator(selectedContextInfo.getOperators()[selectedOperator.id]); + } - // 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()) { + // check and get context value + var contextValue; + switch(selectedContextInfo.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; + 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 = 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"; + 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"; } - else - paramValue = parameter.getEnums()[selected.id]; + contextValue = selectedContextInfo.getEnums()[selected.id]; break; } // update JSON structure - parameter.setInputValue(paramValue); + selectedContextInfo.setChosenValue(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; + } + // update JSON structure + parameter.setChosenValue(paramValue); + } } - // create return array - return {"errorMessage" : missing_content, - "contextData" : selectedContextInfo}; + // if content is missing do not accept adding of the context information + if (missing_content == "Error999") { + return false; + } else { + // if something needed is missing + if (!!missing_content) { + alert("[Fehler] Bitte setzen Sie Werte in den folgenden Feldern:\n" + missing_content); + return false; + } else { + // return selected context info object + return selectedContextInfo; + } + } }