harness/app-assets/templates/assets/js/modules/outbrain.js (62 lines of code) (raw):
/*
Module: outbrain.js
Description: show promoted content by outbrain.
*/
define(function () {
'use strict';
function getSection () {
var sections = ['politics', 'world', 'business', 'commentisfree'],
section = GU.opts.section;
return section.toLowerCase().match('news') || sections.indexOf(section.toLowerCase()) > 0 ? 'sections' : 'all';
}
function ready() {
var contentUrl,
isTablet = GU.opts.adsConfig === 'tablet' ? true : false,
outbrainContainer = document.getElementsByClassName('container__outbrain')[0],
outbrainImage = document.getElementsByClassName('outbrainImage')[0],
outbrainText = document.getElementsByClassName('outbrainText')[0],
section = getSection(),
scriptElement,
widgetCodeText,
widgetConfig,
widgetCodeImage;
if (!outbrainContainer) {
return;
}
contentUrl = outbrainImage.dataset.src;
if (contentUrl) {
outbrainContainer.style.display = 'block';
if (isTablet) {
widgetConfig = {
image: {
sections: 'AR_24',
all: 'AR_18'
},
text: {
sections: 'AR_27',
all: 'AR_20'
}
};
outbrainText.style.display = 'block';
widgetCodeText = widgetConfig.text[section];
outbrainText.dataset.widgetId = widgetCodeText;
} else {
widgetConfig = {
image: {
sections: 'AR_22',
all: 'AR_16'
}
};
if (outbrainContainer.childElementCount > 0 && outbrainText) {
outbrainContainer.removeChild(outbrainText);
}
}
widgetCodeImage = widgetConfig.image[section];
outbrainImage.dataset.widgetId = widgetCodeImage;
scriptElement = document.createElement('script');
scriptElement.id = 'outbrain-widget';
scriptElement.async = true;
scriptElement.src = 'https://widgets.outbrain.com/outbrain.js?cachebuster=123456789';
document.body.appendChild(scriptElement);
}
}
return {
init: ready
};
});