2017-18 Softball Statistics - East Los Angeles

Games
38
Runs
223
Batting Average
.315
On Base Percentage
.369
Slugging Percentage
.435
Home Runs
14
Team Summary
  Record
Overall 21-17 (.553)
Conference 6-6 (.500)
Streak Won 1
Home 9-8
Away 7-7
Neutral 5-2
Recent Results
Date Opponent Result
Apr 13 at Glendale W, 11-5
Apr 16 Mt. San Jacinto W, 18-4
Apr 19 at Chaffey W, 6-4
Apr 20 Cerritos L, 10-4
Apr 23 at Pasadena City L, 2-1
Apr 24 at Rio Hondo W, 15-5
Team Stats
  Overall Conf
Games 38 12
At Bats 1065 356
Runs 223 67
Hits 335 98
Doubles 52 14
Triples 17 1
Home Runs 14 4
Runs Batted In 203 58
Extra Base Hits 83 19
Total Bases 463 126
Walks 74 20
Hit by pitch 21 8
Strikeouts 118 53
Sacrifice Flies 6 -
Sacrifice Hits 24 10
Hit into double play 4 1
Stolen Bases 21 4
Caught Stealing 2 -
Batting Average .315 .275
On Base Percentage .369 .328
Slugging Percentage .435 .354
Earned Run Average 5.35 4.25
Shutouts 3 2
At Bats Against 559 220
Batting Average Against .315 .309
Home Attendance 396 186
Home Attendance average 23.3 31
Hitting
No. Name Yr Pos g ab r h 2b 3b hr rbi bb k sb cs avg obp slg
1 Angelina Gonzales So SS/2B 38 138 26 50 13 2 - 24 6 10 2 - .362 .401 .486
7 Dominic De Alba So OF 38 131 35 39 2 2 1 19 2 18 7 - .298 .308 .366
27 Jessica Hernandez So UT 38 122 31 41 7 3 1 19 12 8 - - .336 .400 .467
34 Monet Manning So UT 37 120 39 62 11 4 10 39 11 8 3 - .517 .556 .925
9 Samantha Alvarado So INF/P 38 116 16 32 6 2 - 20 5 18 1 2 .276 .320 .362
6 Destiny Avena So UT 38 110 21 26 3 2 1 16 8 17 3 - .236 .311 .327
13 Julie Granadeno Fr 3B 33 91 13 28 6 1 - 33 10 6 - - .308 .375 .396
14 Natalie Acosta So OF 31 63 12 15 2 - - 10 8 8 3 - .238 .333 .270
8 Sara Serrano So INF 23 59 8 17 2 - - 11 2 4 - - .288 .344 .322
12 Ralynda Delarea So C 18 33 3 10 - - - 5 - 5 - - .303 .314 .303
24 Emily Sanchez So INF 12 19 5 5 - - - 0 3 - - - .263 .391 .263
37 Angelita Villalvazo Fr P 22 19 0 3 - 1 - 2 - 6 - - .158 .158 .263
5 Reanne Moreno Fr OF 10 14 1 2 - - - 0 3 7 - - .143 .294 .143
22 Majisty Shomo Fr P/OF 33 14 2 3 - - - 0 - 1 - - .214 .214 .214
44 Jessica Ramirez Fr 1B 9 11 3 1 - - - 3 2 2 1 - .091 .313 .091
13 Julie Granadeno FR 1 2 1 1 - - 1 2 - - - - .500 .500 2.000
3 Stephanie Castor Fr SS/2B 12 1 5 0 - - - 0 1 - 1 - .000 .500 .000
2 Miya Legaspi Fr OF/P 8 1 1 0 - - - 0 1 - - - .000 .500 .000
21 Kimberly Rodriguez Fr 2B 3 1 1 0 - - - 0 - - - - .000 .000 .000
  Totals     38 1065 223 335 52 17 14 203 74 118 21 2 .315 .369 .435
  Opponent     38 1088 216 343 52 14 12 198 99 91 46 6 .315 .376 .422
Extended Hitting
No. Name Yr Pos g hbp sf sh tb xbh hdp go fo go/fo pa
1 Angelina Gonzales So SS/2B 38 3 - - 67 15 - 12 19 0.63 147
7 Dominic De Alba So OF 38 - - 5 48 5 - 26 8 3.25 138
27 Jessica Hernandez So UT 38 1 - 2 57 11 - 15 18 0.83 137
34 Monet Manning So UT 37 1 1 1 111 25 2 14 10 1.40 134
9 Samantha Alvarado So INF/P 38 3 1 4 42 8 - 6 20 0.30 129
6 Destiny Avena So UT 38 4 - 5 36 6 1 24 15 1.60 127
13 Julie Granadeno Fr 3B 33 1 2 3 36 7 - 15 15 1.00 107
14 Natalie Acosta So OF 31 1 - 1 17 2 - 10 8 1.25 73
8 Sara Serrano So INF 23 3 - - 19 2 - 10 5 2.00 64
12 Ralynda Delarea So C 18 1 1 1 10 0 1 5 5 1.00 36
24 Emily Sanchez So INF 12 1 - 1 5 0 - 6 1 6.00 24
37 Angelita Villalvazo Fr P 22 - - - 5 1 - 2 4 0.50 19
5 Reanne Moreno Fr OF 10 - - 1 2 0 - 2 - - 18
44 Jessica Ramirez Fr 1B 9 2 1 - 1 0 - 3 2 1.50 16
22 Majisty Shomo Fr P/OF 33 - - - 3 0 - 3 3 1.00 14
3 Stephanie Castor Fr SS/2B 12 - - - 0 0 - 1 - - 2
13 Julie Granadeno FR 1 - - - 4 1 - - - - 2
2 Miya Legaspi Fr OF/P 8 - - - 0 0 - 1 - - 2
21 Kimberly Rodriguez Fr 2B 3 - - - 0 0 - - - - 1
  Totals     38 21 6 24 463 83 4 155 133 1.17 1190
  Opponent     38 9 4 20 459 78 2 178 107 1.66 1220
Pitching
No. Name Yr Pos app gs w l sv cg ip h r er bb k k/7 hr era
22 Majisty Shomo Fr P/OF 33 29 10 13 0 8 141.1 208 120 100 30 38 1.88 3 4.95
37 Angelita Villalvazo Fr P 19 5 6 3 2 1 64.0 67 50 44 40 41 4.48 4 4.81
9 Samantha Alvarado So INF/P 13 3 3 1 1 1 27.2 48 37 35 20 9 2.28 5 8.86
2 Miya Legaspi Fr OF/P 7 0 1 0 0 - 10.0 14 9 9 9 3 2.10 - 6.30
21 Kimberly Rodriguez Fr 2B 1 1 1 0 0 - 3.0 2 0 0 0 1 2.33 - 0.00
  Totals     38 38 21 17 3 10 246.0 339 216 188 99 92 2.62 12 5.35
  Opponent     38 38 17 21 2 21 241.0 335 223 182 72 118 3.43 15 5.29
Fielding
No. Name Yr Pos g tc po a e fpct dp sba rcs rcs% pb ci
27 Jessica Hernandez So UT 38 176 165 1 10 .943 1 - - - - -
6 Destiny Avena So UT 38 73 46 16 11 .849 3 7 1 .125 8 -
34 Monet Manning So UT 37 34 28 5 1 .971 1 - - - - -
1 Angelina Gonzales So SS/2B 38 88 25 51 12 .864 1 - - - - -
7 Dominic De Alba So OF 38 27 22 1 4 .852 1 - - - - -
9 Samantha Alvarado So INF/P 38 44 19 19 6 .864 - 2 - - - -
14 Natalie Acosta So OF 31 16 14 0 2 .875 - - - - - -
12 Ralynda Delarea So C 18 15 14 1 0 1.000 - 13 - - 2 -
13 Julie Granadeno Fr 3B 33 46 12 26 8 .826 1 - - - - -
8 Sara Serrano So INF 23 38 12 16 10 .737 - - - - - -
5 Reanne Moreno Fr OF 10 2 1 0 1 .500 - 5 - - - -
24 Emily Sanchez So INF 12 11 1 3 7 .364 - - - - - -
22 Majisty Shomo Fr P/OF 33 22 1 19 2 .909 1 16 1 .059 - -
3 Stephanie Castor Fr SS/2B 12 1 0 1 0 1.000 - - - - - -
13 Julie Granadeno FR 1 0 0 0 0 - - - - - - -
2 Miya Legaspi Fr OF/P 8 2 0 2 0 1.000 - 1 - - - -
44 Jessica Ramirez Fr 1B 9 0 0 0 0 - - - - - - -
21 Kimberly Rodriguez Fr 2B 3 3 0 3 0 1.000 - 2 - - - -
37 Angelita Villalvazo Fr P 22 18 0 16 2 .889 - 4 - - - -
  Totals     38 616 360 180 76 .877 2 46 1 .021 10 -
  Opponent     38 643 388 176 79 .877 4 21 1 .045 13 -
Hitting
No. Name Yr Pos g ab r h 2b 3b hr rbi bb k sb cs avg obp slg
1 Angelina Gonzales So SS/2B 12 46 8 16 2 - - 7 2 6 - - .348 .388 .391
7 Dominic De Alba So OF 12 43 11 9 1 - - 6 - 9 1 - .209 .209 .233
34 Monet Manning So UT 12 43 13 22 4 1 3 10 1 4 1 - .512 .523 .860
27 Jessica Hernandez So UT 12 39 12 7 - - 1 5 6 5 - - .179 .289 .256
9 Samantha Alvarado So INF/P 12 38 6 9 3 - - 5 2 10 - - .237 .293 .316
6 Destiny Avena So UT 12 36 4 9 1 - - 4 2 7 2 - .250 .341 .278
8 Sara Serrano So INF 10 31 4 10 1 - - 7 - 1 - - .323 .344 .355
13 Julie Granadeno Fr 3B 10 29 4 9 1 - - 9 4 1 - - .310 .394 .345
14 Natalie Acosta So OF 11 23 3 3 1 - - 3 3 2 - - .130 .259 .174
12 Ralynda Delarea So C 4 11 0 4 - - - 1 - 2 - - .364 .417 .364
37 Angelita Villalvazo Fr P 9 11 0 0 - - - 0 - 5 - - .000 .000 .000
5 Reanne Moreno Fr OF 1 2 0 0 - - - 0 - 1 - - .000 .000 .000
44 Jessica Ramirez Fr 1B 2 2 0 0 - - - 1 - - - - .000 .000 .000
21 Kimberly Rodriguez Fr 2B 2 1 0 0 - - - 0 - - - - .000 .000 .000
24 Emily Sanchez So INF 2 1 0 0 - - - 0 - - - - .000 .000 .000
3 Stephanie Castor Fr SS/2B 3 0 1 0 - - - 0 - - - - - - -
2 Miya Legaspi Fr OF/P 4 0 1 0 - - - 0 - - - - - - -
  Totals     12 356 67 98 14 1 4 58 20 53 4 - .275 .328 .354
  Opponent     12 363 63 112 18 1 3 59 29 23 15 2 .309 .364 .388
Extended Hitting
No. Name Yr Pos g hbp sf sh tb xbh hdp go fo go/fo pa
1 Angelina Gonzales So SS/2B 12 1 - - 18 2 - 4 9 0.44 49
7 Dominic De Alba So OF 12 - - 2 10 1 - 9 4 2.25 45
27 Jessica Hernandez So UT 12 - - - 10 1 - 4 9 0.44 45
6 Destiny Avena So UT 12 3 - 3 10 1 - 10 5 2.00 44
34 Monet Manning So UT 12 - - - 37 8 1 7 5 1.40 44
9 Samantha Alvarado So INF/P 12 1 - 1 12 3 - 4 8 0.50 42
13 Julie Granadeno Fr 3B 10 - - 2 10 1 - 5 8 0.63 35
8 Sara Serrano So INF 10 1 - - 11 1 - 6 4 1.50 32
14 Natalie Acosta So OF 11 1 - - 4 1 - 4 4 1.00 27
12 Ralynda Delarea So C 4 1 - 1 4 0 - 2 2 1.00 13
37 Angelita Villalvazo Fr P 9 - - - 0 0 - 2 4 0.50 11
5 Reanne Moreno Fr OF 1 - - 1 0 0 - 2 - - 3
44 Jessica Ramirez Fr 1B 2 - - - 0 0 - 1 - - 2
21 Kimberly Rodriguez Fr 2B 2 - - - 0 0 - - - - 1
24 Emily Sanchez So INF 2 - - - 0 0 - - - - 1
3 Stephanie Castor Fr SS/2B 3 - - - 0 0 - - - - 0
2 Miya Legaspi Fr OF/P 4 - - - 0 0 - - - - 0
  Totals     12 8 - 10 126 19 1 60 62 0.97 394
  Opponent     12 3 1 8 141 22 1 84 49 1.71 404
Pitching
No. Name Yr Pos app gs w l sv cg ip h r er bb k k/7 hr era
22 Majisty Shomo Fr P/OF 10 8 2 5 0 2 45.0 72 39 27 7 12 1.87 1 4.20
37 Angelita Villalvazo Fr P 7 3 3 1 0 1 27.1 29 19 17 16 9 2.30 1 4.35
2 Miya Legaspi Fr OF/P 3 0 0 0 0 - 3.1 4 2 2 5 1 2.10 - 4.20
21 Kimberly Rodriguez Fr 2B 1 1 1 0 0 - 3.0 2 0 0 0 1 2.33 - 0.00
9 Samantha Alvarado So INF/P 2 0 0 0 0 - 2.0 5 3 3 1 - .00 1 10.50
  Totals     12 12 6 6 0 3 80.2 112 63 49 29 23 2.00 3 4.25
  Opponent     12 12 6 6 1 5 81.0 98 67 48 20 53 4.58 4 4.15
Fielding
No. Name Yr Pos g tc po a e fpct dp sba rcs rcs% pb ci
27 Jessica Hernandez So UT 12 81 76 1 4 .951 - - - - - -
6 Destiny Avena So UT 12 30 17 9 4 .867 1 4 - - 3 -
9 Samantha Alvarado So INF/P 12 22 10 11 1 .955 - 2 - - - -
14 Natalie Acosta So OF 11 10 9 0 1 .900 - - - - - -
34 Monet Manning So UT 12 12 9 2 1 .917 1 - - - - -
7 Dominic De Alba So OF 12 8 8 0 0 1.000 - - - - - -
1 Angelina Gonzales So SS/2B 12 34 8 22 4 .882 - - - - - -
12 Ralynda Delarea So C 4 7 7 0 0 1.000 - 8 - - 1 -
13 Julie Granadeno Fr 3B 10 27 7 15 5 .815 - - - - - -
8 Sara Serrano So INF 10 17 7 5 5 .706 - - - - - -
3 Stephanie Castor Fr SS/2B 3 0 0 0 0 - - - - - - -
2 Miya Legaspi Fr OF/P 4 1 0 1 0 1.000 - - - - - -
5 Reanne Moreno Fr OF 1 0 0 0 0 - - - - - - -
44 Jessica Ramirez Fr 1B 2 0 0 0 0 - - - - - - -
21 Kimberly Rodriguez Fr 2B 2 3 0 3 0 1.000 - 2 - - - -
24 Emily Sanchez So INF 2 2 0 0 2 .000 - - - - - -
22 Majisty Shomo Fr P/OF 10 7 0 6 1 .857 - 6 - - - -
37 Angelita Villalvazo Fr P 9 9 0 8 1 .889 - 2 - - - -
13 Julie Granadeno FR - 0 - - - - - - - - - -
  Totals     12 270 158 83 29 .893 1 15 - - 4 -
  Opponent     12 255 159 60 36 .859 1 4 - - 8 -
Download roster: TRO (First Last) | TRO (Last, First) TRX (First Last) | TRX (Last, First)
Date Opponent Score ab r h 2b 3b hr rbi bb k sb cs
Jan 30 LA Mission W, 5-4 29 5 7 - - - 5 2 2 3 -
Feb 1 Santa Ana W, 6-3 31 6 13 4 1 - 6 3 3 1 -
Feb 6 El Camino L, 12-3 24 3 7 2 - - 3 3 - - -
Feb 8 at LA Harbor L, 8-0 14 0 3 1 - - 0 2 - - 1
Feb 13 Long Beach W, 6-4 26 6 8 1 2 - 6 2 7 1 -
Feb 15 at Compton W, 15-7 37 15 20 4 2 2 14 4 3 - -
Feb 16 vs. Ventura L, 17-3 20 3 6 - - 1 3 - 2 - -
Feb 16 vs. LA Valley L, 13-11 36 11 16 2 3 1 9 1 - - -
Feb 17 vs. Santa Barbara W, 2-1 25 2 8 1 - - 2 - 3 1 -
Feb 17 vs. Grossmont W, 11-5 30 11 11 2 1 - 11 4 2 - -
Feb 20 Pasadena City L, 7-4 25 4 5 2 - 2 4 2 5 - -
Feb 22 Mt. San Antonio L, 3-1 27 1 6 - 1 - 1 - 5 - -
Feb 23 at Antelope Valley L, 13-4 22 4 5 2 - - 3 1 3 - -
Feb 26 at Riverside L, 2-1 28 1 7 1 - - 0 - 2 - -
Mar 1 at Chaffey W, 10-7 34 10 12 1 - - 7 2 2 - -
Mar 6 at Rio Hondo W, 9-0 29 9 12 2 - - 8 2 3 - -
Mar 8 at El Camino L, 8-7 34 7 14 - 1 - 5 1 2 - -
Mar 13 LA Harbor W, 9-5 34 9 13 1 1 - 9 3 4 3 -
Mar 15 at Long Beach L, 5-1 26 1 6 - - - 1 - 5 - -
Mar 20 Compton W, 8-4 24 8 8 2 - - 7 5 4 2 -
Mar 24 vs. Allan Hancock W, 4-3 26 4 4 - 1 - 3 - 2 - 1
Mar 25 vs. Porterville W, 5-3 24 5 6 1 - 1 5 3 4 1 -
Mar 25 vs. Moorpark W, 6-0 24 6 8 1 - - 6 4 2 - -
Mar 27 at Mt. San Antonio W, 2-0 28 2 4 1 - - 1 3 8 1 -
Mar 29 at Cerritos L, 2-1 24 1 3 1 - 1 1 2 1 - -
Apr 3 Chaffey L, 13-3 27 3 7 2 - 1 3 1 3 1 -
Apr 4 Citrus W, 7-6 28 7 6 3 - - 7 4 3 - -
Apr 5 Rio Hondo W, 11-10 37 11 12 2 - - 11 4 3 1 -
Apr 8 Ventura W, 6-5 30 6 12 2 - - 6 - 4 - -
Apr 8 Fullerton L, 4-2 27 2 7 1 1 1 2 1 2 - -
Apr 10 Pasadena City L, 8-3 27 3 6 1 - - 3 1 5 - -
Apr 12 Mt. San Antonio L, 4-2 29 2 5 1 - - 2 3 9 - -
Apr 13 at Glendale W, 11-5 34 11 15 - - 2 10 1 1 2 -
Apr 16 Mt. San Jacinto W, 18-4 26 18 16 4 2 1 17 6 1 3 -
Apr 19 at Chaffey W, 6-4 36 6 10 1 - - 4 - - - -
Apr 20 Cerritos L, 10-4 26 4 8 2 1 - 4 2 3 - -
Apr 23 at Pasadena City L, 2-1 26 1 2 - - 1 1 - 8 - -
Apr 24 at Rio Hondo W, 15-5 31 15 17 1 - - 13 2 2 1 -
Date Opponent Score hbp sf sh tb xbh hdp go fo go/fo pa
Jan 30 LA Mission W, 5-4 - - - 7 0 - - - - 31
Feb 1 Santa Ana W, 6-3 - - 1 19 5 - - - - 35
Feb 6 El Camino L, 12-3 1 - 1 9 2 - - - - 29
Feb 8 at LA Harbor L, 8-0 - - 1 4 1 1 6 6 1.00 17
Feb 13 Long Beach W, 6-4 2 - - 13 3 - - - - 30
Feb 15 at Compton W, 15-7 - 1 1 34 8 1 6 10 .60 43
Feb 16 vs. Ventura L, 17-3 - - - 9 1 - - - - 20
Feb 16 vs. LA Valley L, 13-11 - - - 27 6 - 10 6 1.67 37
Feb 17 vs. Santa Barbara W, 2-1 - - 1 9 1 - - - - 26
Feb 17 vs. Grossmont W, 11-5 - - 1 15 3 - - - - 35
Feb 20 Pasadena City L, 7-4 - - 2 13 4 - 7 8 .88 29
Feb 22 Mt. San Antonio L, 3-1 2 - 1 8 1 - - - - 30
Feb 23 at Antelope Valley L, 13-4 1 - 1 7 2 1 9 2 4.50 25
Feb 26 at Riverside L, 2-1 - - 1 8 1 - 12 7 1.71 29
Mar 1 at Chaffey W, 10-7 1 - 1 13 1 - 12 6 2.00 38
Mar 6 at Rio Hondo W, 9-0 2 - 1 14 2 - 6 6 1.00 34
Mar 8 at El Camino L, 8-7 1 - - 16 1 - 9 7 1.29 36
Mar 13 LA Harbor W, 9-5 - - - 16 2 - - - - 37
Mar 15 at Long Beach L, 5-1 - - - 6 0 - - - - 26
Mar 20 Compton W, 8-4 2 - 3 10 2 - - - - 34
Mar 24 vs. Allan Hancock W, 4-3 - - - 6 1 - - - - 26
Mar 25 vs. Porterville W, 5-3 - - - 10 2 - - - - 27
Mar 25 vs. Moorpark W, 6-0 1 - - 9 1 - - - - 29
Mar 27 at Mt. San Antonio W, 2-0 - - - 5 1 - 9 4 2.25 31
Mar 29 at Cerritos L, 2-1 - - - 7 2 - 10 10 1.00 26
Apr 3 Chaffey L, 13-3 1 - - 12 3 - - - - 29
Apr 4 Citrus W, 7-6 - - 1 9 3 - - - - 33
Apr 5 Rio Hondo W, 11-10 2 - 1 14 2 - - - - 44
Apr 8 Ventura W, 6-5 1 - - 14 2 - - - - 31
Apr 8 Fullerton L, 4-2 1 - - 13 3 - 10 8 1.25 29
Apr 10 Pasadena City L, 8-3 - - - 7 1 1 7 7 1.00 28
Apr 12 Mt. San Antonio L, 4-2 - - 2 6 1 - - - - 34
Apr 13 at Glendale W, 11-5 - 2 - 21 2 - 14 6 2.33 37
Apr 16 Mt. San Jacinto W, 18-4 3 1 - 27 7 - - - - 36
Apr 19 at Chaffey W, 6-4 - - - 11 1 - 8 13 .62 36
Apr 20 Cerritos L, 10-4 - 2 2 12 3 - 9 9 1.00 32
Apr 23 at Pasadena City L, 2-1 - - - 5 1 - 6 10 .60 26
Apr 24 at Rio Hondo W, 15-5 - - 2 18 1 - 5 8 .63 35
Date Opponent Score w l sv ip h r er era bb k hr
Jan 30 LA Mission W, 5-4 1 0 1 7.0 11 4 4 4.00 3 2 -
Feb 1 Santa Ana W, 6-3 1 0 0 7.0 6 3 3 3.00 5 4 -
Feb 6 El Camino L, 12-3 0 1 0 6.0 11 12 10 11.67 4 2 -
Feb 8 at LA Harbor L, 8-0 0 1 0 4.0 10 8 7 12.25 4 4 -
Feb 13 Long Beach W, 6-4 1 0 0 7.0 10 4 4 4.00 3 2 1
Feb 15 at Compton W, 15-7 1 0 0 7.0 10 7 7 7.00 2 4 -
Feb 16 vs. Ventura L, 17-3 0 1 0 5.0 17 17 15 21.00 2 2 1
Feb 16 vs. LA Valley L, 13-11 0 1 0 6.0 15 13 13 15.17 5 1 1
Feb 17 vs. Santa Barbara W, 2-1 1 0 0 7.0 3 1 1 1.00 - 2 -
Feb 17 vs. Grossmont W, 11-5 1 0 0 7.0 8 5 5 5.00 4 - 1
Feb 20 Pasadena City L, 7-4 0 1 0 7.0 9 7 3 3.00 1 1 1
Feb 22 Mt. San Antonio L, 3-1 0 1 0 7.0 5 3 1 1.00 1 1 -
Feb 23 at Antelope Valley L, 13-4 0 1 0 4.0 7 13 12 21.00 5 3 2
Feb 26 at Riverside L, 2-1 0 1 0 6.1 5 2 1 1.11 1 - 1
Mar 1 at Chaffey W, 10-7 1 0 0 7.0 10 7 7 7.00 1 3 -
Mar 6 at Rio Hondo W, 9-0 1 0 0 5.0 3 0 0 0.00 1 2 -
Mar 8 at El Camino L, 8-7 0 1 0 6.0 9 8 6 7.00 - 2 1
Mar 13 LA Harbor W, 9-5 1 0 0 7.0 6 5 3 3.00 3 6 -
Mar 15 at Long Beach L, 5-1 0 1 0 6.0 14 5 5 5.83 3 - -
Mar 20 Compton W, 8-4 1 0 0 7.0 8 4 4 4.00 2 2 1
Mar 24 vs. Allan Hancock W, 4-3 1 0 0 7.0 6 3 3 3.00 1 3 -
Mar 25 vs. Porterville W, 5-3 1 0 1 6.0 7 3 2 2.33 2 3 -
Mar 25 vs. Moorpark W, 6-0 1 0 0 7.0 7 0 0 0.00 1 3 -
Mar 27 at Mt. San Antonio W, 2-0 1 0 0 7.0 5 0 0 0.00 2 5 -
Mar 29 at Cerritos L, 2-1 0 1 0 6.0 2 2 2 2.33 2 1 -
Apr 3 Chaffey L, 13-3 0 1 0 6.0 21 13 12 14.00 2 1 -
Apr 4 Citrus W, 7-6 1 0 0 7.0 9 6 5 5.00 3 1 -
Apr 5 Rio Hondo W, 11-10 1 0 0 8.0 18 10 9 7.88 5 - -
Apr 8 Ventura W, 6-5 1 0 1 7.0 12 5 5 5.00 2 3 -
Apr 8 Fullerton L, 4-2 0 1 0 7.0 8 4 3 3.00 2 3 -
Apr 10 Pasadena City L, 8-3 0 1 0 7.0 13 8 4 4.00 2 2 -
Apr 12 Mt. San Antonio L, 4-2 0 1 0 7.0 10 4 4 4.00 1 1 1
Apr 13 at Glendale W, 11-5 1 0 0 7.0 10 5 5 5.00 2 3 -
Apr 16 Mt. San Jacinto W, 18-4 1 0 0 5.0 5 4 4 5.60 3 9 -
Apr 19 at Chaffey W, 6-4 1 0 0 7.0 4 4 2 2.00 3 2 -
Apr 20 Cerritos L, 10-4 0 1 0 7.0 11 10 10 10.00 6 4 -
Apr 23 at Pasadena City L, 2-1 0 1 0 7.2 7 2 2 1.83 9 3 -
Apr 24 at Rio Hondo W, 15-5 1 0 0 5.0 7 5 5 7.00 1 2 1
Date Opponent Score tc po a e fpct dp sba rcs rcs% pb ci
Jan 30 LA Mission W, 5-4 0 - - - - - 2 - - - -
Feb 1 Santa Ana W, 6-3 2 - - 2 .000 - 1 - - - -
Feb 6 El Camino L, 12-3 1 - - 1 .000 - - - - - -
Feb 8 at LA Harbor L, 8-0 16 12 4 - 1.000 - - - - 2 -
Feb 13 Long Beach W, 6-4 2 - - 2 .000 - - - - - -
Feb 15 at Compton W, 15-7 29 21 6 2 .931 - - - - - -
Feb 16 vs. Ventura L, 17-3 5 - - 5 .000 - - - - - -
Feb 16 vs. LA Valley L, 13-11 27 18 9 - 1.000 - 2 - - - -
Feb 17 vs. Santa Barbara W, 2-1 2 - - 2 .000 - - - - - -
Feb 17 vs. Grossmont W, 11-5 1 - - 1 .000 - 1 - - - -
Feb 20 Pasadena City L, 7-4 33 21 8 4 .879 - 2 - - - -
Feb 22 Mt. San Antonio L, 3-1 7 - - 7 .000 - 2 - - - -
Feb 23 at Antelope Valley L, 13-4 23 12 7 4 .826 - - - - 4 -
Feb 26 at Riverside L, 2-1 30 19 9 2 .933 - 1 - - - -
Mar 1 at Chaffey W, 10-7 35 21 10 4 .886 - 4 - - 1 -
Mar 6 at Rio Hondo W, 9-0 27 15 12 - 1.000 - 2 - - - -
Mar 8 at El Camino L, 8-7 27 18 7 2 .926 - 7 - - - -
Mar 13 LA Harbor W, 9-5 2 - - 2 .000 - 1 - - - -
Mar 15 at Long Beach L, 5-1 0 - - - - - 7 - - - -
Mar 20 Compton W, 8-4 0 - - - - - 1 - - - -
Mar 24 vs. Allan Hancock W, 4-3 33 21 8 4 .879 - 2 - - - -
Mar 25 vs. Porterville W, 5-3 3 - - 3 .000 1 - - - - -
Mar 25 vs. Moorpark W, 6-0 2 - - 2 .000 - - - - - -
Mar 27 at Mt. San Antonio W, 2-0 31 21 9 1 .968 - 2 - - - -
Mar 29 at Cerritos L, 2-1 33 18 12 3 .909 - 1 - - - -
Apr 3 Chaffey L, 13-3 2 - - 2 .000 - - - - - -
Apr 4 Citrus W, 7-6 3 - - 3 .000 - - - - - -
Apr 5 Rio Hondo W, 11-10 2 - - 2 .000 - 1 - - - -
Apr 8 Ventura W, 6-5 1 - - 1 .000 - - - - - -
Apr 8 Fullerton L, 4-2 37 21 14 2 .946 - 1 - - - -
Apr 10 Pasadena City L, 8-3 33 21 10 2 .939 - 1 - - - -
Apr 12 Mt. San Antonio L, 4-2 1 - - 1 .000 - - - - - -
Apr 13 at Glendale W, 11-5 31 21 9 1 .968 - - - - - -
Apr 16 Mt. San Jacinto W, 18-4 2 - - 2 .000 - 3 - - - -
Apr 19 at Chaffey W, 6-4 36 21 12 3 .917 - - - - 2 -
Apr 20 Cerritos L, 10-4 34 21 12 1 .971 - 1 1 .500 - -
Apr 23 at Pasadena City L, 2-1 35 23 11 1 .971 1 1 - - 1 -
Apr 24 at Rio Hondo W, 15-5 28 15 11 2 .929 - - - - - -
There was a problem with a Velocity script
Pageteaminfo-network-template
ErrorVM #printCategories: too few arguments to macro. Wanted 3 got 2 at teaminfo-network-template[line 763, column 49]
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: 
53: #if ($sport.enumCode == 9) ## Field Hockey
54:     #if ($pos == "goalie")
55:         #set ($pos = "fielder")
56:     #end
57:     #if ($pos == "gg")
58:         #set ($pos = "kg")
59:     #end
60: #end
61: 
62: #set ($restriction = 0)
63: #set ($restrictionEsc = $formatter.escapeXml($request.getParameter("r")))
64: #if ($restrictionEsc.length() > 0 && $restrictionEsc.equals("1"))
65:     #set ($restriction = 1)
66: #end
67: 
68: #set ($view = "profile")
69: #if ($request.getParameter("view"))
70:     #set ($view = $formatter.escapeXml($!request.getParameter("view")))
71: #end
72: 
73: #if ($briefsCategoriesLabels)
74:     #set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
75:     #set($firstCategoryPos = $briefsCategoriesSeason.keySet().iterator().next())
76: #end
77: 
78: #set ($showRoster = false)
79: #if ($options.get("stats_show_roster") and $options.get("stats_show_roster").equalsIgnoreCase("yes"))
80:     #set ($showRoster = true)
81: #end
82: 
83: #set ($showAttendance = true)
84: #if ($options.get("stats_show_attendance") and $options.get("stats_show_attendance").equalsIgnoreCase("hide"))
85:     #set ($showAttendance = false)
86: #end
87: 
88: ## MACROS
89: #macro (printTableHeader $label $class)
90: 	<th class="text-uppercase $class">$label</th>
91: #end
92: 
93: #macro (printResultAriaLabel $event)
94:     #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
95:     #if ($event.neutralSite.length() > 0 || $event.home) 
96:         #set ($ariaLabel = "${ariaLabel} vs.")
97: 	#else
98: 		#set ($ariaLabel = "${ariaLabel} at")
99: 	#end
100: 	#set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
101: 	#if ($event.neutralSite.length() > 0)
102: 		#set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
103: 	#end
104: 	#set ($ariaLabel = "${ariaLabel} Box Score")
105:     aria-label="$ariaLabel"
106: #end
107: 
108: #macro (printBriefCategory $briefCatLabel $briefCatPos $r)
109:   	#if ($locale == "en_gb" && $briefCatLabel == "Defense")
110:         #set ($briefCatLabel = "Defence")
111:     #end
112:   	
113:     #if ($lineupDefaultSorting && $lineupDefaultSorting.containsKey($briefCatPos))
114:         #set ($sort = $lineupDefaultSorting.get($briefCatPos))
115:     #end	
116:   	
117:     #if ($allowChooseSort)
118:         #set ($sortEsc = $formatter.escapeXml($request.getParameter("sort")))
119:         #if ($sortEsc.length() > 0)
120:             #set ($sort = $sortEsc)
121:         #end
122:     #end
123:   	
124: 	#set ($url = "")
125:     #set ($url = "${page.sectionPage.sectionPage.url}/players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&pos=${briefCatPos}&r=${r}&tmpl=stats-bios-template")
126:   	
127:     #if ($lineupMin && $lineupMin.containsKey($briefCatPos))
128:         #set ($minStat = $lineupMin.get($briefCatPos))
129:         #set ($url = $url + "&min=" + $minStat)
130:     #end
131:   	
132:     #if ($lineupFilters)
133:         #if ($lineupFilters.containsKey("cs"))
134:             #set($url = $url + "&cs=n")
135:         #end
136:   		
137:         #if ($lineupFilters.containsKey("skipBlank"))
138:             #set($skipBlank = $lineupFilters.get("skipBlank"))	
139:   			
140:             #if ($skipBlank.contains($briefCatPos))
141:                 #set($url = $url + "&skipBlank=n")
142:             #end	
143:         #end	
144:     #end	
145:   	
146: 	<div class="my-3">
147: 		<h5>$briefCatLabel</h5>
148: 		$website.includeAgain($url)
149: 	</div>
150:     
151: #end ## printBriefCategory
152: 
153: #macro(printBriefCategories $r)
154: ## Set this for the inner page to pull something out
155: 	#if ($r == 1)
156: 		#set ($restrictionLabel = "conf")
157: 		$!request.setAttribute("teamStats", $splits.conference)
158: 	#else
159: 		#set ($restrictionLabel = "overall")
160: 		$!request.setAttribute("teamStats", $splits.overall)
161: 	#end
162: 
163: 	#if ($briefsCategoriesLabels)
164: 		#set($allowChooseSort = false)
165:   	
166: 		#if ($lineupFilters && $lineupFilters.containsKey("allowChooseSort"))
167: 			#set ($allowChooseSort = true)
168: 		#end
169: 
170: 		#if ($briefsCategoriesLabels.containsKey("Game"))
171: 			#set ($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
172:       	
173: 			## Print Game categories tables
174: 			## Get the first Game category position
175: 			#set ($gamePos = $briefsCategoriesGame.keySet().iterator().next())
176:       
177: 			## GAME
178: 			<div #if ($pos.equals($gamePos)) class="tab-pane active" #else class="tab-pane" #end id="lineup-${restrictionLabel}-game" role="tabpanel">
179: 			#foreach($briefsCatGame in $briefsCategoriesGame.entrySet())
180: 				#printBriefCategory($briefsCatGame.value, $briefsCatGame.key, $r)
181: 			#end
182: 			</div>
183: 
184: 			## Print the Season categories tables
185: 			#set ($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
186:    
187: 			## SEASON
188: 			<div #if ($pos.equals($firstCategoryPos)) class="tab-pane active" #else class="tab-pane" #end id="lineup-${restrictionLabel}-season" role="tabpanel">
189: 			#foreach ($briefCat in $briefsCategoriesSeason.entrySet())
190: 				#printBriefCategory($briefCat.value, $briefCat.key, $r)
191: 			#end
192: 			</div>
193:   		
194: 			## Print the Minutes categories tables
195: 			#if ($briefsCategoriesLabels.containsKey("Minutes"))
196: 				#set($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
197: 				#set($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
198:       		
199: 				#set($showMinutesTab = false)
200: 				#if ($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
201: 					#set($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
202:   			
203: 					#set($lineupMinOverallStat = $lineupMinOverallValues[0])
204: 					#set($lineupMinOverallMinVal = $lineupMinOverallValues[1])
205: 					#set($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
206:   			
207: 					#if ($splits.overall[$lineupMinOverallStat] && $tool.math.round($splits.overall[$lineupMinOverallStat]) >= $lineupMinOverallMinNumericValue)
208: 						#set($showMinutesTab = true)
209: 					#end	
210: 				#end
211: 
212: 				#if ($showMinutesTab)
213: 					## MINUTES
214: 					<div #if ($pos.equals($minutesPos)) class="tab-pane active" #else class="tab-pane" #end id="lineup-${restrictionLabel}-minutes" role="tabpanel">
215: 					#foreach($briefsCatMinutes in $briefsCategoriesMinutes.entrySet())
216: 						#printBriefCategory($briefsCatMinutes.value, $briefsCatMinutes.key, $r)
217: 					#end
218: 					</div>
219: 				#end
220: 			#end ## end minutes
221: 		#else
222: 
223: 			#set($briefsCategoriesSeason = $briefsCategoriesLabels.get("Season"))
224: 			## SINGLE SEASON
225: 			#foreach($briefCat in $briefsCategoriesSeason.entrySet())
226: 				#printBriefCategory($briefCat.value, $briefCat.key, $r)
227: 			#end
228: 		#end
229: 		
230: 	#elseif ($lineupFilters)
231: 
232: 		## All of the supported sports has lineupFilters, so print it without matter it does not have briefs category, yeah voleyball is you :)
233: 		#set ($sort = $formatter.escapeXml($request.getParameter("sort")))
234: 		#set ($url = "../players?teamId=${attributes.teamId}&view=lineup&sort=$!{sort}&r=${r}")
235: 		$website.includeAgain($url)
236: 		
237: 	#else
238: 		We do not support this sport
239: 	#end
240: #end ## printBriefCategories
241: 
242: #macro (printCategories $briefCategoryLabels $v)
243: 	<div class="nav nav-pills mb-3" role="tablist">
244: 		#foreach($label in $briefCategoryLabels.entrySet())
245: 			#set($catLabel = $label.value)
246: 			#if ($locale == "en_gb" && $catLabel == "Defense")
247: 				#set ($catLabel = "Defence")
248: 			#end
249: 			#set ($btnClass = "btn btn-outline-secondary rounded-0")
250: 			#if ($pos == $label.key || ($pos.length() == 0 && $velocityCount == 1)) 
251: 				#set ($btnClass = "${btnClass} active") 
252: 			#end 
253: 			<button class="$btnClass" data-url="${page.url}?view=${v}&pos=${label.key}" data-toggle="tab" data-target="#gamelog-${v}-${label.key}" style="margin-right:-1px">${catLabel}</button>
254: 		#end
255: 	</div>
256: 	<div class="tab-content">
257: 		#foreach ($briefCat in $briefCategoryLabels.entrySet())
258: 			#set ($classAttr = "tab-pane")
259: 			#if ($briefCat.key == $pos || ($pos.length() == 0 && $velocityCount == 1))
260: 				#set ($classAttr = "${classAttr} active")
261: 			#end
262: 			<div class="$classAttr" id="gamelog-${v}-${briefCat.key}" role="tabpanel">
263: 				#if ($v == "gamelog")
264: 					#gamelogData($briefCat.key)
265: 				#elseif ($v == "splits")
266: 					#splitsTeamNetworkData($briefCat.key)
267: 				#end
268: 			</div>
269: 		#end  
270: 	</div>
271: #end ## printCategories
272:   
273: #macro (printSeasonGameMinutesTabs $r)
274:     #if ($briefsCategoriesLabels.containsKey("Game"))
275:         #set ($briefsCategoriesGame = $briefsCategoriesLabels.get("Game"))
276:         #set ($gamePos = $briefsCategoriesGame.keySet().iterator().next())
277: 		
278: 		#set ($restrictionLabel = "overall")
279: 		#if ($r == 1)
280: 			#set ($restrictionLabel = "conf")
281: 		#end
282:         	
283: 		#set ($showMinutesTab = false)
284:         #if ($briefsCategoriesLabels.containsKey("Minutes"))
285:             #set ($briefsCategoriesMinutes = $briefsCategoriesLabels.get("Minutes"))
286:             #set ($minutesPos = $briefsCategoriesMinutes.keySet().iterator().next())
287:     		
288:             #if ($lineupMinTeam && $lineupMinTeam.containsKey($minutesPos))
289:                 #set ($lineupMinOverallValues = $lineupMinTeam.get($minutesPos))
290:                 #set ($lineupMinOverallStat = $lineupMinOverallValues[0])
291:                 #set ($lineupMinOverallMinVal = $lineupMinOverallValues[1])
292:                 #set ($lineupMinOverallMinNumericValue = $tool.number.toNumber($lineupMinOverallMinVal))
293:   			
294:                 #if ($splits.overall[$lineupMinOverallStat] && $splits.overall[$lineupMinOverallStat] >= $lineupMinOverallMinNumericValue)
295:                     #set($showMinutesTab = true)
296:                 #end	
297:   		    #end
298: 		#end
299: 		
300: 		<div class="nav nav-pills" role="tablist">
301: 			#printSubTab($pos.equals($gamePos), "${url}?view=lineup&r=${r}&pos=${gamePos}", "Game", "#lineup-${restrictionLabel}-game")
302: 			#printSubTab($pos.equals($firstCategoryPos), "${url}?view=lineup&r=${r}&pos=${firstCategoryPos}", "Season", "#lineup-${restrictionLabel}-season")
303:     		#if ($showMinutesTab)
304:                 #printSubTab($pos.equals($minutesPos), "${url}?view=lineup&r=${r}&pos=${minutesPos}", "Minutes", "#lineup-${restrictionLabel}-minutes")
305:     		#end
306: 		</div>
307: 		<div class="tab-content">
308: 			#printBriefCategories($r)
309: 		</div>
310:     #end
311: #end ## printSeasonGameMinutesTabs
312:   
313: #macro (printLineupTabs)
314: 	#set ($navClass = "nav nav-pills")
315: 	#if ($briefsCategoriesLabels.containsKey("Game"))
316: 		#set ($navClass = "${navClass} float-left mr-3")
317: 	#end
318: 	<div class="$navClass" role="tablist">
319: 		#printSubTab(true, "${url}?view=lineup&r=0&pos=${pos}", "Overall", "#lineup-overall-pane")
320: 		#if ($showConf)
321: 			#printSubTab(false, "${url}?view=lineup&r=1&pos=${pos}", "Conference", "#lineup-conf-pane")
322: 		#end
323: 	</div>
324: 		
325: 	<div class="tab-content">
326: 		<div class="tab-pane active" id="lineup-overall-pane" role="tabpanel">
327: 			#if ($briefsCategoriesLabels.containsKey("Game"))
328: 				#printSeasonGameMinutesTabs(0)
329: 			#else
330: 				#printBriefCategories(0)
331: 			#end
332: 		</div>
333: 		#if ($showConf)
334: 			<div class="tab-pane" id="lineup-conf-pane" role="tabpanel">
335: 				#if ($briefsCategoriesLabels.containsKey("Game"))
336: 					#printSeasonGameMinutesTabs(1)
337: 				#else
338: 					#printBriefCategories(1)
339: 				#end
340: 			</div>
341: 		#end
342: 	</div>
343: #end ## printLineupTabs
344: 
345: #macro (printHighlights)
346:     #if ($highlights)
347:         <div class="d-flex flex-wrap">
348:         #foreach ($highlight in $highlights.keySet())
349:             #set ($value = "-")
350:             #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
351:             #set ($classAttr = "flex-fill p-2 border border-white bg-primary text-white text-center")
352:             <div class="$classAttr">
353:                 <div class="text-uppercase small">$!highlights.get($highlight).replace("per game", "")</div>
354:                 <div class="h5 m-0 font-weight-bold">$!value</div>
355:             </div>
356:         #end
357:         </div>
358:     #end
359: #end ## macro printHighlights
360: #macro (gamelogData $p)
361: 
362:     #set ($gamelogStats = $gamelogs.get($p))
363: 
364:     <table class="table table-hover table-sm">
365:                 <thead class="thead-dark">
366:                         <tr>
367:                                 #printTableHeader("Date", "")
368:                                 #printTableHeader("Opponent", "")
369:                                 #printTableHeader("Score", "")
370:                                 #foreach ($gamelog in $gamelogStats)
371:                                                     #printTableHeader($gamelog, "text-right")
372:                                 #end
373:                         </tr>
374:                 </thead>
375:         #foreach ($event in $events)
376:             <tr>
377:                 <td class="text-nowrap">
378:                     $formatter.formatDate($event.event.date, "MMM d") 
379:                     #if (!$event.event.overall)
380:                         #set ($atLeastOneNotOverall = true) # 
381:                     #end
382:                 </td>
383:                 <td class="text-nowrap">
384: 					#if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
385: 					$event.event.opponent.name
386:                 </td>
387:                 <td class="text-nowrap">
388:                 #if ($event.event.statusCode >= 0)
389:                     #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
390:                         <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
391:                     #else
392:                         ${event.event.APResult}
393:                     #end
394:                 #else &nbsp; 
395:                 #end
396:                 </td>
397:                 #foreach ($gamelog in $gamelogStats.keySet())
398:                     #set ($value = "-")
399:                     #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
400:                     <td class="text-right text-nowrap">$value</td>
401:                 #end
402:             </tr>
403:         #end
404:     </table>
405: #end ## gamelogData
406: 
407: #macro (printRecentGames)
408:     <table class="table table-hover table-sm">
409:             <thead class="thead-dark">
410: 		<tr>
411: 			#printTableHeader("Date", "")
412: 			#printTableHeader("Opponent", "")
413: 			#printTableHeader("Result", "")
414: 		</tr>
415:             </thead>
416: 
417:         #set ($eventEnd = -1)
418:         #foreach ($event in $events)
419:             #if ($event.event.result.resolved)
420:                 #set ($eventEnd = $velocityCount)
421:             #end
422:         #end
423: 
424:         #set ($eventStart = $eventEnd - 5)
425:         #if ($eventStart < 0) #set ($eventStart = 0) #end
426: 
427:         #foreach ($event in $events)
428:             #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
429:                 <tr>
430:                     <td>$formatter.formatDate($event.event.date, "MMM d")</td>
431:                     <td>
432:                         #if ($event.event.neutralSite.length() > 0) vs.
433:                         #elseif (!$event.event.home) at
434:                         #else ## nothing for a home game
435:                         #end
436:                         $event.event.opponent.name
437:                     </td>
438:                     <td>
439:                         #if ($event.event.statusCode >= 0)
440:                             #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
441:                                 <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
442:                             #else
443:                                 ${event.event.APResult}
444:                             #end
445:                         #end
446:                     </td>
447:                 </tr>
448:             #end
449:         #end
450:     </table>
451: #end ## printRecentGames
452: 
453: #macro (splitTeamNetwork $statPosBriefs $label $stats)
454:     <tr>
455:         <th scope="row" class="font-weight-normal">${label}</th>
456:         #foreach ($brief in $statPosBriefs.keySet())
457:             #set ($value = "-")
458:             #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
459:             <td class="text-right text-nowrap">#if ($value.length() > 0) $value #else - #end</td>
460:         #end
461:     </tr>
462: #end ## split
463: 
464: #macro (splitsTeamNetworkData $p)
465: 	#set ($statPosBriefs = $briefs.get($p))
466: 	#set ($colspan = $tool.math.add($statPosBriefs.size(), 1))  
467:     
468: 	#if ($statPosBriefs.size() > 0)
469: 		<table class="table table-hover table-sm">
470:                         <thead class="thead-dark">
471:                                 <tr>
472:                                         <th>&nbsp;</th>
473:                                         #foreach ($brief in $statPosBriefs)
474:                                                 #printTableHeader($brief, "text-right")
475:                                         #end
476:                                 </tr>
477:                         </thead>
478: 			#splitTeamNetwork($statPosBriefs, "Total", $splits.overall)
479: 			#if ($showConf)
480: 				#splitTeamNetwork($statPosBriefs, "Conference", $splits.conference)
481: 				#splitTeamNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
482: 			#else
483: 				#splitTeamNetwork($statPosBriefs, "Exhibition", $splits.exhibition)
484: 			#end ## hide overall/conf
485: 
486: 			<tr class="bg-transparent">
487: 				<td colspan="$colspan">&nbsp;</td>
488: 			</tr>
489: 
490: 			#splitTeamNetwork($statPosBriefs, "Home", $splits.home)
491: 			#splitTeamNetwork($statPosBriefs, "Away", $splits.away)
492: 			#splitTeamNetwork($statPosBriefs, "Neutral", $splits.neutral)
493: 
494: 			<tr class="bg-transparent">
495: 				<td colspan="$colspan">&nbsp;</td>
496: 			</tr>
497: 
498: 			#foreach($gameResult in $gamesResults.entrySet())
499: 				#if ($gameResult.key == "wins")
500: 					#set ($splitGameResult = $splits.inWins)
501: 				#elseif ($gameResult.key == "losses")
502: 					#set ($splitGameResult = $splits.inLosses)
503: 				#elseif ($gameResult.key == "ties")
504: 					#set ($splitGameResult = $splits.inTies)
505: 				#end
506:     
507: 				#splitTeamNetwork($statPosBriefs, $gameResult.value, $splitGameResult)
508: 			#end
509: 
510: 			<tr class="bg-transparent">
511: 				<td colspan="$colspan">&nbsp;</td>
512: 			</tr>
513: 
514: 			#if ($monthsPlayed and $monthsPlayed.size() > 0)
515: 				#foreach($month in $monthsPlayed)
516: 					#if ($month == 'January')
517: 						#set ($splitMonth = $splits.january)
518: 					#elseif ($month == 'February')
519: 						#set ($splitMonth = $splits.february)
520: 					#elseif ($month == 'March')
521: 						#set($splitMonth = $splits.march)
522: 					#elseif ($month == 'April')
523: 						#set($splitMonth = $splits.april)
524: 					#elseif ($month == 'May')
525: 						#set ($splitMonth = $splits.may)
526: 					#elseif ($month == 'June')
527: 						#set ($splitMonth = $splits.june)
528: 					#elseif ($month == 'July')
529: 						#set($splitMonth = $splits.july)
530: 					#elseif ($month == 'August')
531: 						#set ($splitMonth = $splits.august)
532: 					#elseif ($month == 'September')
533: 						#set($splitMonth = $splits.september)
534: 					#elseif ($month == 'October')
535: 						#set($splitMonth = $splits.october)
536: 					#elseif ($month == 'November')
537: 						#set ($splitMonth = $splits.november)
538: 					#elseif ($month == 'December')
539: 						#set($splitMonth = $splits.december)
540: 					#end
541:   
542: 					#splitTeamNetwork($statPosBriefs, $month, $splitMonth)
543: 				#end ## foreach
544: 			#end
545: 		</table>
546: 	#end
547: #end ## splitsTeamNetworkData
548: 
549: #macro (printAttendance)
550:     #if ($showAttendance)
551:         <table class="table table-hover table-sm">
552:                 <thead class="thead-dark">
553:                 <tr>
554:                                     #printTableHeader("Date", "")
555:                                     #printTableHeader("Opponent", "")
556:                                     #printTableHeader("Score", "")
557:                                     #printTableHeader("Attend", "")
558:                 </tr>
559:                 </thead>
560:             #set ($counter = 0)
561:             #foreach ($event in $events)
562:                 <tr>
563:                     <td class="text-nowrap">$formatter.formatDate($event.event.date, "MMM d")</td>
564:                     <td class="text-nowrap">
565:                         #if ($event.event.neutralSite.length() > 0) vs.
566:                         #elseif (!$event.event.home) at
567:                         #else ## nothing for a home game
568:                         #end
569:                         $event.event.opponent.name
570:                     </td>
571:                     <td class="text-nowrap">
572:                     #if ($event.event.statusCode >= 0)
573:                         #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
574:                             <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
575:                         #else
576:                             ${event.event.result}
577:                         #end
578:                     #else &nbsp; #end
579:                     </td>
580:                     <td class="text-nowrap">
581:                         #set ($value = "-")
582:                         #set ($value = $!formatter.formatNumber($event.stats.get('at'), $formats.get('at')))
583:                         #if ($value.length() > 0) $value #else - #end
584:                     </td>
585:                 </tr>
586:             #end
587:         </table>
588:     #end ## showAttendance
589: #end
590: 
591: #macro (printTab $viewParam $label)
592: 	#set ($classAttr = "nav-link text-nowrap")
593: 	#if ($viewParam == $view)
594: 		#set ($classAttr = "${classAttr} active")
595: 	#end
596: 	<li class="nav-item"><a href="${page.url}?view=${viewParam}" class="$classAttr" role="tab" data-toggle="tab" data-target="#${viewParam}" aria-controls="$viewParam">$label</a></li>
597: #end
598: 
599: #macro (printSubTab $active $url $label $target)
600: 	#set ($classAttr = "btn btn-sm btn-outline-secondary rounded-0")
601: 	#if ($active)
602: 		#set ($classAttr = "${classAttr} active")
603: 	#end
604: 	<button data-url="$url" class="$classAttr" data-toggle="tab" data-target="$target" style="margin-right:-1px">$label</button>
605: #end
606: 
607: #macro (printPaneAttrs $viewParam)
608: 	#set ($classAttr = "tab-pane")
609: 	#if ($viewParam == $view)
610: 		#set ($classAttr = "tab-pane active")
611: 	#else
612: 		#set ($classAttr = "${classAttr} fade")
613: 	#end
614: 	
615: 	class="$classAttr" role="tabpanel" id="$viewParam"
616: #end
617: 
618: #macro (printCoachViewUrl)
619: 	#set ($coachViewUrl = "${page.url}?tmpl=teaminfo-network-monospace-template")
620:     #set ($enumCode = $sport.enumCode)
621:     
622: 	#if ($enumCode == 2)
623:         #set ($coachViewUrl = "${coachViewUrl}&sort=ptspg") 
624:     #elseif ($enumCode == 1 || $enumCode == 11)
625:         #set ($coachViewUrl = "${coachViewUrl}&sort=ab&pos=h")
626:     #end
627:     
628:     #if ($enumCode == 7 || $enumCode == 8 || $enumCode > 11) #else
629:         <li class="nav-item" data-skip="true"><a href="$coachViewUrl" target="_blank" class="nav-link text-nowrap">Coach's View</a></li>
630:     #end
631: #end
632: 
633: #macro (printTabs)
634: 	<div class="tab-nav" style="overflow-x:auto">
635:     	<ul class="nav nav-tabs flex-nowrap" role="tablist">
636:     		#printTab("profile", "Team Profile")
637:     		
638:     		#if ($showRoster)
639:     			#printTab("roster", "Roster")
640:     		#end
641:     		
642:     		#printTab("lineup", "Lineup")
643:     		#printTab("gamelog", "Game Log")
644:     		#printTab("splits", "Split Stats")
645:     		
646:     		#if ($showAttendance)
647:     			#printTab("attendance", "Attendance")
648:     		#end
649:     		
650:             #printCoachViewUrl
651:         </ul>
652: 	</div>
653: #end ## printTabs
654: ############ END MACROS #############
655: 
656: #set ($pageTitle = $page.title)
657: #if ($pageTitle.trim().length() == 0)
658: 	#set ($season = "")
659: 	#if ($page.url.matches(".*/\d{4}-\d{2}/.*"))
660: 		#set ($truncateStr = $page.url.split("/\d{4}-\d{2}/").get(0))
661: 		#set ($season = $page.url.replace($truncateStr, "").substring(1, 8))
662: 	#end
663: 	
664: 	#set ($gender = "")
665: 	#if ($sport.enumCode == 6 or $sport.enumCode == 10)
666: 	#else
667: 		#if ($page.url.matches(".*/sports/m.*") || $page.url.matches(".*/sports/m-*"))
668: 			##set ($gender = "Men's")
669: 		#elseif ($page.url.matches(".*/sports/w.*") || $page.url.matches(".*/sports/w-*"))
670: 			##set ($gender = "Women's")
671: 		#end
672: 	#end
673: 	
674: 	#set ($pageTitle = "${season} ${gender} ${sport} Statistics")
675: 	
676: 	#if ($attributes.get("school_name").length() > 0)
677: 		#set ($pageTitle = "${pageTitle} - ${attributes.get('school_name')}")
678: 	#end
679: #end
680: 
681: $!request.setAttribute("pageTitle", "${pageTitle}")
682: 
683: <head><title>$pageTitle</title></head>
684: 	
685: 
686: <div class="page-content team-stats">
687:     
688:     <h1>$pageTitle</h1>
689: 	
690: 	## TEAM HIGHLIGHT STATS
691: 	<div class="my-3">#printHighlights</div>
692: 
693:     ## TABS
694: 	<div class="tabs-container my-3" data-module="stats/tabs">
695:         #printTabs
696:     
697:         <div class="tab-content p-3 border border-top-0">
698:             
699:             ## TEAM PROFILE
700:             <div #printPaneAttrs("profile")>
701:                 
702:                 <div class="row">
703:                     <div class="col-lg">
704:     					<div class="mb-3">
705: 							<h5>Team Summary</h5>
706: 							<div class="stats-container table-responsive">
707: 								$website.include("${page.sectionPage.sectionPage.url}/schedule?teamId=${teamId}&tmpl=schedule-data-template")
708: 							</div>
709:     					</div>
710:     					<div class="mb-3">
711:     						<h5>Recent Results</h5>
712:     						<div class="stats-container table-responsive">#printRecentGames</div>
713:     					</div>
714:                     </div>
715:                     <div class="col-lg">
716:     					<div class="mb-3">
717: 							<h5>Team Stats</h5>
718: 							<div class="stats-container table-responsive">
719: 								$website.include("${page.sectionPage.url}/teams?tmpl=stats-teams-rank-template&rank=${teamId}")
720: 							</div>
721:     					</div>
722:                     </div>
723:                 </div>
724:             </div> ## team profile
725:     
726:             ## ROSTER
727:             #if ($showRoster)
728:                 <div #printPaneAttrs("roster")>
729: 					$website.includeAgain("../players?teamId=${teamId}&view=roster&tmpl=stats-bios-template")
730:                 </div>
731:             #end
732:     
733:             ## LINEUP
734:             <div #printPaneAttrs("lineup")>
735:                 ## start of overall/conference
736:                 #set ($url = $request.requestURI)
737:     			#printLineupTabs
738:                
739:                 Download roster:
740:                 <a href="../players?teamId=${attributes.teamId}&view=ext">${rosterExtension} (First Last) </a> | 
741:                 <a href="../players?teamId=${attributes.teamId}&view=ext&type=lf"> ${rosterExtension} (Last, First)</a>
742:                 #if ($rosterExtraExtension)
743:                     <a href="../players?teamId=${attributes.teamId}&view=exte">${rosterExtraExtension} (First Last)</a> | 
744:                     <a href="../players?teamId=${attributes.teamId}&view=exte&type=lf">${rosterExtraExtension} (Last, First)</a>
745: 				#end
746:             </div> ## lineup
747:     
748:             ## GAMELOG
749:             <div #printPaneAttrs("gamelog")>
750:             	<div class="stats-container table-responsive">
751: 					#if ($gamelogsCategoriesLabels && $gamelogsCategoriesLabels.size() > 1)
752: 						#printCategories($gamelogsCategoriesLabels, 'gamelog')
753: 					#else
754: 						#gamelogData($pos)
755: 					#end
756:     			</div>
757:             </div>
758:     
759:             ## SPLITS
760:             <div #printPaneAttrs("splits")>
761:     			<div class="stats-container table-responsive">
762: 					#if ($briefsTeamCategoriesLabels && $briefsTeamCategoriesLabels.size() > 1)
763: 						#printCategories($briefsTeamCategoriesLabels, 'splits')
764: 					#else
765: 						#splitsTeamNetworkData($pos)
766: 					#end
767: 				</div>
768:             </div> ## splits
769:     
770:             ## ATTENDANCE
771:             <div #printPaneAttrs("attendance")>
772: 				<div class="stats-container table-responsive">#printAttendance</div>
773:             </div>
774:         </div> ## tab-content
775: 	</div> ## tab-container
776: </div> ## stats-container
777: $wiki.su