<%@page import="com.ibm.portal.navigation.NavigationNode"%> <%@ page session="false" buffer="none" %> <%@ page trimDirectiveWhitespaces="true" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ include file="../includePortalTaglibs.jspf" %> <%@ page import="java.util.List, java.util.ArrayList" %> <%-- The following variables are defined in bootstrap.jspf for performance reasons and reused here: * selectionPath * deviceClass * isMobile --%> <%-- the current toolbar mode ("closed", "open" or "minimized") --%> <c:set var="toolbarMode"><r:dataSource uri="utb:state" mode="download"></r:dataSource></c:set> <%-- the page is in edit mode if the toolbar is either open or minimized --%> <c:set var="inEditMode" value="${toolbarMode eq 'minimized' or toolbarMode eq 'open'}"/> <c:set var="startLevel" value="${param.startLevel}" /> <c:set var="selectedNodeID" value="${wp.identification[wp.selectionModel.selected]}" /> <c:set var="selectionPathLength" value="${fn:length(selectionPath)}" /> <c:set var="primeNavigation" value="${ccConfig['cc.primeNavigation'] and inEditMode}" /> <% // Check if pages need to be hidden ServletContext servletCtx = getServletConfig().getServletContext(); List navHiddenMetadata = (List) servletCtx.getAttribute("navHiddenMetadata"); request.setAttribute("navHiddenMetadataStr", navHiddenMetadata.toString()); %> <c:forEach var="node" items="${wp.navigationModel.children[wp.navigationModel.root]}" varStatus="status" step="1"> <c:set var="currentPageCUN" value="${fn:trim(node.contentNode.objectID.uniqueName)}"></c:set> <%-- myco.footer is defined in WCM --> <c:if test="${empty node.metadata['topNav'] && !fn:contains(navHiddenMetadataStr, currentPageCUN) && currentPageCUN ne 'myco.footer'}"> <% List<NavigationNode> childNodes = new ArrayList<NavigationNode>(); %> <c:if test="${wp.navigationModel.hasChildren[node]}"> <c:forEach var="childNode" items="${wp.navigationModel.children[node]}"> <c:set var="childNode" value="${childNode}" scope="request"></c:set> <c:if test="${empty childNode.metadata['topNav'] && !childNode.metadata['com.ibm.portal.Hidden'] && !(isMobile && childNode.metadata['com.ibm.portal.mobile.Hidden'])}"> <% childNodes.add((NavigationNode)request.getAttribute("childNode")); %> </c:if> </c:forEach> </c:if> <% request.setAttribute("childNodes", childNodes); %> <c:choose> <c:when test="${not empty childNodes}"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" title='<portal-fmt:description varname="${node}"/>'> <portal-fmt:title varname="${node}"/><b class="caret"></b> </a> <ul class="dropdown-menu"> <c:forEach var="childNode" items="${childNodes}"> <li><a onclick="javascript:return checkDirtyFlag();" href='<portal-navigation:navigationUrl type="link" keepNavigationalState="false" varname="${childNode}"/>' title='<portal-fmt:description varname="${childNode}"/>'> <portal-fmt:title varname="${childNode}"/> </a> </li> </c:forEach> </ul> </li> </c:when> <c:otherwise> <c:if test="${deviceClass == 'smartphone' && currentPageCUN ne 'myco.public.government'}"> <li class="<c:if test="${wp.selectionModel[node] != null}">active</c:if>"><a onclick="javascript:return checkDirtyFlag();" href='<portal-navigation:navigationUrl type="link" keepNavigationalState="false" varname="${node}"/>' title='<portal-fmt:description varname="${node}"/>'><portal-fmt:title varname="${node}"/></a></li> </c:if> <c:if test="${deviceClass != 'smartphone'}"> <li class="<c:if test="${wp.selectionModel[node] != null}">active</c:if>"><a onclick="javascript:return checkDirtyFlag();" href='<portal-navigation:navigationUrl type="link" keepNavigationalState="false" varname="${node}"/>' title='<portal-fmt:description varname="${node}"/>'><portal-fmt:title varname="${node}"/></a></li> </c:if> </c:otherwise> </c:choose> </c:if> </c:forEach>