@bemit/consent-ui
Version:
© 2022 [bemit](https://bemit.eu)
63 lines (62 loc) • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.pluginFacebook = exports.loadFb = void 0;
var fbState = {
loaded: false,
fbpxInv: undefined
};
var loadFb = exports.loadFb = function loadFb() {
!function (f, b, e, v, n, t, s) {
if (f.fbq) return;
n = f.fbq = function () {
n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);
};
if (!f._fbq) f._fbq = n;
n.push = n;
n.loaded = !0;
n.version = '2.0';
n.queue = [];
t = b.createElement(e);
t.async = !0;
t.src = v;
s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t, s);
}(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
};
var pluginFacebook = exports.pluginFacebook = function pluginFacebook(group, fbqId) {
return {
shouldBe: function shouldBe(options) {
var _options$groups;
return Boolean(options === null || options === void 0 || (_options$groups = options.groups) === null || _options$groups === void 0 ? void 0 : _options$groups[group]);
},
create: function create(wasAlreadyCreated) {
if (wasAlreadyCreated) return;
var cb = function cb() {
window.clearInterval(fbState.fbpxInv);
var onFbLoaded = function onFbLoaded() {
if (window.fbq) {
window.clearInterval(fbState.fbpxInv);
window.fbq('init', fbqId);
window.fbq('track', 'PageView');
}
};
fbState.fbpxInv = window.setInterval(onFbLoaded, 30);
onFbLoaded();
};
if (!fbState.loaded) {
fbState.loaded = true;
loadFb();
cb();
} else {
cb();
}
},
destroy: function destroy() {
return {
requiresRefresh: true
};
}
};
};