ICEfaces
  1. ICEfaces
  2. ICE-1956

Immediate attribute not working on MenuItem

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6
    • Fix Version/s: 1.6.1
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      win xp

      Description

      The immediate attribute on the MenuItem should function like other UICommand components and cause any actions or actionListeners to be run in the Apply request values phase. This is not happening.

        Activity

        Hide
        Philip Breau added a comment -

        test case

        Show
        Philip Breau added a comment - test case
        Hide
        Mark Collette added a comment -

        I found an issue with the implementation of UICommand that causes this issue:
        https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=622

        It looks like this is a problem with any UICommand subclass that's a container for other components that fire off ActionEvents. In our code that would include MenuBar, MenuItem, PanelCollapsible, Tree, and kind of InputFile.

        Show
        Mark Collette added a comment - I found an issue with the implementation of UICommand that causes this issue: https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=622 It looks like this is a problem with any UICommand subclass that's a container for other components that fire off ActionEvents. In our code that would include MenuBar, MenuItem, PanelCollapsible, Tree, and kind of InputFile.
        Hide
        Mark Collette added a comment -

        Made it so that the UICommand subclasses would override queueEvent(FacesEvent), and when there's an ActionEvent that filters up to them from a child component, would pass it directly on to the current component's parent, instead of calling super.queueEvent(FacesEvent), effectively doing what UIComponentBase.queueEvent(FacesEvent) does, bypassing UICommand.queueEvent(FacesEvent).

        Subversion 14707
        icefaces\component\src\com\icesoft\faces\component\menubar\MenuBar.java
        icefaces\component\src\com\icesoft\faces\component\menubar\MenuItem.java
        icefaces\component\src\com\icesoft\faces\component\panelcollapsible\PanelCollapsible.java
        icefaces\component\src\com\icesoft\faces\component\tree\Tree.java

        Show
        Mark Collette added a comment - Made it so that the UICommand subclasses would override queueEvent(FacesEvent), and when there's an ActionEvent that filters up to them from a child component, would pass it directly on to the current component's parent, instead of calling super.queueEvent(FacesEvent), effectively doing what UIComponentBase.queueEvent(FacesEvent) does, bypassing UICommand.queueEvent(FacesEvent). Subversion 14707 icefaces\component\src\com\icesoft\faces\component\menubar\MenuBar.java icefaces\component\src\com\icesoft\faces\component\menubar\MenuItem.java icefaces\component\src\com\icesoft\faces\component\panelcollapsible\PanelCollapsible.java icefaces\component\src\com\icesoft\faces\component\tree\Tree.java

          People

          • Assignee:
            Unassigned
            Reporter:
            Philip Breau
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: