PageSourceSearch

https://www.portadelaidefc.com.au/resources/v5.53.10/widgets/aflc_sidebar-match-card.js

js portadelaidefc.com.au collected 2026-09-24 09:37:49 UTC 17,343 bytes, 1 lines download raw bytes

1"use strict";PULSE.app.templates["sidebar-match-card.button-match-videos"]=_.template('<button class="sidebar-match-card__button js-sidebar-match-card-video-button" data-ui-modal="#VideoModal" data-ui-args=\'{"contentId": <%= video.id %>,\n        "mediaId": "<%= video.mediaId %>",\n        "mediaTitle": <%= PULSE.app.templating.helper.cleanString( video.title ) %>,\n        "mediaDescription": <%= PULSE.app.templating.helper.cleanString( video.description ) %>,\n        "subtitle": <%= PULSE.app.templating.helper.cleanString( video.subtitle ) %>,\n        "playlistSize": "0",\n        "coverItem": "{}",\n        "references": "AFL_MATCH:<%= matchId %>",\n        "type": "<%= video.type %>",\n        "link": "<%= video.link %>",\n        "publishFrom": "<%= video.publishFrom + 1 %>",\n        "mediaDate": "<%= PULSE.app.templating.helper.getDateNice( video.publishFrom ) %>"}\'> <%= PULSE.I18N.lookup( \'label.fixtures.match-videos\' ) %> </button>'),PULSE.app.templates["sidebar-match-card.buttons-livematch"]=_.template("<% if (!gameDayGuide) { %> <% cta1Text = PULSE.I18N.lookup( 'label.playerStats' ) %> <% cta1Link = PULSE.app.common.url.getMatchURL(matchId, 'player-stats') %> <% } else { %> <% cta1Text = PULSE.I18N.lookup( 'label.gameDayGuide' ) %> <% cta1Link = PULSE.app.common.url.getMatchURL(matchId, 'game-guide') %> <% } %> <% if (cta1TextOverride !== '') cta1Text = cta1TextOverride %> <% if (cta1LinkOverride !== '') cta1Link = cta1LinkOverride %> <% if (cta1Text && cta1Link) { %> <a href=\"<%= cta1Link %>\" class=\"sidebar-match-card__button\"><%= cta1Text %></a> <% } %> <% let cta2Text = PULSE.I18N.lookup( 'label.teamStats' ) %> <% let cta2Link = PULSE.app.common.url.getMatchURL(matchId, 'team-stats') %> <% if (cta2TextOverride !== '') cta2Text = cta2TextOverride %> <% if (cta2LinkOverride !== '') cta2Link = cta2LinkOverride %> <% if (cta2Text && cta2Link) { %> <a href=\"<%= cta2Link %>\" class=\"sidebar-match-card__button\"><%= cta2Text %></a> <% } %>"),PULSE.app.templates["sidebar-match-card.buttons-postmatch"]=_.template("<% let cta1Text = PULSE.I18N.lookup( 'label.teamStats' ) %> <% let cta1Link = PULSE.app.common.url.getMatchURL(matchId, 'team-stats') %> <% if (cta1TextOverride !== '') cta1Text = cta1TextOverride %> <% if (cta1LinkOverride !== '') cta1Link = cta1LinkOverride %> <% if (cta1Text && cta1Link) { %> <a href=\"<%= cta1Link %>\" class=\"sidebar-match-card__button\"><%= cta1Text %></a> <% } %> <% let cta2Text = PULSE.I18N.lookup( 'label.fixtures.match-videos' ) %> <% let cta2Link = PULSE.app.common.url.getMatchURL(matchId, 'news-videos') %> <% if (cta2TextOverride !== '') cta2Text = cta2TextOverride %> <% if (cta2LinkOverride !== '') cta2Link = cta2LinkOverride %> <% if (cta2Text && cta2Link) { %> <a href=\"<%= cta2Link %>\" class=\"sidebar-match-card__button\"><%= cta2Text %></a> <% } else { %> <%= render( { video, matchId }, 'sidebar-match-card.button-match-videos' ) %> <% } %>"),PULSE.app.templates["sidebar-match-card.buttons-prematch"]=_.template("<% let cta1Text = PULSE.I18N.lookup( 'label.fixtures.book-travel' ) %> <% let cta1Link = metadata?.travel_link ?? null %> <% if (gameDayGuide) cta1Text = PULSE.I18N.lookup( 'label.gameDayGuide' ) %> <% if (gameDayGuide) cta1Link = PULSE.app.common.url.getMatchURL(matchId, 'game-guide') %> <% if (cta1TextOverride !== '') cta1Text = cta1TextOverride %> <% if (cta1LinkOverride !== '') cta1Link = cta1LinkOverride %> <% if (cta1Text && cta1Link) { %> <a href=\"<%= cta1Link %>\" class=\"sidebar-match-card__button\"><%= cta1Text %></a> <% } %> <% let cta2Text = PULSE.I18N.lookup( 'label.fixtures.buy-tickets' ) %> <% let cta2Link = metadata?.ticket_link ?? null %> <% if (cta2TextOverride !== '') cta2Text = cta2TextOverride %> <% if (cta2LinkOverride !== '') cta2Link = cta2LinkOverride %> <% if (cta2Text && cta2Link) { %> <a href=\"<%= cta2Link %>\" class=\"sidebar-match-card__button\"><%= cta2Text %></a> <% } %>"),PULSE.app.templates["sidebar-match-card.clock"]=_.template("<span class=\"match-scoreboard__status-label <%= time.countdown ? 'is-countdown' : '' %>\"><%= time.string %></span>"),PULSE.app.templates["sidebar-match-card.header"]=_.template("<% const compUrl = PULSE.I18N.lookupKey( `hubUrl.AFL_COMPETITION.${compId}` ) %> <% if (comp == 'afl' || comp == 'afl pre season') { %> <% logo = 'afl-logo' %> <% } else if (comp == 'aflw') { %> <% logo = 'aflw-logo-white' %> <% } else { %> <% logo = 'logo-' + comp %> <% } %> <% let title = PULSE.I18N.lookup( 'label.nextMatch' ) %> <% if (matchStatus === PULSE.app.common.CONSTANTS.MATCH_STATUS.LIVE) { %> <% title =  PULSE.I18N.lookup( 'label.liveMatch' ) %> <% } else if (lastMatch) { %> <% title =  PULSE.I18N.lookup( 'label.lastMatch' ) %> <% } %> <header class=\"sidebar-match-card__header\"> <a href=\"<%= compUrl %>\" class=\"sidebar-match-card__comp-logo sidebar-match-card__comp-logo--<%= comp %>\"> <%= render( { cssClass: 'icon' , name: logo }, 'common.svg-icon' ) %> </a> <div> <a href=\"<%= compUrl %>\" class=\"sidebar-match-card__header-title\"><%= title %></a> <a href=\"<%= compUrl %>\" class=\"sidebar-match-card__header-subtitle\">
1<%= match.compSeason?.name ?? match.compSeasonName %></a> </div> </header>"),PULSE.app.templates["sidebar-match-card.match-details"]=_.template("<% const startTime = match.utcStartTime.indexOf( '+0000' ) === -1 ? match.utcStartTime + '+0000' : match.utcStartTime %> <% const dateTime = luxon.DateTime.fromISO(startTime); %> <% const startTimeForUser = `${dateTime.toFormat(`EEEE`)} ${PULSE.app.common.numberHelper.ordinalSuffix(dateTime.day)} ${dateTime.toFormat(`MMMM`)}, ${dateTime.toFormat(`${PULSE.app.common.CONSTANTS.MATCH_TIME_FORMAT}a`).toLowerCase()}`; %> <% const showScore = matchStatus === PULSE.app.common.CONSTANTS.MATCH_STATUS.LIVE || matchStatus === PULSE.app.common.CONSTANTS.MATCH_STATUS.COMPLETED %> <% const isGFRound = match.round.abbreviation === 'GF'; %> <section class=\"sidebar-match-card__match-details-container\"> <p class=\"sidebar-match-card__date-time\"><%= startTimeForUser %></p> <p class=\"sidebar-match-card__round-venue\"><%= match.round.name %> <span class=\"sidebar-match-card__round-venue-circle\"></span> <%= match.venueLabel %></p> <div class=\"sidebar-match-card__match-details\"> <div class=\"sidebar-match-card__team-logo sidebar-match-card__team-logo--home <%= showScore ? 'sidebar-match-card__team-logo--small' : '' %>\"> <%= render( {\n                cssClass: homeTeamAbbr === 'tbd' ? 'team-placeholder' : '',\n                providerId: match.home?.team.providerId ?? match.homeTeam?.teamId,\n                theme: PULSE.app.common.team.getTeamLogoTheme(homeTeamAbbr, 'b'),\n                fallbackIcon: isGFRound ? 'shield-gold' : 'shield-grey'\n            }, 'common.team-icon' ) %> <%= match.home?.team.name ?? match.homeTeam?.name %> </div> <% if (showScore) { %> <div class=\"sidebar-match-card__score-wrapper\"> <div class=\"sidebar-match-card__score-inner-container js-sidebar-match-card-score\"></div> <div class=\"match-scoreboard__status match-scoreboard__status--<%= match.status.toLowerCase() %> js-sidebar-match-card-clock\"></div> </div> <% } %> <div class=\"sidebar-match-card__versus\"> <%= render( {\n                cssClass: '',\n                name: 'versus-white'\n            }, 'common.svg-icon' ) %> </div> <div class=\"sidebar-match-card__team-logo sidebar-match-card__team-logo--away <%= showScore ? 'sidebar-match-card__team-logo--small' : '' %>\"> <%= render( {\n                cssClass: awayTeamAbbr === 'tbd' ? 'team-placeholder' : '',\n                providerId: match.away?.team.providerId ?? match.awayTeam?.teamId,\n                theme: PULSE.app.common.team.getTeamLogoTheme(awayTeamAbbr, 'b'),\n                fallbackIcon: isGFRound ? 'shield-gold' : 'shield-grey'\n            }, 'common.team-icon' ) %> <%= match.away?.team.name ?? match.awayTeam?.name %> </div> </div> </section>"),PULSE.app.templates["sidebar-match-card.match"]=_.template('<% const matchStatus = PULSE.app.common.match.getMatchStatus(match.status) %> <% const homeTeamId = (match.home?.team.providerId ?? match.homeTeam?.teamId) %> <% const awayTeamId = (match.away?.team.providerId ?? match.awayTeam?.teamId) %> <% const homeTeamAbbr = (match.home?.team.abbreviation ?? match.homeTeam?.abbr).toLowerCase() %> <% const awayTeamAbbr = (match.away?.team.abbreviation ?? match.awayTeam?.abbr).toLowerCase() %> <div class="sidebar-match-card__wrapper fade-in-on-load js-sidebar-match-card-wrapper"> <%= render( { homeTeamAbbr, awayTeamAbbr }, \'sidebar-match-card.watermarks\' ) %> <div class="sidebar-match-card__inner-wrapper"> <% if( !PULSE.app.common.team.isPlaceholderTeam(homeTeamId) && !PULSE.app.common.team.isPlaceholderTeam(awayTeamId) ) { %> <a href="<%= PULSE.app.common.url.getMatchURL(match.id) %>" class="sidebar-match-card__mc-link" aria-label="<%= PULSE.app.common.matchAriaLabel(matchObject) %>"></a> <% } %> <%= render( { comp, compId, match, lastMatch, matchStatus }, \'sidebar-match-card.header\' ) %> <%= render( { match, matchStatus, homeTeamAbbr, awayTeamAbbr }, \'sidebar-match-card.match-details\' ) %> <footer class="sidebar-match-card__footer fade-in-on-load js-sidebar-match-card-footer"></footer> </div> </div>'),PULSE.app.templates["sidebar-match-card.score"]=_.template('<span class="sidebar-match-card__score sidebar-match-card__score--home"> <%= homeTeamScore %> </span> <span class="sidebar-match-card__score sidebar-match-card__score--away"> <%= awayTeamScore %> </span>'),PULSE.app.templates["sidebar-match-card.watermarks"]=_.template('<div class="sidebar-match-card__background-container"> <div class="stats-team-watermark-background stats-team-watermark-background--left <%= helper.template.getTeamThemeClass(homeTeamAbbr) %>"> <div class="stats-team-watermark-background__overlay"></div> <% if(homeTeamAbbr !== \'tbd\') { %> <div class="stats-team-watermark-background__watermark" style="background-image: url(<%= PULSE.app.environment.watermarksPath + homeTeamAbbr %>-left-dark.png)"></div> <% } %> </div> <div class="stats-team-watermark-background stats-team-watermark-background--right <%= helper.template.getTeamThemeClass(awayTeamAbbr) %>"> <div class="stats-team-watermark-background__overlay"></div> <% if(awayTeamAbbr !== \'tbd\') { %> <div class="stats-team-watermark-background__watermark" style="background-image: url(<%= PULSE.app.environment.watermarksPath + awayTeamAbbr %>-right-dark.png)"></div> <% } %> </div> </div>'),function(a,t,e,c){const r="sidebar-match-card.match",i="sidebar-match-card.buttons-prematch",s="sidebar-match-card.buttons-livematch",m="sidebar-match-card.buttons-postmatch",o=".js-sidebar-match-card-wrapper",d=".js-sidebar-match-card-score",h=".js-sidebar-match-card-clock",n=".js-sidebar-match-card-footer",l=".js-sidebar-match-card-video-button",p={label:"account",value:a.account},T="ProgramCategory:Match Highlights",b="ProgramCategory:Mini-Matches",u="ProgramCategory:Match Replays";
1a.sidebarMatchCard=class{constructor(a){switch(this.container=a,this.compSeasonPid=a.dataset.compSeasonPid,this.compSeasonId=a.dataset.compSeasonId,this.compId=a.dataset.compId,this.comp=t.match.getCompAbbr(this.compSeasonPid).toLowerCase(),this.roundNumber=a.dataset.roundNumber,this.roundCancelled=!1,this.lastMatch=!1,this.prematchCTA1Text=a.dataset.prematchCta1Text,this.prematchCTA1Link=a.dataset.prematchCta1Link,this.prematchCTA2Text=a.dataset.prematchCta2Text,this.prematchCTA2Link=a.dataset.prematchCta2Link,this.livematchCTA1Text=a.dataset.livematchCta1Text,this.livematchCTA1Link=a.dataset.livematchCta1Link,this.livematchCTA2Text=a.dataset.livematchCta2Text,this.livematchCTA2Link=a.dataset.livematchCta2Link,this.postmatchCTA1Text=a.dataset.postmatchCta1Text,this.postmatchCTA1Link=a.dataset.postmatchCta1Link,this.postmatchCTA2Text=a.dataset.postmatchCta2Text,this.postmatchCTA2Link=a.dataset.postmatchCta2Link,this.comp){case"aflw":this.teamId=window.WOMENS_TEAM_ID;break;case"vfl":this.teamId=window.VFL_TEAM_ID;break;case"vflw":this.teamId=window.VFLW_TEAM_ID;break;case"wafl":this.teamId=window.WAFL_TEAM_ID;break;case"sanfl":this.teamId=window.SANFL_TEAM_ID;break;default:this.teamId=window.TEAM_ID}this.fetchMATCHES()}fetchMATCHES(){const t=`compSeasonId=${this.compSeasonId}${""!==this.roundNumber?"&roundNumber="+this.roundNumber:""}${this.teamId?"&teamId="+this.teamId:""}&pageSize=50`,e=`${a.environment.api}matches?${t}`;c.data.request(e,"GET",this.renderMATCH.bind(this,"matches"),this,null,null,[p])}renderMATCH(c,i){let s=i.match?{...i.match,compSeasonName:this.compSeasonName,id:this.matchId,round:i.round,score:i.score,venue:i.venue}:i.matches?.[0];if(!s?.status)return;if("matches"===c){if(s=i.matches.find((a=>t.match.getMatchStatus(a.status)===e.MATCH_STATUS.LIVE)),s||(s=i.matches.find((a=>[e.MATCH_STATUS.UPCOMING,e.MATCH_STATUS.TBC].includes(t.match.getMatchStatus(a.status))))),s||(s=i.matches.reverse().find((a=>t.match.getMatchStatus(a.status)===e.MATCH_STATUS.COMPLETED))),s.venueLabel=t.match.getVenueLabel(s.venue,34),!s?.status&&""!==this.roundNumber)return this.roundCancelled=!0,this.roundNumber="",void this.fetchMATCHES();this.matchStatus=t.match.getMatchStatus(s.status),this.matchId=s.id;const a=t.match.startsWithinAnHour(s.status,s.utcStartTime);if(this.lastMatch=this.matchStatus===e.MATCH_STATUS.COMPLETED,this.matchStatus===e.MATCH_STATUS.LIVE||a||this.lastMatch)return this.providerID=s.providerId,this.compSeasonName=s.compSeason?.name,void this.hookupStore()}this.matchStatus=t.match.getMatchStatus(s.status),this.matchId=s.id;const m={...s};m.home||(m.home={team:s.homeTeam,score:s.score.homeTeamScore?.matchScore}),m.away||(m.away={team:s.awayTeam,score:s.score.awayTeamScore?.matchScore}),m.compSeason||(m.compSeason={name:s.compSeasonName??""}),this.container.innerHTML=a.templating.render({comp:this.comp,compId:this.compId,match:s,matchObject:m,lastMatch:this.lastMatch},r),this.container.querySelector(o)?.classList.add(e.IS_LOADED),this.renderBUTTONS(s.metadata)}renderBUTTONS(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const c=this.container.querySelector(n);if(c){let r,o={matchId:this.matchId,metadata:t,gameDayGuide:null,video:null};[e.MATCH_STATUS.UPCOMING,e.MATCH_STATUS.TBC].includes(this.matchStatus)?(this.roundCancelled||(o={...o,cta1TextOverride:this.prematchCTA1Text,cta1LinkOverride:this.prematchCTA1Link,cta2TextOverride:this.prematchCTA2Text,cta2LinkOverride:this.prematchCTA2Link}),r=i):this.matchStatus===e.MATCH_STATUS.LIVE?(this.roundCancelled||(o={...o,cta1TextOverride:this.livematchCTA1Text,cta1LinkOverride:this.livematchCTA1Link,cta2TextOverride:this.livematchCTA2Text,cta2LinkOverride:this.livematchCTA2Link}),r=s):(this.roundCancelled||(o={...o,cta1TextOverride:this.postmatchCTA1Text,cta1LinkOverride:this.postmatchCTA1Link,cta2TextOverride:this.postmatchCTA2Text,cta2LinkOverride:this.postmatchCTA2Link}),r=m),this.hasGameDayGuide=new Promise((a=>{this.getContent(this.matchId,"game-day-guide","text",a)})),this.hasMatchVideo=new Promise((a=>{this.getContent(this.matchId,[T,b,u],"video",a)})),Promise.all([this.hasGameDayGuide,this.hasMatchVideo]).then((t=>{this.gameDayGuide=t.find((a=>"text"===a.type))?.data.content??[],this.gameDayGuide.length&&"text"===t[0].type&&(this.gameDayGuide=t[0].data.content[0],o={...o,gameDayGuide:t[0].data.content[0].titleUrlSegment});const i=t.find((a=>"video"===a.type))?.data.content??[];i.length&&(this.matchVideo=i.find((a=>a.tags.find((a=>a.label===T))))||i.find((a=>a.tags.find((a=>a.label===b))))||i.find((a=>a.tags.find((a=>a.label===u)))),this.matchVideo&&(o={...o,video:this.matchVideo})),c.innerHTML=a.templating.render(o,r),c.classList.add(e.IS_LOADED),this.matchVideo&&(a.VideoPlayerModal.createInstance(this.container.querySelector(l)),c.dataset.modalAdded="true")}))}}hookupStore(){const e=PULSE.app.redux,c=e.paths,r=e.selectors,i=e.store;t.match.queryWithMatchStatusPolling(this.providerID),e.watch(c.match.status(this.providerID),(a=>{if(!a)return;const t=r.match.item(i.getState(),this.providerID);this.renderMATCH("match-item",t)}),!0),e.watch(c.match.score(this.providerID),(t=>
1{if(!t)return;const e=r.match.item(i.getState(),this.providerID),c={homeTeamScore:e.score.homeTeamScore.matchScore.totalScore,awayTeamScore:e.score.awayTeamScore.matchScore.totalScore},s=this.container.querySelector(d);s&&(s.innerHTML=a.templating.render(c,"sidebar-match-card.score"))}),!0),e.watch(c.match.matchClock(this.providerID),(t=>{if(!t)return;const e=this.container.querySelector(h);if(e){const t=r.match.timeString(i.getState(),this.providerID);e.innerHTML=a.templating.render({time:t},"sidebar-match-card.clock"),void 0!==this.clock?this.clock.updateTime(e):this.clock=new a.MatchClock(e)}}),!0)}getContent(a,e,r,i){let s;if("object"==typeof e){const c=e.map((a=>`"${a}"`));s=t.url.createContentPath(r,{pageSize:10,references:`AFL_MATCH:${a}`,tagExpression:`(${c.join("or")})`})}else s=t.url.createContentPath(r,{pageSize:1,references:`AFL_MATCH:${a}`,tagNames:e});const m={url:s,method:"GET",callback:t=>this.contentCallback(t,a,r,i),target:this};c.data.request(m.url,m.method,m.callback,m.target)}contentCallback(a,t,e,c){c({data:a,matchId:t,type:e})}},a.widgetInitialiser.addMultipleWidgetsByName("sidebar-match-card",a.sidebarMatchCard)}(PULSE.app,PULSE.app.common,PULSE.app.common.CONSTANTS,PULSE.core);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.