1: #set ($showTitle = true) 2: #set ($primary = true) 3: #set ($useIcons = false) 4: #set ($listClass = "list-unstyled") 5: #set ($class = "nav-link") 6: #set ($flex = true) 7: #set ($flexClass = "d-sm-flex") 8: #set ($flexFill = false) 9: #set ($alignment = "flex-column") 10: #set ($flexFill = true) 11: #set ($ariaLabel = "") 12: #set ($groupLinks = false) 13: 14: #if ($request.getParameter("groupLinks") == true) 15: #set ($groupLinks = true) 16: #end 17: 18: #if ($request.getParameter("showTitle") == false) 19: #set ($showTitle = false) 20: #end 21: 22: #if ($request.getParameter("primary") == false) 23: #set ($primary = false) 24: #end 25: 26: #if ($request.getParameter("useIcons") == true) 27: ## This is designed to set the label field as a FontAwesome class selector. 28: #set ($useIcons = true) 29: #end 30: 31: #if ($request.getParameter("flexClass")) 32: #set ($flexClass = $request.getParameter("flexClass")) 33: #end 34: 35: #if ($request.getParameter("class")) 36: #set ($class = $request.getParameter("class")) 37: #end 38: 39: #if ($request.getParameter("listClass")) 40: #set ($listClass = $request.getParameter("listClass")) 41: #end 42: 43: #if ($request.getParameter("flexFill") == false) 44: #set ($flexFill = false) 45: #end 46: 47: #if ($request.getParameter("alignment")) 48: ## Examples: justify-content-center | justify-content-end | flex-column | flex-column-reverse | flex-row | flex-row-reverse 49: #set ($alignment = $request.getParameter("alignment")) 50: #end 51: 52: #if ($request.getParameter("ariaLabel")) 53: #set ($ariaLabel = $request.getParameter("ariaLabel")) 54: #if ($primary == true) 55: #if ($ariaLabel.toLowerCase().contains("sports")) 56: #set ($ariaLabelWords = $ariaLabel.split(" ")) 57: $request.setAttribute("sportsGender", $ariaLabelWords[0]) 58: #end 59: 60: #end 61: #end 62: 63: 64: ##=====================## 65: ## BUILD LIST ELEMENTS ## 66: ##=====================## 67: 68: #set ($level = 1) 69: 70: #macro (printAnchor $anchorclass) 71: #if ($anchorclass == "sportmenu-row-link") 72: #set ($anchorclass = "${anchorclass} px-lg-2") 73: #set ($level = $request.getParameter('level')) 74: #if ($level == 3) 75: #set ($sportsGender = $request.getAttribute('sportsGender')) 76: #end 77: #end 78: 79: #set ($isBrand = false) 80: #set ($brands = ["facebook", "twitter", "instagram", "youtube", "flickr", "twitch", "tiktok"]) 81: #foreach ($brand in $brands) 82: #if ($entry.label.toLowerCase().contains($brand)) 83: #set ($isBrand = true) 84: #end 85: #end 86: 87: <a class="$anchorclass dropdown-item#if($entry.targetURL.length() == 0) disabled#end" href="$entry.targetURL" #if ($website.isExternalLink($entry.targetURL)) target="_blank" #end #if (!$entry.hideTitle && $entry.title.length() > 0) title="$entry.title" aria-label="$!sportsGender $ariaLabel $entry.title" #else aria-label="$!sportsGender $ariaLabel $entry.label" #end > 88: #if (($useIcons == true || $isBrand == true) && $page.url.contains("/sports/")) 89: #set ($iconClass = $entry.label.toLowerCase()) 90: #if ($iconClass == "twitter") 91: #set ($iconClass = "x-twitter") 92: #end 93: <span class="fab fa-${iconClass}"></span> 94: <span class="sr-only">$entry.label</span> 95: #else 96: ${entry.label} 97: #end 98: </a> 99: #end 100: 101: #macro (printGroupLinks) 102: <div class="${flexClass} justify-content-between list-unstyled flex-row"> 103: <div class="flex-grow-1"> 104: #printAnchor("sportname text-left font-weight-bold col px-lg-2") 105: </div> 106: #if ($entry.secondaryURL.length() > 0) 107: <div class="sports-row-quick-links d-none d-sm-block"> 108: #set ($level = $tool.math.add($request.getParameter("level"), 1)) 109: #set ($alignment = "flex-row") 110: #set ($flexClass = "d-flex") 111: 112: <div class="submenu level-${level}" data-secondary-url="${entry.secondaryURL}"> 113: 114: #if ($entry.secondaryURL.contains("tmpl=")) 115: #set ($secondaryURL = ${entry.secondaryURL}) 116: #else 117: #set ($poweredby = ${entry.secondaryURL}) 118: #set ($extraparams = "") 119: 120: #if ($entry.secondaryURL.contains("?")) 121: #set ($poweredby = $entry.secondaryURL.toString().split("\?").get(0)) 122: #set ($extraparams = $entry.secondaryURL.toString().split("\?").get(1)) 123: #end 124: #set ($secondaryURL = "${poweredby}?tmpl=navbar-yamm-template&groupLinks=true&primary=false&flex=${flex}&alignment=${alignment}&flexClass=${flexClass}&flexFill=${flexFill}&justify=${justify}&level=${level}&ariaLabel=${tool.esc.url($entry.label)}&${extraparams}") 125: #end 126: $website.includeAgain("${secondaryURL}?groupLinks=true") 127: </div> 128: </div> 129: #end 130: </div> 131: #end ## printGroupLinks 132: 133: #macro (printLinks) 134: <ul class="${listClass} ${flexClass} ${alignment}"> 135: #foreach ($entry in $entries) 136: #set ($class="") 137: #if ($entry.match) 138: #set ($class = "match active") 139: #end 140: 141: #if ($entry.secondaryURL.length() > 1) 142: #if ($entry.match) 143: #set ($class = "has-nav match active") 144: #else 145: #set ($class = "has-nav") 146: #end 147: #end 148: 149: <li class="#if($class.length() > 0)${class}#end#if($inline) list-inline-item#end#if($flexFill) flex-fill#end #if($foreach.hasNext && !$groupLinks) border-bottom #end group-links-${groupLinks}"> 150: #if ($entry.secondaryURL.length() > 0) 151: #printGroupLinks 152: #else 153: #printAnchor("sportmenu-row-link") 154: #end 155: </li> 156: #end 157: </ul> 158: #if ($wiki.valid())$wiki#end 159: #end ## printLinks 160: 161: ##============## 162: ## BUILD MENU ## 163: ##============## 164: 165: #if ($entries.size() > 0) 166: #if ($primary) 167: <div class="navbar-yamm-group" role="menubar" data-module="nav"> 168: #if ($page.title.length() > 0 && $showTitle) 169: <h4>$page.title</h4> 170: #end 171: #printLinks 172: </div> 173: #else 174: #printLinks 175: #end 176: 177: #end ## size check
NEWS AROUND CAMPUS