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