On 8/28/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
Wendy, that's great!
Could you either post your code on the Facelets wiki page for
Taghandlers, or better yet, open a MyFaces JIRA issue, and attach it
as a contribution to the MyFaces project? We're in the process of
including facelets support by default for Tomahawk.
Another short-term option is to add it to the facelets jsf-comp
project, where the facelets updateActionListener handler is hosted.
On 8/26/06, Wendy Chou < [EMAIL PROTECTED]> wrote:
> I got it to work! I implemented a facelets TagHandler and took the code from
> the existing JSP tag and adapted it to the facelets tag. Thank you so much!!
>
>
>
>
>
> On 8/26/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > You need to define tabChangeListener in your tomahawk taglib.xml file.
> > I'm not sure if there's a standard component behind that, or simply a
> > JSP tag. If it's a JSP tag, you'll have to write a facelets tag
> > handler for it or get one from someone else who's written one.
> >
> > tomahawk.tld is NOT used by facelets. That file is only used with JSP.
> >
> >
> > On 8/26/06, Wendy Chou < [EMAIL PROTECTED] > wrote:
> > > I am trying to use tomahawk's TabChangeListener with PanelTabbedPane,
> but
> > > when I add the tabChangeListener tag in the body of the
> <t:panelTabbedPane
> > > /> , I get an error: "<t:tabChangeListener> Tag Library supports
> namespace:
> > > http://myfaces.apache.org/tomahawk, but no tag was
> defined
> > > for name: tabChangeListener". What kind of configuration do I have to do
> to
> > > use that tag?
> > >
> > > Here is my xhtml source:
> > >
> > > <ui:composition xmlns="http://www.w3.org/1999/xhtml " xmlns:ui=
> > > " http://java.sun.com/jsf/facelets "
> > > xmlns:h="http://java.sun.com/jsf/html "
> > > xmlns:f=" http://java.sun.com/jsf/core"
> > > xmlns:c=" http://java.sun.com/jstl/core
> > > "
> > > xmlns:t=" http://myfaces.apache.org/tomahawk"
> xmlns:fn="
> > > http://java.sun.com/jsp/jstl/functions"
> > > xmlns:fr=" http://myproject.com/test/jsf">
> > >
> > > <t:panelTabbedPane selectedIndex=
> > > "#{coverageDisplay.startIndex}" serverSideTabSwitch="#{true}">
> > > <t:panelTab label="#{lbls.vehCovDetailsTab1}"
> > > rendered="#{ vehiclesBean.vehicles.rowCount > 0}" >
> > > <fr:vehCovSummTab />
> > > </t:panelTab>
> > > <t:panelTab label=
> > > "#{lbls.vehCovDetailsTab2}" rendered="#{vehiclesBean.vehicles.rowCount >
> 3}"
> > > >
> > > <fr:vehCovSummTab />
> > > </t:panelTab>
> > > <t:panelTab label=
> > > "#{lbls.vehCovDetailsTab3}" rendered="#{ vehiclesBean.vehicles.rowCount >
> 6}"
> > > >
> > > <fr:vehCovSummTab />
> > > </t:panelTab>
> > >
> > >
> > > <t:tabChangeListener type=" myproject.MyTabChangeListener" />
> > > </t:panelTabbedPane>
> > >
> > >
> > >
> > > My tomahawk.taglib.xml :
> > >
> > > <tag>
> > > <tag-name>panelTabbedPane</tag-name>
> > > <component>
> > > <component-type>org.apache.myfaces.HtmlPanelTabbedPane
> </component-type>
> > >
> > > <renderer-type>org.apache.myfaces.TabbedPane</renderer-type>
> > > </component>
> > > </tag>
> > >
> > >
> > >
> > > My tomahawk.tld:
> > >
> > > <!-- panelTabbedPane -->
> > > <tag>
> > > <name>panelTabbedPane</name>
> > >
> <tag-class>org.apache.myfaces.custom.tabbedpane.HtmlPanelTabbedPaneTag </tag-class>
> > >
> > > <body-content>JSP</body-content>
> > > <!-- UIPanel attributes -->
> > > <!-- UIComponent attributes -->
> > > <attribute>
> > > <name>id</name>
> > >
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > > <type>java.lang.String </type>
> > > <description>Every component may have an unique id. Automatically
> created
> > > if omitted.</description>
> > > </attribute>
> > > <attribute>
> > > <name>rendered</name>
> > > <required>false</required>
> > >
> > > <rtexprvalue>false</rtexprvalue>
> > > <type> java.lang.String</type>
> > > <description>If false, this component will not be
> rendered.</description>
> > >
> > > </attribute>
> > > <attribute>
> > > <name>binding</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > >
> > > <type> java.lang.String</type>
> > > <description>Component binding.</description>
> > > </attribute>
> > >
> > >
> > > <!-- HTML 4.0 universal attributes -->
> > >
> > > <attribute><name>dir</name> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>lang</name> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>style</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>title</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute>
> > > <name>styleClass</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > > <description>Corresponds to the HTML
> > > class attribute.</description>
> > > </attribute>
> > >
> > > <!-- HTML 4.0 event-handler attributes -->
> > > <attribute><name>onclick</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>ondblclick</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> <attribute><name>onmousedown</name><required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>onmouseup</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> <attribute><name>onmouseover</name><required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > >
> <attribute><name>onmousemove</name><required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>onmouseout</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>onkeypress</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>onkeydown</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>onkeyup</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <!-- HTML 4.0 table attributes -->
> > >
> > > <attribute><name>align</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>border</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>bgcolor</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>cellpadding</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>cellspacing</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>datafld</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>datasrc</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>dataformatas</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>frame</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>rules</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > > <attribute><name>summary</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > > <attribute><name>width</name>
> <required>false</required>
> > > <rtexprvalue>false</rtexprvalue></attribute>
> > >
> > >
> > > <!-- MyFaces extension: user role attributes -->
> > > <attribute>
> > > <name>enabledOnUserRole</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > >
> > > <description>
> > > If user is in given role, this component will be rendered
> > > normally. If not, no hyperlink is rendered but all nested
> > >
> > > tags (=body) are rendered.
> > > </description>
> > > </attribute>
> > > <attribute>
> > > <name>visibleOnUserRole</name>
> > > <required>false</required>
> > >
> > > <rtexprvalue>false</rtexprvalue>
> > > <description>
> > > If user is in given role, this component will be rendered
> > > normally. If not, nothing is rendered and the body of
> > > this tag
> > > will be skipped.
> > > </description>
> > > </attribute>
> > >
> > > <attribute>
> > > <name>selectedIndex</name>
> > >
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > > <description>
> > > Index of tab that is selected by default.
> > > </description>
> > >
> > > </attribute>
> > > <attribute>
> > > <name>activeTabStyleClass</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > >
> > > <description>
> > > Style class of the active tab cell.
> > > </description>
> > > </attribute>
> > > <attribute>
> > >
> > > <name>inactiveTabStyleClass</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > > <description>
> > > Style
> > > class of the inactive tab cells.
> > > </description>
> > > </attribute>
> > > <attribute>
> > > <name>disabledTabStyleClass</name>
> > >
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > > <description>
> > > Style class of the disabled tab cells.
> > >
> > > </description>
> > > </attribute>
> > > <attribute>
> > > <name>activeSubStyleClass</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > >
> > > <description>
> > > Style class of the active tab sub cell.
> > > </description>
> > > </attribute>
> > > <attribute>
> > >
> > > <name>inactiveSubStyleClass</name>
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > > <description>
> > > Style
> > > class of the inactive tab sub cells.
> > > </description>
> > > </attribute>
> > > <attribute>
> > > <name>tabContentStyleClass</name>
> > >
> > > <required>false</required>
> > > <rtexprvalue>false</rtexprvalue>
> > > <description>
> > > Style class of the active tab content cell.
> > >
> > > </description>
> > > </attribute>
> > > </tag>
> > >
> > > <!-- tab change listener -->
> > > <tag>
> > > <name>tabChangeListener</name>
> > > <tag-class>
> > >
> org.apache.myfaces.custom.tabbedpane.TabChangeListenerTag</tag-class>
> > > <body-content>empty</body-content>
> > > <attribute>
> > > <name>type</name>
> > > <required>true</required>
> > >
> > > <rtexprvalue>false</rtexprvalue>
> > > </attribute>
> > > </tag>
> > >
> >
>
>

