7 Replies Latest reply on Feb 17, 2013 12:12 AM by bleathem

    popupPanel not show in rich:dataTable

    songjinglim

      Base on the sample from:

      http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=dataTable&sample=dataTableEdit&skin=blueSky

       

      I did a bit modify on the xhtml page and CarsBean to include a button to display the result.  Result display as expected but the popup panel not working (ie. no popup).  Code attach.

       

      Software version I use:

      richface 4.3.0 CR2

      GAE 1.7.2

       

      Note: It work fine on my local notebook and problem mention above apply when deploy online. 

       

      Here the online url

      - using search to display result but popup not working: http://cloudenterpriseapps.appspot.com/public/test/testPopup4.jsf

      - directly display result and popup working: http://cloudenterpriseapps.appspot.com/public/test/testPopup3.jsf

       

      Any help?

       

      p/s: I notice when view page source (from browser), testPopup3.jsf will show the table entry however testPopup4.jsf will not have such table entry.  Can it because that result table is dynamic create by other jsf component (i.e. a4j:commandButton) and cause the popup script inside dataTable not able function properly ?

        • 1. Re: popupPanel not show in rich:dataTable
          songjinglim

          when run from local server, testPopup4.jsf display the contain of table in view source.  I think the problem is cause by how GAE render the xhtml, if the table data is dynamic retrieve then table data will not be available at client side which directly cause the java script within the table not function.   However if run from local server, no such problem, please refer to attach 'local.txt" and "gae.txt".

          • 2. Re: popupPanel not show in rich:dataTable
            sivaprasad9394

            Hi Songjinglim,

             

            As per my understanding local.txt file it has 2 forms and table values are not displaying in the view source code.

            Line no:7 <form id="j_idt7" name="j_idt7" method="post" action="/public/test/testPopup5.jsf" enctype="application/x-www-form-urlencoded">

            Line no:19 <form id="j_idt9" name="j_idt9" method="post" action="/public/test/testPopup5.jsf" enctype="application/x-www-form-urlencoded">

             

            -- Normally in JSF there should not be nested forms in the page.

             

            Please refer the image i have attached once edit is clicked style class should change ,see the firebug console also marked it


            Working1.jpeg

            Not working below:

            notworking.jpeg

             

            So as per my guess there is a problem with forms while clicking the search button.thats why pop up screen is not opening properly.

            recheck it.Try looking popup panel id and form id while clicking the button.make sure id's are properly comming with hirerachy..

             

            Thanks,

            Siva

            • 3. Re: popupPanel not show in rich:dataTable
              songjinglim

              Hi Siva

               

              Thanks for reply

               

              testPopup3.jsf working on both local (my notebook) and online (Google GAE server) where I suspect is because the bean load all the data before the page display.

               

              testPopup4.jsf only work on my local.  When testPopup4.jsf loaded, data is not loaded.  Data is loaded after user click on 'search' button.  Both testPopup3 and testPopu4 are similar.  So I think the problem happen (ie. no popup) is because dataTable didn't have the value when page is loaded.  Even later on I reRender or render the dataPanel also not help.

               

              What I don't understand is why testPopup4.jsf work fine on my local machine and not after deploy to GAE. 

               

              Still can't solve it...

              • 4. Re: popupPanel not show in rich:dataTable
                songjinglim

                Hi

                 

                This issues still can't solve even I upgrade to richface 4.3.0 Final.

                 

                To simplify the investigation, I create a simple xhmtl (testPopup5.xhtml).  Using firebug, I manage discover few diff between local and online GAE version.

                 

                1) editPanel @ local change it style stage from 'visibility hidden' to 'display none' and then 'display block' when click on edit icon. 

                However editPanel @ GAE still remain unchange with 'visibility hidden'

                 

                [Local]

                <div id="j_idt9:editPanel" style="visibility: hidden;">

                <div id="j_idt9:editPanel" style="display: none;">

                <div id="j_idt9:editPanel" style="display: block;">

                 

                [GAE]

                <div id="j_idt9:editPanel" style="visibility: hidden;">

                 

                2) under <div id="j_idt9:editPanel"...><div class="rf-pp-cntr "><div class="rf-pp-cnt-scrlr" >, local version contain value in table tag

                 

                3) Shown in firebug's script tab, when click on edit link, local version display as: <update id="j_idt9:editGrid"> and follow by table values.

                However online version display it as <update id="javax.faces.ViewState"> and without any table values

                 

                p/s: Online: http://cloudenterpriseapps.appspot.com/public/test/testPopup5.jsf

                 

                By the way the GAE display below warning when page first load.  Don't know is related to the problem or not.

                [s~cloudenterpriseapps/0.365021621033424561].<stderr>: SystemId Unknown; Line #57; Column #31; Failed calling setMethod method

                 

                [FireBug Script tab, Local. Click on edit link]

                <?xml version='1.0' encoding='UTF-8'?>

                <partial-response><changes><update id="j_idt9:editGrid"><![CDATA[<table id="j_idt9:editGrid">

                <tbody>

                <tr>

                <td>Model</td>

                <td>Corvette</td>

                <td></td>

                </tr>

                <tr>

                <td>Price</td>

                <td>47405</td>

                <td></td>

                </tr>

                </tbody>

                </table>

                ]]></update><update  id="javax.faces.ViewState"><![CDATA[H4sIAAAAAAEUTEh...EUXAkFAAA]]></update></changes><extension  id="org.richfaces.extension"><complete>RichFaces.$('j_idt9:editPanel').show();</complete><render>j_idt9:editGrid</render></extension></partial-response>

                 

                [FireBug Script tab, GAE. Click on edit link]

                <?xml version='1.0' encoding='UTF-8'?>

                <partial-response><changes><update  id="javax.faces.ViewState"><![CDATA[H4sIAAAAAAAAANVYbW....KBTUkFAAA]]></update></changes></partial-response>

                 

                Please refer to updated testPopup5.xhtml and html <body> value from firebug for both local and GAE ('local - script.txt', 'gae - script.txt').

                • 5. Re: popupPanel not show in rich:dataTable
                  songjinglim

                  One obvious diff from local exeuction and the one deployed to GAE is the respond header:

                  Local: <partial-response><changes><update id="j_idt9:editGrid">

                  GAE: <partial-response><changes><update id="javax.faces.ViewState">

                   

                  If this problem not able to solve, the work around is to split the search panel and result to 2 diff jsf pages...

                  • 6. Re: popupPanel not show in rich:dataTable
                    songjinglim

                    Solved after upgrade JSF api and implementation jar from 2.0 to 2.1

                    • 7. Re: popupPanel not show in rich:dataTable
                      bleathem

                      Thanks for taking the time to post your solultion!