X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Forg.argeo.slc.ria%2Fsrc%2Fargeo-ria-lib%2Fslc%2Fclass%2Forg%2Fargeo%2Fslc%2Fria%2FBatchView.js;h=0574296710dd1943a28b6835353d59ea005593ae;hb=0d3e11ceb470772cd6bc7218d23bc6985ad6f56b;hp=8769751bb82f4559a4d369ce5f6a38ad709d4f12;hpb=2dad63f97c21e34db947b740c7f728fd34ae11a5;p=gpl%2Fargeo-slc.git diff --git a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/BatchView.js b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/BatchView.js index 8769751bb..057429671 100644 --- a/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/BatchView.js +++ b/server/org.argeo.slc.ria/src/argeo-ria-lib/slc/class/org/argeo/slc/ria/BatchView.js @@ -5,7 +5,16 @@ qx.Class.define("org.argeo.slc.ria.BatchView", { extend : qx.ui.container.Composite, implement : [org.argeo.ria.components.IView], - + include : [org.argeo.ria.session.MPrefHolder], + statics : { + riaPreferences : { + "slc.batch.delete.confirm" : { + label : "Confirm on batch deletion", + type : "boolean", + defaultValue : true + } + } + }, properties : { /** @@ -16,7 +25,7 @@ qx.Class.define("org.argeo.slc.ria.BatchView", init : { "submitform" : { label : "Execute Batch", - icon : "resource/slc/media-playback-start.png", + icon : "org.argeo.slc.ria/media-playback-start.png", shortcut : null, enabled : false, menu : "Launcher", @@ -28,9 +37,10 @@ qx.Class.define("org.argeo.slc.ria.BatchView", }, command : null }, + /* "toggleopenonadd" : { label : "Auto edit on Add", - icon : "resource/slc/document-open.png", + icon : "org.argeo.slc.ria/document-open.png", shortcut : null, enabled : true, toggle : true, @@ -45,7 +55,7 @@ qx.Class.define("org.argeo.slc.ria.BatchView", }, "editexecutionspecs" : { label : "Edit Execution Specs", - icon : "resource/slc/document-open.png", + icon : "org.argeo.slc.ria/document-open.png", shortcut : null, enabled : false, menu : "Launcher", @@ -59,7 +69,7 @@ qx.Class.define("org.argeo.slc.ria.BatchView", } }, selectionChange : function(viewId, selection) { - if (viewId != "form:list") + if (viewId != "batch:list") return; this.setEnabled(false); if ((selection && selection.length == 1)) { @@ -71,38 +81,63 @@ qx.Class.define("org.argeo.slc.ria.BatchView", }, command : null }, + */ "removefrombatch" : { label : "Remove from batch", - icon : "resource/slc/edit-delete.png", + icon : "org.argeo.slc.ria/edit-delete.png", shortcut : null, enabled : false, menu : "Launcher", toolbar : "batch", callback : function(e) { var sel = this.list.getSortedSelection(); - var modal = new org.argeo.ria.components.Modal("Confirm", null); - modal.addConfirm("Are you sure you want to remove
the selected test" - + (sel.length > 1 ? "s" : "") - + " from the Batch?"); - modal.addListener("ok", function() { - for (var i = 0; i < sel.length; i++) { - this.list.remove(sel[i]); - } - if (!this.list.hasChildren()) { - this.setBatchAgentId(null); - } - }, this); - modal.attachAndShow(); + var confirmPref = this.getRiaPreferenceValue("slc.batch.delete.confirm"); + this.debug(confirmPref); + var execution = function() { + for (var i = 0; i < sel.length; i++) { + this.list.remove(sel[i]); + } + if (!this.list.hasChildren()) { + this.setBatchAgentId(null); + } + } + if(confirmPref){ + var modal = new org.argeo.ria.components.Modal("Confirm", null); + modal.addConfirm("Are you sure you want to remove
the selected test" + + (sel.length > 1 ? "s" : "") + + " from the Batch?"); + modal.addListener("ok", execution, this); + modal.attachAndShow(); + }else{ + execution = qx.lang.Function.bind(execution, this); + execution(); + } }, selectionChange : function(viewId, selection) { - if (viewId != "form:list") + if (viewId != "batch:list") return; this.setEnabled(false); if ((selection && selection.length > 0)) this.setEnabled(true); }, command : null - } + }, + "clearbatch" : { + label : "Clear batch", + icon : "org.argeo.slc.ria/user-trash-full.png", + shortcut : null, + enabled : true, + menu : "Launcher", + toolbar : "batch", + callback : function(e) { + if(!this.list.hasChildren()) return; + this.list.selectAll(); + this.getCommands()["removefrombatch"].command.execute(); + }, + selectionChange : function(viewId, selection) { + }, + command : null + } } }, view : { @@ -198,8 +233,7 @@ qx.Class.define("org.argeo.slc.ria.BatchView", this.list.setDroppable(true); this.list.setDraggable(true); this.list.setContextMenu(org.argeo.ria.event.CommandsManager - .getInstance().createMenuFromIds(["editexecutionspecs", - "removefrombatch"])); + .getInstance().createMenuFromIds(["removefrombatch"])); this.list.addListener("dragstart", function(e) { e.addType(["items"]); @@ -242,7 +276,7 @@ qx.Class.define("org.argeo.slc.ria.BatchView", this.list.addListener("changeSelection", function(e) { var viewSelection = this.getViewSelection(); - viewSelection.setViewId("form:list"); + viewSelection.setViewId("batch:list"); viewSelection.clear(); var listSel = this.list.getSortedSelection(); for (var i = 0; i < listSel.length; i++) { @@ -250,15 +284,27 @@ qx.Class.define("org.argeo.slc.ria.BatchView", } }, this); + this.dropDecorator = new qx.ui.decoration.Background(); + this.dropDecorator.set({ + backgroundImage : "org.argeo.slc.ria/drophere.gif", + backgroundRepeat : "no-repeat" + }); + + listChangeListener = function() { var command = org.argeo.ria.event.CommandsManager.getInstance() .getCommandById("submitform"); command.setEnabled(this.list.hasChildren()); + var command2 = org.argeo.ria.event.CommandsManager.getInstance() + .getCommandById("clearbatch"); + command2.setEnabled(this.list.hasChildren()); + this.list.setDecorator((this.list.hasChildren()?null:this.dropDecorator)); }; this.list.addListener("addItem", listChangeListener, this); this.list.addListener("removeItem", listChangeListener, this); - - + + this.list.setDecorator(this.dropDecorator); + this.add(this.listPane); }, @@ -317,12 +363,14 @@ qx.Class.define("org.argeo.slc.ria.BatchView", var batchEntry = new org.argeo.slc.ria.execution.BatchEntrySpec( executionModule, executionFlow); var label = batchEntry.getLabel(); - var icon = target.getIcon() || "resource/slc/office-document.png"; + var icon = target.getIcon() || "org.argeo.slc.ria/office-document.png"; var item = new qx.ui.form.ListItem(label, icon); + /* item.addListener("dblclick", function(e) { this.getCommands()["editexecutionspecs"].command .execute(); }, this); + */ item.setUserData("batchEntrySpec", batchEntry); item.setPaddingTop(1); item.setPaddingBottom(2); @@ -335,9 +383,11 @@ qx.Class.define("org.argeo.slc.ria.BatchView", this.list.add(item); } this.list.select(item); + /* if (this.getAutoOpen() && !skipAutoOpen) { this.getCommands()["editexecutionspecs"].command.execute(); } + */ }, /** @@ -355,17 +405,22 @@ qx.Class.define("org.argeo.slc.ria.BatchView", var batchEntrySpec = selection[i].getUserData("batchEntrySpec"); slcExecMessage.addBatchEntrySpec(batchEntrySpec); } - var req = org.argeo.slc.ria.SlcApi.getNewSlcExecutionService( - agentUuid, slcExecMessage.toXml()); - req.send(); - // Force logs refresh right now! - qx.event.Timer.once(function() { - var command = org.argeo.ria.event.CommandsManager - .getInstance().getCommandById("reloadlogs"); - if (command) { - command.execute(); - } - }, this, 2000); + try{ + var xmlMessage = slcExecMessage.toXml(); + var req = org.argeo.slc.ria.SlcApi.getNewSlcExecutionService( + agentUuid, xmlMessage); + req.send(); + // Force logs refresh right now! + qx.event.Timer.once(function() { + var command = org.argeo.ria.event.CommandsManager + .getInstance().getCommandById("reloadlogs"); + if (command) { + command.execute(); + } + }, this, 2000); + }catch(e){ + this.error(e); + } }, clearBatchForAgentId : function(agentId){