2019-20 Football Statistics - Washington State
Yds
505.2
Rush
68.1
Pass
437.2
Pts/game
37.8
Yds allowed
452.5
Rush allowed
185.5
Pass allowed
267.0
Pts allowed/game
31.4
Schedule Summary | |
---|---|
Overall (Pct.) | 6-7 (.462) |
Conference (Pct.) | 3-6 (.333) |
Streak | Lost 2 |
Home | 5-1 |
Away | 0-5 |
Neutral | 1-1 |
Full Scores and Schedule » |
Recent Games | ||
---|---|---|
Oct 26 | at Oregon | L, 37-35 |
Nov 9 | at California | L, 33-20 |
Nov 16 | Stanford | W, 49-22 |
Nov 23 | Oregon State | W, 54-53 |
Nov 29 | at Washington | L, 31-13 |
Dec 27 | vs. Air Force | L, 31-21 |
Statistics category | Overall | Conf | ||
---|---|---|---|---|
Games | 13 | 3rd | 9 | 12th |
Scoring | 491 | 2nd | 322 | 2nd |
Points per game | 37.8 | 1st | 35.8 | 2nd |
Total offense | 6568 | 1st | 4501 | 1st |
Yards per game | 505.2 | 1st | 500.1 | 1st |
Passing yards | 5683 | 1st | 3904 | 1st |
Comp-Att-Int | 505-710-16 | 1st | 369-529-14 | 1st |
Passing yards per game | 437.2 | 1st | 433.8 | 1st |
Passing yards per attempt | 8.0 | 4th | 7.4 | 8th |
Passing yards per completion | 11.3 | 11th | 10.6 | 12th |
Passing touchdowns | 50 | 1st | 33 | 1st |
Rushing yards | 885 | 12th | 597 | 12th |
Rushing attempts | 210 | 12th | 148 | 12th |
Rushing yards per game | 68.1 | 12th | 66.3 | 12th |
Yards per rush | 4.2 | 5th | 4.0 | 5th |
Rushing touchdowns | 12 | 11th | 7 | 11th |
1st downs | 335 | 1st | 242 | 1st |
Rushing 1st downs | 54 | 12th | 37 | 12th |
Passing 1st downs | 258 | 1st | 184 | 1st |
Penalty 1st downs | 23 | 6th | 21 | 3rd |
1st downs per game | 25.8 | 1st | 26.9 | 1st |
3rd-down conversions | 60-141 | 12th | 48-108 | 9th |
3rd down % | 43% | 4th | 44% | 5th |
4th-down conversions | 13-22 | 6th | 8-14 | 6th |
4th down % | 59% | 5th | 57% | 5th |
Kick returns (No.-Yards) | 40-858 | 2nd | 30-658 | 1st |
Kick return average | 21.4 | 8th | 21.9 | 7th |
Punt returns (No.-Yards) | 6-97 | 8th | 4-52 | 9th |
Punt return average | 16.2 | 2nd | 13.0 | 4th |
Field goals | 20-21 | 2nd | 15-16 | 3rd |
Field goal % | 95.2% | 1st | 93.8% | 1st |
PATs | 55-58 | 3rd | 33-36 | 6th |
PAT % | 94.8% | 12th | 91.7% | 12th |
Punts (No.-Yards) | 30-1352 | 12th | 22-1039 | 11th |
Average per punt | 45.1 | 2nd | 47.2 | 1st |
Red zone scores | 61-71 | 1st | 42-49 | 1st |
Red zone % | 86% | 5th | 86% | 6th |
Red zone touchdowns | 45-71 | 1st | 29-49 | 1st |
Red zone touchdown % | 63% | 6th | 59% | 7th |
Fumbles-lost | 12-9 | 7th | 11-8 | 4th |
Fumbles recovered | 9 | 2nd | 2 | 10th |
Defensive INTs | 10 | 7th | 7 | 7th |
Interception returns (No.-Yds) | 10-126 | 5th | 7-75 | 4th |
Interception return average | 12.6 | 4th | 10.7 | 4th |
Defensive TDs | 0 | 8th | 0 | 10th |
Tackles | 838 | 6th | 558 | 8th |
Sacks | 23 | 11th | 17 | 9th |
Penalties | 85 | 7th | 57 | 5th |
Penalty yards | 794 | 8th | 482 | 5th |
Time of possession per game | 29:20 | 8th | 30:27 | 5th |
Home Attendance | 171247 | 12th | 116434 | 12th |
Home Attendance average | 28541 | 12th | 29109 | 12th |
Passing
No. | Name | Yr | Pos | gp | comp | att | pct | yds | y/g | y/a | td | int | lg | effic |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1H | Anthony Gordon | Sr | 13 | 493 | 689 | 71.6% | 5579 | 429.2 | 8.1 | 48 | 16 | 65 | 157.9 | |
0D | Gage Gubrud | Sr | 2 | 10 | 13 | 76.9% | 89 | 44.5 | 6.8 | 1 | 0 | 26 | 159.8 | |
1J | Trey Tinsley | Sr | 3 | 2 | 6 | 33.3% | 15 | 5.0 | 2.5 | 1 | 0 | 11 | 109.3 | |
Totals | 13 | 505 | 710 | 71.1% | 5683 | 437.2 | 8.0 | 50 | 16 | 65 | 157.1 | |||
Opponent | 13 | 250 | 398 | 62.8% | 3471 | 267.0 | 8.7 | 23 | 10 | 94 | 150.1 |
Rushing
No. | Name | Yr | Pos | gp | rush | yds | y/g | avg | td | lg | fum | lost |
---|---|---|---|---|---|---|---|---|---|---|---|---|
21 | Max Borghi | So | 13 | 127 | 817 | 62.8 | 6.4 | 11 | 56 | - | - | |
16 | Deon McIntosh | Jr | 13 | 16 | 111 | 8.5 | 6.9 | 1 | 32 | 1 | 1 | |
3J | Clay Markoff | Jr | 7 | 9 | 25 | 3.6 | 2.8 | 0 | 8 | - | - | |
1H | Anthony Gordon | Sr | 13 | 51 | -20 | -1.5 | -0.4 | 0 | 17 | 5 | 2 | |
Totals | 13 | 210 | 885 | 68.1 | 4.2 | 12 | 56 | 12 | 9 | |||
Opponent | 13 | 488 | 2411 | 185.5 | 4.9 | 27 | 89 | 17 | 9 |
Receiving
No. | Name | Yr | Pos | gp | rec | rec/g | yds | y/g | avg | td | lg |
---|---|---|---|---|---|---|---|---|---|---|---|
21 | Max Borghi | So | 13 | 86 | 6.6 | 597 | 45.9 | 6.9 | 5 | 65 | |
8 | Jr. Easop Winston | Sr | 13 | 85 | 6.5 | 970 | 74.6 | 11.4 | 11 | 39 | |
19 | Brandon Arconado | Sr | 11 | 78 | 7.1 | 1109 | 100.8 | 14.2 | 7 | 44 | |
12 | Dezmon Patmon | Sr | 13 | 58 | 4.5 | 762 | 58.6 | 13.1 | 8 | 48 | |
0I | Renard Bell | Jr | 13 | 54 | 4.2 | 579 | 44.5 | 10.7 | 6 | 41 | |
5 | Travell Harris | So | 13 | 47 | 3.6 | 536 | 41.2 | 11.4 | 5 | 54 | |
0J | Tay Martin | Jr | 13 | 43 | 3.3 | 564 | 43.4 | 13.1 | 4 | 58 | |
88 | Rodrick Fisher | Fr | 13 | 19 | 1.5 | 265 | 20.4 | 13.9 | 1 | 58 | |
16 | Deon McIntosh | Jr | 13 | 17 | 1.3 | 113 | 8.7 | 6.6 | 2 | 41 | |
85 | Calvin Jackson Jr. | Sr | 4 | 10 | 2.5 | 117 | 29.3 | 11.7 | 1 | 36 | |
17 | Kassidy Woods | Fr | 10 | 6 | 0.6 | 58 | 5.8 | 9.7 | 0 | 26 | |
83 | Brandon Gray | Fr | 3 | 2 | 0.7 | 13 | 4.3 | 6.5 | 0 | 11 | |
Totals | 13 | 505 | - | 5683 | 437.2 | 11.3 | 50 | 65 | |||
Opponent | 13 | 250 | - | 3471 | 267.0 | 13.9 | 23 | 94 |
Kicking
No. | Name | Yr | Pos | gp | fgm | fga | pct | lg | xpm | xpa | pct | pts |
---|---|---|---|---|---|---|---|---|---|---|---|---|
40 | Blake Mazza | So | 13 | 20 | 21 | 95% | 51 | 55 | 57 | 96% | 115 | |
Totals | 13 | 20 | 21 | 95% | 51 | 55 | 58 | 95% | 115 | |||
Opponent | 13 | 12 | 19 | 63% | 50 | 46 | 48 | 96% | 82 |
Punting
No. | Name | Yr | Pos | gp | punt | yds | avg | lg | in20 | fc | tb | blk |
---|---|---|---|---|---|---|---|---|---|---|---|---|
94 | Oscar Draguicevich | Jr | 13 | 30 | 1352 | 45.1 | 62 | 12 | 15 | 1 | 0 | |
Totals | 13 | 30 | 1352 | 45.1 | 62 | 12 | 15 | 1 | 0 | |||
Opponent | 13 | 47 | 1857 | 39.5 | 59 | 20 | 21 | 4 | 0 |
Returns
No. | Name | Yr | Pos | kr | yds | avg | td | lg | pr | yds | avg | td | lg |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
5 | Travell Harris | So | 33 | 773 | 23.4 | 0 | 83 | 4 | 23 | 5.8 | 0 | 16 | |
88 | Rodrick Fisher | Fr | 4 | 64 | 16.0 | 0 | 23 | - | - | - | - | - | |
21 | Max Borghi | So | 2 | 21 | 10.5 | 0 | 25 | - | - | - | - | - | |
37 | Justus Rogers | Jr | 1 | 0 | 0.0 | 0 | 0 | - | - | - | - | - | |
8 | Jr. Easop Winston | Sr | - | - | - | - | - | 2 | 74 | 37.0 | 0 | 45 | |
Totals | 40 | 858 | 21.4 | 0 | 83 | 6 | 97 | 16.2 | 0 | 45 | |||
Opponent | 26 | 506 | 19.5 | 1 | 100 | 8 | 116 | 14.5 | 1 | 69 |
All-Purpose
No. | Name | Yr | Pos | gp | rush | rcv | pr | kr | yds | ypg |
---|---|---|---|---|---|---|---|---|---|---|
21 | Max Borghi | So | 13 | 817 | 597 | - | 21 | 1435 | 110.4 | |
5 | Travell Harris | So | 13 | - | 536 | 23 | 773 | 1332 | 102.5 | |
19 | Brandon Arconado | Sr | 11 | - | 1109 | - | - | 1109 | 100.8 | |
8 | Jr. Easop Winston | Sr | 13 | - | 970 | 74 | - | 1044 | 80.3 | |
12 | Dezmon Patmon | Sr | 13 | - | 762 | - | - | 762 | 58.6 | |
0I | Renard Bell | Jr | 13 | - | 579 | - | - | 579 | 44.5 | |
0J | Tay Martin | Jr | 13 | - | 564 | - | - | 564 | 43.4 | |
85 | Calvin Jackson Jr. | Sr | 4 | - | 117 | - | - | 117 | 29.3 | |
88 | Rodrick Fisher | Fr | 13 | - | 265 | - | 64 | 329 | 25.3 | |
16 | Deon McIntosh | Jr | 13 | 111 | 113 | - | - | 224 | 17.2 | |
17 | Kassidy Woods | Fr | 10 | - | 58 | - | - | 58 | 5.8 | |
83 | Brandon Gray | Fr | 3 | - | 13 | - | - | 13 | 4.3 | |
3J | Clay Markoff | Jr | 7 | 25 | - | - | - | 25 | 3.6 | |
Totals | 13 | 885 | 5683 | 97 | 858 | 7523 | 578.7 | |||
Opponent | 13 | 2411 | 3471 | 116 | 506 | 6504 | 500.3 |
Scoring
No. | Name | Yr | Pos | pts | pts/g | rush | rec | kr | pr | int | fum | xpm | fgm | 2pt | misc |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
40 | Blake Mazza | So | 115 | 8.8 | - | - | - | - | - | - | 55 | 20 | 0 | 0 | |
21 | Max Borghi | So | 96 | 7.4 | 11 | 5 | 0 | - | - | - | - | - | - | 0 | |
8 | Jr. Easop Winston | Sr | 66 | 5.1 | - | 11 | - | 0 | - | - | - | - | - | 0 | |
12 | Dezmon Patmon | Sr | 48 | 3.7 | - | 8 | - | - | - | - | - | - | - | 0 | |
19 | Brandon Arconado | Sr | 44 | 4.0 | - | 7 | - | - | - | - | 0 | - | 1 | 0 | |
0I | Renard Bell | Jr | 36 | 2.8 | - | 6 | - | - | - | - | - | - | - | 0 | |
5 | Travell Harris | So | 30 | 2.3 | - | 5 | 0 | 0 | - | - | - | - | - | 0 | |
0J | Tay Martin | Jr | 24 | 1.8 | - | 4 | - | - | - | - | - | - | - | 0 | |
16 | Deon McIntosh | Jr | 18 | 1.4 | 1 | 2 | - | - | - | - | - | - | - | 0 | |
88 | Rodrick Fisher | Fr | 6 | 0.5 | - | 1 | 0 | - | - | - | - | - | - | 0 | |
85 | Calvin Jackson Jr. | Sr | 6 | 1.5 | - | 1 | - | - | - | - | - | - | - | 0 | |
18 | George Hicks III | Jr | 2 | 0.2 | - | - | - | - | 0 | - | 0 | - | 1 | 0 | |
Totals | 491 | 37.8 | 12 | 50 | 0 | 0 | 0 | 0 | 55 | 20 | 2 | 0 | |||
Opponent | 408 | 31.4 | 27 | 23 | 1 | 1 | 1 | 0 | 46 | 12 | 4 | 0 |
Defense
No. | Name | Yr | Pos | gp | tkl | ast | tot | tkl/g | sck | yds | tfl | yds | ff | fr | yds | int | yds | brup | blk |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
13 | Jahad Woods | Jr | 13 | 73 | 68 | 141.0 | 10.8 | 3 | 12 | 10 | 24 | 2 | - | - | 1 | 0 | 3 | - | |
25 | Skyler Thomas | Jr | 13 | 41 | 31 | 72.0 | 5.5 | - | - | 2 | 3 | - | 2 | 13 | 4 | 72 | 3 | - | |
37 | Justus Rogers | Jr | 13 | 35 | 35 | 70.0 | 5.4 | 2 | 15 | 4.5 | 23 | 1 | - | - | - | - | 1 | - | |
4 | Marcus Strong | Sr | 13 | 46 | 20 | 66.0 | 5.1 | 1 | 1 | 3 | 5 | - | - | - | 2 | 39 | 5 | - | |
26 | Bryce Beekman | Jr | 13 | 37 | 23 | 60.0 | 4.6 | - | - | 2.5 | 4 | 1 | 1 | 0 | 1 | 0 | 2 | - | |
1 | Tyrese Ross | Fr | 13 | 23 | 10 | 33.0 | 2.5 | - | - | 1 | 1 | 1 | - | - | - | - | - | - | |
18 | George Hicks III | Jr | 13 | 22 | 9 | 31.0 | 2.4 | - | - | 1 | 1 | - | - | - | 1 | 0 | 5 | - | |
10 | Rone Stone Jr. | Fr | 13 | 19 | 12 | 31.0 | 2.4 | 2.5 | 20 | 3 | 20 | - | 1 | 0 | - | - | 1 | - | |
3 | Daniel Isom | Jr | 9 | 26 | 4 | 30.0 | 3.3 | 1 | 4 | 1 | 4 | 2 | - | - | - | - | 2 | - | |
82 | Travion Brown | Fr | 13 | 15 | 13 | 28.0 | 2.2 | - | - | 2 | 3 | - | - | - | - | - | - | - | |
92 | Will Rodgers III | Jr | 12 | 13 | 14 | 27.0 | 2.3 | 4 | 32 | 6 | 37 | - | - | - | - | - | - | - | |
35 | Armani Marsh | So | 13 | 16 | 8 | 24.0 | 1.8 | - | - | 0 | - | - | - | - | - | - | 2 | - | |
30 | Nnamdi Oquayo | Sr | 13 | 12 | 11 | 23.0 | 1.8 | 0.5 | 5 | 2 | 8 | 1 | - | - | - | - | - | - | |
27 | Willie Taylor III | So | 13 | 16 | 7 | 23.0 | 1.8 | 2 | 7 | 3.5 | 8 | 1 | - | - | - | - | 1 | - | |
90 | Misi Aiolupotea-Pei | Sr | 13 | 10 | 12 | 22.0 | 1.7 | 1.5 | 11 | 3 | 14 | - | 1 | 0 | - | - | - | 1 | |
50 | Karson Block | Sr | 13 | 9 | 13 | 22.0 | 1.7 | 2 | 11 | 4.5 | 18 | - | 1 | 0 | - | - | - | - | |
96 | Cosmas Kwete | Fr | 11 | 10 | 10 | 20.0 | 1.8 | - | - | 2 | 3 | - | 1 | 0 | - | - | - | - | |
98 | Dallas Hobbs | So | 13 | 11 | 4 | 15.0 | 1.2 | 2 | 12 | 5.5 | 26 | 1 | - | - | - | - | - | - | |
44 | Tristan Brock | Sr | 13 | 7 | 7 | 14.0 | 1.1 | - | - | 2.5 | 5 | 1 | - | - | - | - | - | - | |
9 | Lamonte McDougle | So | 13 | 6 | 8 | 14.0 | 1.1 | - | - | 2.5 | 4 | - | 1 | 0 | - | - | - | 1 | |
32 | Pat Nunn | Fr | 12 | 7 | 3 | 10.0 | .8 | - | - | 2 | 5 | 1 | - | - | - | - | 1 | - | |
51 | Hank Pladson | Fr | 10 | 4 | 4 | 8.0 | .8 | - | - | 2 | 3 | - | - | - | 1 | 15 | - | - | |
2 | Derrick Langford | Jr | 10 | 4 | 3 | 7.0 | .7 | - | - | 0 | - | - | - | - | - | - | 4 | - | |
41 | Dillon Sherman | Jr | 2 | 1 | 6 | 7.0 | 3.5 | 0.5 | 5 | 0.5 | 5 | - | - | - | - | - | - | - | |
31 | Trey Davis | Fr | 4 | 1 | 3 | 4.0 | 1.0 | - | - | 0 | - | - | - | - | - | - | - | - | |
58 | Fa'avae Fa'avae | So | 8 | 3 | 1 | 4.0 | .5 | 1 | 11 | 1 | 11 | - | - | - | - | - | - | - | |
28 | Chad Davis Jr. | So | 6 | 1 | 2 | 3.0 | .5 | - | - | 0 | - | - | 1 | 0 | - | - | - | - | |
42 | Halid Djibril | Fr | 13 | 3 | 0 | 3.0 | .2 | - | - | 0 | - | - | - | - | - | - | - | - | |
19 | Brandon Arconado | Sr | 11 | 2 | 0 | 2.0 | .2 | - | - | 0 | - | - | - | - | - | - | - | - | |
0I | Renard Bell | Jr | 13 | 1 | 1 | 2.0 | .2 | - | - | 0 | - | - | - | - | - | - | - | - | |
21 | Max Borghi | So | 13 | 2 | 0 | 2.0 | .2 | - | - | 0 | - | - | - | - | - | - | - | - | |
84 | Jesus Echeverria | So | 2 | 1 | 1 | 2.0 | 1.0 | - | - | 0 | - | - | - | - | - | - | - | - | |
5 | Travell Harris | So | 13 | 2 | 0 | 2.0 | .2 | - | - | 0 | - | - | - | - | - | - | - | - | |
0J | Tay Martin | Jr | 13 | 2 | 0 | 2.0 | .2 | - | - | 0 | - | - | - | - | - | - | - | - | |
93 | Christian Mejia | So | 2 | 1 | 1 | 2.0 | 1.0 | - | - | 0 | - | - | - | - | - | - | - | - | |
24 | Shahman Moore | Jr | 7 | 1 | 1 | 2.0 | .3 | - | - | 0 | - | - | - | - | - | - | - | - | |
12 | Dezmon Patmon | Sr | 13 | 1 | 1 | 2.0 | .2 | - | - | 0 | - | - | - | - | - | - | - | - | |
99 | Nicholas Sheetz | Fr | 4 | 0 | 2 | 2.0 | .5 | - | - | 0.5 | 2 | - | - | - | - | - | - | - | |
33 | Jack Crane | Jr | 13 | 1 | 0 | 1.0 | .1 | - | - | 0 | - | - | - | - | - | - | - | - | |
8 | Jr. Easop Winston | Sr | 13 | 1 | 0 | 1.0 | .1 | - | - | 0 | - | - | - | - | - | - | - | - | |
88 | Rodrick Fisher | Fr | 13 | 1 | 0 | 1.0 | .1 | - | - | 0 | - | - | - | - | - | - | - | - | |
85 | Calvin Jackson Jr. | Sr | 4 | 1 | 0 | 1.0 | .3 | - | - | 0 | - | - | - | - | - | - | - | - | |
80 | Brennan Jackson | Fr | 2 | 0 | 1 | 1.0 | .5 | - | - | 0.5 | 1 | - | - | - | - | - | - | - | |
34 | Simon Samarzich | Fr | 12 | 0 | 1 | 1.0 | .1 | - | - | 0 | - | - | - | - | - | - | - | - | |
Totals | 13 | 488 | 350 | 838.0 | 64.5 | 23 | 146 | 68 | 238 | 12 | 9 | 13 | 10 | 126 | 30 | 2 | |||
Opponent | 13 | 523 | 246 | 769.0 | 59.2 | 20 | 156 | 44 | 215 | 10 | 9 | 9 | 16 | 111 | 66 | 1 |
There was a problem with a Velocity script | |
Page | teaminfo-network-template |
Error | VM #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] && $tool.math.round($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: #splitsTeamNetworkData($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 #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 (splitTeamNetwork $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 (splitsTeamNetworkData $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"> </th> 458: #foreach ($brief in $statPosBriefs) 459: <th>$brief</th> 460: #end 461: </tr> 462: 463: #splitTeamNetwork($statPosBriefs, "Total", $splits.overall) 464: #if ($showconf) 465: #splitTeamNetwork($statPosBriefs, "Conference", $splits.conference) 466: #splitTeamNetwork($statPosBriefs, "Exhibition", $splits.exhibition) 467: #else 468: #splitTeamNetwork($statPosBriefs, "Exhibition", $splits.exhibition) 469: #end ## hide overall/conf 470: 471: <tr class="empty-row"> 472: <td class="pinned-col"> </td> 473: <td colspan="$colspan"><div class="empty-cell">-</div></td> 474: </tr> 475: 476: #splitTeamNetwork($statPosBriefs, "Home", $splits.home) 477: #splitTeamNetwork($statPosBriefs, "Away", $splits.away) 478: #splitTeamNetwork($statPosBriefs, "Neutral", $splits.neutral) 479: 480: <tr class="empty-row"> 481: <td class="pinned-col"> </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: #splitTeamNetwork($statPosBriefs, $gameResult.value, $splitGameResult) 495: #end 496: 497: <tr class="empty-row"> 498: <td class="pinned-col"> </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: #splitTeamNetwork($statPosBriefs, $month, $splitMonth) 531: #end ## foreach 532: #end 533: </table> 534: </div> 535: </div> ## scrollable 536: </div> ## srollable-table 537: #end 538: 539: #end ## splitsTeamNetworkData 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">#splitsTeamNetworkData($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 #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 |