PageSourceSearch

https://www.portadelaidefc.com.au/resources/v5.53.10/widgets/aflc_video-list.js

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

1"use strict";PULSE.app.templates["video-list.featured-video"]=_.template("<% var publishLabel = PULSE.app.common.content.getPublishStringFromTag( data ) %> <% var modalId = '' %> <% var playlistSize = 0 %> <% var thumbnailTypeText = '' %> <% var competitionReference = { label: \"\", logo: \"\", url: \"\", cssClass: \"\" } %> <% var tagLabel = data.tags.find(item => item.label.includes('tag:') )?.label.replace('tag:', '') %> <% var tagLabelForUrl = tagLabel?.replace(' ', '-') %> <% var tagLabelRegexString = '[a-z ]+' %> <% var tagUrl = PULSE.I18N.lookupKey( 'url.tag.' + tagLabelForUrl ) %> <% var isExclusiveContent = data.tags.find(tag => tag.label === 'AFLClubExclusive:Yes') ? true : false %> <% if ( data.type.toLowerCase() === 'video' ) { %> <% modalId = 'data-ui-modal=\"#VideoModal\"' %> <% } else if ( data.type.toLowerCase() === 'playlist' ) { %> <% modalId = 'data-ui-modal=\"#GalleryModal\"' %> <% playlistSize = data.items.length %> <% } %> <% for (var i = 0; i < data.references.length; i++) { %> <% if (data.references[i].type == 'AFL_COMPETITION') { %> <% competitionReference.label = PULSE.I18N.lookupKey( 'label.AFL_COMPETITION.' + data.references[i].id ) %> <% competitionReference.logo = PULSE.I18N.lookupKey( 'logo.AFL_COMPETITION.' + data.references[i].id ) %> <% competitionReference.url = PULSE.I18N.lookupKey( 'url.AFL_COMPETITION.' + data.references[i].id ) %> <% competitionReference.cssClass = competitionReference.label.toLowerCase() %> <% } %> <% } %> <% if ( competitionReference.url.includes('url.AFL_COMPETITION.') ) competitionReference.url = null %> <% if ( tagUrl.includes('url.tag.') ) tagUrl = null %> <article class=\"media-thumbnail media-thumbnail__inline-player\" data-widget=\"lazy-load-images\"> <div class=\"media-thumbnail__link\"> <header class=\"media-thumbnail__image-container media-thumbnail__image-container--16-9 placeholder\"> <%= render( {\n                mediaQueryConfig: data.mediaQueryConfig,\n                mediaId: data.mediaId,\n                accountId: data.accountId,\n                policyKey: data.policyKey,\n                playerId: data.playerId,\n                muted: data.muted,\n                promo: data.promo,\n                cssClass: data.cssClass,\n                objectFit: true,\n                videoPlayerId: data.mediaId,\n                autoplay: data.autoplay,\n                isExclusive: isExclusiveC
1ontent,\n                link: PULSE.app.common.url.generateUrl(data)\n             }, 'common.video-modal-inline-player' ) %> </header> <div class=\"media-thumbnail__caption\"> <% if ( publishLabel.label?.length ) { %> <div class=\"media-thumbnail__content-label-container media-thumbnail__content-label-container--caption\"> <span class=\"media-thumbnail__content-label\"><%= publishLabel.label %></span> <%= render( {\n                        cssClass: 'media-thumbnail__content-label-container-edge',\n                        name: 'content-label-edge'\n                    }, 'common.svg-icon' ) %> </div> <% } %> <h1 class=\"media-thumbnail__title\" data-text=\"<%= data.title %>\"><%= PULSE.app.common.content.truncateText( data.title ?? '', 70 ) %></h1> <p class=\"media-thumbnail__description\"><%= PULSE.app.common.content.truncateText( data.description ?? '', 70 ) %></p> <% if (competitionReference.label || tagLabel) { %> <div class=\"media-thumbnail__footer\"> <div class=\"media-thumbnail__reference media-thumbnail__reference--<%= competitionReference.cssClass %>\"> <% if ( competitionReference.url) { %> <a class=\"media-thumbnail__comp-container\" href=\"<%= competitionReference.url %>\"> <% } %> <% if ( competitionReference.logo != \"\") { %> <div class=\"media-thumbnail__comp-logo\"> <% if (competitionReference.label == 'AFL') { %> <img src=\"/resources/<%= RESOURCES_VERSION %>/i/elements/afl-logo.png\" class=\"media-thumbnail__comp-logo-img icn-<%= competitionReference.cssClass %>\" alt=\"<%= competitionReference.label %>\"> <% } else { %> <%= render( {\n                                        cssClass: 'icn-' + competitionReference.cssClass,\n                                        name: competitionReference.logo\n                                    }, 'common.svg-icon' ) %> <% } %> </div> <% } %> <span class=\"media-thumbnail__comp-label\"><%= competitionReference.label %></span> <% if ( competitionReference.url) { %> </a> <% } %> <% if (tagLabel) { %> <% if (competitionReference.label) { %> <%= render( {\n                                    cssClass: 'media-thumbnail__chevron',\n                                    name: 'chevron-right'\n                                }, 'common.svg-icon' ) %> <% } %> <div class=\"media-thumbnail__tag-label <%= tagLabel.match(tagLabelRegexString)?.index === 0 ? 'media-thumbnail__tag-label--capitalize' : '' %>\"> <% if (tagUrl) { %> <a class=\"media-thumbnail__tag-link\" href=\"<%= tagUrl %>\"> <% } %> <%= tagLabel %> <% if (tagUrl) { %> </a> <% } %> </div> <% } %> </div> <% } else { %> <div class=\"media-thumbnail__footer media-thumbnail__footer--empty\"> <% } %> </div> </div> </div> </div> </article>"),PULSE.app.templates["video-list.homepage-video-list"]=_.template('<% _.each( items, function( item ) { %> <li class="media-list__item js-video-item video-list__list-item <%= item.data.activeClass %>"> <button aria-label="<%= item.data.title %>" class="video-list__list-item-link" data-id="<%= item.data.id %>" title="<%= item.data.title %>"></button> <div class="video-list--video-icon"> <%= render( {\n                cssClass: \'\',\n                name: \'video-play-small\'\n            }, \'common.svg-icon\' ) %> </div> <%= render( { data: item.data, cssClass: mediaThumbnailClass }, \'common.media-thumbnail\' ) %> </li> <% } ); %>'),PULSE.app.templates["video-list.sidebar-link"]=_.template("<div class=\"video-list__sidebar-footer js-video-footer\"> <a class=\"video-list__sidebar-link\" href=\"<%= link %>\"> <%= name %> <%= render( {\n            cssClass: '',\n            name: 'arrow-right'\n        }, 'common.svg-icon' ) %> </a> </div>"),function(e,t,i){const a=".js-filter-option",n=".js-video-list",o=".js-video-item",s=".js-default-filter",l=".js-video-player",r=".js-video-footer",d=".js-sidebar",c="is-filter-selected",m="is-video-selected",p="media-thumbnail--video-player",h="video",u="playlist",g="video-list.homepage-video-list",v="video-list.featured-video",y="video-list.sidebar-link";e.VideoHomepage=class{constructor(e){this.container=e,this.filterList=this.container.querySelectorAll(a),this.mediaList=this.container.querySelector(n),this.activeOption=this.container.querySelector(s),this.featuredVideo=this.container.querySelector("."+m),this.videoContainer=this.container.querySelector(l),this.sidebar=document.querySelector(d),this.container&&(this.videoElement=document.getElementsByTagName("video"),this.videoElementId=this.videoElement[0].getAttribute("id"),this.policyKey=this.container.dataset.policyKey,this.playerId=this.container.dataset.player,this.policyKeyRestricted=this.container.dataset.policyKeyRestricted,this.playerIdRestricted=this.container.dataset.playerIdRestricted,this.accountId=this.container.dataset.account,this.featuredMediaQueryConfig=this.container.dataset.featuredMediaQueryConfig,this.mediaConfig=this.container.dataset.mediaQueryConfig,this.activeVideoId=this.featuredVideo.querySelector("article").dataset.id.split(",").join("")),this.videoBtns=this.container.querySelectorAll(".video-list__list-item-link"),this.videoBtnsCount=this.videoBtns.length;for(const e of this.videoBtns)e.addEventListener("click",(()=>
1{const t=e.parentElement.querySelector(".js-media-thumbnail__link");PULSE.app.tracking.trackCardClicks(this.container,t,this.videoBtnsCount)}));this.bindEvents()}getVideosEndpoint(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i=parseInt(this.container.dataset.playlistSize,10);return this.params={pageSize:i},t.type===u&&(this.params.detail="DETAILED"),""!==t.tagNames&&(this.params.tagNames=t.tagNames),""!==t.references&&(this.params.references=t.references),""!==t.tagExpression&&(this.params.tagExpression=`"${t.tagExpression}"`),e.common.url.createContentPath(t.type,this.params,"en",t.id)}getVideos(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const i=this.getVideosEndpoint(e);t.data.request(i,"GET",this.onVideosData.bind(this))}getSelectedVideo(i,a){const n=`${e.environment.aflApi}content/${e.account}/video/en/${i}`;t.data.request(n,"GET",this.onSelectedVideoData.bind(this,a))}isValidHttpUrl(e){let t;try{t=new URL(e)}catch(e){return!1}return"http:"===t.protocol||"https:"===t.protocol}bindEvents(){this.filterList.forEach((t=>{i.addAriaClickListener(t,(t=>{const i=t.target;this.activeOption.classList.remove(c),i.classList.add(c),this.activeOption=i;const a=this.getFilterParams(i);this.getVideos(a);const n=i.dataset.filterType;let o="";if(n){const e=n.split(":").replace(" ","-");o=PULSE.I18N.lookup(`url.tag.${e[e.length-1].toLowerCase()}`)}if(this.container.querySelector(r)&&this.container.querySelector(r).remove(),this.isValidHttpUrl(o)){const t=e.templating.render({link:o,name:"All Videos"},y);this.sidebar.insertAdjacentHTML("beforeend",t)}}))})),i.addAriaClickListener(this.mediaList,(e=>{this.setFeaturedVideo(e.target)})),window.matchMedia("(min-width: 1100px)").addEventListener("change",(t=>{if(t.matches){const t=this.container.querySelector('[data-widget="video-player"]');t&&new i.Video(t),new e.LazyLoad(this.videoContainer)}}))}setFeaturedVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=e.dataset.id?.split(",").join("");this.activeVideoId=i;const a=this.container.querySelector("."+m);null!==a&&a.classList.remove(m);const n=e.closest(o);this.getSelectedVideo(i,t),n.classList.add(m)}onSelectedVideoData(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],a=arguments.length>1?arguments[1]:void 0;if(!a.mediaId)return;const n=videojs.getPlayer(this.videoElementId);n&&(n?.timeRemainingInterval&&""!==n.timeRemainingInterval&&clearInterval(n.timeRemainingInterval),videojs(this.videoElementId).dispose()),this.featuredVideo=this.container.querySelector("."+m);const o=a.publishFrom;let s=i.content.getContentModel(a,JSON.parse(this.featuredMediaQueryConfig));s.publishFrom=o,s.lazyImage=e.templates["common.lazy-image"],s.objectFit=!0,s.contentType=a.type,s.branding=i.content.getContentBranding(a),s.accountId=this.accountId,s.policyKey=this.policyKey,s.playerId=this.playerId,s.cssClass="",s.muted=!1,s.autoplay=t;const l={data:s};this.mediaId=l.data.mediaId;const r=e.templating.render(l,v);this.videoContainer.innerHTML=r;const d=this.container.getElementsByTagName("video");if(this.videoElementId=d[0].getAttribute("id"),matchMedia("(min-width: 1025px)").matches){const t=this.container.querySelector('[data-widget="video-player"]');t&&new i.Video(t),new e.LazyLoad(this.videoContainer)}}onVideosData(t){if(this.videos=t.content,!this.videos){let e=[];t.items.forEach((t=>{e.push(t.response)})),this.videos=e}const i={};i.items=this.getModel(this.videos,JSON.parse(this.mediaConfig)),i.mediaThumbnailClass=p;const a=e.templating.render(i,g);this.mediaList.innerHTML=a,this.mediaList=this.container.querySelector(n),new e.LazyLoad(this.mediaList),this.mediaList.scrollTo(0,0),this.featuredVideo=this.container.querySelector("."+m);this.container.querySelectorAll('[data-ui-modal="#VideoModal"]').forEach((t=>{e.VideoPlayerModal.createInstance(t),t.dataset.modalAdded="true"}));const o=videojs.getPlayer(this.videoElementId);o?.hasStarted_&&!o?.paused()||this.setFeaturedVideo(this.container.querySelector(n+" li button"),!1)}getFilterParams(e){let t="",i="",a="";
1return e.dataset.filterType&&(t=e.dataset.filterType.split(",")),e.dataset.references&&(i=e.dataset.references),e.dataset.filter&&(a=e.dataset.filter),a===u?{type:a,id:t.join("")}:a===h?""!==i?{type:a,references:i,tagExpression:""}:t.length>1?{type:a,tagExpression:t.join('"or"'),references:""}:{type:a,tagNames:t,tagExpression:"",references:""}:""}getModel(t,a){if(!t||!a)return;return t.filter((e=>{let t=e;return"VIDEO"===e.type&&(t=e.response),!!t.publishFrom})).map((t=>{let n=t;"VIDEO"===t.type&&(n=t.response);let o=n,s=i.content.getContentModel(o,a);s.publishFrom=t.publishFrom,s.lazyImage=e.templates["common.lazy-image"],s.objectFit=!1,s.contentType=t.type,s.placeholderClass=this.container.dataset.placeholderModifierClass,s.id.toString()===this.activeVideoId?s.activeClass=m:s.activeClass="";const l=s.link.split("/video/");return s.link=`/video/${l[1]}`,{data:s}}))}},e.widgetInitialiser.addWidget("video-homepage",e.VideoHomepage)}(PULSE.app,PULSE.core,PULSE.app.common,PULSE.app.common.CONSTANTS),function(e,t){e.VideoSlider=function(e){const t=this;t.container=e,t.containerLocationId=t.container?.dataset?.locationId,t.containerCreativeSlot=t.container?.dataset?.creativeSlot,t.title=t.container.querySelector(".widget-header__title"),t.scrollContainer=t.container.querySelector(".js-slide"),t.pager=t.container.querySelector(".js-paginator"),t.paginatorContainer=t.container.querySelector(".js-content-slider-paginator"),t.listItems=t.container.querySelectorAll(".video-promo-series-slider__item"),t.listItemLinks=t.container.querySelectorAll(".video-promo-series__link"),t.cardLinks=t.container.querySelectorAll(".js-media-thumbn
1ail__link"),t.visibleItemsIds=[];for(const e of t.listItemLinks)e.addEventListener("click",(()=>{const i=e?.querySelector(".object-fit-cover-picture__img"),a=i?.getAttribute("alt"),n=parseInt(e?.dataset?.linkIndex);PULSE.app.tracking.recordEvent("select_promotion",{ecommerce:{items:[{promotion_id:e?.dataset?.id,promotion_name:e?.title,creative_name:a,creative_slot:t.containerCreativeSlot,location_id:t.containerLocationId,index:n,count:parseInt(t.listItems.length)}]}})}));for(const e of t.cardLinks)e.contentType=PULSE.app.common.CONSTANTS.TRACKING.CONTENT_TYPES.VIDEO,e.addEventListener("click",(()=>{PULSE.app.tracking.trackCardClicks(t.container,e,t.cardLinks.length)}));t.itemsPerPage=t.container.dataset.itemsPerPage,t.pageSize=t.container.dataset.limit,t.pageSize>24&&(t.pageSize=24),t.itemExtraClasses=t.container.getAttribute("data-item-extra-classes"),t.initSlider()},e.VideoSlider.prototype.initSlider=function(){const e=this;e.sliderElement=e.scrollContainer.querySelectorAll(".js-thumb"),e.componentName=e.container.dataset.componentName?e.container.dataset.componentName:e.container.dataset.creativeSlot||"",e.slider=new t.Slider({container:e.container,perPage:e.itemsPerPage,slideContainer:e.scrollContainer,sliderElements:e.sliderElement,nextButton:e.container.querySelector(".js-slide-next"),prevButton:e.container.querySelector(".js-slide-prev"),pagerElements:e.container.getElementsByClassName("js-pager-btn"),pagerItemsContainer:e.pager,itemActiveClass:"is-active",buttonHideClass:"is-inactive",componentName:e.componentName,contentType:e.container.dataset.contentType||t.CONSTANTS.TRACKING.EVENTS.CAROUSEL.CONTENT_TYPE.VIDEO}),e.addModalActivators()},e.VideoSlider.prototype.addModalActivators=function(){[].slice.call(this.scrollContainer.querySelectorAll("[data-ui-modal]")).filter((e=>!e.hasAttribute("data-modal-added"))).forEach((t=>{"#GalleryModal"===t.dataset.uiModal?e.GalleryPlaylistModal.createInstance(t):"#VideoModal"===t.dataset.uiModal&&e.VideoPlayerModal.createInstance(t),t.dataset.modalAdded="true"}))},e.widgetInitialiser.addMultipleWidgetsByName("video-slider",e.VideoSlider)}(PULSE.app,PULSE.app.common);

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.