ICEfaces
  1. ICEfaces
  2. ICE-8554

Compat components work better with icecore:singleSubmit

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 3.1
    • Fix Version/s: None
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      compat

      Description

      When icecore:singleSubmit wrps compat components, it listens to the following events in standard browsers: blur, change, and the following events in older versions of IE: onfocusout, onclick. Two problems can occur when the compat component is intended to submit from one event when partialSubmit=true. First, is that when partialSubmit=true, we don't want icecore:singleSubmit to act at all, otherwise it will cause a second redundant submit. Secondly, if the component is intended to submit from one event type, and icecore:singleSubmit receives another event first, such as on Chrome where change happens in a different sequence than other browsers, then it will be submitting from the wrong even, which can cause problems.

        Activity

        Hide
        Ken Fyten added a comment -

        Tentatively scheduled for 3.4.

        Show
        Ken Fyten added a comment - Tentatively scheduled for 3.4.
        Hide
        Mark Collette added a comment -

        One possible solution is to use ice.cancelSingleSubmit on all compat components, when partialSubmit=true and icecore:singleSubmit is detected, that way none of the events bubble up and cause second submits. As well, when partialSubmit=false, it might make sense to call a version of cancelSingleSubmit, that would block the wrong event rom bubbling up, and only let the right one bubble up.

        Alternatively, we could render attributes that flag the desired behaviour, and singleSubmit's javascript could check those flags.

        Show
        Mark Collette added a comment - One possible solution is to use ice.cancelSingleSubmit on all compat components, when partialSubmit=true and icecore:singleSubmit is detected, that way none of the events bubble up and cause second submits. As well, when partialSubmit=false, it might make sense to call a version of cancelSingleSubmit, that would block the wrong event rom bubbling up, and only let the right one bubble up. Alternatively, we could render attributes that flag the desired behaviour, and singleSubmit's javascript could check those flags.

          People

          • Assignee:
            Unassigned
            Reporter:
            Mark Collette
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: