Attachment action and assiociated icons
authorCharles du Jeu <charles.dujeu@gmail.com>
Thu, 7 May 2009 16:11:50 +0000 (16:11 +0000)
committerCharles du Jeu <charles.dujeu@gmail.com>
Thu, 7 May 2009 16:11:50 +0000 (16:11 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@2423 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

server/org.argeo.slc.ria/src/argeo-ria-lib/slc-web/class/org/argeo/slc/web/TestList.js
server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/SlcApi.js
server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/document-save-as.png [new file with mode: 0644]
server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/mime-text-plain.png [new file with mode: 0644]

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
index afb6f5e92b2635cc204ca1e0da23c582ff65d556..7009757a1857365293d0077aa2f0e2c4cdd77c30 100644 (file)
@@ -20,6 +20,7 @@ qx.Class.define("org.argeo.slc.ria.SlcApi",
        COPY_COLLECTION_TO_COLL_SERVICE : "copyCollectionToCollection.service",\r
        LIST_RESULTS_SERVICE : "listResultAttributes.service",\r
        GET_RESULT_SERVICE : "getResult.service",\r
+       GET_ATTACHEMENT_SERVICE : "getAttachment.service",\r
        LIST_SLCEXEC_SERVICE : "listSlcExecutions.service",\r
        NEW_SLCEXEC_SERVICE : "newSlcExecution.service",\r
        \r
@@ -183,6 +184,11 @@ qx.Class.define("org.argeo.slc.ria.SlcApi",
                return request;\r
        },\r
 \r
+       buildGetAttachmentUrl : function(attachmentId, contentType){\r
+               return org.argeo.slc.ria.SlcApi.DEFAULT_CONTEXT + "/" + org.argeo.slc.ria.SlcApi.GET_ATTACHEMENT_SERVICE\r
+                       + "?uuid=" + attachmentId + "&contentType=" + contentType;\r
+       },\r
+       \r
        /**\r
         * List currently registered SlcExecutions.\r
         * @param fireReloadEventType {String} Event type to trigger (optionnal)\r
diff --git a/server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/document-save-as.png b/server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/document-save-as.png
new file mode 100644 (file)
index 0000000..624656d
Binary files /dev/null and b/server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/document-save-as.png differ
diff --git a/server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/mime-text-plain.png b/server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/mime-text-plain.png
new file mode 100644 (file)
index 0000000..e147fd9
Binary files /dev/null and b/server/org.argeo.slc.ria/src/argeo-ria-src/resource/slc/mime-text-plain.png differ