package corporate.hoteisadmin6;
import org.w3c.dom.Node;
import lumis.doui.control.DataBoundControl;
import lumis.portal.PortalException;
import lumis.util.XmlUtil;
public class ClassificacaoControl extends DataBoundControl
{
public void buildSubControls() throws PortalException
{
super.buildSubControls();
Node[] fieldNodes = XmlUtil.selectNodes("fields/field", controlDefinitionNode);
Node outputFieldNode = XmlUtil.selectSingleNode("outputField", controlDefinitionNode);
String outputFieldId = XmlUtil.readAttributeString("id", outputFieldNode);
if(fieldNodes == null || fieldNodes.length == 0 || outputFieldNode == null)
return;
StringBuilder scriptControlXmlString = new StringBuilder();
scriptControlXmlString.append("<control type=\"lum_script\">");
scriptControlXmlString.append("<script>function atualizaMedia() {");
scriptControlXmlString.append("var iSoma = 0;");
StringBuilder subControlsXmlString = new StringBuilder();
subControlsXmlString.append(XmlUtil.XML_HEADER);
subControlsXmlString.append("<controls>");
subControlsXmlString.append("<control type=\"lum_table\">");
for(Node fieldNode : fieldNodes)
{
String fieldId = XmlUtil.readAttributeString("id", fieldNode);
subControlsXmlString.append("<tr>");
subControlsXmlString.append("<td>");
subControlsXmlString.append("<control type=\"lum_label\" dataId=\"");
subControlsXmlString.append(fieldId);
subControlsXmlString.append("\"/>");
subControlsXmlString.append("</td>");
subControlsXmlString.append("<td>");
subControlsXmlString.append("<control type=\"lum_dropDownList\" id=\"");
subControlsXmlString.append(fieldId);
subControlsXmlString.append("\" onChange=\"javascript:atualizaMedia();\"/>");
subControlsXmlString.append("</td>");
subControlsXmlString.append("</tr>");
scriptControlXmlString.append("if(document.getElementById('");
scriptControlXmlString.append(fieldId);
scriptControlXmlString.append("').value){");
scriptControlXmlString.append("iSoma += parseInt(document.getElementById('");
scriptControlXmlString.append(fieldId);
scriptControlXmlString.append("').value);}");
}
subControlsXmlString.append("<tr>");
subControlsXmlString.append("<td>");
subControlsXmlString.append("<control type=\"lum_label\" dataId=\"");
subControlsXmlString.append(outputFieldId);
subControlsXmlString.append("\"/>");
subControlsXmlString.append("</td>");
subControlsXmlString.append("<td>");
subControlsXmlString.append("<control type=\"lum_inputText\" id=\"");
subControlsXmlString.append(outputFieldId);
subControlsXmlString.append("\" readonly=\"true\" style=\"width:35px\"/>");
subControlsXmlString.append("</td>");
subControlsXmlString.append("</tr>");
subControlsXmlString.append("</control>");
scriptControlXmlString.append("iSoma = iSoma / ");
scriptControlXmlString.append(fieldNodes.length);
scriptControlXmlString.append(";");
scriptControlXmlString.append("document.getElementById('");
scriptControlXmlString.append(outputFieldId);
scriptControlXmlString.append("').value = iSoma + '';}</script></control>");
subControlsXmlString.append(scriptControlXmlString);
subControlsXmlString.append("</controls>");
appendSubControls(subControlsXmlString.toString());
}
}
|