From 16721087f2538f23f6b41e1051940c8b01bdc58d Mon Sep 17 00:00:00 2001 From: Alexey Lunin <alexey.lunin0@gmail.com> Date: Tue, 19 Feb 2019 05:45:15 +0400 Subject: [PATCH] Pass collabora host url to the VCL initialization --- javascript/src/iframe/viamapi-iframe.js | 5 +++-- javascript/src/iframe/wopiapi-iframe.js | 11 ++++++----- javascript/src/viamapi-client.js | 9 +++++++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 981fa97..14ddb01 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1589,9 +1589,10 @@ function getCertificateForPassport(passportUUID, internal) { const connection = Penpal.connectToParent({ // Methods child is exposing to parent methods: { - initialize: (apiUrl, wopiUrl) => { + initialize: (apiUrl, wopiUrl, collaboraUrl) => { window.API_HOST = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/"; - window.WOPI_URL = `${wopiUrl.charAt(wopiUrl.length - 1) === "/" ? wopiUrl : wopiUrl + "/"}getPassports`; + window.WOPI_URL = wopiUrl.charAt(wopiUrl.length - 1) === "/" ? wopiUrl : wopiUrl + "/"; + window.COLLABORA_URL = collaboraUrl.charAt(collaboraUrl.length - 1) === "/" ? collaboraUrl : collaboraUrl + "/"; }, createIdentity(pinCode) { return new Penpal.Promise(result => { diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js index 6fcbaac..8d5b72a 100644 --- a/javascript/src/iframe/wopiapi-iframe.js +++ b/javascript/src/iframe/wopiapi-iframe.js @@ -3,14 +3,15 @@ const axios = require('axios'); function WopiAPI() {} WopiAPI.prototype.getPassports = function (fileID) { + const { publicKey, uuid, token, deviceHash } = window.viamApi.getConfig().headers; const requestConfig = { - url: window.WOPI_URL, + url: `${window.WOPI_URL}getPassports`, method: 'POST', headers: { - publicKey: window.viamApi.getConfig().headers.publicKey, - uuid: window.viamApi.getConfig().headers.uuid, - token: window.viamApi.getConfig().headers.token, - deviceHash: window.viamApi.getConfig().headers.deviceHash, + publicKey, + uuid, + token, + deviceHash, fileID } }; diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js index 7cea9b1..7c9fea3 100644 --- a/javascript/src/viamapi-client.js +++ b/javascript/src/viamapi-client.js @@ -9,7 +9,7 @@ const Penpal = require('penpal').default; * @param wopiUrl - WOPI URL used to acces WopiAPI * @returns {*} */ -function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiUrl) { +function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiUrl, collaboraUrl) { if (!apiUrl) { apiUrl = `${window.location.origin}/api/`; console.warn(`API host URL not specified. Fall back to ${apiUrl}`); // eslint-disable-line no-console @@ -25,6 +25,11 @@ function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiUrl) { console.warn(`Iframe URL not specified. Fall back to ${iframeUrl}`); // eslint-disable-line no-console } + if (!collaboraUrl) { + collaboraUrl = window.location.origin; + console.warn(`Collabora host URL not specified. Fall back to ${collaboraUrl}`); // eslint-disable-line no-console + } + const connection = Penpal.connectToChild({ // URL of page to load into iframe. url: iframeUrl, @@ -35,7 +40,7 @@ function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiUrl) { }); return connection.promise - .then((child) => child.initialize(apiUrl, wopiUrl).then(() => child)); + .then((child) => child.initialize(apiUrl, wopiUrl, collaboraUrl).then(() => child)); } window.setupViamAPI = setupViamAPI; -- GitLab