1 33 34 package com.icesoft.faces.component.ext; 35 36 import com.icesoft.faces.component.CSS_DEFAULT; 37 import com.icesoft.faces.component.ext.taglib.Util; 38 import com.icesoft.faces.context.BridgeFacesContext; 39 import com.icesoft.faces.context.effects.CurrentStyle; 40 import com.icesoft.faces.context.effects.Effect; 41 import com.icesoft.faces.context.effects.JavascriptContext; 42 43 import javax.faces.context.FacesContext; 44 import javax.faces.el.ValueBinding; 45 46 47 54 public class HtmlCommandButton 55 extends javax.faces.component.html.HtmlCommandButton { 56 57 60 public static final String COMPONENT_TYPE = 61 "com.icesoft.faces.HtmlCommandButton"; 62 65 public static final String RENDERER_TYPE = "com.icesoft.faces.Button"; 66 private String styleClass = null; 67 private String enabledOnUserRole = null; 68 private String renderedOnUserRole = null; 69 private Effect effect = null; 70 private Boolean visible = null; 71 private static final boolean DEFAULT_VISIBLE = true; 72 private Boolean partialSubmit = null; 73 74 private Effect onclickeffect; 75 private Effect ondblclickeffect; 76 private Effect onmousedowneffect; 77 private Effect onmouseupeffect; 78 private Effect onmousemoveeffect; 79 private Effect onmouseovereffect; 80 private Effect onmouseouteffect; 81 private Effect onkeypresseffect; 85 private Effect onkeydowneffect; 86 private Effect onkeyupeffect; 87 private CurrentStyle currentStyle; 88 89 92 public HtmlCommandButton() { 93 super(); 94 setRendererType(RENDERER_TYPE); 95 } 96 97 100 public void setValueBinding(String s, ValueBinding vb) { 101 if (s != null && s.indexOf("effect") != -1) { 102 JavascriptContext.includeLib(JavascriptContext.ICE_EXTRAS, 104 getFacesContext()); 105 } 106 super.setValueBinding(s, vb); 107 } 108 109 114 public void setPartialSubmit(boolean partialSubmit) { 115 this.partialSubmit = Boolean.valueOf(partialSubmit); 116 } 117 118 123 public boolean getPartialSubmit() { 124 if (partialSubmit != null) { 125 return partialSubmit.booleanValue(); 126 } 127 ValueBinding vb = getValueBinding("partialSubmit"); 128 Boolean boolVal = 129 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 130 return boolVal != null ? boolVal.booleanValue() : 131 Util.isParentPartialSubmit(this); 132 } 133 134 139 public void setEffect(Effect effect) { 140 JavascriptContext 141 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 142 this.effect = effect; 143 } 144 145 150 public Effect getEffect() { 151 if (effect != null) { 152 return effect; 153 } 154 ValueBinding vb = getValueBinding("effect"); 155 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 156 } 157 158 163 public void setVisible(boolean visible) { 164 this.visible = Boolean.valueOf(visible); 165 } 166 167 172 public boolean isVisible() { 173 if (visible != null) { 174 return visible.booleanValue(); 175 } 176 ValueBinding vb = getValueBinding("visible"); 177 Boolean boolVal = 178 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 179 return boolVal != null ? boolVal.booleanValue() : DEFAULT_VISIBLE; 180 } 181 182 183 188 public boolean getVisible() { 189 if (visible != null) { 190 return visible.booleanValue(); 191 } 192 ValueBinding vb = getValueBinding("visible"); 193 Boolean boolVal = 194 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 195 return boolVal != null ? boolVal.booleanValue() : DEFAULT_VISIBLE; 196 } 197 198 203 public boolean isDisabled() { 204 if (!Util.isEnabledOnUserRole(this)) { 205 return true; 206 } else { 207 return super.isDisabled(); 208 } 209 } 210 211 212 217 public void setEnabledOnUserRole(String enabledOnUserRole) { 218 this.enabledOnUserRole = enabledOnUserRole; 219 } 220 221 226 public String getEnabledOnUserRole() { 227 if (enabledOnUserRole != null) { 228 return enabledOnUserRole; 229 } 230 ValueBinding vb = getValueBinding("enabledOnUserRole"); 231 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 232 } 233 234 239 public void setRenderedOnUserRole(String renderedOnUserRole) { 240 this.renderedOnUserRole = renderedOnUserRole; 241 } 242 243 248 public String getRenderedOnUserRole() { 249 if (renderedOnUserRole != null) { 250 return renderedOnUserRole; 251 } 252 ValueBinding vb = getValueBinding("renderedOnUserRole"); 253 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 254 } 255 256 261 public void setStyleClass(String styleClass) { 262 this.styleClass = styleClass; 263 } 264 265 270 public String getStyleClass() { 271 return Util.getQualifiedStyleClass(this, 272 styleClass, 273 CSS_DEFAULT.COMMAND_BTN_DEFAULT_STYLE_CLASS, 274 "styleClass", 275 isDisabled()); 276 } 277 278 283 public boolean isRendered() { 284 if (!Util.isRenderedOnUserRole(this)) { 285 return false; 286 } 287 return super.isRendered(); 288 } 289 290 295 public Effect getOnclickeffect() { 296 if (onclickeffect != null) { 297 return onclickeffect; 298 } 299 ValueBinding vb = getValueBinding("onclickeffect"); 300 301 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 302 } 303 304 309 public void setOnclickeffect(Effect onclickeffect) { 310 JavascriptContext 311 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 312 this.onclickeffect = onclickeffect; 313 } 314 315 320 public Effect getOndblclickeffect() { 321 if (ondblclickeffect != null) { 322 return ondblclickeffect; 323 } 324 ValueBinding vb = getValueBinding("ondblclickeffect"); 325 326 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 327 } 328 329 334 public void setOndblclickeffect(Effect ondblclickeffect) { 335 JavascriptContext 336 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 337 this.ondblclickeffect = ondblclickeffect; 338 } 339 340 345 public Effect getOnmousedowneffect() { 346 if (onmousedowneffect != null) { 347 return onmousedowneffect; 348 } 349 ValueBinding vb = getValueBinding("onmousedowneffect"); 350 351 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 352 } 353 354 359 public void setOnmousedowneffect(Effect onmousedowneffect) { 360 JavascriptContext 361 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 362 this.onmousedowneffect = onmousedowneffect; 363 } 364 365 370 public Effect getOnmouseupeffect() { 371 if (onmouseupeffect != null) { 372 return onmouseupeffect; 373 } 374 ValueBinding vb = getValueBinding("onmouseupeffect"); 375 376 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 377 } 378 379 384 public void setOnmouseupeffect(Effect onmouseupeffect) { 385 JavascriptContext 386 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 387 this.onmouseupeffect = onmouseupeffect; 388 } 389 390 395 public Effect getOnmousemoveeffect() { 396 if (onmousemoveeffect != null) { 397 return onmousemoveeffect; 398 } 399 ValueBinding vb = getValueBinding("onmousemoveeffect"); 400 401 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 402 } 403 404 409 public void setOnmousemoveeffect(Effect onmousemoveeffect) { 410 JavascriptContext 411 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 412 this.onmousemoveeffect = onmousemoveeffect; 413 } 414 415 420 public Effect getOnmouseovereffect() { 421 if (onmouseovereffect != null) { 422 return onmouseovereffect; 423 } 424 ValueBinding vb = getValueBinding("onmouseovereffect"); 425 426 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 427 } 428 429 434 public void setOnmouseovereffect(Effect onmouseovereffect) { 435 JavascriptContext 436 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 437 this.onmouseovereffect = onmouseovereffect; 438 } 439 440 445 public Effect getOnmouseouteffect() { 446 if (onmouseouteffect != null) { 447 return onmouseouteffect; 448 } 449 ValueBinding vb = getValueBinding("onmouseouteffect"); 450 451 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 452 } 453 454 459 public void setOnmouseouteffect(Effect onmouseouteffect) { 460 JavascriptContext 461 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 462 this.onmouseouteffect = onmouseouteffect; 463 } 464 465 466 471 public Effect getOnkeypresseffect() { 472 if (onkeypresseffect != null) { 473 return onkeypresseffect; 474 } 475 ValueBinding vb = getValueBinding("onkeypresseffect"); 476 477 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 478 } 479 480 485 public void setOnkeypresseffect(Effect onkeypresseffect) { 486 JavascriptContext 487 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 488 this.onkeypresseffect = onkeypresseffect; 489 } 490 491 496 public Effect getOnkeydowneffect() { 497 if (onkeydowneffect != null) { 498 return onkeydowneffect; 499 } 500 ValueBinding vb = getValueBinding("onkeydowneffect"); 501 502 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 503 } 504 505 510 public void setOnkeydowneffect(Effect onkeydowneffect) { 511 JavascriptContext 512 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 513 this.onkeydowneffect = onkeydowneffect; 514 } 515 516 521 public Effect getOnkeyupeffect() { 522 if (onkeyupeffect != null) { 523 return onkeyupeffect; 524 } 525 ValueBinding vb = getValueBinding("onkeyupeffect"); 526 527 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 528 } 529 530 535 public void setOnkeyupeffect(Effect onkeyupeffect) { 536 JavascriptContext 537 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 538 this.onkeyupeffect = onkeyupeffect; 539 } 540 541 546 public CurrentStyle getCurrentStyle() { 547 return currentStyle; 548 } 549 550 555 public void setCurrentStyle(CurrentStyle currentStyle) { 556 this.currentStyle = currentStyle; 557 } 558 559 560 567 public Object saveState(FacesContext context) { 568 Object values[] = new Object [21]; 569 values[0] = super.saveState(context); 570 values[1] = enabledOnUserRole; 571 values[2] = renderedOnUserRole; 572 values[3] = styleClass; 573 values[4] = effect; 574 values[5] = onclickeffect; 575 values[6] = ondblclickeffect; 576 values[7] = onmousedowneffect; 577 values[8] = onmouseupeffect; 578 values[9] = onmousemoveeffect; 579 values[10] = onmouseovereffect; 580 values[11] = onmouseouteffect; 581 582 values[15] = onkeypresseffect; 583 values[16] = onkeydowneffect; 584 values[17] = onkeyupeffect; 585 values[18] = currentStyle; 586 values[19] = visible; 587 values[20] = partialSubmit; 588 return ((Object ) (values)); 589 } 590 591 598 public void restoreState(FacesContext context, Object state) { 599 Object values[] = (Object []) state; 600 super.restoreState(context, values[0]); 601 enabledOnUserRole = (String ) values[1]; 602 renderedOnUserRole = (String ) values[2]; 603 styleClass = (String ) values[3]; 604 effect = (Effect) values[4]; 605 606 onclickeffect = (Effect) values[5]; 607 ondblclickeffect = (Effect) values[6]; 608 onmousedowneffect = (Effect) values[7]; 609 onmouseupeffect = (Effect) values[8]; 610 onmousemoveeffect = (Effect) values[9]; 611 onmouseovereffect = (Effect) values[10]; 612 onmouseouteffect = (Effect) values[11]; 613 614 onkeypresseffect = (Effect) values[15]; 615 onkeydowneffect = (Effect) values[16]; 616 onkeyupeffect = (Effect) values[17]; 617 currentStyle = (CurrentStyle) values[18]; 618 visible = (Boolean ) values[19]; 619 partialSubmit = (Boolean ) values[20]; 620 } 621 622 626 public void requestFocus() { 627 ((BridgeFacesContext) FacesContext.getCurrentInstance()) 628 .setFocusId("null"); 629 JavascriptContext.focus(FacesContext.getCurrentInstance(), 630 this.getClientId( 631 FacesContext.getCurrentInstance())); 632 } 633 634 } 635 636 637 | Popular Tags |