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);
   }
   currentSelection = contacteLabel;

On 11 March 2010 22:50, Cemal Bayramoglu <jweekend_for...@cabouge.com> wrote:
> 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