Thanks Jeremy, that info is very usefull 2010/4/6 Jeremy Thomerson <jer...@wickettraining.com>
> No - I mean use jQuery, YUI, or whatever you are currently using (or custom > JS that you write without one of these frameworks), and just add a CSS > class > to the dom element on the client-side. There is no reason to make a > roundtrip to the server to simply change the CSS class. That wastes time > and resources, and makes the app less responsive. > > Do something (jQuery code) like > onfocus="$(this).parent().addClass('highlightedfield');" to get started, > then onblur="$(this).parent().removeClass('highlightedfield');" > > -- > Jeremy Thomerson > http://www.wickettraining.com > > > > On Tue, Apr 6, 2010 at 3:02 PM, Daniela Valero > <danielavalero...@gmail.com>wrote: > > > Hi Jeremy, I'm doing something similar than Araun, but with > > > > item.add(new AjaxEventBehavior("onclick") { > > @Override > > protected void onEvent(AjaxRequestTarget target) { > > HighLitableDataItem<ThirdModelBasic> hitem = > > (HighLitableDataItem<ThirdModelBasic>)item; > > hitem.toggleHighlite(); > > > > target.addComponent(item); > > > > } > > }); > > > > > > But, when I click the item, it Highlites a few seconds, then turns back > its > > normal style. > > > > Is that because you suggest do not do it with ajax? > > Is there a way to do this, without rendering all page? > > When you said "JS library and attach to onfocus.". Do you reference > > JSLibrarie inside wicketStuff trunk? > > > > 2010/4/6 Jeremy Thomerson <jer...@wickettraining.com> > > > > > Don't do this with AJAX - that's overkill. Just use a JS library and > > > attach > > > to onfocus. > > > > > > -- > > > Jeremy Thomerson > > > http://www.wickettraining.com > > > > > > > > > > > > On Tue, Apr 6, 2010 at 1:21 PM, Arnaud Garcia <arn...@imagemed-87.com > > > >wrote: > > > > > > > ok, find, so just do: > > > > item.setOutputMarkupPlaceholderTag(true); > > > > and > > > > > > > > myTextField.add(new AjaxEventBehavior("onfocus") { > > > > > > > > @Override > > > > protected void onEvent(AjaxRequestTarget target) > > > > { > > > > item.add(new SimpleAttributeModifier("class", > > > > "selected")); > > > > target.addComponent(item); > > > > } > > > > }); > > > > > > > > > > > > Arnaud > > > > 2010/4/6 Arnaud Garcia <arn...@imagemed-87.com> > > > > > > > > > Hello, > > > > > > > > > > I have a simple DataView where each row has some labels and > > textfields. > > > > > Each time the user enter in a textfield I would like to highlight > the > > > > > selected row. (The idea is to adapt the wicket stuff example > > > > (OIRPage.java) > > > > > with an AjaxFormComponentUpdatingBehavior("onfocus") instead of a > > > simple > > > > > Link) > > > > > > > > > > > > > > > The example in wicket stuff > > > > > ( > > > > > > > > > > > > > > > http://wicketstuff.org/wicket/repeater/?wicket:bookmarkablePage=:org.apache.wicket.examples.repeater.OIRPage > > > > > ) > > > > > > > > > > shows how to highlight the selected row using > > > ReuseIfModelsEqualStrategy > > > > > when the user click on a Link. > > > > > > > > > > Using the AjaxFormComponentUpdatingBehavior with the "onfocus" > event > > I > > > > try > > > > > to simulate the Link click but it does not work... > > > > > > > > > > myTextField.add(new AjaxFormComponentUpdatingBehavior("onfocus") { > > > > > > > > > > @Override > > > > > protected void onUpdate(AjaxRequestTarget > target) > > { > > > > > HighlitableDataItem<EtudiantAS> hitem = > > > > > (HighlitableDataItem<EtudiantAS>) item; > > > > > hitem.toggleHighlite(); > > > > > // target.addComponent( ??? don' know what > to > > > put > > > > > here, how to re-render the item) > > > > > > > > > > } > > > > > }); > > > > > > > > > > > > > > > Well, any idea > > > > > > > > > > thanks > > > > > > > > > > Arnaud > > > > > > > > > > > > > > > > > > > > -- > > | Daniela Valero > > > > "No hay vientos favorables para quien no sabe a donde quiere ir! > > > -- | Daniela Valero "No hay vientos favorables para quien no sabe a donde quiere ir!