diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 442a825db25a213b699d40a100c81ff2e70d1825..10982b2b4f21846a525c03570ab9632e1ef271e2 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1484,6 +1484,9 @@ function getCertificateForPassport(passportUUID, internal) { const connection = Penpal.connectToParent({ // Methods child is exposing to parent methods: { + initializeApiHost: (apiUrl) => { + window.API_HOST = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/"; + }, createIdentity(pinCode) { return new Penpal.Promise(result => { createPassportCertificate(makeid()).then(function(keys){ @@ -1507,7 +1510,7 @@ const connection = Penpal.connectToParent({ "code" : "200", "status" : "Identity created" }) - }); + }).catch(console.error); }) }, listIdentities() { @@ -2158,11 +2161,6 @@ const connection = Penpal.connectToParent({ connection.promise.then(async parent => { var identities = localStorage.getItem("identities") - let apiUrl = await parent.getApiUrl(); - apiUrl = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/"; - - window.API_HOST = apiUrl; - console.log("Library loaded at: " + new Date().toISOString()) if (identities === "" || identities === null) { diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js index 69d1eb3b9481ba07014bca7a4132ae6e7301ba34..bb40ca79c9872883b0b39e357c6f6db34c5e205f 100644 --- a/javascript/src/viamapi-client.js +++ b/javascript/src/viamapi-client.js @@ -8,7 +8,7 @@ const Penpal = require('penpal').default; * @param apiUrl - API URL used to access API endpoints * @returns {*} */ -function setupViamAPI(divId, methods, iframeUrl, apiUrl) { +async function setupViamAPI(divId, methods, iframeUrl, apiUrl) { if (!apiUrl) { return Promise.reject('API Host not specified.') } @@ -19,13 +19,13 @@ function setupViamAPI(divId, methods, iframeUrl, apiUrl) { // Container to which the iframe should be appended. appendTo: document.getElementById(divId), // Methods parent is exposing to child - methods: { - ...methods, - getApiUrl: () => apiUrl - } + methods }); - return connection.promise + const child = await connection.promise; + await child.initializeApiHost(apiUrl); + + return child; } window.setupViamAPI = setupViamAPI;