11 Replies Latest reply on Dec 18, 2007 9:57 PM by Jason Long

    Modal Panel broken form me in 3.1.3.CR4

    Jason Long Master

      I have been using 3.1.2.SP1, but since 3.1.3 has components I need badly I upgraded today.

      Now all of my modal panels do not function properly. Instead of opening and graying out the background, they are appear at the bottom of the page and are not rendered as a modal panel. They are flat and part of the page.

      Before they were centered nicely and worked as expected.

      Simply replacing the 3.1.2.SP1 jars fixes the problem, but I am dying to use the time fields on calendar and the context menu.

      Any advice would be most helpful. I see that the modal panels are still working in the examples.

      What could I be doing differently or what has changed in this release regarding modal panel?

        • 1. Re: Modal Panel broken form me in 3.1.3.CR4
          Jason Long Master

          I thought is was the upgrade, but now I am not so sure.

          I am getting erratic behavior. Sometimes it work and sometime is does not. I am back on 3.1.2.SP1, but the problem is not consistent.

          Most of the time it does not work, but sometimes it does.

          This is driving me nuts and nothing works in my application because it depends heavily on the modal panel.

          Any advice on this would be greatly appreciated.

          • 2. Re: Modal Panel broken form me in 3.1.3.CR4
            Sergey Smirnov Master

            modal panel itself did not change between the 3.1.2 and 3.1.3
            prototype.js version is changed. Did you try use F5 to refresh the cache?

            • 3. Re: Modal Panel broken form me in 3.1.3.CR4
              Jason Long Master

              I have tried F5 and CTRL F5. I have deleted the history. My pages have

               <meta http-equiv="Pragma" content="no-cache">
               <meta http-equiv="Expires" content="-1">
              


              Now that you mention prototype I remember a conflict with Tomahawk previously. I am using Tomahawk 1.1.6. I have been trying to remove all tomahawk code, but have not finished all of it. I used it extensively before I started to use Richfaces.

              I do not see any js errors in firebug.



              • 4. Re: Modal Panel broken form me in 3.1.3.CR4
                Sergey Smirnov Master

                I do not thing you have to remove Tomahawk from the page.
                BTW, we were already spoken about the 1.1.6:
                http://www.jboss.com/index.html?module=bb&op=viewtopic&t=118526&postdays=0&postorder=asc&start=10

                • 5. Re: Modal Panel broken form me in 3.1.3.CR4
                  Jason Long Master

                  I wasn't removing them for this problem. I current use trinidad and richfaces and have no need for tomahawk.

                  I still have not been able to resolve the modal issue. I will be sure to post the problem when I find it.

                  • 6. Re: Modal Panel broken form me in 3.1.3.CR4
                    Jason Long Master

                    Sorry for crying wolf. This was not a Richfaces upgrade problem. Just user error.

                    The problem for me is that this has very erratic behavior, but I think I narrowed it down to the following.

                    I added the code from
                    http://labs.jboss.com/wiki/RichFacesPleaseWaitBox

                    This worked initially so I did not think this was the problem.

                    Without putting a delay of 500 ms Seam kills my conversation. This is probably due to concurrent access.

                    Adding the javascript suggested causes unpredictable behavior in my application as detailed in previous posts.

                    This seems like a very common scenario. Freeze the screen during an ajax request and when complete return control to the user.

                    It would be awesome if there were a simple a4j tag that would take care of all configuration and add the appropriate javascript.

                    Any chance this could be added?

                    Until then does anyone have any experience with this and have any advice?

                    Should I start a new tread for this or is there one already in existence?

                    • 7. Re: Modal Panel broken form me in 3.1.3.CR4
                      Nick Belaevski Master

                      Jason,

                      I can guess that the issue could be caused by multiple concurrent AJAX requests. Could you please investigate this? I've tried the Wiki code for concurrency and had some issues; panel was never closing. Setting eventsQueue="queue1" to a4j:commandLink in my example solved the problem. Could you please try that?
                      If that wouldn't help could you please attach page/beans code for investigation? Thank you in advance!

                      • 8. Re: Modal Panel broken form me in 3.1.3.CR4
                        Jason Long Master

                        Here is the code I am using for the Modal panel

                        <a4j:status onstart="Richfaces.showModalPanel('ajaxLoadingModalBox')" onstop="Richfaces.hideModalPanel('ajaxLoadingModalBox')" rendered="true"/>
                        <rich:modalPanel id="ajaxLoadingModalBox" height="100" width="100" zindex="20000">
                         <h:graphicImage value="/images/status/rotatingclock-fast.gif"/>
                        </rich:modalPanel>


                        Here is the code that I am using to open the modal panel.

                        <a4j:commandButton id="createPipePO"
                         value="Create PO"
                         immediate="true"
                         action="#{poPipeForm.loadNew}"
                         eventsQueue="queue1"
                         oncomplete="javascript:Richfaces.showModalPanel('editPOPanel',{left:'auto', top:'auto'});"
                         reRender="editPOForm" />


                        Adding the eventsQueue="queue1" to this a4j:commandButton has no effect.

                        This did work with the 500 ms delay, but that javascript causes problem discussed above.

                        I am under a deadline so I cannot spend a lot of time on this right now. After the holidays I might have time to set up an isolated example for you to test.

                        Thank you very much for your reply and advice. Please let me know if you have any other ideas or if what I did to test your suggestion was not correct.

                        • 9. Re: Modal Panel broken form me in 3.1.3.CR4
                          demetrio812 Apprentice

                          Hi,
                          is it this problem? http://jira.jboss.com/jira/browse/JBSEAM-1832

                          Because I had conversation problems with ajax requests in Seam and I solved putting the timeout in core:manager tag (inside components.xml):

                          <core:manager concurrent-request-timeout="500" conversation-timeout="120000" conversation-id-parameter="cid"/>


                          It controls the timeout for concurrent requests and for conversations.

                          Demetrio

                          • 10. Re: Modal Panel broken form me in 3.1.3.CR4
                            Nick Belaevski Master

                            I've looked over the code and still cannot see the issue :(

                            • 11. Re: Modal Panel broken form me in 3.1.3.CR4
                              Jason Long Master

                              Ok its late and I think I am getting closer to the problem, or not... I noticed this would work if I moved it out of my menu. I set up this test that has opens a empty modal panel from a button inside and outside of a menu.

                              For me it does not open if inside the menu. It is late and I am tired, but can anyone see why this might cause my previous problems? My application opens a modal panel that will not close if validation fails.

                              I will try some more tomorrow. I guess some days you are the windshield and sometimes you are the bug. I am the bug currently regarding this problem currently.

                              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                              <ui:composition xmlns="http://www.w3.org/1999/xhtml"
                               xmlns:ui="http://java.sun.com/jsf/facelets"
                               xmlns:h="http://java.sun.com/jsf/html"
                               xmlns:f="http://java.sun.com/jsf/core"
                               xmlns:rich="http://richfaces.org/rich"
                               xmlns:a4j="http://richfaces.org/a4j">
                               <html>
                               <head></head>
                               <body>
                               <a4j:form>
                               <a4j:commandButton value="a4j:commandButton outside rich:dropDownMenu "
                               oncomplete="javascript:Richfaces.showModalPanel('testPanel');" />
                               </a4j:form>
                               <a4j:form>
                               <rich:dropDownMenu>
                               <f:facet name="label">
                               <h:outputText value="dropDownMenu" />
                               </f:facet>
                               <rich:menuItem>
                               <a4j:commandButton id="testModal2"
                               value="a4j:commandButton inside rich:dropDownMenu"
                               oncomplete="javascript:Richfaces.showModalPanel('testPanel');" />
                               </rich:menuItem>
                               </rich:dropDownMenu>
                               </a4j:form>
                              
                               <!-- Modal to open -->
                               <rich:modalPanel id="testPanel">
                               <f:facet name="header"> </f:facet>
                               <f:facet name="controls">
                               <h:graphicImage value="http://livedemo.exadel.com/richfaces-demo/images/modal/close.png"
                               onclick="Richfaces.hideModalPanel('testPanel')" />
                               </f:facet>
                               </rich:modalPanel>
                              
                               <!-- Please Wait Modal -->
                               <a4j:status onstart="Richfaces.showModalPanel('ajaxLoadingModalBox')"
                               onstop="Richfaces.hideModalPanel('ajaxLoadingModalBox')" />
                               <rich:modalPanel id="ajaxLoadingModalBox"
                               zindex="20000">
                               ajaxLoadingModalBox
                               </rich:modalPanel>
                               </body>
                               </html>
                              </ui:composition>