ICEfaces
  1. ICEfaces
  2. ICE-8285

accordion does not render properly when you navigate between pages without redirect

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: EE-3.0.0.GA, 3.1.0.BETA2
    • Fix Version/s: 3.1.0.RC1, 3.1, EE-3.0.0.GA_P01
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Tomcat 7, Chrome, Firefox, IE9, Mojarra 2.1.6
    • Assignee Priority:
      P1
    • Workaround Exists:
      Yes
    • Workaround Description:
      Use redirect navigation instead of default POST request, by adding the <redirect/> tag to the navigation rule in the faces-config file.

      Description

      To reproduce deploy attached application. Once running click on the button on the main page. You will see a result similar to the screenshot attached.



      1. Case11307.part2.rar
        2.67 MB
        Evgheni Sadovoi
      2. Case11307.part1.rar
        5.00 MB
        Evgheni Sadovoi
      1. ice22m.jpg
        62 kB

        Activity

        Hide
        Arturo Zambrano added a comment -

        This is not an issue and the situation is not specific to the accordion. All components that are loaded dynamically need to use the mandatoryResource attribute in <icecore:config />. So, it is only necessary to add this tag inside the body of the welcome page to make things look correctly:

        <icecore:config mandatoryResource="accordion dataTable"/>

        What happens is that when using a navigation rule without <redirect />, the whole body of the page is dynamically replaced by the body of the new page, without updating the <head>, so the necessary javascript and css wasn't there at that moment. When <redirect /> is used, the whole page is loaded synchronously (and the URL changes as well), so that's why it had all the necessary resources loaded on the page.

        Show
        Arturo Zambrano added a comment - This is not an issue and the situation is not specific to the accordion. All components that are loaded dynamically need to use the mandatoryResource attribute in <icecore:config />. So, it is only necessary to add this tag inside the body of the welcome page to make things look correctly: <icecore:config mandatoryResource="accordion dataTable"/> What happens is that when using a navigation rule without <redirect />, the whole body of the page is dynamically replaced by the body of the new page, without updating the <head>, so the necessary javascript and css wasn't there at that moment. When <redirect /> is used, the whole page is loaded synchronously (and the URL changes as well), so that's why it had all the necessary resources loaded on the page.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Evgheni Sadovoi
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: