I think when you create a TabContainer directly you must call addChild() to
it with a reference to the individual tabs themselves. (which must also be
created directly)

I do plan on adding this particular widget to Tapestry eventually, but have
to make sure all other 4.1.1 issues are out of the way first.

On 8/9/06, Dom Couldwell <[EMAIL PROTECTED]> wrote:


Hi,

I'm trying to use Tapestry 4.1 to create a set of dynamic tabs using
custom components.

I've got some if it to work using the components that I've written but I
can't seem to get the tabs themselves to be created, just the content pane.

The main html looks like this:

  <span jwcid="[EMAIL PROTECTED]">
    <span jwcid="tabs">
      <a jwcid="@LinkPane"
         id="ognl:currentLink"
         label="ognl:currentLink">
        <span jwcid="@Insert" value="ognl:currentLink"></span>
      </a>
    </span>
  </span>

Where the tabs component is just a For element.

The TabContainer component I've written seems to work ok and is rendered
as I'd expect but the LinkPane doesn't seem to render the TabLabels
correctly.
Here's the html that's produced according to Firebug:

<div wairole="tabpanel" class="dojoTabContainer dojoLayoutContainer"
     id="mainTabContainer" role="wairole:tabpanel" style="">
  <div dojoattachpoint="dojoTabLabels"
       class="dojoTabLabels-top dojoAlignTop"
       style="left: 0px; top: 0px; bottom: auto; right: auto; width:
500px;" />
  <div dojoattachpoint="containerNode"
       class="dojoTabPaneWrapper dojoAlignClient"
       style="left: 0px; top: -1px; bottom: auto; right: auto; width:
498px; height: 299px;">
    <div class="dojoLinkPane" style="">..contents of first pane...</div>
  </div>
</div>

As you can see the dojoTabLabels attach point doesn't contain anything,
this should contain a list of the tabs.


Here's the widget definitions produced in the html from the components
script files:

                 tapestry.widget.synchronizeWidgetState("Treasuries",
"LinkPane", {"refreshOnShow":"true","href":"<url to contents of first
pane>","label":"Treasuries","widgetId":"Treasuries"});


                 tapestry.widget.synchronizeWidgetState("mainTabContainer",
"TabContainer", {"selectedTab":"Treasuries","widgetId":"mainTabContainer"});

Any ideas as to what I'm missing?

Thanks,

Dom
--
This e-mail may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material in this
e-mail is strictly forbidden.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Jesse Kuhnert
Tacos/Tapestry, team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind.

Reply via email to