incubator-adffaces-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Cooper" <matt.fa...@gmail.com>
Subject Re: page component and global buttons
Date Tue, 31 Oct 2006 22:58:07 GMT
By "page template" I meant like a jspx page that could be re-used over an
over (sort of like page templates in word processing programs).

For now, I think for now you really want to take a use the panelPage
component.  It has a facet for each of the navigation levels (e.g.
navigationGlobal, navigation1, etc. ...and location for breadCrumbs).
Inside of those facet, you'll put a navigationPane and specify level="1",
etc. so that it will consume a particular level of the Menu Model, e.g.
something along the lines of:

<?xml version='1.0' encoding='utf-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:t="http://myfaces.apache.org/trinidad"
          version="1.2">
  <jsp:directive.page contentType="text/html;charset=utf-8"/>
  <f:view>
    <t:document>
      <t:form>
        <t:panelPage>
          <f:facet name="branding">
            <t:panelGroupLayout layout="horizontal">
              <t:icon name="logo"/>
              <t:outputText value="Toy Store"/>
            </t:panelGroupLayout>
          </f:facet>
          <f:facet name="navigationGlobal">
            <t:navigationPane
              var="node"
              value="#{menuModel.model}"
              level="0"
              hint="buttons">
              <f:facet name="nodeStamp">
                <t:commandNavigationItem
                  text="#{node.label}"
                  action="#{node.getOutcome}"
                  rendered="#{node.type=='global'}"/>
              </f:facet>
            </t:navigationPane>
          </f:facet>
          <f:facet name="navigation1">
            <t:navigationPane
              var="node"
              value="#{menuModel.model}"
              level="0"
              hint="buttons">
              <f:facet name="nodeStamp">
                <t:commandNavigationItem
                  text="#{node.label}"
                  action="#{node.getOutcome}"
                  rendered="#{node.type!='global'}"/>
              </f:facet>
            </t:navigationPane>
          </f:facet>
          ...
        </t:panelPage>
      </t:form>
    </t:document>
  </f:view>
</jsp:root>

However, there is one problem with this... today, the navigationPane doesn't
fully support stamped commandNavigationItem components, instead, it only
supports indexed children like this:

<?xml version='1.0' encoding='utf-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:t="http://myfaces.apache.org/trinidad"
          version="1.2">
  <jsp:directive.page contentType="text/html;charset=utf-8"/>
  <f:view>
    <t:document>
      <t:form>
        <t:panelPage>
          <f:facet name="branding">
            <t:panelGroupLayout layout="horizontal">
              <t:icon name="logo"/>
              <t:outputText value="Toy Store"/>
            </t:panelGroupLayout>
          </f:facet>
          <f:facet name="navigationGlobal">
            <t:navigationPane
              hint="buttons">
              <t:commandNavigationItem
                text="Global 1"
                action="global1"/>
              <t:commandNavigationItem
                text="Global 2"
                action="global2"/>
            </t:navigationPane>
          </f:facet>
          <f:facet name="navigation1">
            <t:navigationPane
              hint="buttons">
              <t:commandNavigationItem
                text="Primary 1"
                action="primary1"/>
              <t:commandNavigationItem
                text="Primary 2"
                action="primary2"/>
            </t:navigationPane>
          </f:facet>
          <t:outputText value="Hello world"/>
        </t:panelPage>
      </t:form>
    </t:document>
  </f:view>
</jsp:root>

Unfortunately, it appears that there isn't an easy solution for what you are
looking for right now until navigationPane is enhanced to support stamping.

Regards,
Matt

On 10/31/06, d sanders <dsanders1234@yahoo.com> wrote:
>
> Hi,
>
> Thanks for the info.  One option might be to make the
> global buttons defined using a separate facet and then
> have the nodeStamp facet represent the tabs as the
> root of the navigation tree.
>
> What do you mean by 'page template'?  Is this a
> component or just a standard way of using individual
> components together?
>
> David
>
>
> --- Matt Cooper <matt.faces@gmail.com> wrote:
>
> > Hi David,
> >
> > I believe there were two reasons for this.  The
> > first being complexity:
> > since the model is in a tree structure, the default
> > layout should keep the
> > that tree structure.  The second is that the page
> > component is not very
> > flexible.  Instead, a page template solution would
> > be much better because it
> > would be much more flexible and thus could allow
> > page developers to emulate
> > the consumption of the MenuModel so that it matches
> > the ADF Faces
> > 10.1.3format (through EL bindings on the rendered
> > attribute,
> > e.g. rendered="#{node.type=='global'}" or
> > rendered=#{node.type!='global'})
> > or whatever special format they want.  I expect that
> > if Trinidad were to
> > provide sample page templates in the demo WAR then
> > the transition for page
> > developers going from ADF Faces 10.1.3 to Trinidad
> > would be minimal.  If
> > that sounds like something valuable, please log an
> > issue.
> >
> > Thanks,
> > Matt
> >
> > On 10/30/06, d sanders <dsanders1234@yahoo.com>
> > wrote:
> > >
> > > Hi,
> > >
> > > My reply to your message did not get put under the
> > > right thread level (I am new to this mailing list
> > > stuff).  Do you know why they decided to change
> > the
> > > behavior, and whether or not they understood the
> > > consequences to the page component?  Are they
> > phasing
> > > out the page component for something that does the
> > > same thing, only better?  (See my other reply via
> > the
> > > archive as to why the new way does not work.)
> > >
> > > Regards,
> > >
> > > David
> > >
> > >
> > > --- Matt Cooper <matt.faces@gmail.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > Please correct me if I'm wrong, but I believe
> > > > (regardless of type) that
> > > > Trinidad treats top level of the MenuModel as
> > global
> > > > nodes and the next
> > > > level down is for the tabs.  Whereas the ADF
> > Faces
> > > > 10.1.3 model treated the
> > > > global nodes and tabs as items from the same
> > level
> > > > of the MenuModel
> > > > (distinguished by that type setting as you
> > > > mentioned).
> > > >
> > > > Regards,
> > > > Matt
> > > >
> > > > On 10/27/06, d sanders <dsanders1234@yahoo.com>
> > > > wrote:
> > > > >
> > > > > Hello,
> > > > >
> > > > > ADF Faces used the 'type' attribute on the
> > > > nodeStamp
> > > > > facet's commandMenuItem to determine whether
> > or
> > > > not
> > > > > the nodeStamp represented a global button when
> > > > > rendering a page component.  From the oracle
> > docs:
> > > > >
> > > > > "
> > > > > Instead of a menuGlobal facet, the page
> > component
> > > > > supports global menu buttons from the menu
> > model
> > > > only.
> > > > > Items to be rendered as global buttons are
> > added
> > > > to
> > > > > the menu model as peers of the menu tab items,
> > and
> > > > in
> > > > > the JSF page the type attribute of the
> > associated
> > > > menu
> > > > > item component should return  global. Suppose
> > you
> > > > have
> > > > > a menu hierarchy where a1, a2 are top-level
> > nodes
> > > > with
> > > > > various children subnodes, and a3, a4 are
> > > > standalone
> > > > > nodes with no children subnodes (as shown in
> > the
> > > > > illustration below)."
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> >
>
> http://www.oracle.com/webapps/online-help/jdeveloper/10.1.3/state/content/navId.4/navSetId._/vtAnchor.global/vtTopicFile.jsf_apps%7Cadfcreate%7Caf_alay_pagecomponent%7Ehtml/
> > > > >
> > > > > It looks like trinidad gets rid of the type
> > > > attribute
> > > > > (and renames the commandMenuItem to
> > > > > commandNavigationItem).  So there is no way to
> > > > tell
> > > > > the renderer that you don't want the item to
> > be a
> > > > > global button.  Am I missing something?
> > > > >
> > > > > Thanks
> > > > >
> > > > >
> > > > >
> > > > >
> > __________________________________________________
> > > > > Do You Yahoo!?
> > > > > Tired of spam?  Yahoo! Mail has the best spam
> > > > protection around
> > > > > http://mail.yahoo.com
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>
> ____________________________________________________________________________________
> > > Get your email and see which of your friends are
> > online - Right on the New
> > > Yahoo.com
> > > (http://www.yahoo.com/preview)
> > >
> > >
> >
>
>
>
>
>
> ____________________________________________________________________________________
> Everyone is raving about the all-new Yahoo! Mail
> (http://advision.webevents.yahoo.com/mailbeta/)
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message