
com.viaoa.web.html.HtmlTable Maven / Gradle / Ivy
package com.viaoa.web.html;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.viaoa.web.util.OAWebUtil;
/*
Superheros and sidekicks
Batman
Robin
The Flash
Kid Flash
Skill
Smarts
Dex, acrobat
Super speed
Super speed
*/
/**
* Html Table element.
*/
public class HtmlTable extends HtmlElement {
private HtmlColGroup colGroup;
private final List alTHeadRow = new ArrayList<>();
private final List alTFootRow = new ArrayList<>();
private final List alTBodyRow = new ArrayList<>();
private String prevAjaxScript;
public HtmlTable(String id) {
super(id);
}
public boolean getEnabled() {
return htmlComponent.getEnabled();
}
public boolean isEnabled() {
return htmlComponent.getEnabled();
}
public HtmlColGroup getColGroup() {
return colGroup;
}
public void setColGroup(HtmlColGroup cg) {
this.colGroup = cg;
}
public void addTHeadRow(HtmlTR tr) {
this.alTHeadRow.add(tr);
}
public List getTHeadRows() {
return alTHeadRow;
}
public void addTFootRow(HtmlTR tr) {
this.alTFootRow.add(tr);
}
public List getTFootRows() {
return alTFootRow;
}
public void addTBodyRow(HtmlTR tr) {
this.alTBodyRow.add(tr);
}
public List getTBodyRows() {
return alTBodyRow;
}
@Override
protected String getAjaxScript(boolean bIsInitializing) {
String html = createTableScript();
if (!bIsInitializing && html.equals(prevAjaxScript)) return null;
prevAjaxScript = html;
return html;
}
protected String createTableScript() {
//qqqqqqqqqqqqqqqqq create a version that updates existing TRs, TDs
// add isChanged=true to TR, TD classes
// $("#table tbody tr:eq(0) td:eq(0)").html("TEXTXXX");
StringBuilder sb = new StringBuilder();
HtmlColGroup colGroup = getColGroup();
if (colGroup != null) {
sb.append(colGroup.createHtml());
}
//qqqqqqqqqqqq
//
if (getTHeadRows().size() > 0) {
sb.append("");
for (HtmlTR tr : getTHeadRows()) {
sb.append(tr.createHtml());
}
sb.append("");
}
if (getTFootRows().size() > 0) {
sb.append("");
for (HtmlTR tr : getTFootRows()) {
sb.append(tr.createHtml());
}
sb.append("");
}
if (getTBodyRows().size() > 0) {
sb.append("\n");
for (HtmlTR tr : getTBodyRows()) {
sb.append(tr.createHtml() + "\n");
}
sb.append("\n");
}
String html = sb.toString();
html = OAWebUtil.createEmbeddedHtmlString(html, '\"');
sb = new StringBuilder();
sb.append("$('#"+getId()+"').html(`");
sb.append(html);
sb.append("`);\n");
String js = sb.toString();
return js;
}
private static Set hsSupported = new HashSet(); // lowercase
static {
hsSupported.add("enabled");
}
public boolean isSupported(String name) {
if (name == null) return false;
return super.isSupported(name) || hsSupported.contains(name.toLowerCase());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy