Rk | Name | Team | gp | ab | h | rbi | bb | k | avg | obp | slg |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | C Ontai | San Mateo | 45 | 171 | 51 | 34 | 29 | 27 | .298 | .408 | .444 |
2 | A Ackerman | San Mateo | 44 | 175 | 60 | 36 | 18 | 36 | .343 | .420 | .577 |
2 | D Carnazzo | San Mateo | 44 | 167 | 54 | 28 | 29 | 27 | .323 | .419 | .437 |
2 | A Flores | San Mateo | 44 | 153 | 48 | 35 | 21 | 28 | .314 | .424 | .471 |
2 | J Ota | San Mateo | 44 | 176 | 51 | 25 | 21 | 27 | .290 | .377 | .415 |
6 | J Torres | San Mateo | 43 | 154 | 40 | 28 | 27 | 28 | .260 | .373 | .468 |
7 | S Prozell | San Mateo | 42 | 99 | 28 | 17 | 11 | 9 | .283 | .360 | .424 |
8 | C Coffey | Chabot | 40 | 169 | 57 | 54 | 17 | 20 | .337 | .406 | .497 |
8 | C Gabrielson | San Mateo | 40 | 115 | 38 | 18 | 15 | 27 | .330 | .418 | .478 |
8 | G McCarthy |
There was a problem with a Velocity script | |
Page | sports/bsb/2018-19/Conference/Coast_-_Golden_Gate/stats-bios-template |
Error | Invocation of method 'includeAgain' in class com.prestosports.render.ContentEngineInvoker threw exception java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. at g5xpj7agcui7frapsports/bsb/2018-19/Conference/Coast_-_Golden_Gate/stats-bios-template[line 378, column 38] |
Page source: |
1: ## PICK UP OPTIONS 2: $website.include("options") 3: #set ($options = $request.getAttribute("options")) 4: #set ($locale = "en_us") 5: #set ($locale = $options.get("locale")) 6: #set ($showconf = true) 7: #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide")) 8: #set ($showconf = false) 9: #end 10: 11: #set ($isSharedMeets = true) 12: #if ($sport and $sport.statistics == true) 13: #set ($isSharedMeets = false) 14: #end 15: 16: #set ($showTotalRow = false) 17: #if ($options.get("stats_individual_show_totals_row") and $options.get("stats_individual_show_totals_row").equalsIgnoreCase("show")) 18: #set ($showTotalRow = true) 19: #end 20: 21: #set ($isIncluded = $website.isIncluded()) 22: 23: #set ($isAjax = false) 24: #if ($request.getParameter('ajax').length() > 0) 25: #set ($isAjax = true) 26: #end 27: 28: #set ($idLength = 0) 29: #set ($idLength = $formatter.escapeXml($request.getParameter("id")).length()) 30: #set ($teamCount = $page.getTeamIDs().size()) 31: 32: #set ($teamId = '') 33: #if ($request.getParameter("teamId").length() > 0) 34: #set ($teamId = $request.getParameter("teamId")) 35: #end 36: 37: #set ($isSingleTeam = false) 38: #if ($teamId.length() != 0 or $teamCount == 1) 39: #set ($isSingleTeam = true) 40: #end 41: 42: #if ($teamCount == 1 and (not $isIncluded) and $idLength == 0 and not $isSharedMeets) 43: $website.decorate("") 44: #set ($targetURL = "${page.url}/../teams?view=lineup") 45: $response.sendRedirect($targetURL) 46: #stop 47: #end 48: 49: ## STAT LABELS 50: $website.includeAgain("stats-labels") 51: #set ($statLabels = $!request.getAttribute("statLabels")) 52: 53: #set ($pos = "") 54: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 55: 56: #if ($pos.length() == 0 and $briefsDefaultCategoryPosition and not $isIncluded and not $isSharedMeets) 57: $website.decorate("") 58: #set ($targetURL = "${page.url}?pos=" + $briefsDefaultCategoryPosition) 59: #if($briefsDefaultSorting and $briefsDefaultSorting.containsKey($briefsDefaultCategoryPosition)) 60: #set ($targetURL = $targetURL + "&sort=" + $briefsDefaultSorting.get($briefsDefaultCategoryPosition)) 61: #end 62: 63: $response.sendRedirect($targetURL) 64: #stop 65: #end 66: 67: ## We want to leave this undefined so we can test for that 68: #set ($minEsc = $formatter.escapeXml($request.getParameter("min"))) 69: #if ($minEsc.length() > 0) 70: #set ($min = $minEsc) 71: #end 72: 73: #set ($cansort = $formatter.escapeXml($request.getParameter("cs"))) 74: 75: ## #set ($labels = $labels.get($positions.get($pos))) 76: 77: #set ($url = $request.requestURI) 78: #set ($view = "") 79: #set ($view = $formatter.escapeXml($!request.getParameter("view"))) 80: 81: #set ($restriction = "0") 82: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r"))) 83: #if ($restrictionEsc.length() > 0) 84: #set ($restriction = $restrictionEsc) 85: #end 86: 87: $website.include("standings?tmpl=stats-standings-abbr-template") 88: #set ($teamAbbr = $request.getAttribute("teamAbbr")) 89: 90: #* 91: <!-- 92: Debug 93: URL: $url 94: isIncluded: $isIncluded 95: View: ${view} 96: Position: $pos 97: Sort: $sort 98: isAjax: $isAjax 99: isSharedMeets = $isSharedMeets 100: page.getTeamIDs.size() = $page.getTeamIDs().size() 101: teamId = $teamId 102: page.teams.entrySet() = $page.teams.entrySet().size() 103: isSingleTeam = $isSingleTeam 104: --> 105: *# 106: 107: #if ($locale == "en_us") 108: #set ($defLabel = "Defense") 109: #elseif ($locale == "en_gb") 110: #set ($defLabel = "Defence") 111: #end 112: 113: #macro (printTableHeader $label $class) 114: ## Hack for now 115: #set ($pos = "") 116: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 117: #set ($labels = $labels.get($pos)) 118: <th class="text-uppercase text-nowrap $class #if($sort == $key)table-active#end" #if($sort == $key) data-sort="1" #end data-key="$label" data-bs-toggle="tooltip" data-bs-placement="top" title="$!{labels.get($key)}">$label</th> 119: #end 120: 121: #macro(printBriefsCategories $r) 122: #set ($ariaLabel = "Overall Stats") 123: #if ($r == "1") 124: #set ($ariaLabel = "Conference Stats") 125: #end 126: #set ($briefsCategories = []) 127: #if ($teamId.length() == 0 && $briefsCategoriesLabels) 128: <div class="tab-container"> 129: #set ($activeCategory = "") 130: #foreach ($entry in $briefsCategoriesLabels.entrySet()) 131: #if ($foreach.first) 132: #set ($activeCategory = $entry.key) 133: #end 134: #if ($pos.length() > 0 && $entry.value.keySet().contains($pos)) 135: #set ($activeCategory = $entry.key) 136: #end 137: #end 138: 139: <ul class="nav nav-tabs nav-tabs-responsive d-flex with-arrow lined flex-row text-nowrap justify-content-start gap-3" id="stats-bios-secondary-tabs" role="tablist"> 140: #foreach ($category in $briefsCategoriesLabels.entrySet()) 141: <li class="tabs-category nav-item text-center"> 142: <a class="nav-link #if ($category.key == $activeCategory) active #end" href="#" role="tab" data-bs-toggle="tab" data-bs-target="#stats-bio-${category.key.toLowerCase()}-${r}" aria-label="${ariaLabel}: ${category.key}">$category.key</a> 143: </li> 144: #end 145: </ul> 146: 147: <div class="tab-content py-3"> 148: #foreach($category in $briefsCategoriesLabels.entrySet()) 149: 150: #set ($activeSubCategory = "") 151: #foreach ($subCategory in $category.value.entrySet()) 152: #if ($foreach.first) 153: #set ($activeSubCategory = $subCategory.value) 154: #end 155: #if ($pos == $subCategory.key) 156: #set ($activeSubCategory = $subCategory.value) 157: #end 158: #end 159: <div class="tab-pane #if ($category.key == $activeCategory) active #end" id="stats-bio-${category.key.toLowerCase()}-${r}" data-pos="$pos"> 160: <div class="tab-container"> 161: <div class="d-flex flex-row text-nowrap align-items-center justify-content-center"> 162: <div class="secondary-tab-select-container flex-fill"> 163: <select class="tab-nav-select-helper form-select" id="stats-bios-tertiary-select" aria-label="Choose a stat group"> 164: #foreach($briefsCat in $briefsCategoriesLabels.get("${category.key}").entrySet()) 165: <option value="#stats-bio-subs-${briefsCat.key.toLowerCase()}-${r}" #if ($briefsCat.value == $activeSubCategory || $foreach.first) selected #end>$briefsCat.value</option> 166: #end 167: </select> 168: <script> 169: $('.tab-nav-select-helper').on('change', function(e) { 170: var id = $(this).val(); 171: $('a[data-bs-target="' + id + '"]').tab('show'); 172: }); 173: </script> 174: </div> 175: </div> 176: <ul class="d-none nav nav-tabs nav-tabs-responsive d-flex with-arrow lined flex-row text-nowrap justify-content-start gap-3" id="stats-bios-tertiary-tabs" role="tablist"> 177: #foreach($briefsCat in $briefsCategoriesLabels.get("${category.key}").entrySet()) 178: <li class="tabs-category nav-item"> 179: <a class="nav-link #if ($briefsCat.value == $activeSubCategory) active #end" href="#" role="tab" data-bs-toggle="tab" data-bs-target="#stats-bio-subs-${briefsCat.key.toLowerCase()}-${r}" aria-label="${ariaLabel}: ${category.key}: ${briefsCat.value}">$briefsCat.value</a> 180: </li> 181: #end 182: </ul> 183: 184: <div class="tab-content py-3"> 185: #foreach($briefsCat in $briefsCategoriesLabels.get("${category.key}").entrySet()) 186: <div class="tab-pane #if ($briefsCat.value == $activeSubCategory) active #end" id="stats-bio-subs-${briefsCat.key.toLowerCase()}-${r}"> 187: #printPlayers($briefsCat.key, $r) 188: </div> 189: #end 190: </div> 191: </div> 192: </div> 193: #end 194: </div> 195: </div> ## tab-container 196: #else 197: #printPlayers($pos, $r) 198: #end 199: #end ## printBriefsCategories 200: 201: #macro(printPlayers $p $r) 202: $request.setAttribute("icl-dataTables-script", true) 203: 204: #set ($briefs = $briefs.get($positions.get($p))) 205: 206: #set ($sortOrder = "asc") 207: #if (($sort == "gs") || ($sort == "gp") || ($sort == "pts") || ($sort == "ptspm")) 208: #set ($sortOrder = "desc") 209: #end 210: 211: ## player stats (conference, naia) 212: #set ($searching = "true") 213: #set ($paging = "true") 214: #set ($info = "true") 215: #set ($fixedColumnStart = 1) 216: 217: #if ($isIncluded || ($sort != 'name' && !$isSharedMeets)) 218: #set ($fixedColumnStart = 2) 219: #end 220: 221: #if ($isIncluded) 222: ## lineup pages 223: #set ($searching = "false") 224: #set ($paging = "false") 225: #set ($info = "false") 226: #end 227: 228: 229: 230: <div class="stats-container table-responsive-via-datatables"> 231: <table class="table table-hover nowrap w-100" data-col-name="${sort}" data-sort-order="${sortOrder}" data-info="${info}" data-searching="${searching}" data-ordering="false" data-paging="${paging}" data-filter="false" data-responsive="false" data-fixed-column-start="${fixedColumnStart}" data-scroll-x="true" data-module="https://theme-assets.prestosports.com/theme-assets/generic/assets/js/table-sort-bs.js"> 232: #if ($minimum.length() > 0) 233: <caption class="caption-side-top">$!minimum</caption> 234: #end 235: <thead class="thead-dark"> 236: <tr> 237: #if ($isIncluded) 238: #printTableHeader("#", "text-center w-1") 239: #elseif ($sort != 'name' && !$isSharedMeets) 240: #printTableHeader("Rk", "text-center w-1") 241: #end 242: 243: #if ($cansort == 'n' || $isSharedMeets) 244: #printTableHeader("Name", "text-left") 245: #else 246: <th class="text-left text-uppercase text-nowrap #if($sort.equals("name")) table-active #end">Name</th> 247: #end 248: 249: #if ($isIncluded) 250: #printTableHeader("Yr", "text-center") 251: #printTableHeader("Pos", "text-center") 252: #elseif ($isSharedMeets) 253: #printTableHeader("Yr", "text-center") 254: #else 255: #printTableHeader("Team", "text-center") 256: #end 257: 258: ## Hack for now 259: #set ($pos = "") 260: #set ($pos = $formatter.escapeXml($request.getParameter("pos"))) 261: #set ($labels = $labels.get($pos)) 262: 263: #foreach ($key in $briefs.keySet()) 264: #if ($cansort == 'n') 265: #printTableHeader($briefs.get($key), "text-center") 266: #else 267: <th class="text-center text-uppercase text-nowrap #if($sort == $key)table-active#end" #if($sort == $key) data-sort="1" #end data-key="$key"> 268: <a class="text-reset" href="${url}?sort=${key}&view=${view}&pos=${p}&r=${r}" aria-label="sort table using ${briefs.get($key)}" data-bs-toggle="tooltip" data-bs-placement="top" title="$!{labels.get($key)}">${briefs.get($key)}</a> 269: </th> 270: #end 271: #end 272: </tr> 273: </thead> 274: #set ($showCount = 0) 275: #set ($rankValue = "abb") 276: #set ($counter = 0) 277: 278: <tbody> 279: #foreach ($individual in $individuals) 280: #if ($r == "1") 281: #set ($stats = $individual.statsConference) 282: #else 283: #set ($stats = $individual.stats) 284: #end 285: 286: #set ($individualPosition = "") 287: #set ($individualPosition = $individual.position) 288: #set ($posVec = $individualPosition.split("/")) 289: #set ($individualPosition = $posVec[0]) 290: 291: #set ($show = "") 292: 293: #set ($showAllPlayers = $options.get("stats_show_all_players")) 294: #set ($showPosition = $lineupShowPosition && $lineupShowPosition.containsKey($p)) 295: #set ($showStat = $lineupShowStat && $lineupShowStat.containsKey($p)) 296: #if (!$showAllPlayers.equalsIgnoreCase("yes") and ($showPosition or $showStat or $min)) 297: #if ($showPosition) 298: #set ($indPositionsList = $lineupShowPosition.get($p)) 299: #foreach ($indPos in $indPositionsList) 300: #if ($individualPosition.equalsIgnoreCase($indPos)) 301: #set ($show = "y") 302: #end 303: #end 304: #end 305: 306: #if ($showStat) 307: #set ($statsList = $lineupShowStat.get($p)) 308: #foreach ($statElem in $statsList) 309: #if ($stats.get($statElem) > 0) 310: #set ($show = "y") 311: #end 312: #end 313: #end 314: 315: #if ($min) 316: #set ($test = 0) 317: #set ($test = $stats.get($min)) 318: #if ($test > 0) 319: #set ($show = "y") 320: #end 321: #end 322: #else 323: #set ($show = "y") 324: #end 325: 326: #if ($show.length() > 0) 327: #set ($showCount = $showCount + 1) 328: #if ($showCount <= 125) 329: <tr> 330: #if ($isIncluded) 331: <td class="text-nowrap text-center #if($sort.equals("uniform")) table-active #end">${individual.uniform}</td> 332: #elseif ($sort != 'name' && ! $isSharedMeets) 333: <td class="text-nowrap text-center"> 334: ## Need to figure out what value is 335: #set ($value = ${stats.get($sort)}) 336: #if (!($value == $rankValue)) 337: ##This is a new rank value... let's update our ranking 338: #set ($rank = $showCount) 339: #set ($rankValue = $value) 340: #end 341: ${rank} 342: </td> 343: #end 344: 345: <td class="text-nowrap text-left #if($sort.equals("name")) table-active #end"> 346: #if ($isSharedMeets) 347: ${individual.firstName} ${individual.lastName} 348: #else 349: <a href="${page.url}/${individual.pageName}"> 350: #if ($isIncluded) 351: ${individual.firstName} 352: #elseif ($individual.firstName.length() > 0) 353: ${individual.firstName.substring(0, 1)} 354: #end 355: ${individual.lastName} 356: </a> 357: #end 358: </td> 359: 360: #if ($isIncluded) 361: <td class="text-nowrap text-center">$!{individual.year}</td> 362: <td class="text-nowrap text-center"> 363: #if ($individual.positionAbbreviation) 364: $!individual.positionAbbreviation 365: #else 366: $!individual.position 367: #end 368: </td> 369: #elseif ($isSharedMeets) 370: <td class="text-nowrap text-center">$!{individual.year}</td> 371: #else 372: #set ($teamname = "") 373: #set ($teamname = $individual.team) 374: 375: ## TRY AND GRAB ALL THE TEAMS PAGES FROM WITHIN THE /CONF SECTION SETUP 376: ## THIS ALLOWS US TEAM NAMES TO LINK TO TEAMS STATS PAGE WITHIN THE /CONF SECTION IF SETUP 377: $!request.setAttribute("pageObj", $page) 378: $website.includeAgain("get-conf-pages?pageName=teams") 379: #set ($confPages = $!request.getAttribute("conf_pages")) 380: #set ($confTeams = {}) 381: 382: ## THIS BUILDS A MAPPING OF CONFERENCE NAMES AND THEIR ASSOCIATED TEAMS FROM THE TEAMS PAGE 383: #foreach ($conf in $confPages) 384: #set ($ignore = $confTeams.put("$conf.name", { "teamsPage": $conf.pageObj, "teams": $conf.pageObj.teams })) 385: #end 386: 387: #set ($teamsURL = "teams?id=${individual.teamId}") 388: #foreach ($entry in $confTeams.entrySet()) 389: #if ($entry.value.teams.containsValue($teamname)) 390: #set ($teamURL = "${entry.value.teamsPage.url}?id=${individual.teamId}") 391: #end 392: #end 393: 394: #if($teamAbbr.size() > 0) 395: ## THIS IS USED ONLY FOR SITES WANTING TO DISPLAY DIVISONS WITHIN THERE STATS 396: #* 397: #set ($teamname = $teamAbbr.get($individual.teamId)) 398: #set ($teamname = $teamAbbr.get($individual.team)) 399: *# 400: #end 401: 402: <td class="text-nowrap text-center #if($sort.equals("team")) table-active #end"> 403: #if ($teamname.length() > 0) 404: <a href="$teamsURL">${teamname}</a> 405: #end 406: </td> 407: #end 408: 409: ## Briefs 410: #foreach ($key in $briefs.keySet()) 411: #set ($value = "-") 412: #set ($value = $formatter.formatNumber(${stats.get($key)}, $!formats.get($key))) 413: <td class="text-center text-nowrap #if($sort == $key) table-active #end" data-sort="$sort" data-key="$key"> 414: #if ($value.length() > 0) 415: $value 416: #else 417: - 418: #end 419: </td> 420: #end 421: </tr> 422: #end ## page limit 423: #end ## showing 424: #end ## foreach individual 425: </tbody> 426: #if ($individuals.size() == 0) 427: <caption> 428: #if ($isSharedMeets) 429: This team's roster is empty 430: #elseif ($hasBiosBeforeFilter) 431: No players meet the minimum 432: #else 433: No stats are available at this time 434: #end 435: </caption> 436: #end 437: </table> 438: </div> 439: #if ($isIncluded || $showTotalRow) 440: <div class="table-totals mb-3 small text-start text-muted p-2"> 441: <div class="d-flex align-items-center justify-content-start totals gap-2 mb-2 flex-column flex-md-row"> 442: <div class="heading text-center text-md-end col-12 col-md-3 fw-bold">Totals</div> 443: #set ($teamStats = $request.getAttribute("teamStats")) 444: <div class="calculated-totals flex-fill w-100 m-0"> 445: <ul class="m-0 list-unstyled d-flex flex-wrap justify-content-center align-items-stretch border-top border-start"> 446: #foreach ($key in $briefs.keySet()) 447: #set ($value = "-") 448: #set ($value = $formatter.formatNumber(${teamStats.get($key)}, $!formats.get($key))) 449: <li class="flex-fill text-center border-bottom border-end p-2 flex-fill"> 450: <div class="d-flex flex-column justify-content-center align-items-center h-100"> 451: <span class="uppercase key initialism">$briefs.get($key)</span> 452: <span class="value fw-bold m-0 lh-1 nowrap">#if ($value.length() > 0)${value}#else-#end</span> 453: </div> 454: </li> 455: #end 456: </ul> 457: </div> 458: </div> 459: <div class="d-flex align-items-center justify-content-start opponent-totals gap-2 mb-2 flex-column flex-md-row"> 460: <div class="heading text-center text-md-end col-12 col-md-3 fw-bold">Opponents</div> 461: <div class="calculated-totals flex-fill w-100 m-0"> 462: <ul class="m-0 list-unstyled d-flex flex-wrap justify-content-center align-items-stretch border-top border-start"> 463: #foreach ($key in $briefs.keySet()) 464: #set ($keyopp = "${key}opp") 465: #set ($value = "-") 466: #set ($value = $formatter.formatNumber(${teamStats.get($keyopp)}, $!formats.get($key))) 467: <li class="flex-fill text-center border-bottom border-end p-2 flex-fill"> 468: <div class="d-flex flex-column justify-content-center align-items-center h-100"> 469: <span class="uppercase key initialism">$briefs.get($key)</span> 470: <span class="value fw-bold m-0 lh-1 nowrap">#if ($value.length() > 0)${value}#else-#end</span> 471: </div> 472: </li> 473: #end 474: </ul> 475: </div> 476: </div> 477: </div> 478: #end 479: #end ## printPlayers 480: 481: #macro (printFilters) 482: <div class="p-3 border my-3 d-print-none"> 483: <div class="btn-toolbar d-flex justify-content-between gap-3 flex-column flex-sm-row flex-sm-nowrap" role="toolbar" aria-label="Standings tool bar"> 484: ## #printTeamsFilter 485: <div class="flex-fill"> 486: <div class="d-flex flex-wrap align-items-end justify-content-between gap-3 flex-row"> 487: $!request.setAttribute("pageObj", $page) 488: $website.include("conf-season-filter-template") 489: </div> 490: </div> 491: <div class="" role="group" aria-label="Print friendly version"> 492: <a href="${page.url}?dec=printer-decorator" class="btn btn-outline-secondary text-nowrap"><span class="fa fa-print"></span> Print</a> 493: </div> 494: </div> 495: </div> 496: #end ## printFilters 497: 498: ### END MACROS ### 499: 500: ## TEAMS LAYOUTS FOR SHARED MEETS 501: #if ($isSharedMeets && !$isSingleTeam) 502: 503: #set ($teams = $tool.sorter.sort($page.teams.entrySet(), "value")) 504: #set ($teamsThreshold = 20) 505: 506: #if ($page.title.length() > 0) 507: <h1>$page.title</h1> 508: #else 509: <h1>Teams</h1> 510: #end 511: 512: #if ($teams.size() > $teamsThreshold) 513: 514: #set ($alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ") 515: 516: <div class="alphabet-filter" data-module="stats/alphabet-filter"> 517: <div class="alphabet-filter-chars"> 518: <span class="alphabet-filter-border"> | </span> 519: #foreach ($alphabet in $alphabets.split("")) 520: #if ($alphabet.length() > 0) 521: <a href="#alphabet-filter-${alphabet}" class="alphabet-filter-char">$alphabet</a> 522: <span class="alphabet-filter-border"> | </span> 523: #end 524: #end 525: </div> ## alphabet-filter-char 526: 527: <div class="alphabet-filter-list"> 528: <div class="alphabet-filter-column"> 529: #set ($lastAlphabet = "") 530: #set ($counter = 0) 531: 532: #foreach ($team in $teams) 533: #set ($teamName = $team.value) 534: 535: #if ($teamName.charAt(0) != $lastAlphabet) 536: #set ($counter = $counter + 1) 537: #if ($counter > 1) 538: </div> ## alphabet-filter-section 539: #end 540: #if ($counter == 8 || $counter == 15) 541: </div> ## alphabet-filter-column 542: <div class="alphabet-filter-column"> 543: #end 544: #set ($lastAlphabet = $teamName.charAt(0)) 545: <div class="alphabet-filter-section" id="alphabet-filter-${lastAlphabet}"> 546: <h4 class="alphabet-filter-char-title">| $lastAlphabet |</h4> 547: #end 548: <a href="${page.url}?teamId=${team.key}" class="alphabet-filter-link">$teamName</a> 549: #end 550: </div> ## alphabet-filter-section 551: </div> ## alphabet-filter-column 552: </div> ## alphabet-filter-list 553: </div> ## alphabet-filter 554: 555: #else ## plain list 556: 557: <div class="stats-container table-responsive"> 558: <table class="table table-hover"> 559: #foreach ($team in $teams) 560: <tr><td class="text"><a href="${page.url}?teamId=${team.key}">$team.value</a></td></tr> 561: #end 562: #if ($teams.size() == 0) 563: <tr><td>There are no teams that match this criteria</td></tr> 564: #end 565: </table> 566: </div> 567: 568: #end ## teams threshold 569: 570: ## TEAMINFO ROSTER LAYOUT 571: #elseif ($isIncluded && $view == 'roster') 572: 573: #set ($baseball = $sport && $sport.XMLCode == "bsgame") 574: <div class="stats-container table-responsive table-responsive-webkit-overflow-scroll-fix"> 575: <table class="table table-hover"> 576: <thead class="thead-dark"> 577: <tr> 578: <th scope="col" class="text-nowrap text-center w-1">#</th> 579: <th scope="col" class="text-nowrap text-left text-start text-uppercase pinned-col">Name</th> 580: <th scope="col" class="text-nowrap text-center text-uppercase ">Position</th> 581: <th scope="col" class="text-nowrap text-center text-uppercase">Year</th> 582: <th scope="col" class="text-nowrap text-center text-uppercase">Status</th> 583: #if ($baseball) 584: <th scope="col" class="text-nowrap text-center text-uppercase">Height</th> 585: <th scope="col" class="text-nowrap text-center text-uppercase">Weight</th> 586: <th scope="col" class="text-nowrap text-center text-uppercase">Bats</th> 587: <th scope="col" class="text-nowrap text-center text-uppercase">Throws</th> 588: <th scope="col" class="text-nowrap text-center text-uppercase">DOB</th> 589: <th scope="col" class="text-nowrap text-left text-uppercase">Hometown</th> 590: #end 591: </tr> 592: </thead> 593: <tbody> 594: #foreach ($individual in $individuals) 595: <tr data-additional-roster-status="$additionalRosterStatus" data-player-status="$individual.playerStatus" data-active="$individual.active" #if($additionalRosterStatus && $individual.playerStatus == "Inactive") class="table-warning #if(!$wiki.valid()) d-none #end" #end> 596: <td scope="row" class="text text-center">${individual.uniform}</td> 597: <td class="text text-left text-start pinned-col"> 598: <a href="${page.url}/${individual.pageName}">${individual.firstName} ${individual.lastName}</a> 599: </td> 600: <td class="text-center"> 601: #if ($individual.positionAbbreviation) 602: $!individual.positionAbbreviation 603: #else 604: $!individual.position 605: #end 606: </td> 607: <td class="text-center">$!{individual.year}</td> 608: <td class="text-center"> 609: #if($additionalRosterStatus) 610: $individual.playerStatus 611: #elseif ($individual.active) 612: Active 613: #else 614: Inactive 615: #end 616: </td> 617: #if ($baseball) 618: <td class="text-center">$!{individual.dataMap["height"]}</td> 619: <td class="text-center">$!{individual.dataMap["weight"]}</td> 620: <td class="text-center">$!{individual.dataMap["bats"]}</td> 621: <td class="text-center">$!{individual.dataMap["throws"]}</td> 622: <td class="text-center">$!{individual.dataMap["born"]}</td> 623: <td class="text-left text-start">$!{individual.dataMap["hometown"]}</td> 624: #end 625: </tr> 626: #end 627: </tbody> 628: </table> 629: </div> 630: 631: ## SHARED MEETS PLAYERS 632: #elseif ($isSharedMeets) 633: 634: #if ($teamId) 635: #set ($playersPageTitle = $page.title) 636: #foreach($team in $page.teams.entrySet()) 637: #if ($teamId == $team.key) 638: #set ($playersPageTitle = $team.value) 639: #end 640: #end 641: <h1>$playersPageTitle</h1> 642: #end 643: 644: #printPlayers($pos, $restriction) 645: 646: ## PLAYERS / LINEUP 647: #else 648: 649: ## do not show these options on the lineup page 650: #if (not $isIncluded) 651: 652: #if ($isAjax) 653: $website.decorate('') 654: #printPlayers($pos $restriction) 655: #stop 656: #end 657: 658: ## ARCHIVES 659: #if ($page.contentType == "stat/bios") 660: <div class="float-end">$website.include("navbar-playerstats-archive?tmpl=schedule-archive-list-template")</div> 661: #end 662: 663: #if ($page.title.length() > 0 && !$isSharedMeets) 664: <h1>$page.title</h1> 665: #else 666: <h1>Player Stats</h1> 667: #end 668: 669: #printFilters 670: 671: ##if ($minimum.length() > 0) 672: <!--<div class="clearfix align-right">$!minimum</div>--> 673: ##end 674: 675: #if ($showconf && !$isSharedMeets) 676: $request.setAttribute("icl-responsive-tabs-script", true) 677: <div class="tab-container"> 678: <div class="tab-nav m-0"> 679: <ul class="nav nav-tabs nav-tabs-responsive d-flex with-arrow lined flex-row text-nowrap justify-content-start gap-3" id="stats-bios-primary-tabs" role="tablist"> 680: <li class="nav-item flex-fill flex-md-grow-0 flex-md-shrink-0"> 681: <a class="nav-link text-nowrap text-center #if ($restriction == "0") active #end" href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=0" role="tab" data-bs-toggle="tab" data-bs-target="#overall" aria-controls="overall" aria-selected="true">Overall</a> 682: </li> 683: <li class="nav-item flex-fill flex-md-grow-0 flex-md-shrink-0"> 684: <a class="nav-link text-nowrap text-center #if ($restriction == "1") active #end" href="${url}?sort=${sort}&view=${view}&pos=${pos}&r=1" role="tab" data-bs-toggle="tab" data-bs-target="#conf" aria-controls="conf">Conference</a> 685: </li> 686: </ul> 687: </div> 688: 689: <div class="tab-content p-3 border"> 690: <div class="tab-pane #if ($restriction.equals("0")) active #end" role="tabpanel" id="overall"> 691: #printBriefsCategories("0") 692: </div> 693: <div class="tab-pane #if ($restriction.equals("1")) active #end" role="tabpanel" id="conf"> 694: #printBriefsCategories("1") 695: </div> 696: </div> 697: </div> ## tab-container overall/conf 698: #else 699: #printBriefsCategories($restriction) 700: #end 701: 702: #else 703: #printBriefsCategories($restriction) 704: #end ## not isIncluded 705: #end ## LAYOUTS 706: 707: $wiki.su |