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

ASF GitHub Bot commented on WICKET-6608:
----------------------------------------

GitHub user svenmeier opened a pull request:

    https://github.com/apache/wicket/pull/342

    Wicket 6616 always render new pages

    Question: Should Wicket always render new pages before any component in it 
is accessed?
    
      * until 8.1.0
        * components can be accessed **un-rendered** when already inside the 
page hierarchy
        * then the page is prepared for render
        * any component added in onInitialize() or onBeforeRender() can be 
accessed **rendered**
      * since 8.2.0 (WICKET-6608)
        * components can be accessed **un-rendered** when already inside the 
page hierarchy
        * then the page is initialized
        * any component added in onInitialize()  (e.g. through queueing) can be 
accessed **rendered**
        * then the page is prepared for render
        * any component added in onBeforeRender() can be accessed **rendered**
    
    IMHO all these cases should allow access to **rendered** component only.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/wicket WICKET-6616-render-new-pages

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/wicket/pull/342.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #342
    
----
commit 7b2bb1162dd80e6faab9fb9f0fc30c0d153a4bd2
Author: Sven Meier <svenmeier@...>
Date:   2018-11-30T15:10:18Z

    Revert "WICKET-6608 Stateless page, mix of queue and add can cause 
unforseen"
    
    This reverts commit 61c8709389cea30975814530f53dd0ae1f1ea592.

commit a446138852fe1748ff879d85bced1b19f8af444e
Author: Sven Meier <svenmeier@...>
Date:   2018-11-30T15:10:21Z

    Revert "WICKET-6608 added test case"
    
    This reverts commit 86f92fc8cfaf4ec15409908455d049f9466c542e.

commit 557115433e3485fc6ab50607ae930ff46c14c80a
Author: Sven Meier <svenmeier@...>
Date:   2018-12-01T20:14:40Z

    WICKET-6616 always render new pages

----


> Stateless page, mix of queue and add can cause unforseen consequences
> ---------------------------------------------------------------------
>
>                 Key: WICKET-6608
>                 URL: https://issues.apache.org/jira/browse/WICKET-6608
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 8.1.0
>            Reporter: Oddgeir Bell
>            Assignee: Andrea Del Bene
>            Priority: Minor
>             Fix For: 8.2.0, 9.0.0
>
>         Attachments: statelessQueueAdd.zip
>
>
> We are in the process of upgrading a Wicket 6.x application to Wicket 8.1, 
> mostly because we needed stateless ajax.
> In the process we discovered something quite unexpected (took a few days to 
> figure out the cause).
> This is the issue:
> Stateless page.
> Hierarchy like so:
> Page
>      ->Container
>             ->Label
>             ->AjaxButton
>  
> The label should only be visible when it's model has data, so we override 
> onConfigure and set visible = (getDefaultModelObject != null).
> This works if all components are added with add(Component).
> It also works if all components are added with queue(Component).
> BUT, if the container is added with add(Component) and the AjaxButton is 
> added with queue(Component), it doesn't work.
> Actually, if just one component is added to the page with queue(Component), 
> things seem to work (as long as it is queue-ed AFTER the container is add-ed)
> I could not find any information on dangers of mixing add/queue with my 
> google-fu, so it may look like it's a bug?
>  
> Attached quickstart that shows the issue.
>  



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

Reply via email to