You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Sven Meier (JIRA)" <ji...@apache.org> on 2019/02/01 14:17:00 UTC

[jira] [Commented] (WICKET-6622) Enclosure Ajax Bug

    [ https://issues.apache.org/jira/browse/WICKET-6622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16758342#comment-16758342 ] 

Sven Meier commented on WICKET-6622:
------------------------------------

Stupid Jira shortcuts - I didn't want to change the assignment :P

One objection to this solution: isVisibilityAllowed is usually used for authorization, what if that flag is changed *after* the enclosure's onConfigure()?

An alternative idea:
What If we unified resolvers with queued components, i.e. components 'inside' an enclosure are considered as if being queued instead of added? If a component is inside an enclosure, it gets relocated into the enclosure's children. This would solve a lot of problems related to enclosures.

One disadvantage I see with this proposal is that a component might not be accessible with the id it was added. Personally I prefer to access my components via instance variables anyway.
What other requirements are there to keep a component at the exact position it was added to?

> Enclosure Ajax Bug
> ------------------
>
>                 Key: WICKET-6622
>                 URL: https://issues.apache.org/jira/browse/WICKET-6622
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 8.2.0
>            Reporter: Michael Gerhards
>            Priority: Minor
>         Attachments: Error Message.PNG, Wicket_Enclosure_Ajax_Bug.zip
>
>
> WICKET AJAX DEBUG produces the error message
> ERROR: Cannot bind a listener for event "inputchange change" on element "text1" because the element is not in the DOM
> when component is not visible caused by enclosure:
> HTML
> <wicket:enclosure child="other">
>     <input type="text" wicket:id="text"/>
>     <div wicket:id="other" />
> </wicket:enclosure>
> JAVA
> other.setVisibilityAllowed(false);
>  
> HTML Page source head script contains
> Wicket.Ajax.ajax(\{"u":"./?0-1.0-text","m":"POST","c":"text1","e":"inputchange change"});;
> but not text1 since it is invisible.
> See attached source project and screenshot.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)