[T5.1] No recursive component - Howto render Beaneditor in code?

2010-07-27 Thread Oliver Bauer
Hi,

we have noted that T5 doesn't allow recursive components[1],
so we are currently doing something like this:
We reference our component in an arbritrary tml like this:

t:MyComponent
  source=root
  currentNode=currentNode
/t:MyComponent

The code stub of the component:

boolean setupRender(MarkupWriter writer) {
  // write some opening div
}

void beforeRenderBody(MarkupWriter writer) {
  processRoot(source, writer);
}

void cleanupRender(MarkupWriter writer) {
  // close some opened div's
}

This works fine (#processRoot calls itself recursively for its children), but 
now we
want to display a bean editor in a Node (in processRoot()). Is it possible to 
reference
a component (like a bean editor) in a component being written in Java? Are 
there any
examples how to achieve this?

TIA, Oliver

[1] [https://issues.apache.org/jira/browse/TAP5-739]
___
Neu: WEB.DE De-Mail - Einfach wie E-Mail, sicher wie ein Brief!  
Jetzt De-Mail-Adresse reservieren: https://produkte.web.de/go/demail02

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: [T5.1] No recursive component - Howto render Beaneditor in code?

2010-07-27 Thread Ville Virtanen

Hi,

@InjectComponent injects the component defined in tml, @Component injects
instance that is configured by the annotation itself (and the associated tml
if it is defined there also).

http://tapestry.apache.org/tapestry5.1/apidocs/org/apache/tapestry5/annotations/Component.html

 - Ville


Oliver Bauer wrote:
 
 Hi,
 
 we have noted that T5 doesn't allow recursive components[1],
 so we are currently doing something like this:
 We reference our component in an arbritrary tml like this:
 
 t:MyComponent
   source=root
   currentNode=currentNode
 /t:MyComponent
 
 The code stub of the component:
 
 boolean setupRender(MarkupWriter writer) {
   // write some opening div
 }
 
 void beforeRenderBody(MarkupWriter writer) {
   processRoot(source, writer);
 }
 
 void cleanupRender(MarkupWriter writer) {
   // close some opened div's
 }
 
 This works fine (#processRoot calls itself recursively for its children),
 but now we
 want to display a bean editor in a Node (in processRoot()). Is it possible
 to reference
 a component (like a bean editor) in a component being written in Java? Are
 there any
 examples how to achieve this?
 
 TIA, Oliver
 
 [1] [https://issues.apache.org/jira/browse/TAP5-739]
 ___
 Neu: WEB.DE De-Mail - Einfach wie E-Mail, sicher wie ein Brief!  
 Jetzt De-Mail-Adresse reservieren: https://produkte.web.de/go/demail02
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org
 
 
 

-- 
View this message in context: 
http://old.nabble.com/-T5.1--No-recursive-component--%3E-Howto-render-Beaneditor-in-code--tp29273576p29273645.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



Re: [T5.1] No recursive component - Howto render Beaneditor in code?

2010-07-27 Thread Oliver Bauer
Hi Ville,

thanks for your answer, but i didn't see how to do it. I will try to
explain my problem more in detail (sorry for my bad english):

We are using a component that is similar to [1] with the main difference
that we don't use a getTreeNodes, we use a getTreeRoot (e.g. single 
element, not all elements of the tree) and doing our rendering inside the 
java-component (we don't have a tml for our component) via the MarkupWriter.

The TreeDemo.tml from [1] allows to use a component 'Tree' like follows:

t:Tree treeid='literal:demo' source=treeNodes currentNode=node
  t:actionlink t:id=tree context=node.identifier
${node.name}
  /t:actionlink
/t:Tree

We can't use an actionlink because we only have a root node and iterate it 
inside our java class (recursively via the processRoot method). Normally we 
would like to do something like the following (TreeNode.tml):

 div id=someid
   t:if test=identifierEqualsX
 t:beaneditor object=current/
 p:else
   current.name
 /p:else
   /t:if

   t:loop source=current.children value=child
 t:TreeNode element=child/
   /t:loop
 /div

but thats not allowed, e.g The template for component.. is recursive... 
This is not supported so we are trying to do this inside a java class 
(without a tml).

Now we want to render a beaneditor for a specific identifier inside the
java class, something like the following would be nice.
 
void processRoot(Node current, MarkupWriter writer) {
 // open div
 if (current.getIdentifier().equals(X)) {

---writer.renderBeaneditor(editor);  ---
 
 } else {
 // display some informations of the node
 }
 for (Node child : current.getChildren()) {
 processRoot(child, writer);
 }
 // close div
}

but i don't know how to add/declare/instanciate the beaneditor?

Thanks for any hints!
Oliver

[1] http://wiki.apache.org/tapestry/Tapestry5TreeComponent

-Ursprüngliche Nachricht-
Von: Ville Virtanen ville.virta...@cerion.fi
Gesendet: 27.07.2010 09:15:31
An: users@tapestry.apache.org
Betreff: Re: [T5.1] No recursive component - Howto render Beaneditor in code?


Hi,

@InjectComponent injects the component defined in tml, @Component injects
instance that is configured by the annotation itself (and the associated tml
if it is defined there also).

http://tapestry.apache.org/tapestry5.1/apidocs/org/apache/tapestry5/annotations/Component.html

 - Ville


Oliver Bauer wrote:
 
 Hi,
 
 we have noted that T5 doesn't allow recursive components[1],
 so we are currently doing something like this:
 We reference our component in an arbritrary tml like this:
 
 t:MyComponent
   source=root
   currentNode=currentNode
 /t:MyComponent
 
 The code stub of the component:
 
 boolean setupRender(MarkupWriter writer) {
   // write some opening div
 }
 
 void beforeRenderBody(MarkupWriter writer) {
   processRoot(source, writer);
 }
 
 void cleanupRender(MarkupWriter writer) {
   // close some opened div's
 }
 
 This works fine (#processRoot calls itself recursively for its children),
 but now we
 want to display a bean editor in a Node (in processRoot()). Is it possible
 to reference
 a component (like a bean editor) in a component being written in Java? Are
 there any
 examples how to achieve this?
 
 TIA, Oliver
 
 [1] [https://issues.apache.org/jira/browse/TAP5-739]
 ___
 Neu: WEB.DE De-Mail - Einfach wie E-Mail, sicher wie ein Brief!  
 Jetzt De-Mail-Adresse reservieren: https://produkte.web.de/go/demail02
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
 For additional commands, e-mail: users-h...@tapestry.apache.org
 
 
 

-- 
View this message in context: 
http://old.nabble.com/-T5.1--No-recursive-component--%3E-Howto-render-Beaneditor-in-code--tp29273576p29273645.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

___
WEB.DE DSL ab 19,99 Euro/Monat. Bis zu 150,- Euro Startguthaben und 
50,- Euro Geldprämie inklusive! https://freundschaftswerbung.web.de

-
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org