ICEfaces
  1. ICEfaces
  2. ICE-8386

Rapid input in ace:list - Reordering(Ajax) causes multiple selections (showcase)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.1.0.RC1
    • Fix Version/s: 3.2
    • Component/s: Sample Apps
    • Labels:
      None
    • Environment:
      Tomcat 7, FF13, IE9 (Not present in Chrome)

      Description

      Within showcase: ace:list - Reordering(Ajax)

      Selecting a single element and then rapidly providing multiple inputs (say, three/four quick presses of the down arrow) results in a momentary graphical glitch and often the selection of a second element that the user did not want.

      Seems to occur far more often in FF than IE, and not at all in Chrome.

        Activity

        Hide
        Nils Lundquist added a comment -

        Queueing events before the server updates the component results in those queued events having stale info about the indexes of the items. And apparently stale info about the 'incoming' selections as well. The component reinitializes itself to get rid of this stale state normally.

        The component could be modified to clear its state on submit, if the selection and reordering maps were cleared immediately presubmit I think these issues may be resolved.

        Alternatively the component could stall incoming actions that would modify state until after the ongoing request returns, however this could be difficult if those actions in limbo are targeting DOM elements that no longer exist post update.

        Show
        Nils Lundquist added a comment - Queueing events before the server updates the component results in those queued events having stale info about the indexes of the items. And apparently stale info about the 'incoming' selections as well. The component reinitializes itself to get rid of this stale state normally. The component could be modified to clear its state on submit, if the selection and reordering maps were cleared immediately presubmit I think these issues may be resolved. Alternatively the component could stall incoming actions that would modify state until after the ongoing request returns, however this could be difficult if those actions in limbo are targeting DOM elements that no longer exist post update.
        Hide
        Nils Lundquist added a comment -

        Revision #30358
        Committed by nils.lundquist
        A minute ago
        ICE-8386 - Clear state in component following requests to prevent stale state from being added to rapidly queued subsequent requests.

        Show
        Nils Lundquist added a comment - Revision #30358 Committed by nils.lundquist A minute ago ICE-8386 - Clear state in component following requests to prevent stale state from being added to rapidly queued subsequent requests.

          People

          • Assignee:
            Nils Lundquist
            Reporter:
            Brennan Mckinney
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: