Prati,

I'm not sure what you mean.
Here's a couple of lines of code implementing what I described:

    if(currentSelection != null){
        // you should remove existing behaviours on
        // currentSelection here or,
        // use an AtrributeModifier added, just once, to all your
        // labels with a model that has logic
        // checking against currentSelection to
        // calculate the correct value for your "style" attribute
        currentSelection.add(new SimpleAttributeModifier("style", ""));
        target.addComponent(
    }
    currentSelection = contacteLabel;

Just declare "Component currentSelection;" in your RefreshingView.

Regards - Cemal
jWeekend
OO & Java Technologies, Wicket
Consulting, Development, Training
http://jWeekend.com


On 11 March 2010 21:44, prati <pratibha.pari...@gmail.com> wrote:
>
> Hi Cemal,
>
> Thanks for replying me,but the list gets rendered only once,and i am able to
> capture previous value on click but then how to move further.
>
>
> Regards
> P
>
> jWeekend wrote:
>>
>> Prati,
>>
>> This is because you are only re-rendering the most recently selected
>> label.
>>
>> One solution is keep track of the previous "current selection"
>> (probably in your RefreshingView implementation - eg declare
>> "Component currentSelection;"), which you update in your Link's
>> onClick (ie "currentSelecton = contactLabel;") _after_ you remove the
>> style attribute (that you previously set) on currentSelection and add
>> currrentSelection to the AjaxRequestTarget so it too gets refreshed.
>>
>> Make sense?
>>
>> Regards - Cemal
>> jWeekend
>> OO & Java Technologies, Wicket
>> Consulting, Development, Training
>> http://jWeekend.com
>>
>> On 11 March 2010 18:09, prati <pratibha.pari...@gmail.com> wrote:
>>>
>>> Hi
>>>
>>> I have got a refreshing view ,it contains list of links.I need to
>>> highlight
>>> the link when i click on that link.
>>>
>>> It works properly but if i click the next item in the list,the previous
>>> text
>>> remains highlighted.
>>>
>>> <wicket:extend>
>>>
>>> <table cellspacing="0" class="dataview">
>>>    <tr>
>>>
>>>        <th>First Name</th>
>>>
>>>    </tr>
>>>    <tr wicket:id="view">
>>>        <td> #     </td>
>>>
>>>    </tr>
>>> </table>
>>>
>>> </wicket:extend>
>>>
>>>
>>>
>>> public class RefreshingPage extends BasePage {
>>>
>>>
>>>        public RefreshingPage()
>>>        {
>>>                final List<IModel> contacts = new ArrayList<IModel>(10);
>>>
>>>                // populate list of contacts to be displayed
>>>
>>>                Iterator<Contact> it = rgetContacts().iterator();
>>>                while (it.hasNext())
>>>                {
>>>                        contacts.add(new Model(it.next()));
>>>                }
>>>
>>>                // create the refreshing view
>>>                RefreshingView view = new RefreshingView("view")
>>>                {
>>>                        /**
>>>                         * Return an iterator over models for items in the
>>> view
>>>                         */
>>>                       �...@override
>>>                        protected Iterator<IModel> getItemModels()
>>>                        {
>>>                                return contacts.iterator();
>>>                        }
>>>
>>>                       �...@override
>>>                        protected void populateItem(final Item item)
>>>                        {
>>>                                Contact contact = (Contact)
>>> item.getModelObject();
>>>
>>>                                final Label contacteLabel = new
>>> Label("aname",contact.getName());
>>>                                contacteLabel.setOutputMarkupId(true);
>>>
>>>                                item.add(new AjaxLink("name") {
>>>
>>>                                        private static final long
>>> serialVersionUID = 1L;
>>>
>>>                                       �...@override
>>>                                        public void
>>> onClick(AjaxRequestTarget target) {
>>>
>>>                                                if(target!= null) {
>>>
>>>  contacteLabel.add(new
>>>
>>>  AttributeModifier("style", true, new AbstractReadOnlyModel() {
>>>
>>>     �...@override
>>>
>>>      public String getObject() {
>>>
>>>              return "background-color:#80b6ed;";
>>>
>>>      }
>>>
>>>  }));
>>>
>>>  target.addComponent(contacteLabel);
>>>                                                }
>>>
>>>                                        }
>>>
>>>
>>>
>>>                                }.add(contacteLabel));
>>>                        }
>>>                };
>>>
>>>                add(view);
>>>
>>>
>>>        }
>>> }
>>>
>>>
>>> Regards
>>> P
>>>
>>>
>>> moontz wrote:
>>>>
>>>> i tried that before.  did not work.  no compile or runtime errors, but
>>>> the
>>>> source did not show the change.
>>>>
>>>> im thinking, since its an ajax link and because only the target panel
>>>> refreshes, the change to the link is not applied because the actual link
>>>> is not refreshed.  only the other panel is.  in which case i would need
>>>> to
>>>> append javascript.  i was hping there was a pure wicket solutioin though
>>>> without using JS.
>>>>
>>>>
>>>>
>>>> igor.vaynberg wrote:
>>>>>
>>>>> final ListItem item
>>>>>
>>>>> -igor
>>>>>
>>>>> On Fri, Feb 13, 2009 at 7:36 AM, moontz <bmun...@yahoo.com> wrote:
>>>>>>
>>>>>> I would like to add an attribute to the ListItem element in the markup
>>>>>> (basically change the class style) on click of the link.  Below is my
>>>>>> snippet.  Any insight on how I can accomplish this?  Thanks in
>>>>>> advance!
>>>>>>
>>>>>> ListView lv = new ListView("tabListView", tabList) {
>>>>>>                 protected void populateItem(ListItem item) {
>>>>>>                         AjaxLink ajaxLink = new AjaxLink("tabLink",
>>>>>> item.getModel()) {
>>>>>>                           public void onClick(AjaxRequestTarget
>>>>>> target)
>>>>>> {
>>>>>>                                        item.add(new
>>>>>> SimpleAttributeModifier("class", "on"));  //
>>>>>> want to do this but do not have access to item object from inner class
>>>>>> --
>>>>>> ideas for this?
>>>>>>                                             .
>>>>>>                                             .
>>>>>>                                             .
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p21998739.html
>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://old.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p27867306.html
>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>>
>
> --
> View this message in context: 
> http://old.nabble.com/How-to-access-ListItem-from-ListView-from-AjaxLink--tp21998739p27870307.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to