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 53 public class HtmlCommandLink 54 extends javax.faces.component.html.HtmlCommandLink { 55 56 59 public static final String COMPONENT_TYPE = 60 "com.icesoft.faces.HtmlCommandLink"; 61 64 public static final String RENDERER_TYPE = "com.icesoft.faces.Link"; 65 private String enabledOnUserRole = null; 66 private String renderedOnUserRole = null; 67 private Effect effect; 68 private Boolean visible = null; 69 private Boolean disabled = null; 70 private static final boolean DEFAULT_VISIBLE = true; 71 private Boolean partialSubmit = null; 72 73 private String styleClass = null; 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; 82 private Effect onkeydowneffect; 83 private Effect onkeyupeffect; 84 85 private boolean focus = false; 86 87 private CurrentStyle currentStyle; 88 89 92 public HtmlCommandLink() { 93 super(); 94 setRendererType(RENDERER_TYPE); 95 } 96 97 101 public void requestFocus() { 102 ((BridgeFacesContext) FacesContext.getCurrentInstance()) 103 .setFocusId("null"); 104 JavascriptContext.focus(FacesContext.getCurrentInstance(), 105 this.getClientId( 106 FacesContext.getCurrentInstance())); 107 } 108 109 112 public void setFocus(boolean focus) { 113 this.focus = focus; 114 } 115 116 119 public boolean isFocus() { 120 return this.focus; 121 } 122 123 126 public void setValueBinding(String s, ValueBinding vb) { 127 if (s != null && s.indexOf("effect") != -1) { 128 JavascriptContext.includeLib(JavascriptContext.ICE_EXTRAS, 130 getFacesContext()); 131 } 132 super.setValueBinding(s, vb); 133 } 134 135 140 public void setPartialSubmit(boolean partialSubmit) { 141 this.partialSubmit = Boolean.valueOf(partialSubmit); 142 } 143 144 149 public boolean getPartialSubmit() { 150 if (partialSubmit != null) { 151 return partialSubmit.booleanValue(); 152 } 153 ValueBinding vb = getValueBinding("partialSubmit"); 154 Boolean boolVal = 155 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 156 return boolVal != null ? boolVal.booleanValue() : 157 Util.isParentPartialSubmit(this); 158 } 159 160 165 public void setStyleClass(String styleClass) { 166 this.styleClass = styleClass; 167 } 168 169 174 public String getStyleClass() { 175 return Util.getQualifiedStyleClass(this, 176 styleClass, 177 CSS_DEFAULT.COMMAND_LINK_DEFAULT_STYLE_CLASS, 178 "styleClass", 179 isDisabled()); 180 181 } 182 183 188 public void setVisible(boolean visible) { 189 this.visible = Boolean.valueOf(visible); 190 } 191 192 197 public boolean isVisible() { 198 if (visible != null) { 199 return visible.booleanValue(); 200 } 201 ValueBinding vb = getValueBinding("visible"); 202 Boolean boolVal = 203 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 204 return boolVal != null ? boolVal.booleanValue() : DEFAULT_VISIBLE; 205 } 206 207 212 public boolean getVisible() { 213 if (visible != null) { 214 return visible.booleanValue(); 215 } 216 ValueBinding vb = getValueBinding("visible"); 217 Boolean boolVal = 218 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 219 return boolVal != null ? boolVal.booleanValue() : DEFAULT_VISIBLE; 220 } 221 222 227 public void setEffect(Effect effect) { 228 JavascriptContext 229 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 230 this.effect = effect; 231 } 232 233 238 public Effect getEffect() { 239 if (effect != null) { 240 return effect; 241 } 242 ValueBinding vb = getValueBinding("effect"); 243 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 244 } 245 246 251 public void setEnabledOnUserRole(String enabledOnUserRole) { 252 this.enabledOnUserRole = enabledOnUserRole; 253 } 254 255 260 public String getEnabledOnUserRole() { 261 if (enabledOnUserRole != null) { 262 return enabledOnUserRole; 263 } 264 ValueBinding vb = getValueBinding("enabledOnUserRole"); 265 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 266 } 267 268 273 public void setRenderedOnUserRole(String renderedOnUserRole) { 274 this.renderedOnUserRole = renderedOnUserRole; 275 } 276 277 282 public String getRenderedOnUserRole() { 283 if (renderedOnUserRole != null) { 284 return renderedOnUserRole; 285 } 286 ValueBinding vb = getValueBinding("renderedOnUserRole"); 287 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 288 } 289 290 295 public boolean isRendered() { 296 if (!Util.isRenderedOnUserRole(this)) { 297 return false; 298 } 299 return super.isRendered(); 300 } 301 302 307 public void setDisabled(boolean disabled) { 308 this.disabled = new Boolean (disabled); 309 ValueBinding vb = getValueBinding("disabled"); 310 if (vb != null) { 311 vb.setValue(getFacesContext(), this.disabled); 312 this.disabled = null; 313 } 314 } 315 316 321 public boolean isDisabled() { 322 if (!Util.isEnabledOnUserRole(this)) { 323 return true; 324 } 325 326 if (disabled != null) { 327 return disabled.booleanValue(); 328 } 329 ValueBinding vb = getValueBinding("disabled"); 330 Boolean v = 331 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 332 return v != null ? v.booleanValue() : false; 333 } 334 335 340 public Effect getOnclickeffect() { 341 if (onclickeffect != null) { 342 return onclickeffect; 343 } 344 ValueBinding vb = getValueBinding("onclickeffect"); 345 346 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 347 } 348 349 354 public void setOnclickeffect(Effect onclickeffect) { 355 JavascriptContext 356 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 357 this.onclickeffect = onclickeffect; 358 } 359 360 365 public Effect getOndblclickeffect() { 366 if (ondblclickeffect != null) { 367 return ondblclickeffect; 368 } 369 ValueBinding vb = getValueBinding("ondblclickeffect"); 370 371 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 372 } 373 374 379 public void setOndblclickeffect(Effect ondblclickeffect) { 380 JavascriptContext 381 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 382 this.ondblclickeffect = ondblclickeffect; 383 } 384 385 390 public Effect getOnmousedowneffect() { 391 if (onmousedowneffect != null) { 392 return onmousedowneffect; 393 } 394 ValueBinding vb = getValueBinding("onmousedowneffect"); 395 396 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 397 } 398 399 404 public void setOnmousedowneffect(Effect onmousedowneffect) { 405 JavascriptContext 406 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 407 this.onmousedowneffect = onmousedowneffect; 408 } 409 410 415 public Effect getOnmouseupeffect() { 416 if (onmouseupeffect != null) { 417 return onmouseupeffect; 418 } 419 ValueBinding vb = getValueBinding("onmouseupeffect"); 420 421 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 422 } 423 424 429 public void setOnmouseupeffect(Effect onmouseupeffect) { 430 JavascriptContext 431 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 432 this.onmouseupeffect = onmouseupeffect; 433 } 434 435 440 public Effect getOnmousemoveeffect() { 441 if (onmousemoveeffect != null) { 442 return onmousemoveeffect; 443 } 444 ValueBinding vb = getValueBinding("onmousemoveeffect"); 445 446 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 447 } 448 449 454 public void setOnmousemoveeffect(Effect onmousemoveeffect) { 455 JavascriptContext 456 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 457 this.onmousemoveeffect = onmousemoveeffect; 458 } 459 460 465 public Effect getOnmouseovereffect() { 466 if (onmouseovereffect != null) { 467 return onmouseovereffect; 468 } 469 ValueBinding vb = getValueBinding("onmouseovereffect"); 470 471 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 472 } 473 474 479 public void setOnmouseovereffect(Effect onmouseovereffect) { 480 JavascriptContext 481 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 482 this.onmouseovereffect = onmouseovereffect; 483 } 484 485 490 public Effect getOnmouseouteffect() { 491 if (onmouseouteffect != null) { 492 return onmouseouteffect; 493 } 494 ValueBinding vb = getValueBinding("onmouseouteffect"); 495 496 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 497 } 498 499 504 public void setOnmouseouteffect(Effect onmouseouteffect) { 505 JavascriptContext 506 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 507 this.onmouseouteffect = onmouseouteffect; 508 } 509 510 511 516 public Effect getOnkeypresseffect() { 517 if (onkeypresseffect != null) { 518 return onkeypresseffect; 519 } 520 ValueBinding vb = getValueBinding("onkeypresseffect"); 521 522 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 523 } 524 525 530 public void setOnkeypresseffect(Effect onkeypresseffect) { 531 JavascriptContext 532 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 533 this.onkeypresseffect = onkeypresseffect; 534 } 535 536 541 public Effect getOnkeydowneffect() { 542 if (onkeydowneffect != null) { 543 return onkeydowneffect; 544 } 545 ValueBinding vb = getValueBinding("onkeydowneffect"); 546 547 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 548 } 549 550 555 public void setOnkeydowneffect(Effect onkeydowneffect) { 556 JavascriptContext 557 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 558 this.onkeydowneffect = onkeydowneffect; 559 } 560 561 566 public Effect getOnkeyupeffect() { 567 if (onkeyupeffect != null) { 568 return onkeyupeffect; 569 } 570 ValueBinding vb = getValueBinding("onkeyupeffect"); 571 572 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 573 } 574 575 580 public void setOnkeyupeffect(Effect onkeyupeffect) { 581 JavascriptContext 582 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 583 this.onkeyupeffect = onkeyupeffect; 584 } 585 586 591 public CurrentStyle getCurrentStyle() { 592 return currentStyle; 593 } 594 595 600 public void setCurrentStyle(CurrentStyle currentStyle) { 601 this.currentStyle = currentStyle; 602 } 603 604 605 612 public Object saveState(FacesContext context) { 613 Object values[] = new Object [20]; 614 values[0] = super.saveState(context); 615 values[1] = enabledOnUserRole; 616 values[2] = renderedOnUserRole; 617 values[3] = effect; 618 values[4] = onclickeffect; 619 values[5] = ondblclickeffect; 620 values[6] = onmousedowneffect; 621 values[7] = onmouseupeffect; 622 values[8] = onmousemoveeffect; 623 values[9] = onmouseovereffect; 624 values[10] = onmouseouteffect; 625 values[14] = onkeypresseffect; 626 values[15] = onkeydowneffect; 627 values[16] = onkeyupeffect; 628 values[17] = currentStyle; 629 values[18] = visible; 630 values[19] = styleClass; 631 return ((Object ) (values)); 632 } 633 634 641 public void restoreState(FacesContext context, Object state) { 642 Object values[] = (Object []) state; 643 super.restoreState(context, values[0]); 644 enabledOnUserRole = (String ) values[1]; 645 renderedOnUserRole = (String ) values[2]; 646 effect = (Effect) values[3]; 647 onclickeffect = (Effect) values[4]; 648 ondblclickeffect = (Effect) values[5]; 649 onmousedowneffect = (Effect) values[6]; 650 onmouseupeffect = (Effect) values[7]; 651 onmousemoveeffect = (Effect) values[8]; 652 onmouseovereffect = (Effect) values[9]; 653 onmouseouteffect = (Effect) values[10]; 654 onkeypresseffect = (Effect) values[14]; 655 onkeydowneffect = (Effect) values[15]; 656 onkeyupeffect = (Effect) values[16]; 657 currentStyle = (CurrentStyle) values[17]; 658 visible = (Boolean ) values[18]; 659 styleClass = (String ) values[19]; 660 } 661 } 662 663 664 | Popular Tags |