I think this looks really great. I'm pretty sure the current wicket builder project has been abandoned, so this would be a welcome replacement.
I've been dying to dive into grails now that it supports a *real* view layer! =) On Thu, Mar 6, 2008 at 8:59 AM, graemer <[EMAIL PROTECTED]> wrote: > > So as some of you may know I've been updating the Grails Wicket plug-in. > There is quite a few users on the Grails list who have shown interest in it > and the ability to use a component framework backed onto the rest of the > Grails stack (GORM, transactional services, plugin system etc.) > > However, the plugin provides a very basic level of integration and I was > thinking it would be nice to create a Groovy DSL for Wicket. I looked into > the WicketBuilder, but really I think we can take this further. So based on > the example here: > > http://www.theserverside.com/tt/articles/article.tss?l=IntroducingApacheWicket > > I came up with the below syntax to represent this application (note i havent > actually implemented anything yet this is just a syntax proposal). > Thoughts/feedback/suggestions welcome: > > class BasePage extends BuildablePage { > public build() { > stylesheet "main" > panel "searchPanel" { > form "searchForm" { > def model = [:] > bookmarkablePageLink "addContact", EditContact > textField "searchString", model:model > onSubmit { > redirect page:ListContacts, [searchString: > model.searchString] > } > } > } > } > } > class ListContacts extends BasePage { > > public build() { > super.build(); > > def contactsModel = { > Contact.findByNameLike("%${params.searchString}%") } as > LoadableDetachableModel > > listView "contacts", contactsModel { item -> > def view = link( "view", item.model ) { > onClick { > redirect page:new ViewContact(item.model.id) > } > } > view << label("firstName", new PropertyModel(item.model, > "firstName")) > view << label("lastName", new PropertyModel(item.model, > "lastName")) > > item << view > > item << link("edit", item.model) { > onClick { > redirect page:new EditContact(model.id) > } > } > item << link("delete", item.model) { > onClick { > item.model.delete() > redirect page:ListContacts > } > } > > } > > } > > } > -- > View this message in context: > http://www.nabble.com/Feedback-on-proposed-Groovy-DSL-syntax-for-Wicket-tp15873183p15873183.html > Sent from the Wicket - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]