]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.webapp/src/main/webapp/argeo-ria-lib/slc/class/org/argeo/slc/ria/execution/Flow.js
Various fixes and "ghost" implementation of reloadBundle.service and flow path.
[gpl/argeo-slc.git] / org.argeo.slc.webapp / src / main / webapp / argeo-ria-lib / slc / class / org / argeo / slc / ria / execution / Flow.js
index 124e14e8ab9f5ebe68c57f85c0c40e3755608d18..017599ee6f2ce64999faf001ef5449a81458d9e4 100644 (file)
@@ -13,6 +13,13 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", {
                        check : "String",\r
                        init : ""\r
                },\r
+               /**\r
+                * An optional path describing this flow\r
+                */\r
+               path : {\r
+                       check : "String",\r
+                       nullable : true\r
+               },\r
                /**\r
                 * Name of the associated spec, to be found in the module \r
                 */\r
@@ -25,6 +32,9 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", {
                executionSpec : {\r
                        check : "org.argeo.slc.ria.execution.Spec"\r
                },\r
+               /**\r
+                * The values to init the ExecutionSpec\r
+                */\r
                values : {\r
                        check : "Node"\r
                },\r
@@ -37,9 +47,22 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", {
        },\r
        \r
        statics : {\r
+               /**\r
+                * Xpath to the name \r
+                */\r
                XPATH_NAME : "@name",\r
+               /**\r
+                * XPath to the ExecutionSpec name\r
+                */\r
                XPATH_EXEC_SPEC_NAME : "@executionSpec",\r
-               XPATH_VALUES : "slc:values"\r
+               /**\r
+                * XPath to the values\r
+                */\r
+               XPATH_VALUES : "slc:values",\r
+               /**\r
+                * An optional hierarchical path\r
+                */\r
+               XPATH_PATH : "@path"\r
        },\r
        \r
        construct : function(){\r
@@ -54,15 +77,23 @@ qx.Class.define("org.argeo.slc.ria.execution.Flow", {
                _applyXmlNode : function(xmlNode){\r
                        this.set({\r
                                name : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_NAME),\r
+                               path : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_PATH),\r
                                executionSpecName : org.argeo.ria.util.Element.getSingleNodeText(xmlNode, this.self(arguments).XPATH_EXEC_SPEC_NAME)\r
                        });\r
                        var values = org.argeo.ria.util.Element.selectNodes(xmlNode, this.self(arguments).XPATH_VALUES);\r
                        this.setValues(values[0]);\r
                },\r
+               /**\r
+                * Get a given value inside the values map\r
+                * @param key {String} The key of the value \r
+                * @param specType {String} Expected type (currently "primitive" and "ref" are supported)\r
+                * @param specSubType {String} Expected subtype (depends on the type)\r
+                * @return {String} Value if it is set.\r
+                */\r
                getValue: function(key, specType, specSubType){\r
                        var xpath;\r
                        if(specType == "primitive"){\r
-                               xpath = 'slc:value[@key="'+key+'"]/slc:primitive-value[@type="'+specSubType+'"]/slc:value';\r
+                               xpath = 'slc:value[@key="'+key+'"]/slc:primitive-value[@type="'+specSubType+'"]';\r
                        }else if(specType == "ref"){\r
                                xpath = 'slc:value[@key="'+key+'"]/slc:ref-value/slc:label';\r
                        }\r