myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Werner Punz (JIRA)" <...@myfaces.apache.org>
Subject [jira] Commented: (TOMAHAWK-51) Popup windows: bad position on screen (<t:popup> and <x:inputSuggest> components)
Date Wed, 22 Feb 2006 19:51:38 GMT
    [ http://issues.apache.org/jira/browse/TOMAHAWK-51?page=comments#action_12367390 ] 

Werner Punz commented on TOMAHAWK-51:
-------------------------------------

This is a work in progress which partially will make it into 1.1.2.
As we move towards dojo the problem will go away, due to the fact that
the inputsuggest popup in dojo calculates the positions correctly (and also does the internal
scroller
recalculation)

As for the popup itself this one will be one of the first components moved to dojo after the
1.1.2 release once the dojo codebase is established in tomahawk.



> Popup windows: bad position on screen (<t:popup> and <x:inputSuggest> components)
> ---------------------------------------------------------------------------------
>
>          Key: TOMAHAWK-51
>          URL: http://issues.apache.org/jira/browse/TOMAHAWK-51
>      Project: MyFaces Tomahawk
>         Type: Bug
>   Components: Popup
>  Environment: Windows XP Pro SP2, Tomcat 4.1.30, JDK 1.4.2_09
>     Reporter: Javier Alperte
>     Assignee: Werner Punz

>
> Error positioning the popup windows shown by the components: <t:popup> and <x:inputSuggest>
> They don't have in consideration the relative position of the component in the page,
and it's a problem if you place the component inside a DIV, where the positions must be relatives
and not globals. 
> Solution: calculate the popup position based on component relative positions. For do
that we need to assign an ID to the component in order to get the Document Element associated
with it, and then we can use the HTML Object Position to calculate where to show the popup.
> Ej: Our component must generate a function like this:
>    function showMenu_<COMPONENT_ID>(event) {
>            var menuDiv = document.getElementById(<MENU_DIV_ID>);
>            var componentElement = document.getElementById(<COMPONENT_ID>);
>            if (menudiv.style.visibility == 'hidden' && event) { //Show menu
>                 menudiv.style.visibility = 'visible';
>                 menudiv.style.display = 'block';
>                 menudiv.style.zIndex = 3000;
>                 menudiv.style.top = componentElement.offsetTop + 10;
>                 var left = componentElement.offsetLeft + componentElement.offsetWidth
- menudiv.offsetWidth;
>                 if (left < 0) //Move menu to the right side if it is too close to
the left
>                     left += menudiv.offsetWidth;
>                 menudiv.style.left = left;
>             } else {
>                 menudiv.style.visibility = 'hidden';
>             }
>         }

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


Mime
View raw message