RestActions.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. MWF.xApplication.cms = MWF.xApplication.cms || {};
  2. MWF.xApplication.cms.Document = MWF.xApplication.cms.Document || {};
  3. MWF.xApplication.cms.Document.Actions = MWF.xApplication.cms.Document.Actions || {};
  4. MWF.require("MWF.xDesktop.Actions.RestActions", null, false);
  5. MWF.xApplication.cms.Document.Actions.RestActions = new Class({
  6. initialize: function(){
  7. this.actionPath = "/x_component_cms_Document/Actions/action.json";
  8. this.actionDocument = new MWF.xDesktop.Actions.RestActions("", "x_cms_assemble_control", "x_component_cms_Document");
  9. this.actionDocument.getActions = function(callback){
  10. this.getActionActions(this.actionDocument, callback);
  11. }.bind(this);
  12. this.actionData = new MWF.xDesktop.Actions.RestActions("", "x_cms_assemble_control", "x_component_cms_Document");
  13. this.actionData.getActions = function(callback){
  14. this.getActionActions(this.actionData, callback);
  15. }.bind(this);
  16. this.actionAttachment = new MWF.xDesktop.Actions.RestActions("", "x_cms_assemble_control", "x_component_cms_Document");
  17. this.actionAttachment.getActions = function(callback){
  18. this.getActionActions(this.actionAttachment, callback);
  19. }.bind(this);
  20. this.actionHotPic = new MWF.xDesktop.Actions.RestActions("", "x_hotpic_assemble_control", "x_component_cms_Document");
  21. this.actionHotPic.getActions = function(callback){
  22. this.getActionActions(this.actionHotPic, callback);
  23. }.bind(this);
  24. },
  25. getActionActions: function(action, callback){
  26. if (!action.actions){
  27. this.getActions(function(json){
  28. action.actions = this.actions;
  29. if (callback) callback();
  30. }.bind(this));
  31. }else{
  32. if (callback) callback();
  33. }
  34. },
  35. getActions: function(callback){
  36. if (!this.actions){
  37. MWF.getJSON(this.actionPath, function(json){
  38. this.actions = json;
  39. if (callback) callback();
  40. }.bind(this));
  41. }else{
  42. if (callback) callback();
  43. }
  44. },
  45. getId: function(count, success, failure, async){
  46. this.action.invoke({"name": "getId","async": async, "parameter": {"count": count}, "success": success, "failure": failure});
  47. },
  48. getUUID: function(success){
  49. var id = "";
  50. this.action.invoke({"name": "getId","async": false, "parameter": {"count": "1"}, "success": function(ids){
  51. id = ids.data[0];
  52. if (success) success(id);
  53. }, "failure": null});
  54. return id;
  55. },
  56. listColumnController: function(appId,success, failure, async){
  57. this.actionDocument.invoke({"name": "listColumnController","async": async, "parameter": {"appId": appId}, "success": success, "failure": failure});
  58. },
  59. getDocument: function(docId, success, failure){
  60. this.actionDocument.invoke({"name": "getDocument", "parameter": {"id": docId },"success": success,"failure": failure});
  61. },
  62. saveDocument: function(documentData, success, failure, async){
  63. if (!documentData.isNewDocument){
  64. this.updateDocument(documentData, success, failure, async);
  65. }else{
  66. this.addDocument(documentData, success, failure, async);
  67. }
  68. },
  69. addDocument: function(documentData, success, failure, async){
  70. delete documentData.attachmentList;
  71. this.actionDocument.invoke({"name": "addDocument","data": documentData,"success": success,"failure": failure,"async": async});
  72. },
  73. updateDocument: function(documentData, success, failure, async){
  74. delete documentData.attachmentList;
  75. this.actionDocument.invoke({"name": "updateDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure,"async": async});
  76. },
  77. removeDocument: function(id, success, failure, async){
  78. this.actionDocument.invoke({"name": "removeDocument", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  79. },
  80. publishDocument: function(documentData, success, failure){
  81. this.actionDocument.invoke({"name": "publishDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  82. },
  83. cancelPublishDocument: function(documentData, success, failure){
  84. this.actionDocument.invoke({"name": "cancelPublishDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  85. },
  86. archiveDocument: function(documentData, success, failure){
  87. this.actionDocument.invoke({"name": "archiveDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  88. },
  89. redraftDocument: function(documentData, success, failure){
  90. this.actionDocument.invoke({"name": "redraftDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  91. },
  92. getCategory: function(id, success, failure){
  93. var _self = this;
  94. this.actionDocument.invoke({"name": "getCategory","parameter": {"id": id },"success": function(json){
  95. _self.transCategoryData(json);
  96. success.call(this,json);
  97. },"failure": failure});
  98. },
  99. transCategoryData : function( json ){
  100. var trans = function(category){
  101. if(!category.name)category.name = category.catagoryName;
  102. if(!category.alias)category.alias = category.catagoryAlias;
  103. if(!category.catagoryName)category.catagoryName = category.name;
  104. if(!category.catagoryAlias)category.catagoryAlias = category.alias;
  105. };
  106. if( json.data ){
  107. if( typeOf(json.data) == "array" ){
  108. json.data.each( function(category){
  109. trans(category)
  110. })
  111. }else{
  112. trans(json.data)
  113. }
  114. }else{
  115. json.data = [];
  116. }
  117. },
  118. getForm: function(formId, success, failure, async){
  119. this.actionDocument.invoke({"name": "getForm","async": async, "parameter": {"id": formId}, "success": success, "failure": failure});
  120. },
  121. saveData: function(success, failure, id, data, async){
  122. if( !data.isNew ) {
  123. this.updateData(success, failure, id, data, async);
  124. }else{
  125. this.addData(success, failure, id, data, async);
  126. }
  127. },
  128. addData: function(success, failure, id, data, async){
  129. this.actionData.invoke({"name": "addData","async": async, "data": data, "parameter": {"id": id}, "success": success, "failure": failure});
  130. },
  131. updateData: function(success, failure, id, data, async){
  132. this.actionData.invoke({"name": "updateData","async": async, "data": data, "parameter": {"id": id}, "success": success, "failure": failure});
  133. },
  134. listAttachment: function(documentid, success, failure, async){
  135. this.actionDocument.invoke({"name": "listAttachment","async": async, "parameter": {"documentid": documentid}, "success": success, "failure": failure});
  136. },
  137. uploadAttachment: function(id, success, failure, formData, file){
  138. this.actionAttachment.invoke({"name": "uploadAttachment", "parameter": {"id": id},"data": formData,"file": file,"success": success,"failure": failure});
  139. },
  140. replaceAttachment: function(id, documentid, success, failure, formData, file){
  141. this.actionAttachment.invoke({"name": "replaceAttachment", "parameter": {"documentid": documentid, "id": id},"data": formData,"file": file,"success": success,"failure": failure});
  142. },
  143. getAttachment: function(id, documentid, success, failure, async){
  144. this.actionAttachment.invoke({"name": "getAttachment","async": async, "parameter": {"id": id, "documentid": documentid}, "success": success, "failure": failure});
  145. },
  146. deleteAttachment: function(id, documentid, success, failure, async){
  147. this.actionAttachment.invoke({"name": "deleteAttachment","async": async, "parameter": {"id": id, "documentid": documentid}, "success": success, "failure": failure});
  148. },
  149. getAttachmentData: function(id, documentid){
  150. this.actionAttachment.getActions(function(){
  151. var url = this.actionAttachment.actions.getAttachmentData.uri;
  152. url = url.replace("{id}", encodeURIComponent(id));
  153. url = url.replace("{documentid}", encodeURIComponent(documentid));
  154. window.open(this.actionAttachment.address+url);
  155. }.bind(this));
  156. },
  157. getAttachmentStream: function(id, documentid){
  158. this.actionAttachment.getActions(function(){
  159. var url = this.actionAttachment.actions.getAttachmentStream.uri;
  160. url = url.replace("{id}", encodeURIComponent(id));
  161. url = url.replace("{documentid}", encodeURIComponent(documentid));
  162. window.open(this.actionAttachment.address+url);
  163. }.bind(this));
  164. },
  165. getAttachmentUrl: function(id, documentid, callback){
  166. this.actionAttachment.getActions(function(){
  167. var url = this.actionAttachment.actions.getAttachmentData.uri;
  168. url = url.replace("{id}", encodeURIComponent(id));
  169. url = url.replace("{documentid}", encodeURIComponent(documentid));
  170. if (callback) callback(this.actionAttachment.address+url);
  171. }.bind(this));
  172. },
  173. getHotPic: function(application, infoId , success, failure, async){
  174. this.actionHotPic.invoke({"name": "getHotPic", "parameter": {"application": application, "infoId" : infoId },"success": success,"failure": failure, "async": async});
  175. },
  176. saveHotPic: function(data, success, failure, async){
  177. this.actionHotPic.invoke({"name": "saveHotPic", data : data, "success": success,"failure": failure, "async": async});
  178. },
  179. removeHotPic: function(id, success, failure, async){
  180. this.actionHotPic.invoke({"name": "removeHotPic", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  181. },
  182. removeHotPicByInfor: function(application, infoId , success, failure){
  183. this.actionHotPic.invoke({"name": "removeHotPicByInfor", "parameter": {"application": application, "infoId" : infoId },"success": success,"failure": failure});
  184. },
  185. listHotPicFilterPage : function(page, count, filterData, success,failure, async){
  186. this.actionHotPic.invoke({"name": "listHotPicFilterPage","parameter": {"page": page , "count" : count }, "data": filterData, "async": async, "success": success, "failure": failure});
  187. },
  188. getInternetImageBaseBase64: function(data, success, failure, async){
  189. this.actionAttachment.invoke({"name": "getInternetImageBaseBase64", data : data, "success": success,"failure": failure, "async": async});
  190. },
  191. convertLocalImageToBase64: function(size, success, failure, formData, file){
  192. this.actionAttachment.invoke({"name": "convertLocalImageToBase64", "parameter": {"size": size},"data": formData,"file": file,"success": success,"failure": failure});
  193. },
  194. getSubjectAttachmentBase64: function(id, size , success, failure, async){
  195. this.actionAttachment.invoke({"name": "getSubjectAttachmentBase64", "parameter": {"id": id, "size" : size },"success": success,"failure": failure, "async": async});
  196. }
  197. });