]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js
Attachment action and assiociated icons
[gpl/argeo-slc.git] / server / org.argeo.slc.ria / src / argeo-ria-lib / slc-web / class / org / argeo / slc / web / TestList.js
index 28a9f193cad876b9e93e7cc67b9553cd9563add5..6204701924e3b95785ca2262f7ea239eb059df84 100644 (file)
@@ -166,6 +166,47 @@ qx.Class.define("org.argeo.slc.web.TestList",
                                        this.setEnabled(true);\r
                                }\r
                        },\r
+                       "attachments" : {\r
+                               label           : "Attachments", \r
+                               icon            : "resource/slc/document-save-as.png",\r
+                               shortcut        : null,\r
+                               enabled         : false,\r
+                               menu            : "Selection",\r
+                               toolbar         : "selection",\r
+                               callback        : function(e){ },\r
+                               command         : null,\r
+                               submenu         : [],\r
+                               submenuCallback : function(commandId){                                          \r
+                                       var split = commandId.split("__commandseparator__");\r
+                                       var uuid = split[0];\r
+                                       var contentType = split[1];\r
+                                       var url = org.argeo.slc.ria.SlcApi.buildGetAttachmentUrl(uuid, contentType);\r
+                                       var win = window.open(url);\r
+                               },\r
+                               selectionChange : function(viewId, xmlNodes){\r
+                                       if(viewId!="list")return;\r
+                                       this.clearMenus();\r
+                                       this.setEnabled(false);\r
+                                       if(xmlNodes == null || !xmlNodes.length || xmlNodes.length != 1) return;\r
+                                       // Check slc:simple-attachment tags\r
+                                       var attachs = org.argeo.ria.util.Element.selectNodes(xmlNodes[0], "slc:attachments/slc:simple-attachment");\r
+                                       if(attachs && attachs.length){\r
+                                               var submenus = [];\r
+                                               for(var i=0;i<attachs.length;i++){\r
+                                                       var uuid = org.argeo.ria.util.Element.getSingleNodeText(attachs[i], "slc:uuid");\r
+                                                       var contentType = org.argeo.ria.util.Element.getSingleNodeText(attachs[i], "slc:content-type");\r
+                                                       var name = org.argeo.ria.util.Element.getSingleNodeText(attachs[i], "slc:name");\r
+                                                       submenus.push({\r
+                                                               label:name, \r
+                                                               icon : 'resource/slc/mime-text-plain.png', \r
+                                                               commandId:uuid+'__commandseparator__'+contentType\r
+                                                       });\r
+                                               }\r
+                                               this.setMenu(submenus);\r
+                                               this.setEnabled(true);\r
+                                       }\r
+                               }\r
+                       },\r
                        "copytocollection" : {\r
                                label           : "Copy to...", \r
                                icon            : "resource/slc/edit-copy.png",\r