You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Damian Nowak (JIRA)" <ji...@apache.org> on 2010/08/09 23:14:20 UTC

[jira] Commented: (WICKET-1134) Multiple abstract/implement tags instead of child/extend

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

Damian Nowak commented on WICKET-1134:
--------------------------------------

Is this going to be implemented or 1.5-M2 is just a synonymous with "we will set it to 1.6 when 1.5 is near"? It's been almost three years since the issue was created. Just to remind, there was a very long discussion about that. I provide links to the most important thoughts. 

http://www.mail-archive.com/users@wicket.apache.org/msg06304.html
http://www.mail-archive.com/users@wicket.apache.org/msg06303.html
http://www.mail-archive.com/users@wicket.apache.org/msg06353.html - "the real-wicket-way(tm) for multiple content-places in a tied page-area" - like going back to C "as I can achieve everything from Java in C and get better performance". ;)
http://www.mail-archive.com/users@wicket.apache.org/msg06336.html
http://www.mail-archive.com/users@wicket.apache.org/msg06337.html
http://www.mail-archive.com/users@wicket.apache.org/msg06369.html
http://www.mail-archive.com/users@wicket.apache.org/msg06358.html

Even Open Power Template for PHP has got such a feature. http://static.invenzzia.org/docs/opt/2_0/single/en/#toc:syntax_instructions_snippet 

If you are not going to implement this please tell me if there are any easy ways to achieve this. I haven't found anything in docs; the mailing discussion shows only one correct solution but it doesn't look good (messing with onRenders, initializations, etc.).

> Multiple abstract/implement tags instead of child/extend
> --------------------------------------------------------
>
>                 Key: WICKET-1134
>                 URL: https://issues.apache.org/jira/browse/WICKET-1134
>             Project: Wicket
>          Issue Type: New Feature
>          Components: wicket
>    Affects Versions: 1.3.0-rc1
>            Reporter: Stefan Fussenegger
>            Assignee: Johan Compagner
>            Priority: Minor
>             Fix For: 1.5-M2
>
>         Attachments: wicket-1134.patch, wicket-abstract-implement.patch
>
>
> The current implementation of wicket:child and wicket:extend only allows for a single extension per subpage. However, this restriction is neither mandated by java class hierarchy nor by any other reason. Therefore, it should be possible to extend the current implementation to support multiple 'abstract' sections, just like abstract methods in java classes. This could be done by replacing
> <wicket:child>
>   <wicket:extend>
>     some content
>   </wicket:extend>
> </wicket:child>
> with
> <wicket:abstract id="foo">
>   <wicket:implement id="foo">
>     some content
>   </wicket:extend>
> </wicket:child>
> (new names have been suggested in http://www.nabble.com/Multiple-%3Cwicket%3Achild--%3E-tags-on-a-single-base-page--tf4738673.html)
> A possible application is a layout with two columns, e.g. a header with navigation, a left column with sub-navigation and a right column with content (where the sub-navigation may change depending on the section. In deed, this is already possible using panels or similar means. However, it would allow to take advantage of markup inheritance only:
> BasePage extens WebPage:
> <div wicket:id="links>[some nav links here]</div>
> <div><wicket:abstract id="subNavigation">[left navigation goes here]</wicket:abstract></div>
> <div><wicket:abstract id="content">[content goes here]</wicket:abstract</div>
> SectionPage extends BasePage:
> <wicket:implement id="subNavigation">[sub navigation links here]</wicket:implement>
> FooPage extends SectionPage:
> <wicket:implement id="content">[content goes here]</wicket:implement>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.