1 33 34 package com.icesoft.faces.component.ext; 35 36 import com.icesoft.faces.component.CSS_DEFAULT; 37 import com.icesoft.faces.component.dragdrop.DndEvent; 38 import com.icesoft.faces.component.dragdrop.DragEvent; 39 import com.icesoft.faces.component.dragdrop.DropEvent; 40 import com.icesoft.faces.component.ext.taglib.Util; 41 import com.icesoft.faces.context.effects.CurrentStyle; 42 import com.icesoft.faces.context.effects.Effect; 43 import com.icesoft.faces.context.effects.JavascriptContext; 44 45 import javax.faces.context.FacesContext; 46 import javax.faces.el.MethodBinding; 47 import javax.faces.el.ValueBinding; 48 import javax.faces.event.AbortProcessingException; 49 import javax.faces.event.FacesEvent; 50 import javax.faces.event.PhaseId; 51 52 53 60 61 public class HtmlPanelGroup extends javax.faces.component.html.HtmlPanelGroup { 62 public static final String COMPONENT_TYPE = 63 "com.icesoft.faces.HtmlPanelGroup"; 64 public static final String RENDERER_TYPE = "com.icesoft.faces.Group"; 65 public static final String SCROLLABLE_STYLE = "overflow:auto;"; 66 private static final boolean DEFAULT_VISIBLE = true; 67 private String renderedOnUserRole = null; 68 private String style = null; 69 private String scrollWidth = null; 70 private String scrollHeight = null; 71 72 private String draggable; 73 private MethodBinding dragListener; 74 private Object dragValue; 75 76 private String dropTarget; 77 private MethodBinding dropListener; 78 private Object dropValue; 79 80 private String dropMask; 81 private String dragMask; 82 83 84 private CurrentStyle currentStyle; 85 private String renderedStyle; 87 88 private Effect effect; 89 private Boolean visible = null; 90 private String dragOptions; 91 92 private Effect onclickeffect; 93 private Effect ondblclickeffect; 94 private Effect onmousedowneffect; 95 private Effect onmouseupeffect; 96 private Effect onmousemoveeffect; 97 private Effect onmouseovereffect; 98 private Effect onmouseouteffect; 99 100 private Effect onkeypresseffect; 101 private Effect onkeydowneffect; 102 private Effect onkeyupeffect; 103 104 private String hoverclass; 105 106 109 public HtmlPanelGroup() { super(); 111 setRendererType(RENDERER_TYPE); 112 } 113 114 public void setValueBinding(String s, ValueBinding vb) { 115 if (s != null && (s.indexOf("effect") != -1 || 116 s.indexOf("drag") != -1 || s.indexOf("drop") != -1)) { 117 JavascriptContext.includeLib(JavascriptContext.ICE_EXTRAS, 119 getFacesContext()); 120 } 121 super.setValueBinding(s, vb); 122 } 123 124 127 public void setRenderedOnUserRole(String renderedOnUserRole) { 128 this.renderedOnUserRole = renderedOnUserRole; 129 } 130 131 134 public String getRenderedOnUserRole() { 135 if (renderedOnUserRole != null) { 136 return renderedOnUserRole; 137 } 138 ValueBinding vb = getValueBinding("renderedOnUserRole"); 139 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 140 } 141 142 145 public void setVisible(boolean visible) { 146 this.visible = Boolean.valueOf(visible); 147 } 148 149 152 public boolean isVisible() { 153 if (visible != null) { 154 return visible.booleanValue(); 155 } 156 ValueBinding vb = getValueBinding("visible"); 157 Boolean boolVal = 158 vb != null ? (Boolean ) vb.getValue(getFacesContext()) : null; 159 return boolVal != null ? boolVal.booleanValue() : DEFAULT_VISIBLE; 160 } 161 162 165 public void setStyle(String style) { 166 this.style = style; 167 } 168 169 172 public String getStyle() { 173 if (style != null) { 174 return getScrollableStyle(style); 175 } 176 177 ValueBinding vb = getValueBinding("style"); 178 return vb != null ? 179 getScrollableStyle((String ) vb.getValue(getFacesContext())) : 180 getScrollableStyle(""); 181 } 182 183 186 public void setDragOptions(String s) { 187 this.dragOptions = s; 188 } 189 190 193 public String getDragOptions() { 194 if (this.dragOptions != null) { 195 return dragOptions; 196 } 197 ValueBinding vb = getValueBinding("dragOptions"); 198 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 199 } 200 201 204 public void setScrollWidth(String scrollWidth) { 205 this.scrollWidth = scrollWidth; 206 } 207 208 211 public String getScrollWidth() { 212 if (scrollWidth != null) { 213 return scrollWidth; 214 } 215 ValueBinding vb = getValueBinding("scrollWidth"); 216 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 217 } 218 219 222 public void setScrollHeight(String scrollHeight) { 223 this.scrollHeight = scrollHeight; 224 } 225 226 229 public String getScrollHeight() { 230 if (scrollHeight != null) { 231 return scrollHeight; 232 } 233 ValueBinding vb = getValueBinding("scrollHeight"); 234 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 235 } 236 237 240 public boolean isRendered() { 241 if (!Util.isRenderedOnUserRole(this)) { 242 return false; 243 } 244 return super.isRendered(); 245 } 246 247 250 public String getDraggable() { 251 if (draggable != null) { 252 return draggable; 253 } 254 ValueBinding vb = getValueBinding("draggable"); 255 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 256 } 257 258 261 public void setDraggable(String draggable) { 262 this.draggable = draggable; 263 JavascriptContext 264 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 265 } 266 267 270 public MethodBinding getDragListener() { 271 return dragListener; 272 } 273 274 277 public void setDragListener(MethodBinding dragListener) { 278 this.dragListener = dragListener; 279 } 280 281 284 public Object getDragValue() { 285 if (dragValue != null) { 286 return dragValue; 287 } 288 ValueBinding vb = getValueBinding("dragValue"); 289 return vb != null ? (Object ) vb.getValue(getFacesContext()) : null; 290 } 291 292 295 public void setDragValue(Object dragValue) { 296 this.dragValue = dragValue; 297 } 298 299 302 public String getDropTarget() { 303 if (dropTarget != null) { 304 return dropTarget; 305 } 306 ValueBinding vb = getValueBinding("dropTarget"); 307 return vb != null ? (String ) vb.getValue(getFacesContext()) : null; 308 } 309 310 313 public void setDropTarget(String dropTarget) { 314 this.dropTarget = dropTarget; 315 JavascriptContext 316 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 317 } 318 319 322 public MethodBinding getDropListener() { 323 return dropListener; 324 } 325 326 329 public void setDropListener(MethodBinding dropListener) { 330 this.dropListener = dropListener; 331 } 332 333 336 public Object getDropValue() { 337 if (dropValue != null) { 338 return dropValue; 339 } 340 ValueBinding vb = getValueBinding("dropValue"); 341 return vb != null ? (Object ) vb.getValue(getFacesContext()) : null; 342 } 343 344 347 public void setDropValue(Object dropValue) { 348 this.dropValue = dropValue; 349 } 350 351 354 public String getDropMask() { 355 return dropMask; 356 } 357 358 361 public void setDropMask(String dropMask) { 362 this.dropMask = dropMask; 363 } 364 365 368 public String getDragMask() { 369 return dragMask; 370 } 371 372 375 public void setDragMask(String dragMask) { 376 this.dragMask = dragMask; 377 } 378 379 382 public Effect getEffect() { 383 if (effect != null) { 384 return effect; 385 } 386 ValueBinding vb = getValueBinding("effect"); 387 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 388 } 389 390 393 public void setEffect(Effect effect) { 394 this.effect = effect; 395 JavascriptContext 396 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 397 } 398 399 400 403 public Effect getOnclickeffect() { 404 if (onclickeffect != null) { 405 return onclickeffect; 406 } 407 ValueBinding vb = getValueBinding("onclickeffect"); 408 409 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 410 } 411 412 415 public void setOnclickeffect(Effect onclickeffect) { 416 this.onclickeffect = onclickeffect; 417 JavascriptContext 418 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 419 } 420 421 424 public Effect getOndblclickeffect() { 425 if (ondblclickeffect != null) { 426 return ondblclickeffect; 427 } 428 ValueBinding vb = getValueBinding("ondblclickeffect"); 429 430 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 431 } 432 433 436 public void setOndblclickeffect(Effect ondblclickeffect) { 437 this.ondblclickeffect = ondblclickeffect; 438 JavascriptContext 439 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 440 } 441 442 445 public Effect getOnmousedowneffect() { 446 if (onmousedowneffect != null) { 447 return onmousedowneffect; 448 } 449 ValueBinding vb = getValueBinding("onmousedowneffect"); 450 451 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 452 } 453 454 457 public void setOnmousedowneffect(Effect onmousedowneffect) { 458 this.onmousedowneffect = onmousedowneffect; 459 JavascriptContext 460 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 461 } 462 463 466 public Effect getOnmouseupeffect() { 467 if (onmouseupeffect != null) { 468 return onmouseupeffect; 469 } 470 ValueBinding vb = getValueBinding("onmouseupeffect"); 471 472 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 473 } 474 475 478 public void setOnmouseupeffect(Effect onmouseupeffect) { 479 this.onmouseupeffect = onmouseupeffect; 480 JavascriptContext 481 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 482 } 483 484 487 public Effect getOnmousemoveeffect() { 488 if (onmousemoveeffect != null) { 489 return onmousemoveeffect; 490 } 491 ValueBinding vb = getValueBinding("onmousemoveeffect"); 492 493 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 494 } 495 496 499 public void setOnmousemoveeffect(Effect onmousemoveeffect) { 500 this.onmousemoveeffect = onmousemoveeffect; 501 JavascriptContext 502 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 503 } 504 505 508 public Effect getOnmouseovereffect() { 509 if (onmouseovereffect != null) { 510 return onmouseovereffect; 511 } 512 ValueBinding vb = getValueBinding("onmouseovereffect"); 513 514 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 515 } 516 517 520 public void setOnmouseovereffect(Effect onmouseovereffect) { 521 this.onmouseovereffect = onmouseovereffect; 522 JavascriptContext 523 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 524 } 525 526 529 public Effect getOnmouseouteffect() { 530 if (onmouseouteffect != null) { 531 return onmouseouteffect; 532 } 533 ValueBinding vb = getValueBinding("onmouseouteffect"); 534 535 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 536 } 537 538 541 public void setOnmouseouteffect(Effect onmouseouteffect) { 542 this.onmouseouteffect = onmouseouteffect; 543 JavascriptContext 544 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 545 } 546 547 548 551 public Effect getOnkeypresseffect() { 552 if (onkeypresseffect != null) { 553 return onkeypresseffect; 554 } 555 ValueBinding vb = getValueBinding("onkeypresseffect"); 556 557 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 558 } 559 560 563 public void setOnkeypresseffect(Effect onkeypresseffect) { 564 this.onkeypresseffect = onkeypresseffect; 565 JavascriptContext 566 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 567 } 568 569 572 public Effect getOnkeydowneffect() { 573 if (onkeydowneffect != null) { 574 return onkeydowneffect; 575 } 576 ValueBinding vb = getValueBinding("onkeydowneffect"); 577 578 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 579 } 580 581 584 public void setOnkeydowneffect(Effect onkeydowneffect) { 585 this.onkeydowneffect = onkeydowneffect; 586 JavascriptContext 587 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 588 } 589 590 591 594 public Effect getOnkeyupeffect() { 595 if (onkeyupeffect != null) { 596 return onkeyupeffect; 597 } 598 ValueBinding vb = getValueBinding("onkeyupeffect"); 599 600 return vb != null ? (Effect) vb.getValue(getFacesContext()) : null; 601 } 602 603 606 public void setOnkeyupeffect(Effect onkeyupeffect) { 607 this.onkeyupeffect = onkeyupeffect; 608 JavascriptContext 609 .includeLib(JavascriptContext.ICE_EXTRAS, getFacesContext()); 610 } 611 612 613 617 public Object saveState(FacesContext context) { 618 Object values[] = new Object [29]; 619 values[0] = super.saveState(context); 620 values[1] = renderedOnUserRole; 621 values[2] = style; 622 values[3] = scrollWidth; 623 values[4] = scrollHeight; 624 values[6] = dragListener; 625 values[7] = dragValue; 626 values[8] = dropTarget; 627 values[9] = dropListener; 628 values[10] = dropValue; 629 values[11] = dragMask; 630 values[12] = dropMask; 631 values[13] = effect; 632 values[14] = onclickeffect; 633 values[15] = ondblclickeffect; 634 values[16] = onmousedowneffect; 635 values[17] = onmouseupeffect; 636 values[18] = onmousemoveeffect; 637 values[19] = onmouseovereffect; 638 values[20] = onmouseouteffect; 639 values[24] = onkeypresseffect; 640 values[25] = onkeydowneffect; 641 values[26] = onkeyupeffect; 642 values[27] = currentStyle; 643 values[28] = visible; 644 return values; 645 646 } 647 648 652 public void restoreState(FacesContext context, Object state) { 653 Object values[] = (Object []) state; 654 super.restoreState(context, values[0]); 655 renderedOnUserRole = (String ) values[1]; 656 state = values[2]; 657 scrollWidth = (String ) values[3]; 658 scrollHeight = (String ) values[4]; 659 draggable = (String ) values[5]; 660 dragListener = (MethodBinding) values[6]; 661 dragValue = values[7]; 662 dropTarget = (String ) values[8]; 663 dropListener = (MethodBinding) values[9]; 664 dropValue = values[10]; 665 dragMask = (String ) values[11]; 666 dropMask = (String ) values[12]; 667 effect = (Effect) values[13]; 668 onclickeffect = (Effect) values[14]; 669 ondblclickeffect = (Effect) values[15]; 670 onmousedowneffect = (Effect) values[16]; 671 onmouseupeffect = (Effect) values[17]; 672 onmousemoveeffect = (Effect) values[18]; 673 onmouseovereffect = (Effect) values[19]; 674 onmouseouteffect = (Effect) values[20]; 675 onkeypresseffect = (Effect) values[24]; 676 onkeydowneffect = (Effect) values[25]; 677 onkeyupeffect = (Effect) values[26]; 678 currentStyle = (CurrentStyle) values[27]; 679 visible = (Boolean ) values[28]; 680 } 681 682 687 private String getScrollableStyle(String _style) { 688 return _style; 689 } 690 691 694 public void broadcast(FacesEvent event) 695 throws AbortProcessingException { 696 super.broadcast(event); 697 698 if (event instanceof DragEvent && dragListener != null) { 699 Object [] oa = {(DragEvent) event}; 700 dragListener.invoke(getFacesContext(), oa); 701 } 702 if (event instanceof DropEvent && dropListener != null) { 703 Object [] oa = {(DropEvent) event}; 704 dropListener.invoke(getFacesContext(), oa); 705 } 706 } 707 708 711 public void queueEvent(FacesEvent event) { 712 if (event instanceof DndEvent) { 713 event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); 714 } 715 super.queueEvent(event); 716 } 717 718 721 public CurrentStyle getCurrentStyle() { 722 return currentStyle; 723 } 724 725 728 public void setCurrentStyle(CurrentStyle currentStyle) { 729 this.currentStyle = currentStyle; 730 } 731 732 735 public String getRenderedStyle() { 736 return renderedStyle; 737 } 738 739 742 public void setRenderedStyle(String renderedStyle) { 743 this.renderedStyle = renderedStyle; 744 } 745 746 public String getHoverclass() { 747 return hoverclass; 748 } 749 750 public void setHoverclass(String hoverclass) { 751 this.hoverclass = hoverclass; 752 } 753 754 757 public String getStyleClass() { 758 return Util.getQualifiedStyleClass(this, 759 super.getStyleClass(), 760 CSS_DEFAULT.PANEL_GROUP_DEFAULT_STYLE_CLASS, 761 "styleClass"); 762 } 763 764 } 765 766 | Popular Tags |