const Penpal = require('penpal').default; /** * Sets up interaction with Vereign Restful API * @param divId - target container to append iframe via Penpal * @param methods - list of methods to be used in iframe * @param iframeUrl - iframe URL to connect * @param apiUrl - API URL used to access API endpoints * @param wopiUrl - WOPI URL used to acces WopiAPI * @returns {*} */ function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiUrl, collaboraUrl) { if (!iframeUrl) { iframeUrl = `${window.location.origin}/vcl/js/iframe`; console.warn(`Iframe URL not specified. Fall back to ${iframeUrl}`); // eslint-disable-line no-console } const connection = Penpal.connectToChild({ // URL of page to load into iframe. url: iframeUrl, // Container to which the iframe should be appended. appendTo: document.getElementById(divId), // Methods parent is exposing to child methods }); return connection.promise .then((child) => child.initialize(apiUrl, wopiUrl, collaboraUrl).then(() => child)); } window.setupViamAPI = setupViamAPI;