Page source: |
1: ###################################################
2: ## LOCAL OVERRIDE REQUIRED TO SUPPORT NAMEENGINE ##
3: ###################################################
4:
5: $website.include("options")
6: #set ($options = $request.getAttribute("options"))
7:
8: #set ($rosterLayout = "list")
9: #set ($showHeadshotView = false)
10:
11: #if ($options.get("roster_show_headshot_view") == true)
12: #set ($showHeadshotView = true)
13:
14: #foreach ($cookie in $request.cookies)
15: #if ($cookie.name == "roster_view")
16: #set ($rosterLayout = $cookie.value)
17: #end
18: #end
19: #end
20:
21: #if ($options.get("roster_default_view"))
22: #set ($rosterLayout = $options.get("roster_default_view"))
23: #end
24:
25: #if ($request.getParameter("view"))
26: #set ($view = $request.getParameter("view"))
27: #if ($view == "list" || $view == "headshot")
28: #set ($rosterLayout = $view)
29: #end
30: #end
31:
32: #set ($rosterFields = ["number","first_name: :last_name","position","year","height","weight","hometown:/:highschool"])
33: #set ($rosterLabels = ["No.","Name","Pos.","Cl.","Ht.","Wt.","Hometown/High School"])
34: #set ($rosterSortables = ["number","last_name","year","position"])
35:
36: #if ($options.get("roster_fields") && $options.get("roster_labels"))
37: #set ($rosterFieldsString = $options.get("roster_fields"))
38: #set ($rosterLabelsString = $options.get("roster_labels"))
39:
40: #set ($rosterFieldsString = $rosterFieldsString.split(","))
41: #set ($rosterLabelsString = $rosterLabelsString.split(","))
42:
43: #set ($rosterFieldsSize = $tool.list.size($rosterFieldsString))
44: #set ($rosterLabelsSize = $tool.list.size($rosterLabelsString))
45:
46: #if ($rosterFieldsSize > 0 && $rosterLabelsSize > 0 && $rosterFieldsSize == $rosterLabelsSize)
47: #set ($rosterFields = $rosterFieldsString)
48: #set ($rosterLabels = $rosterLabelsString)
49: #end
50: #end
51:
52: #if ($request.getParameter("sort").length() > 0) ## when sort param is available, force the list layout
53: #set ($rosterLayout = "list")
54: #end
55:
56: #macro (printFieldValue $field $defaultValue)
57: #set ($fieldValue = "")
58: #if ($field.contains(">"))
59: #set ($orderedFields = $field.split(">"))
60: #foreach ($orderedField in $orderedFields)
61: #set ($orderedField = $orderedField.trim())
62: #if ($bio.get($orderedField) && $fieldValue.length() == 0)
63: #set ($fieldValue = $bio.get($orderedField))
64: #end
65: #end
66: #else
67: #if ($bio.get($field))
68: #set ($fieldValue = $bio.get($field))
69: #end
70: #end
71: #if ($fieldValue.length() > 0)
72: $fieldValue
73: #else
74: $defaultValue
75: #end
76: #end
77:
78: #macro (printField $field)
79: #set ($splitter = "")
80: #if ($field.contains(": :")) ## multipart fields separated by a space
81: #set ($splitter = ": :")
82: #elseif ($field.contains(":/:")) ## multipart fields separated by a /
83: #set ($splitter = ":/:")
84: #end
85:
86: #if ($splitter.length() > 0)
87: #set ($multipartField = $field.split($splitter))
88: #foreach ($fieldPart in $multipartField)
89: #set ($fieldPart = $fieldPart.trim())
90: #if ($velocityCount > 1)
91: $splitter.charAt(1)
92: #end
93: #printFieldValue($fieldPart "-")
94: #end
95: #else
96: #printFieldValue($field " ")
97: #end
98: #end
99:
100: #macro (printPlayerAriaLabel $bioinfo)
101: #set ($jerseyNumber = "")
102: #set ($bio = $bioinfo.getDataAsObject().getAttributes())
103: #if ($bio.get("full_name").length() > 0)
104: #set ($fullName = $bio.get("full_name"))
105: #else
106: #set ($firstName = $bio.get("first_name"))
107: #set ($lastName = $bio.get("last_name"))
108: #set ($fullName = "${firstName} ${lastName}")
109: #end
110: #if ($bio.get("number").length() > 0)
111: #set ($jerseyNumber = "jersey number ${bio.get('number')}")
112: #end
113: aria-label="${fullName}: ${jerseyNumber}: full bio"
114: #end
115:
116: #macro (printHeadshot $bioinfo)
117: #set ($bio = $bioinfo.getDataAsObject().getAttributes())
118: #set ($alt = "${bio.get('first_name')} ${bio.get('last_name')} bio photo")
119:
120: #if ($bioinfo.publishedHeadshots.size() > 0)
121: #set ($src = $bioinfo.publishedHeadshots.get(0).url)
122: #elseif ($website.exists("/images/setup/default-headshot.png"))
123: #set ($src = "/images/setup/default-headshot.png")
124: #elseif ($website.exists("/images/setup/headshot_default.jpg"))
125: #set ($src = "/images/setup/headshot_default.jpg")
126: #else
127: #set ($src = "/info/images/default-headshot.png")
128: #end
129:
130: #set ($src = "${src}?max_height=576&max_width=576&crop=1")
131: <img class="img-fluid w-100" src="${src}" alt="${alt}" tabindex="0" />
132: #end ## macro printHeadshot
133:
134: #macro (printHeadshotBg $bioinfo)
135: #set ($bio = $bioinfo.getDataAsObject().getAttributes())
136: #if ($bioinfo.publishedHeadshots.size() > 0)
137: #set ($src = $bioinfo.publishedHeadshots.get(0).url)
138: #elseif ($website.exists("/images/setup/default-headshot.png"))
139: #set ($src = "/images/setup/default-headshot.png")
140: #elseif ($website.exists("/images/setup/headshot_default.jpg"))
141: #set ($src = "/images/setup/headshot_default.jpg")
142: #else
143: #set ($src = "/info/images/default-headshot.png")
144: #end
145: #set ($src = "${src}?max_height=576&max_width=576&crop=1")
146: <div class="ratio ratio-1x1 d-block">
147: <div style="background-image:url('${src}'); background-position:top center; background-size:cover;"></div>
148: </div>
149: #end ## macro printHeadshotBg
150:
151:
152: #macro (printBannerImage)
153: #if ($page.thumbnailURL)
154: #set ($rosterThumbSize = 1920)
155: #if ($tool.math.toInteger($options.get("roster_thumb_size")))
156: #set ($rosterThumbSize = $tool.math.toInteger($options.get("roster_thumb_size")))
157: #end
158: <div class="roster-banner-img text-center">
159: <picture alt="${page.thumbnailPage.altText}">
160: <source media="(min-width:1200px)" srcset="${page.thumbnailURL}?max_width=1920">
161: <source media="(min-width:992px)" srcset="${page.thumbnailURL}?max_width=1199">
162: <source media="(min-width:578px)" srcset="${page.thumbnailURL}?max_width=991">
163: <source media="(min-width:0px)" srcset="${page.thumbnailURL}?max_width=576">
164: <img class="img-fluid mx-auto" src="${page.thumbnailURL}?max_width=${rosterThumbSize}" alt="${page.thumbnailPage.altText}"/>
165: </picture>
166: </div>
167: #end
168: #end
169:
170: #macro (printArchiveList)
171: #if ($options.get("archive_roster"))
172: #set ($id = "roster-archive-switcher")
173: #if ($request.getParameter("id").length() > 0)
174: #set ($id = $request.getParameter("id"))
175: #end
176:
177: #set ($archiveRosterString = $options.get("archive_roster"))
178: #set ($archiveRosterString = $archiveRosterString.split(","))
179: #set ($isArchivePage = false)
180: #if ($tool.list.size($archiveRosterString) > 0)
181:
182: <div id="${id}" class="archive-roster-switcher-template float-right">
183: <div class="input-group mb-3">
184: <div class="input-group-prepend">
185: <label class="input-group-text" for="$id-options">Archive Rosters</label>
186: </div>
187: <select class="custom-select" id="${id}-options" onchange="location=this.value;" aria-label="Change the season by selecting an option from the list below">
188: #foreach ($string in $archiveRosterString)
189: #set ($archiveRoster = $string.split(":"))
190: #if ($tool.list.size($archiveRoster) == 2)
191: #set ($archiveUrl = $tool.list.get($archiveRoster, 0).trim())
192: #set ($archiveLabel = $tool.list.get($archiveRoster, 1).trim())
193: #if ($archiveUrl != $page.url)
194: <option value="$archiveUrl" data-url="$archiveUrl" data-title="$archiveLabel">$archiveLabel</option>
195: #else
196: <option value="$archiveUrl" data-url="$archiveUrl" data-title="$archiveLabel" selected>$archiveLabel</option>
197: #set ($isArchivePage = true)
198: #end
199: #end
200: #end
201: </select>
202: </div>
203: </div>
204: #end
205: #end
206: #end ## macro printArchiveList
207:
208: #macro (printViewButtons)
209: <div class="btn-toolbar flex-fill justify-content-between d-print-none" role="toolbar" aria-label="Roster tool bar">
210: <div class="me-2" role="group" aria-label="Print freindly version">
211: <a href="${page.url}?dec=printer-decorator" class="btn btn-outline-secondary"><span class="fa fa-print"></span> Print</a>
212: </div>
213: #if ($showHeadshotView)
214: <div class="btn-group btn-group-toggle mb-3 ms-auto me-3" role="group" data-bs-toggle="buttons">
215: <a class="roster-view btn btn-outline-secondary #if($rosterLayout == 'list') active #end" data-view="list" href="$page.url?view=list">
216: <span class="fas fa-list" aria-hidden="true"></span>
217: <span class="sr-only">List View</span>
218: </a>
219: <a class="roster-view btn btn-outline-secondary #if($rosterLayout == 'headshot') active #end" data-view="headshot" href="$page.url?view=headshot">
220: <span class="fas fa-user" aria-hidden="true"></span>
221: <span class="sr-only">Headshot View</span>
222: </a>
223: </div>
224: #end
225: </div>
226:
227: #end ## macro printViewButtons
228:
229: #set ($socialBrands = ["facebook", "twitter", "instagram", "youtube", "twitch", "tiktok"])
230:
231: #macro (buildSocialLink $brand $handle $icons $class)
232: #if($brand == "facebook")
233: #set($socialHost = "https://www.facebook.com")
234: #elseif($brand == "twitter")
235: #set($socialHost = "https://twitter.com")
236: #elseif($brand == "instagram")
237: #set($socialHost = "https://www.instagram.com")
238: #elseif($brand == "tikTok")
239: #set($socialHost = "https://www.tiktok.com")
240: #elseif($brand == "twitch")
241: #set($socialHost = "https://www.twitch.tv")
242: #elseif($brand == "youtube")
243: #set($socialHost = "https://www.youtube.com")
244: #end
245:
246: #if($socialHost.length() > 0 )
247: #set($url = "${socialHost}/${handle}")
248: #else
249: #set($url = "")
250: #end
251:
252: #set($icons = $Boolean.parseBoolean($icons))
253: #if($icons == true)
254: <a href="$url" class="$class" target="_blank"><span aria-label="$brand" class="fa fa-brands #if($brand == 'twitter') fa-x-twitter #else fa-$brand.toLowerCase() #end"></span></a>
255: #else
256: <a href="$url" class="$class">$handle</a>
257: #end
258: #end
259:
260:
261: #macro (printListLayout)
262: #set ($rosterFields = ["number","first_name: :last_name","position","year","height","weight","hometown:/:highschool"])
263: #set ($rosterLabels = ["No.","Name","Pos.","Cl.","Ht.","Wt.","Hometown/High School"])
264: #set ($rosterSortables = ["number","last_name","year","position"])
265:
266: #if ($options.get("roster_fields") && $options.get("roster_labels"))
267: #set ($rosterFieldsString = $options.get("roster_fields"))
268: #set ($rosterLabelsString = $options.get("roster_labels"))
269:
270: #set ($rosterFieldsString = $rosterFieldsString.split(","))
271: #set ($rosterLabelsString = $rosterLabelsString.split(","))
272:
273: #set ($rosterFieldsSize = $tool.list.size($rosterFieldsString))
274: #set ($rosterLabelsSize = $tool.list.size($rosterLabelsString))
275:
276: #if ($rosterFieldsSize > 0 && $rosterLabelsSize > 0 && $rosterFieldsSize == $rosterLabelsSize)
277: #set ($rosterFields = $rosterFieldsString)
278: #set ($rosterLabels = $rosterLabelsString)
279: #end
280: #end
281:
282: #if ($options.get("roster_sortable"))
283: #set ($rosterSortablesString = $options.get("roster_sortable"))
284: #set ($rosterSortables = $rosterSortablesString.split(","))
285: #end
286:
287: #set ($sortBy = "")
288: #set($sortBy = $formatter.escapeXml($request.getParameter("sort")))
289: #if ($sortBy.length() > 0)
290: #set ($headlines = $headlines.sortedBy($sortBy))
291: #end
292:
293: <div class="table-responsive">
294: <table class="table table-hover">
295: <thead class="thead-dark">
296: <tr>
297: #foreach($field in $rosterFields)
298: #set ($fieldLabel = $tool.list.get($rosterLabels, $tool.math.sub($velocityCount, 1)))
299: #set ($isSortable = false)
300: #set ($sortableField = "")
301:
302: #if ($tool.list.size($rosterSortables) > 0)
303: #foreach ($sortable in $rosterSortables)
304: #if ($field.contains($sortable))
305: #set ($isSortable = true)
306: #set ($sortableField = $sortable)
307: #end
308: #end
309: #end
310:
311: #set ($ariaLabelColumn = $sortableField)
312: #if ($sortableField.contains('custom'))
313: #set ($ariaLabelColumn = $fieldLabel)
314: #end
315:
316: #set ($width = "")
317: #if ($fieldLabel.contains('No'))
318: #set ($width = "w-1")
319: #end
320:
321: <th scope="col" class="text-nowrap ${width} col${velocityCount} #if($isSortable)sortable #end #if($sortBy == $sortableField) sorted #end">
322:
323: #if ($isSortable)
324: <a href="$page.url?sort=${sortableField}" title="Sort using this column" class="sortable text-reset" role="button" >$fieldLabel
325: #if($sortBy == $sortableField)
326: <span class="fa fa-sort-asc" aria-hidden="true"></span>
327: #else
328: <span class="fa fa-sort text-muted" aria-hidden="true"></span>
329: #end
330: </a>
331: #else
332: $fieldLabel
333: #end
334: </th>
335: #end
336: </tr>
337: </thead>
338: <tbody>
339: #foreach ($bioinfo in $headlines)
340: #set ($bio = $bioinfo.getDataAsObject().getAttributes())
341: <tr>
342: #foreach($field in $rosterFields)
343: #set ($dataLabel = $tool.list.get($rosterLabels, $tool.math.sub($velocityCount, 1)))
344: #if ($field.contains("first_name") || $field.contains("last_name") || $field.contains("full_name"))
345: <th scope="row" class="text-inherit">
346: <a #printPlayerAriaLabel($bioinfo) href="$bioinfo.url">#printField($field)</a>
347:
348: <div class="earit_popup" id="earit_popup"></div><script src=https://earit2.thenameengine.com/names/earit/Tampa></script>
349:
350: <div class="social-links-inline d-inline-block ml-2 ms-2">
351: <ul class="d-flex d-flex justify-content-between align-items-center p-0 m-0 gap-0" tabindex="0">
352: #foreach ($brand in $socialBrands)
353: #if ($bio.get("$brand").length())
354: #set($link = $bio.get("$brand"))
355: <li class="d-flex justify-content-between align-items-center flex-column">
356: #buildSocialLink($brand.toLowerCase(), $link, true, "fs-sm small p-1")
357: </li>
358: #end
359: #end
360: </ul>
361: </div>
362: </th>
363: #else
364: #if ($dataLabel.contains('No'))
365: <td class="text-nowrap jersey-number d-md-none">
366: <span class="badge badge-secondary">#printField($field)</span>
367: </td>
368: #end
369: #if ($dataLabel.contains("Pos.") || $dataLabel.contains("Num.") || $dataLabel.contains("Wt.") || $dataLabel.contains("Ht.") || $dataLabel.contains("Cl.") || $dataLabel.contains("B/T"))
370: #set ($textWrapClass = "text-nowrap")
371: #else
372: #set ($textWrapClass = "text-inherit")
373: #end
374: <td class="$textWrapClass #if ($dataLabel.contains('No')) jersey-number d-none d-md-table-cell #end">
375: <span class="label font-weight-bold fw-bold d-md-none">$dataLabel:</span>
376: #if ($field.contains("email_address"))
377: <a href="mailto:${bio.get("email_address")}">#printField($field)</a>
378: #else
379: #printField($field)
380: #end
381: </td>
382: #end
383: #end
384: </tr>
385: #end
386: </tbody>
387: </table>
388: </div>
389: #end ## macro printListLayout
390:
391: #macro (printHeadshotLayout)
392: #set ($headshotSize = "medium")
393: #if ($options.get("roster_headshot_size"))
394: #set ($headshotSize = $options.get("roster_headshot_size"))
395: #end
396:
397: <div class="roster-headshot-container">
398: <div class="row player-cards g-3 headshot-size-${headshotSize}">
399: #foreach ($bioinfo in $headlines)
400: #if($headshotSize == "large")
401: #set ($cardClass = "col-12 col-sm-6 col-md-4 col-lg-4")
402: #elseif($headshotSize == "medium")
403: #set ($cardClass = "col-12 col-sm-6 col-md-4 col-lg-3")
404: #elseif($headshotSize == "small")
405: #set ($cardClass = "col-12 col-sm-6 col-md-4 col-lg-2")
406: #end
407:
408: #set ($bio = $bioinfo.getDataAsObject().getAttributes())
409: <div class="player-card-wrapper ${cardClass} d-flex align-items-stretch position-relative">
410: <div class="player-card card shadow w-100">
411: <div #printPlayerAriaLabel($bioinfo) class="card-front card-data w-100 h-100 bg-white rounded d-flex flex-column align-items-center justify-content-between">
412: <div class="player-image position-relative w-100 overflow-hidden">
413: #printHeadshotBg($bioinfo)
414: </div>
415: <div class="player-card-footer p-3 d-flex justify-content-between align-items-center flex-grow w-100 position-relative">
416: <div class="vm-btn btn btn-sm btn-secondary overflow-hidden position-absolute font-weight-bold fw-bold z-index-1 lh-base" style="line-height:initial;"><span class="fa fa-ellipsis-v"></span><span class="sr-only visually-hidden">View More</span></div>
417:
418: #if ($bio.get("first_name") && $bio.get("last_name"))
419: <a href="$bioinfo.url" class="text-decoration-none flex-fill">
420: <span class="name">
421: <span class="firstname text-truncate d-block fs-6">$bio.get("first_name")</span>
422: <span class="lastname text-truncate d-block fs-5">$bio.get("last_name")#if($bio.get("year").length() > 0) - $bio.get("year")#end</span>
423: </span>
424: </a>
425: #end
426: <ul class="d-flex d-flex justify-content-between align-items-center p-0 m-0 gap-2" tabindex="0">
427: #foreach ($brand in $socialBrands)
428: #if ($bio.get("$brand").length())
429: #set($link = $bio.get("$brand"))
430: <li class="d-flex justify-content-between align-items-center flex-column">
431: #buildSocialLink($brand.toLowerCase(), $link, true, "")
432: </li>
433: #end
434: #end
435: </ul>
436:
437: #if ($bio.get("number") && $!bio.get("number").length() > 0)
438: <span class="number font-weight-bold fw-bold position-relative float-right text-center text-white" tabindex="0" aria-label="Jersey Number $bio.get('number')">$bio.get("number")</span>
439: #end
440: </div>
441: </div>
442: <div class="player-short-bio card-back card-data w-100 h-100 overflow-hidden p-3 position-absolute" >
443: <div class="bio-content d-flex flex-column gap-3 h-100">
444: <div class="card-back-head pb-3">
445: #if ($bio.get("first_name") && $bio.get("last_name"))
446: <div class="name d-flex align-items-center justify-content-start gap-3 p-0">
447: <div class="pl-profile w-25 h-100">
448: #printHeadshot($bioinfo)
449: </div>
450: <div class="pl-name-wrap d-flex flex-column gap-2">
451: #if ($bio.get("number") && $!bio.get("number").length() > 0)
452: <span class="number font-weight-bold fw-bold fs-5 nowrap">#$bio.get("number")</span>
453: #end
454: <div class="pl-name text-decoration-none mt-0">
455: <span class="firstname text-truncate d-block fs-6">$bio.get("first_name")</span>
456: <span class="lastname text-truncate d-block fs-5">$bio.get("last_name")</span>
457: </div>
458: </div>
459: </div>
460: #end
461: <span class="close position-absolute btn btn-sm btn-link">
462: <span class="fa fa-close fa-times" aria-hidden="true"></span>
463: <span class="visually-hidden">Close</span>
464: </span>
465: </div>
466: <div class="bio-data">
467: <ul class="list-unstyled small">
468: #if ($bio.get("year").length() > 0)
469: <li tabindex="0" class="p-0 m-0"><span class="font-weight-bold fw-bold">Class:</span> $bio.get("year")</li>
470: #end
471: #if ($bio.get("height").length() > 0)
472: <li tabindex="0" class="p-0 m-0"><span class="font-weight-bold fw-bold">Height:</span> $bio.get("height")</li>
473: #end
474: #if ($bio.get("bats_throws").length() > 0)
475: <li tabindex="0" class="p-0 m-0"><span class="font-weight-bold fw-bold">B/T:</span> $bio.get("bats_throws")</li>
476: #end
477: #if ($bio.get("position").length() > 0)
478: <li tabindex="0" class="p-0 m-0"><span class="font-weight-bold fw-bold">Position:</span> $bio.get("position")</li>
479: #end
480: #if ($bio.get("hometown").length() > 0)
481: <li tabindex="0" class="p-0 m-0"><span class="font-weight-bold fw-bold">Hometown:</span> $bio.get("hometown")</li>
482: #end
483: #if ($bio.get("highschool").length() > 0)
484: <li tabindex="0" class="p-0 m-0"><span class="font-weight-bold fw-bold">Highschool:</span> $bio.get("highschool")</li>
485: #end
486:
487: <ul class="list-group list-group-horizontal p-0 mt-2" tabindex="0">
488: #foreach ($brand in $socialBrands)
489: #if ($bio.get("$brand").length())
490: #set($link = $bio.get("$brand"))
491: <li class="list-group-item">
492: #buildSocialLink($brand.toLowerCase(), $link, true, "")
493: </li>
494: #end
495: #end
496: </ul>
497: </ul>
498: </div>
499: <a href="$bioinfo.url" class="btn btn-primary full-bio font-weight-bold fw-bold btn-block text-center overflow-hidden">Full Bio</a>
500: </div>
501: </div>
502: </div>
503: </div>
504: #end
505: </div>
506: </div>
507: #end ## macro printHeadshotLayout
508:
509: #if ($request.getParameter("ajax").length() > 0)
510:
511: #if ($rosterLayout == "list")
512: #printListLayout
513: #elseif ($rosterLayout == "headshot")
514: #printHeadshotLayout
515: #end
516:
517: $website.decorate("")
518:
519: #else
520: <div class="page-content roster-content" data-module="bs-scripts/roster-layout" data-page-url="$page.url" data-page-title="$!page.title - ${website.profile.siteName}">
521:
522:
523: #set ($pageTitle = "Roster")
524: #if ($page.title.length() > 0)
525: #set ($pageTitle = $page.title)
526: #end
527: #if ($page.title.length() > 0)
528: <h1 class="page-heading">$pageTitle</h1>
529: #end
530: $!request.setAttribute("pageTitle", "${pageTitle}")
531:
532: $!request.setAttribute("pageDescription", "The official $pageDescription")
533:
534: #printBannerImage
535:
536: <div class="d-flex justify-content-between flex-column-reverse flex-md-row pt-3 border-top border-bottom my-3">
537: #printViewButtons
538: #printArchiveList
539: </div>
540:
541: #if ($rosterLayout == "list")
542:
543: #if ($options.get("roster_sortable"))
544: #set ($rosterSortablesString = $options.get("roster_sortable"))
545: #set ($rosterSortables = $rosterSortablesString.split(","))
546: #end
547:
548: #set ($sortBy = "")
549: #set($sortBy = $request.getParameter("sort"))
550: #if ($sortBy.length() > 0)
551: #set ($headlines = $headlines.sortedBy($sortBy))
552: #end
553:
554: <div class="roster-data style-list">#printListLayout</div>
555:
556: #elseif ($rosterLayout == "headshot")
557: <div class="roster-data style-headshot">#printHeadshotLayout</div>
558:
559: #end ## roster-layout
560:
561: #set ($rosterFooter = "${page.url}-footer")
562: #if ($website.exists($rosterFooter))
563: <div class="roster-footer" data-fetch="$rosterFooter">$website.include($rosterFooter)</div>
564: #end
565: </div> ## page-content
566:
567: ## GLOBAL ADS SERVER
568: #if ($website.ads.isAdvertisingEnabled('ROSTER'))
569: $website.includeAgain("global-adserver-slots?adSlot=roster")
570: #end
571:
572: #end ## if ajax
573:
574: <script type="text/javascript">
575: $(".vm-btn").click(function(e){
576: e.preventDefault();
577: $('.player-card.flipped').removeClass('flipped');
578: $(this).closest('.player-card').addClass('flipped');
579: e.stopPropagation();
580: });
581:
582: $(document).on("click", function(e) {
583: if ($(e.target).is(".player-card") === false) {
584: $(".player-card").removeClass("flipped");
585: }
586: });
587:
588: $(".card-back .close").click(function(){
589: $(".player-card").removeClass("flipped");
590: });
591: </script>
|