X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Forg.argeo.slc.ria%2Fsrc%2Fargeo-ria-lib%2Fjcr%2Fclass%2Forg%2Fargeo%2Fjcr%2Fria%2Fviews%2FTreeView.js;h=ee17460f99abda63059af94eb9b26253725967fb;hb=5defbc739b7b0d438e428a874aa46e86a9c7f78d;hp=9fd2e163cd452a5005e0ef7af652e6084c8cfb97;hpb=40c5f7480c6339a2173454b90d59ee92e4f6e95f;p=gpl%2Fargeo-slc.git diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/views/TreeView.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/views/TreeView.js index 9fd2e163c..ee17460f9 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/views/TreeView.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/views/TreeView.js @@ -14,8 +14,8 @@ qx.Class.define("org.argeo.jcr.ria.views.TreeView", { icon : "org.argeo.slc.ria/media-playback-start.png", shortcut : null, enabled : true, - menu : "Context", - toolbar : "context", + menu : "Zoom", + toolbar : "zoom", callback : function(e) { var selection = this.tree.getSelection(); if(!selection.length) return; @@ -38,8 +38,8 @@ qx.Class.define("org.argeo.jcr.ria.views.TreeView", { icon : "org.argeo.slc.ria/media-playback-start.png", shortcut : null, enabled : true, - menu : "Context", - toolbar : "context", + menu : "Zoom", + toolbar : "zoom", submenu : [], callback : function(e) { }, @@ -69,7 +69,51 @@ qx.Class.define("org.argeo.jcr.ria.views.TreeView", { } this.setMenu(pathes); } - } + }, + "open" : { + label : "Open", + icon : "org.argeo.slc.ria/media-playback-start.png", + shortcut : null, + enabled : true, + menu : "Selection", + toolbar : "selection", + callback : function(e) { + var selection = this.tree.getSelection(); + if(!selection.length) return; + var jcrNode = selection[0].getJcrNode(); + var viewsManager = org.argeo.ria.components.ViewsManager.getInstance(); + var testView = viewsManager.initIViewClass(org.argeo.jcr.ria.views.PlainXmlViewer, "editor", jcrNode); + testView.load(jcrNode); + + }, + selectionChange : function(viewId, selection){ + this.setEnabled(false); + if(selection && selection.length && selection[0].getJcrNode){ + this.setEnabled(true); + } + } + }, + "dl" : { + label : "Download", + icon : "org.argeo.slc.ria/media-playback-start.png", + shortcut : null, + enabled : true, + menu : "Selection", + toolbar : "selection", + callback : function(e) { + var selection = this.tree.getSelection(); + if(!selection.length) return; + var jcrNode = selection[0].getJcrNode(); + var url = '/org.argeo.slc.webapp/getJcrItem.jcr?path=' + jcrNode.getPath() + '&download=true'; + org.argeo.ria.Application.INSTANCE.javascriptDownloadLocation(url); + }, + selectionChange : function(viewId, selection){ + this.setEnabled(false); + if(selection && selection.length && selection[0].getJcrNode){ + this.setEnabled(true); + } + } + } } }, viewSelection : { @@ -81,7 +125,7 @@ qx.Class.define("org.argeo.jcr.ria.views.TreeView", { event : "changeInstanceId" }, instanceLabel : { - init:"Tree View", + init:"Full Tree", event : "changeInstanceLabel" }, dataModel : { @@ -118,7 +162,6 @@ qx.Class.define("org.argeo.jcr.ria.views.TreeView", { var dataModel = this.getDataModel(); dataModel.addListener("changeContextNode", function(event){ var contextNode = event.getData(); - var loader = function(){}; var newRoot = new org.argeo.jcr.ria.views.JcrTreeFolder(contextNode); this.tree.setRoot(newRoot); this.tree.setSelection([newRoot]); @@ -132,10 +175,32 @@ qx.Class.define("org.argeo.jcr.ria.views.TreeView", { selection.push(sel[i].getJcrNode()); viewSelection.addNode(sel[i]); } - this.getDataModel().setSelection(selection); + this.getDataModel().setSelectionWithSource(selection, this); + }, this); + dataModel.addListener("changeSelection", function(e){ + if(this.getDataModel().getSelectionSource() == this) return; + var selection = this.getDataModel().getSelection(); + // Arbitrary : for the moment, external select can only apply + // to children of the current selection + var crtSel = this.tree.getSelection(); + if(!crtSel.length || !selection.length) return; + var crtTreeSel = crtSel[0]; + if(selection[0].getParent() && crtTreeSel.getJcrNode().getPath() == selection[0].getParent().getPath()){ + crtTreeSel.setOpen(true); + var crtChildren =crtTreeSel.getChildren(); + for(var i=0;i