X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.webapp%2Fsrc%2Fmain%2Fwebapp%2Fargeo-ria-lib%2Fslc%2Fclass%2Forg%2Fargeo%2Fslc%2Fria%2FNewLauncherApplet.js;h=640712e9afc362c883773fa287068aaf379db325;hb=07accaabbde7297dae82ec434fb88027a65fef23;hp=d91a4a98d2b8be68c8070190adb048ba6ddff018;hpb=6ae24373b4153f19984831a5f456c18f763bf279;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/NewLauncherApplet.js b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/NewLauncherApplet.js index d91a4a98d..640712e9a 100644 --- a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/NewLauncherApplet.js +++ b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/NewLauncherApplet.js @@ -25,7 +25,10 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet", check:"org.argeo.ria.components.ViewSelection" }, instanceId : {init:""}, - instanceLabel : {init:""}, + instanceLabel : {init:""}, + /** + * A boolean registering whether the SpecEditor must autoOpen or not when a spec is added to the Batch. + */ autoOpen : { init : true, check : "Boolean" @@ -155,7 +158,28 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet", callback : function(e){ var selected = this.tree.getSelectedItem(); if(selected.classname == "org.argeo.ria.components.DynamicTreeFolder"){ - selected.reload(); + if(selected.getUserData("moduleData")){ + // It's a "module" node, first trigger the reloadBundle.service + selected.setUserData("dataModel", {}); + selected.setEnabled(false); + selected.setOpen(false); + var moduleData = selected.getUserData("moduleData"); + var bundleService = org.argeo.slc.ria.SlcApi.getReloadBundleService(moduleData.name, moduleData.version); + bundleService.addListener("completed", function(response){ + selected.setEnabled(true); + selected.setOpen(true); + selected.reload(); + }, this); + //bundleService.send(); + //Do not send, not implemented yet, false timer instead. + qx.event.Timer.once(function(response){ + selected.setEnabled(true); + selected.setOpen(true); + selected.reload(); + }, this, 2000); + }else{ + selected.reload(); + } } }, selectionChange : function(viewId, selection){ @@ -183,53 +207,100 @@ qx.Class.define("org.argeo.slc.ria.NewLauncherApplet", }, statics : { + /** + * Loader for the "flow" level : takes a folder containing "moduleData" and create its children. + * @param folder {qx.ui.tree.TreeFolder} A Tree folder containing in the key "moduleData" of its user data a map containing the keys {name,version} + */ flowLoader : function(folder){ - var moduleData = folder.getUserData("moduleData"); - var req = org.argeo.ria.remote.RequestManager.getInstance().getRequest("../argeo-ria-src/stub.xml", "GET", "application/xml"); + var moduleData = folder.getUserData("moduleData"); + //var pathStub = ["", "/test/toto/zobi", "loop"]; + //var indexStub = 0; + + var req = org.argeo.slc.ria.SlcApi.getLoadExecutionDescriptorService(moduleData.name, moduleData.version); req.addListener("completed", function(response){ var executionModule = new org.argeo.slc.ria.execution.Module(); executionModule.setXmlNode(response.getContent()); - // - // ARTIFIALLY REPLACE MODULE NAME / VERSION, FOR TESTS PURPOSES - // - executionModule.setName(moduleData.name); - executionModule.setVersion(moduleData.version); - // END var execFlows = executionModule.getExecutionFlows(); for(var key in execFlows){ var file = new qx.ui.tree.TreeFile(key); + var path = execFlows[key].getPath(); + //path = pathStub[indexStub]; + //indexStub ++; file.setUserData("executionModule", executionModule); file.setUserData("executionFlow", execFlows[key]); - folder.add(file); + org.argeo.slc.ria.NewLauncherApplet.attachNodeByPath(folder, path, file); + folder.appendDragData(file); } folder.setLoaded(true); }); req.send(); }, + /** + * Loader for the "modules" level : takes any tree folder, currently the root folder. + * @param folder {qx.ui.tree.TreeFolder} The root folder + */ modulesLoader : function(folder){ - // Call service, and parse - var mods = { - "Module 1":["ver1.1", "ver1.2", "ver1.3"], - "Module 2":["ver2.1", "ver2.2", "ver2.3", "ver2.4"], - "Module 3":["ver3.1", "ver3.2"] - }; - var flowLoader = org.argeo.slc.ria.NewLauncherApplet.flowLoader; - for(var key in mods){ - var moduleFolder = new qx.ui.tree.TreeFolder(key); - folder.add(moduleFolder); - for(var i=0;i