On Thu, Aug 14, 2008 at 4:03 AM, Wayne Pope <[EMAIL PROTECTED]> wrote: > Ok thanks for that. Is there anyway to 'namespace' this? . My component is > displayed in 2 different areas of the same page (using different model > behind), therefore I need to assign either the component id plus an index to > the markup id to make it unique in the document. (I'd actually cut that out > of the example code I was using here). I suppose I can componentize it?
getmarkupid() always generates a unique id, even across instances of the same component class. -igor > > Does anyone know if there are any architecture diagrams/flows of how things > happenings in Wicket? I read the 'Wicket In Action' book pre-lease which > gave a great introduction for me, however there's only so much can be > covered. I'd like to understand the exact flows and what options there are, > or would you suggest I just get the code and step through it? > > Thanks > Wayne > > > On Wed, Aug 13, 2008 at 7:03 PM, Igor Vaynberg <[EMAIL PROTECTED]>wrote: > >> On Wed, Aug 13, 2008 at 9:50 AM, Wayne Pope >> <[EMAIL PROTECTED]> wrote: >> > Ok, >> > >> > so I'm new to this, however things have been progression ok for my first >> day >> > with Wicket. >> > However it seems to me that I must be doing HTML markup manipulation in >> java >> > when the manipulation only concerns the view and not the data behind it. >> > This seems at odds with wicket philosophy. >> >> it is amazing how you can fully understand the wicket philosophy after >> only one day using it :) anyways, what you are doing is not markup >> manipulation, you are outputting a dynamic value attribute which is >> quiet logical to do from code... >> >> > item.add(new Label("title", new >> > PropertyModel(news,"title"))); >> >> proper way to do this is to chain the models: >> >> item.add(new label("title", new propertymodel(item.getmodel(), "title"))) >> >> > item.add(new WebMarkupContainer("comment") { >> > protected void onComponentTag(ComponentTag tag) { >> > tag.getAttributes().put("id","comment"+index); } >> > }); >> >> this is simply item.add(new >> WebMarkupContainer("comment").setOutputMarkupId(true)); >> wicket already has facilities for outputting unique markup ids >> >> > item.add(new WebMarkupContainer("makecomment") { >> > protected void onComponentTag(ComponentTag tag) { >> > >> tag.getAttributes().put("onclick","getElementById('comment"+index+"').style.display='';return >> > false;"); } >> > }); >> >> componentize this: >> class javascriptshowlink extends webmarkupcontainer { >> private final component target; >> // constructor left to your imagination >> >> protected void oncomponenttag(tag) { >> tag.put("onclick", >> "getelementbyid('"+target.getmarkupid();+"').style.display='';return >> false;"); >> // there is nothing wrong with doing this, it is a dynamic string >> generated via code >> } >> >> then just item.add(new javascriptshowlink("show", commentContainer); >> >> -igor >> >> >> >> > >> > >> > >> > >> > } >> > }; >> > >> > add(items); >> > >> > >> > Ok so that code is just to demonstrate what I mean. The point is I need >> to >> > manipulate the attributes of elements, just so I can setup some >> javascript >> > stuff. Is there no better way of just doing this in the markup or some >> form >> > of wicket:tag that can insert the current list item index? >> > >> > thanks >> > Wayne >> > >> >> --------------------------------------------------------------------- >> 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]