ICEfaces
  1. ICEfaces
  2. ICE-10431

ace:rowEditor - Can't edit after changing rendered attribute

    Details

      Description

      In this scenario an ace:dataTable is set to be editable under certain circumstances. This is toggled by changing the rendered attribute of the ace:rowEditor component. If the rows are rendered with this set to false, and then changed to true, it is not possible to put the table in it's edit mode. Clicking the pencil icon has no effect.

        Activity

        Hide
        Arran Mccullough added a comment -

        Attached test case that shows issue.

        Steps:

        • Load welcomeICEfaces.jsf
        • Table is loaded with nothing in the edit row.
        • Click on the Table Two button, table is now loaded with new content that includes the rowEditor button.
        • Clicking on the pencil icon does nothing.
        Show
        Arran Mccullough added a comment - Attached test case that shows issue. Steps: Load welcomeICEfaces.jsf Table is loaded with nothing in the edit row. Click on the Table Two button, table is now loaded with new content that includes the rowEditor button. Clicking on the pencil icon does nothing.
        Hide
        Arturo Zambrano added a comment -

        r43887: Committed fix to 4.0 trunk.

        The issue was that the rowEditor buttons client behaviours were only set in the constructor, if there were any row editors in the table (client-side). So, if in the first table there were no row editors, this behaviour wasn't being applied to the table, which is actually a delegate event (an event listener applied to a parent element that fires when the event bubbles up). The fix consisted in moving the setup of rowEditor events to a dynamic Javascript call, in order to (re)apply behaviour to rowEditor buttons in the table, if any, after they are set rendered=true.

        Show
        Arturo Zambrano added a comment - r43887: Committed fix to 4.0 trunk. The issue was that the rowEditor buttons client behaviours were only set in the constructor, if there were any row editors in the table (client-side). So, if in the first table there were no row editors, this behaviour wasn't being applied to the table, which is actually a delegate event (an event listener applied to a parent element that fires when the event bubbles up). The fix consisted in moving the setup of rowEditor events to a dynamic Javascript call, in order to (re)apply behaviour to rowEditor buttons in the table, if any, after they are set rendered=true.
        Hide
        Arturo Zambrano added a comment -

        43888: committed further improvement to 4.0 to only perform the dynamic Javascript call if the table contains at least one RowEditor component.
        43889: ported complete fix to 3.3 EE maintenance branch.

        Show
        Arturo Zambrano added a comment - 43888: committed further improvement to 4.0 to only perform the dynamic Javascript call if the table contains at least one RowEditor component. 43889: ported complete fix to 3.3 EE maintenance branch.
        Hide
        Liana Munroe added a comment -

        Verified using the attached test case, ICEfaces 4 trunk r43890. Tomcat 7, IE 11, FF 34, Chrome 39.
        When testing with ee-3.3.0 maintenance branch r43891 the issue remains.

        Show
        Liana Munroe added a comment - Verified using the attached test case, ICEfaces 4 trunk r43890. Tomcat 7, IE 11, FF 34, Chrome 39. When testing with ee-3.3.0 maintenance branch r43891 the issue remains.
        Hide
        Arturo Zambrano added a comment -

        r43892: modified approach in 3.3 maintenance branch to use widgetVar, instead of ice.ace.instance.

        Show
        Arturo Zambrano added a comment - r43892: modified approach in 3.3 maintenance branch to use widgetVar, instead of ice.ace.instance.
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces ee-3.3.0 maintenance branch r43892. Tomcat 7, IE 11, FF 34, Chrome 39.

        Show
        Liana Munroe added a comment - Verified ICEfaces ee-3.3.0 maintenance branch r43892. Tomcat 7, IE 11, FF 34, Chrome 39.

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: