check : "String",\r
init : ""\r
},\r
+ /**\r
+ * The type of this value, for the moment "primitive" and "ref" are supported \r
+ */\r
specType : {\r
check : "String",\r
init : "" \r
},\r
+ /**\r
+ * Subtype, depending on the "type". \r
+ */\r
specSubType : {\r
check : "String"\r
},\r
+ /**\r
+ * Whether it is a parameter or not \r
+ */\r
parameter : {\r
check : "Boolean"\r
},\r
+ /**\r
+ * Whether it is frozen on the server, i.e. disabled in the form \r
+ */\r
frozen : {\r
check : "Boolean"\r
},\r
+ /**\r
+ * Should not be editable nor seeable, thus hidden \r
+ */\r
hidden : {\r
check : "Boolean"\r
},\r
+ /**\r
+ * The real value \r
+ */\r
value : {\r
nullable : true\r
},\r
var childs = xmlNode.childNodes;\r
for(var i=0;i<childs.length;i++){\r
var child = childs[i];\r
- if(child.nodeType != Node.ELEMENT_NODE) continue;\r
+ if(child.nodeType != 1) continue;\r
if(child.nodeName == "slc:primitive-spec-attribute"){\r
this.setSpecType("primitive");\r
this.setSpecSubType(org.argeo.ria.util.Element.getSingleNodeText(child, "@type"));\r
- if(org.argeo.ria.util.Element.getSingleNodeText(child, "slc:value")){\r
- this.setValue(org.argeo.ria.util.Element.getSingleNodeText(child, "slc:value"));\r
+ if(org.argeo.ria.util.Element.getSingleNodeText(child, ".")){\r
+ this.setValue(org.argeo.ria.util.Element.getSingleNodeText(child, "."));\r
}\r
}else if(child.nodeName == "slc:ref-spec-attribute"){\r
this.setSpecType("ref");\r
}); \r
}\r
},\r
+ \r
+ /**\r
+ * Create an XML Representation of this value\r
+ * @return {String} The XML String\r
+ */\r
+ toAttributeXml : function(){\r
+ var valueTag = '';\r
+ var specAttribute = '';\r
+ if(this.getSpecType() == "primitive"){\r
+ valueTag = (this.getValue()?this.getValue():'');\r
+ specAttribute = '<slc:primitive-spec-attribute isParameter="'+(this.getParameter()?"true":"false")+'" isFrozen="'+(this.getFrozen()?"true":"false")+'" isHidden="'+(this.getHidden()?"true":"false")+'" type="'+this.getSpecSubType()+'">'+valueTag+'</slc:primitive-spec-attribute>';\r
+ }else if(this.getSpecType() == "ref"){\r
+ valueTag = (this.getValue()?'<slc:label>'+this.getValue()+'</slc:label>':'');\r
+ specAttribute = '<slc:ref-spec-attribute isParameter="'+(this.getParameter()?"true":"false")+'" isFrozen="'+(this.getFrozen()?"true":"false")+'" isHidden="'+(this.getHidden()?"true":"false")+'" targetClassName="'+this.getSpecSubType()+'">'+valueTag+'</slc:ref-spec-attribute>';\r
+ }\r
+ return '<slc:value key="'+this.getKey()+'">'+specAttribute+'</slc:value>';\r
+ },\r
\r
- _applyXmlValue : function(xmlNode){\r
- var xpath;\r
+ toValueXml : function(){\r
+ var valueTag = '';\r
+ var specAttribute = '';\r
if(this.getSpecType() == "primitive"){\r
- xpath = "slc:primitive-value/slc:value";\r
+ valueTag = this.getValue();\r
+ specAttribute = '<slc:primitive-value type="'+this.getSpecSubType()+'">'+valueTag+'</slc:primitive-value>';\r
}else if(this.getSpecType() == "ref"){\r
- xpath = "slc:ref-value/slc:label";\r
+ valueTag = '<slc:label>'+this.getValue()+'</slc:label>';\r
+ specAttribute = '<slc:ref-value >'+valueTag+'</slc:ref-value>';\r
}\r
- this.setValue(org.argeo.ria.util.Element.getSingleNodeText(xmlNode, xpath));\r
+ return '<slc:value key="'+this.getKey()+'">'+specAttribute+'</slc:value>'; \r
}\r
} \r
\r