0
0 - Dylan Morris-Gray
Height: |
6'1 |
Year: |
2022 |
Hometown: |
Port Jefferson Station, NY |
High School: |
Comsewogue |
Position: |
G |
gp
6
pts/g
1.3
fg %
16.7
3pt %
12.5
ft %
75.0
reb/g
0.5
a/g
0.0
High School- Morris-Gray played at Port Jeff High School
Studying Sports Management
Is the son of Rudy and Dara Morris-Gray
Recent Games |
Feb 8 |
at
Salem St.
|
L, 88-67
|
Feb 12 |
Framingham St.
|
L, 67-64
|
Feb 15 |
Worcester St.
|
L, 96-89
|
Feb 22 |
at
Westfield St.
|
L, 89-73
|
Feb 25 |
Fitchburg St.
|
W, 80-78
|
Feb 27 |
at
Worcester St.
|
L, 96-72
|
Statistics category |
Overall |
Conf |
Games |
6
|
-
|
Games started |
1
|
-
|
Minutes |
37
|
-
|
Minutes per game |
6.2
|
-
|
FG |
2-12
|
0-0
|
FG Pct |
16.7
|
-
|
3PT |
1-8
|
0-0
|
3PT Pct |
12.5
|
-
|
FT |
3-4
|
0-0
|
FT Pct |
75.0
|
-
|
Off rebounds |
1
|
-
|
Def rebounds |
2
|
-
|
Total rebounds |
3
|
-
|
Rebounds per game |
0.5
|
-
|
Personal fouls |
3
|
-
|
Disqualifications |
0
|
-
|
Assists |
0
|
-
|
Turnovers |
1
|
-
|
Assist to turnover ratio |
0.0
|
-
|
Steals |
0
|
-
|
Blocks |
0
|
-
|
Points |
8
|
0
|
Points per game |
1.3
|
-
|
Points per 40 min |
8.6
|
-
|
Date |
Opponent |
Score |
gs |
min |
fg |
pct |
3pt |
pct |
ft |
pct |
pts |
Nov 8 |
at Northern Vermont-Johnson
|
W, 77-63
|
1 |
5 |
0-0 |
- |
0-0 |
- |
0-0 |
- |
0 |
Nov 9 |
vs. Northern Vermont-Lyndon
|
L, 95-88
|
- |
4 |
0-2 |
0.0 |
0-1 |
0.0 |
0-0 |
- |
0 |
Nov 15 |
at Western New Eng.
|
L, 91-63
|
- |
10 |
0-4 |
0.0 |
0-3 |
0.0 |
2-2 |
100.0 |
2 |
Nov 16 |
vs. Medgar Evers
|
W, 90-82
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Nov 19 |
at Castleton
|
W, 95-71
|
- |
5 |
0-1 |
0.0 |
0-1 |
0.0 |
0-0 |
- |
0 |
Nov 23 |
Becker
|
L, 71-70
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Nov 26 |
Williams
|
L, 87-57
|
- |
10 |
2-4 |
50.0 |
1-2 |
50.0 |
1-2 |
50.0 |
6 |
Dec 3 |
Sage
|
W, 87-80
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Dec 7 |
Rivier
|
W, 92-69
|
- |
3 |
0-1 |
0.0 |
0-1 |
0.0 |
0-0 |
- |
0 |
Dec 10 |
at Elms
|
W, 89-72
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 4 |
Norwich
|
W, 95-76
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 11 |
at Bridgewater St.
|
W, 74-68
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 14 |
Fitchburg St.
|
W, 78-65
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 16 |
Salem St.
|
W, 98-84
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 18 |
at Framingham St.
|
W, 67-64
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 22 |
at Worcester St.
|
W, 88-87
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 24 |
at Hunter
|
L, 84-79
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 29 |
Westfield St.
|
W, 82-81
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 1 |
Bridgewater St.
|
L, 78-67
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 5 |
at Fitchburg St.
|
W, 83-80
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 8 |
at Salem St.
|
L, 88-67
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 12 |
Framingham St.
|
L, 67-64
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 15 |
Worcester St.
|
L, 96-89
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 22 |
at Westfield St.
|
L, 89-73
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 25 |
Fitchburg St.
|
W, 80-78
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 27 |
at Worcester St.
|
L, 96-72
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
Date |
Opponent |
Score |
gs |
min |
off |
def |
reb |
ast |
to |
a/to |
stl |
blk |
pf |
dq |
Nov 8 |
at Northern Vermont-Johnson
|
W, 77-63
|
1 |
5 |
0 |
0 |
0 |
0 |
0 |
- |
0 |
0 |
0 |
0 |
Nov 9 |
vs. Northern Vermont-Lyndon
|
L, 95-88
|
- |
4 |
0 |
1 |
1 |
0 |
0 |
- |
0 |
0 |
1 |
0 |
Nov 15 |
at Western New Eng.
|
L, 91-63
|
- |
10 |
0 |
0 |
0 |
0 |
0 |
- |
0 |
0 |
0 |
- |
Nov 16 |
vs. Medgar Evers
|
W, 90-82
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Nov 19 |
at Castleton
|
W, 95-71
|
- |
5 |
1 |
0 |
1 |
0 |
1 |
0.0 |
0 |
0 |
0 |
- |
Nov 23 |
Becker
|
L, 71-70
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Nov 26 |
Williams
|
L, 87-57
|
- |
10 |
0 |
0 |
0 |
0 |
0 |
- |
0 |
0 |
2 |
- |
Dec 3 |
Sage
|
W, 87-80
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Dec 7 |
Rivier
|
W, 92-69
|
- |
3 |
0 |
1 |
1 |
0 |
0 |
- |
0 |
0 |
0 |
- |
Dec 10 |
at Elms
|
W, 89-72
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 4 |
Norwich
|
W, 95-76
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 11 |
at Bridgewater St.
|
W, 74-68
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 14 |
Fitchburg St.
|
W, 78-65
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 16 |
Salem St.
|
W, 98-84
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 18 |
at Framingham St.
|
W, 67-64
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 22 |
at Worcester St.
|
W, 88-87
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 24 |
at Hunter
|
L, 84-79
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Jan 29 |
Westfield St.
|
W, 82-81
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 1 |
Bridgewater St.
|
L, 78-67
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 5 |
at Fitchburg St.
|
W, 83-80
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 8 |
at Salem St.
|
L, 88-67
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 12 |
Framingham St.
|
L, 67-64
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 15 |
Worcester St.
|
L, 96-89
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 22 |
at Westfield St.
|
L, 89-73
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 25 |
Fitchburg St.
|
W, 80-78
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Feb 27 |
at Worcester St.
|
L, 96-72
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Career Stats - Shooting per game
|
gp |
gs |
min/g |
fg/g |
pct |
3pt/g |
pct |
ft/g |
pct |
ppg |
2019-20 |
6 |
1 |
6.2 |
0.3-2.0 |
16.7 |
0.2-1.3 |
12.5 |
0.5-0.7 |
75.0 |
1.3 |
Total |
6 |
1 |
6.2 |
0.3-2.0 |
16.7 |
0.2-1.3 |
12.5 |
0.5-0.7 |
75.0 |
1.3 |
Career Stats - Shooting totals
|
gp |
gs |
min |
fg |
pct |
3pt |
pct |
ft |
pct |
pts |
2019-20 |
6 |
1 |
37 |
2-12 |
16.7 |
1-8 |
12.5 |
3-4 |
75.0 |
8 |
Total |
6 |
1 |
37 |
2-12 |
16.7 |
1-8 |
12.5 |
3-4 |
75.0 |
8 |
Career Stats - Shooting per 40 min
|
gp |
gs |
min/g |
fg/40 |
pct |
3pt/40 |
pct |
ft/40 |
pct |
pts/40 |
2019-20 |
6 |
1 |
6.2 |
2.2-13.0 |
16.7 |
1.1-8.6 |
12.5 |
3.2-4.3 |
75.0 |
8.6 |
Total |
6 |
1 |
6.2 |
2.2-13.0 |
16.7 |
1.1-8.6 |
12.5 |
3.2-4.3 |
75.0 |
8.6 |
Career Stats - Ball control per game
|
gp |
gs |
mpg |
off/g |
def/g |
reb/g |
pf/g |
dq/g |
ast/g |
to/g |
a/to |
stl/g |
blk/g |
2019-20 |
6 |
1 |
6.2 |
0.2 |
0.3 |
0.5 |
0.5 |
0.0 |
0.0 |
0.2 |
0.0 |
0.0 |
0.0 |
Total |
6 |
1 |
6.2 |
0.2 |
0.3 |
0.5 |
0.5 |
0.0 |
0.0 |
0.2 |
0.0 |
0.0 |
0.0 |
Career Stats - Ball control totals
|
gp |
gs |
min |
off |
def |
reb |
pf |
dq |
ast |
to |
a/to |
stl |
blk |
2019-20 |
6 |
1 |
37 |
1 |
2 |
3 |
3 |
0 |
0 |
1 |
0.0 |
0 |
0 |
Total |
6 |
1 |
37 |
1 |
2 |
3 |
3 |
0 |
0 |
1 |
0.0 |
0 |
0 |
Career Stats - Ball control per 40 min
|
gp |
gs |
mpg |
off/40 |
def/40 |
reb/40 |
pf/40 |
dq/40 |
ast/40 |
to/40 |
a/to |
stl/40 |
blk/40 |
2019-20 |
6 |
1 |
6.2 |
1.1 |
2.2 |
3.2 |
3.2 |
0.0 |
0.0 |
1.1 |
0.0 |
0.0 |
0.0 |
Total |
6 |
1 |
6.2 |
1.1 |
2.2 |
3.2 |
3.2 |
0.0 |
0.0 |
1.1 |
0.0 |
0.0 |
0.0 |
Splits Stats - Shooting per game
|
|
gp |
gs |
min/g |
fg/g |
pct |
3pt/g |
pct |
ft/g |
pct |
ppg |
Event |
Total |
6 |
1 |
6.2 |
0.3-2.0 |
16.7 |
0.2-1.3 |
12.5 |
0.5-0.7 |
75.0 |
1.3 |
Conference |
- |
- |
- |
0.0-0.0 |
- |
0.0-0.0 |
- |
0.0-0.0 |
- |
- |
Exhibition |
- |
- |
- |
0.0-0.0 |
- |
0.0-0.0 |
- |
0.0-0.0 |
- |
- |
Location |
Home |
2 |
- |
6.5 |
1.0-2.5 |
40.0 |
0.5-1.5 |
33.3 |
0.5-1.0 |
50.0 |
3.0 |
Away |
3 |
1 |
6.7 |
0.0-1.7 |
0.0 |
0.0-1.3 |
0.0 |
0.7-0.7 |
100.0 |
0.7 |
Neutral |
1 |
- |
4.0 |
0.0-2.0 |
0.0 |
0.0-1.0 |
0.0 |
0.0-0.0 |
- |
0.0 |
Result |
Wins |
3 |
1 |
4.3 |
0.0-0.7 |
0.0 |
0.0-0.7 |
0.0 |
0.0-0.0 |
- |
0.0 |
Losses |
3 |
- |
8.0 |
0.7-3.3 |
20.0 |
0.3-2.0 |
16.7 |
1.0-1.3 |
75.0 |
2.7 |
Month |
November |
5 |
1 |
6.8 |
0.4-2.2 |
18.2 |
0.2-1.4 |
14.3 |
0.6-0.8 |
75.0 |
1.6 |
December |
1 |
- |
3.0 |
0.0-1.0 |
0.0 |
0.0-1.0 |
0.0 |
0.0-0.0 |
- |
0.0 |
Splits Stats - Shooting totals
|
|
gp |
gs |
min |
fg |
pct |
3pt |
pct |
ft |
pct |
pts |
Event |
Total |
6 |
1 |
37 |
2-12 |
16.7 |
1-8 |
12.5 |
3-4 |
75.0 |
8 |
Conference |
- |
- |
- |
0-0 |
- |
0-0 |
- |
0-0 |
- |
0 |
Exhibition |
- |
- |
- |
0-0 |
- |
0-0 |
- |
0-0 |
- |
0 |
Location |
Home |
2 |
- |
13 |
2-5 |
40.0 |
1-3 |
33.3 |
1-2 |
50.0 |
6 |
Away |
3 |
1 |
20 |
0-5 |
0.0 |
0-4 |
0.0 |
2-2 |
100.0 |
2 |
Neutral |
1 |
- |
4 |
0-2 |
0.0 |
0-1 |
0.0 |
0-0 |
- |
0 |
Result |
Wins |
3 |
1 |
13 |
0-2 |
0.0 |
0-2 |
0.0 |
0-0 |
- |
0 |
Losses |
3 |
- |
24 |
2-10 |
20.0 |
1-6 |
16.7 |
3-4 |
75.0 |
8 |
Month |
November |
5 |
1 |
34 |
2-11 |
18.2 |
1-7 |
14.3 |
3-4 |
75.0 |
8 |
December |
1 |
- |
3 |
0-1 |
0.0 |
0-1 |
0.0 |
0-0 |
- |
0 |
Splits Stats - Shooting per 40 min
|
|
gp |
gs |
min/g |
fg/40 |
pct |
3pt/40 |
pct |
ft/40 |
pct |
pts/40 |
Event |
Total |
6 |
1 |
6.2 |
2.2-13.0 |
16.7 |
1.1-8.6 |
12.5 |
3.2-4.3 |
75.0 |
8.6 |
There was a problem with a Velocity script |
Page | bio-template |
Error | VM #split: too many arguments to macro. Wanted 3 got 5 at bio-template[line 308, column 17] |
Page source: |
1: $website.addCss($website.cdn("/info/photo-gallery.css"))
2: <script src="${website.cdn("/info/klass.min.js")}"></script>
3: <script src="${website.cdn("/info/code.photoswipe.jquery-3.0.5.min.js")}"></script>
4: <script src="${website.cdn("/info/masonry.pkgd.min.js")}"></script>
5: <script src="${website.cdn("/info/imagesloaded.pkgd.min.js")}"></script>
6: <script src="${website.cdn("/info/photogallery/photogallery.js")}"></script>
7:
8: ## PICK UP OPTIONS
9: $website.include("options")
10: #set ($options = $request.getAttribute("options"))
11: #set ($locale = "en_us")
12: #set ($locale = $options.get("locale"))
13:
14: ## HACK TO GET STATS URL FROM RENDERER... NEEDS SERVER CHANGE
15: #set ($bioObject = $page.getDataAsObject())
16: #set ($statsURL = $bioObject.statsURL)
17:
18: #if ($statsURL.length() > 0)
19: $website.includeAgain("${statsURL}?tmpl=bio-stats-template")
20: ## various settings to get the variables set
21: #set ($events = $request.getAttribute("bio_events"))
22: #set ($seasons = $request.getAttribute("bio_seasons"))
23: #set ($career = $request.getAttribute("bio_career"))
24: #set ($labels = $request.getAttribute("bio_labels"))
25: #set ($briefs = $request.getAttribute("bio_briefs"))
26: #set ($gamelogs = $request.getAttribute("bio_gamelogs"))
27: #set ($splits = $request.getAttribute("bio_splits"))
28: #set ($statPosition = $request.getAttribute("bio_position"))
29: #set ($positions = $request.getAttribute("bio_positions"))
30: #set ($playerId = $request.getAttribute("bio_player_id"))
31: #set ($highlights = $request.getAttribute("bio_highlights"))
32: #set ($formats = $request.getAttribute("bio_formats"))
33: #set ($gamelogsCategoriesLabels = $request.getAttribute("bio_gamelogs_labels"))
34: #set ($briefsCategoriesLabels = $request.getAttribute("bio_briefs_labels"))
35: #set ($gamesResults = $request.getAttribute("bio_games_results"))
36: #set ($monthsPlayed = $request.getAttribute("bio_months_played"))
37: #end
38:
39: #set ($pos = "")
40: #set ($pos = $attributes.get("position"))
41: #set ($pos = $statPosition)
42: #set ($posVec = $pos.split("/"))
43: #set ($pos = $posVec[0])
44: #set ($pos = $pos.toLowerCase())
45: #set ($statPos = $positions.get($pos))
46: #set ($paramPos = $request.getParameter("pos"))
47:
48: #set ($playerId = $attributes.get("playerId"))
49: #set ($stats = $splits.overall)
50: #set ($highlights = $highlights.get($statPos))
51:
52: #set ($showHighlights = true)
53: #if ($options.get("bio_show_highlights") && $options.get("bio_show_highlights") == false)
54: #set ($showHighlights = false)
55: #end
56:
57: #set ($enhancedLayout = false)
58: #if (($options.get("bio_enhanced_layout") == "yes") || ($request.getParameter("bio_enhanced_layout") == true))
59: #set ($enhancedLayout = true)
60: $website.addCss($website.cdn("/info/bio-styles-enhanced.css"))
61: #end
62:
63: #set ($showActionShots = true)
64: #if ($options.get("bio_show_action_shots") && $options.get("bio_show_action_shots") == false)
65: #set ($showActionShots = false)
66: #end
67:
68: #set ($actionShotsLimit = 5)
69: #set ($actionShotsLimit = $tool.math.toInteger($options.get("bio_action_shots_limit")))
70:
71: #set ($showCareer = $wiki.valid() && $seasons)
72: #if ("yes" == $options.get("stats_show_career") && $seasons)
73: #set ($showCareer = true)
74: #end
75:
76: #set ($hasEvents = $events.size() > 0)
77: #set ($hasSynopsis = $synopsis.trim().length() > 0)
78: #set ($htmlStatsURL = "${page.url}-stats")
79: #set ($hasHTMLStats = $website.exists($htmlStatsURL))
80: #set ($bioBriefURL = "${page.url}-brief")
81: #set ($hasBioBrief = $website.exists("$bioBriefURL"))
82: #set ($showRoster = ($page.contentType == "loki/bio" && $page.headlinesFeatured.size() > 0) || ($page.contentType == "loki/bio-network" && $page.sectionPage.children.size() > 1))
83: #if ($options.get("bio_hide_roster") == true)
84: #set ($showRoster = false)
85: #end
86:
87: #set ($view = "")
88: #if ($hasSynopsis || $hasBioBrief)
89: #set ($view = "bio")
90: #elseif ($statsURL.length() > 0)
91: #set ($view = "profile")
92: #elseif ($hasHTMLStats)
93: #set ($view = "htmlstats")
94: #elseif ($releases.size() > 0)
95: #set ($view = "news")
96: #elseif ($playerPhotos.size() > 0)
97: #set ($view = "photos")
98: #elseif ($playerVideos.size() > 0)
99: #set ($view = "videos")
100: #end
101:
102: #if ($options.get("bio_default_view").length() > 0)
103: #set ($checkView = $options.get("bio_default_view"))
104: #end
105:
106: #if ($request.getParameter("view"))
107: #set ($checkView = $request.getParameter("view"))
108: #end
109:
110: #if ($checkView == "profile" && $statsURL.length() > 0)
111: #set ($view = "profile")
112: #elseif ($checkView == "bio" && ($hasSynopsis || $hasBioBrief))
113: #set ($view = "bio")
114: #elseif ($checkView == "gamelog" && $statsURL.length() > 0)
115: #set ($view = "gamelog")
116: #elseif ($checkView == "career" && $showCareer)
117: #set ($view = "career")
118: #elseif ($checkView == "splits" && $statsURL.length() > 0)
119: #set ($view = "splits")
120: #elseif ($checkView == "htmlstats" && $hasHTMLStats)
121: #set ($view = "htmlstats")
122: #elseif ($checkView == "news" && $releases.size() > 0)
123: #set ($view = "news")
124: #elseif ($checkView == "photos" && $playerPhotos.size() > 0)
125: #set ($view = "photos")
126: #elseif ($checkView == "videos" && $playerVideos.size() > 0)
127: #set ($view = "videos")
128: #end
129:
130: #macro (printResultAriaLabel $event)
131: #set ($ariaLabel = "${event.sport} event: ${formatter.formatDate($event.date, 'MMMM d hh:mm a:')}")
132: #if ($event.neutralSite.length() > 0 || $event.home)
133: #set ($ariaLabel = "${ariaLabel} vs.")
134: #else
135: #set ($ariaLabel = "${ariaLabel} at")
136: #end
137: #set ($ariaLabel = "${ariaLabel} ${event.opponent.name}:")
138: #if ($event.neutralSite.length() > 0)
139: #set ($ariaLabel = "${ariaLabel} @ ${event.neutralSite}:")
140: #end
141: #set ($ariaLabel = "${ariaLabel} Box Score")
142: aria-label="$ariaLabel"
143: #end
144:
145: #macro (printGrid $items $type)
146: <div class="news-layout grid">
147: <div class="stories">
148: <ul>
149: #foreach ($item in $items)
150: #if ($item.title.length() > 0)
151:
152: <li class="story ${type}">
153: <div class="clearfix">
154: <a href="$item.url" class="title-box">
155: <span class="thumb">
156: #if ($item.thumbnailURL)
157: <img src="$website.cdn("/info/images/spacer.gif")" data-src="${item.thumbnailURL}?max_width=300" alt="" class="lazyload" />
158: #elseif ($item.contentType == "loki/youtube")
159: <img src="$website.cdn("/info/images/spacer.gif")" data-src="http://img.youtube.com/vi/${item.dataAsString}/0.jpg" alt="" class="lazyload" />
160: #else
161: <img src="$website.cdn("/info/images/spacer.gif")" data-src="/images/setup/thumbnail_default.jpg?max_width=300" alt="" class="lazyload" />
162: #end
163: </span>
164: <span class="title">$item.title</span>
165: </a>
166: </div>
167: </li>
168: #end
169: #end ## foreach
170: </ul>
171: </div>
172: </div>
173: #end ## ends macro
174:
175: #macro (gamelogData $p)
176:
177: #set ($p = $positions.get($p))
178: #set ($gamelogs = $gamelogs.get($p))
179:
180: #if ($hasEvents)
181: <div class="stats-box full clearfix">
182: <div class="scrollable">
183: <div>
184: <table>
185: <tr class="thead">
186: <th class="text">Date</th>
187: <th class="pinned-col text">Opponent</th>
188: <th>Score</th>
189: #foreach ($gamelog in $gamelogs)
190: <th>$gamelog</th>
191: #end
192: </tr>
193: #foreach ($event in $events)
194: <tr>
195: <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
196: <td class="pinned-col text">
197: #if ($event.event.neutralSite.length() > 0) vs. #elseif (!$event.event.home) at #end
198: $event.event.opponent.name
199: </td>
200: <td>
201: #if ($event.event.statusCode >= 0)
202: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
203: <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
204: #else
205: ${event.event.APResult}
206: #end
207: #else #end
208: </td>
209: #foreach ($gamelog in $gamelogs.keySet())
210: #set ($value = "-")
211: #set ($value = $formatter.formatNumber($event.stats.get($gamelog), $formats.get($gamelog)))
212: <td>$value</td>
213: #end
214: </tr>
215: #end
216: </table>
217: </div>
218: </div> ## scrollable
219: </div> ## stats-box
220: #end
221:
222: #end ## macro gamelogData
223:
224: #macro (split $statPosBriefs $label $stats)
225: <tr>
226: <td class="pinned-col text">${label}</td>
227: #foreach ($brief in $statPosBriefs.keySet())
228: #set ($value = "-")
229: #set ($value = $!formatter.formatNumber($stats.get($brief), $formats.get($brief)))
230: <td>#if ($value.length() > 0) $value #else - #end</td>
231: #end
232: </tr>
233: #end
234:
235: #macro (careerData $p)
236: #set ($p = $positions.get($p))
237: #set ($statPosBriefs = $briefs.get($p))
238:
239: <div class="stats-box full clearfix">
240: <div class="scrollable">
241: <div>
242: <table>
243: <tr class="thead">
244: <th class="pinned-col"> </th>
245: #foreach ($brief in $statPosBriefs)
246: <th>$brief</th>
247: #end
248: </tr>
249:
250: #set ($careerTotals = $request.getAttribute("careerTotals"))
251: #set ($careerMap = $request.getAttribute("careerMap"))
252:
253: #foreach ($season in $seasons)
254: ## Check if we did not get stats for this season
255: #if ($careerMap.get($season.seasonName))
256: #set ($label = "<a href='${season.path}?view=profile'>$season.seasonName</a>")
257: #split($statPosBriefs, $label, $careerMap[$season.seasonName])
258: #elseif ($wiki.valid())
259: <tr>
260: <td class="text">${season.seasonName}</td>
261: <td colspan="${statPosBriefs.size()}">We could not find the "players" page in the ${season.seasonName} section.</td>
262: </tr>
263: #end
264: #end
265:
266: #split($statPosBriefs, "Total", $request.getAttribute("careerTotals").overall)
267:
268: </table>
269: </div>
270: </div> ## scrollable
271: </div> ## stats-box
272:
273: #end ## macro careerData
274:
275: #macro (splitsData $p)
276:
277: #set ($p = $positions.get($p))
278: #set ($statPosBriefs = $briefs.get($p))
279: #set ($colspan = $tool.math.add($statPosBriefs.size(), 1))
280:
281: #if ($statPosBriefs.size() > 0)
282: <div class="stats-box full clearfix">
283: <div class="scrollable">
284: <div>
285: <table>
286: <tr>
287: <th class="pinned-col"> </th>
288: #foreach ($brief in $statPosBriefs)
289: <th>$brief</th>
290: #end
291: </tr>
292:
293: #split($statPosBriefs, "Total", $splits.overall)
294: #split($statPosBriefs, "Conference", $splits.conference)
295: #split($statPosBriefs, "Exhibition", $splits.exhibition)
296:
297: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
298:
299: #split($statPosBriefs, "Home", $splits.home)
300: #split($statPosBriefs, "Away", $splits.away)
301: #split($statPosBriefs, "Neutral", $splits.neutral)
302:
303: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
304:
305: #foreach($gameResult in $gamesResults.entrySet())
306: #if ($gameResult.key == "wins")
307: #set ($splitGameResult = $splits.inWins)
308: #elseif ($gameResult.key == "losses")
309: #set ($splitGameResult = $splits.inLosses)
310: #elseif ($gameResult.key == "ties")
311: #set ($splitGameResult = $splits.inTies)
312: #end
313:
314: #split($statPosBriefs, $gameResult.value, $splitGameResult)
315: #end
316:
317: <tr class="empty-row"><td colspan="$colspan"><div class="empty-cell">-</div></td></tr>
318:
319: #if ($monthsPlayed and $monthsPlayed.size() > 0)
320: #foreach($month in $monthsPlayed)
321: #if ($month == 'January')
322: #set ($splitMonth = $splits.january)
323: #elseif ($month == 'February')
324: #set ($splitMonth = $splits.february)
325: #elseif ($month == 'March')
326: #set($splitMonth = $splits.march)
327: #elseif ($month == 'April')
328: #set($splitMonth = $splits.april)
329: #elseif ($month == 'May')
330: #set ($splitMonth = $splits.may)
331: #elseif ($month == 'June')
332: #set ($splitMonth = $splits.june)
333: #elseif ($month == 'July')
334: #set($splitMonth = $splits.july)
335: #elseif ($month == 'August')
336: #set ($splitMonth = $splits.august)
337: #elseif ($month == 'September')
338: #set($splitMonth = $splits.september)
339: #elseif ($month == 'October')
340: #set($splitMonth = $splits.october)
341: #elseif ($month == 'November')
342: #set ($splitMonth = $splits.november)
343: #elseif ($month == 'December')
344: #set($splitMonth = $splits.december)
345: #end
346:
347: #split($statPosBriefs, $month, $splitMonth)
348: #end ## foreach
349: #end
350: </table>
351: </div>
352: </div> ## scrollable
353: </div> ## srollable-table
354: #end
355:
356: #end ## macro splitsData
357:
358: #macro (printRecentGames)
359: #if ($hasEvents)
360: <table>
361: <tr class="thead accent-bg"><th colspan="3">Recent Games</th></tr>
362:
363: #set ($eventEnd = -1)
364: #foreach ($event in $events)
365: #if ($event.event.result.resolved)
366: #set ($eventEnd = $velocityCount)
367: #end
368: #end
369:
370: #set ($eventStart = $eventEnd - 5)
371: #if ($eventStart < 0) #set ($eventStart = 0) #end
372:
373: #foreach ($event in $events)
374: #if ($velocityCount >= $eventStart and $velocityCount <= $eventEnd)
375: <tr>
376: <td class="text">$formatter.formatDate($event.event.date, "MMM d")</td>
377: <td class="text">
378: #if ($event.event.neutralSite.length() > 0) vs.
379: #elseif (!$event.event.home) at
380: #else ## nothing for a home game
381: #end
382: $event.event.opponent.name
383: </td>
384: <td class="text">
385: #if ($event.event.statusCode >= 0)
386: #if ($event.event.eventId.length() > 0 && $event.stats.size() > 0)
387: <a #printResultAriaLabel($event.event) href="../boxscores/${formatter.formatBoxScoreLink($event.event)}">${event.event.APResult}</a>
388: #else
389: ${event.event.APResult}
390: #end
391: #end
392: </td>
393: </tr>
394: #end ## if
395: #end
396: </table>
397: #end
398: #end ## macro printRecentGames
399:
400: #macro (printCategories $briefCategoryLabels $v $ariaLabel)
401:
402: <div class="tab-container secondary clearfix" data-module="stats/tabs" data-type="secondary">
403: <div class="tab-nav" data-module="jscroll" data-momentum="false">
404: <div>
405: <ul class="clearfix">
406: #foreach($briefCat in $briefCategoryLabels.entrySet())
407: #set ($briefCatLabel = $briefCat.value)
408: #set ($briefCatKey = $briefCat.key)
409:
410: #if ($locale == "en_gb" && $briefCatLabel == "Defense")
411: #set ($briefCatLabel = "Defence")
412: #end
413:
414: <li #if ($activePos == $briefCatKey) class="active" #end><a href="${page.url}?view=${v}&pos=${briefCatKey}" role="button" aria-label="${ariaLabel}: ${briefCatLabel}">$briefCatLabel</a></li>
415: #end
416: </ul>
417: </div>
418: </div>
419: <div class="tab-panels">
420: #foreach ($briefCat in $briefCategoryLabels.entrySet())
421: #set ($class = "tab-panel clearfix")
422: #if ($briefCat.key == $activePos)
423: #set ($class = "tab-panel active clearfix")
424: #end
425: <div class="$class">
426: <div class="stats-wrap clearfix">
427: #if ($v == "splits")
428: #splitsData($briefCat.key)
429: #elseif ($v == "career")
430: #careerData($briefCat.key)
431: #end
432: </div>
433: </div>
434: #end
435: </div>
436: </div> ## tab-container
437:
438: #end ## macro printCategories
439:
440: #macro (printHeadshot)
441: #if ($enhancedLayout)
442:
443: #if ($headshot.url)
444: <img src="$headshot.url?max_width=300&max_height=400" alt="$fullName" />
445: #else
446: #if ($website.exists("/images/setup/headshot_default.jpg"))
447: <img src="/images/setup/headshot_default.jpg?max_width=300&max_height=400" alt="$fullName" />
448: #else
449: <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=300&max_height=400")" alt="$fullName" />
450: #end
451: #end
452:
453: #else
454:
455: #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span>#end
456:
457: #if ($headshot.url)
458: <img src="$headshot.url?max_width=160&max_height=210" alt="$fullName" />
459: #else
460: #if ($website.exists("/images/setup/headshot_default.jpg"))
461: <img src="/images/setup/headshot_default.jpg?max_width=160&max_height=210" alt="" />
462: #else
463: <img src="$website.cdn("/info/images/default_headshot.jpg?max_width=160&max_height=210")" alt="" />
464: #end
465: #end
466:
467: #end ## ## enhancedLayout check
468: #end ## macro printHeadshot
469:
470: #macro (printBioInfo)
471: #if ($enhancedLayout)
472:
473: <h2 class="player-heading">
474: #if ($!attributes.get("number").length() > 0)<span class="number accent-bg">$!attributes.get("number")</span>#end
475: <span class="name">$fullName</span>
476: </h2>
477:
478: <ul>
479: #foreach ($i in [1..10])
480: #set ($stickyKey = "bio_custom${i}_sticky")
481: #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
482: <li>
483: <dl>
484: <dt class="label">$options.get($stickyKey): </dt>
485: <dd class="value">$!attributes.get("custom${i}")</dd>
486: </dl>
487: </li>
488: #end
489: #end
490:
491: #foreach ($field in $fields)
492: #if (!$field.key.startsWith("custom"))
493: #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
494: #if ($field.key == "phone1" || $field.key == "phone2")
495: <li>
496: <dl>
497: <dt class="label">Phone: </dt>
498: <dd class="value">$!attributes.get($field.key)</dd>
499: </dl>
500: </li>
501: #elseif ($field.key == "email_address")
502: #set ($emailAdd = $attributes.get($field.key))
503: <li>
504: <dl>
505: <dt class="label">Email: </dt>
506: <dd class="value"><a href="mailto:${emailAdd}">$emailAdd</a></dd>
507: </dl>
508: </li>
509: #elseif ($field.key == "weight_class")
510: <li>
511: <dl>
512: <dt class="label">Class: </dt>
513: <dd class="value">$!attributes.get($field.key)</dd>
514: </dl>
515: </li>
516: #elseif ($field.key != "position_abbr")
517: <li>
518: <dl>
519: <dt class="label">$field.value: </dt>
520: <dd class="value">$!attributes.get($field.key)</dd>
521: </dl>
522: </li>
523: #end
524: #end
525: #end
526: #end
527:
528: #foreach ($i in [1..10])
529: #set ($customKey = "bio_custom${i}")
530: #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
531: <li>
532: <dl>
533: <dt class="label">$options.get($customKey): </dt>
534: <dd class="value">$!attributes.get("custom${i}")</dd>
535: </dl>
536: </li>
537: #end
538: #end
539: </ul>
540:
541: #else
542: ## default layout
543:
544: <div class="player-name">
545: #if ($!attributes.get("number").length() > 0)<span class="number">$!attributes.get("number")</span><span class="sep"> - </span>#end
546: <span class="name">$fullName</span>
547: </div>
548:
549: <table role="presentation">
550: #foreach ($i in [1..10])
551: #set ($stickyKey = "bio_custom${i}_sticky")
552: #if ($options.get($stickyKey).length() > 0 && $attributes.get("custom${i}").length() > 0)
553: <tr>
554: <td class="label">$options.get($stickyKey): </td>
555: <td class="value">$!attributes.get("custom${i}")</td>
556: </tr>
557: #end
558: #end
559:
560: #foreach ($field in $fields)
561: #if (!$field.key.startsWith("custom"))
562: #if ($attributes.get($field.key).length() > 0 && ($field.key != "first_name" && $field.key != "last_name" && $field.key != "number" && $field.key != "full_name"))
563: #if ($field.key == "phone1" || $field.key == "phone2")
564: <tr>
565: <td class="label">Phone: </td>
566: <td class="value">$!attributes.get($field.key)</td>
567: </tr>
568: #elseif ($field.key == "email_address")
569: #set ($emailAdd = $attributes.get($field.key))
570: <tr>
571: <td class="label">Email: </td>
572: <td class="value"><a href="mailto:${emailAdd}">$emailAdd</a></td>
573: </tr>
574: #elseif ($field.key == "weight_class")
575: <tr>
576: <td class="label">Class: </td>
577: <td class="value">$!attributes.get($field.key)</td>
578: </tr>
579: #elseif ($field.key != "position_abbr")
580: <tr>
581: <td class="label">$field.value: </td>
582: <td class="value">$!attributes.get($field.key)</td>
583: </tr>
584: #end
585: #end
586: #end
587: #end
588:
589: #foreach ($i in [1..10])
590: #set ($customKey = "bio_custom${i}")
591: #if ($options.get($customKey).length() > 0 && $attributes.get("custom${i}"))
592: <tr>
593: <td class="label">$options.get($customKey): </td>
594: <td class="value">$!attributes.get("custom${i}")</td>
595: </tr>
596: #end
597: #end
598: </table>
599: #end ## enhancedLayout check
600: #end ## macro printBioInfo
601:
602: #macro (printActionShots)
603: #if ($showActionShots)
604: ## BANNERS SLIDER
605: #set ($slickSettings = {
606: "autoplay": true,
607: "fade": true,
608: "arrows": false,
609: "slidesToShow": 1,
610: "slidesToScroll": 1,
611: "lazyLoad": "ondemand",
612: "responsive": "none"
613: })
614: #set ($slickSettings = $slickSettings.toString().replace("=", ":"))
615: <div class="action-shots clearfix">
616: <div class="slider" data-module="slick-slider-init" data-slick-settings="$slickSettings">
617: #foreach ($photo in $playerPhotos)
618: #if ($velocityCount <= $actionShotsLimit)
619: #set ($imgAlt = "")
620: #if (!$image.altText.equals($image.title))
621: #set ($imgAlt = $image.altText)
622: #elseif( $image.title.length() == 0 )
623: #set ($imgAlt = "Action shot for $page.title image $velocityCount")
624: #end
625: <div class="image">
626: <img data-lazy="$photo.url" alt="$imgAlt" />
627: </div>
628: #end
629: #end
630: </div>
631: </div>
632: #end
633: #end ## macro printActionShots
634:
635: #macro (printHighlights)
636: #if ($highlights && $showHighlights)
637: <div class="highlights #if ($enhancedLayout) highlights-bio-enhanced #else highlights-bio #end clearfix">
638: #foreach ($highlight in $highlights.keySet())
639: #set ($value = "-")
640: #set ($value = $formatter.formatNumber($stats.get($highlight), $formats.get($highlight)))
641: <div class="stat clearfix">
642: <span class="stat-title">$!highlights.get($highlight)</span>
643: <span class="stat-value">$value</span>
644: </div>
645: #end
646: </div>
647: #end
648: #end ## macro printHighlights
649: #macro (printRoster)
650: #if ($enhancedLayout)
651: $website.includeAgain("${page.url}?tmpl=roster-switcher-template&id=roster-list")
652: #else
653: #if ($page.contentType == "loki/bio")
654: #set ($headlinesFeaturedSize = 0)
655: #foreach ($featuredPage in $page.headlinesFeatured)
656: #if ($featuredPage.contentType == "loki/headlines")
657: #set ($headlinesFeaturedSize = $headlinesFeaturedSize + 1)
658: #end
659: #end
660: #if ($headlinesFeaturedSize > 0)
661: <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below.">
662: <option selected="selected">Related Bios</option>
663: #foreach ($featuredPage in $page.headlinesFeatured)
664: #if ($featuredPage.contentType == "loki/headlines")
665: $website.includeAgain("${featuredPage.url}?tmpl=roster-list-template¤t_url=${page.url}")
666: #end
667: #end
668: </select>
669: #end
670: #elseif ($page.contentType == "loki/bio-network")
671: #set ($relatedPlayers = $page.sectionPage.children)
672: #set ($teamNames = {})
673: #foreach ($relatedPlayer in $relatedPlayers)
674: #if ($relatedPlayer.contentType == "loki/bio-network")
675: #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
676: #set ($teamName = $relatedPlayerObj.get("team"))
677: #if ($teamName.length() > 0)
678: #if (!$teamNames.containsValue($teamName))
679: $!teamNames.put($tool.math.add($teamNames.size(), 1), $teamName)
680: #end
681: #end
682: #end
683: #end
684:
685: <select class="roster-select-list" aria-label="Select a player to view its full bio from the list of options below.">
686: #foreach ($i in [1..$teamNames.size()])
687: #if ($teamNames.size() > 1)
688: <optgroup label="$teamNames.get($i)">
689: #end
690:
691: #foreach ($relatedPlayer in $relatedPlayers)
692: #if ($relatedPlayer.contentType == "loki/bio-network")
693: #set ($relatedPlayerObj = $relatedPlayer.getDataAsObject().getAttributes())
694: #set ($teamName = $relatedPlayerObj.get("team"))
695: #if ($teamName.length() > 0 && $teamName == $teamNames.get($i))
696: #set ($playerFirstName = $relatedPlayerObj.get("first_name"))
697: #set ($playerLastName = $relatedPlayerObj.get("last_name"))
698: #if ($page.url == $relatedPlayer.url)
699: <option value="$relatedPlayer.url" selected="selected">${playerFirstName} ${playerLastName}</option>
700: #else
701: <option value="$relatedPlayer.url">${playerFirstName} ${playerLastName}</option>
702: #end
703: #end
704: #end
705: #end
706:
707: #if ($teamNames.size() > 1)
708: </optgroup>
709: #end
710: #end
711: </select>
712: #end
713: #end ## enhancedLayout check
714: #end ## macro printRoster
715:
716: ################################################## END MACROS #############################################################
717:
718: #if ($attributes.get("full_name").length() > 0)
719: #set ($fullName = $attributes.get("full_name"))
720: #else
721: #set ($firstName = $!attributes.get("first_name"))
722: #set ($lastName = $!attributes.get("last_name"))
723: #set ($fullName = "${firstName} ${lastName}")
724: #end
725:
726: #set ($actionShots = false)
727: #if ($enhancedLayout && $playerPhotos.size() > 0)
728: #set ($actionShots = true)
729: #end
730:
731: #if ($enhancedLayout)
732: #set ($rootClass = "bio-enhanced")
733: #if ($actionShots && $showActionShots)
734: #set ($rootClass = "${rootClass} action")
735: #else
736: #set ($rootClass = "${rootClass} plain")
737: #end
738: #else
739: #set ($rootClass = "bio-wrap")
740: #end
741:
742: ## FULL ROSTER
743: <div class="${rootClass} #if ($highlights) bio-wrap-has-highlights #end clearfix" data-module="stats/responsive-container">
744:
745: ## RELATED BIOS
746: #if ($showRoster)
747: <div class="related-bios clearfix">#printRoster</div>
748: #end
749:
750: #if ($actionShots)
751: #printActionShots
752: #end
753:
754: <div class="head clearfix">
755: <div class="clearfix">
756:
757: <div class="player-about clearfix">
758: <div class="player-headshot">#printHeadshot</div>
759: <div class="player-info">#printBioInfo</div>
760: </div>
761:
762: #printHighlights
763:
764: </div>
765: </div> ## head
766:
767: #if ($view.length() > 0)
768: <div class="body clearfix">
769:
770: <div class="tab-container primary clearfix" data-module="stats/tabs" data-type="primary">
771: <div class="tab-nav" data-module="jscroll" data-momentum="false">
772: <div>
773: <ul class="clearfix">
774: #if ($hasSynopsis || $hasBioBrief)
775: <li #if ($view == "bio") class="active" #end><a href="${page.url}?view=bio">Bio</a></li>
776: #end
777:
778: #if ($statsURL.length() > 0)
779: <li #if ($view == "profile") class="active" #end><a href="${page.url}?view=profile">Player Profile</a></li>
780: <li #if ($view == "gamelog") class="active" #end><a href="${page.url}?view=gamelog">Game Log</a></li>
781: #if ($showCareer)
782: <li #if ($view == "career") class="active" #end><a href="${page.url}?view=career">Career Stats</a></li>
783: #end
784: <li #if ($view == "splits") class="active" #end><a href="${page.url}?view=splits">Split Stats</a></li>
785: #end
786:
787: #if ($hasHTMLStats)
788: <li #if ($view == "htmlstats") class="active" #end><a href="${page.url}?view=htmlstats">HTML Stats</a></li>
789: #end
790:
791: #if ($releases.size() > 0)
792: <li #if ($view == "news") class="active" #end><a href="${page.url}?view=news">News</a></li>
793: #end
794:
795: #if ($playerPhotos.size() > 0)
796: <li #if ($view == "photos") class="active" #end><a href="${page.url}?view=photos">Photos</a></li>
797: #end
798:
799: #if ($playerVideos.size() > 0)
800: <li #if ($view == "videos") class="active" #end><a href="${page.url}?view=videos">Videos</a></li>
801: #end
802: </ul>
803: </div>
804: </div> ## tab-nav
805:
806: <div class="tab-panels clearfix">
807:
808: ## BIO
809: #if ($hasSynopsis || $hasBioBrief)
810:
811: #set ($class = "tab-panel clearfix")
812: #if ($view == "bio")
813: #set ($class = "tab-panel active clearfix")
814: #end
815: <div class="${class}">
816:
817: <div class="synopsis clearfix">
818: #if ($hasSynopsis)
819: $synopsis
820: #elseif ($hasBioBrief)
821: $website.include("$bioBriefURL")
822: #end
823: </div>
824:
825: </div> ## tab-panel
826: #end
827: ## BIO
828:
829: ## STATS
830: #if ($statsURL.length() > 0)
831:
832: ## PROFILE
833: #set ($class = "tab-panel clearfix")
834: #if ($view == "profile")
835: #set ($class = "tab-panel active clearfix")
836: #end
837: <div class="${class}">
838: <div class="stats-wrap clearfix">
839:
840: ## LAST SIX GAMES
841: <div class="stats-box half">
842: #printRecentGames()
843: </div>
844:
845: ## RANKING
846: <div class="stats-box half">
847: #if ($statPos.length() > 0)
848: $website.include("players?tmpl=stats-bios-rank-template&rank=${playerId}&pos=${statPos}")
849: #end
850: </div>
851:
852: </div> ## stats-wrap
853: </div> ## tab-content
854: ## PROFILE
855:
856: ## GAMELOG
857: #set ($class = "tab-panel clearfix")
858: #if ($view == "gamelog")
859: #set ($class = "tab-panel active clearfix")
860: #end
861:
862: #set ($activePos = $statPos)
863: #if ($view == "gamelog" && $paramPos.length() > 0)
864: #if ($positions.get($paramPos).length() > 0)
865: #set ($activePos = $positions.get($paramPos))
866: #end
867: #end
868:
869: <div class="${class}">
870:
871: #if ($gamelogsCategoriesLabels)
872: <div class="tab-container clearfix secondary" data-module="stats/tabs" data-type="secondary">
873: <div class="tab-nav" data-module="jscroll" data-momentum="false">
874: <div>
875: <ul class="clearfix">
876: #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
877: #set($gamelogsCatLabelVal = $gamelogsCatLabel.value)
878:
879: #if ($locale == "en_gb" && $gamelogsCatLabelVal == "Defense")
880: #set($gamelogsCatLabelVal = "Defence")
881: #end
882:
883: <li #if ($activePos == $gamelogsCatLabel.key) class="active" #end><a href="${page.url}?view=gamelog&pos=${gamelogsCatLabel.key}" role="button" aria-label="Game Log: ${gamelogsCatLabelVal}">$gamelogsCatLabelVal</a></li>
884: #end
885: </ul>
886: </div>
887: </div>
888: <div class="tab-panels">
889: #foreach($gamelogsCatLabel in $gamelogsCategoriesLabels.entrySet())
890: #set ($class = "tab-panel clearfix")
891: #if ($gamelogsCatLabel.key == $activePos)
892: #set ($class = "tab-panel active clearfix")
893: #end
894: <div class="${class}">
895: <div class="stats-wrap clearfix">#gamelogData($gamelogsCatLabel.key)</div>
896: </div>
897: #end
898: </div>
899: </div>
900: #else
901: <div class="stats-wrap clearfix">#gamelogData($pos)</div>
902: #end
903:
904: </div> ## tab-panel
905: ## GAMELOG
906:
907:
908: ## CAREER
909: #if ($showCareer)
910:
911: #set ($activePos = $statPos)
912: #if ($view == "career" && $paramPos.length() > 0)
913: #if ($positions.get($paramPos).length() > 0)
914: #set ($activePos = $positions.get($paramPos))
915: #end
916: #end
917:
918: #set ($class = "tab-panel clearfix")
919: #if ($view == "career")
920: #set ($class = "tab-panel active clearfix")
921: #end
922:
923: <div class="${class}">
924:
925: #if ($briefsCategoriesLabels)
926: #printCategories($briefsCategoriesLabels "career" "Career Stats")
927: #else
928: <div class="stats-wrap clearfix">#careerData($activePos)</div>
929: #end
930:
931: </div> ## tab-panel
932: #end
933: ## CAREER
934:
935: ## SPLITS
936: #set ($class = "tab-panel clearfix")
937: #if ($view == "splits")
938: #set ($class = "tab-panel active clearfix")
939: #end
940:
941: #set ($activePos = $statPos)
942: #if ($view == "splits" && $paramPos.length() > 0)
943: #if ($positions.get($paramPos).length() > 0)
944: #set ($activePos = $positions.get($paramPos))
945: #end
946: #end
947:
948: <div class="${class}">
949:
950: #if ($briefsCategoriesLabels)
951: #printCategories($briefsCategoriesLabels "splits" "Splits Stats")
952: #else
953: <div class="stats-wrap clearfix">#splitsData($pos)</div>
954: #end
955:
956: </div> ## tab-panel
957: ## SPLITS
958:
959: #end
960: ## STATS
961:
962: ## HTML STATS
963: #if ($hasHTMLStats)
964:
965: #set ($class = "tab-panel clearfix")
966: #if ($view == "htmlstats")
967: #set ($class = "tab-panel active clearfix")
968: #end
969: <div class="${class}">
970: <a href="${htmlStatsURL}" class="bio-htmlstats-identifier">Click to view HTML Stats</a>
971: </div>
972:
973: #end
974: ## HTML STATS
975:
976: ## NEWS
977: #if ($releases.size() > 0)
978: #set ($class = "tab-panel clearfix")
979: #if ($view == "news")
980: #set ($class = "tab-panel active clearfix")
981: #end
982: <div class="${class}">
983: #printGrid($releases, "article")
984: </div> ## tab-content
985: #end
986: ## NEWS
987:
988: ## PHOTOS
989: #if ($playerPhotos.size() > 0)
990: #set ($class = "tab-panel clearfix")
991: #if ($view == "photos")
992: #set ($class = "tab-panel active clearfix")
993: #end
994: <div class="${class}">
995: $website.includeAgain("${page.url}?tmpl=bio-photos-template")
996: </div> ## tab-content
997: #end
998: ## PHOTOS
999:
1000: ## VIDEOS
1001: #if ($playerVideos.size() > 0)
1002: #set ($class = "tab-panel clearfix")
1003: #if ($view == "videos")
1004: #set ($class = "tab-panel active clearfix")
1005: #end
1006: <div class="${class}">
1007: #printGrid($playerVideos, "video")
1008: </div> ## tab-content
1009: #end
1010: ## VIDEOS
1011:
1012: </div> ## tab-panels
1013: </div> ## tab-container
1014: </div> ## body
1015: #end
1016:
1017: $wiki
1018: </div> ## ends bio-wrap
1019:
1020: ## GLOBAL ADS SERVER
1021: #if ($website.ads.isAdvertisingEnabled('BIOS'))
1022: $website.includeAgain("global-adserver-slots?adSlot=bios")
1023: #end
|