RestActions.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  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. this.actionOrg = new MWF.xDesktop.Actions.RestActions("", "x_organization_assemble_express", "x_component_cms_Document");
  25. this.actionOrg.getActions = function(callback){
  26. this.getActionActions(this.actionOrg, callback);
  27. }.bind(this);
  28. },
  29. getActionActions: function(action, callback){
  30. if (!action.actions){
  31. this.getActions(function(json){
  32. action.actions = this.actions;
  33. if (callback) callback();
  34. }.bind(this));
  35. }else{
  36. if (callback) callback();
  37. }
  38. },
  39. getActions: function(callback){
  40. if (!this.actions){
  41. MWF.getJSON(this.actionPath, function(json){
  42. this.actions = json;
  43. if (callback) callback();
  44. }.bind(this));
  45. }else{
  46. if (callback) callback();
  47. }
  48. },
  49. getId: function(count, success, failure, async){
  50. this.action.invoke({"name": "getId","async": async, "parameter": {"count": count}, "success": success, "failure": failure});
  51. },
  52. getUUID: function(success){
  53. var id = "";
  54. this.action.invoke({"name": "getId","async": false, "parameter": {"count": "1"}, "success": function(ids){
  55. id = ids.data[0];
  56. if (success) success(id);
  57. }, "failure": null});
  58. return id;
  59. },
  60. listColumnController: function(appId,success, failure, async){
  61. this.actionDocument.invoke({"name": "listColumnController","async": async, "parameter": {"appId": appId}, "success": success, "failure": failure});
  62. },
  63. listCategoryController: function(categoryId, success, failure, async){
  64. this.actionDocument.invoke({"name": "listCategoryController","async": async, "parameter": {"categoryId": categoryId}, "success": success, "failure": failure});
  65. },
  66. getDocument: function(docId, success, failure){
  67. this.actionDocument.invoke({"name": "getDocument", "parameter": {"id": docId },"success": success,"failure": failure});
  68. },
  69. viewDocument: function(docId, success, failure){
  70. this.actionDocument.invoke({"name": "viewDocument", "parameter": {"id": docId },"success": success,"failure": failure});
  71. },
  72. saveDocument: function(documentData, success, failure, async){
  73. if (!documentData.isNewDocument){
  74. this.updateDocument(documentData, success, failure, async);
  75. }else{
  76. this.addDocument(documentData, success, failure, async);
  77. }
  78. },
  79. addDocument: function(documentData, success, failure, async){
  80. delete documentData.attachmentList;
  81. this.actionDocument.invoke({"name": "addDocument","data": documentData,"success": success,"failure": failure,"async": async});
  82. },
  83. updateDocument: function(documentData, success, failure, async){
  84. delete documentData.attachmentList;
  85. this.actionDocument.invoke({"name": "updateDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure,"async": async});
  86. },
  87. removeDocument: function(id, success, failure, async){
  88. this.actionDocument.invoke({"name": "removeDocument", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  89. },
  90. publishDocument: function(documentData, success, failure){
  91. this.actionDocument.invoke({"name": "publishDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  92. },
  93. cancelPublishDocument: function(documentData, success, failure){
  94. this.actionDocument.invoke({"name": "cancelPublishDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  95. },
  96. archiveDocument: function(documentData, success, failure){
  97. this.actionDocument.invoke({"name": "archiveDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  98. },
  99. redraftDocument: function(documentData, success, failure){
  100. this.actionDocument.invoke({"name": "redraftDocument","data": documentData,"parameter": {"id": documentData.id},"success": success,"failure": failure});
  101. },
  102. getCategory: function(id, success, failure){
  103. var _self = this;
  104. this.actionDocument.invoke({"name": "getCategory","parameter": {"id": id },"success": function(json){
  105. _self.transCategoryData(json);
  106. success.call(this,json);
  107. },"failure": failure});
  108. },
  109. transCategoryData : function( json ){
  110. var trans = function(category){
  111. if(!category.name)category.name = category.categoryName;
  112. if(!category.alias)category.alias = category.categoryAlias;
  113. if(!category.categoryName)category.categoryName = category.name;
  114. if(!category.categoryAlias)category.categoryAlias = category.alias;
  115. };
  116. if( json.data ){
  117. if( typeOf(json.data) == "array" ){
  118. json.data.each( function(category){
  119. trans(category)
  120. })
  121. }else{
  122. trans(json.data)
  123. }
  124. }else{
  125. json.data = [];
  126. }
  127. },
  128. getForm: function(formId, success, failure, async){
  129. this.actionDocument.invoke({"name": "getForm","async": async, "parameter": {"id": formId}, "success": success, "failure": failure});
  130. },
  131. saveData: function(success, failure, id, data, async){
  132. if( !data.isNew ) {
  133. this.updateData(success, failure, id, data, async);
  134. }else{
  135. this.addData(success, failure, id, data, async);
  136. }
  137. },
  138. addData: function(success, failure, id, data, async){
  139. this.actionData.invoke({"name": "addData","async": async, "data": data, "parameter": {"id": id}, "success": success, "failure": failure});
  140. },
  141. updateData: function(success, failure, id, data, async){
  142. this.actionData.invoke({"name": "updateData","async": async, "data": data, "parameter": {"id": id}, "success": success, "failure": failure});
  143. },
  144. listAttachment: function(documentid, success, failure, async){
  145. this.actionDocument.invoke({"name": "listAttachment","async": async, "parameter": {"documentid": documentid}, "success": success, "failure": failure});
  146. },
  147. uploadAttachment: function(id, success, failure, formData, file){
  148. this.actionAttachment.invoke({"name": "uploadAttachment", "parameter": {"id": id},"data": formData,"file": file,"success": success,"failure": failure});
  149. },
  150. replaceAttachment: function(id, documentid, success, failure, formData, file){
  151. this.actionAttachment.invoke({"name": "replaceAttachment", "parameter": {"documentid": documentid, "id": id},"data": formData,"file": file,"success": success,"failure": failure});
  152. },
  153. getAttachment: function(id, documentid, success, failure, async){
  154. this.actionAttachment.invoke({"name": "getAttachment","async": async, "parameter": {"id": id, "documentid": documentid}, "success": success, "failure": failure});
  155. },
  156. deleteAttachment: function(id, documentid, success, failure, async){
  157. this.actionAttachment.invoke({"name": "deleteAttachment","async": async, "parameter": {"id": id, "documentid": documentid}, "success": success, "failure": failure});
  158. },
  159. getAttachmentData: function(id, documentid){
  160. this.actionAttachment.getActions(function(){
  161. var url = this.actionAttachment.actions.getAttachmentData.uri;
  162. url = url.replace("{id}", encodeURIComponent(id));
  163. url = url.replace("{documentid}", encodeURIComponent(documentid));
  164. window.open(this.actionAttachment.address+url);
  165. }.bind(this));
  166. },
  167. getAttachmentStream: function(id, documentid){
  168. this.actionAttachment.getActions(function(){
  169. var url = this.actionAttachment.actions.getAttachmentStream.uri;
  170. url = url.replace("{id}", encodeURIComponent(id));
  171. url = url.replace("{documentid}", encodeURIComponent(documentid));
  172. window.open(this.actionAttachment.address+url);
  173. }.bind(this));
  174. },
  175. getAttachmentUrl: function(id, documentid, callback){
  176. this.actionAttachment.getActions(function(){
  177. var url = this.actionAttachment.actions.getAttachmentData.uri;
  178. url = url.replace("{id}", encodeURIComponent(id));
  179. url = url.replace("{documentid}", encodeURIComponent(documentid));
  180. if (callback) callback(this.actionAttachment.address+url);
  181. }.bind(this));
  182. },
  183. getHotPic: function(application, infoId , success, failure, async){
  184. this.actionHotPic.invoke({"name": "getHotPic", "parameter": {"application": application, "infoId" : infoId },"success": success,"failure": failure, "async": async});
  185. },
  186. saveHotPic: function(data, success, failure, async){
  187. this.actionHotPic.invoke({"name": "saveHotPic", data : data, "success": success,"failure": failure, "async": async});
  188. },
  189. removeHotPic: function(id, success, failure, async){
  190. this.actionHotPic.invoke({"name": "removeHotPic", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  191. },
  192. removeHotPicByInfor: function(application, infoId , success, failure){
  193. this.actionHotPic.invoke({"name": "removeHotPicByInfor", "parameter": {"application": application, "infoId" : infoId },"success": success,"failure": failure});
  194. },
  195. listHotPicFilterPage : function(page, count, filterData, success,failure, async){
  196. this.actionHotPic.invoke({"name": "listHotPicFilterPage","parameter": {"page": page , "count" : count }, "data": filterData, "async": async, "success": success, "failure": failure});
  197. },
  198. getInternetImageBaseBase64: function(data, success, failure, async){
  199. this.actionAttachment.invoke({"name": "getInternetImageBaseBase64", data : data, "success": success,"failure": failure, "async": async});
  200. },
  201. convertLocalImageToBase64: function(size, success, failure, formData, file){
  202. this.actionAttachment.invoke({"name": "convertLocalImageToBase64", "parameter": {"size": size},"data": formData,"file": file,"success": success,"failure": failure});
  203. },
  204. getSubjectAttachmentBase64: function(id, size , success, failure, async){
  205. this.actionAttachment.invoke({"name": "getSubjectAttachmentBase64", "parameter": {"id": id, "size" : size },"success": success,"failure": failure, "async": async});
  206. },
  207. getPersonByIdentity: function(success, failure, name, async){
  208. this.actionOrg.invoke({"name": "getPersonByIdentity","async": async, "parameter": {"name": name}, "success": success, "failure": failure});
  209. },
  210. getPerson: function(success, failure, name, async){
  211. this.actionOrg.invoke({"name": "getPerson","async": async, "parameter": {"name": name}, "success": success, "failure": failure});
  212. },
  213. saveImage: function(data, success, failure, async){
  214. this.actionDocument.invoke({"name": "saveImage", data : data, "success": success,"failure": failure, "async": async});
  215. },
  216. getImage: function(id, success, failure, async){
  217. this.actionDocument.invoke({"name": "getImage", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  218. },
  219. listImage: function(documentid, success, failure, async){
  220. this.actionDocument.invoke({"name": "listImage","async": async, "parameter": {"documentid": documentid}, "success": success, "failure": failure});
  221. },
  222. removeImage: function(id, success, failure, async){
  223. this.actionDocument.invoke({"name": "removeImage", "async": async, "parameter": {"id": id}, "success": success, "failure": failure});
  224. },
  225. getImageByDocument: function(documentid, success, failure, async){
  226. this.actionDocument.invoke({"name": "getImageByDocument","async": async, "parameter": {"documentid": documentid}, "success": success, "failure": failure});
  227. },
  228. getImageUrl: function(id, documentid, callback){
  229. this.actionDocument.getActions(function(){
  230. var url = this.actionDocument.actions.getImage.uri;
  231. url = url.replace("{id}", encodeURIComponent(id));
  232. url = url.replace("{documentid}", encodeURIComponent(documentid));
  233. if (callback) callback(this.actionDocument.address+url);
  234. }.bind(this));
  235. }
  236. });