ICEfaces
  1. ICEfaces
  2. ICE-10507

ace:dataTable - Non-submitted row edits updated on stop editing call

    Details

      Description

      If multiple rows are set to be editable and changes are made on the cells, if one row is submitted and row edits are cancelled via the server side, the changed value is updated. The same behavior is not seen with a single row edit, nor does it do this if one row edit hasn't been saved.

      The following steps can be used to reproduce the issue with the Showcase demo:

      Steps:
      1. Click edit for any row.
      2. Click edit for another row.
      3. Change a value in both rows
      4. Submit just one row over the little blue checkmark
      5. Now you have one row in edit modus with a changed value. Click on the button "Stop Editing For All"
      6. Editing is stopped but the changed value is submited.

      If you do these steps with one edited row there are no changed valus submited.

        Activity

        Hide
        Jack Van Ooststroom added a comment -

        Sending samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/ace/documentationResources/CloudPushResources.java
        Transmitting file data .
        Committed revision 44228.

        Show
        Jack Van Ooststroom added a comment - Sending samples/showcase/showcase/src/main/java/org/icefaces/samples/showcase/ace/documentationResources/CloudPushResources.java Transmitting file data . Committed revision 44228.
        Hide
        Jack Van Ooststroom added a comment -

        Fixed a small compilation error by removing the trailing comma withing the resources.

        Show
        Jack Van Ooststroom added a comment - Fixed a small compilation error by removing the trailing comma withing the resources.
        Hide
        Ken Fyten added a comment -

        ace:dataTable -> Click Events demo Regression

        Re-opened as there is now an issue where multiple submit/responses appear to occur in succession when editing and submitting cell values via double-click.

        To reproduce:

        1. Double-click a name cell to edit it and double-click to submit the changes.
        2. Navigate to pg2 and then back to pg. via the pagination
        3. Edit another cell via double-click, notice the flashing between edit and read mode.

        The number of flashes between edit and read mode correlates to the number of paginator pages that have been changed. Weird...

        Show
        Ken Fyten added a comment - ace:dataTable -> Click Events demo Regression Re-opened as there is now an issue where multiple submit/responses appear to occur in succession when editing and submitting cell values via double-click. To reproduce: Double-click a name cell to edit it and double-click to submit the changes. Navigate to pg2 and then back to pg. via the pagination Edit another cell via double-click, notice the flashing between edit and read mode. The number of flashes between edit and read mode correlates to the number of paginator pages that have been changed. Weird...
        Hide
        Arturo Zambrano added a comment -

        That last issue is actually a side effect of ICE-10529. Removing the client id that was added to the span that contains the script, resolves this issue.

        This happens because now the table markup is not updated in full when clicking on a page in the paginator. Because now the script tag is inside a span with its own client id and the table body (<tbody>) has its own client id as well, so, when the user clicks on a page of the paginator, the table body and the script are updated, instead of the whole markup from the root div, and, because the script re-initializes the table, a new event listener for double clicks is added to the root element, so now multiple requests are fired because there are multiple event listeners registered.

        This could be fixed by removing click event listeners before (re)initializing the table. We could also consider solving ICE-10529 without adding those inner client ids, if feasible.

        Show
        Arturo Zambrano added a comment - That last issue is actually a side effect of ICE-10529 . Removing the client id that was added to the span that contains the script, resolves this issue. This happens because now the table markup is not updated in full when clicking on a page in the paginator. Because now the script tag is inside a span with its own client id and the table body (<tbody>) has its own client id as well, so, when the user clicks on a page of the paginator, the table body and the script are updated, instead of the whole markup from the root div, and, because the script re-initializes the table, a new event listener for double clicks is added to the root element, so now multiple requests are fired because there are multiple event listeners registered. This could be fixed by removing click event listeners before (re)initializing the table. We could also consider solving ICE-10529 without adding those inner client ids, if feasible.
        Hide
        Arturo Zambrano added a comment -

        Closing again, since the last issue is caused by ICE-10529. Comments were copied to that JIRA.

        Show
        Arturo Zambrano added a comment - Closing again, since the last issue is caused by ICE-10529 . Comments were copied to that JIRA.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: