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=a2a8ff9c8832427fea81b0ce43c548fc8cad9918;hb=f59509dd7a5d4aed1a1b4f8fae72883b3911b16b;hp=0574296710dd1943a28b6835353d59ea005593ae;hpb=0d3e11ceb470772cd6bc7218d23bc6985ad6f56b;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 057429671..a2a8ff9c8 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 @@ -12,6 +12,11 @@ qx.Class.define("org.argeo.slc.ria.BatchView", label : "Confirm on batch deletion", type : "boolean", defaultValue : true + }, + "slc.batch.autoclear" : { + label : "Autoclear batch on execution", + type : "boolean", + defaultValue : false } } }, @@ -31,9 +36,25 @@ qx.Class.define("org.argeo.slc.ria.BatchView", menu : "Launcher", toolbar : "batch", callback : function(e) { - if (this.getBatchAgentId()) { - this.executeBatchOnAgent(this.getBatchAgentId()); + var batchAgentId = this.getBatchAgentId(); + if (!batchAgentId) { + return; } + var prefName = "slc.batch.autoclear"; + var prefValue = this.getRiaPreferenceValue(prefName); + if(prefValue !== null){ + this.executeBatchOnAgent(batchAgentId, prefValue); + return; + } + var modal = new org.argeo.ria.components.Modal("Clear?", null); + modal.addYesNoReminder("Do you want to clear the batch automatically after execution?", prefName); + modal.addListener("cancel", function(e){ + this.executeBatchOnAgent(batchAgentId, false); + }, this); + modal.addListener("ok", function(e){ + this.executeBatchOnAgent(batchAgentId, true); + }, this); + modal.attachAndShow(); }, command : null }, @@ -91,8 +112,7 @@ qx.Class.define("org.argeo.slc.ria.BatchView", toolbar : "batch", callback : function(e) { var sel = this.list.getSortedSelection(); - var confirmPref = this.getRiaPreferenceValue("slc.batch.delete.confirm"); - this.debug(confirmPref); + var confirmPref = this.getRiaPreferenceValue("slc.batch.delete.confirm"); var execution = function() { for (var i = 0; i < sel.length; i++) { this.list.remove(sel[i]); @@ -362,16 +382,14 @@ qx.Class.define("org.argeo.slc.ria.BatchView", var executionFlow = target.getUserData("executionFlow"); var batchEntry = new org.argeo.slc.ria.execution.BatchEntrySpec( executionModule, executionFlow); - var label = batchEntry.getLabel(); - 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); + + this.appendBatchEntrySpec(batchEntry, target.getIcon(), after); + }, + + appendBatchEntrySpec: function(batchEntrySpec, icon, after){ + + var item = new qx.ui.form.ListItem(batchEntrySpec.getLabel(), icon || "org.argeo.slc.ria/system.png"); + item.setUserData("batchEntrySpec", batchEntrySpec); item.setPaddingTop(1); item.setPaddingBottom(2); if (after) { @@ -383,11 +401,7 @@ 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(); - } - */ + }, /** @@ -396,7 +410,7 @@ qx.Class.define("org.argeo.slc.ria.BatchView", * @param agentUuid * {String} The id of the target agent */ - executeBatchOnAgent : function(agentUuid) { + executeBatchOnAgent : function(agentUuid, clearBatch) { var selection = this.list.getChildren(); if (!selection.length) return; @@ -407,6 +421,10 @@ qx.Class.define("org.argeo.slc.ria.BatchView", } try{ var xmlMessage = slcExecMessage.toXml(); + if(!window.xmlExecStub){ + window.xmlExecStub = {}; + } + window.xmlExecStub[slcExecMessage.getUuid()] = qx.xml.Document.fromString(xmlMessage); var req = org.argeo.slc.ria.SlcApi.getNewSlcExecutionService( agentUuid, xmlMessage); req.send(); @@ -418,6 +436,12 @@ qx.Class.define("org.argeo.slc.ria.BatchView", command.execute(); } }, this, 2000); + if(clearBatch){ + req.addListener("completed", function(e){ + this.list.removeAll(); + this.setBatchAgentId(null); + }, this); + } }catch(e){ this.error(e); }