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