RestActions.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. MWF.xApplication.File.Actions = MWF.xApplication.File.Actions || {};
  2. MWF.require("MWF.xDesktop.Actions.RestActions", null, false);
  3. MWF.xApplication.File.Actions.RestActions = new Class({
  4. initialize: function(){
  5. this.action = new MWF.xDesktop.Actions.RestActions("/Actions/action.json", "x_file_assemble_control", "x_component_File");
  6. },
  7. listTopFolder: function(success, failure, async){
  8. this.action.invoke({"name": "listFolderTop","async": async, "success": success, "failure": failure});
  9. },
  10. listShare: function(success, failure, async){
  11. this.action.invoke({"name": "listShare","async": async,"success": success,"failure": failure});
  12. },
  13. listShareAttachment: function(success, failure, id, async){
  14. this.action.invoke({"name": "listShareAttachment","async": async,"parameter": {"person": id},"success": success,"failure": failure});
  15. },
  16. listEditor: function(success, failure, async){
  17. this.action.invoke({"name": "listEditor","async": async,"success": success,"failure": failure});
  18. },
  19. listEditorAttachment: function(success, failure, id, async){
  20. this.action.invoke({"name": "listEditorAttachment","async": async,"parameter": {"person": id},"success": success,"failure": failure});
  21. },
  22. listFolder: function(success, failure, id, async){
  23. this.action.invoke({"name": "listFolder","async": async,"parameter": {"id": id},"success": success,"failure": failure});
  24. },
  25. listAttachmentTop: function(success, failure, async){
  26. this.action.invoke({"name": "listAttachmentTop","async": async,"success": success,"failure": failure});
  27. },
  28. listAttachment: function(success, failure, id, async){
  29. this.action.invoke({"name": "listAttachment","async": async,"parameter": {"id": id},"success": success,"failure": failure});
  30. },
  31. listComplex: function(success, failure, id, async){
  32. this.action.invoke({"name": "listComplex","async": async,"parameter": {"id": id},"success": success,"failure": failure});
  33. },
  34. addAttachment: function(success, failure, formData, folder, file){
  35. this.action.invoke({"name": "addAttachment","data": formData, "parameter": {"folder": folder},"file": file,"success": success,"failure": failure});
  36. },
  37. updateAttachmentData: function(success, failure, formData, id, file){
  38. this.action.invoke({"name": "updateAttachmentData","data": formData,"parameter": {"id": id},"file": file,"success": success,"failure": failure});
  39. },
  40. getFolder: function(success, failure, id, async){
  41. this.action.invoke({"name": "getFolder","async": async,"parameter": {"id": id},"success": success,"failure": failure});
  42. },
  43. getAttachment: function(id){
  44. var url= this.designAddress+this.fileActions.getAttachmentData.uri;
  45. url = url.replace(/{id}/g, id);
  46. window.open(url);
  47. },
  48. saveFolder: function(data, success, failure){
  49. if (data.id){
  50. this.updateFolder(data, success, failure);
  51. }else{
  52. this.addFolder(data, success, failure);
  53. }
  54. },
  55. updateFolder: function(data, success, failure){
  56. this.action.invoke({"name": "updateFolder","data": data,"parameter": {"id": data.id},"success": success,"failure": failure});
  57. },
  58. addFolder: function(data, success, failure){
  59. this.action.invoke({"name": "addFolder","data": data,"success": success,"failure": failure});
  60. },
  61. updateAttachment: function(data, success, failure){
  62. this.action.invoke({"name": "updateAttachment","data": data,"parameter": {"id": data.id},"success": success,"failure": failure});
  63. },
  64. deleteFolder: function(id, success, failure){
  65. this.action.invoke({
  66. "name": "removeFolder",
  67. "parameter": {"id": id},
  68. "success": success,
  69. "failure": failure
  70. });
  71. },
  72. deleteFile: function(id, success, failure){
  73. this.action.invoke({
  74. "name": "removeAttachment",
  75. "parameter": {"id": id},
  76. "success": success,
  77. "failure": failure
  78. });
  79. },
  80. getFileUrl: function(id, callback){
  81. this.action.getActions(function(){
  82. var url = this.action.actions.getAttachmentData.uri;
  83. url = url.replace("{id}", encodeURIComponent(id));
  84. if (callback) callback(this.action.address+url);
  85. }.bind(this));
  86. },
  87. getFileDownloadUrl: function(id, callback){
  88. this.action.getActions(function(){
  89. var url = this.action.actions.getAttachmentStream.uri;
  90. url = url.replace("{id}", encodeURIComponent(id));
  91. if (callback) callback(this.action.address+url);
  92. }.bind(this));
  93. },
  94. getBase64Code: function(success, failure, id, width, height, async){
  95. width = width || 0;
  96. height = height ||0;
  97. this.action.invoke({"name": "getBase64Code","async": async,"parameter": {"id": id, "height" : height, "width" : width},"success": success,"failure": failure});
  98. }
  99. });