myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeanne Waldman <jeanne.wald...@ORACLE.COM>
Subject Re: [Trinidad][Skinning][API] Include property in CSS API
Date Mon, 12 Apr 2010 19:02:10 GMT
I'm going to vote for Blake's suggestion.
+1
background-color : -tr-property-ref("af|foo", "color")

I can imagine a DT adding the -tr-property-ref option onto the list of 
options for the property. Like 'inherit' is an option on most property 
names.

And we already parse out the value, so it won't be a performance hit.

Jeanne

Jeanne Waldman wrote, On 4/9/2010 6:18 PM PT:
> Blake,
> By the way, I can go either way.
> I'm just telling you what I think when I see -tr-rule-ref. I think it 
> does tell me something. I can look at it and think, this does 
> something special for me. And with a design time tool, I can see my 
> options are selector and property -- selector "Includes a selector", 
> and property "Includes a property from a selector".
>
> Jeanne Waldman wrote, On 4/9/2010 3:56 PM PT:
>> People are used to typing -tr-rule-ref to mean "This is a special 
>> rule, and I'm including something."
>> -tr-rule-ref:selector means "I'm including a selector"
>> -tr-rule-ref:property means "I'm including a property"
>>
>> Blake Sullivan wrote, On 4/9/2010 2:51 PM PT:
>>> Jeanne Waldman said the following On 4/8/2010 2:07 PM PT:
>>>> I like this idea. I was playing around with ways to combine the 
>>>> last two parameters, but nothing looked good. This looks good to me.
>>>> -tr-rule-ref: property("background-color", "af|foo{color}")
>>>>
>>>
>>> Jeanne,
>>>
>>> I still like
>>>
>>> background-color : -tr-property-ref("af|foo", "color")
>>>
>>> better than the -tr-rule-ref versions, because I think that it looks 
>>> cleaner.  I'm using a normal CSS property assignment.  I'm not 
>>> totally hung up on it though and think that your version solves the 
>>> problem of remembering what all of the parameters are and what their 
>>> order is.  Though the lack of values in the {} is unusual and 
>>> developers might thing that they can specify weird stuff in here, 
>>> like values and multiple properties..  I do think that advantages of 
>>> reusing -tr-rule-ref are oversold, though.  Since the skin author 
>>> still needs to know about the new property() (or should it be 
>>> -tr-property) and its syntax, which seems pretty much the same as 
>>> -tr-property-ref.  Actually the more I think about it, the less I 
>>> like it.  It isn't clear what the the -tr-rule-ref is doing for me 
>>> here--it provides no extra information:
>>>
>>> Here is a direct comparison, using the same name "property"
>>>
>>> background-color : property("af|foo", "color")                     
>>> // Option 2
>>> -tr-rule-ref : property("background-color", "af|foo{color}") // 
>>> Option 3'
>>>
>>> In either case, I still need to understand what "property()" does, 
>>> so how does "-tr-rule-ref" help me?  All it is doing is taking up 
>>> the spot where I want to put the property that I want to assign to, 
>>> forcing me to move it to the unnatural location as a parameter.  
>>> -tr-rule-ref works the way it does because it allows multiple 
>>> properties to be assigned at once, but if we are only picking out 
>>> one property, this is a liability.
>>>
>>> Of course, both syntaces could support the degenerate (and most 
>>> common case) where the property names are the same.  Copying the 
>>> background-color property:
>>>
>>> background-color : property("af|foo")                     // Option 2
>>> -tr-rule-ref : property("background-color", "af|foo") // Option 3'
>>>
>>> -- Blake Sullivan
>>>>
>>>>
>>>> Alan Yu wrote, On 4/8/2010 12:47 PM PT:
>>>>> To make it more clear, maybe we can combine the last two 
>>>>> parameters into a single one like: "af|foo{color}". Also, if 
>>>>> "{color}" is omitted, the property name specified in parameter 1 
>>>>> will be pulled.
>>>>>
>>>>> Thanks,
>>>>> -Alan
>>>>>
>>>>> On 4/8/2010 11:32 AM, Jeanne Waldman wrote:
>>>>>> I like Option 3 as well. It's still fairly short, and it uses a 
>>>>>> convention we already have. It is a little unclear which 
>>>>>> parameter you are setting (background-color in this example) and

>>>>>> which you are pulling from the selector (color).
>>>>>>
>>>>>> Alan Yu wrote, On 4/5/2010 2:31 PM PT:
>>>>>>> Hi Jeanne,
>>>>>>> I didn't know we have a third option to consider: -tr-rule-ref:

>>>>>>> property("background-color", "af|foo", "color").
>>>>>>> I'd vote for option #3 for the following reasons:
>>>>>>> 1. The syntax is consistent with -tr-rule-ref:selector(...).
>>>>>>> 2. It is intuitive if you're already familiar with 
>>>>>>> "-tr-rule-ref:selector(...)".
>>>>>>> 3. Option #2 can be confusing to the user since the keyword 
>>>>>>> "-tr-rule-ref" can be used both as a property name and a value.
>>>>>>> 4. From DT's perspective, it's easier to support since we only

>>>>>>> need to provide another possible value (property(...), vs. 
>>>>>>> selector(...) to "-tr-rule-ref") to help with user's selection

>>>>>>> in the PI.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> -Alan
>>>>>>>
>>>>>>> On 4/5/2010 1:56 PM, Jeanne Waldman wrote:
>>>>>>>> you can remove the Fwd, and reply-to dev@myfaces.apache.org.
>>>>>>>>
>>>>>>>> -------- Original Message --------
>>>>>>>> Subject: Re: [Trinidad][Skinning][API] Include property in
CSS API
>>>>>>>> Date: Fri, 02 Apr 2010 12:04:23 -0700
>>>>>>>> From: Jeanne Waldman <jeanne.waldman@oracle.com>
>>>>>>>> Reply-To: MyFaces Development <dev@myfaces.apache.org>
>>>>>>>> To: MyFaces Development <dev@myfaces.apache.org>
>>>>>>>> References: 
>>>>>>>> <n2z16f5365c1004020028l81278c5fv9b834da89c0133c1@mail.gmail.com>
>>>>>>>>
>>>>>>>> We don't have a -tr-include-style. We have a 
>>>>>>>> -tr-rule-ref:selector.
>>>>>>>> So if we did #1, I would go for -tr-rule-ref:property instead
of
>>>>>>>> -tr-include-property.
>>>>>>>>
>>>>>>>> 1': -tr-rule-ref:property(selector="af|foo",propertyName="color",
>>>>>>>> localPropertyName="background-color")
>>>>>>>> 3. -tr-rule-ref: property("background-color", "af|foo", 
>>>>>>>> "color"); // or
>>>>>>>> something like this to make it shorter.
>>>>>>>>
>>>>>>>> Right now I'm leaning towards 2.
>>>>>>>> 2':
>>>>>>>> background-color: -tr-rule-ref:property("af|foo", "color");
>>>>>>>>
>>>>>>>>
>>>>>>>> Marius Petoi wrote, On 4/2/2010 12:28 AM PT:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> Maybe you followed the discussions on this topic from

>>>>>>>>> http://markmail.org/search/?q=skinning#query:skinning%20order%3Adate-backward+page:1+mid:4nt2ykmdnnmcyvp4+state:results

>>>>>>>>>
>>>>>>>>>
>>>>>>>>> We need to decide between two alternatives for the syntax
of 
>>>>>>>>> the "-tr-include-property". The two alternatives are:
>>>>>>>>>
>>>>>>>>> 1. -tr-include-property: 
>>>>>>>>> property(selector="af|foo",propertyName="color", 
>>>>>>>>> localPropertyName="background-color")
>>>>>>>>>
>>>>>>>>> 2. background-color : -tr-property-ref("af|foo", "color")
>>>>>>>>>
>>>>>>>>> The advantage of the first API is that it is quite similar
to 
>>>>>>>>> the "-tr-include-style", while for the second one that
the 
>>>>>>>>> local property name can't be mistaken with the included
property.
>>>>>>>>>
>>>>>>>>> What do you think? Which is the best alternative?
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Marius
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>
>>>
>>
>

Mime
View raw message