Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-4675

Process Ajax responses in one go

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 6.0.0-beta3
    • 6.0.0
    • wicket
    • None

    Description

      situation:

      • one component is replaced via several ajax channels.
      • the processing of the reponse steps of those channels may be interleaved.
      • the ajax response may contain DOM replacements (including modified IDs and component paths) and event handler assignments

      The correct order for two concurrent ajax requests executed over 2 seperate channels would be:

      DOM replacement
      event assigment
      DOM replacement
      event assignment

      Currently something like this may happen:

      DOM replacement
      DOM replacement
      event assignment
      event assignment

      The event assignment fails when the component ids change during the DOM replacement.
      Also it is required that the second batch of event assigments is executed after the first batch

      Possible solution - Add a new method to assign an Ajax Channel per component for the ajax response:

      target.add(component, channel);

      This would allow to schedule the response processing to the ajax channel on a per-component basis instead of a per-request/response basis.

      Attachments

        1. recusrsion.html
          1 kB
          Martin Tzvetanov Grigorov

        Issue Links

          Activity

            People

              mgrigorov Martin Tzvetanov Grigorov
              coldiges Christian Oldiges
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: