Cool - thanks!

kind regards

Tobias

> Am 01.04.2016 um 14:56 schrieb Martin Grigorov <mgrigo...@apache.org>:
> 
> I've added an example with
> https://github.com/apache/wicket/commit/2417322673238d57a794c237e84dd5dacf890804
> 
> I think we should explain that those are just convenience. It is better to
> use the "old way" one cares about memory usage. I'll add it soon.
> 
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
> 
> On Fri, Apr 1, 2016 at 2:48 PM, Tobias Soloschenko <
> tobiassolosche...@googlemail.com> wrote:
> 
>> Hi,
>> 
>> would be great to see some information how to use lambda models in the
>> user guide.
>> 
>> kind regards
>> 
>> Tobias
>> 
>>>> Am 01.04.2016 um 13:57 schrieb Martin Grigorov <mgrigo...@apache.org>:
>>>> 
>>>> On Fri, Apr 1, 2016 at 12:45 AM, Sven Meier <s...@meiers.net> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> yeah, of course this is right:
>>>> 
>>>>   protected void onComponentTag(final ComponentTag tag) {
>>>> 
>>>>       if (getModelObject().doubleValue() < 0.0) {
>>>>           tag.put("class", " negative");
>>>>       }
>>>>   }
>>>> 
>>>> Otherwise you'll end up with one additional behavior for each render -
>>>> stupid copy-paste error :/.
>>>> 
>>>> BTW this might be an additional candidate for the new Wicket 8 lambdas:
>>>> 
>>>>   label.add(onTag(tag -> if (getModelObject().doubleValue() < 0.0)
>>>> tag.put("class", "negative") ));
>>> 
>>> +1
>>> 
>> 
>> +1
>> 
>>> 
>>>> 
>>>> Sven
>>>> 
>>>> 
>>>> 
>>>>> On 31.03.2016 21:16, Martin Grigorov wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> On Thu, Mar 31, 2016 at 4:29 PM, Sven Meier <s...@meiers.net> wrote:
>>>>> 
>>>>> Hi,
>>>>>> 
>>>>>> you can access a component's model with #getDefaultModel() or - if it
>> is
>>>>>> a
>>>>>> generic component - with #getModel().
>>>>>> 
>>>>>> To properly 'bind' to a model you should delay invocation of
>> #getObject()
>>>>>> as late as possible, so better overwrite #onComponentTag():
>>>>>> 
>>>>>>    protected void onComponentTag(final ComponentTag tag) {
>>>>>> 
>>>>>>        if (getModelObject().doubleValue() < 0.0) {
>>>>>>            add(new AttributeAppender("class", " negative"));
>>>>>> 
>>>>>> Since you are in #onComponentTag() there is no reason to add a
>> Behavior.
>>>>> Just use the tag: tag.append("class", "negative", " ");
>>>>> 
>>>>> 
>>>>>        }
>>>>>>    }
>>>>>> 
>>>>>> 
>>>>>> Have fun
>>>>>> Sven
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On 31.03.2016 16:06, Ron Smits wrote:
>>>>>> 
>>>>>> I have searched but I dont find a clear way of getting the model when
>> one
>>>>>>> is creating a custom component:
>>>>>>> 
>>>>>>> 
>>>>>>> public MoneyLabel(String id) {
>>>>>>>     super(id);
>>>>>>>     add(new AttributeAppender("class", " number"));
>>>>>>> }
>>>>>>> 
>>>>>>> It sounds like you always need the model.
>>>>> If there is a CompoundPropertyModel in the parents' hierarchy then move
>>>>> your logic to #onComponentTag(), as per Sven's suggestion.
>>>>> If there is no CPM in the parents then just remove this constructor.
>>>>> 
>>>>> 
>>>>> public MoneyLabel(String id, Model<? extends BigDecimal>
>> bigDecimalModel)
>>>>>>> {
>>>>>>>     super(id, bigDecimalModel);
>>>>>>>     add(new AttributeAppender("class", " number"));
>>>>>>>     if (bigDecimalModel.getObject().doubleValue() < 0.0) {
>>>>>>>         add(new AttributeAppender("class", " negative"));
>>>>>>>     }
>>>>>>> }
>>>>>>> 
>>>>>>> In the second constructor I can use the supplied model to determine
>> to
>>>>>>> add
>>>>>>> the negative class. However in the first constructor I cannot find a
>> way
>>>>>>> to
>>>>>>> access the model.
>>>>>>> 
>>>>>>> What am I missing?
>>>>>>> 
>>>>>>> Ron
>>>>>>> ​
>>>>>>> 
>>>>>>> 
>>>>>>> ---------------------------------------------------------------------
>>>>>> 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
>>>> 
>>>> 
>> 
>> ---------------------------------------------------------------------
>> 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