tfHelperAsync.js.soonsu 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. var submitArray = new Array();
  2. function asyncSend(transactionId, paramPath, resultPath, responseHandler, errorHandler) {
  3. var submitUUID = "" + getRandomSubmitUUID();
  4. var submit = TFHttpService.createInstance(submitUUID);
  5. submit.URL = getActionURL(transactionId);
  6. submit.mediaType = "application/x-www-form-urlencoded";
  7. submit.method = "POST";
  8. submit.onResponse = "defualtResponseHandler";
  9. submit.onError = "defualtErrorHandler";
  10. if (submitArray == undefined || submitArray == null) {
  11. submitArray = new Array();
  12. }
  13. var submitItem = new Object();
  14. submitItem.trid = transactionId;
  15. submitItem.resultPath = resultPath;
  16. submitItem.submitUUID = submitUUID;
  17. submitItem.responseHandler = responseHandler;
  18. submitItem.errorHandler = errorHandler;
  19. submitArray.push(submitItem);
  20. submit.send(paramPath);
  21. }
  22. function defualtResponseHandler(submitUUID, response, responseType) {
  23. if (submitArray == null || submitArray.length <= 0) {
  24. messageBox("submit ��� ó�� �� ������ �߻��Ͽ����ϴ�.", "C");
  25. return;
  26. }
  27. var submitItem = getSubmitItem(submitUUID);
  28. bindInstance(submitUUID, response, responseType, submitItem.resultPath);
  29. try {
  30. eval(submitItem.responseHandler+"()");
  31. } catch (e) {
  32. messageBox(e.message, "C");
  33. return;
  34. }
  35. }
  36. function defualtErrorHandler(submitUUID, errorInfo) {
  37. var submitItem = getSubmitItem(submitUUID);
  38. if (typeof(submitItem.errorHandler) != "undefined") {
  39. try {
  40. eval(submitItem.errorHandler);
  41. } catch (e) {
  42. messageBox(e.message, "C");
  43. return;
  44. }
  45. } else {
  46. messageBox(errorInfo, "C");
  47. return;
  48. }
  49. }
  50. function bindInstance(submitUUID, response, responseType, resultPath) {
  51. model.removeNode(resultPath);
  52. model.makeNode(resultPath);
  53. if (responseType == "xml") {
  54. model.loadXmlNode(resultPath, response, false);
  55. }
  56. model.refresh();
  57. }
  58. function getSubmitItem(submitUUID) {
  59. if (submitUUID == undefined || submitUUID == "") {
  60. messageBox("submitItem ȹ�� ����!", "C");
  61. return;
  62. }
  63. if (submitArray.length <= 0) {
  64. messageBox("submitArray is Empty!", "C");
  65. return;
  66. }
  67. for (var idx = 0 ; idx < submitArray.length ; idx++) {
  68. var curItem = submitArray[idx];
  69. if (submitUUID == curItem.submitUUID) {
  70. submitArray[idx] = null;
  71. makeFullArray(submitArray);
  72. return curItem;
  73. }
  74. }
  75. }
  76. function makeFullArray(array) {
  77. for (var idx = 0 ; idx < array.length ; idx++) {
  78. if (array[idx] == undefined || array[idx] == null) {
  79. var lastItem = array.pop();
  80. if (lastItem != null) {
  81. array[idx] = lastItem;
  82. }
  83. }
  84. }
  85. }
  86. function getRandomSubmitUUID() {
  87. var s = [], itoh = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'];
  88. for (var i = 0; i <36; i++) {
  89. s[i] = Math.floor(Math.random()*0x10);
  90. }
  91. s[14] = 4;
  92. s[19] = (s[19] & 0x3) | 0x8;
  93. for (var i = 0; i <36; i++) {
  94. s[i] = itoh[s[i]];
  95. }
  96. return s.join('');
  97. }