[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-1319) s:selectDate does not work on rich:modalPanel

Chris Sweeney (JIRA) jira-events at lists.jboss.org
Thu May 10 15:19:52 EDT 2007

s:selectDate does not work on rich:modalPanel

                 Key: JBSEAM-1319
                 URL: http://jira.jboss.com/jira/browse/JBSEAM-1319
             Project: JBoss Seam
          Issue Type: Bug
         Environment: OS: Mac OS X, Windows 2000 Pro
Browser: Firefox, IE
            Reporter: Chris Sweeney
             Fix For: 1.2.1.GA

If s:selectDate is used on a rich:modalPanel, it does not appear when the icon is clicked. This is because the z-index for the calendar div is not set. I have a patch (included below) to /org/jboss/seam/ui/resource/date/calendar.js (contained within jboss-seam-ui.jar). The patch is not as elegant as I would have liked - I would have preferred to navigate up the DOM tree from the target element and set the z-index based on where the target element lived. Unfortunately, my efforts at doing so have been unsuccessful.

Tested on:
Mac OS X 10.4.9, Firefox version Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv: Gecko/20070309 Firefox/ (Macintosh; U; Intel Mac OS X; en-US; rv: Gecko/20070309 Firefox/

Windows 2000 Pro, IE 6.0.2800.1106, SP1, Q823353

Windows 2000 Pro, Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7

Note: rich:modalPanel doesn't work on Safari (yet), so no way to test...

__Calendar.prototype.popup = function (locX, locY)
    var selectedDate = __calendarFactory.parseDateValue(getObject(this.name).value);
    if (selectedDate)
      this.selectedMonth = selectedDate.getMonth() + 1;
      this.selectedYear = selectedDate.getFullYear();
    this.isPopup = true;
    __calendarFactory.documentmousedown = document.onmousedown;

    var popupDiv = getObject(POPUP_DIV);
    if (!popupDiv)
      popupDiv = document.createElement('div');
      popupDiv.id = POPUP_DIV;
      popupDiv.style.position = "absolute";

    popupDiv.className = this.styleClass;
    getStyleObject(POPUP_DIV).left = locX + "px";
    getStyleObject(POPUP_DIV).top = locY + "px";

    /*BEGIN PATCH - set zIndex... C. Sweeney, May 10, 2007 */
    var all_divs = document.getElementsByTagName("div");
    var maxZIndex = 0;
    for(i = 0; i < all_divs.length; i++){
          if(all_divs[i].id && all_divs[i].id != ""){
             var divStyle = getStyleObject(all_divs[i].id);
             if(divStyle && divStyle.zIndex && divStyle.zIndex > maxZIndex){
                maxZIndex = divStyle.zIndex;
    getStyleObject(POPUP_DIV).zIndex = maxZIndex + 1;
   /* END PATCH */

    popupDiv.innerHTML = this.getHTML();
    changeObjectVisibility(POPUP_DIV, "visible");
    document.onmousedown = this.documentmousedown;
    popupDiv.onmousedown = this.mousedown;
    popupDiv.onmouseup = this.mouseup;

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list