Celebrating Golf in America: Kentucky
‘, ‘‘, ‘See Full Coverage’, ‘‘, ‘
‘, ‘close‘, ‘
‘, ”, ”];
if (!isSmallContainer) {
var flags = [‘
‘, ‘
vs
‘, ‘
‘, ‘
‘].join(”);
endcardLayout.splice(2, 0, flags);
}
endcardLayout = endcardLayout.join(”);
playerElem.insertAdjacentHTML(‘afterend’, endcardLayout);
var endcardElem = document.getElementById(endcardLayoutId);
var endcardCloseElem = document.getElementById(endcardLayoutCloseId);
var endcardFullCavElem = document.getElementById(endcardFullCavId);
var seconds = 0;
var timeInterval = setInterval(function () {
if (seconds === 9) {
endcardCloseClick();
return;
}
seconds++;
}, 1000);
var endacardFullCavClick = function endacardFullCavClick() {
return window.open(fullCoverageUrl, target);
};
if (!isEmbed) {
endcardFullCavElem.addEventListener(‘click’, endacardFullCavClick);
}
var endcardCloseClick = function endcardCloseClick(e) {
endcardCloseElem.removeEventListener(‘click’, endcardCloseClick);
!isEmbed && endcardFullCavElem.removeEventListener(‘click’, endacardFullCavClick);
clearInterval(timeInterval);
endcardElem.remove();
_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_0__[“default”].dispatchEvent(‘onForcePlay’, {
player: data.player
});
};
endcardCloseElem.addEventListener(‘click’, endcardCloseClick);
}
}]);
return FsVideoWcEndcard;
}();
/* harmony default export */ __webpack_exports__[“default”] = (new FsVideoWcEndcard());
/***/ }),
/***/ “./assets/components/platformPlayer/Pinner.js”:
/*!****************************************************!*
!*** ./assets/components/platformPlayer/Pinner.js ***!
****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
“use strict”;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _components_fsUtils_Viewports__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../components/fsUtils/Viewports */ “./assets/components/fsUtils/Viewports.js”);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(“Cannot call a class as a function”); } }
function _defineProperties(target, props) { for (var i = 0; i 0) {
while (i–) {
var el = arr[i];
if (el.elem === ‘Video’ + vid.id || el.elemId === ‘Video’ + vid.id) {
return true;
}
}
}
return false;
}
}, {
key: “loadVideos”,
value: function loadVideos(Player, videoElementsData) {
var sendPageView = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var context = this;
var videos = videoElementsData || context.getVideoElementsData();
if (videos.length > 0) {
videos.map(function (videoData) {
if (!window.fngPlayers) window.fngPlayers = [];
if (!context.ArrayContainsVideo(window.fngPlayers, videoData)) {
var videoPlayer = new _components_jw_player_JWPlayer__WEBPACK_IMPORTED_MODULE_1__[“default”](Player, videoData);
videoData.sendPageView = sendPageView;
window.fngPlayers.push(videoPlayer);
}
});
}
}
}, {
key: “loadPlatformVideos”,
value: function loadPlatformVideos(FDM_Player, videoElementsData) {
var sendPageView = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var context = this;
var videos = videoElementsData || context.getVideoElementsData();
if (videos.length > 0) {
videos.map(function (videoData) {
if (!window.fdmPlayer) window.fdmPlayer = [];
if (!context.ArrayContainsVideo(window.fdmPlayer, videoData)) {
var videoPlayer = new _fsVideo__WEBPACK_IMPORTED_MODULE_0__[“default”]();
videoData.sendPageView = sendPageView;
videoPlayer.initializeFSPlayer(videoData, FDM_Player);
window.fdmPlayer.push(videoPlayer.player);
}
});
}
}
}, {
key: “loadJWVideos”,
value: function loadJWVideos(FNGPlayer, videoElementsData, sendPageView) {
var context = this;
var videos = videoElementsData || context.getVideoElementsData();
if (videos.length > 0) {
videos.map(function (videoData) {
if (!window.fngPlayers) window.fngPlayers = [];
if (!context.ArrayContainsVideo(window.fngPlayers, videoData)) {
var videoPlayer = new _components_jw_player_JWPlayer__WEBPACK_IMPORTED_MODULE_1__[“default”](FNGPlayer, videoData);
videoData.sendPageView = sendPageView;
window.fngPlayers.push(videoPlayer);
}
});
}
}
}, {
key: “loadScript”,
value: function loadScript(callback, videoElementsData, sendPageView) {
if (typeof FDM_Player === ‘function’) {
callback(FDM_Player, videoElementsData, sendPageView);
} else {
// Create a new script and setup the basics.
var script = document.createElement(“script”);
var firstScript = document.getElementsByTagName(‘script’)[0];
script.async = false;
script.src = function (loc) {
var metaEl = document.querySelector(‘[fs-prop=”video”]’);
var scripturl = metaEl && metaEl.getAttribute(“script”);
if (scripturl === null) {
scripturl = ‘//player.foxdcg.com/sports’;
}
if (window.location.search.indexOf(‘debugVideoPlayer’) > -1) {
if (scripturl.indexOf(‘?’) > -1) scripturl = scripturl + ‘&debug=all’;else scripturl = scripturl + ‘?debug=all’;
}
return scripturl;
}(window.location); // Handle the case where an optional callback was passed in.
script.onload = function () {
if (typeof FDM_Player === ‘function’) {
callback(FDM_Player, videoElementsData, sendPageView);
} else if (typeof FNGPlayer[“default”] === ‘function’) {
callback(FNGPlayer, videoElementsData, sendPageView);
} else {
throw new Error(‘FDM_Player failed to load’);
} // Clear it out to avoid getting called more than once or any memory leaks.
script.onload = script.onreadystatechange = undefined;
}.bind(this);
script.onreadystatechange = function () {
if (“loaded” === script.readyState || “complete” === script.readyState) {
script.onload();
}
}; //Attach the script tag to the page (before the first script) so the magic can happen.
firstScript.parentNode.insertBefore(script, firstScript);
}
return this;
}
}]);
return criticalVideoLoader;
}();
window.criticalVideoLoader = new criticalVideoLoader();
/* harmony default export */ __webpack_exports__[“default”] = (criticalVideoLoader);
/***/ }),
/***/ “./assets/components/platformPlayer/fsVideo.js”:
/*!*****************************************************!*
!*** ./assets/components/platformPlayer/fsVideo.js ***!
*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
“use strict”;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Pinner__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Pinner */ “./assets/components/platformPlayer/Pinner.js”);
/* harmony import */ var _components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../components/fsUtils/TrackingUtils */ “./assets/components/fsUtils/TrackingUtils.js”);
/* harmony import */ var _FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FsVideoEventHandler */ “./assets/components/platformPlayer/FsVideoEventHandler.js”);
/* harmony import */ var _components_fsUtils_Viewports__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../components/fsUtils/Viewports */ “./assets/components/fsUtils/Viewports.js”);
/* harmony import */ var _fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../fsUtils/fsPlayerUtils */ “./assets/components/fsUtils/fsPlayerUtils.js”);
function _typeof(obj) { if (typeof Symbol === “function” && typeof Symbol.iterator === “symbol”) { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === “function” && obj.constructor === Symbol && obj !== Symbol.prototype ? “symbol” : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(“Cannot call a class as a function”); } }
function _defineProperties(target, props) { for (var i = 0; i .trending-title’);
_this.urlQuery = location.search;
_this.isModalEnabled = document.body.classList.contains(‘video-modal’);
_this.bodySection = document.querySelector(‘.body-content’);
_this.isSectionFront = document.body.classList.contains(‘single-fox_sectionfront’);
_this.isCollectionSF = !!document.querySelector(‘.collections-section-front’);
_this.isMediaHub = document.body.classList.contains(‘single-fox_media_hub’);
_this.isBB = _this.bodySection ? _this.bodySection.classList.contains(‘body-content-big-board’) : false;
_this.viewports = new _components_fsUtils_Viewports__WEBPACK_IMPORTED_MODULE_3__[“default”]();
_this.currentUrl = location.href;
if (trendingTitleEl != null) {
_this.collectionOneUtm.term = _components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].formatStringAsSlug(trendingTitleEl.innerHTML);
}
return _this;
}
_createClass(FsVideo, [{
key: “initPlayer”,
value: function initPlayer(playerId, playerData) {
//init player
var player = new FDM_Player(playerId); // set player settings directly
player.autoplay = playerData.autoplay;
player.share_embed = playerData.share_embed;
player.endcard = playerData.endcard;
player.endcard_feed = playerData.endcard_feed;
player.endcard_countdown = playerData.endcard_countdown;
player.releaseURL = playerData.releaseURL;
player.tag = playerData.tag ? playerData.tag : ”;
player.title = playerData.title ? playerData.title : ”;
player.vid = playerData.vid ? playerData.vid : null;
player.url = playerData.url ? playerData.url : ”;
player.endcard_autoadvance = playerData.endcard_autoadvance ? playerData.endcard_autoadvance : false;
player.siteSection = playerData.siteSection ? playerData.siteSection : ”;
if (playerData.categoryName) player.categoryName = playerData.categoryName;
if (playerData.adpol) player.freewheel_keyvalue = encodeURIComponent(‘adpol=’ + playerData.adpol);
if (playerData.wcEndcard) player.wcEndcard = playerData.wcEndcard;
return player;
}
/**
* gets player data from url
*/
}, {
key: “getPlayerDataFromUrl”,
value: function getPlayerDataFromUrl() {
var urlQuery = location.search;
var videourl = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “videourl”);
var autoplay = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “autoplay”);
var share = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “share”);
var endcard_feed = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “endcard_feed”);
var siteSection = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “siteSection”);
var category = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “category”);
var endcard_autoadvance = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “endcard_autoadvance”);
var url = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “url”);
var isAmp = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “amp”);
var host = location.protocol + ‘//’ + location.hostname + ‘/’;
var deepLink = “http://www.foxsports.com/” + category + ‘/video/’;
var iframeurl = host + ‘video-embed?videourl=’ + videourl + ‘&share=’ + share + ‘&siteSection=’ + siteSection + ‘&autoplay=’ + autoplay + ‘&category=’ + category + ‘&endcard_autoadvance=’ + endcard_autoadvance + (endcard_feed ? ‘&endcard_feed=’ + endcard_feed : ”);
var isWCEndacrd = Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “wcEndcard”) === ‘true’;
var vid = decodeURIComponent(url).split(‘/’).pop();
var wcEndcard = false;
if (isWCEndacrd) {
wcEndcard = {
homeTeamCountryImgSrc: decodeURIComponent(Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “homeTeam”)),
awayTeamCountryImgSrc: decodeURIComponent(Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “awayTeam”)),
fullCoverageUrl: “https://www.foxsports.com” + decodeURIComponent(Object(_fsUtils_fsPlayerUtils__WEBPACK_IMPORTED_MODULE_4__[“getParam”])(urlQuery, “fcUrl”))
};
}
return {
releaseURL: decodeURIComponent(videourl),
autoplay: autoplay,
share: share,
endcard_feed: decodeURIComponent(endcard_feed),
isAmp: isAmp,
siteSection: siteSection,
category: category,
endcard_autoadvance: endcard_autoadvance,
url: url,
deeplink: deepLink,
iframeurl: iframeurl,
vid: vid,
wcEndcard: wcEndcard
};
}
/**
* initializes FS video embed player
* @param {*} data – player data
*/
}, {
key: “initializeFSPlayer”,
value: function initializeFSPlayer(data) {
this.playerData = this.preparePlayerData(data);
this.elId = this.getPlayerElement(this.playerData).id;
this.el = document.getElementById(this.elId);
this.utmObj = {}; //check if player has its own utm params
if (typeof this.playerData.utm !== ‘undefined’) {
this.utmObj = _components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].getUtmObj(this.playerData.utm);
} else {
this.utmObj = _components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].getUtmObj(_components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].getUtmParams(this.playerData.pageName));
} //init player
this.player = this.initPlayer(this.elId, this.playerData);
this.isPlaying = false;
this.isPaused = false;
this.isFullScreen = false; //init an empty set that will keep track all the videos that have been played
this.playedVideos = new Set();
this.sendPageView = data.sendPageView; // set player settings using functions
this.setPlayerShare();
this.setPlayerEvents();
document.addEventListener(‘visibilitychange’, this.onVisibilityChange.bind(this)); //start pinning from Pinner.js. Dont enable on iphone
!this.isIphone() && this.startPinning();
this.saveToPlayerCollection();
}
/**
* initializes FS video embed player
*/
}, {
key: “initializeFSEmbedPlayer”,
value: function initializeFSEmbedPlayer() {
//init player
var playerData = this.getPlayerDataFromUrl();
this.player = this.initPlayer(“player”, playerData);
this.utmObj = _components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].getUtmObj({
‘medium’: playerData.isAmp ? “amp_video_player” : “embed_video_player”,
‘source’: ’embed-video-page’,
‘content’: playerData.category,
‘term’: ”
});
if (playerData.share) {
this.player.share = {
deeplinkfunc: function deeplinkfunc(z, A) {
return playerData.deeplink + z;
},
embed: true,
iframeurl: playerData.iframeurl,
emailscript: “”,
sharetargets: [{
name: “Facebook”,
image: “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNTgwMTE3NDA3MjA2ODExODA4M0NDMTM4MEMyQTVFQiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCOUMxMDdGMkE2MTYxMUUyOEJFQUJDRTMzOERDQjM5MCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCOUMxMDdGMUE2MTYxMUUyOEJFQUJDRTMzOERDQjM5MCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUM3QUJGQTkzODIwNjgxMThDMTQ5OEFGOTgxQUJBQ0UiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDU4MDExNzQwNzIwNjgxMTgwODNDQzEzODBDMkE1RUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4rzsvUAAADP0lEQVR42uycvU9TURiHX9ryESiiFoEIAQQDVkUGRaMghkAgGhMSNcpAiDoxkKiJRhmdhD/BQQcndVcUN4MmLiRGEye0lIIJiECQUuiHnlOLG4OX1ntanyf5Le29afs+vfc995ybm9V86YEkqFQZVDmjUq7iFEglEZUZlecq91T8+kVH4s0ulY8q/QkxyEg9rkStdc0/qHRuCKlWeaJSSI1sY5vKU5UqLeS2ShE1sR3t4I4j0TPADE47Eg0czKDCQQM3CqeDGpgFQhACCEEIIAQhkApclOA32S6HNHrLpKGuVOr2eGR3iVuKd+ZLbrZL8nJdEg5HJbQeiW+7GorIcnBdlld01mT++6p8W1iR2fmgzC8G5d37AEKssrfaIxe69supo5VSWJC7ubBsZzwavV2Jp2DTbVt6HiLkb6koLZKBviZpOVzJKctOsrJEznUekIHeI3/+8Qix68c6HTLY3ypdJ2to6iY07bvX2qS1qYphrwlcv3zceBn/jZCO5lrp7qjnwtAE9BD1xpVjXKmbQm/3ISly5yHEBNz5OXK+y5tW3zmjhZxtq49PeyDEENpP1KTdd85YIcU7CmRfjQchptDoLY1Pk6TdbEKmCvHW7trS/tFoTF6OfZa341PyaWJOlpZDElqLIMQqVeXW7479OvdDbg2/El9ggSMkWZQVuy3tpxeibg6NyuT0Ij0kmXi251vab+T1hG0yMlpITra1n/Zm3M8oKxVYvSD0BRYRYhJ6NIUQgwiGwggxiVjsJ0IAIQgBhCAEEIIQQAhCwD6MXw8Ze3w1bT4vEo1Je9+j+GojR4gB+GeWtiQDIUlmUgmhh5gkZBohRuFLwtIvQpLIlwBCjEGvo0zNIMQY9L1c6+EoQjKpfyAkmUICCOEIgdRegyAkqaesBYSYwuz8StLu5zJ+ttfqk3Wsztpu5Uk+HCEZCEIQAghBCCAEIYAQhABCEAIIAYQgBBCCEEAIQgAhCAGEAEIQAghBCCAEIYAQhABCACEIAQtCopTBGKJayAx1MIaAFvKMOhjDiBYyrLJELWxHOxjSQnwqPSrL1MQ2dO0vqkxujLJeqDSo3Ffx0+j/TQNP1FrX/KDKqH7xlwADADHHxixr3zsSAAAAAElFTkSuQmCC”,
urlTemplate: “http://www.facebook.com/sharer.php?u=”
}, {
name: “Twitter”,
image: “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAABHCAMAAABibqotAAAATlBMVEX///9Ny+dAvuFDweJJyOZEw+NCwOJMyudBv+JLyeZIxuVGxORHxeRDweNq0Orq+fyA1+3C7Pb2/P7U8vnf9fum4/KS3fBczOi06PROxeX5zaKxAAABnElEQVRYw+3UyW6DMBCA4aHBSSFkvC+8/4u2RYq8LwcOTZv/aFmfRowFTOf0Z53bOb2dF3OWc3o7ZznolACgji3PbOjMUbe5kuXwTOJxgtzMvthZpC0zSCHIzNZIoFPVYUBtkREQdahsrjoOQBWgSUGe/j6vOT/3KWaOLjETczpw1rBjXsHWuEXkDJUAavJ3UufI3aJTBsWoXWuOel6JRtIdJnfCR+JPXYmRnskdE15kN69niWVtOLuI7nJma/OINXfygXyUa1Oah7adWUK/vmOWaRCSTUcIrumQw1NnC1Mwmt7iYscNO6zp4LBjm842ui61pc49CsWYo+9JiUPMmIO5k2RGJlL3rkOQ9x2TOyRp3/sS3Ula5iD0M6TvkP7q6dZyxgdiZMTprp6ThjMO0X3UIajqjEDSdXyM08bH6Tu+u26sfNxB2WRy51Gq8qIFe9SCSxpBraCYwku10GFOOy5F/Zd8aTseauyb26rhHS/JioKXdnBNsvnXkWa/9vJOQDHNlQAAQZXTzCNNp9+/dj7P6e28mPNxTr/N+QKykG1J+VJKjAAAAABJRU5ErkJggg==”,
urlTemplate: “http://twitter.com/share?url=&text=”
}, {
name: “googleplus”,
image: “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAABHCAIAAADa0s1IAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1MTk2MjM1MjAyMkI2ODExODIyQTk5Q0E3REMxQjY1NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpFNzFEQkU3NEQxREQxMUUyQTFFMDkyMkNGNjZGNjlBMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpFNzFEQkU3M0QxREQxMUUyQTFFMDkyMkNGNjZGNjlBMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzcwMDlDNTA2QzIwNjgxMTgwODNCQzhEOTRBRjBDQjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTE5NjIzNTIwMjJCNjgxMTgyMkE5OUNBN0RDMUI2NTUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4yaoL9AAAETklEQVR42uyaPyxkQRzHcZdoqFSruwKVgiVscyRy5MLWwiYiQUTj/O381yp0BDW2kYjVW81SrEqDRsVdTaXZ+9y+ZDKZZ9++efa9fSfzK2TevJm3853v7/f9/Wai8s/PHxWa9iuerNC31LeEh1m/IzkPs6oqPqMZVAaVQWVQGVQGlUFlUBlUBtXnscpYLGa4MqgMKoOquH3N5XKGK4OqjB74wfmRSOR73lpbW93PSiaT29vbYURVU1MzMzPT39+vNev19XVzc/Py8jKMXEHO8vIywGizxIODg4eHBx67uroGBwcbGhrkwc/PzzADHtr39/dWw8EymYxoeyt9Kjs7O3XnwM/S0pLVZrm4kzJgfHx8bGxMoWhkZAR4br7/cVRVOU2DJQHp5ubm+PjYPmZ/f18JG2hklsufkCfmPJmeBtbW1gpIVtAXGgnadDot9yAnukEYkLITMwATj8q6FbOrHDyHEZW82bif82Ci6Pz8XO5BS0KXryJ50/o6qBSv4wuKZlxdXTl8wf7WjbxVaaFSBKDoFDufuvvie3WrjGxsbHQzlwTFSEXTPrJiN9M1uCLPKj1u4kTJuUWjMei4enl5ISRkF0LTnGVQcdR3IXV0dCg919fXDm9Lr4EKhoGBAec4IQ3I7kcSC6OysywYk3tWVlYcxssuClFFiS0ZKq1K5OnpiUJWqRio+gqNJ2sLzVhcXAxpxYQdHR2lUim5Z2JiYnZ21j4SGi33A9LU1JRCcujOwhsbG9Svcs/Q0NDp6akIMxxvZ2eHR9psQcCQ/p1E2tvbPZ+CYclaeiEDElsQ/AnfOyqhcoSWEDpwym97enoCZqk09xYsOp032tFoVKkqygKpxPeByoUMBHLUB9v/fXNmZ2Zra0s+j/2XqC4uLuyKsru7G0ydLtuX+vr6Un2LQhZmmpub5c66ujp08vb21uVVTCjUguBhX+Ri712dhDFS3N7eXqhRAYPMS7Z1HzaIPq64vr4eRg0Ez/z8vCziZ2dnVK7ZbJYqUYxpamoChuLeuCKSeHh46HsWVpKMsw0PD8/NzYlH1odfFUpK0MjgeDyu6GQikRD4y68Wq6uro6OjYnHT09MnJydvb2+FxvOK7Aw5sVisurra6qTBXIgNhbLDkrzrCwsLLleG3E9OTsp8anmHj6jgU3Y8Aklrs6FLFomwoFJqVo5YHhK037Gkjaq7u1vZew+/FGQWdoWqLLWc7/cW9jsWD3cJ4grt7u4u57N5qW7RQ90p6A15WRyQQ+GBiJ78iIgpubWoUY5YDTRD+ZovWdjNMQF5AIbIpJZ+EP0uZWNtba2vr0/Ae3x8DAUqcmgmk+nt7VWA4VfOx3hYJVMJCQWe/QzmSx3o/v8kwMCy7Dk0mzc0QMBra2tjsxgpyjEcj7l+F0peUIntpwJyXx8AlaxNHRzkzYw2KsFbNG9Wwz7AYo+/wbiciqqlpaXi05n5nzODyqAqvf0VYACumehAOSSQtwAAAABJRU5ErkJggg==”,
urlTemplate: “https://plus.google.com/share?url=”
}, {
name: “reddit”,
image: “data:image/png;base64,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V7fKKqv4QYMG+auvvlrxgWDRokU18KR9oEs3KYgZeMoppyjDtttuO3/qqaf6e++913/00Uf+r7/+qlVnmI6AYCRh8MS4Hn/8cb/mmmsGIZgwsv1tttnGz5gxQ/GXIpQmp7KEmaoufvvtN7fZZpu5L774ooZGWHXVVV3v3r3dRhttpPHSsl3fvn3dyiuvXCMdDyIgt+KKK7onnnjC7bXXXhqPmhNuu9VXX91JT3F///23++yzz9zixYtVfeGDf8KECa5z587hfS3kSS9qNZVG/sJa5fjx47U1C0Pztuq2bdv69ddf3x900EGqct58800/d+7cwIUffvjBd+rUKeAQwfkxY8ZoL1iwYIH//fff/eTJk/3BBx+saVZaaSX1995774CDnpYWmpTKMjVD5Y8++ujAxIEDB/rDDjvMS0/wbdq0Ce+z1Q3PjA3Swv3IkSP99ddf7w855JCQHmE888wzibw966yzQlpwPfvss5oWVZgWmpRAbPCdNWuW79GjR2DOrbfeqvyQWZF/++23/XXXXeePOOIIHYjbtWsX0uUSkAkJ/8ILL1Q89EIba6Apaivwe9tttw34aBQGaXtJkxKIqav77rsvMGWttdby33zzjfGlhv/HH3/4999/399xxx3+uOOO81tssYVfY401Qt5YGDL2+M8//1zzG50YmU0UbrzxxpB/8803D8KSsSVOnhhuUit1YaAOlY888kgYMmWG5bp166YDMQO+cEIXd6wfGMg32GADdaKadACWGZITIbl33nnHPf/88+6DDz5QXKw1RLgaZlWeDfauT58+OqmA1q+//urmz5/vRMjZyROfm4xAbJYjvcG98sorocIjRozQsKgMnQVZBILhnQkIhiIkGIrbZ5993C677OK23357zcJsSnqGZU/0paeEBSgNxBpJYoasiNqizkrQWB5hLCCDrps9e7aGu3fv7oYMGaLh7B+mrzALIRjTEBAtG+YDTFtlFqZhes7UqVM1zHQ4Bmgb/ddffz1Erb322o5pNpB2V6BJCARG2raFLOACQ3bccUcnizl9NpUSIrMCMIw0CMdwsZ6QGVpIedlll2lYprbaW+iV5livILRbbrklpN966601jJAL0Q+ZRLKNHmyQnTZtWo1BWRZ0WjeLL6aiNggLg3WQtvXM8ccf7y0uxvfll196WYiGAV0WjnknAXHeOExXa/RgDLri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”,
urlTemplate: “http://reddit.com/submit?url=”
}, {
name: “stumbleupon”,
image: “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAABHCAIAAADa0s1IAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4MTZDQkNBMUQxREYxMUUyQTFFMDkyMkNGNjZGNjlBMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4MTZDQkNBMkQxREYxMUUyQTFFMDkyMkNGNjZGNjlBMyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgxNkNCQzlGRDFERjExRTJBMUUwOTIyQ0Y2NkY2OUEzIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjgxNkNCQ0EwRDFERjExRTJBMUUwOTIyQ0Y2NkY2OUEzIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+aTdOkwAACxtJREFUeNrMWwuM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”,
urlTemplate: “http://www.stumbleupon.com/submit?url=”
}],
omitSeries: true
};
}
this.setPlayerEvents();
}
}, {
key: “isIphone”,
value: function isIphone() {
return /iPhone/i.test(navigator.userAgent);
} //save instances of player to collection
}, {
key: “saveToPlayerCollection”,
value: function saveToPlayerCollection() {
window.fsPlayerCollection = window.fsPlayerCollection || [];
window.fsPlayerCollection.push(this);
}
/**
* @desc pause other players in the page triggered by setPlay method
*/
}, {
key: “pauseOtherPlayers”,
value: function pauseOtherPlayers() {
var _this2 = this;
try {
//returns all players except the current player the user is interacting with
var players = window.fsPlayerCollection.filter(function (fsPlayer) {
return fsPlayer.elId !== _this2.elId;
});
} catch (e) {
console.log(“VIDEO: error – “, e);
}
if (players.length > 0) {
players.forEach(function (fsPlayer) {
fsPlayer.isPinned && fsPlayer.unpin(fsPlayer.parentEl);
fsPlayer.isPlaying = false;
fsPlayer.player.pause();
});
}
}
}, {
key: “pauseAllPlayers”,
value: function pauseAllPlayers() {
var players = window.fdmPlayer;
try {
players.forEach(function (player, index) {
if (index !== players.length – 1) {
player.releaseUrl = ”;
player.releaseURL = ”;
player.setReleaseCall(”);
player.pause();
}
});
} catch (e) {
console.log(‘something went wrong’, e);
}
}
}, {
key: “onVisibilityChange”,
value: function onVisibilityChange() {
document.hidden && this.player.pause();
}
/**
* @desc event triggered on player OnMediaStart and OnMediaUnpause events
* @param isAd True or False for e.data.baseClip.isAd that is passed from player OnMediaStart and OnMediaUnpause events
* @returns {FsVideo}
*/
}, {
key: “setPlay”,
value: function setPlay(isAd) {
this.isPlaying = true;
this.isPaused = false;
if (window.fsPlayerCollection) {
this.pauseOtherPlayers();
}
_components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].sendPlay(isAd, this.player, this.utmObj);
return this;
}
}, {
key: “pause”,
value: function pause() {
this.player.pause(true);
}
/**
* @desc event triggered on player OnMediaStart event
* @returns {FsVideo}
*/
}, {
key: “setPause”,
value: function setPause(isAd) {
this.isPlaying = false;
this.isPaused = true;
_components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].sendPause(isAd, this.player, this.utmObj);
return this;
}
/*
get page type of where the video player is set/loaded
*/
}, {
key: “getPageType”,
value: function getPageType(playerData) {
/*
first 3 conditions supercedes what is set on the video config’s “pageName”
which, from testing, doesn’t reflect the actual page type of where the video is set.
*/
if (this.isSectionFront) return ‘section-front’; // if page is section front
if (this.isMediaHub) return ‘media-hub’; // if page is media hub
// if page isn’t section front or media hub, but the url of the post passed on the video config is a story
if (playerData.url.indexOf(‘/story/’) > -1) return ‘story-page’; // everything else aside from the conditions above are assumed
var pageName = playerData.pageName.split(/:/);
return pageName[pageName.length – 1].replace(/ /g, “-“);
}
/**
* send page view to Parsely on video player. We only send the page view on first click on section front pages.
* We send page view only if the video ID is in the video player url that is available to us
*/
}, {
key: “sendParselyTracking”,
value: function sendParselyTracking() {
//add player video id into the set if it is not in the set so that it is only tracked on the first click on that video
var vid = this.player.videoinfo.id ? this.player.videoinfo.id : this.player.vid;
if (_components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].isTrackable(vid, this.currentUrl) && !this.playedVideos.has(vid)) {
// update player url
if (vid !== this.player.vid) {
this.player.url = this.getVideoUrl(this.player.videoinfo.id);
this.player.vid = vid;
}
if (typeof PARSELY !== ‘undefined’ && _typeof(PARSELY.beacon) === ‘object’ && typeof PARSELY.beacon.trackPageView === ‘function’) {
// set up for UTM Campaign tracking – FSCOM-12271
var metadata = _components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].getTrackingMeta(this.player); // failover for utm_content (start with defined utmObj, metadata, videoinfo, categoryName)
this.utmObj.utm_content = this.utmObj.utm_content || metadata.section || this.player.videoinfo.primary || this.playerData.categoryName;
var trackingObj = {
url: _components_fsUtils_TrackingUtils__WEBPACK_IMPORTED_MODULE_1__[“default”].addTrackingQuery(this.utmObj, this.player.url),
// URL to be tracked
urlref: location.href,
js: 1 // flag indicating that this is a dynamic event, keep it “1”
}; // TEMP(FOR STG/PROD): bug found on homepage “fox-five” tracking, but can’t recreate on DEV env
// need reports of these two objects.
window[‘utmProdTest’] = {
‘utmObj’: this.utmObj,
‘trackingObj’: trackingObj
};
PARSELY.beacon.trackPageView(trackingObj);
}
this.playedVideos.add(this.player.videoinfo.id);
}
}
}, {
key: “setPlayerEvents”,
value: function setPlayerEvents() {
var _this3 = this;
var player = this.player;
if (this.playerData) {
var playerData = this.playerData;
}
player.start = function () {
performance.mark(“fs-videoplayer-startplayer”);
return player.bind(), player;
};
if (this.playerData) {
if (typeof this.playerData.onMediaPause === ‘function’) {
player.addEventListener(‘OnMediaPause’, function (e) {
performance.mark(“fs-videoplayer-onmediapause”);
playerData.onMediaPause(null, e, player);
});
}
} //check is free wheel enabled
if (playerData && playerData.isFwEnabled == true) {
player = this.setSiteSection(player, playerData.siteSection);
}
/**
* @desc Fires when playback of the current clip is paused.
*/
player.addEventListener(‘OnMediaPause’, function (e) {
if (this.player.wcEndcard) {
_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“default”].dispatchEvent(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoPause, {
e: e,
player: this.player
});
}
try {
//passing video clip OnMediaPause to check if it is an ad when setting video pause
this.setPause(e.data.clip.baseClip.isAd);
} catch (err) {
console.log(‘Error OnMediaPause: ‘, err.message);
}
performance.mark(“fs-videoplayer-onmediapause”);
if (playerData) playerData[“onMediaPause”] && typeof playerData.onMediaPause === ‘function’ && playerData.onMediaPause(null, e, player);
}.bind(this));
/**
* @desc Fires when the current clip resumes playback after having been paused.
*/
player.addEventListener(‘OnMediaUnpause’, function (e) {
try {
//passing video clip OnMediaUnpause to check if it is an ad when setting video play
this.setPlay(e.data.clip.baseClip.isAd);
} catch (err) {
console.log(‘Error OnMediaUnpause: ‘, err.message);
}
}.bind(this));
/**
* @desc Fires when a clip starts playing. This includes individual chapter starts within a media item.
* The ClipInfo component listens for this event to update its content. This is the only event where video
* or ad metadata is dispatched to the player. Video metadata can be pulled out of the event data object.
*/
player.addEventListener(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoStart, function (e) {
try {
if (!e.data.baseClip.isAd && this.sendPageView) {
_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“default”].dispatchEvent(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoStart, {
e: e,
player: this.player
});
this.sendParselyTracking();
} //passing video clip OnMediaStart to check if it is an ad when setting video play
this.setPlay(e.data.baseClip.isAd);
} catch (err) {
console.log(‘Error OnMediaStart: ‘, err.message);
}
if (playerData) playerData[_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoStart] && typeof playerData.onMediaStart === ‘function’ && playerData.onMediaStart(null, e, player);
performance.mark(“fs-videoplayer-onmediastart”);
}.bind(this));
/**
* @desc Fries when clip ends
*/
player.addEventListener(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoEnd, function (e) {
_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“default”].dispatchEvent(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoEnd, {
e: e,
player: this.player
});
}.bind(this));
/**
* @desc Fires during clip playing
*/
player.addEventListener(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoProgress, function (e) {
if (player.wcEndcard) {
_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“default”].dispatchEvent(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoProgress, {
e: e,
player: this.player
});
}
}.bind(this));
/**
* @desc Fires when the player begins to load a new clip.
*/
player.addEventListener(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].videoLoading, function (e) {
performance.mark(“fs-videoplayer-onmedialoadstart”);
});
/**
* @desc Fires when the player loads
*/
player.addEventListener(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].playerReady, function (e) {
if (_this3.player.elem === e.originator.controlId) {
performance.mark(“fs-videoplayer-onplayerloaded”);
_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“default”].dispatchEvent(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].playerReady, {
e: e,
player: _this3.player,
playerData: _this3.playerData
});
window.currentPlayer = player;
}
});
/**
* @desc Fires when the release url starts
*/
player.addEventListener(‘OnReleaseStart’, function (e) {
performance.mark(“fs-videoplayer-onreleasestart”);
this.isModalEnabled && this.pauseAllPlayers();
}.bind(this));
/**
* @desc Fires when user clicks on the play button
*/
player.addEventListener(‘OnPlayButtonClicked’, function (e) {
performance.mark(“fs-videoplayer-onplaybuttonclicked”);
if (this.isIphone()) {
var playerId = ‘#’ + e.originator.controlId;
var vidTag = document.querySelector(playerId + ‘ video’);
if (!vidTag.hasAttribute(‘playsinline’)) {
vidTag.setAttribute(‘playsinline’, ”);
}
}
}.bind(this));
/**
* @desc Fires when the release url starts
*/
player.addEventListener(_FsVideoEventHandler__WEBPACK_IMPORTED_MODULE_2__[“fsEvents”].playerFullScreen, function (e) {
performance.mark(“fs-videoplayer-onfullscreen”); //set if player is fullscreen
this.isFullScreen = e.data;
}.bind(this));
player.start();
this.player = player;
this.playerData = playerData;
return this;
}
}, {
key: “setSiteSection”,
value: function setSiteSection(player, siteSectionPath) {
//freewheel
if (typeof siteSectionPath !== ‘”undefined”‘) {
console.log(‘has siteSection’);
} else {
siteSectionPath = ‘/nfl/test/default’;
}
var fwSiteSection = siteSectionPath; // condition if siteSection already sets ‘www.’
if (fwSiteSection.indexOf(‘www.’) > -1) {
fwSiteSection = fwSiteSection.replace(‘www.’, ”);
}
fwSiteSection = this.getAdViewport(window.innerWidth) + ‘.’ + fwSiteSection; //get adzone
var adZoneVal = this.getAdZoneParam(); //assign siteSection
player.siteSection = adZoneVal !== “” ? adZoneVal : fwSiteSection;
return player;
}
}, {
key: “getAdZoneParam”,
value: function getAdZoneParam() {
function getParameterByName(name) {
name = name.replace(/[[]/, “\[“).replace(/[]]/, “\]”);
var regex = new RegExp(“[\?&]” + name + “=([^]*)”),
results = regex.exec(location.search);
return results == null ? “” : decodeURIComponent(results[1].replace(/+/g, ” “));
}
var adzoneParam = getParameterByName(‘adzone’);
if (adzoneParam !== “”) return adzoneParam;else return ”;
}
/*
desktop = 1024 pixels and up
tablet = 768 – 1023
handheld = 767 and below
Touch detection for 1023 and below would override the breakpoints
*/
}, {
key: “getAdViewport”,
value: function getAdViewport(windowWidth) {
var isTouch = this.isTouchDevice();
var viewportName = ‘www’;
switch (true) {
case !isTouch || windowWidth > 1023:
viewportName = “www”;
break;
case windowWidth > 767 && isTouch:
viewportName = “mtab”;
break;
default:
viewportName = “mweb”;
}
return viewportName;
}
}, {
key: “isTouchDevice”,
value: function isTouchDevice() {
return ‘ontouchstart’ in window;
}
}, {
key: “getVideoUrl”,
value: function getVideoUrl(id) {
return this.getCleanedDomain() + ‘/’ + this.playerData.categoryName + ‘/video/’ + id;
}
}, {
key: “setPlayerShare”,
value: function setPlayerShare() {
if (window.innerWidth > 1024) {
// older implementations incorrectly return share as a boolean
if (_typeof(this.playerData.share) === ‘object’ && this.playerData.share) {
this.player.share = this.playerData.share;
} else {
this.player.share = {
showembedfunc: function showembedfunc(mid, vi) {
if (vi.primary == ‘nfl’ && vi.contentType == ‘highlights’ || _typeof(this.state.clip) === ‘object’ && typeof this.state.clip !== null && this.state.clip.baseClip.contentCustomData[“non-EmbeddableHighlights”] == “true”) {
return false;
} else {
return true;
}
},
emailscript: ”,
sharetargets: this.playerData.fdmsharetargetsArr
};
}
this.player.share = {
embed: true,
iframeurl: this.playerData.iframeUrl
};
if (typeof this.playerData.share_deeplinkfunc === ‘function’) {
this.player.share.deeplinkfunc = playerData.share_deeplinkfunc;
} else {
this.player.share.deeplinkfunc = function (mediaId, title, guid) {
return this.getVideoUrl(mediaId);
}.bind(this);
}
}
return this;
}
}, {
key: “getCleanedDomain”,
value: function getCleanedDomain() {
var l = window.location;
return l.origin || l.protocol + ‘//’ + l.hostname + (l.port ? ‘:’ + l.port : ”);
}
}, {
key: “defaultOpts”,
value: function defaultOpts() {
// disable autoplay for mobile
var autoplay = this.viewports.isMobile ? false : true;
return {
autoplay: autoplay,
share: false,
share_embed: true,
endcard: true,
endcard_feed: ”,
endcard_countdown: true,
hideMeta: false,
isFwEnabled: false,
iu: ”,
siteSection: ”,
pageLocation: ‘index’,
pageName: ‘fscom::videos:video page’,
releaseUrl: ”,
categoryName: ”,
fdmsharetargetsArr: [{
name: “Facebook”,
image: “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAACl0lEQVR42u3a3UsUURzGcf+vELuI8iK6iLrIzOidoheCUC+yF4KitEAJcq11UyplVzaKyo1dEBZXslwlpUAqS6LxQszNyG3dml9zYgiJ2pyZnT20fh94Ls7VwO8zMMM5p2LNtnbDqljNWc1bNe01LX5Ne8Y5e21UMBS9BQAAABgEAABQAACgAABAAQCAAgDAqurWY3fkxMVH0hJMSkf4qYSiaQn2jfxqoHdYWrtTcr59QJpa43L8wgPZ2RiRTQe7paq2AwCnXVt3XU63JSQx9FoyC1nxms1HbgGwkq7bFbTe6Gcy/8n70Jdny9HbAPyrDS0xmZv/In4EgAKt3B6QnofPxc8AUGD48dQr8TsA/KV9jyekFAHgD1W/i6UKAL+1em9IMp+zAOhqr88fXQAKdMOeTsl+zQOgq1dCg1LqALCsoy8+AKBzq+G7aQKgq4fP3S/KQFOj09IcTMq+k9Gfw1XflUKtrAkAoKq2jL1E7YweOnuP8wC3DfePewJQ+/wcyHjowPAb18OfnJrlRMxrh8amXQPcjKYB8Nqxl4ZrgDNXEwDoBKhv7gdAJ4D6hQUAAAAAAAAAAAAAAAAAAFjVADvqw5IceeuoXm5CjE/OOH6e6qUbyfIEKNbhit+51vMEAJ051RYHQGfUsSUAGrPxQBcAuqIugJXtX9D/ADD1/iMAOjOYfgeAzkRiEwDojLqHBIDGNF6OAaAzdQ0RAHRm/e5OAHRFbfyV9W7o/qa7MjO74KhLS99cD3Qus+joWeoGNecBnAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj2Imc1b9UEwLea9oxz9tr4AS/jbaNehFRZAAAAAElFTkSuQmCC”,
urlTemplate: “http://www.facebook.com/sharer.php?u=”
}, {
name: “Twitter”,
image: “data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAIAAABt+uBvAAAFGUlEQVR42u2b+W8TVxDH80/WCQHSCEUtLagHoodKS6tWRRShNkUQ9aAIqVVb0fhITGISIElNnPtwE0hCMM1JYhKzh/e+O5IhVRPq2uv33m7ojN4PtiXvvv3svO/MvJ2te6mdw1Fm1CECBISAEBACQkAICAEhIBwICAEhIASEgBAQAkJAOBAQAkJACAgBVTUOJ/gLY3J6xVgv2pbjlYzTnJnH1i931TduCBUeJ/LiAWrq4OMLmmq5XlnL5s33b4tljvNWj5hZM5o7eHaAPuwvRijT+TQtgZt4lZnreslFrSG2+yAfDRSH1w3H9QaWDXZL7GCc5zWnfV6jR+eHacV1vWrt7pb1cgdfH+XAoWB6j4p26Xfb8d7sEdkBujQul078/ZRCg843k4rn1wqqs3dJ+ruX/gFNbZo75744LpOlc6q/6LgeQZvbthqiDKNYJMrtukWXp4n5UWOM25QcgnRynNXc+VSbjyT51lGZOqDjKWHvPBL3NSKafTWrEKQzuWlCHHytW2ibkCc2TMN2P/m9SB3QB33F585mfMOsNo7u9c0thZj7CLoLUECSdn759Z7KYonBTfi3OeVlB/D5BnR6oOhRs/5lg1Gi+N5tscw8QF8hZDTG/bhSdF6jRAdc6UCMlUi3JIX/nNCG5JwZlKo9MlwGDTp3Vo36KNtarMIEd3bLqmrFLQs2cTrX5vxHD/+A+pb0qrLbc0NSpIJ7SFChS3altvyjroYqqWo13Vac2IJ2ordcvr8qEvYguDGBbXcs8T4vBiJd9wP9/LDUktwt5OBrLw6gMsG+cgMty+bNGzn9xxkVShb4TBZQVWkh+f2g3oe6F24rv0lErRZ79gEyi1nSi4Ksvd0bBKALY/LgqlGK34fi/MxjM7SADsX5AACdzUil00NUTq8YP8+qoLshpAMCF8ym/cmborcfbH7bCgZQQ5TTLTf8gHoe6oE99hlZN8MP6OtROTBAXzyToTDb691CYICgsCJeFpC1gurUvr1ZU6LooxxjaamcHjAgGF0PwptJ11hkkAFUH6W1xVWjibrrb4eM/LN5qDYya0bYAHUuknnkS6Z5AUqzy9OKFprMCOZxLCWECFBpvHJd6M7pYcAEqz5c/UHHU8LRLqEpwTd38id6xb4l3XL2vTyTBNQ6KodHfabzJsFlQQYQ6LSgh0WA3r0lhg5QqZcnDHTSKwZBOiQBQdJxvxDw1qJiui1JIaSAYIBOP1GDFOdLpNuUyDdxQggLitHIukmcDpUuV/Aj9mttS3F2WqT2QZ806NGVrCLojFxJt9yTN0UaF0K3Txpi/8VxeeyRqZoUMwDX9c5mJHpXwaKRHBwK1h0EYBqA2iZkqpNnAQjoUNoSodSBzA7QwTj/04xKo3y1Ha91VGZwd2kBaurgr/6h8hoVnZYM92Ny5ShTQI0x7sygBNW8btMS5hxn1/6sgiKgV7uExtjfjw+PJPl3bonnh6Xf5rRs3qS6GeS4XmLhOe+qhAvQqf5iqW+KcfH+J2/X2MjCbolB2P52UimwKingRG0TSiTKsadTkwZBHvjdlLLzshEN25BsOMWBWDBoyIh0pJ37LC1l1gyDnCqbjje0Znx+RwrKa6hEscMJ/qsReWDZ8L30oOCEv385Ijcl+MC50M2DjqUEiGvtcxo4wuITC5Ap/yzH4Oum5CwULKg/rt1Tzw1JkG3jW8/4WjgCQkA4EBACQkAICAEhIASEgHAgIASEgBAQAkJACAgB/b/HXwPPdZ/z7BalAAAAAElFTkSuQmCC”,
urlTemplate: “http://twitter.com/share?url=”
}]
};
}
}, {
key: “preparePlayerData”,
value: function preparePlayerData(opts) {
var playerData = this.defaultOpts();
Object.keys(opts).map(function (key) {
playerData[key] = opts[key];
}); // iu (interactive unit) is similar to a page path
// ex., ‘/fscom/homepage/video’, ‘/fscom/nfl/video’
if (typeof playerData.iu === ‘string’) {
playerData.releaseURL += ‘&iu=’ + playerData.iu;
playerData.endcard_feed += ‘¶ms=iu=’ + playerData.iu;
}
return playerData;
}
}, {
key: “getPlayerElement”,
value: function getPlayerElement(opts) {
return document.getElementById(‘Video’ + opts.id);
}
}]);
return FsVideo;
}(_Pinner__WEBPACK_IMPORTED_MODULE_0__[“default”]);
window.FsVideo = FsVideo;
/* harmony default export */ __webpack_exports__[“default”] = (FsVideo);
/***/ }),
/***/ “./assets/layouts/app/critical-video.js”:
/*!**********************************************!*
!*** ./assets/layouts/app/critical-video.js ***!
**********************************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
“use strict”;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var usertiming__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! usertiming */ “./node_modules/usertiming/src/usertiming.js”);
/* harmony import */ var usertiming__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(usertiming__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _components_platformPlayer_criticalVideoLoader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../components/platformPlayer/criticalVideoLoader */ “./assets/components/platformPlayer/criticalVideoLoader.js”);
/* harmony import */ var lazysizes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lazysizes */ “./node_modules/lazysizes/lazysizes.js”);
/* harmony import */ var lazysizes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lazysizes__WEBPACK_IMPORTED_MODULE_2__);
// user timing API
// NEO Video Loader
//Lazy Loading
/***/ }),
/***/ “./node_modules/isomorphic-fetch/fetch-npm-browserify.js”:
/*!***************************************************************!*
!*** ./node_modules/isomorphic-fetch/fetch-npm-browserify.js ***!
***************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// the whatwg-fetch polyfill installs the fetch() function
// on the global object (window or self)
//
// Return that as the export for use in Webpack, Browserify etc.
__webpack_require__(/*! whatwg-fetch */ “./node_modules/whatwg-fetch/fetch.js”);
module.exports = self.fetch.bind(self);
/***/ }),
/***/ “./node_modules/lazysizes/lazysizes.js”:
/*!*********************************************!*
!*** ./node_modules/lazysizes/lazysizes.js ***!
*********************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
(function(window, factory) {
var lazySizes = factory(window, window.document);
window.lazySizes = lazySizes;
if( true && module.exports){
module.exports = lazySizes;
}
}(window, function l(window, document) {
‘use strict’;
/*jshint eqnull:true */
if(!document.getElementsByClassName){return;}
var lazySizesConfig;
var docElem = document.documentElement;
var Date = window.Date;
var supportPicture = window.HTMLPictureElement;
var _addEventListener = ‘addEventListener’;
var _getAttribute = ‘getAttribute’;
var addEventListener = window[_addEventListener];
var setTimeout = window.setTimeout;
var requestAnimationFrame = window.requestAnimationFrame || setTimeout;
var requestIdleCallback = window.requestIdleCallback;
var regPicture = /^picture$/i;
var loadEvents = [‘load’, ‘error’, ‘lazyincluded’, ‘_lazyloaded’];
var regClassCache = {};
var forEach = Array.prototype.forEach;
var hasClass = function(ele, cls) {
if(!regClassCache[cls]){
regClassCache[cls] = new RegExp(‘(\s|^)’+cls+'(\s|$)’);
}
return regClassCache[cls].test(ele[_getAttribute](‘class’) || ”) && regClassCache[cls];
};
var addClass = function(ele, cls) {
if (!hasClass(ele, cls)){
ele.setAttribute(‘class’, (ele[_getAttribute](‘class’) || ”).trim() + ‘ ‘ + cls);
}
};
var removeClass = function(ele, cls) {
var reg;
if ((reg = hasClass(ele,cls))) {
ele.setAttribute(‘class’, (ele[_getAttribute](‘class’) || ”).replace(reg, ‘ ‘));
}
};
var addRemoveLoadEvents = function(dom, fn, add){
var action = add ? _addEventListener : ‘removeEventListener’;
if(add){
addRemoveLoadEvents(dom, fn);
}
loadEvents.forEach(function(evt){
dom[action](evt, fn);
});
};
var triggerEvent = function(elem, name, detail, noBubbles, noCancelable){
var event = document.createEvent(‘CustomEvent’);
event.initCustomEvent(name, !noBubbles, !noCancelable, detail || {});
elem.dispatchEvent(event);
return event;
};
var updatePolyfill = function (el, full){
var polyfill;
if( !supportPicture && ( polyfill = (window.picturefill || lazySizesConfig.pf) ) ){
polyfill({reevaluate: true, elements: [el]});
} else if(full && full.src){
el.src = full.src;
}
};
var getCSS = function (elem, style){
return (getComputedStyle(elem, null) || {})[style];
};
var getWidth = function(elem, parent, width){
width = width || elem.offsetWidth;
while(width 0);
if(visible && getCSS(parent, ‘overflow’) != ‘visible’){
outerRect = parent.getBoundingClientRect();
visible = eLright > outerRect.left &&
eLleft outerRect.top – 1 &&
eLtop 500 ? 500 : 400;
}
defaultExpand = lazySizesConfig.expand;
preloadExpand = defaultExpand * lazySizesConfig.expFactor;
}
if(currentExpand 2 && loadMode > 2 && !document.hidden){
currentExpand = preloadExpand;
lowRuns = 0;
} else if(loadMode > 1 && lowRuns > 1 && isLoading = elemNegativeExpand &&
(eLtop = rect.top) = elemNegativeExpand * hFac &&
(eLleft = rect.left) 9){break;}
} else if(!loadedSomething && isCompleted && !autoLoadElem &&
isLoading 2 &&
(preloadElems[0] || lazySizesConfig.preloadAfterLoad) &&
(preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesConfig.sizesAttr) != ‘auto’)))){
autoLoadElem = preloadElems[0] || lazyloadElems[i];
}
}
if(autoLoadElem && !loadedSomething){
unveilElement(autoLoadElem);
}
}
};
var throttledCheckElements = throttle(checkElements);
var switchLoadingClass = function(e){
addClass(e.target, lazySizesConfig.loadedClass);
removeClass(e.target, lazySizesConfig.loadingClass);
addRemoveLoadEvents(e.target, rafSwitchLoadingClass);
};
var rafedSwitchLoadingClass = rAFIt(switchLoadingClass);
var rafSwitchLoadingClass = function(e){
rafedSwitchLoadingClass({target: e.target});
};
var changeIframeSrc = function(elem, src){
try {
elem.contentWindow.location.replace(src);
} catch(e){
elem.src = src;
}
};
var handleSources = function(source){
var customMedia, parent;
var sourceSrcset = source[_getAttribute](lazySizesConfig.srcsetAttr);
if( (customMedia = lazySizesConfig.customMedia[source[_getAttribute](‘data-media’) || source[_getAttribute](‘media’)]) ){
source.setAttribute(‘media’, customMedia);
}
if(sourceSrcset){
source.setAttribute(‘srcset’, sourceSrcset);
}
//https://bugzilla.mozilla.org/show_bug.cgi?id=1170572
if(customMedia){
parent = source.parentNode;
parent.insertBefore(source.cloneNode(), source);
parent.removeChild(source);
}
};
var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){
var src, srcset, parent, isPicture, event, firesLoad;
if(!(event = triggerEvent(elem, ‘lazybeforeunveil’, detail)).defaultPrevented){
if(sizes){
if(isAuto){
addClass(elem, lazySizesConfig.autosizesClass);
} else {
elem.setAttribute(‘sizes’, sizes);
}
}
srcset = elem[_getAttribute](lazySizesConfig.srcsetAttr);
src = elem[_getAttribute](lazySizesConfig.srcAttr);
if(isImg) {
parent = elem.parentNode;
isPicture = parent && regPicture.test(parent.nodeName || ”);
}
firesLoad = detail.firesLoad || ((‘src’ in elem) && (srcset || src || isPicture));
event = {target: elem};
if(firesLoad){
addRemoveLoadEvents(elem, resetPreloading, true);
clearTimeout(resetPreloadingTimer);
resetPreloadingTimer = setTimeout(resetPreloading, 2500);
addClass(elem, lazySizesConfig.loadingClass);
addRemoveLoadEvents(elem, rafSwitchLoadingClass, true);
}
if(isPicture){
forEach.call(parent.getElementsByTagName(‘source’), handleSources);
}
if(srcset){
elem.setAttribute(‘srcset’, srcset);
} else if(src && !isPicture){
if(regIframe.test(elem.nodeName)){
changeIframeSrc(elem, src);
} else {
elem.src = src;
}
}
if(srcset || isPicture){
updatePolyfill(elem, {src: src});
}
}
rAF(function(){
if(elem._lazyRace){
delete elem._lazyRace;
}
removeClass(elem, lazySizesConfig.lazyClass);
if( !firesLoad || elem.complete ){
if(firesLoad){
resetPreloading(event);
} else {
isLoading–;
}
switchLoadingClass(event);
}
});
});
var unveilElement = function (elem){
var detail;
var isImg = regImg.test(elem.nodeName);
//allow using sizes=”auto”, but don’t use. it’s invalid. Use data-sizes=”auto” or a valid value for sizes instead (i.e.: sizes=”80vw”)
var sizes = isImg && (elem[_getAttribute](lazySizesConfig.sizesAttr) || elem[_getAttribute](‘sizes’));
var isAuto = sizes == ‘auto’;
if( (isAuto || !isCompleted) && isImg && (elem.src || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesConfig.errorClass)){return;}
detail = triggerEvent(elem, ‘lazyunveilread’).detail;
if(isAuto){
autoSizer.updateElem(elem, true, elem.offsetWidth);
}
elem._lazyRace = true;
isLoading++;
lazyUnveil(elem, detail, isAuto, sizes, isImg);
};
var onload = function(){
if(isCompleted){return;}
if(Date.now() – started 0);
},
checkElems: throttledCheckElements,
unveil: unveilElement
};
})();
var autoSizer = (function(){
var autosizesElems;
var sizeElement = rAFIt(function(elem, parent, event, width){
var sources, i, len;
elem._lazysizesWidth = width;
width += ‘px’;
elem.setAttribute(‘sizes’, width);
if(regPicture.test(parent.nodeName || ”)){
sources = parent.getElementsByTagName(‘source’);
for(i = 0, len = sources.length; i 1) {
for (var i = 1; i -1
}
}
function normalizeName(name) {
if (typeof name !== ‘string’) {
name = String(name)
}
if (/[^a-z0-9-#$%&’*+.^_`|~]/i.test(name)) {
throw new TypeError(‘Invalid character in header field name’)
}
return name.toLowerCase()
}
function normalizeValue(value) {
if (typeof value !== ‘string’) {
value = String(value)
}
return value
}
// Build a destructive iterator for the value list
function iteratorFor(items) {
var iterator = {
next: function() {
var value = items.shift()
return {done: value === undefined, value: value}
}
}
if (support.iterable) {
iterator[Symbol.iterator] = function() {
return iterator
}
}
return iterator
}
function Headers(headers) {
this.map = {}
if (headers instanceof Headers) {
headers.forEach(function(value, name) {
this.append(name, value)
}, this)
} else if (Array.isArray(headers)) {
headers.forEach(function(header) {
this.append(header[0], header[1])
}, this)
} else if (headers) {
Object.getOwnPropertyNames(headers).forEach(function(name) {
this.append(name, headers[name])
}, this)
}
}
Headers.prototype.append = function(name, value) {
name = normalizeName(name)
value = normalizeValue(value)
var oldValue = this.map[name]
this.map[name] = oldValue ? oldValue + ‘, ‘ + value : value
}
Headers.prototype[‘delete’] = function(name) {
delete this.map[normalizeName(name)]
}
Headers.prototype.get = function(name) {
name = normalizeName(name)
return this.has(name) ? this.map[name] : null
}
Headers.prototype.has = function(name) {
return this.map.hasOwnProperty(normalizeName(name))
}
Headers.prototype.set = function(name, value) {
this.map[normalizeName(name)] = normalizeValue(value)
}
Headers.prototype.forEach = function(callback, thisArg) {
for (var name in this.map) {
if (this.map.hasOwnProperty(name)) {
callback.call(thisArg, this.map[name], name, this)
}
}
}
Headers.prototype.keys = function() {
var items = []
this.forEach(function(value, name) {
items.push(name)
})
return iteratorFor(items)
}
Headers.prototype.values = function() {
var items = []
this.forEach(function(value) {
items.push(value)
})
return iteratorFor(items)
}
Headers.prototype.entries = function() {
var items = []
this.forEach(function(value, name) {
items.push([name, value])
})
return iteratorFor(items)
}
if (support.iterable) {
Headers.prototype[Symbol.iterator] = Headers.prototype.entries
}
function consumed(body) {
if (body.bodyUsed) {
return Promise.reject(new TypeError(‘Already read’))
}
body.bodyUsed = true
}
function fileReaderReady(reader) {
return new Promise(function(resolve, reject) {
reader.onload = function() {
resolve(reader.result)
}
reader.onerror = function() {
reject(reader.error)
}
})
}
function readBlobAsArrayBuffer(blob) {
var reader = new FileReader()
var promise = fileReaderReady(reader)
reader.readAsArrayBuffer(blob)
return promise
}
function readBlobAsText(blob) {
var reader = new FileReader()
var promise = fileReaderReady(reader)
reader.readAsText(blob)
return promise
}
function readArrayBufferAsText(buf) {
var view = new Uint8Array(buf)
var chars = new Array(view.length)
for (var i = 0; i -1 ? upcased : method
}
function Request(input, options) {
options = options || {}
var body = options.body
if (input instanceof Request) {
if (input.bodyUsed) {
throw new TypeError(‘Already read’)
}
this.url = input.url
this.credentials = input.credentials
if (!options.headers) {
this.headers = new Headers(input.headers)
}
this.method = input.method
this.mode = input.mode
this.signal = input.signal
if (!body && input._bodyInit != null) {
body = input._bodyInit
input.bodyUsed = true
}
} else {
this.url = String(input)
}
this.credentials = options.credentials || this.credentials || ‘same-origin’
if (options.headers || !this.headers) {
this.headers = new Headers(options.headers)
}
this.method = normalizeMethod(options.method || this.method || ‘GET’)
this.mode = options.mode || this.mode || null
this.signal = options.signal || this.signal
this.referrer = null
if ((this.method === ‘GET’ || this.method === ‘HEAD’) && body) {
throw new TypeError(‘Body not allowed for GET or HEAD requests’)
}
this._initBody(body)
}
Request.prototype.clone = function() {
return new Request(this, {body: this._bodyInit})
}
function decode(body) {
var form = new FormData()
body
.trim()
.split(‘&’)
.forEach(function(bytes) {
if (bytes) {
var split = bytes.split(‘=’)
var name = split.shift().replace(/+/g, ‘ ‘)
var value = split.join(‘=’).replace(/+/g, ‘ ‘)
form.append(decodeURIComponent(name), decodeURIComponent(value))
}
})
return form
}
function parseHeaders(rawHeaders) {
var headers = new Headers()
// Replace instances of rn and n followed by at least one space or horizontal tab with a space
// https://tools.ietf.org/html/rfc7230#section-3.2
var preProcessedHeaders = rawHeaders.replace(/r?n[t ]+/g, ‘ ‘)
preProcessedHeaders.split(/r?n/).forEach(function(line) {
var parts = line.split(‘:’)
var key = parts.shift().trim()
if (key) {
var value = parts.join(‘:’).trim()
headers.append(key, value)
}
})
return headers
}
Body.call(Request.prototype)
function Response(bodyInit, options) {
if (!options) {
options = {}
}
this.type = ‘default’
this.status = options.status === undefined ? 200 : options.status
this.ok = this.status >= 200 && this.status 3 && arguments[3] !== undefined ? arguments[3] : _utils__WEBPACK_IMPORTED_MODULE_1__[“headers”];
var options = Object.assign({
method: ‘GET’
}, customHeaders);
return fetchData(url, options, callback, error);
}
function post(url, data, callback, error) {
var customHeaders = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _utils__WEBPACK_IMPORTED_MODULE_1__[“headers”];
var options = Object.assign({
method: ‘POST’,
body: JSON.stringify(data)
}, customHeaders);
return sendPost(url, options, callback, error);
}
/***/ }),
/***/ “./react-app-src/shared/services/FsPlaylistService.js”:
/*!************************************************************!*
!*** ./react-app-src/shared/services/FsPlaylistService.js ***!
************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
“use strict”;
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants */ “./react-app-src/shared/constants.js”);
/* harmony import */ var _FetchService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FetchService */ “./react-app-src/shared/services/FetchService.js”);
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(“Cannot call a class as a function”); } }
function _defineProperties(target, props) { for (var i = 0; i 0 && arguments[0] !== undefined ? arguments[0] : ”;
var defaultVideoTags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ”;
var postId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
if (this.parselyPlaylist) {
return this.parselyPlaylist;
}
var tags = ‘?parselytags=’ + parselyFeedTags + (defaultVideoTags && ‘&defaulttags=’ + defaultVideoTags) + ‘&postid=’ + postId;
this.parselyPlaylist = Object(_FetchService__WEBPACK_IMPORTED_MODULE_1__[“get”])(_constants__WEBPACK_IMPORTED_MODULE_0__[“settings”].PARSELY_URL_V2 + tags, function (json) {
if (!json.success) return [];
var data = json.data;
return Array.isArray(data) ? data : [data];
}, function () {
return [];
});
return this.parselyPlaylist;
}
}, {
key: “getParselyContentByFeed”,
value: function getParselyContentByFeed(feedUrl) {
var postId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
if (this.playlist) {
return this.playlist;
}
var url = ‘?feedurl=’ + encodeURIComponent(feedUrl) + ‘&postid=’ + postId;
this.playlist = Object(_FetchService__WEBPACK_IMPORTED_MODULE_1__[“get”])(_constants__WEBPACK_IMPORTED_MODULE_0__[“settings”].PARSELY_URL_V2 + url, function (json) {
if (!json.success) return [];
var data = json.data;
return Array.isArray(data) ? data : [data];
}, function () {
return [];
});
return this.playlist;
}
}]);
return FsPlaylistService;
}();
/* harmony default export */ __webpack_exports__[“default”] = (FsPlaylistService);
/***/ }),
/***/ “./react-app-src/shared/utils.js”:
/*!***************************************!*
!*** ./react-app-src/shared/utils.js ***!
***************************************/
/*! exports provided: headers, handleFetchedErrors, getPostId, assetsDomain, decodeHtmlEntities, parseImagesTag, parseSeconds, convertSecondsToTime, isFlashEnabled, isTabletOrMobile, isAndroid, getQueryString, getCookie, getAuthStatus */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
“use strict”;
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “headers”, function() { return headers; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “handleFetchedErrors”, function() { return handleFetchedErrors; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “getPostId”, function() { return getPostId; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “assetsDomain”, function() { return assetsDomain; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “decodeHtmlEntities”, function() { return decodeHtmlEntities; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “parseImagesTag”, function() { return parseImagesTag; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “parseSeconds”, function() { return parseSeconds; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “convertSecondsToTime”, function() { return convertSecondsToTime; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “isFlashEnabled”, function() { return isFlashEnabled; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “isTabletOrMobile”, function() { return isTabletOrMobile; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “isAndroid”, function() { return isAndroid; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “getQueryString”, function() { return getQueryString; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “getCookie”, function() { return getCookie; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, “getAuthStatus”, function() { return getAuthStatus; });
var headers = {
headers: {
Accept: ‘application/json’,
‘Content-Type’: ‘application/json’
},
credentials: ‘include’
};
function handleFetchedErrors(response) {
if (!response.ok) {
throw Error(response.statusText);
}
return response;
}
function getPostId() {
var pageInfo = document.getElementById(‘page-information’);
if (pageInfo) {
var body = document.querySelector(‘.fox_sectionfront .body-content’);
if (body) {
return body.getAttribute(‘post-id’);
}
}
return document.body.getAttribute(‘post-id’);
}
function getAssetsDomain() {
var locationName = location.hostname;
if (locationName.match(/www.foxsports.com/)) {
return ‘https://b.fssta.com/sta/’;
}
if (locationName.match(/wp.foxsports.com/)) {
return ‘https://b.dev.fssta.com/sta/’;
}
return ‘/wp-content/themes/foxsports/assets/dist/’;
}
var assetsDomain = getAssetsDomain();
function decodeHtmlEntities(text) {
if (!text) return ”;
return text.replace(/&(w*|#d*);/g, function (s) {
return decodeTable[s] || ”;
});
}
var decodeTable = {
‘&’: ‘&’,
‘”‘: ‘”‘,
‘<': '',
' ': ' ',
'!': '!',
'"': '"',
'#': '#',
'$': '$',
'%': '%',
'&': '&',
''': ''',
''': ''',
'(': '(',
')': ')',
'*': '*',
'+': '+',
',': ',',
'-': '-',
'.': '.',
'/': '/',
'–': '–',
'—': '—',
'‘': '‘',
'’': '’',
'‚': '‚',
'“': '“',
'”': '”',
'„': '„',
'†': '†',
'‡': '‡',
'•': '•',
'…': '…',
'‰': '‰',
'€': '€',
'™': '™'
};
function parseImagesTag(text) {
text = "
“.concat(text, “
“);
var parser = new DOMParser();
var result = {
srcSet: ”,
sizes: ”,
src: ”,
noscript: ”
};
try {
var el = parser.parseFromString(text, ‘text/html’);
var images = el.getElementsByTagName(‘img’);
if (images.length > 0) {
var img = images[0];
result.sizes = img.getAttribute(‘data-sizes’) || img.getAttribute(‘sizes’);
result.srcSet = img.getAttribute(‘data-srcset’) || img.getAttribute(‘srcset’);
result.src = img.getAttribute(‘data-src’) || img.getAttribute(‘src’);
}
var noscripts = el.getElementsByTagName(‘noscript’);
if (noscripts.length > 0) {
var noscript = noscripts[0];
result.noscript = noscript.innerHTML;
}
} finally {
return result;
}
}
function parseSeconds(time) {
if (!time || time.indexOf(‘.’) === -1) {
return time;
}
var minutes = Math.floor(time / 60);
var seconds = Math.floor(time – minutes * 60);
return minutes + ‘:’ + (seconds 0 ? [hours, minutes, seconds] : [minutes, seconds];
return timeArr.map(function (v, i) {
return v 0 ? ‘0’ + v : v : v;
}).filter(function (v, i) {
return v !== ’00’ || i > 0;
}).join(‘:’);
}
function isFlashEnabledFn() {
var hasFlash = false;
try {
if (navigator.mimeTypes && navigator.mimeTypes[‘application/x-shockwave-flash’] ? navigator.mimeTypes[‘application/x-shockwave-flash’].enabledPlugin : 0) {
hasFlash = true;
}
} catch (e) {
if (navigator.mimeTypes[‘application/x-shockwave-flash’] != undefined) {
hasFlash = true;
}
}
return hasFlash;
}
var isFlashEnabled = isFlashEnabledFn();
function isTabletOrMobileFn() {
return navigator.userAgent.match(/Android|webOS|iPhone|iPod|iPad|BlackBerry|IEMobile|Opera Mini|Windows Phone/i);
}
var isTabletOrMobile = isTabletOrMobileFn();
function isAndroidFn() {
return window.navigator.userAgent.match(/Android/i);
}
var isAndroid = isAndroidFn();
/**
* Get the value of a querystring
* @param {String} field The field to get the value of
* @param {String} url The URL to get the value from (optional)
* @return {String} The field value
*/
function getQueryString(field, url) {
var href = url ? url : window.location.href;
var reg = new RegExp(‘[?&]’ + field + ‘=([^]*)’, ‘i’);
var string = reg.exec(href);
return string ? string[1] : null;
}
/**
* get cookie by name
* @param {string} name cookie name
*/
var getCookie = function getCookie(name) {
var match = document.cookie.match(new RegExp(‘(^| )’ + name + ‘=([^;]+)’));
if (match) return JSON.parse(decodeURIComponent(match[2]));
return false;
};
var getAuthStatus = function getAuthStatus() {
return new Promise(function (resolve, reject) {
var reg = window.wisRegistration;
var isRegAval = reg && typeof reg.isUserLoggedInMVPD === “function”;
if (!isRegAval || !reg.isUserLoggedInMVPD()) {
resolve({});
return;
}
resolve({
isLoggedIn: true
});
});
};
/***/ })
/******/ });
//# sourceMappingURL=critical-video.min.js.map