mirror of
https://github.com/apache/struts.git
synced 2026-09-11 00:29:40 +00:00
WW-1813 Tree Tag's treeSelectedTopic attribute doesn't work.
* Fix tree tag topic notification * Fix showcase examples git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@528866 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
+1
-1
@@ -47,7 +47,7 @@ public class DynamicTreeSelectAction extends ActionSupport {
|
||||
|
||||
|
||||
public String getNodeName() {
|
||||
return currentCategory.getName();
|
||||
return currentCategory != null ? currentCategory.getName() : "Node not found";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,25 +10,24 @@
|
||||
|
||||
<!-- START SNIPPET: treeExampleDynamicJsp -->
|
||||
|
||||
<script>
|
||||
function treeNodeSelected(nodeId) {
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
dojo.event.topic.subscribe("treeSelected", function treeNodeSelected(node) {
|
||||
dojo.io.bind({
|
||||
url: "<s:url value='/tags/ui/ajax/dynamicTreeSelectAction.action' />?nodeId="+nodeId,
|
||||
url: "<s:url value='/tags/ui/ajax/dynamicTreeSelectAction.action'/>?nodeId="+node.node.widgetId,
|
||||
load: function(type, data, evt) {
|
||||
var displayDiv = dojo.byId("displayId");
|
||||
displayDiv.innerHTML = data;
|
||||
var divDisplay = dojo.byId("displayId");
|
||||
divDisplay.innerHTML=data;
|
||||
},
|
||||
mimeType: "text/html"
|
||||
});
|
||||
};
|
||||
|
||||
dojo.event.topic.subscribe("treeSelected", this, "treeNodeSelected");
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<div style="float:left; margin-right: 50px;">
|
||||
<sx:tree
|
||||
id="tree"
|
||||
rootNode="%{treeRootNode}"
|
||||
childCollectionProperty="children"
|
||||
nodeIdProperty="id"
|
||||
|
||||
@@ -9,19 +9,17 @@
|
||||
|
||||
<!-- START SNIPPET: treeExampleStaticJsp -->
|
||||
|
||||
<script>
|
||||
function treeNodeSelected(nodeId) {
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
dojo.event.topic.subscribe("treeSelected", function treeNodeSelected(node) {
|
||||
dojo.io.bind({
|
||||
url: "<s:url value='/tags/ui/ajax/staticTreeSelectAction.action'/>?nodeId="+nodeId,
|
||||
url: "<s:url value='/tags/ui/ajax/staticTreeSelectAction.action'/>?nodeId="+node.node.title,
|
||||
load: function(type, data, evt) {
|
||||
var divDisplay = dojo.byId("displayIt");
|
||||
divDisplay.innerHTML=data;
|
||||
},
|
||||
mimeType: "text/html"
|
||||
});
|
||||
};
|
||||
|
||||
dojo.event.topic.subscribe("treeSelected", this, "treeNodeSelected");
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
@@ -38,7 +38,8 @@ import com.opensymphony.xwork2.util.ValueStack;
|
||||
* Renders a tree widget with AJAX support.<p/>
|
||||
*
|
||||
* The id attribute is normally specified, such that it could be looked up using
|
||||
* javascript if necessary.<p/>
|
||||
* javascript if necessary. The id attribute is required, if the "treeSelectedTopic"
|
||||
* is going to be used.<p/>
|
||||
*
|
||||
* <!-- END SNIPPET: javadoc -->
|
||||
*
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
// dojo.hostenv.writeIncludes();
|
||||
-->
|
||||
</script>
|
||||
<#if parameters.treeSelectedTopic?exists>
|
||||
<dojo:TreeSelector widgetId="treeSelector_${parameters.id?default("")}" eventNames="select:${parameters.treeSelectedTopic?html}">
|
||||
</dojo:TreeSelector>
|
||||
</#if>
|
||||
<div dojoType="Tree"
|
||||
<#if parameters.blankIconSrc?exists>
|
||||
gridIconSrcT="<@s.url value='${parameters.blankIconSrc}' encode="false" includeParams='none'/>"
|
||||
@@ -59,7 +63,7 @@
|
||||
id="${parameters.id?html}"
|
||||
</#if>
|
||||
<#if parameters.treeSelectedTopic?exists>
|
||||
publishSelectionTopic="${parameters.treeSelectedTopic?html}"
|
||||
selector="treeSelector_${parameters.id?default("")}"
|
||||
</#if>
|
||||
<#if parameters.treeExpandedTopic?exists>
|
||||
publishExpandedTopic="${parameters.treeExpandedTopic?html}"
|
||||
|
||||
Reference in New Issue
Block a user