I have created a Navigator Control which displays a different Navigator depending on which Application the user selects. When I run the Page with this control on it using the OneUI application Theme it works fine but when I switch to the Bootstrap3.2.0 only the first three Items (Edit: found one navigator that the first 4 work but the rest don't - can't see any correlation) in the Navigator Menu contain a link. The rest of them do nothing.
The Profiles, Applications and Agent Log link work correctly but none of the rest of them appear to have a link attached to them. I can select any application and all of the resultant navigators function the same - first three Items have link the rest do not, but in OneUI they all have links. This page uses the Bootstrap Application Layout as the template. Here is my code for the Navigator Control:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xe="http://www.ibm.com/xsp/coreex"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.resources>
<xp:script src="/js Utils.jss" clientSide="false"></xp:script>
</xp:this.resources>
<xp:panel style="width:150px" id="panelSelectApp">
<xp:this.readonly><![CDATA[#{javascript:!viewScope.get("vsReadOnly")}]]></xp:this.readonly>
<xe:dropDownButton id="selectApp" style="width:200px">
<xe:this.treeNodes>
<xe:basicContainerNode>
<xe:this.label>
<![CDATA[#{javascript:var s:String = sessionScope.ssApplication;
(s == null || s == "")? "-- Select An Application --" : s;}]]>
</xe:this.label>
<xe:this.children>
<!--
ssAppMenu is a session Scope Bean that returns a list of valid
Navigator custom Controls
-->
<xe:repeatTreeNode var="thisApp" indexVar="index"
loaded="true" value="#{javascript:ssAppMenu.get();}">
<xe:this.children>
<xe:basicLeafNode label="#{javascript:thisApp}"
submitValue="#{javascript:thisApp}">
</xe:basicLeafNode>
<xe:separatorTreeNode loaded="true">
</xe:separatorTreeNode>
</xe:this.children>
</xe:repeatTreeNode>
</xe:this.children>
</xe:basicContainerNode>
</xe:this.treeNodes>
<xe:this.rendered><![CDATA[#{javascript:(viewScope.get("vsReadOnly")) ? false : true}]]>
</xe:this.rendered>
<xp:eventHandler event="onItemClick" submit="true"
refreshMode="partial" refreshId="panelSelectApp">
<xe:this.action><![CDATA[#{javascript:var value=context.getSubmittedValue();
if(value==null || value=="" || value == "-- Select An Application --") {
sessionScope.put("ssApplication","")
sessionScope.put("ssSelectedNavigator","");
sessionScope.put("ssSelectedView","");
getComponent('dynamicContentMainView').show(null);
getComponent('dynamicNavigator').show(null);
return;
}else {
clearCategory();
sessionScope.put("ssApplication",value);
/*appProps is a Managed Application Scope been which contains a number of properties specific to
each application for example navName returns the name of the control which defines this specific
navigator & ssApplication contains the name of the current Application.
*/
sessionScope.put("ssSelectedNavigator", appProps[sessionScope.ssApplication].navName);
sessionScope.put("ssSelectedView", appProps[sessionScope.ssApplication].defaultView);
getComponent('dynamicContentMainView').show(null);
getComponent('dynamicNavigator').show(null);
}}]]></xe:this.action>
<xp:this.onComplete>
<![CDATA[XSP.partialRefreshGet("#{id:dynamicContentMainView}");]]>
</xp:this.onComplete>
</xp:eventHandler>
</xe:dropDownButton>
<xp:panel id="panelNavigator" style="width:150px">
<xe:dynamicContent id="dynamicNavigator">
<xe:dynamicContent id="dynamicNavigatorControl">
<xp:include id="customControlIncluder">
<xp:this.pageName>
<![CDATA[${javascript:var debug:Boolean = false;
if (debug) WFSUtils.sysOut("Selected Navigator = " + sessionScope.ssSelectedNavigator);
sessionScope.ssSelectedNavigator||"ccBlankNavigator.xsp"}]]>
</xp:this.pageName>
</xp:include>
</xe:dynamicContent>
</xe:dynamicContent>
</xp:panel><!-- panelNavigators -->
</xp:panel><!-- panelSelectApp -->
</xp:view>