// // IBM Confidential // OCO Source Materials // BI and PM: Mobile // (C) Copyright IBM Corp. 2013, 2014 // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. // dojo.provide('mobileAdmin.serverConfig.producer.CPSProducerClient'); dojo.declare('mobileAdmin.serverConfig.producer.CPSProducerClient', null, { constructor: function(_this_Fragment) { this.fragmentResources = _this_Fragment; this.formElement = dojo.query('#idAppForm', this.fragmentResources.div)[0]; }, getConfigurationData: function() { this.generateForm([], 'getMobileConfiguration'); var formIsValid = this.validateForm(); if(formIsValid) { this.formElement.submit(); } }, saveConfigurationData: function(configProperties) { this.generateForm(configProperties, 'saveMobileConfiguration'); var formIsValid = this.validateForm(); if(formIsValid) { this.formElement.submit(); } }, generateForm: function(configProperties, formAction) { var childNodes = this.formElement.childNodes; if(childNodes.length > 0) { for(var i = 0; i < childNodes.length; i++) { childNode = childNodes[i]; childNode.parentNode.removeChild(childNode); } } childNodes = null; var divNode = dojo.create("div"); for(var i = 0; i < configProperties.length; i++) { var configProperty = configProperties[i]; dojo.create( "input", {type:"hidden", name:configProperty.propertyName, title:configProperty.propertyLabel, value:configProperty.propertyValue}, divNode ); } dojo.create( "input", {type:"hidden", name:"mobServerAdminAction", value:formAction}, divNode ); this.formElement.appendChild(divNode); divNode = null; }, validateForm: function() { var inputNodes = dojo.query("input", this.formElement); for (var i = 0; i < inputNodes.length; i++) { var inputNode = inputNodes[i]; var label = eval(inputNode.title); var validationReponse = this.fragmentResources.validator.client.verify(inputNode.name, inputNode.value); if (validationReponse != CValidator.RES_VALID) { var reason = ""; switch(validationReponse) { case CValidator.RES_PARAMETER_NOT_FOUND: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_PARAMETER_NOT_FOUND, [label]); break; case CValidator.RES_TYPE_BOOLEAN: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_BOOLEAN, [label]); break; case CValidator.RES_TYPE_STRING_MIN_LEN: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_STRING_MIN_LEN, [label]); break; case CValidator.RES_TYPE_STRING_MAX_LEN: reason = MOB.formatString(MOB.ADM.VALIDATION_MAX_LENGTH_STRING_MAX_LEN, [label]); break; case CValidator.RES_NUMERIC_MIN: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_NUMERIC_MIN, [label]); break; case CValidator.RES_NUMERIC_MAX: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_NUMERIC_MAX, [label]); break; case CValidator.RES_NUMERIC_NAN: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_NUMERIC_NAN, [label]); break; case CValidator.RES_INTEGRAL: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_INTEGRAL, [label]); break; case CValidator.RES_TYPE_INT: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_INT, [label]); break; case CValidator.RES_TYPE_LONG: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_LONG, [label]); break; case CValidator.RES_TYPE_UNSIGNED_INT: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_UNSIGNED_INT, [label]); break; case CValidator.RES_TYPE_FLOAT: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_FLOAT, [label]); break; case CValidator.RES_TYPE_DOUBLE: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_DOUBLE, [label]); break; case CValidator.RES_ENUM_EMPTY: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_ENUM_EMPTY, [label]); break; case CValidator.RES_ENUM_NOT_FOUND: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_ENUM_NOT_FOUND, [label]); break; case CValidator.RES_PATTERN: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_PATTERN, [label]); break; case CValidator.RES_INVALID_URL: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_INVALID_URL, [label]); break; default: reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_ERROR, [label]); break; } alert(reason); return false; } } return true; } });