On 11/4/05, Ryan Wynn <[EMAIL PROTECTED]> wrote:
>
> I noticed that Craig commited the <set name="styleClass" value="@class"/>
> to
> baseHtml. I think this is good, however I think that now if the symbol
> 'class' is not explicitly specified then the result will be <span
> class="@class">...</span>. Is that right, Gary?


Yes, it does do that :-(.

One solution may be to set the value of the 'class' symbol in baseHtml to
> empty. So, in baseHtml you have <symbols><set name="class"
> value=""/></symbols>. Then have a conventional that attributes which
> resolve
> to an empty value are omitted. I really can't think of a case you would
> want
> an empty attribute value?


I would want it not to emit the "output" attribute at all, if there was no
input attribute set. Wouldn't that make more sense?

Craig

On 11/3/05, Gary VanMatre <[EMAIL PROTECTED]> wrote:
> >
> > Ah, Ryan beat me to the answer. Figures, symbols was his idea anyway.
> >
> >
> >
> >
> >
> >
> >
> > ---------- Forwarded message ----------
> > From: Ryan Wynn <[EMAIL PROTECTED]>
> > To: Struts Users Mailing List <user@struts.apache.org>
> > Date: Thu, 3 Nov 2005 22:54:38 +0000
> > Subject: Re: [shale][clay] CSS style classes on substituted elements
> > I believe that currently if the html attribute is not also an attribute
> on
> > the underlying component, then the html attribute will be treated as a
> > symbol.
> > So, in this case if userNameMessage is actually a h:message, then
> > <span jsfid="usernameMessage" class="errors" styleClass="errors">
> > username error message
> > </span>
> > would produce <span class="errors">...</span> in both the designer and
> > developer views.
> > On the other hand if you wanted to utilize the new symbol functionality.
> > You would change
> > your clay-config.xml to add the following:
> > <component jsfid="usernameMessage"..>
> > <attributes>
> > ...
> > <set name="styleClass" value="@class"/>
> > </attributes>
> > </component>
> > Then you could just use
> > <span jsfid="usernameMessage" class="errors">
> > username error message
> > </span>
> > in the html and still get the proper output in both designer and
> developer
> > views.
> >
> > On 11/3/05, Craig McClanahan <[EMAIL PROTECTED]> wrote:
> > >
> > > As part of my JavaOne session on Shale, I demo'd the fact that Clay
> lets
> > > you
> > > have two different views of the page:
> > >
> > > Designer view: http://localhost:8080/myapp/login.html
> > >
> > > Developer view: http://localhost:8080/myapp/login.faces
> > >
> > > To demonstrate that Clay was actually parsing the HTML template, in
> > > login.html I changed:
> > >
> > > <span jsfid="usernameMessage">
> > > username error message
> > > </span>
> > >
> > > to the following instead ("errors" is a CSS style class that turns the
> > > text
> > > red):
> > >
> > > <span jsfid="usernameMessage" class="errors">
> > > username error message
> > > </span>
> > >
> > > When you redisplay the designer view, this does indeed show a change
> in
> > > behavior -- the "username error message" string shows up in red.
> > However,
> > > if
> > > you redisplay the developer view and then try to enter an invalid
> > > username/password, the text still comes up in black. One thing I
> > noticed,
> > > in
> > > the emitted HTML markup for the developer view, the error message
> string
> > > is
> > > *not* surrounded by a <span class="errors>...</span>, which is (of
> > course)
> > > why the text didn't change color. Did some behavior change recently in
> > > this
> > > regard?
> > >
> > > I'd be fine with some alternative way of accomplishing this sort of
> > > demonstration, but changing the HTML template and seeing the change
> > > applied
> > > immediately is a more compelling demo than something like changing
> > > clay-config.html.
> > >
> > > Craig
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>

Reply via email to