1 18 package org.apache.beehive.netui.tags.databinding.datagrid; 19 20 import java.io.IOException ; 21 import java.io.StringWriter ; 22 import javax.servlet.jsp.tagext.JspFragment ; 23 import javax.servlet.jsp.JspException ; 24 import javax.servlet.jsp.JspContext ; 25 import javax.servlet.http.HttpServletRequest ; 26 27 import org.apache.beehive.netui.tags.IHtmlEvents; 28 import org.apache.beehive.netui.tags.IHtmlI18n; 29 import org.apache.beehive.netui.tags.html.HtmlConstants; 30 import org.apache.beehive.netui.tags.rendering.AbstractHtmlState; 31 import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender; 32 import org.apache.beehive.netui.tags.rendering.WriteRenderAppender; 33 import org.apache.beehive.netui.tags.rendering.TFootTag; 34 import org.apache.beehive.netui.tags.rendering.TrTag; 35 import org.apache.beehive.netui.databinding.datagrid.api.rendering.DataGridTagModel; 36 import org.apache.beehive.netui.databinding.datagrid.api.rendering.StyleModel; 37 import org.apache.beehive.netui.databinding.datagrid.runtime.rendering.table.TableRenderer; 38 import org.apache.beehive.netui.databinding.datagrid.runtime.util.JspUtil; 39 import org.apache.beehive.netui.util.Bundle; 40 41 99 public class Footer 100 extends AbstractDataGridHtmlTag 101 implements IHtmlEvents, IHtmlI18n { 102 103 private boolean _renderRow = true; 104 private TFootTag.State _tfootTag = new TFootTag.State(); 105 106 110 public String getTagName() { 111 return "Footer"; 112 } 113 114 122 public void setOnClick(String onClick) { 123 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONCLICK, onClick); 124 } 125 126 134 public void setOnDblClick(String onDblClick) { 135 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONDBLCLICK, onDblClick); 136 } 137 138 146 public void setOnKeyDown(String onKeyDown) { 147 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONKEYDOWN, onKeyDown); 148 } 149 150 158 public void setOnKeyUp(String onKeyUp) { 159 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONKEYUP, onKeyUp); 160 } 161 162 170 public void setOnKeyPress(String onKeyPress) { 171 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONKEYPRESS, onKeyPress); 172 } 173 174 182 public void setOnMouseDown(String onMouseDown) { 183 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEDOWN, onMouseDown); 184 } 185 186 194 public void setOnMouseUp(String onMouseUp) { 195 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEUP, onMouseUp); 196 } 197 198 206 public void setOnMouseMove(String onMouseMove) { 207 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEMOVE, onMouseMove); 208 } 209 210 218 public void setOnMouseOut(String onMouseOut) { 219 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEOUT, onMouseOut); 220 } 221 222 230 public void setOnMouseOver(String onMouseOver) { 231 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEOVER, onMouseOver); 232 } 233 234 242 public void setStyle(String style) { 243 if("".equals(style)) return; 244 245 _tfootTag.style = style; 246 } 247 248 256 public void setStyleClass(String styleClass) { 257 if("".equals(styleClass)) return; 258 259 _tfootTag.styleClass = styleClass; 260 } 261 262 270 public void setTitle(String title) { 271 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.TITLE, title); 272 } 273 274 282 public void setAlign(String align) { 283 284 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.ALIGN, align); 285 } 286 287 295 public void setChar(String alignChar) { 296 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.CHAR, alignChar); 297 } 298 299 307 public void setCharoff(String alignCharOff) { 308 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.CHAROFF, alignCharOff); 309 } 310 311 319 public void setValign(String align) { 320 321 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.VALIGN, align); 322 } 323 324 332 public void setLang(String lang) { 333 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.LANG, lang); 334 } 335 336 344 public void setDir(String dir) { 345 _tfootTag.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.DIR, dir); 346 } 347 348 362 public void setRenderRow(boolean renderRow) { 363 _renderRow = renderRow; 364 } 365 366 375 public void setTagId(String tagId) 376 throws JspException { 377 applyTagId(_tfootTag, tagId); 378 } 379 380 390 public void doTag() 391 throws IOException , JspException { 392 393 JspContext jspContext = getJspContext(); 394 395 DataGridTagModel dgm = DataGridUtil.getDataGridTagModel(jspContext); 396 if(dgm == null) 397 throw new JspException (Bundle.getErrorString("DataGridTags_MissingDataGridModel")); 398 399 if(dgm.getRenderState() == DataGridTagModel.RENDER_STATE_FOOTER) { 400 JspFragment fragment = getJspBody(); 401 if(fragment != null) { 402 403 StringWriter sw = new StringWriter (); 404 405 TableRenderer tableRenderer = dgm.getTableRenderer(); 406 assert tableRenderer != null; 407 408 StyleModel styleModel = dgm.getStyleModel(); 409 assert styleModel != null; 410 411 AbstractRenderAppender appender = new WriteRenderAppender(jspContext); 412 413 if(dgm.isRenderRowGroups()) { 414 if(_tfootTag.styleClass == null) 415 _tfootTag.styleClass = styleModel.getTableFootClass(); 416 tableRenderer.openTableFoot(_tfootTag, appender); 417 } 418 419 TrTag.State trState = null; 420 if(_renderRow) { 421 trState = new TrTag.State(); 422 trState.styleClass = styleModel.getFooterRowClass(); 423 tableRenderer.openFooterRow(trState, appender); 424 } 425 426 fragment.invoke(sw); 427 appender.append(sw.toString()); 428 429 if(_renderRow) { 430 assert trState != null; 431 tableRenderer.closeFooterRow(appender); 432 } 433 434 if(dgm.isRenderRowGroups()) { 435 tableRenderer.closeTableFoot(appender); 436 437 String tfootScript = null; 438 if(_tfootTag.id != null) { 439 HttpServletRequest request = JspUtil.getRequest(getJspContext()); 440 tfootScript = renderNameAndId(request, _tfootTag, null); 441 } 442 443 if(tfootScript != null) 444 appender.append(tfootScript); 445 } 446 } 447 } 448 } 449 } 450 | Popular Tags |