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%2Fexecution%2FFlow.js;h=017599ee6f2ce64999faf001ef5449a81458d9e4;hb=68ed7317e5fefb71258b552c1fb2ccd1c1f8cbc5;hp=124e14e8ab9f5ebe68c57f85c0c40e3755608d18;hpb=57f3f674573109ece71b4424e92a71acc12dff92;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js index 124e14e8a..017599ee6 100644 --- a/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js +++ b/org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js @@ -13,6 +13,13 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", { check : "String", init : "" }, + /** + * An optional path describing this flow + */ + path : { + check : "String", + nullable : true + }, /** * Name of the associated spec, to be found in the module */ @@ -25,6 +32,9 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", { executionSpec : { check : "org.argeo.slc.ria.execution.Spec" }, + /** + * The values to init the ExecutionSpec + */ values : { check : "Node" }, @@ -37,9 +47,22 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", { }, statics : { + /** + * Xpath to the name + */ XPATH_NAME : "@name", + /** + * XPath to the ExecutionSpec name + */ XPATH_EXEC_SPEC_NAME : "@executionSpec", - XPATH_VALUES : "slc:values" + /** + * XPath to the values + */ + XPATH_VALUES : "slc:values", + /** + * An optional hierarchical path + */ + XPATH_PATH : "@path" }, construct : function(){ @@ -54,15 +77,23 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", { _applyXmlNode : function(xmlNode){ this.set({ name : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_NAME), + path : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_PATH), executionSpecName : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_EXEC_SPEC_NAME) }); var values = org.argeo.ria.util.Element.selectNodes(xmlNode, this.self(arguments).XPATH_VALUES); this.setValues(values[0]); }, + /** + * Get a given value inside the values map + * @param key {String} The key of the value + * @param specType {String} Expected type (currently "primitive" and "ref" are supported) + * @param specSubType {String} Expected subtype (depends on the type) + * @return {String} Value if it is set. + */ getValue: function(key, specType, specSubType){ var xpath; if(specType == "primitive"){ - xpath = 'slc:value[@key="'+key+'"]/slc:primitive-value[@type="'+specSubType+'"]/slc:value'; + xpath = 'slc:value[@key="'+key+'"]/slc:primitive-value[@type="'+specSubType+'"]'; }else if(specType == "ref"){ xpath = 'slc:value[@key="'+key+'"]/slc:ref-value/slc:label'; }