CPSProducerClient.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. //
  2. // IBM Confidential
  3. // OCO Source Materials
  4. // BI and PM: Mobile
  5. // (C) Copyright IBM Corp. 2013, 2014
  6. // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. //
  8. dojo.provide('mobileAdmin.serverConfig.producer.CPSProducerClient');
  9. dojo.declare('mobileAdmin.serverConfig.producer.CPSProducerClient', null, {
  10. constructor: function(_this_Fragment) {
  11. this.fragmentResources = _this_Fragment;
  12. this.formElement = dojo.query('#idAppForm', this.fragmentResources.div)[0];
  13. },
  14. getConfigurationData: function() {
  15. this.generateForm([], 'getMobileConfiguration');
  16. var formIsValid = this.validateForm();
  17. if(formIsValid) {
  18. this.formElement.submit();
  19. }
  20. },
  21. saveConfigurationData: function(configProperties) {
  22. this.generateForm(configProperties, 'saveMobileConfiguration');
  23. var formIsValid = this.validateForm();
  24. if(formIsValid) {
  25. this.formElement.submit();
  26. }
  27. },
  28. generateForm: function(configProperties, formAction) {
  29. var childNodes = this.formElement.childNodes;
  30. if(childNodes.length > 0) {
  31. for(var i = 0; i < childNodes.length; i++) {
  32. childNode = childNodes[i];
  33. childNode.parentNode.removeChild(childNode);
  34. }
  35. }
  36. childNodes = null;
  37. var divNode = dojo.create("div");
  38. for(var i = 0; i < configProperties.length; i++) {
  39. var configProperty = configProperties[i];
  40. dojo.create(
  41. "input",
  42. {type:"hidden",
  43. name:configProperty.propertyName,
  44. title:configProperty.propertyLabel,
  45. value:configProperty.propertyValue},
  46. divNode
  47. );
  48. }
  49. dojo.create(
  50. "input",
  51. {type:"hidden",
  52. name:"mobServerAdminAction",
  53. value:formAction},
  54. divNode
  55. );
  56. this.formElement.appendChild(divNode);
  57. divNode = null;
  58. },
  59. validateForm: function() {
  60. var inputNodes = dojo.query("input", this.formElement);
  61. for (var i = 0; i < inputNodes.length; i++) {
  62. var inputNode = inputNodes[i];
  63. var label = eval(inputNode.title);
  64. var validationReponse = this.fragmentResources.validator.client.verify(inputNode.name, inputNode.value);
  65. if (validationReponse != CValidator.RES_VALID) {
  66. var reason = "";
  67. switch(validationReponse) {
  68. case CValidator.RES_PARAMETER_NOT_FOUND:
  69. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_PARAMETER_NOT_FOUND, [label]);
  70. break;
  71. case CValidator.RES_TYPE_BOOLEAN:
  72. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_BOOLEAN, [label]);
  73. break;
  74. case CValidator.RES_TYPE_STRING_MIN_LEN:
  75. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_STRING_MIN_LEN, [label]);
  76. break;
  77. case CValidator.RES_TYPE_STRING_MAX_LEN:
  78. reason = MOB.formatString(MOB.ADM.VALIDATION_MAX_LENGTH_STRING_MAX_LEN, [label]);
  79. break;
  80. case CValidator.RES_NUMERIC_MIN:
  81. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_NUMERIC_MIN, [label]);
  82. break;
  83. case CValidator.RES_NUMERIC_MAX:
  84. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_NUMERIC_MAX, [label]);
  85. break;
  86. case CValidator.RES_NUMERIC_NAN:
  87. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_NUMERIC_NAN, [label]);
  88. break;
  89. case CValidator.RES_INTEGRAL:
  90. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_INTEGRAL, [label]);
  91. break;
  92. case CValidator.RES_TYPE_INT:
  93. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_INT, [label]);
  94. break;
  95. case CValidator.RES_TYPE_LONG:
  96. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_LONG, [label]);
  97. break;
  98. case CValidator.RES_TYPE_UNSIGNED_INT:
  99. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_UNSIGNED_INT, [label]);
  100. break;
  101. case CValidator.RES_TYPE_FLOAT:
  102. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_FLOAT, [label]);
  103. break;
  104. case CValidator.RES_TYPE_DOUBLE:
  105. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_TYPE_DOUBLE, [label]);
  106. break;
  107. case CValidator.RES_ENUM_EMPTY:
  108. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_ENUM_EMPTY, [label]);
  109. break;
  110. case CValidator.RES_ENUM_NOT_FOUND:
  111. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_ENUM_NOT_FOUND, [label]);
  112. break;
  113. case CValidator.RES_PATTERN:
  114. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_PATTERN, [label]);
  115. break;
  116. case CValidator.RES_INVALID_URL:
  117. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_INVALID_URL, [label]);
  118. break;
  119. default:
  120. reason = MOB.formatString(MOB.ADM.SRV_CONF_CAF_VALIDATION_ERROR, [label]);
  121. break;
  122. }
  123. alert(reason);
  124. return false;
  125. }
  126. }
  127. return true;
  128. }
  129. });