All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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