From: Charles du Jeu Date: Wed, 28 Apr 2010 15:42:00 +0000 (+0000) Subject: Play with context node and selection changes. X-Git-Tag: argeo-slc-2.1.7~1337 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=6df9a6dfc2547a4d6fbb073484ba6abe9bedd720;p=gpl%2Fargeo-slc.git Play with context node and selection changes. git-svn-id: https://svn.argeo.org/slc/trunk@3514 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/JcrBrowser.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/JcrBrowser.js index 1def8d5ae..48191b259 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/JcrBrowser.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/JcrBrowser.js @@ -26,15 +26,18 @@ qx.Class.define("org.argeo.jcr.ria.JcrBrowser", initViewPanes : function(viewsManager){ + this._tBar = new org.argeo.ria.components.ViewPane("toolbar", ""); + this._tBar.header.setVisibility("excluded"); + viewsManager.getViewPanesContainer().add(this._tBar); + this._splitPane = new qx.ui.splitpane.Pane("horizontal"); - var mainPane = new org.argeo.ria.components.ViewPane("fulltree", "Full Tree"); - this._splitPane.add(mainPane, 1); + var leftPane = new org.argeo.ria.components.ViewPane("treeview", "Tree View"); + this._splitPane.add(leftPane, 1); + var mainPane = new org.argeo.ria.components.ViewPane("fulltree", "Editor View"); + this._splitPane.add(mainPane, 2); + viewsManager.registerViewPane(this._tBar); viewsManager.registerViewPane(mainPane); - /* - var uploadPane = new org.argeo.ria.components.ViewPane("upload", "Upload a distribution"); - this._splitPane.add(uploadPane, 1); - viewsManager.registerViewPane(uploadPane); - */ + viewsManager.registerViewPane(leftPane); viewsManager.getViewPanesContainer().add(this._splitPane, {flex:1}); }, @@ -46,16 +49,23 @@ qx.Class.define("org.argeo.jcr.ria.JcrBrowser", dynamic : true, pathParameter:"path" }); - var rootNode = new org.argeo.jcr.ria.model.Node("Root", true); + var rootNode = new org.argeo.jcr.ria.model.Node("Root", nodeProvider, true); rootNode.setPath('/slc'); - rootNode.setNodeProvider(nodeProvider); var dataModel = new org.argeo.jcr.ria.model.DataModel(rootNode); + + var inputView = viewsManager.initIViewClass(org.argeo.jcr.ria.views.ContextNodeInputView, "toolbar", dataModel); + inputView.load(); + var testView = viewsManager.initIViewClass(org.argeo.jcr.ria.views.PlainXmlViewer, "fulltree", dataModel); testView.load(); + + var treeView = viewsManager.initIViewClass(org.argeo.jcr.ria.views.TreeView, "treeview", dataModel); + treeView.load(); }, remove : function(viewsManager){ viewsManager.getViewPanesContainer().remove(this._splitPane); + viewsManager.getViewPanesContainer().remove(this._tBar); } } diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/DataModel.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/DataModel.js index 9ed620539..4432c8066 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/DataModel.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/DataModel.js @@ -14,8 +14,9 @@ qx.Class.define("org.argeo.jcr.ria.model.DataModel", { check : "org.argeo.jcr.ria.model.Node" }, selection : { - check : "org.argeo.jcr.ria.model.Node[]", - event : "changeSelection" + check : "Array", + event : "changeSelection", + init : [] } }, @@ -28,6 +29,7 @@ qx.Class.define("org.argeo.jcr.ria.model.DataModel", { requireContextChange : function(path){ var targetNode; var rootNode = this.getRootNode(); + this.setSelection([]); if(!path){ targetNode = rootNode; }else{ @@ -36,9 +38,8 @@ qx.Class.define("org.argeo.jcr.ria.model.DataModel", { path = path.substring(0, path.length-1); } var base = path.substring(path.lastIndexOf("/")+1); - targetNode = new org.argeo.jcr.ria.model.Node(base); + targetNode = new org.argeo.jcr.ria.model.Node(base, rootNode.getNodeProvider()); rootNode.addChild(targetNode); - targetNode.setNodeProvider(rootNode.getNodeProvider()); targetNode.setPath(path); } var observer = function(event){ diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/Node.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/Node.js index fcd5e6d22..3cf7e4964 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/Node.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/jcr/class/org/argeo/jcr/ria/model/Node.js @@ -18,15 +18,19 @@ qx.Class.define("org.argeo.jcr.ria.model.Node", { event : "changeLoadState" }, nodeProvider : { - check : "org.argeo.jcr.ria.provider.INodeProvider" + check : "org.argeo.jcr.ria.provider.INodeProvider", + nullable : true } }, - construct : function(nodeName, isRoot){ + construct : function(nodeName, nodeProvider, isRoot){ this.base(arguments); this._children = {}; this._properties = {}; this.setName(nodeName); + if(nodeProvider){ + this.setNodeProvider(nodeProvider); + } if(isRoot){ this.setPath(""); this.setRoot(this); @@ -63,11 +67,11 @@ qx.Class.define("org.argeo.jcr.ria.model.Node", { for(var i=0;i]*)>", "gi"); var TAG_END_PATTERN = new RegExp("", "gi"); var TAG_CLOSE_PATTERN = new RegExp("(/?>)", "gi"); - var TAG_ATTRIBUTE = new RegExp("\\s([0-9a-zA-Z:]+)\\=\"([^\"]*)\"", "gi"); + var TAG_ATTRIBUTE = new RegExp("\\s([0-9a-zA-Z:_]+)\\=\"([^\"]*)\"", "gi"); // Not implemented yet var TAG_COMMENT = new RegExp("()", "gi"); var TAG_CDATA_START = new RegExp("(\\ 1){ + for(var i=0;i