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

        Brennan Mckinney created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Salesforce Case []
        Fix Version/s 3.2 [ 10338 ]
        Assignee Priority P2
        Assignee Nils Lundquist [ nils.lundquist ]
        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.
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #30358 Wed Aug 01 14:55:52 MDT 2012 nils.lundquist ICE-8386 - Clear state in component following requests to prevent stale state from being added to rapidly queued subsequent requests.
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/list/list.js
        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.
        Nils Lundquist made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Icefaces Administrator made changes -
        Security Private [ 10001 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Priority P2 [ 10011 ]

          People

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

            Dates

            • Created:
              Updated:
              Resolved: