ICEfaces
  1. ICEfaces
  2. ICE-6627

ice:outputConnectionStatus Showing Modal Pane by Default in ICEfaces 2

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0
    • Fix Version/s: 2.0.1
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 2 JSF 2.0.3
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)

      Description

      This code resulted in the outputConnectionStatus component rendering in disconnected state in ICEfaces 1.8.2:

                  <ice:outputConnectionStatus showPopupOnDisconnect="true"/>
      <h:form>
      <h:commandButton value="Invalidate Session" actionListener="#{applicantController.invalidate}" />
      </h:form>

      public void invalidate(ActionEvent ae){
        ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
        HttpServletRequest req = (HttpServletRequest)ectx.getRequest();
        HttpSession session = req.getSession(false);
        if(session != null){
        session.invalidate();
        }
      }

      When using this component in ICEfaces 2, the icon renders in disconneted state, but there is also a modal popup (without the reload button)

      User Session Expired
      Reload this page to start a new user session.

      So the default befavior has changed, giving us a modal pane by default now and this seems to overlap with the showPopupOnDisconnect="true" attribute (which brings up a different modal pane with a reload button)

        Activity

        Hide
        Mircea Toma added a comment - - edited

        The popups rendered are the default indicators that ICEfaces2.0 core puts up. Up until now their rendering could be disabled only by using Javascript calls.

        The fix makes possible the disabling of default indicators (popups) by using 'org.icefaces.disableDefaultIndicators' context parameter. The default value is 'false', meaning that the popups will be rendered.
        Also the fix refactored default indicators code to be rendered within the limits of view's root element thus avoiding configuration overlap when running in portlet environment.

        Component-showcase configuration was modified to disable the default indicators since the the application uses ice:outputConnectionStatus component and 'compat' popups.

        Show
        Mircea Toma added a comment - - edited The popups rendered are the default indicators that ICEfaces2.0 core puts up. Up until now their rendering could be disabled only by using Javascript calls. The fix makes possible the disabling of default indicators (popups) by using 'org.icefaces.disableDefaultIndicators' context parameter. The default value is 'false', meaning that the popups will be rendered. Also the fix refactored default indicators code to be rendered within the limits of view's root element thus avoiding configuration overlap when running in portlet environment. Component-showcase configuration was modified to disable the default indicators since the the application uses ice:outputConnectionStatus component and 'compat' popups.
        Hide
        Ken Fyten added a comment -

        Please review to see if the default IF2 status messages can be automatically disabled whenever the outputConnectionStatus component is present on the page. That way, the developer can configure error message behavior by choosing to use the outputConnectionStatus and tweaking it's popup attribute.

        In addition, we should still keep the ability to disable these messages via the config param. I'd suggest a more specific name, such as 'org.icefaces.faces.disableDefaultErrorPopups'.

        Show
        Ken Fyten added a comment - Please review to see if the default IF2 status messages can be automatically disabled whenever the outputConnectionStatus component is present on the page. That way, the developer can configure error message behavior by choosing to use the outputConnectionStatus and tweaking it's popup attribute. In addition, we should still keep the ability to disable these messages via the config param. I'd suggest a more specific name, such as 'org.icefaces.faces.disableDefaultErrorPopups'.
        Hide
        Mircea Toma added a comment - - edited

        Changed core's default indicators to dynamically decide when to render thus allowing configuration changes to take effect even if the changes were made after the indicators are constructed. Modified 'compat' default indicators to use view's configuration and disable core's default indicator when they are loaded.

        Show
        Mircea Toma added a comment - - edited Changed core's default indicators to dynamically decide when to render thus allowing configuration changes to take effect even if the changes were made after the indicators are constructed. Modified 'compat' default indicators to use view's configuration and disable core's default indicator when they are loaded.
        Hide
        Mircea Toma added a comment -

        Renamed 'org.icefaces.disableDefaultIndicators' context parameter to 'org.icefaces.disableDefaultErrorPopups'.

        Show
        Mircea Toma added a comment - Renamed 'org.icefaces.disableDefaultIndicators' context parameter to 'org.icefaces.disableDefaultErrorPopups'.

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Brad Kroeger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: