/workflow/engine/js/appFolder/core/appFolderList.js

https://bitbucket.org/ferOnti/processmaker · JavaScript · 297 lines · 261 code · 34 blank · 2 comment · 5 complexity · ef272d1c5ad9bcad0cfd21ffc75212cc MD5 · raw file

  1. function openPMFolder( uid, rootfolder ){
  2. currentFolder = uid;
  3. if((document.getElementById('child_'+uid).innerHTML!="")&&(uid!=rootfolder)){
  4. document.getElementById('child_'+uid).innerHTML="";
  5. getPMFolderContent(uid);
  6. return;
  7. }
  8. document.getElementById('child_'+uid).innerHTML = "<img src='/images/classic/loader_B.gif' >";
  9. var oRPC = new leimnud.module.rpc.xmlhttp({
  10. url : 'appFolderAjax',
  11. async : true,
  12. method: 'POST',
  13. args : 'action=openPMFolder&folderID=' + uid+'&rootfolder='+rootfolder
  14. });
  15. oRPC.callback = function(rpc) {
  16. document.getElementById('child_'+uid).innerHTML = rpc.xmlhttp.responseText;
  17. var scs = rpc.xmlhttp.responseText.extractScript();
  18. scs.evalScript();
  19. getPMFolderContent(uid);
  20. }.extend(this);
  21. oRPC.make();
  22. if(uid==rootfolder){//Only refresh tags cloud if we are loading the root folder
  23. getPMFolderTags(rootfolder);
  24. }
  25. }
  26. function getPMFolderContent(uid){
  27. document.getElementById('spanFolderContent').innerHTML = "<img src='/images/classic/loader_B.gif' >";//"Loading..";
  28. var oRPC = new leimnud.module.rpc.xmlhttp({
  29. url : 'appFolderAjax',
  30. async : true,
  31. method: 'POST',
  32. args : 'action=getPMFolderContent&folderID=' + uid
  33. });
  34. oRPC.callback = function(rpc) {
  35. document.getElementById('spanFolderContent').innerHTML = oRPC.xmlhttp.responseText;
  36. var scs = oRPC.xmlhttp.responseText.extractScript();
  37. scs.evalScript();
  38. }.extend(this);
  39. oRPC.make();
  40. }
  41. function getPMFolderSearchResult(searchKeyword,type){
  42. document.getElementById('spanFolderContent').innerHTML = "<img src='/images/classic/loader_B.gif' >";//"Loading..";
  43. var oRPC = new leimnud.module.rpc.xmlhttp({
  44. url : 'appFolderAjax',
  45. async : true,
  46. method: 'POST',
  47. args : 'action=getPMFolderContent&searchKeyword=' + searchKeyword + '&type=' + type
  48. });
  49. oRPC.callback = function(rpc) {
  50. document.getElementById('spanFolderContent').innerHTML = oRPC.xmlhttp.responseText;
  51. var scs = oRPC.xmlhttp.responseText.extractScript();
  52. scs.evalScript();
  53. }.extend(this);
  54. oRPC.make();
  55. }
  56. function getPMFolderTags(rootfolder){
  57. document.getElementById('tags_cloud').innerHTML = "<img src='/images/classicloader_B.gif' >";//"Loading..";
  58. var oRPC = new leimnud.module.rpc.xmlhttp({
  59. url : 'appFolderAjax',
  60. async : false,
  61. method: 'POST',
  62. args : 'action=getPMFolderTags&rootFolder=' + rootfolder
  63. });
  64. oRPC.make();
  65. document.getElementById('tags_cloud').innerHTML = oRPC.xmlhttp.responseText;
  66. var scs = oRPC.xmlhttp.responseText.extractScript();
  67. scs.evalScript();
  68. }
  69. var uploadDocument = function(docID,appDocId,docVersion,actionType,appId,docType){
  70. if(actionType){
  71. if(actionType=="R"){
  72. windowTitle=G_STRINGS.ID_UPLOAD_REPLACE_INPUT;
  73. }
  74. if(actionType=="NV"){
  75. windowTitle=G_STRINGS.ID_UPLOAD_NEW_INPUT_VERSION;
  76. }
  77. }else{
  78. windowTitle=G_STRINGS.ID_UPLOAD_NEW_INPUT;
  79. docVersion=1;
  80. actionType="";
  81. appDocId="";
  82. }
  83. oPanel = new leimnud.module.panel();
  84. oPanel.options = {
  85. size :{w:550,h:300},
  86. position:{x:0,y:0,center:true},
  87. title :windowTitle,
  88. theme :"processmaker",
  89. statusBar:false,
  90. control :{resize:true,roll:false},
  91. fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
  92. };
  93. oPanel.events = {
  94. remove: function() { delete(oPanel); }.extend(this)
  95. };
  96. oPanel.make();
  97. oPanel.loader.show();
  98. var oRPC = new leimnud.module.rpc.xmlhttp({
  99. url : 'appFolderAjax',
  100. args: "action=uploadDocument&docID="+docID+"&appDocId="+appDocId+"&docVersion="+docVersion+"&actionType="+actionType+"&appId="+appId+"&docType="+docType
  101. });
  102. oRPC.callback = function(rpc){
  103. oPanel.loader.hide();
  104. var scs=rpc.xmlhttp.responseText.extractScript();
  105. oPanel.addContent(rpc.xmlhttp.responseText);
  106. scs.evalScript();
  107. }.extend(this);
  108. oRPC.make();
  109. };
  110. var oPanel;
  111. var gUSER_UID;
  112. var uploadExternalDocument = function(folderID){
  113. gUSER_UID = folderID;
  114. oPanel = new leimnud.module.panel();
  115. oPanel.options = {
  116. size :{w:550,h:300},
  117. position:{x:0,y:0,center:true},
  118. title :G_STRINGS.ID_UPLOAD_EXTERNAL_DOCUMENT,
  119. theme :"processmaker",
  120. statusBar:false,
  121. control :{resize:true,roll:false},
  122. fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
  123. };
  124. oPanel.events = {
  125. remove: function() { delete(oPanel); }.extend(this)
  126. };
  127. oPanel.make();
  128. oPanel.loader.show();
  129. var oRPC = new leimnud.module.rpc.xmlhttp({
  130. url : 'appFolderAjax',
  131. args: "action=uploadExternalDocument&folderID="+folderID
  132. });
  133. oRPC.callback = function(rpc){
  134. oPanel.loader.hide();
  135. var scs=rpc.xmlhttp.responseText.extractScript();
  136. oPanel.addContent(rpc.xmlhttp.responseText);
  137. scs.evalScript();
  138. }.extend(this);
  139. oRPC.make();
  140. };
  141. var oPanel;
  142. var gUSER_UID;
  143. var newFolder = function(folderID){
  144. gUSER_UID = folderID;
  145. oPanel = new leimnud.module.panel();
  146. oPanel.options = {
  147. size :{w:550,h:250},
  148. position:{x:0,y:0,center:true},
  149. title :G_STRINGS.ID_NEW_FOLDER,
  150. theme :"processmaker",
  151. statusBar:false,
  152. control :{resize:true,roll:false},
  153. fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
  154. };
  155. oPanel.events = {
  156. remove: function() { delete(oPanel); }.extend(this)
  157. };
  158. oPanel.make();
  159. oPanel.loader.show();
  160. var oRPC = new leimnud.module.rpc.xmlhttp({
  161. url : 'appFolderAjax',
  162. args: "action=newFolder&folderID="+folderID
  163. });
  164. oRPC.callback = function(rpc){
  165. oPanel.loader.hide();
  166. var scs=rpc.xmlhttp.responseText.extractScript();
  167. oPanel.addContent(rpc.xmlhttp.responseText);
  168. scs.evalScript();
  169. }.extend(this);
  170. oRPC.make();
  171. };
  172. var documentVersionHistory = function(folderID,appDocId){
  173. oPanel = new leimnud.module.panel();
  174. oPanel.options = {
  175. size :{w:550,h:300},
  176. position:{x:0,y:0,center:true},
  177. title :G_STRINGS.ID_INPUT_DOCUMENT_HISTORY,
  178. theme :"processmaker",
  179. statusBar:false,
  180. control :{resize:true,roll:false},
  181. fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
  182. };
  183. oPanel.events = {
  184. remove: function() { delete(oPanel); }.extend(this)
  185. };
  186. oPanel.make();
  187. oPanel.loader.show();
  188. var oRPC = new leimnud.module.rpc.xmlhttp({
  189. url : 'appFolderAjax',
  190. args: "action=documentVersionHistory&folderID="+folderID+"&appDocId="+appDocId
  191. });
  192. oRPC.callback = function(rpc){
  193. oPanel.loader.hide();
  194. var scs=rpc.xmlhttp.responseText.extractScript();
  195. oPanel.addContent(rpc.xmlhttp.responseText);
  196. scs.evalScript();
  197. }.extend(this);
  198. oRPC.make();
  199. };
  200. var documentInfo = function(docID,appDocId,docVersion,actionType,appId,docType,usrUid){
  201. oPanel = new leimnud.module.panel();
  202. oPanel.options = {
  203. size :{w:400,h:270},
  204. position:{x:0,y:0,center:true},
  205. title :G_STRINGS.ID_DOCUMENT_INFO,
  206. theme :"processmaker",
  207. statusBar:false,
  208. control :{resize:true,roll:false},
  209. fx :{modal:true,opacity:true,blinkToFront:true,fadeIn:false}
  210. };
  211. oPanel.events = {
  212. remove: function() { delete(oPanel); }.extend(this)
  213. };
  214. oPanel.make();
  215. oPanel.loader.show();
  216. var oRPC = new leimnud.module.rpc.xmlhttp({
  217. url : 'appFolderAjax',
  218. args: "action=documentInfo&docID="+docID+"&appDocId="+appDocId+"&docVersion="+docVersion+"&actionType="+actionType+"&appId="+appId+"&docType="+docType+"&usrUid="+usrUid
  219. });
  220. oRPC.callback = function(rpc){
  221. oPanel.loader.hide();
  222. var scs=rpc.xmlhttp.responseText.extractScript();
  223. oPanel.addContent(rpc.xmlhttp.responseText);
  224. scs.evalScript();
  225. }.extend(this);
  226. oRPC.make();
  227. };
  228. var documentdelete = function(docID,appDocId,docVersion,actionType,appId,docType,usrUid){
  229. new leimnud.module.app.confirm().make({
  230. label : G_STRINGS.ID_MSG_CONFIRM_DELETE_FILE,
  231. action: function() {
  232. var oRPC = new leimnud.module.rpc.xmlhttp({
  233. url : 'appFolderAjax',
  234. async : true,
  235. method:'POST',
  236. args: 'action=documentdelete&sFileUID='+appDocId+'&docVersion='+docVersion
  237. });
  238. oRPC.callback = function(oRPC) {
  239. window.location = 'appFolderList';
  240. }.extend(this);
  241. oRPC.make();
  242. }.extend(this)
  243. });
  244. //ajax_function('appFolderAjax','documentdelete','sFileUID='+encodeURIComponent(appDocId),'POST');
  245. //window.location = 'appFolderList';
  246. };
  247. function deletePMFolder( uid, rootfolder ){
  248. new leimnud.module.app.confirm().make({
  249. label : G_STRINGS.ID_MSG_CONFIRM_DELETE_FILE,
  250. action: function() {
  251. var oRPC = new leimnud.module.rpc.xmlhttp({
  252. url : 'appFolderAjax',
  253. async : true,
  254. method:'POST',
  255. args: 'action=deletePMFolder&sFileUID='+uid+'&rootfolder='+rootfolder
  256. });
  257. oRPC.callback = function(oRPC) {
  258. window.location = 'appFolderList';
  259. }.extend(this);
  260. oRPC.make();
  261. }.extend(this)
  262. });
  263. }