Author: musachy Date: Sun May 6 09:12:28 2007 New Revision: 535634 URL: http://svn.apache.org/viewvc?view=rev&rev=535634 Log: WW-1910 Tree tag should be able to load its nodes using ajax
Added: struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.ftl struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.jsp Modified: struts/struts2/trunk/apps/showcase/src/main/resources/struts-ajax.xml struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-ui.xml struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/index.jsp Added: struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java?view=auto&rev=535634 ============================================================================== --- struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java (added) +++ struts/struts2/trunk/apps/showcase/src/main/java/org/apache/struts2/showcase/ShowAjaxDynamicTreeAction.java Sun May 6 09:12:28 2007 @@ -0,0 +1,21 @@ +package org.apache.struts2.showcase; + +import org.apache.struts2.showcase.ajax.tree.Category; + +import com.opensymphony.xwork2.ActionSupport; + +public class ShowAjaxDynamicTreeAction extends ActionSupport { + private int nodeId = 1; + + public Category getCategory() { + return Category.getById(nodeId); + } + + public int getNodeId() { + return nodeId; + } + + public void setNodeId(int nodeId) { + this.nodeId = nodeId; + } +} Modified: struts/struts2/trunk/apps/showcase/src/main/resources/struts-ajax.xml URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/resources/struts-ajax.xml?view=diff&rev=535634&r1=535633&r2=535634 ============================================================================== --- struts/struts2/trunk/apps/showcase/src/main/resources/struts-ajax.xml (original) +++ struts/struts2/trunk/apps/showcase/src/main/resources/struts-ajax.xml Sun May 6 09:12:28 2007 @@ -78,5 +78,8 @@ <interceptor-ref name="jsonValidationWorkflowStack"/> <result>/validation/quiz-success.jsp</result> </action> + <action name="getNodes" class="org.apache.struts2.showcase.ShowAjaxDynamicTreeAction"> + <result type="freemarker">/tags/ui/treeExampleAjaxDynamic.ftl</result> + </action> </package> </struts> Modified: struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-ui.xml URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-ui.xml?view=diff&rev=535634&r1=535633&r2=535634 ============================================================================== --- struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-ui.xml (original) +++ struts/struts2/trunk/apps/showcase/src/main/resources/struts-tags-ui.xml Sun May 6 09:12:28 2007 @@ -47,6 +47,9 @@ <!-- END SNIPPET: treeExampleDynamicXWorkXml --> + <action name="showDynamicAjaxTreeAction"> + <result>/tags/ui/treeExampleAjaxDynamic.jsp</result> + </action> <action name="showComponentTagExampleCode"> <result type="plainText">/tags/ui/componentTagExample.jsp</result> Modified: struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/index.jsp URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/index.jsp?view=diff&rev=535634&r1=535633&r2=535634 ============================================================================== --- struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/index.jsp (original) +++ struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/index.jsp Sun May 6 09:12:28 2007 @@ -14,6 +14,7 @@ <li><s:url id="url" namespace="/tags/ui" action="moreSelects" method="input" /><s:a href="%{url}">More Select Box UI Examples</s:a></li> <li><s:url id="url" namespace="/tags/ui" value="treeExampleStatic.jsp" /><s:a href="%{url}">Tree Example (static)</s:a> <li><s:url id="url" namespace="/tags/ui" action="showDynamicTreeAction"/><s:a href="%{url}">Tree Example (dynamic)</s:a> + <li><s:url id="url" namespace="/tags/ui" action="showDynamicAjaxTreeAction"/><s:a href="%{url}">Tree Example (dynamic ajax loading)</s:a> <li><s:url id="url" value="componentTagExample.jsp"/><s:a href="%{#url}">Component Tag Example</s:a> <li><a href="datepicker">DateTime picker tag - Pick a date</a></li> <li><a href="timepicker">DateTime picker tag - Pick a time</a></li> Added: struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.ftl URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.ftl?view=auto&rev=535634 ============================================================================== --- struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.ftl (added) +++ struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.ftl Sun May 6 09:12:28 2007 @@ -0,0 +1,9 @@ +[ +<#list category.children as node> + { + label: '${node.name}', + id: '${node.id}', + hasChildren: ${(node.children.size() > 0)?string} + }, +</#list> +] \ No newline at end of file Added: struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.jsp URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.jsp?view=auto&rev=535634 ============================================================================== --- struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.jsp (added) +++ struts/struts2/trunk/apps/showcase/src/main/webapp/tags/ui/treeExampleAjaxDynamic.jsp Sun May 6 09:12:28 2007 @@ -0,0 +1,18 @@ +<[EMAIL PROTECTED] prefix="s" uri="/struts-tags" %> +<%@ taglib prefix="sx" uri="/struts-dojo-tags" %> + +<html> +<head> +<title>Showcase - UI Tag Example - Tree Example (Dynamic)</title> +<sx:head /> +</head> +<body> + + +<s:url id="nodesUrl" namespace="/nodecorate" action="getNodes" /> +<div style="float:left; margin-right: 50px;"> + <sx:tree id="tree" href="%{#nodesUrl}" /> +</div> + +</body> +</html> \ No newline at end of file