package br.com.centralit.citajax.html; import br.com.centralit.citajax.util.CitAjaxWebUtil; import br.com.centralit.citajax.util.JavaScriptUtil; /** * Para utilizar o Framework CITAjax, deve-se acrescentar os seguintes arquivos de Javascript na pagina: * HTMLUtils.js * ObjectUtils.js * @author emauri * */ public class HTMLElement { protected String id; protected boolean disabled; protected boolean readonly; protected boolean visible; protected String value; protected String innerHTML; protected String style; protected String className; protected DocumentHTML document; //Documento ao qual o elemento esta vinculado. //Definicao de tipos de objetos protected static final String UNDEFINED = "undefined"; protected static final String TEXTBOX = "text"; protected static final String TEXTAREA = "textarea"; protected static final String CHECKBOX = "checkbox"; protected static final String RADIO = "radio"; protected static final String TABLE = "table"; protected static final String SELECT = "select"; protected static final String TREEVIEW = "treeview"; protected static final String JANELAPOPUP = "janelapopup"; public HTMLElement(String idParm, DocumentHTML documentParm){ this.setId(idParm); this.setDocument(documentParm); documentParm.setElement(idParm, this); //Atribui informacoes dele no document (Se nao existir). } public String getType(){ return UNDEFINED; } public void setFocus(){ setCommandExecute("HTMLUtils.setFocus('" + this.id + "')"); } public boolean isDisabled() { return disabled; } public void setDisabled(boolean disabled) { this.disabled = disabled; setCommandExecute("document.getElementById('" + this.id + "').disabled=" + (disabled ? "true" : "false")); } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getInnerHTML() { return innerHTML; } public void setInnerHTML(String innerHTML) { this.innerHTML = innerHTML; setCommandExecute("document.getElementById('" + this.id + "').innerHTML=ObjectUtils.decodificaAspasApostrofe(ObjectUtils.decodificaEnter('" + CitAjaxWebUtil.codificaAspasApostrofe(CitAjaxWebUtil.codificaEnter(JavaScriptUtil.escapeJavaScript(innerHTML))) + "'))"); } public boolean isReadonly() { return readonly; } public void setReadonly(boolean readonly) { this.readonly = readonly; setCommandExecute("document.getElementById('" + this.id + "').readOnly=" + (readonly ? "true" : "false")); } public String getValue() { return value; } public void setValue(String value) { this.value = value; setCommandExecute("HTMLUtils.setValue('" + this.id + "','" + value + "')"); } public DocumentHTML getDocument() { return document; } public void setDocument(DocumentHTML document) { this.document = document; } protected void setCommandExecute(String comand){ this.document.getComandsExecute().add(comand); } public String getStyle() { return style; } public void setStyle(String style) { this.style = style; setCommandExecute("document.getElementById('" + this.id + "').style='" + style + "'"); } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; setCommandExecute("document.getElementById('" + this.id + "').className='" + className + "'"); } public boolean isVisible() { return visible; } public void setVisible(boolean visible) { this.visible = visible; setCommandExecute("HTMLUtils.setVisible('" + this.id + "', " + (visible ? "true" : "false") + ")"); } }