Wicket
  1. Wicket
  2. WICKET-5302

Using InlineEnclosure leads to two re-renderings of the controlling child component

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 6.9.1
    • Fix Version/s: 6.10.0, 7.0.0-M1
    • Component/s: wicket
    • Labels:
      None

      Description

      org.apache.wicket.protocol.http.AjaxEnclosureListener adds the inline enclosure when the controlling child is repainted but doesn't remove the child itself from the map and this leads to two <component> elements in the Ajax response.

      <?xml version="1.0" encoding="UTF-8"?>
      <ajax-response>
      <component id="cc7" ><![CDATA[<div wicket:id="cc" id="cc7">New CC</div>]]></component>
      <component id="wicket_InlineEnclosure_06" ><![CDATA[<div wicket:enclosure="cc" id="wicket_InlineEnclosure_06">
      Before<br/>

      <div wicket:id="cc" id="cc7">New CC</div>

      After<br/>
      </div>]]>
      </component>
      </ajax-response>

        Issue Links

          Activity

          Hide
          Martin Grigorov added a comment -

          Demo application

          Show
          Martin Grigorov added a comment - Demo application
          Hide
          Martin Grigorov added a comment -

          From now on the listeners will work with the original/modifiable map and can modify it if needed.

          Show
          Martin Grigorov added a comment - From now on the listeners will work with the original/modifiable map and can modify it if needed.

            People

            • Assignee:
              Martin Grigorov
              Reporter:
              Martin Grigorov
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development