--- On Sun, 3/28/10, Adam Heath <doo...@brainfood.com> wrote:
> Adrian Crum wrote:
> > --- On Sun, 3/28/10, Adam Heath <doo...@brainfood.com>
> wrote:
> >> Adrian Crum wrote:
> >>> --- On Sun, 3/28/10, Adam Heath <doo...@brainfood.com>
> >> wrote:
> >>>> adri...@apache.org
> >>>> wrote:
> >>>>> Author: adrianc
> >>>>> Date: Sun Mar 28 16:48:22 2010
> >>>>> New Revision: 928451
> >>>>>
> >>>>> URL: http://svn.apache.org/viewvc?rev=928451&view=rev
> >>>>> Log:
> >>>>> Simplified label html renderer macro.
> >>>>>
> >>>>> Modified:
> >>>>>   
> >>>>    
> >>
> ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl
> >>>>> Modified:
> >>
> ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl
> >>>>> URL: 
> >>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl?rev=928451&r1=928450&r2=928451&view=diff
> >>>>>
> >>
> ==============================================================================
> >>>>> ---
> >>
> ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl
> >>>> (original)
> >>>>> +++
> >>
> ofbiz/trunk/framework/widget/templates/htmlScreenMacroLibrary.ftl
> >>>> Sun Mar 28 16:48:22 2010
> >>>>> @@ -66,47 +66,10 @@ under the
> License.
> >>>>>      <#if
> >> text?has_content>
> >>>>>        <#--
> Label
> >> is considered block
> >>>> level element in screen widget. There is
> not
> >> reason to
> >>>> render text outside of any html element.
> Use of
> >> style
> >>>> element has set pattern and we'll use
> style 
> >>>>>       
>    to
> >> determine
> >>>> appropriate html element to use -->
> >>>>> -    <#if
> style?has_content>
> >>>>> -      <#if
> style=="h1">
> >>>>> -        <h1 
> >>>>> -      <#elseif
> >> style=="h2">
> >>>>> -        <h2 
> >>>>> -      <#elseif
> >> style=="h3">
> >>>>> -        <h3 
> >>>>> -      <#elseif
> >> style=="h4">
> >>>>> -        <h4 
> >>>>> -      <#elseif
> >> style=="h5">
> >>>>> -        <h5 
> >>>>> -      <#elseif
> >> style=="h6">
> >>>>> -        <h6 
> >>>>> -      <#else>
> >>>>> -        <p
> >> class="${style}" 
> >>>>> -      </#if>
> >>>>> +    <#if
> >>>> "h1~h2~h3~h4~h5~h6"?contains(style)>
> >>>>> +     
> <${style}<#if
> >>>> id?has_content>
> >>>>
> >>
> id="${id}"</#if>>${text}</${style}>
> >>>> And if style="arch1"?
> >>> +      <p<#if
> >> style?has_content>
> class="${style}"</#if><#if
> >> id?has_content>
> >> id="${id}"</#if>>${text}</p>
> >>
> >> You aren't making any sense.
> >>
> >> Based on what I see this change doing, we'll end
> up with
> >> with:
> >>
> >> <arch1
> >>
> >> as the tag name, when style="arch1".
> > 
> > Unless you try it out on your local copy, you will
> just have to trust me that it works. :-)
> 
> That's not a useful response.  "Just trust me" is not
> helpful.  If you
> know why something will work, and someone obvious
> doesn't(me), then
> just go ahead and explain it.  Doing a bunch of
> hand-waving just gives
> the hand-waver a feeling of superiority, and makes the
> receiver feel
> inferior.
> 
> However, upon further reflection, my initial example of
> wrongness was
> not correct.  Consider when style="h1~h2".  The
> original code would do
> <p class="h1~h2">, which could be matched in css as
> p."h1~h2" { }.
> 
> Now, with this change, the tag will be <h1~h2>, which
> is very wrong.
> 
> The question to ask yourself, is: are the widget systems,
> and their
> internal helper files, supposed to be general purpose, or
> are they
> just to be used by ofbiz?  If the latter, then we can
> do whatever we
> want with not checking various parameters, as we can just
> fix all bad
> uses.
> 
> However, if the former is the correct answer, then we have
> to handle,
> and allow, all possible cases.  This change keeps that
> from occuring.

Checking for the h* styles is OFBiz-specific behavior. You are correct that odd 
class names will trick the code - but the chances that someone would create a 
"h1~h2" class are pretty small. In any event, I will revert it.




Reply via email to