0
votes

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. Bootstrap navigator

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>
1

1 Answers

1
votes

Scrapped OneUI and re-wrote the whole thing in BootStrap. Could not figure out why it did what it did.