2019-20 Basketball Statistics - Arizona State

Games 31
Pts per game 65.5
FG % 40.2
3PT % 31.3
FT % 68.1
Reb per game 39.3
Ast per game 14.4
Schedule Summary
Overall (Pct.)20-11 (.645)
Conference (Pct.) 10-8 (.556)
StreakLost 2
Home13-4
Away5-6
Neutral2-1
Full Scores and Schedule »
Recent Games
Feb 16 Washington W, 72-68
Feb 21 at Colorado W, 65-59
Feb 23 at Utah L, 75-71
Feb 28 California W, 77-54
Mar 1 Stanford L, 55-44
Mar 5 California L, 71-67
Statistics category Overall Conf
Games 31 4th 18 2nd
Points 2029 8th 1132 10th
Points per game 65.5 9th 62.9 10th
FG made per game 24.4 8th 23.4 8th
FG attempts per game 60.8 5th 58.6 7th
FG Pct 40.2 8th 39.9 9th
3PT made per game 5.5 9th 5.6 8th
3PT attempts per game 17.6 9th 16.5 12th
3PT Pct 31.3 8th 33.7 6th
FT made per game 11.1 8th 10.6 8th
FT attempt per game 16.3 4th 15.0 8th
FT Pct 68.1 12th 70.4 10th
Off rebounds per game 15.1 2nd 13.3 3rd
Def rebounds per game 24.1 12th 23.3 11th
Total rebounds per game 39.3 6th 36.7 6th
Rebound margin per game 6.6 3rd 1.6 5th
Assists per game 14.4 6th 14.4 4th
Turnovers per game 14.5 6th 13.6 6th
Steals per game 8.4 5th 6.9 7th
Blocks per game 2.0 12th 1.8 11th
Personal fouls per game 16.2 7th 16.1 7th
Points per game allowed 59.2 4th 62.0 5th
Opponents' Field goal percentage 40.5 9th 41.1 6th
Opponents' 3PT percentage 30.9 6th 33.8 9th
Home Attendance 49519 6th 34479 5th
Home Attendance average 2913 6th 3831 5th
Shooting
No. Yr Pos
0 Taya Hanson So G 31 12 20.8 1.5-5.1 30.2 1.0-3.5 29.0 0.5-0.6 78.9 4.6
1 Reili Richardson Sr G 31 31 27.8 3.1-8.8 35.0 1.7-4.7 36.7 2.0-2.4 84.0 10.0
3 Sara Bejedi Fr G 31 - 10.8 1.2-4.0 30.1 0.5-2.2 24.6 0.6-0.9 70.4 3.5
4 Kiara Russell Sr G 25 21 23.0 1.8-4.1 44.7 0.2-0.3 62.5 1.2-2.0 60.8 5.1
5 Jamie Loera So G 1 - 2.0 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - 0.0
11 Robbi Ryan Sr G 30 29 24.9 4.2-10.4 40.5 1.2-3.6 33.6 1.0-1.2 83.3 10.6
21 Sydnei Caldwell Fr G 18 - 6.7 0.5-1.3 37.5 0.1-0.6 20.0 0.4-0.9 43.8 1.5
22 Eboni Walker Fr F 31 - 19.5 2.7-5.2 51.9 0.0-0.0 - 1.1-1.7 66.0 6.5
23 Iris Mbulito So F 31 - 16.6 1.1-3.8 29.7 0.2-1.0 16.7 1.0-1.6 60.8 3.4
24 Bre'Yanna Sanders Jr G 23 - 5.7 0.4-1.0 37.5 0.1-0.5 25.0 0.0-0.1 50.0 1.0
32 Jayde Van Hyfte So F 31 31 23.4 1.8-4.0 44.0 0.0-0.3 11.1 1.1-1.7 61.1 4.6
33 Ja'Tavia Tapley Sr F 31 29 23.9 4.7-9.7 48.0 0.0-0.2 16.7 2.2-3.5 61.8 11.6
44 Eva Rubin Jr C - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
52 Jamie Ruden Sr C 22 2 13.7 3.1-7.4 42.0 0.7-1.9 38.1 0.5-0.5 100.0 7.4
  Totals     31 31 203.2 24.4-60.8 40.2 5.5-17.6 31.3 11.1-16.3 68.1 65.5
  Opponent     31 31 203.2 21.9-54.2 40.5 5.0-16.1 30.9 10.4-14.4 72.1 59.2
Ball control
No. Yr Pos
0 Taya Hanson So G 31 12 20.8 0.4 1.5 1.9 1.7 0.0 0.8 0.9 0.9 0.6 0.1
1 Reili Richardson Sr G 31 31 27.8 0.7 2.1 2.8 1.1 0.0 3.5 1.4 2.4 0.6 0.1
3 Sara Bejedi Fr G 31 - 10.8 0.1 0.9 1.0 1.2 0.0 0.5 1.2 0.4 0.5 0.0
4 Kiara Russell Sr G 25 21 23.0 1.2 3.0 4.2 1.7 0.0 2.4 1.4 1.7 1.5 0.1
5 Jamie Loera So G 1 - 2.0 1.0 0.0 1.0 0.0 - 0.0 0.0 - 0.0 0.0
11 Robbi Ryan Sr G 30 29 24.9 0.6 2.3 3.0 1.9 0.0 1.7 1.4 1.2 1.1 0.2
21 Sydnei Caldwell Fr G 18 - 6.7 0.4 0.8 1.2 0.8 0.0 0.4 0.3 1.4 0.3 0.1
22 Eboni Walker Fr F 31 - 19.5 2.8 2.0 4.8 1.5 0.0 0.7 1.2 0.6 1.0 0.3
23 Iris Mbulito So F 31 - 16.6 0.7 2.1 2.8 1.1 0.0 2.3 2.1 1.1 0.9 0.3
24 Bre'Yanna Sanders Jr G 23 - 5.7 0.3 0.5 0.9 0.4 0.0 0.1 0.3 0.4 0.2 0.0
32 Jayde Van Hyfte So F 31 31 23.4 2.9 2.1 5.0 2.3 0.1 0.9 1.2 0.8 0.7 0.2
33 Ja'Tavia Tapley Sr F 31 29 23.9 1.8 4.4 6.2 2.6 0.0 1.5 2.0 0.7 1.3 0.6
44 Eva Rubin Jr C - - - - - - - - - - - - -
52 Jamie Ruden Sr C 22 2 13.7 0.9 1.5 2.3 0.9 0.0 0.5 0.8 0.6 0.3 0.1
  Totals     31 31 203.2 15.1 24.1 39.3 16.2 0.2 14.4 14.5 1.0 8.4 2.0
  Opponent     31 31 203.2 9.8 22.8 32.7 17.7 0.4 9.8 16.3 0.6 7.0 3.3
Shooting
No. Yr Pos
0 Taya Hanson So G 31 12 645 48-159 30.2 31-107 29.0 15-19 78.9 142
1 Reili Richardson Sr G 31 31 861 96-274 35.0 54-147 36.7 63-75 84.0 309
3 Sara Bejedi Fr G 31 - 336 37-123 30.1 17-69 24.6 19-27 70.4 110
4 Kiara Russell Sr G 25 21 574 46-103 44.7 5-8 62.5 31-51 60.8 128
5 Jamie Loera So G 1 - 2 0-0 - 0-0 - 0-0 - 0
11 Robbi Ryan Sr G 30 29 746 126-311 40.5 36-107 33.6 30-36 83.3 318
21 Sydnei Caldwell Fr G 18 - 120 9-24 37.5 2-10 20.0 7-16 43.8 27
22 Eboni Walker Fr F 31 - 603 83-160 51.9 0-0 - 35-53 66.0 201
23 Iris Mbulito So F 31 - 516 35-118 29.7 5-30 16.7 31-51 60.8 106
24 Bre'Yanna Sanders Jr G 23 - 130 9-24 37.5 3-12 25.0 1-2 50.0 22
32 Jayde Van Hyfte So F 31 31 726 55-125 44.0 1-9 11.1 33-54 61.1 144
33 Ja'Tavia Tapley Sr F 31 29 740 145-302 48.0 1-6 16.7 68-110 61.8 359
44 Eva Rubin Jr C - - - 0-0 - 0-0 - 0-0 - 0
52 Jamie Ruden Sr C 22 2 301 68-162 42.0 16-42 38.1 11-11 100.0 163
  Totals     31 31 6300 757-1885 40.2 171-547 31.3 344-505 68.1 2029
  Opponent     31 31 6300 680-1680 40.5 154-498 30.9 321-445 72.1 1835
Ball control
No. Yr Pos
0 Taya Hanson So G 31 12 645 13 47 60 54 1 26 28 0.9 18 2
1 Reili Richardson Sr G 31 31 861 22 66 88 33 0 107 44 2.4 20 4
3 Sara Bejedi Fr G 31 - 336 4 28 32 38 0 15 36 0.4 17 0
4 Kiara Russell Sr G 25 21 574 31 74 105 43 0 60 35 1.7 37 2
5 Jamie Loera So G 1 - 2 1 0 1 0 - 0 0 - 0 0
11 Robbi Ryan Sr G 30 29 746 19 70 89 56 1 52 43 1.2 32 6
21 Sydnei Caldwell Fr G 18 - 120 7 15 22 15 0 7 5 1.4 5 1
22 Eboni Walker Fr F 31 - 603 87 63 150 48 0 21 38 0.6 30 10
23 Iris Mbulito So F 31 - 516 22 64 86 34 0 71 64 1.1 27 9
24 Bre'Yanna Sanders Jr G 23 - 130 8 12 20 9 0 3 8 0.4 5 1
32 Jayde Van Hyfte So F 31 31 726 89 65 154 72 2 27 36 0.8 22 5
33 Ja'Tavia Tapley Sr F 31 29 740 55 137 192 81 1 47 63 0.7 41 19
44 Eva Rubin Jr C - - - - - - - - - - - - -
52 Jamie Ruden Sr C 22 2 301 19 32 51 19 0 11 18 0.6 6 2
  Totals     31 31 6300 469 748 1217 502 5 447 448 1.0 260 61
  Opponent     31 31 6300 305 708 1013 548 13 303 504 0.6 218 101
Shooting
No. Yr Pos
0 Taya Hanson So G 31 12 20.8 3.0-9.9 30.2 1.9-6.6 29.0 0.9-1.2 78.9 8.8
1 Reili Richardson Sr G 31 31 27.8 4.5-12.7 35.0 2.5-6.8 36.7 2.9-3.5 84.0 14.4
3 Sara Bejedi Fr G 31 - 10.8 4.4-14.6 30.1 2.0-8.2 24.6 2.3-3.2 70.4 13.1
4 Kiara Russell Sr G 25 21 23.0 3.2-7.2 44.7 0.3-0.6 62.5 2.2-3.6 60.8 8.9
5 Jamie Loera So G 1 - 2.0 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - 0.0
11 Robbi Ryan Sr G 30 29 24.9 6.8-16.7 40.5 1.9-5.7 33.6 1.6-1.9 83.3 17.1
21 Sydnei Caldwell Fr G 18 - 6.7 3.0-8.0 37.5 0.7-3.3 20.0 2.3-5.3 43.8 9.0
22 Eboni Walker Fr F 31 - 19.5 5.5-10.6 51.9 0.0-0.0 - 2.3-3.5 66.0 13.3
23 Iris Mbulito So F 31 - 16.6 2.7-9.1 29.7 0.4-2.3 16.7 2.4-4.0 60.8 8.2
24 Bre'Yanna Sanders Jr G 23 - 5.7 2.8-7.4 37.5 0.9-3.7 25.0 0.3-0.6 50.0 6.8
32 Jayde Van Hyfte So F 31 31 23.4 3.0-6.9 44.0 0.1-0.5 11.1 1.8-3.0 61.1 7.9
33 Ja'Tavia Tapley Sr F 31 29 23.9 7.8-16.3 48.0 0.1-0.3 16.7 3.7-5.9 61.8 19.4
44 Eva Rubin Jr C - - - 0.0-0.0 - 0.0-0.0 - 0.0-0.0 - -
52 Jamie Ruden Sr C 22 2 13.7 9.0-21.5 42.0 2.1-5.6 38.1 1.5-1.5 100.0 21.7
  Totals     31 31 203.2 24.0-59.8 40.2 5.4-17.4 31.3 10.9-16.0 68.1 64.4
  Opponent     31 31 203.2 21.6-53.3 40.5 4.9-15.8 30.9 10.2-14.1 72.1 58.3
Ball control
No. Name Yr Pos gp gs mpg off/40 def/40 reb/40 pf/40 dq/40 ast/40 to/40 a/to stl/40 blk/40
0 Taya Hanson So G 31 12 20.8 0.8 2.9 3.7 3.3 0.1 1.6 1.7 0.9 1.1 0.1
1 Reili Richardson Sr G 31 31 27.8 1.0 3.1 4.1 1.5 0.0 5.0 2.0 2.4 0.9 0.2
3 Sara Bejedi Fr G 31 - 10.8 0.5 3.3 3.8 4.5 0.0 1.8 4.3 0.4 2.0 0.0
4 Kiara Russell Sr G 25 21 23.0 2.2 5.2 7.3 3.0 0.0 4.2 2.4 1.7 2.6 0.1
5 Jamie Loera So G 1 - 2.0 20.0 0.0 20.0 0.0 0.0 0.0 0.0 - 0.0 0.0
11 Robbi Ryan Sr G 30 29 24.9 1.0 3.8 4.8 3.0 0.1 2.8 2.3 1.2 1.7 0.3
21 Sydnei Caldwell Fr G 18 - 6.7 2.3 5.0 7.3 5.0 0.0 2.3 1.7 1.4 1.7 0.3
22 Eboni Walker Fr F 31 - 19.5 5.8 4.2 10.0 3.2 0.0 1.4 2.5 0.6 2.0 0.7
23 Iris Mbulito So F 31 - 16.6 1.7 5.0 6.7 2.6 0.0 5.5 5.0 1.1 2.1 0.7
24 Bre'Yanna Sanders Jr G 23 - 5.7 2.5 3.7 6.2 2.8 0.0 0.9 2.5 0.4 1.5 0.3
32 Jayde Van Hyfte So F 31 31 23.4 4.9 3.6 8.5 4.0 0.1 1.5 2.0 0.8 1.2 0.3
33 Ja'Tavia Tapley Sr F 31 29 23.9 3.0 7.4 10.4 4.4 0.1 2.5 3.4 0.7 2.2 1.0
44 Eva Rubin Jr C - - - - - - - - - - - - -
52 Jamie Ruden Sr C 22 2 13.7 2.5 4.3 6.8 2.5 0.0 1.5 2.4 0.6 0.8 0.3
  Totals     31 31 203.2 14.9 23.7 38.6 15.9 0.2 14.2 14.2 1.0 8.3 1.9
  Opponent     31 31 203.2 9.7 22.5 32.2 17.4 0.4 9.6 16.0 0.6 6.9 3.2
There was a problem with a Velocity script
Pageteaminfo-network-template
ErrorVM #printLineupTabs: too many arguments to macro. Wanted 0 got 3 at teaminfo-network-template[line 679, column 17]
Page source:
1:   ## PICK UP OPTIONS
2:   $website.include("options")
3:   #set ($options = $request.getAttribute("options"))
4: 
5:   #set ($locale = "en_us")
6:   #set ($locale = $options.get("locale"))
7: 
8:   #set ($showconf = true)
9:   #if ($options.get("stats_hide_conference") and $options.get("stats_hide_conference").equalsIgnoreCase("hide"))
10:     #set ($showconf = false)
11:   #end
12: 
13:   #set ($teamId = $attributes.get("teamId"))
14:   #set ($stats = $splits.overall)
15: 
16:   #set ($pos = "")
17:   #if ($sport.enumCode == 0) ## Football
18:     #set ($pos = "off")
19:   #elseif ($sport.enumCode == 2) ## Basketball
20:     #set ($pos = "sh")
21:   #elseif ($sport.enumCode == 3) ## Soccer
22:     #set ($pos = "kickers")
23:   #elseif ($sport.enumCode == 9) ## Field Hockey
24:     #set ($pos = "fielder")
25:   #end
26: 
27:   #set ($posEsc = $formatter.escapeXml($request.getParameter("pos").toLowerCase()))
28:   #if ($posEsc.length() > 0)
29:     #set ($pos = $posEsc)
30:   #end
31: 
32:   #if ($sport.enumCode == 2) ## Basketball
33:     #if ($pos == "bc")
34:       #set ($pos = "sh")
35:     #end
36:     #if ($pos == "bt")
37:       #set ($pos = "st")
38:     #end
39:     #if ($pos == "bm")
40:       #set ($pos = "sm")
41:     #end
42:   #end
43: 
44:   #if ($sport.enumCode == 3) ## Soccer
45:     #if ($pos == "goalie")
46:       #set ($pos = "kickers")
47:     #end
48:     #if ($pos == "gg")
49:       #set ($pos = "kg")
50:     #end
51:   #end
52:   #if ($sport.enumCode == 9) ## Field Hockey
53:     #if ($pos == "goalie")
54:       #set ($pos = "fielder")
55:     #end
56:     #if ($pos == "gg")
57:       #set ($pos = "kg")
58:     #end
59:   #end
60: 
61:   #set ($view = "profile")
62:   #if ($request.getParameter("view"))
63:     #set ($view = $formatter.escapeXml($!request.getParameter("view")))
64:   #end
65: 
66:   #if($briefsCategoriesLabels)
67:   	#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
68:   	#set($firstCategoryPos = $briefsCategoriesSeason.keySet().iterator().next())
69:   #end
70: 
71:   #set ($showRoster = false)
72:   #if ($options.get("stats_show_roster") and $options.get("stats_show_roster").equalsIgnoreCase("yes"))
73:     #set ($showRoster = true)
74:   #end
75: 
76:   #set ($showAttendance = true)
77:   #if ($options.get("stats_show_attendance") and $options.get("stats_show_attendance").equalsIgnoreCase("hide"))
78:     #set ($showAttendance = false)
79:   #end
80: 
81:   ## MACROS
82:   #macro (printResultAriaLabel $event)
83: 	#set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
84: 	#if ($event.neutralSite.length() > 0 || $event.home) 
85: 		#set ($ariaLabel = "${ariaLabel} vs.")
86: 	#else
87: 		#set ($ariaLabel = "${ariaLabel} at")
88: 	#end
89: 	#set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
90: 	#if ($event.neutralSite.length() > 0)
91: 		#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
92: 	#end
93: 	#set ($ariaLabel = "${ariaLabel} Box Score")
94: 	aria-label="$ariaLabel"
95:   #end
96:   
97:   #macro(printSubTab $active $url $label $class $ariaLabel)	
98:     <li #if ($active) class="active"#end>
99:   	  <a href="${url}" #if ($class.length() > 0)class="$!{class}"#end role="button" aria-label="${ariaLabel}: ${label} Stats">${label}</a>
100:   	</li>
101:   #end
102: 
103:   #macro(printSeasonGameMinutesTabs $r $v $ariaLabel)
104:   #if($briefsCategoriesLabels.containsKey("Game"))
105:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
106:     <div><ul class="clearfix">
107:   	#set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
108:   	#set($gamePos = $briefsCategoriesGame.keySet().iterator().next())
109:   	
110:   	## Print the Game tab
111:   	#printSubTab($pos.equals($gamePos), "${url}?view=${v}&r=${r}&pos=${gamePos}", "Game", "t_game", $ariaLabel)	
112:     	
113:   	## Print the Season tab
114:   	#printSubTab($pos.equals($firstCategoryPos), "${url}?view=${v}&r=${r}&pos=${firstCategoryPos}", "Season", "t_season", $ariaLabel)
115:     	
116:   	#if($briefsCategoriesLabels.containsKey("Minutes"))
117:   		#set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
118:   		#set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
119:     		
120:   		#set($showMinutesTab = false)
121:     		
122:   		#if($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
123:   			#set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
124:   			
125:   			#set($lineupMinOverallStat = $lineupMinOverallValues[0])
126:   			#set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
127:   			#set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
128:   			
129:   			#if($splits.overall[$lineupMinOverallStat] && $splits.overall[$lineupMinOverallStat] >= $lineupMinOverallMinNumericValue)
130:   				#set($showMinutesTab = true)
131:   			#end	
132:   		#end	
133:     		
134:   		## Print the Minutes tab
135:   	 	#if($showMinutesTab)
136:   			#printSubTab($pos.equals($minutesPos), "${url}?view=${v}&r=${r}&pos=${minutesPos}", "Minutes", "t_minutes", $ariaLabel)
137:   		#end
138:   		
139:   	#end
140:     </ul>
141:     </div>
142:     </div>
143:   #end
144:   #end
145: 
146:   #macro(printBriefCategory $briefCatLabel $briefCatPos $r)
147:   	#if($locale == "en_gb" && $briefCatLabel == "Defense")
148:       	#set($briefCatLabel = "Defence")
149:       #end
150:   	
151:   	#if($lineupDefaultSorting && $lineupDefaultSorting.containsKey($briefCatPos))
152:   		#set($sort = $lineupDefaultSorting.get($briefCatPos))
153:   	#end	
154:   	
155:   	#if($allowChooseSort)
156:   		#set ($sortEsc = $formatter.escapeXml($request.getParameter("sort")))
157:   		#if ($sortEsc.length() > 0)
158:   			#set ($sort = $sortEsc)
159:   		#end
160:   	#end
161:   	
162:   	#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=${briefCatPos}&r=${r}")
163:   	
164:   	#if($lineupMin && $lineupMin.containsKey($briefCatPos))
165:   		#set($minStat = $lineupMin.get($briefCatPos))
166:   		#set($url = $url + "&min=" + $minStat)
167:   	#end
168:   	
169:   	#if($lineupFilters)
170:   		#if($lineupFilters.containsKey("cs"))
171:   			#set($url = $url + "&cs=n")
172:   		#end
173:   		
174:   		#if($lineupFilters.containsKey("skipBlank"))
175:   		    #set($skipBlank = $lineupFilters.get("skipBlank"))	
176:   			
177:   			#if($skipBlank.contains($briefCatPos))
178:   				#set($url = $url + "&skipBlank=n")
179:   			#end	
180:   		#end	
181:   	#end	
182:   	
183: 	<div style="display:block; padding:5px 0; margin-bottom:10px; line-height:1; text-transform:uppercase; text-align:center" class="accent-bg"><strong>$briefCatLabel</strong></div>
184: 	
185:     $website.includeAgain($url)	
186:     
187:   #end ## printBriefCategory
188: 
189:   #macro(printBriefCategories $r)
190:   ## Set this for the inner page to pull something out
191:   #if ($r == "1")
192:     $!request.setAttribute("teamStats", $splits.conference)
193:   #else
194:     $!request.setAttribute("teamStats", $splits.overall)
195:   #end
196: 
197:   #if($briefsCategoriesLabels)
198:   	#set($allowChooseSort = false)
199:   	
200:   	#if($lineupFilters && $lineupFilters.containsKey("allowChooseSort"))
201:   		#set($allowChooseSort = true)
202:   	#end
203: 
204:     #if($briefsCategoriesLabels.containsKey("Game"))
205:   	  #set($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
206:       	
207:       ## Print Game categories tables
208:       ## Get the first Game category position
209:       #set($gamePos = $briefsCategoriesGame.keySet().iterator().next())
210:       
211:       ## GAME
212:       <div class="tab-panel clearfix #if ($pos.equals($gamePos)) active #end">
213:         #foreach($briefsCatGame in $briefsCategoriesGame.entrySet())
214:           #printBriefCategory($briefsCatGame.value, $briefsCatGame.key, $r)
215:         #end
216:       </div>
217: 
218:       ## Print the Season categories tables
219:   	  #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
220:    
221:       ## SEASON
222:       <div class="tab-panel clearfix #if ($pos.equals($firstCategoryPos)) active #end">
223:   		  #foreach($briefCat in $briefsCategoriesSeason.entrySet())
224:   			  #printBriefCategory($briefCat.value, $briefCat.key, $r)
225:   		  #end
226:       </div>
227:   		
228:   		
229:       ## Print the Minutes categories tables
230:   		#if($briefsCategoriesLabels.containsKey("Minutes"))
231:   		
232:   		  #set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
233:   		  #set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
234:       		
235:   		  #set($showMinutesTab = false)
236:   		  #if($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
237:           #set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
238:   			
239:           #set($lineupMinOverallStat = $lineupMinOverallValues[0])
240:           #set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
241:           #set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
242:   			
243:           #if($splits.overall[$lineupMinOverallStat] && $splits.overall[$lineupMinOverallStat] >= $lineupMinOverallMinNumericValue)
244:   				  #set($showMinutesTab = true)
245:           #end	
246:   		  #end
247: 
248:         #if ($showMinutesTab)
249:           ## MINUTES
250:           <div class="tab-panel clearfix #if ($pos.equals($minutesPos)) active #end">
251:     			  #foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet())
252:               #printBriefCategory($briefsCatMinutes.value, $briefsCatMinutes.key, $r)
253:     			  #end
254:           </div>
255:   			#end
256:   		#end ## end minutes
257: 
258:   	#else
259: 
260:   		#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
261:   		## SINGLE SEASON
262:   		#foreach($briefCat in $briefsCategoriesSeason.entrySet())
263:   			#printBriefCategory($briefCat.value, $briefCat.key, $r)
264:     	#end
265: 
266:   	#end
267: 
268:   #elseif($lineupFilters)
269: 
270:   	## All of the supported sports has lineupFilters, so print it without matter it does not have briefs category, yeah voleyball is you :)
271:   	#set ($sort = $formatter.escapeXml($request.getParameter("sort")))
272:   	#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&r=${r}")
273:   	$website.includeAgain($url) 
274: 
275:   #else
276:   	We do not support this sport
277:   #end
278: 
279:   #end ## printBriefCategories
280: 
281:   #macro (printLineupTabs $r $v $ariaLabel)
282:     #if($briefsCategoriesLabels.containsKey("Game"))
283:       <div class="tab-container secondary tab-container-floated clearfix" data-module="stats/tabs" data-type="secondary">
284:         #printSeasonGameMinutesTabs($r $v $ariaLabel)
285:         <div class="tab-panels tab-panels-floated clearfix">
286:           #printBriefCategories($r)
287:         </div>
288:       </div>
289:     #else
290:       #printBriefCategories($r)
291:     #end
292:   #end ## printLineupTabs
293: 
294:   #macro (printCategories $briefCategoryLabels $v $ariaLabel)
295:   <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
296:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
297:       <div>
298:         <ul class="clearfix">
299: 		#foreach($label in $briefCategoryLabels.entrySet())
300: 			#set($catLabel = $label.value)
301: 			#if ($locale == "en_gb" && $catLabel == "Defense")
302: 				#set ($catLabel = "Defence")
303: 			#end
304: 			<li #if ($pos == $label.key || ($pos.length() == 0 && $velocityCount == 1)) class="active" #end>  
305: 				<a href="${page.url}?view=${v}&pos=${label.key}" role="button" aria-label="${ariaLabel}: ${catLabel}">${catLabel}</a>
306: 			</li>
307: 		#end
308:         </ul>
309:       </div>
310:     </div>
311:     <div class="tab-panels">
312:       #foreach ($briefCat in $briefCategoryLabels.entrySet())
313:         #set ($class = "tab-panel clearfix")
314:         #if ($briefCat.key == $pos || ($velocityCount == 1 && $pos.length() == 0))
315:           #set ($class = "tab-panel active clearfix")
316:         #end
317:         <div class="${class}">
318:           <div class="stats-wrap clearfix">
319:             #if ($v == "gamelog")
320:               #gamelogData($briefCat.key)
321:             #elseif ($v == "splits")
322:               #splitsData($briefCat.key)
323:             #end
324:           </div>
325:         </div>
326:       #end  
327:     </div>
328:   </div> ## tab-container
329:   #end ## printCategories
330: 
331:   #macro (printHighlights)
332:   #if ($highlights)
333:     <div class="highlights highlights-standalone accent-bg">
334:       #foreach ($highlight in $highlights.keySet())
335:         #set ($value = "-")
336:         #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
337:         <div class="stat clearfix">
338:           <span class="stat-title">$!highlights.get($highlight)</span>
339:           <span class="stat-value">$!value</span>
340:         </div>
341:       #end
342:     </div>
343:   #end ## has highlights
344:   #end ## macro printHighlights
345: 
346:   #macro (gamelogData $p)
347:   #set ($gamelogStats = $gamelogs.get($p))
348: 
349:   <div class="stats-box full clearfix">
350:       <div class="scrollable">
351:           <div>
352:               <table>
353:                   <tr class="thead accent-bg">
354:                       <th class="text">Date</th>
355:                       <th class="pinned-col text">Opponent</th>
356:                       <th>Score</th>
357:                       #foreach ($gamelog in $gamelogStats)
358:                         <th>$gamelog</th>
359:                       #end
360:                   </tr>
361:                   #foreach ($event in $events)
362:   	                <tr>
363:   	                    <td class="text">
364:   	                      $formatter.formatDate($event.event.date, "MMM d") 
365:   	                      #if (!$event.event.overall)
366:   	                        #set ($atLeastOneNotOverall = true) # 
367:   	                      #end
368:   	                    </td>
369:   	                    <td class="pinned-col text">
370:   	                        #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
371:   	                        $event.event.opponent.name
372:   	                    </td>
373:   	                    <td>
374:   	                        #if ($event.event.statusCode >= 0)
375:   	                          #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
376:                                   <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
377:   	                          #else
378:   	                            ${event.event.APResult}
379:   	                          #end
380:   	                        #else &nbsp; #end
381:   	                    </td>
382:   	                    #foreach ($gamelog in $gamelogStats.keySet())
383:   	                      #set ($value = "-")
384:   	                      #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
385:   	                      <td>$value</td>
386:   	                    #end
387:   	                </tr>
388:                   #end
389:               </table>
390:           </div>
391:       </div> ## scrollable
392:   </div> ## stats-box
393: 
394:   #end ## gamelogData
395: 
396:   #macro (printRecentGames)
397:   <table>
398:       <tr class="thead accent-bg"><th colspan="3">Recent Games</th></tr>
399: 
400:       #set ($eventEnd = -1)
401:       #foreach ($event in $events)
402:         #if ($event.event.result.resolved)
403:           #set ($eventEnd = $velocityCount)
404:         #end
405:       #end
406: 
407:       #set ($eventStart = $eventEnd - 5)
408:       #if ($eventStart < 0) #set ($eventStart = 0) #end
409: 
410:       #foreach ($event in $events)
411:       #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
412:       <tr>
413:           <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
414:           <td class="text">
415:               #if ($event.event.neutralSite.length() > 0) vs.
416:               #elseif (!$event.event.home) at
417:               #else ## nothing for a home game
418:               #end
419:               $event.event.opponent.name
420:           </td>
421:           <td class="text">
422:               #if ($event.event.statusCode >= 0)
423:               #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
424:                   <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
425:               #else
426:               ${event.event.APResult}
427:               #end
428:               #end
429:           </td>
430:       </tr>
431:       #end ## if
432:       #end
433:   </table>
434:   #end ## printRecentGames
435: 
436:   #macro (split $statPosBriefs $label $stats)
437:     <tr>
438:       <td class="pinned-col text">${label}</td>
439:       #foreach ($brief in $statPosBriefs.keySet())
440:         #set ($value = "-")
441:         #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
442:         <td>#if ($value.length() > 0) $value #else - #end</td>
443:       #end
444:     </tr>
445:   #end ## split
446: 
447:   #macro (splitsData $p)
448:   #set ($statPosBriefs = $briefs.get($p))
449:   #set ($colspan = $statPosBriefs.size())  
450:     
451:   #if ($statPosBriefs.size() > 0)
452:   <div class="stats-box full clearfix">
453:   <div class="scrollable">
454:   <div>
455:   <table>
456:     <tr class="accent-bg">
457:       <th class="pinned-col">&nbsp;</th>
458:       #foreach ($brief in $statPosBriefs)
459:         <th>$brief</th>
460:       #end
461:     </tr>
462: 
463:   #split($statPosBriefs, "Total", $splits.overall)
464:   #if ($showconf)
465:     #split($statPosBriefs, "Conference", $splits.conference)
466:     #split($statPosBriefs, "Exhibition", $splits.exhibition)
467:   #else
468:     #split($statPosBriefs, "Exhibition", $splits.exhibition)
469:   #end ## hide overall/conf
470: 
471:   <tr class="empty-row">
472: 	<td class="pinned-col">&nbsp;</td>
473: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
474:   </tr>
475: 
476:   #split($statPosBriefs, "Home", $splits.home)
477:   #split($statPosBriefs, "Away", $splits.away)
478:   #split($statPosBriefs, "Neutral", $splits.neutral)
479: 
480:   <tr class="empty-row">
481: 	<td class="pinned-col">&nbsp;</td>
482: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
483:   </tr>
484: 
485:   #foreach($gameResult in $gamesResults.entrySet())
486:     #if ($gameResult.key == "wins")
487:       #set ($splitGameResult = $splits.inWins)
488:     #elseif ($gameResult.key == "losses")
489:       #set ($splitGameResult = $splits.inLosses)
490:     #elseif ($gameResult.key == "ties")
491:       #set ($splitGameResult = $splits.inTies)
492:     #end
493:     
494:     #split($statPosBriefs, $gameResult.value, $splitGameResult)
495:   #end
496: 
497:   <tr class="empty-row">
498: 	<td class="pinned-col">&nbsp;</td>
499: 	<td colspan="$colspan"><div class="empty-cell">-</div></td>
500:   </tr>
501: 
502:   #if ($monthsPlayed and $monthsPlayed.size() > 0)
503:     #foreach($month in $monthsPlayed)
504:       #if ($month == 'January')
505:         #set ($splitMonth = $splits.january)
506:       #elseif ($month == 'February')
507:         #set ($splitMonth = $splits.february)
508:       #elseif ($month == 'March')
509:         #set($splitMonth = $splits.march)
510:       #elseif ($month == 'April')
511:         #set($splitMonth = $splits.april)
512:       #elseif ($month == 'May')
513:         #set ($splitMonth = $splits.may)
514:       #elseif ($month == 'June')
515:         #set ($splitMonth = $splits.june)
516:       #elseif ($month == 'July')
517:         #set($splitMonth = $splits.july)
518:       #elseif ($month == 'August')
519:         #set ($splitMonth = $splits.august)
520:       #elseif ($month == 'September')
521:         #set($splitMonth = $splits.september)
522:       #elseif ($month == 'October')
523:         #set($splitMonth = $splits.october)
524:       #elseif ($month == 'November')
525:         #set ($splitMonth = $splits.november)
526:       #elseif ($month == 'December')
527:         #set($splitMonth = $splits.december)
528:       #end
529:       
530:       #split($statPosBriefs, $month, $splitMonth)
531:     #end ## foreach
532:   #end
533:   </table>
534:   </div>
535:   </div> ## scrollable
536:   </div> ## srollable-table
537:   #end
538: 
539:   #end ## splitsData
540: 
541: 
542:   ############ END MACROS #############
543: 
544: #set ($pageTitle = $page.title)
545: #if ($pageTitle.trim().length() == 0)
546: 	#set ($season = "")
547: 	#if ($page.url.matches(".*/\d{4}-\d{2}/.*"))
548: 		#set ($truncateStr = $page.url.split("/\d{4}-\d{2}/").get(0))
549: 		#set ($season = $page.url.replace($truncateStr, "").substring(1, 8))
550: 	#end
551: 	
552: 	#set ($gender = "")
553: 	#if ($sport.enumCode == 6 or $sport.enumCode == 10)
554: 	#else
555: 		#if ($page.url.matches(".*/sports/m.*") || $page.url.matches(".*/sports/m-*"))
556: 			##set ($gender = "Men's")
557: 		#elseif ($page.url.matches(".*/sports/w.*") || $page.url.matches(".*/sports/w-*"))
558: 			##set ($gender = "Women's")
559: 		#end
560: 	#end
561: 	
562: 	#set ($pageTitle = "${season} ${gender} ${sport} Statistics")
563: 	
564: 	#if ($attributes.get("school_name").length() > 0)
565: 		#set ($pageTitle = "${pageTitle} - ${attributes.get('school_name')}")
566: 	#end
567: #end
568: 
569: <head><title>$pageTitle</title></head>
570: <h1>$pageTitle</h1>
571: 	
572: 
573:   <div class="stats-container" data-module="stats/responsive-container">
574: 
575:   #printHighlights  
576: 
577:   ## TABS
578:   <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
579:     <div class="tab-nav" data-module="jscroll" data-momentum="false">
580:         <div>
581:             <ul class="clearfix">
582:                 <li #if ($view == "profile")class="active"#end><a href="${page.url}?view=profile">Team Profile</a></li>
583:                 #if ($showRoster)
584:                   <li #if ($view == "roster")class="active"#end><a href="${page.url}?view=roster">Roster</a></li>
585:                 #end
586:                 <li #if ($view == "lineup")class="active"#end><a href="${page.url}?view=lineup">Lineup</a></li>
587:                 <li #if ($view == "gamelog")class="active"#end><a href="${page.url}?view=gamelog">Game Log</a></li>
588:                 <li #if ($view == "splits")class="active"#end><a href="${page.url}?view=splits">Split Stats</a></li>
589: 					
590: 				#set ($coachesViewUrl = "${page.url}?tmpl=teaminfo-network-monospace-template")
591: 				#set ($enumCode = $sport.enumCode)
592: 				#if ($enumCode == 2)
593: 					#set ($coachesViewUrl = "${coachesViewUrl}&sort=ptspg") 
594: 				#elseif ($enumCode == 1 || $enumCode == 11)
595: 					#set ($coachesViewUrl = "${coachesViewUrl}&sort=ab&pos=h")
596: 				#end
597: 				#if ($enumCode == 7 || $enumCode == 8 || $enumCode > 11) #else
598: 					<li data-skip="true"><a href="$coachesViewUrl" target="_blank">Coach's View</a></li>
599: 				#end
600:                 #if ($showAttendance)
601:                   <li #if ($view == "attendance")class="active"#end><a href="${page.url}?view=attendance">Attendance</a></li>
602:                 #end
603:             </ul>
604:         </div>
605:     </div> ## tab-nav
606: 
607:     <div class="tab-panels clearfix">
608:       ## TEAM PROFILE
609:       #set ($class = "tab-panel clearfix")
610:       #if ($view == "profile")
611:         #set ($class = "tab-panel active clearfix")
612:       #end
613:       <div class="${class}">
614:         <div class="clearfix stats-wrap">
615:           <div class="stats-box half">
616:             ## SCHEDULE INFORMATION
617:             $website.include("schedule?teamId=${teamId}&tmpl=schedule-data-template")
618: 
619:             #printRecentGames
620: 
621:           </div> ## stats-box
622: 
623:           <div class="stats-box half">
624:             ## RANKINGS
625:             $website.include("../teams?tmpl=stats-teams-rank-template&rank=${teamId}")
626:           </div>
627: 
628:         </div> ## stats-wrap
629:       </div> ## team profile
630: 
631:       ## ROSTER
632:       #if ($showRoster)
633:         #set ($class = "tab-panel clearfix")
634:         #if ($view == "roster")
635:           #set ($class = "tab-panel active clearfix")
636:         #end
637:         <div class="${class}">
638:           $website.includeAgain("../players?teamId=${teamId}&view=roster&tmpl=stats-bios-template")
639:         </div>
640:       #end
641: 
642:       ## LINEUP
643:       #set ($class = "tab-panel clearfix")
644:       #if ($view == "lineup")
645:         #set ($class = "tab-panel active clearfix")
646:       #end
647: 
648:       <div class="${class}">
649:         #set ($restriction = "0")
650:         #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r")))
651:         #if ($restrictionEsc.length() > 0)
652:           #set ($restriction = $restrictionEsc)
653:         #end
654: 
655:         ## start of overall/conference
656:         #set ($url = $request.requestURI)
657:         #if ($showconf)
658:           <div class="tab-container secondary #if($briefsCategoriesLabels.containsKey("Game")) tab-container-floated #end
659:            clearfix" data-module="stats/tabs" data-type="secondary">
660:             <div class="tab-nav" data-module="jscroll" data-momentum="false">
661:               <div>
662:                 <ul class="clearfix">
663:                   #printSubTab($restriction.equals("0"), "${url}?view=lineup&r=0&pos=${pos}", "Overall", "first t_overall", 'Lineup')
664:                   #printSubTab($restriction.equals("1"), "${url}?view=lineup&r=1&pos=${pos}", "Conference", "t_conf", 'Lineup')
665:                 </ul>
666:               </div>
667:             </div> ## tab-nav
668: 
669:             ## overall/conference tab panels
670:             <div class="tab-panels clearfix">
671: 
672:               ## overall
673:               <div class="tab-panel #if ($restriction.equals("0")) active #end">
674:                 #printLineupTabs(0 'lineup' 'Lineup: Overall Stats')
675:               </div> ## overall tab-panel
676: 
677:               ## conference
678:               <div class="tab-panel #if ($restriction.equals("1")) active #end">
679:                 #printLineupTabs(1 'lineup' 'Lineup: Conference Stats')
680:               </div> ## conference tab-panel
681: 
682:             </div> ## overall/conference tab-panels
683:           </div> ## tab-container
684: 
685:         #else ## no overall conf
686: 		  #set ($lineupAriaLabel = "Lineup: Overall Stats")
687: 		  #if ($restriction == 1)
688: 		    #set ($lineupAriaLabel = "Lineup: Conference Stats")	
689: 		  #end	
690:           #printLineupTabs($restriction 'lineup' $lineupAriaLabel)
691:         #end ## overall/conf
692:            
693:         Download roster:
694:         <a href="../players?teamId=${attributes.teamId}&view=ext">${rosterExtension} (First Last) </a> | 
695:         <a href="../players?teamId=${attributes.teamId}&view=ext&type=lf"> ${rosterExtension} (Last, First)</a>
696:         #if ($rosterExtraExtension)
697:           <a href="../players?teamId=${attributes.teamId}&view=exte">${rosterExtraExtension} (First Last)</a> | 
698:           <a href="../players?teamId=${attributes.teamId}&view=exte&type=lf">${rosterExtraExtension} (Last, First)</a>
699:         #end
700: 
701:       </div> ##lineup
702: 
703:       ## GAMELOG
704:       #set ($class = "tab-panel clearfix")
705:       #if ($view == "gamelog")
706:         #set ($class = "tab-panel active clearfix")
707:       #end
708:       <div class="${class}">
709:         #if($gamelogsCategoriesLabels && $gamelogsCategoriesLabels.size() > 1)
710:           #printCategories($gamelogsCategoriesLabels 'gamelog' 'Game log')
711:         #else
712:           <div class="stats-wrap clearfix">#gamelogData($pos)</div>
713:         #end ## gamelogsCategoriesLabels
714: 
715:       </div> ## gamelog
716: 
717:       ## SPLITS
718:       #set ($class = "tab-panel clearfix")
719:       #if ($view == "splits")
720:         #set ($class = "tab-panel active clearfix")
721:       #end
722:       <div class="${class}">
723:       #if($briefsTeamCategoriesLabels && $briefsTeamCategoriesLabels.size() > 1)
724:           #printCategories($briefsTeamCategoriesLabels 'splits' 'Splits Stats')
725:         #else
726:           <div class="stats-wrap clearfix">#splitsData($pos)</div>
727:         #end ## briefsTeamCategoriesLabels
728:       </div> ## splits
729: 
730: 
731:       ## ATTENDANCE
732:       #if ($showAttendance)
733:         #set ($class = "tab-panel clearfix")
734:         #if ($view == "attendance")
735:           #set ($class = "tab-panel active clearfix")
736:         #end
737:         <div class="${class}">
738:           <div class="clearfix stats-wrap">
739:             <div class="stats-box full">
740:               <div class="scrollable">
741:               <div>
742:               <table>
743:                 <tr class="accent-bg">
744:                   <th class="text">Date</th>
745:                   <th class="text pinned-col">Opponent</th>
746:                   <th>Score</th>
747:                   <th>Attend</th>
748:                 </tr>
749:                 #set ($counter = 0)
750:                 #foreach ($event in $events)
751:                 <tr>
752:                   <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
753:                   <td class="text pinned-col">
754:                   #if ($event.event.neutralSite.length() > 0) vs.
755:                   #elseif (!$event.event.home) at
756:                   #else ## nothing for a home game
757:                   #end
758:                   $event.event.opponent.name
759:                   </td>
760:                   <td>
761:                   #if ($event.event.statusCode >= 0)
762:                     #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
763:                         <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
764:                     #else
765:                       ${event.event.result}
766:                     #end
767:                   #else &nbsp; #end
768:                   </td>
769:                   <td>
770:                   #set ($value = "-")
771:                   #set ($value = $!formatter.formatNumber($event.stats.get('at'), $formats.get('at')))
772:                   #if ($value.length() > 0)$value#else - #end
773:                   </td>
774:               </tr>
775:               #end
776:             </table>
777:             </div>
778:             </div> ## scrollable
779:             </div> ## stats-box
780:           </div> ## stats-wrap
781:         </div> ## attendance
782:       #end ## showAttendance
783: 
784:     </div> ## tab-panels
785:   </div> ## tab-container
786:   </div> ## stats-container
787:   $wiki.su