1 18 package org.apache.beehive.netui.tags.databinding.datagrid; 19 20 import javax.servlet.jsp.JspException ; 21 import javax.servlet.http.HttpServletRequest ; 22 23 import org.apache.beehive.netui.databinding.datagrid.api.rendering.CellModel; 24 import org.apache.beehive.netui.databinding.datagrid.runtime.model.cell.SpanCellModel; 25 import org.apache.beehive.netui.databinding.datagrid.runtime.rendering.cell.SpanCellDecorator; 26 import org.apache.beehive.netui.databinding.datagrid.runtime.util.JspUtil; 27 import org.apache.beehive.netui.tags.html.HtmlConstants; 28 import org.apache.beehive.netui.tags.html.IFormattable; 29 import org.apache.beehive.netui.tags.rendering.AbstractHtmlState; 30 import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender; 31 import org.apache.beehive.netui.tags.rendering.SpanTag; 32 import org.apache.beehive.netui.tags.IHtmlCore; 33 import org.apache.beehive.netui.tags.IHtmlI18n; 34 import org.apache.beehive.netui.tags.IHtmlEvents; 35 36 73 public class SpanCell 74 extends AbstractHtmlTableCell 75 implements IFormattable, IHtmlCore, IHtmlEvents, IHtmlI18n { 76 77 private static final SpanCellDecorator DECORATOR = new SpanCellDecorator(); 78 private static final String SPAN_FACET_NAME = "span"; 79 80 private SpanCellModel _spanCellModel = new SpanCellModel(); 81 private SpanTag.State _spanState = _spanCellModel.getSpanState(); 82 83 87 public String getTagName() { 88 return "SpanCell"; 89 } 90 91 99 public void setOnClick(String onClick) { 100 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONCLICK, onClick); 101 } 102 103 111 public void setOnDblClick(String onDblClick) { 112 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONDBLCLICK, onDblClick); 113 } 114 115 123 public void setOnKeyDown(String onKeyDown) { 124 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONKEYDOWN, onKeyDown); 125 } 126 127 135 public void setOnKeyUp(String onKeyUp) { 136 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONKEYUP, onKeyUp); 137 } 138 139 147 public void setOnKeyPress(String onKeyPress) { 148 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONKEYPRESS, onKeyPress); 149 } 150 151 159 public void setOnMouseDown(String onMouseDown) { 160 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEDOWN, onMouseDown); 161 } 162 163 171 public void setOnMouseUp(String onMouseUp) { 172 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEUP, onMouseUp); 173 } 174 175 183 public void setOnMouseMove(String onMouseMove) { 184 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEMOVE, onMouseMove); 185 } 186 187 195 public void setOnMouseOut(String onMouseOut) { 196 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEOUT, onMouseOut); 197 } 198 199 207 public void setOnMouseOver(String onMouseOver) { 208 _spanState.registerAttribute(AbstractHtmlState.ATTR_JAVASCRIPT, HtmlConstants.ONMOUSEOVER, onMouseOver); 209 } 210 211 219 public void setStyle(String style) { 220 if("".equals(style)) return; 221 222 _spanState.style = style; 223 } 224 225 233 public void setStyleClass(String styleClass) { 234 if("".equals(styleClass)) return; 235 236 _spanState.styleClass = styleClass; 237 } 238 239 247 public void setTitle(String title) { 248 _spanState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.TITLE, title); 249 } 250 251 259 public void setLang(String lang) 260 { 261 _spanState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.LANG, lang); 262 } 263 264 272 public void setDir(String dir) 273 { 274 _spanState.registerAttribute(AbstractHtmlState.ATTR_GENERAL, HtmlConstants.DIR, dir); 275 } 276 277 292 public void setTagId(String tagId) 293 throws JspException { 294 applyIndexedTagId(_spanState, tagId); 295 } 296 297 306 public void setValue(String value) { 307 _spanCellModel.setValue(value); 308 } 309 310 329 public void setAttribute(String name, String value, String facet) 330 throws JspException { 331 if(facet == null || facet.equals(SPAN_FACET_NAME)) 332 super.addStateAttribute(_spanState, name, value); 333 else 334 super.setAttribute(name, value, facet); 335 } 336 337 342 protected void renderDataCellContents(AbstractRenderAppender appender, String jspFragmentOutput) { 343 344 if (_spanState.id != null) { 345 HttpServletRequest request = JspUtil.getRequest(getJspContext()); 346 String script = renderNameAndId(request, _spanState, null); 347 if(script != null) 348 _spanCellModel.setJavascript(script); 349 } 350 351 DECORATOR.decorate(getJspContext(), appender, _spanCellModel); 352 } 353 354 360 protected CellModel internalGetCellModel() { 361 return _spanCellModel; 362 } 363 } 364 | Popular Tags |