Wide Angle plugin with working sample

This commit is contained in:
Jarek Rozanski 2023-03-10 21:02:26 +00:00
parent 8e400e1b62
commit 627d04c1a7
18 changed files with 1524 additions and 9 deletions

View file

@ -1,3 +1,3 @@
import WideAngle from './wideangle.js';
import { initWideAngle } from './wideangle.js';
export default WideAngle;
export { initWideAngle };

View file

@ -1 +1,31 @@
export default {}
function getScriptLink(settings) {
return `https://${settings.domain}/script/${settings.siteId}.js`;
}
function loadScript(settings) {
return new Promise(function(resolve, failure) {
const script = document.createElement('script');
script.src = getScriptLink(settings);
script.dataset.waaLateInit = true;
script.async = true;
script.onload = resolve;
script.onerror = failure;
document.head.appendChild(script);
});
}
async function initWideAngle(settings) {
if(document === undefined) {
throw Error("Wide Angle Analytics Plugin can be only used in the Browser");
}
try {
await loadScript(settings);
return waaCreate(settings);
} catch (e) {
console.error(`Failed to load Wide Angle script from ${getScriptLink(settings)}`)
throw e;
}
}
export { initWideAngle }