@careevolution/mydatahelps-js 2.0.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/MyDataHelps.css +147 -147
- package/MyDataHelps.js +690 -631
- package/MyDataHelps.min.js +2 -1
- package/MyDataHelps.min.js.map +1 -1
- package/README.md +10 -10
- package/package.json +26 -24
package/MyDataHelps.min.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
var MyDataHelps={};var RKStudioClient={};(function(){var accessTokenRenewalBufferSeconds=120;var currentMessageID=1;var messageHandlers=[];var registeredEventHandlers={};var apiBasePath="api/v1/delegated/";function getParentOrigin(){var ancestorOrigins=document.location.ancestorOrigins;if(ancestorOrigins&&ancestorOrigins[0]){return ancestorOrigins[0]}return"*"}function acceptableOrigin(origin){if(origin==="*")return true;var allowedApplicationHosts=["localhost","careevolution.com","internal","b3-deploys.com","mydatahelps.org","platform.joinallofus.org","careevolution.dev","ce.dev"];var sourceURL=new URL(origin);for(var k=0;k<allowedApplicationHosts.length;k++){if(sourceURL.hostname===allowedApplicationHosts[k]||sourceURL.hostname.endsWith("."+allowedApplicationHosts[k])){return true}}return false}var applicationHost=getParentOrigin();if(!acceptableOrigin(applicationHost)){console.error("Application is not hosted at an approved origin.");throw"Application is not hosted at an approved origin."}var supportedActions;if(window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.ResearchKit){supportedActions={GetDelegatedAccessToken:function(data){window.parent.postMessage({name:"GetDelegatedAccessToken",messageID:data.messageID},applicationHost)},GetDeviceInfo:function(data){window.parent.postMessage({name:"GetDeviceInfo",messageID:data.messageID},applicationHost)}}}else{supportedActions={GetDelegatedAccessToken:function(data){window.parent.postMessage({name:"GetDelegatedAccessToken",messageID:data.messageID},applicationHost)},GetDeviceInfo:function(data){window.parent.postMessage({name:"GetDeviceInfo",messageID:data.messageID},applicationHost)},StartParticipantSurvey:function(data){window.parent.postMessage({name:"StartParticipantSurvey",messageID:data.messageID,surveyName:data.surveyName},applicationHost)},OpenExternalLink:function(data){window.parent.postMessage({name:"OpenExternalUrl",url:data},applicationHost)},OpenEmbeddedLink:function(data){window.parent.postMessage({name:"OpenEmbeddedUrl",url:data},applicationHost)},OpenExternalApplication:function(data){window.parent.postMessage({name:"OpenApplication",messageID:data.messageID,url:data.url,modal:data.modal},applicationHost)},Dismiss:function(){window.parent.postMessage({name:"Dismiss"},applicationHost)},PopNavigation:function(){window.parent.postMessage({name:"Back"},applicationHost)},ShowTab:function(data){window.parent.postMessage({name:"ShowTab",tabKey:data},applicationHost)},ShowParticipantDashboard:function(data){window.parent.postMessage({name:"ShowParticipantDashboard",dashboardKey:data.dashboardKey,modal:data.modal},applicationHost)},ShowParticipantWebVisualization:function(data){window.parent.postMessage({name:"ShowParticipantWebVisualization",visualizationKey:data.visualizationKey,parameters:data.parameters,modal:data.modal},applicationHost)},ShowParticipantWebVisualizationPDF:function(data){window.parent.postMessage({name:"ShowParticipantWebVisualizationPDF",visualizationKey:data.visualizationKey,parameters:data.parameters,modal:data.modal,landscape:data.landscape,htmlViewerZoom:data.htmlViewerZoom},applicationHost)},DeleteProviderAccount:function(data){window.parent.postMessage({name:"DeleteProviderAccount",messageID:data.messageID,accountID:data.accountID},applicationHost)},ConnectExternalAccount:function(data){window.parent.postMessage({name:"ConnectExternalAccount",externalAccountProviderID:data.externalAccountProviderID},applicationHost)},ShowProject:function(data){window.parent.postMessage({name:"ShowProject",code:data.code},applicationHost)},JoinProject:function(data){window.parent.postMessage({name:"JoinProject",code:data.code},applicationHost)}}}var unsupportedActions=["SetHeight","ResearchKit"];var supportedEvents=["surveyDidFinish","applicationDidBecomeVisible","tokenWillExpire"];function windowHasAnyActions(){for(var action in supportedActions){if(window.webkit.messageHandlers[action]){return true}}for(var action in unsupportedActions){if(window.webkit.messageHandlers[unsupportedActions[action]]){return true}}return false}if(!window.webkit||!window.webkit.messageHandlers||!windowHasAnyActions()){window.webkit={messageHandlers:{}}}for(var action in supportedActions){window.webkit.messageHandlers[action]=window.webkit.messageHandlers[action]||{postMessage:supportedActions[action]}}var nextMessageID=function(){return currentMessageID++};function validateWindowMessageOrigin(message){if(applicationHost==="*"){return acceptableOrigin(message.origin)}return message.origin===applicationHost}var receiveWindowMessage=function(message){if(!validateWindowMessageOrigin(message)){console.error("message.origin '"+message.origin+"' is not allowed.");throw"message.origin '"+message.origin+"' is not allowed."}if(message.data.messageID){MyDataHelps.setActionResult(message.data)}else{MyDataHelps.triggerEvent(message.data)}};window.addEventListener("message",receiveWindowMessage,false);MyDataHelps.setActionResult=function(data){messageHandlers[data.messageID](data)};RKStudioClient.setActionResult=function(data){MyDataHelps.setActionResult(data)};MyDataHelps.triggerEvent=function(event){var eventName=event.type;if(supportedEvents.includes(eventName)&®isteredEventHandlers[eventName]){registeredEventHandlers[eventName].forEach(function(handler){handler(event)})}};var refreshTokenPromise=null;MyDataHelps.connect=function(){var refreshDelegatedAccessToken=function(){MyDataHelps.token=null;refreshTokenPromise=new Promise(function(resolve,reject){var messageID=nextMessageID();messageHandlers[messageID]=function(tokenResponse){if(tokenResponse.success){MyDataHelps.tokenExpires=Date.now()+tokenResponse.data.expires_in*1e3;MyDataHelps.token=tokenResponse.data;MyDataHelps.baseUrl=tokenResponse.baseUrl;window.setTimeout(refreshDelegatedAccessToken,(tokenResponse.data.expires_in-accessTokenRenewalBufferSeconds)*1e3);resolve()}else{MyDataHelps.token=null;reject(tokenResponse.message)}messageHandlers[messageID]=null;refreshTokenPromise=null};window.webkit.messageHandlers.GetDelegatedAccessToken.postMessage({messageID:messageID})})};if(MyDataHelps.token&&Date.now()<MyDataHelps.tokenExpires){return Promise.resolve()}if(!refreshTokenPromise){refreshDelegatedAccessToken()}return refreshTokenPromise};MyDataHelps.setParticipantAccessToken=function(token,baseUrl){MyDataHelps.token=token;if(baseUrl){MyDataHelps.baseUrl=baseUrl}MyDataHelps.tokenExpires=Date.now()+token.expires_in*1e3;window.setTimeout(function(){MyDataHelps.triggerEvent({type:"tokenWillExpire"})},(token.expires_in-accessTokenRenewalBufferSeconds)*1e3)};MyDataHelps.completeStep=function(answer){if(answer===undefined||answer===null)answer="";if(window.webkit.messageHandlers.ResearchKit){window.webkit.messageHandlers.ResearchKit.postMessage(answer)}};MyDataHelps.startSurvey=function(surveyName){var messageID=nextMessageID();window.webkit.messageHandlers.StartParticipantSurvey.postMessage({messageID:messageID,surveyName:surveyName})};MyDataHelps.openExternalUrl=function(url){window.webkit.messageHandlers.OpenExternalLink.postMessage(url)};MyDataHelps.openEmbeddedUrl=function(url){window.webkit.messageHandlers.OpenEmbeddedLink.postMessage(url)};MyDataHelps.openApplication=function(url,options){var messageID=nextMessageID();window.webkit.messageHandlers.OpenExternalApplication.postMessage({messageID:messageID,url:url,modal:options&&options.modal?true:false})};MyDataHelps.dismiss=function(){window.webkit.messageHandlers.Dismiss.postMessage({})};MyDataHelps.back=function(){window.webkit.messageHandlers.PopNavigation.postMessage({})};MyDataHelps.showTab=function(tabKey){window.webkit.messageHandlers.ShowTab.postMessage(tabKey)};MyDataHelps.showDashboard=function(dashboardKey,options){window.webkit.messageHandlers.ShowParticipantDashboard.postMessage({dashboardKey:dashboardKey,modal:options&&options.modal?true:false,title:options&&options.title?options.title:undefined})};MyDataHelps.showWebVisualization=function(visualizationKey,parameters,options){window.webkit.messageHandlers.ShowParticipantWebVisualization.postMessage({visualizationKey:visualizationKey,parameters:parameters,modal:options&&options.modal?true:false,title:options&&options.title?options.title:undefined})};MyDataHelps.showWebVisualizationPdf=function(visualizationKey,parameters,options){window.webkit.messageHandlers.ShowParticipantWebVisualizationPDF.postMessage({visualizationKey:visualizationKey,parameters:parameters,landscape:options&&options.landscape?true:false,htmlViewerZoom:options&&options.htmlViewerZoom})};MyDataHelps.setStatusBarStyle=function(style){if(window.webkit.messageHandlers.SetStatusBarStyle){window.webkit.messageHandlers.SetStatusBarStyle.postMessage({style:style})}};MyDataHelps.requestReview=function(cooldownDays){if(window.webkit.messageHandlers.RequestReview){window.webkit.messageHandlers.RequestReview.postMessage({cooldownDays:cooldownDays})}};MyDataHelps.getDeviceInfo=function(){return new Promise(function(resolve,reject){var messageID=nextMessageID();messageHandlers[messageID]=function(deviceInfoResponse){resolve(deviceInfoResponse.data)};if(window.webkit.messageHandlers.GetDeviceInfo){window.webkit.messageHandlers.GetDeviceInfo.postMessage({messageID:messageID})}else{reject()}})};MyDataHelps.deleteExternalAccount=function(accountID){return new Promise(function(resolve,reject){var messageID=nextMessageID();messageHandlers[messageID]=function(deleteProviderAccountResponse){if(!deleteProviderAccountResponse.success){reject(deleteProviderAccountResponse)}else{resolve(deleteProviderAccountResponse)}};if(window.webkit.messageHandlers.DeleteProviderAccount){window.webkit.messageHandlers.DeleteProviderAccount.postMessage({messageID:messageID,accountID:accountID})}else{reject()}})};MyDataHelps.connectExternalAccount=function(externalAccountProviderID){if(window.webkit.messageHandlers.ConnectExternalAccount){window.webkit.messageHandlers.ConnectExternalAccount.postMessage({externalAccountProviderID:externalAccountProviderID})}};MyDataHelps.showProject=function(projectCode){if(window.webkit.messageHandlers.ShowProject){window.webkit.messageHandlers.ShowProject.postMessage({code:projectCode})}};MyDataHelps.joinProject=function(projectCode){if(window.webkit.messageHandlers.JoinProject){window.webkit.messageHandlers.JoinProject.postMessage({code:projectCode})}};MyDataHelps.getCurrentLanguage=function(){var searchParams=new URLSearchParams(window.location.search);if(searchParams.has("lang")){return searchParams.get("lang")}else{return navigator.language}};MyDataHelps.on=function(eventName,eventHandler){if(!supportedEvents.includes(eventName)){throw new Error(eventName+" is not a supported event type.")}if(!registeredEventHandlers[eventName]){registeredEventHandlers[eventName]=[]}registeredEventHandlers[eventName].push(eventHandler)};var makeUrl=function(endpoint){if(!MyDataHelps.baseUrl){console.error("Cannot use makeUrl without MyDataHelps.baseUrl.");throw"Cannot use makeUrl without MyDataHelps.baseUrl."}return MyDataHelps.baseUrl+apiBasePath+endpoint};var makeRequest=function(endpoint,method,body){if(!MyDataHelps.token||!MyDataHelps.token.access_token){throw"No access_token available for request authorization."}var url=makeUrl(endpoint);var headers=new Headers;headers.append("Authorization","Bearer "+MyDataHelps.token.access_token);headers.append("Accept","application/json, text/javascript, */*; q=0.01");headers.append("Accept-Language",MyDataHelps.getCurrentLanguage());if(!!body){headers.append("Content-Type","application/json")}var init={method:method,headers:headers};if(!!body){init.body=JSON.stringify(body)}return fetch(url,init)};var validateResponse=function(response){if(!response.ok){throw response.statusText}return response};var escapeParam=function(param){return String(param).replace("\\","\\\\").replace(",","\\,")};var reduceArrayAndEscape=function(param){if(Array.isArray(param)){var escapedParams=param.map(function(elem){return escapeParam(elem)});return escapedParams.join(",")}return escapeParam(param)};var convertDateToIsoString=function(date){var paramAsDate=new Date(date);if(isNaN(paramAsDate.getTime())){throw"Cannot interpret parameter as Date"}return paramAsDate.toISOString()};MyDataHelps.getParticipantInfo=function(){var endpoint="participant";return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"GET",null)}).then(function(response){return validateResponse(response)}).then(function(response){return response.json()})};MyDataHelps.querySurveyAnswers=function(queryParameters){if(queryParameters.hasOwnProperty("surveyName")){queryParameters.surveyName=reduceArrayAndEscape(queryParameters.surveyName)}if(queryParameters.hasOwnProperty("stepIdentifier")){queryParameters.stepIdentifier=reduceArrayAndEscape(queryParameters.stepIdentifier)}if(queryParameters.hasOwnProperty("resultIdentifier")){queryParameters.resultIdentifier=reduceArrayAndEscape(queryParameters.resultIdentifier)}if(queryParameters.hasOwnProperty("answer")){queryParameters.answer=reduceArrayAndEscape(queryParameters.answer)}if(queryParameters.hasOwnProperty("before")){queryParameters.before=convertDateToIsoString(queryParameters.before)}if(queryParameters.hasOwnProperty("after")){queryParameters.after=convertDateToIsoString(queryParameters.after)}var queryString=new URLSearchParams(queryParameters).toString();var endpoint="surveyanswers?"+queryString;return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"GET",null)}).then(function(response){return validateResponse(response)}).then(function(response){return response.json()})};MyDataHelps.deleteSurveyResult=function(resultID){var endpoint="surveyresults/"+encodeURIComponent(resultID);return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"DELETE",null)}).then(function(response){return validateResponse(response)}).then(function(response){return})};MyDataHelps.queryDeviceData=function(queryParameters){if(queryParameters.hasOwnProperty("type")){queryParameters.type=reduceArrayAndEscape(queryParameters.type)}if(queryParameters.hasOwnProperty("observedBefore")){queryParameters.observedBefore=convertDateToIsoString(queryParameters.observedBefore)}if(queryParameters.hasOwnProperty("observedAfter")){queryParameters.observedAfter=convertDateToIsoString(queryParameters.observedAfter)}var queryString=new URLSearchParams(queryParameters).toString();var endpoint="devicedata?"+queryString;return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"GET",null)}).then(function(response){return validateResponse(response)}).then(function(response){return response.json()})};MyDataHelps.persistDeviceData=function(deviceDataPoints){var endpoint="devicedata";return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"POST",deviceDataPoints)}).then(function(response){return validateResponse(response)}).then(function(response){return})};MyDataHelps.querySurveyTasks=function(queryParameters){if(queryParameters.hasOwnProperty("status")){queryParameters.status=reduceArrayAndEscape(queryParameters.status)}if(queryParameters.hasOwnProperty("surveyName")){queryParameters.surveyName=reduceArrayAndEscape(queryParameters.surveyName)}var queryString=new URLSearchParams(queryParameters).toString();var endpoint="surveytasks?"+queryString;return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"GET",null)}).then(function(response){return validateResponse(response)}).then(function(response){return response.json()})};MyDataHelps.queryNotifications=function(queryParameters){if(queryParameters.hasOwnProperty("sentBefore")){queryParameters.sentBefore=convertDateToIsoString(queryParameters.sentBefore)}if(queryParameters.hasOwnProperty("sentAfter")){queryParameters.sentAfter=convertDateToIsoString(queryParameters.sentAfter)}var queryString=new URLSearchParams(queryParameters).toString();var endpoint="notifications?"+queryString;return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"GET",null)}).then(function(response){return validateResponse(response)}).then(function(response){return response.json()})};MyDataHelps.getExternalAccountProviders=function(search,category){var searchParameters={};if(!!search)searchParameters.search=search;if(!!category)searchParameters.category=category;var queryString=new URLSearchParams(searchParameters).toString();var endpoint="externalaccountproviders?"+queryString;return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"GET",null)}).then(function(response){return validateResponse(response)}).then(function(response){return response.json()})};MyDataHelps.getExternalAccounts=function(){var endpoint="externalaccounts";return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"GET",null)}).then(function(response){return validateResponse(response)}).then(function(response){return response.json()})};MyDataHelps.refreshExternalAccount=function(accountId){var endpoint="externalaccounts/refresh/"+accountId;return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"POST",null)}).then(function(response){return validateResponse(response)}).then(function(response){return})};function getBaseUrl(){return MyDataHelps.baseUrl||"https://mydatahelps.org/"}MyDataHelps.startEmbeddedSurvey=function(linkIdentifier,surveyName,language){if(!language){language=this.getCurrentLanguage()}var surveyUrl=getBaseUrl()+"mydatahelps/"+linkIdentifier+"/surveylink/"+surveyName+"?lang="+language;return startEmbeddedSurvey(surveyUrl)};MyDataHelps.startEmbeddedTask=function(linkIdentifier,taskLinkIdentifier,language){if(!language){language=this.getCurrentLanguage()}var surveyUrl=getBaseUrl()+"mydatahelps/"+linkIdentifier+"/tasklink/"+taskLinkIdentifier+"?lang="+language;return startEmbeddedSurvey(surveyUrl)};function startEmbeddedSurvey(surveyUrl){var mdhSurveyModalId="mydatahelps-survey-modal";return new Promise(function(resolve,reject){if(document.getElementById(mdhSurveyModalId)){reject("Survey already in progress");return}window.addEventListener("message",function listener(message){if(message.origin!==new URL(getBaseUrl()).origin){return}var frame=document.getElementById("mydatahelps-survey-frame").contentWindow;if(message.source!==frame){return}if(message.data.name=="SurveyWindowInitialized"){document.getElementById(mdhSurveyModalId).className+=" loaded"}else if(message.data.name=="SurveyFinished"){document.getElementById(mdhSurveyModalId).remove();document.body.className=document.body.className.replace("no-scroll","");window.removeEventListener("message",listener,true);resolve(message.data)}},true);var surveyModal=document.createElement("div");surveyModal.className="mydatahelps-survey-modal";surveyModal.id=mdhSurveyModalId;surveyModal.innerHTML="<div class='mydatahelps-survey'><div class='loader'>Loading...</div><iframe id='mydatahelps-survey-frame' allow='camera' sandbox='allow-modals allow-popups allow-popups-to-escape-sandbox allow-presentation allow-same-origin allow-scripts' src='"+surveyUrl+"'></iframe></div>";document.body.append(surveyModal);document.body.className+=" no-scroll"})}})();
|
|
1
|
+
var e={},n={},t=1,a=[],o={};function r(e){if("*"===e)return!0;for(var n=["localhost","careevolution.com","internal","b3-deploys.com","mydatahelps.org","platform.joinallofus.org","careevolution.dev","ce.dev"],t=new URL(e),a=0;a<n.length;a++)if(t.hostname===n[a]||t.hostname.endsWith("."+n[a]))return!0;return!1}var s,i,c=(s=document.location.ancestorOrigins)&&s[0]?s[0]:"*";if(!r(c))throw console.error("Application is not hosted at an approved origin."),"Application is not hosted at an approved origin.";i=window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.ResearchKit?{GetDelegatedAccessToken:function(e){window.parent.postMessage({name:"GetDelegatedAccessToken",messageID:e.messageID},c)},GetDeviceInfo:function(e){window.parent.postMessage({name:"GetDeviceInfo",messageID:e.messageID},c)}}:{GetDelegatedAccessToken:function(e){window.parent.postMessage({name:"GetDelegatedAccessToken",messageID:e.messageID},c)},GetDeviceInfo:function(e){window.parent.postMessage({name:"GetDeviceInfo",messageID:e.messageID},c)},StartParticipantSurvey:function(e){window.parent.postMessage({name:"StartParticipantSurvey",messageID:e.messageID,surveyName:e.surveyName},c)},OpenExternalLink:function(e){window.parent.postMessage({name:"OpenExternalUrl",url:e},c)},OpenEmbeddedLink:function(e){window.parent.postMessage({name:"OpenEmbeddedUrl",url:e},c)},OpenExternalApplication:function(e){window.parent.postMessage({name:"OpenApplication",messageID:e.messageID,url:e.url,modal:e.modal},c)},Dismiss:function(){window.parent.postMessage({name:"Dismiss"},c)},PopNavigation:function(){window.parent.postMessage({name:"Back"},c)},ShowTab:function(e){window.parent.postMessage({name:"ShowTab",tabKey:e},c)},ShowParticipantDashboard:function(e){window.parent.postMessage({name:"ShowParticipantDashboard",dashboardKey:e.dashboardKey,modal:e.modal},c)},ShowParticipantWebVisualization:function(e){window.parent.postMessage({name:"ShowParticipantWebVisualization",visualizationKey:e.visualizationKey,parameters:e.parameters,modal:e.modal},c)},ShowParticipantWebVisualizationPDF:function(e){window.parent.postMessage({name:"ShowParticipantWebVisualizationPDF",visualizationKey:e.visualizationKey,parameters:e.parameters,modal:e.modal,landscape:e.landscape,htmlViewerZoom:e.htmlViewerZoom},c)},DeleteProviderAccount:function(e){window.parent.postMessage({name:"DeleteProviderAccount",messageID:e.messageID,accountID:e.accountID},c)},ConnectExternalAccount:function(e){window.parent.postMessage({name:"ConnectExternalAccount",externalAccountProviderID:e.externalAccountProviderID},c)},ShowProject:function(e){window.parent.postMessage({name:"ShowProject",code:e.code},c)},JoinProject:function(e){window.parent.postMessage({name:"JoinProject",code:e.code},c)}};var u=["SetHeight","ResearchKit"],l=["surveyDidFinish","applicationDidBecomeVisible","externalAccountSyncComplete","tokenWillExpire"];for(var d in window.webkit&&window.webkit.messageHandlers&&function(){for(var e in i)if(window.webkit.messageHandlers[e])return!0;for(var e in u)if(window.webkit.messageHandlers[u[e]])return!0;return!1}()||(window.webkit={messageHandlers:{}}),i)window.webkit.messageHandlers[d]=window.webkit.messageHandlers[d]||{postMessage:i[d]};var w=function(){return t++};window.addEventListener("message",(function(n){if(!function(e){return"*"===c?r(e.origin):e.origin===c}(n))throw console.error("message.origin '"+n.origin+"' is not allowed."),"message.origin '"+n.origin+"' is not allowed.";n.data.messageID?e.setActionResult(n.data):e.triggerEvent(n.data)}),!1),e.setActionResult=function(e){a[e.messageID](e)},n.setActionResult=function(n){e.setActionResult(n)},e.triggerEvent=function(e){var n=e.type;l.includes(n)&&o[n]&&o[n].forEach((function(n){n(e)}))};var p=null;e.connect=function(){var n=function(){e.token=null,p=new Promise((function(t,o){var r=w();a[r]=function(s){s.success?(e.tokenExpires=Date.now()+1e3*s.data.expires_in,e.token=s.data,e.baseUrl=s.baseUrl,window.setTimeout(n,1e3*(s.data.expires_in-120)),t()):(e.token=null,o(s.message)),a[r]=null,p=null},window.webkit.messageHandlers.GetDelegatedAccessToken.postMessage({messageID:r})}))};return e.token&&Date.now()<e.tokenExpires?Promise.resolve():(p||n(),p)},e.setParticipantAccessToken=function(n,t){e.token=n,t&&(e.baseUrl=t),e.tokenExpires=Date.now()+1e3*n.expires_in,window.setTimeout((function(){e.triggerEvent({type:"tokenWillExpire"})}),1e3*(n.expires_in-120))},e.completeStep=function(e){null==e&&(e=""),window.webkit.messageHandlers.ResearchKit&&window.webkit.messageHandlers.ResearchKit.postMessage(e)},e.startSurvey=function(e){var n=w();window.webkit.messageHandlers.StartParticipantSurvey.postMessage({messageID:n,surveyName:e})},e.openExternalUrl=function(e){window.webkit.messageHandlers.OpenExternalLink.postMessage(e)},e.openEmbeddedUrl=function(e){window.webkit.messageHandlers.OpenEmbeddedLink.postMessage(e)},e.openApplication=function(e,n){var t=w();window.webkit.messageHandlers.OpenExternalApplication.postMessage({messageID:t,url:e,modal:!(!n||!n.modal)})},e.dismiss=function(){window.webkit.messageHandlers.Dismiss.postMessage({})},e.back=function(){window.webkit.messageHandlers.PopNavigation.postMessage({})},e.showTab=function(e){window.webkit.messageHandlers.ShowTab.postMessage(e)},e.showDashboard=function(e,n){window.webkit.messageHandlers.ShowParticipantDashboard.postMessage({dashboardKey:e,modal:!(!n||!n.modal),title:n&&n.title?n.title:void 0})},e.showWebVisualization=function(e,n,t){window.webkit.messageHandlers.ShowParticipantWebVisualization.postMessage({visualizationKey:e,parameters:n,modal:!(!t||!t.modal),title:t&&t.title?t.title:void 0})},e.showWebVisualizationPdf=function(e,n,t){window.webkit.messageHandlers.ShowParticipantWebVisualizationPDF.postMessage({visualizationKey:e,parameters:n,landscape:!(!t||!t.landscape),htmlViewerZoom:t&&t.htmlViewerZoom})},e.setStatusBarStyle=function(e){window.webkit.messageHandlers.SetStatusBarStyle&&window.webkit.messageHandlers.SetStatusBarStyle.postMessage({style:e})},e.requestReview=function(e){window.webkit.messageHandlers.RequestReview&&window.webkit.messageHandlers.RequestReview.postMessage({cooldownDays:e})},e.getDeviceInfo=function(){return new Promise((function(e,n){var t=w();a[t]=function(n){e(n.data)},window.webkit.messageHandlers.GetDeviceInfo?window.webkit.messageHandlers.GetDeviceInfo.postMessage({messageID:t}):n()}))},e.deleteExternalAccount=function(e){return new Promise((function(n,t){var o=w();a[o]=function(e){e.success?n(e):t(e)},window.webkit.messageHandlers.DeleteProviderAccount?window.webkit.messageHandlers.DeleteProviderAccount.postMessage({messageID:o,accountID:e}):t()}))},e.connectExternalAccount=function(e){window.webkit.messageHandlers.ConnectExternalAccount&&window.webkit.messageHandlers.ConnectExternalAccount.postMessage({externalAccountProviderID:e})},e.showProject=function(e){window.webkit.messageHandlers.ShowProject&&window.webkit.messageHandlers.ShowProject.postMessage({code:e})},e.joinProject=function(e){window.webkit.messageHandlers.JoinProject&&window.webkit.messageHandlers.JoinProject.postMessage({code:e})},e.getCurrentLanguage=function(){var e=new URLSearchParams(window.location.search);return e.has("lang")?e.get("lang"):navigator.language},e.showGoogleFitSettings=function(){window.webkit.messageHandlers.ShowGoogleFitSettings&&window.webkit.messageHandlers.ShowGoogleFitSettings.postMessage({})},e.on=function(e,n){if(!l.includes(e))throw new Error(e+" is not a supported event type.");o[e]||(o[e]=[]),o[e].push(n)},e.off=function(e,n){if(!l.includes(e))throw new Error(e+" is not a supported event type.");if(o[e]){var t=o[e].indexOf(n);-1!==t&&o[e].splice(t,1)}};var m=function(n,t,a){if(!e.token||!e.token.access_token)throw"No access_token available for request authorization.";var o=function(n){if(!e.baseUrl)throw console.error("Cannot use makeUrl without MyDataHelps.baseUrl."),"Cannot use makeUrl without MyDataHelps.baseUrl.";return e.baseUrl+"api/v1/delegated/"+n}(n),r=new Headers;r.append("Authorization","Bearer "+e.token.access_token),r.append("Accept","application/json, text/javascript, */*; q=0.01"),r.append("Accept-Language",e.getCurrentLanguage()),a&&r.append("Content-Type","application/json");var s={method:t,headers:r};return a&&(s.body=JSON.stringify(a)),fetch(o,s)},f=function(e){if(!e.ok)throw e.statusText;return e},g=function(e){return String(e).replace("\\","\\\\").replace(",","\\,")},h=function(e){return Array.isArray(e)?e.map((function(e){return g(e)})).join(","):g(e)},v=function(e){var n=new Date(e);if(isNaN(n.getTime()))throw"Cannot interpret parameter as Date";return n.toISOString()};function y(){return e.baseUrl||"https://mydatahelps.org/"}function b(e){var n="mydatahelps-survey-modal";return new Promise((function(t,a){if(document.getElementById(n))a("Survey already in progress");else{window.addEventListener("message",(function e(a){if(a.origin===new URL(y()).origin){var o=document.getElementById("mydatahelps-survey-frame").contentWindow;a.source===o&&("SurveyWindowInitialized"==a.data.name?document.getElementById(n).className+=" loaded":"SurveyFinished"==a.data.name&&(document.getElementById(n).remove(),document.body.className=document.body.className.replace("no-scroll",""),window.removeEventListener("message",e,!0),t(a.data)))}}),!0);var o=document.createElement("div");o.className="mydatahelps-survey-modal",o.id=n,o.innerHTML="<div class='mydatahelps-survey'><div class='loader'>Loading...</div><iframe id='mydatahelps-survey-frame' allow='camera' sandbox='allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-presentation allow-same-origin allow-scripts' src='"+e+"'></iframe></div>",document.body.append(o),document.body.className+=" no-scroll"}}))}e.getParticipantInfo=function(){return e.connect().then((function(){return m("participant","GET",null)})).then((function(e){return f(e)})).then((function(e){return e.json()}))},e.querySurveyAnswers=function(n){n.hasOwnProperty("surveyName")&&(n.surveyName=h(n.surveyName)),n.hasOwnProperty("stepIdentifier")&&(n.stepIdentifier=h(n.stepIdentifier)),n.hasOwnProperty("resultIdentifier")&&(n.resultIdentifier=h(n.resultIdentifier)),n.hasOwnProperty("answer")&&(n.answer=h(n.answer)),n.hasOwnProperty("before")&&(n.before=v(n.before)),n.hasOwnProperty("after")&&(n.after=v(n.after));var t="surveyanswers?"+new URLSearchParams(n).toString();return e.connect().then((function(){return m(t,"GET",null)})).then((function(e){return f(e)})).then((function(e){return e.json()}))},e.deleteSurveyResult=function(n){var t="surveyresults/"+encodeURIComponent(n);return e.connect().then((function(){return m(t,"DELETE",null)})).then((function(e){return f(e)})).then((function(e){}))},e.queryDeviceData=function(n){n.hasOwnProperty("type")&&(n.type=h(n.type)),n.hasOwnProperty("observedBefore")&&(n.observedBefore=v(n.observedBefore)),n.hasOwnProperty("observedAfter")&&(n.observedAfter=v(n.observedAfter));var t="devicedata?"+new URLSearchParams(n).toString();return e.connect().then((function(){return m(t,"GET",null)})).then((function(e){return f(e)})).then((function(e){return e.json()}))},e.persistDeviceData=function(n){return e.connect().then((function(){return m("devicedata","POST",n)})).then((function(e){return f(e)})).then((function(e){}))},e.trackCustomEvent=function(n){return e.connect().then((function(){return m("customevents","POST",n)})).then((function(e){return f(e)})).then((function(e){}))},e.querySurveyTasks=function(n){n.hasOwnProperty("status")&&(n.status=h(n.status)),n.hasOwnProperty("surveyName")&&(n.surveyName=h(n.surveyName));var t="surveytasks?"+new URLSearchParams(n).toString();return e.connect().then((function(){return m(t,"GET",null)})).then((function(e){return f(e)})).then((function(e){return e.json()}))},e.queryNotifications=function(n){n.hasOwnProperty("sentBefore")&&(n.sentBefore=v(n.sentBefore)),n.hasOwnProperty("sentAfter")&&(n.sentAfter=v(n.sentAfter));var t="notifications?"+new URLSearchParams(n).toString();return e.connect().then((function(){return m(t,"GET",null)})).then((function(e){return f(e)})).then((function(e){return e.json()}))},e.getExternalAccountProviders=function(n,t,a,o){var r={};n&&(r.search=n),t&&(r.category=t),a&&(r.pageSize=a),o&&(r.pageNumber=o);var s="externalaccountproviders?"+new URLSearchParams(r).toString();return e.connect().then((function(){return m(s,"GET",null)})).then((function(e){return f(e)})).then((function(e){return e.json()}))},e.getExternalAccounts=function(){return e.connect().then((function(){return m("externalaccounts","GET",null)})).then((function(e){return f(e)})).then((function(e){return e.json()}))},e.refreshExternalAccount=function(n){var t="externalaccounts/refresh/"+n;return e.connect().then((function(){return m(t,"POST",null)})).then((function(e){return f(e)})).then((function(e){}))},e.invokeCustomApi=function(n,t,a,o){if(n.includes("?"))throw new Error('Cannot include query parameters directly in the "customApi" string. Provide as an argument for "queryParameters" instead.');var r="custom/"+n;if(t=t.toUpperCase(),null!=a&&("GET"===t||"DELETE"===t)){var s=new URLSearchParams(a).toString();r+="?"+s,a=null}return e.connect().then((function(){return m(r,t,a)})).then((function(e){return f(e)})).then((function(e){return o?e.json():void 0}))},e.startEmbeddedSurvey=function(e,n,t){return t||(t=this.getCurrentLanguage()),b(y()+"mydatahelps/"+e+"/surveylink/"+n+"?lang="+t)},e.startEmbeddedTask=function(e,n,t){return t||(t=this.getCurrentLanguage()),b(y()+"mydatahelps/"+e+"/tasklink/"+n+"?lang="+t)},window.MyDataHelps=e,window.RKStudioClient=n;export{e as default};
|
|
2
|
+
//# sourceMappingURL=MyDataHelps.min.js.map
|
package/MyDataHelps.min.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MyDataHelps.js"],"names":["MyDataHelps","RKStudioClient","accessTokenRenewalBufferSeconds","currentMessageID","messageHandlers","registeredEventHandlers","apiBasePath","getParentOrigin","ancestorOrigins","document","location","acceptableOrigin","origin","allowedApplicationHosts","sourceURL","URL","k","length","hostname","endsWith","applicationHost","console","error","supportedActions","window","webkit","ResearchKit","GetDelegatedAccessToken","data","parent","postMessage","name","messageID","GetDeviceInfo","StartParticipantSurvey","surveyName","OpenExternalLink","url","OpenEmbeddedLink","OpenExternalApplication","modal","Dismiss","PopNavigation","ShowTab","tabKey","ShowParticipantDashboard","dashboardKey","ShowParticipantWebVisualization","visualizationKey","parameters","ShowParticipantWebVisualizationPDF","landscape","htmlViewerZoom","DeleteProviderAccount","accountID","ConnectExternalAccount","externalAccountProviderID","ShowProject","code","JoinProject","unsupportedActions","supportedEvents","windowHasAnyActions","action","nextMessageID","validateWindowMessageOrigin","message","receiveWindowMessage","setActionResult","triggerEvent","addEventListener","event","eventName","type","includes","forEach","handler","refreshTokenPromise","connect","refreshDelegatedAccessToken","token","Promise","resolve","reject","tokenResponse","success","tokenExpires","Date","now","expires_in","baseUrl","setTimeout","setParticipantAccessToken","completeStep","answer","undefined","startSurvey","openExternalUrl","openEmbeddedUrl","openApplication","options","dismiss","back","showTab","showDashboard","title","showWebVisualization","showWebVisualizationPdf","setStatusBarStyle","style","SetStatusBarStyle","requestReview","cooldownDays","RequestReview","getDeviceInfo","deviceInfoResponse","deleteExternalAccount","deleteProviderAccountResponse","connectExternalAccount","showProject","projectCode","joinProject","getCurrentLanguage","searchParams","URLSearchParams","search","has","get","navigator","language","on","eventHandler","Error","push","makeUrl","endpoint","makeRequest","method","body","access_token","headers","Headers","append","init","JSON","stringify","fetch","validateResponse","response","ok","statusText","escapeParam","param","String","replace","reduceArrayAndEscape","Array","isArray","escapedParams","map","elem","join","convertDateToIsoString","date","paramAsDate","isNaN","getTime","toISOString","getParticipantInfo","then","json","querySurveyAnswers","queryParameters","hasOwnProperty","stepIdentifier","resultIdentifier","before","after","queryString","toString","deleteSurveyResult","resultID","encodeURIComponent","queryDeviceData","observedBefore","observedAfter","persistDeviceData","deviceDataPoints","querySurveyTasks","status","queryNotifications","sentBefore","sentAfter","getExternalAccountProviders","category","searchParameters","getExternalAccounts","refreshExternalAccount","accountId","getBaseUrl","startEmbeddedSurvey","linkIdentifier","this","surveyUrl","startEmbeddedTask","taskLinkIdentifier","mdhSurveyModalId","getElementById","listener","frame","contentWindow","source","className","remove","removeEventListener","surveyModal","createElement","id","innerHTML"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MyDataHelps.min.js","sources":["../../MyDataHelps.js"],"sourcesContent":["var MyDataHelps = {};\n// For backwards compatibility\nvar RKStudioClient = {};\n\nvar accessTokenRenewalBufferSeconds = 120;\nvar currentMessageID = 1;\nvar messageHandlers = [];\nvar registeredEventHandlers = {};\nvar apiBasePath = 'api/v1/delegated/';\n\nfunction getParentOrigin() {\n\tvar ancestorOrigins = document.location.ancestorOrigins;\n\tif (ancestorOrigins && ancestorOrigins[0]) {\n\t\treturn ancestorOrigins[0];\n\t}\n\n\treturn '*';\n}\n\nfunction acceptableOrigin(origin) {\n\tif (origin === '*') return true;\n\n\tvar allowedApplicationHosts = [\n\t\t'localhost',\n\t\t'careevolution.com',\n\t\t'internal',\n\t\t'b3-deploys.com',\n\t\t'mydatahelps.org',\n\t\t'platform.joinallofus.org',\n\t\t'careevolution.dev',\n\t\t'ce.dev'\n\t];\n\n\tvar sourceURL = new URL(origin);\n\tfor (var k = 0; k < allowedApplicationHosts.length; k++) {\n\t\tif (sourceURL.hostname === allowedApplicationHosts[k] || sourceURL.hostname.endsWith(\".\" + allowedApplicationHosts[k])) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nvar applicationHost = getParentOrigin();\nif (!acceptableOrigin(applicationHost)) {\n\tconsole.error(\"Application is not hosted at an approved origin.\");\n\tthrow \"Application is not hosted at an approved origin.\";\n}\n\nvar supportedActions;\nif (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.ResearchKit) {\n\tsupportedActions = {\n\t\t\"GetDelegatedAccessToken\": function (data) { window.parent.postMessage({ name: 'GetDelegatedAccessToken', messageID: data.messageID }, applicationHost) },\n\t\t\"GetDeviceInfo\": function (data) { window.parent.postMessage({ name: 'GetDeviceInfo', messageID: data.messageID }, applicationHost) }\n\t};\n}\nelse {\n\tsupportedActions = {\n\t\t\"GetDelegatedAccessToken\": function (data) { window.parent.postMessage({ name: 'GetDelegatedAccessToken', messageID: data.messageID }, applicationHost) },\n\t\t\"GetDeviceInfo\": function (data) { window.parent.postMessage({ name: 'GetDeviceInfo', messageID: data.messageID }, applicationHost) },\n\t\t\"StartParticipantSurvey\": function (data) { window.parent.postMessage({ name: 'StartParticipantSurvey', messageID: data.messageID, surveyName: data.surveyName }, applicationHost) },\n\t\t\"OpenExternalLink\": function (data) { window.parent.postMessage({ name: 'OpenExternalUrl', url: data }, applicationHost) },\n\t\t\"OpenEmbeddedLink\": function (data) { window.parent.postMessage({ name: 'OpenEmbeddedUrl', url: data }, applicationHost) },\n\t\t\"OpenExternalApplication\": function (data) { window.parent.postMessage({ name: 'OpenApplication', messageID: data.messageID, url: data.url, modal: data.modal }, applicationHost) },\n\t\t\"Dismiss\": function () { window.parent.postMessage({ name: 'Dismiss' }, applicationHost) },\n\t\t\"PopNavigation\": function () { window.parent.postMessage({ name: 'Back' }, applicationHost) },\n\t\t\"ShowTab\": function (data) { window.parent.postMessage({ name: 'ShowTab', tabKey: data }, applicationHost) },\n\t\t\"ShowParticipantDashboard\": function (data) { window.parent.postMessage({ name: 'ShowParticipantDashboard', dashboardKey: data.dashboardKey, modal: data.modal }, applicationHost) },\n\t\t\"ShowParticipantWebVisualization\": function (data) { window.parent.postMessage({ name: 'ShowParticipantWebVisualization', visualizationKey: data.visualizationKey, parameters: data.parameters, modal: data.modal }, applicationHost) },\n\t\t\"ShowParticipantWebVisualizationPDF\": function (data) { window.parent.postMessage({ name: 'ShowParticipantWebVisualizationPDF', visualizationKey: data.visualizationKey, parameters: data.parameters, modal: data.modal, landscape: data.landscape, htmlViewerZoom: data.htmlViewerZoom }, applicationHost) },\n\t\t\"DeleteProviderAccount\": function (data) { window.parent.postMessage({ name: 'DeleteProviderAccount', messageID: data.messageID, accountID: data.accountID }, applicationHost) },\n\t\t\"ConnectExternalAccount\": function (data) { window.parent.postMessage({ name: 'ConnectExternalAccount', externalAccountProviderID: data.externalAccountProviderID }, applicationHost) },\n\t\t\"ShowProject\": function (data) { window.parent.postMessage({ name: 'ShowProject', code: data.code }, applicationHost) },\n\t\t\"JoinProject\": function (data) { window.parent.postMessage({ name: 'JoinProject', code: data.code }, applicationHost) }\n\t};\n}\n\nvar unsupportedActions = [\"SetHeight\", \"ResearchKit\"];\n\nvar supportedEvents = [\"surveyDidFinish\", \"applicationDidBecomeVisible\", \"externalAccountSyncComplete\", \"tokenWillExpire\"];\n\nfunction windowHasAnyActions() {\n\tfor (var action in supportedActions) {\n\t\tif (window.webkit.messageHandlers[action]) {\n\t\t\treturn true;\n\t\t}\n\t}\n\tfor (var action in unsupportedActions) {\n\t\tif (window.webkit.messageHandlers[unsupportedActions[action]]) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nif (!window.webkit || !window.webkit.messageHandlers || !windowHasAnyActions()) {\n\twindow.webkit = {\n\t\tmessageHandlers: {}\n\t};\n}\n\nfor (var action in supportedActions) {\n\twindow.webkit.messageHandlers[action] = window.webkit.messageHandlers[action] || { postMessage: supportedActions[action] };\n}\n\nvar nextMessageID = function () {\n\treturn currentMessageID++;\n};\n\nfunction validateWindowMessageOrigin(message) {\n\tif (applicationHost === \"*\") {\n\t\treturn acceptableOrigin(message.origin);\n\t}\n\n\treturn message.origin === applicationHost;\n}\n\nvar receiveWindowMessage = function (message) {\n\tif (!validateWindowMessageOrigin(message)) {\n\t\tconsole.error(\"message.origin '\" + message.origin + \"' is not allowed.\");\n\t\tthrow \"message.origin '\" + message.origin + \"' is not allowed.\";\n\t}\n\n\tif (message.data.messageID) {\n\t\tMyDataHelps.setActionResult(message.data);\n\t}\n\telse {\n\t\tMyDataHelps.triggerEvent(message.data);\n\t}\n};\n\nwindow.addEventListener(\"message\", receiveWindowMessage, false);\n\nMyDataHelps.setActionResult = function (data) {\n\tmessageHandlers[data.messageID](data);\n};\n\nRKStudioClient.setActionResult = function (data) {\n\tMyDataHelps.setActionResult(data);\n};\n\nMyDataHelps.triggerEvent = function (event) {\n\tvar eventName = event.type;\n\tif (supportedEvents.includes(eventName) && registeredEventHandlers[eventName]) {\n\t\tregisteredEventHandlers[eventName].forEach(function (handler) {\n\t\t\thandler(event);\n\t\t});\n\t}\n}\n\n//Authorization\n\nvar refreshTokenPromise = null;\nMyDataHelps.connect = function () {\n\tvar refreshDelegatedAccessToken = function () {\n\t\tMyDataHelps.token = null;\n\n\t\trefreshTokenPromise = new Promise(function (resolve, reject) {\n\t\t\tvar messageID = nextMessageID();\n\t\t\tmessageHandlers[messageID] = function (tokenResponse) {\n\t\t\t\tif (tokenResponse.success) {\n\t\t\t\t\tMyDataHelps.tokenExpires = Date.now() + (tokenResponse.data.expires_in * 1000);\n\t\t\t\t\tMyDataHelps.token = tokenResponse.data;\n\t\t\t\t\tMyDataHelps.baseUrl = tokenResponse.baseUrl;\n\t\t\t\t\twindow.setTimeout(refreshDelegatedAccessToken, ((tokenResponse.data.expires_in - accessTokenRenewalBufferSeconds) * 1000));\n\t\t\t\t\tresolve();\n\t\t\t\t} else {\n\t\t\t\t\tMyDataHelps.token = null;\n\t\t\t\t\treject(tokenResponse.message);\n\t\t\t\t}\n\t\t\t\tmessageHandlers[messageID] = null;\n\t\t\t\trefreshTokenPromise = null;\n\t\t\t};\n\n\t\t\twindow.webkit.messageHandlers.GetDelegatedAccessToken.postMessage({ messageID: messageID });\n\t\t});\n\t};\n\n\tif (MyDataHelps.token && Date.now() < MyDataHelps.tokenExpires) {\n\t\treturn Promise.resolve();\n\t}\n\n\tif (!refreshTokenPromise) {\n\t\trefreshDelegatedAccessToken();\n\t}\n\n\t// Re-use promise if refresh already in progress\n\treturn refreshTokenPromise;\n};\n\n//Initializing access token manually\nMyDataHelps.setParticipantAccessToken = function (token, baseUrl) {\n\tMyDataHelps.token = token;\n\tif (baseUrl) {\n\t\tMyDataHelps.baseUrl = baseUrl;\n\t}\n\tMyDataHelps.tokenExpires = Date.now() + (token.expires_in * 1000);\n\twindow.setTimeout(function () {\n\t\tMyDataHelps.triggerEvent({ type: \"tokenWillExpire\" });\n\t}, ((token.expires_in - accessTokenRenewalBufferSeconds) * 1000));\n};\n\n//Actions\n\nMyDataHelps.completeStep = function (answer) {\n\tif (answer === undefined || answer === null) answer = '';\n\n\tif (window.webkit.messageHandlers.ResearchKit) {\n\t\twindow.webkit.messageHandlers.ResearchKit.postMessage(answer);\n\t}\n}\n\nMyDataHelps.startSurvey = function (surveyName) {\n\tvar messageID = nextMessageID();\n\twindow.webkit.messageHandlers.StartParticipantSurvey.postMessage({ messageID: messageID, surveyName: surveyName });\n};\n\nMyDataHelps.openExternalUrl = function (url) {\n\twindow.webkit.messageHandlers.OpenExternalLink.postMessage(url);\n};\n\nMyDataHelps.openEmbeddedUrl = function (url) {\n\twindow.webkit.messageHandlers.OpenEmbeddedLink.postMessage(url);\n};\n\nMyDataHelps.openApplication = function (url, options) {\n\tvar messageID = nextMessageID();\n\twindow.webkit.messageHandlers.OpenExternalApplication.postMessage({ messageID: messageID, url: url, modal: options && options.modal ? true : false });\n};\n\nMyDataHelps.dismiss = function () {\n\twindow.webkit.messageHandlers.Dismiss.postMessage({});\n};\n\nMyDataHelps.back = function () {\n\twindow.webkit.messageHandlers.PopNavigation.postMessage({});\n};\n\nMyDataHelps.showTab = function (tabKey) {\n\twindow.webkit.messageHandlers.ShowTab.postMessage(tabKey);\n};\n\nMyDataHelps.showDashboard = function (dashboardKey, options) {\n\twindow.webkit.messageHandlers.ShowParticipantDashboard.postMessage({\n\t\tdashboardKey: dashboardKey,\n\t\tmodal: options && options.modal ? true : false,\n\t\ttitle: options && options.title ? options.title : undefined\n\t});\n};\n\nMyDataHelps.showWebVisualization = function (visualizationKey, parameters, options) {\n\twindow.webkit.messageHandlers.ShowParticipantWebVisualization.postMessage({\n\t\tvisualizationKey: visualizationKey,\n\t\tparameters: parameters,\n\t\tmodal: options && options.modal ? true : false,\n\t\ttitle: options && options.title ? options.title : undefined\n\t});\n};\n\nMyDataHelps.showWebVisualizationPdf = function (visualizationKey, parameters, options) {\n\twindow.webkit.messageHandlers.ShowParticipantWebVisualizationPDF.postMessage({\n\t\tvisualizationKey: visualizationKey,\n\t\tparameters: parameters,\n\t\tlandscape: options && options.landscape ? true : false,\n\t\thtmlViewerZoom: options && options.htmlViewerZoom\n\t});\n};\n\nMyDataHelps.setStatusBarStyle = function (style) {\n\tif (window.webkit.messageHandlers.SetStatusBarStyle) {\n\t\twindow.webkit.messageHandlers.SetStatusBarStyle.postMessage({ style: style });\n\t}\n};\n\nMyDataHelps.requestReview = function (cooldownDays) {\n\tif (window.webkit.messageHandlers.RequestReview) {\n\t\twindow.webkit.messageHandlers.RequestReview.postMessage({ cooldownDays: cooldownDays });\n\t}\n};\n\nMyDataHelps.getDeviceInfo = function () {\n\treturn new Promise(function (resolve, reject) {\n\t\tvar messageID = nextMessageID();\n\t\tmessageHandlers[messageID] = function (deviceInfoResponse) {\n\t\t\tresolve(deviceInfoResponse.data);\n\t\t};\n\n\t\tif (window.webkit.messageHandlers.GetDeviceInfo) {\n\t\t\twindow.webkit.messageHandlers.GetDeviceInfo.postMessage({ messageID: messageID });\n\t\t} else {\n\t\t\treject();\n\t\t}\n\t});\n};\n\nMyDataHelps.deleteExternalAccount = function (accountID) {\n\treturn new Promise(function (resolve, reject) {\n\t\tvar messageID = nextMessageID();\n\t\tmessageHandlers[messageID] = function (deleteProviderAccountResponse) {\n\t\t\tif (!deleteProviderAccountResponse.success) {\n\t\t\t\treject(deleteProviderAccountResponse)\n\t\t\t} else {\n\t\t\t\tresolve(deleteProviderAccountResponse);\n\t\t\t}\n\t\t};\n\n\t\tif (window.webkit.messageHandlers.DeleteProviderAccount) {\n\t\t\twindow.webkit.messageHandlers.DeleteProviderAccount.postMessage({ messageID: messageID, accountID: accountID });\n\t\t} else {\n\t\t\treject();\n\t\t}\n\t});\n}\n\nMyDataHelps.connectExternalAccount = function (externalAccountProviderID) {\n\tif (window.webkit.messageHandlers.ConnectExternalAccount) {\n\t\twindow.webkit.messageHandlers.ConnectExternalAccount.postMessage({ externalAccountProviderID: externalAccountProviderID });\n\t}\n}\n\nMyDataHelps.showProject = function (projectCode) {\n\tif (window.webkit.messageHandlers.ShowProject) {\n\t\twindow.webkit.messageHandlers.ShowProject.postMessage({ code: projectCode });\n\t}\n};\n\nMyDataHelps.joinProject = function (projectCode) {\n\tif (window.webkit.messageHandlers.JoinProject) {\n\t\twindow.webkit.messageHandlers.JoinProject.postMessage({ code: projectCode });\n\t}\n};\n\nMyDataHelps.getCurrentLanguage = function () {\n\tvar searchParams = new URLSearchParams(window.location.search);\n\tif (searchParams.has(\"lang\")) {\n\t\treturn searchParams.get(\"lang\");\n\t}\n\telse {\n\t\treturn navigator.language;\n\t}\n};\n\nMyDataHelps.showGoogleFitSettings = function () {\n\tif (window.webkit.messageHandlers.ShowGoogleFitSettings) {\n\t\twindow.webkit.messageHandlers.ShowGoogleFitSettings.postMessage({});\n\t}\n};\n\n//Events\n\nMyDataHelps.on = function (eventName, eventHandler) {\n\n\tif (!supportedEvents.includes(eventName)) {\n\t\tthrow new Error(eventName + \" is not a supported event type.\");\n\t}\n\n\tif (!registeredEventHandlers[eventName]) {\n\t\tregisteredEventHandlers[eventName] = [];\n\t}\n\n\tregisteredEventHandlers[eventName].push(eventHandler);\n};\n\nMyDataHelps.off = function (eventName, eventHandler) {\n\n\tif (!supportedEvents.includes(eventName)) {\n\t\tthrow new Error(eventName + \" is not a supported event type.\");\n\t}\n\n\tif (!registeredEventHandlers[eventName]) return;\n\n\tvar eventHandlerIndex = registeredEventHandlers[eventName].indexOf(eventHandler);\n\n\tif (eventHandlerIndex !== -1) {\n\t\tregisteredEventHandlers[eventName].splice(eventHandlerIndex, 1);\n\t}\n}\n\n//Data\n\nvar makeUrl = function (endpoint) {\n\tif (!MyDataHelps.baseUrl) {\n\t\tconsole.error(\"Cannot use makeUrl without MyDataHelps.baseUrl.\");\n\t\tthrow \"Cannot use makeUrl without MyDataHelps.baseUrl.\";\n\t}\n\n\treturn MyDataHelps.baseUrl + apiBasePath + endpoint;\n}\n\nvar makeRequest = function (endpoint, method, body) {\n\tif (!MyDataHelps.token || !MyDataHelps.token.access_token) {\n\t\tthrow \"No access_token available for request authorization.\";\n\t}\n\n\tvar url = makeUrl(endpoint);\n\n\tvar headers = new Headers();\n\theaders.append('Authorization', 'Bearer ' + MyDataHelps.token.access_token);\n\theaders.append('Accept', 'application/json, text/javascript, */*; q=0.01');\n\theaders.append('Accept-Language', MyDataHelps.getCurrentLanguage());\n\tif (!!body) {\n\t\theaders.append('Content-Type', 'application/json');\n\t}\n\n\tvar init = {\n\t\tmethod: method,\n\t\theaders: headers\n\t};\n\tif (!!body) {\n\t\tinit.body = JSON.stringify(body);\n\t}\n\n\treturn fetch(url, init);\n};\n\nvar validateResponse = function (response) {\n\tif (!response.ok) {\n\t\tthrow response.statusText;\n\t}\n\n\treturn response;\n};\n\nvar escapeParam = function (param) {\n\treturn String(param)\n\t\t.replace(\"\\\\\", \"\\\\\\\\\")\n\t\t.replace(\",\", \"\\\\,\");\n};\n\nvar reduceArrayAndEscape = function (param) {\n\tif (Array.isArray(param)) {\n\t\tvar escapedParams = param.map(function (elem) { return escapeParam(elem); });\n\t\treturn escapedParams.join(\",\");\n\t}\n\n\treturn escapeParam(param);\n};\n\nvar convertDateToIsoString = function (date) {\n\tvar paramAsDate = new Date(date);\n\tif (isNaN(paramAsDate.getTime())) {\n\t\tthrow \"Cannot interpret parameter as Date\";\n\t}\n\n\treturn paramAsDate.toISOString();\n};\n\nMyDataHelps.getParticipantInfo = function () {\n\tvar endpoint = 'participant';\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'GET', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return response.json(); });\n};\n\nMyDataHelps.querySurveyAnswers = function (queryParameters) {\n\tif (queryParameters.hasOwnProperty(\"surveyName\")) {\n\t\tqueryParameters.surveyName = reduceArrayAndEscape(queryParameters.surveyName);\n\t}\n\tif (queryParameters.hasOwnProperty(\"stepIdentifier\")) {\n\t\tqueryParameters.stepIdentifier = reduceArrayAndEscape(queryParameters.stepIdentifier);\n\t}\n\tif (queryParameters.hasOwnProperty(\"resultIdentifier\")) {\n\t\tqueryParameters.resultIdentifier = reduceArrayAndEscape(queryParameters.resultIdentifier);\n\t}\n\tif (queryParameters.hasOwnProperty(\"answer\")) {\n\t\tqueryParameters.answer = reduceArrayAndEscape(queryParameters.answer);\n\t}\n\tif (queryParameters.hasOwnProperty(\"before\")) {\n\t\tqueryParameters.before = convertDateToIsoString(queryParameters.before);\n\t}\n\tif (queryParameters.hasOwnProperty(\"after\")) {\n\t\tqueryParameters.after = convertDateToIsoString(queryParameters.after);\n\t}\n\n\tvar queryString = new URLSearchParams(queryParameters).toString();\n\tvar endpoint = 'surveyanswers?' + queryString;\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'GET', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return response.json(); });\n};\n\nMyDataHelps.deleteSurveyResult = function (resultID) {\n\tvar endpoint = 'surveyresults/' + encodeURIComponent(resultID);\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'DELETE', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return; });\n};\n\nMyDataHelps.queryDeviceData = function (queryParameters) {\n\tif (queryParameters.hasOwnProperty(\"type\")) {\n\t\tqueryParameters.type = reduceArrayAndEscape(queryParameters.type);\n\t}\n\tif (queryParameters.hasOwnProperty(\"observedBefore\")) {\n\t\tqueryParameters.observedBefore = convertDateToIsoString(queryParameters.observedBefore);\n\t}\n\tif (queryParameters.hasOwnProperty(\"observedAfter\")) {\n\t\tqueryParameters.observedAfter = convertDateToIsoString(queryParameters.observedAfter);\n\t}\n\n\tvar queryString = new URLSearchParams(queryParameters).toString();\n\tvar endpoint = 'devicedata?' + queryString;\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'GET', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return response.json(); });\n};\n\nMyDataHelps.persistDeviceData = function (deviceDataPoints) {\n\tvar endpoint = 'devicedata';\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'POST', deviceDataPoints); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return; });\n};\n\nMyDataHelps.trackCustomEvent = function (event) {\n\tvar endpoint = 'customevents';\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'POST', event); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return; });\n};\n\nMyDataHelps.querySurveyTasks = function (queryParameters) {\n\tif (queryParameters.hasOwnProperty(\"status\")) {\n\t\tqueryParameters.status = reduceArrayAndEscape(queryParameters.status);\n\t}\n\tif (queryParameters.hasOwnProperty(\"surveyName\")) {\n\t\tqueryParameters.surveyName = reduceArrayAndEscape(queryParameters.surveyName);\n\t}\n\n\tvar queryString = new URLSearchParams(queryParameters).toString();\n\tvar endpoint = 'surveytasks?' + queryString;\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'GET', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return response.json(); });\n};\n\nMyDataHelps.queryNotifications = function (queryParameters) {\n\tif (queryParameters.hasOwnProperty(\"sentBefore\")) {\n\t\tqueryParameters.sentBefore = convertDateToIsoString(queryParameters.sentBefore);\n\t}\n\tif (queryParameters.hasOwnProperty(\"sentAfter\")) {\n\t\tqueryParameters.sentAfter = convertDateToIsoString(queryParameters.sentAfter);\n\t}\n\n\tvar queryString = new URLSearchParams(queryParameters).toString();\n\tvar endpoint = 'notifications?' + queryString;\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'GET', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return response.json(); });\n};\n\n\tMyDataHelps.getExternalAccountProviders = function (search, category, pageSize, pageNumber) {\n\tvar searchParameters = {};\n\tif (!!search) searchParameters.search = search;\n\tif (!!category) searchParameters.category = category;\n\t\tif (!!pageSize) searchParameters.pageSize = pageSize;\n\t\tif (!!pageNumber) searchParameters.pageNumber = pageNumber;\n\n\tvar queryString = new URLSearchParams(searchParameters).toString();\n\tvar endpoint = 'externalaccountproviders?' + queryString;\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'GET', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return response.json(); });\n};\n\nMyDataHelps.getExternalAccounts = function () {\n\tvar endpoint = 'externalaccounts';\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'GET', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return response.json(); });\n};\n\nMyDataHelps.refreshExternalAccount = function (accountId) {\n\tvar endpoint = 'externalaccounts/refresh/' + accountId;\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, 'POST', null); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return; });\n};\n\nMyDataHelps.invokeCustomApi = function (customApi, method, queryParameters, jsonResponse) {\n\tif (customApi.includes('?')) {\n\t\tthrow new Error(\"Cannot include query parameters directly in the \\\"customApi\\\" string. Provide as an argument for \\\"queryParameters\\\" instead.\");\n\t}\n\n\tvar endpoint = 'custom/' + customApi;\n\tmethod = method.toUpperCase();\n\tif (queryParameters !== null && queryParameters !== undefined && (method === 'GET' || method === 'DELETE')) {\n\t\tvar parameterString = new URLSearchParams(queryParameters).toString();\n\t\tendpoint += \"?\" + parameterString;\n\t\tqueryParameters = null;\n\t}\n\n\treturn MyDataHelps\n\t\t.connect()\n\t\t.then(function () { return makeRequest(endpoint, method, queryParameters); })\n\t\t.then(function (response) { return validateResponse(response); })\n\t\t.then(function (response) { return jsonResponse ? response.json() : undefined; });\n};\n\n//Embedded surveys and tasks\n\nfunction getBaseUrl() {\n\treturn MyDataHelps.baseUrl || 'https://mydatahelps.org/';\n}\n\nMyDataHelps.startEmbeddedSurvey = function (linkIdentifier, surveyName, language) {\n\tif (!language) { language = this.getCurrentLanguage(); }\n\tvar surveyUrl = getBaseUrl() + \"mydatahelps/\" + linkIdentifier + '/surveylink/' + surveyName + \"?lang=\" + language;\n\treturn startEmbeddedSurvey(surveyUrl);\n};\n\nMyDataHelps.startEmbeddedTask = function (linkIdentifier, taskLinkIdentifier, language) {\n\tif (!language) { language = this.getCurrentLanguage(); }\n\tvar surveyUrl = getBaseUrl() + \"mydatahelps/\" + linkIdentifier + '/tasklink/' + taskLinkIdentifier + \"?lang=\" + language;\n\treturn startEmbeddedSurvey(surveyUrl);\n};\n\nfunction startEmbeddedSurvey(surveyUrl) {\n\tvar mdhSurveyModalId = 'mydatahelps-survey-modal';\n\n\treturn new Promise(function (resolve, reject) {\n\t\tif (document.getElementById(mdhSurveyModalId)) {\n\t\t\treject(\"Survey already in progress\");\n\t\t\treturn;\n\t\t}\n\n\t\twindow.addEventListener(\"message\", function listener(message) {\n\t\t\tif (message.origin !== new URL(getBaseUrl()).origin) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar frame = document.getElementById('mydatahelps-survey-frame').contentWindow;\n\t\t\tif (message.source !== frame) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (message.data.name == 'SurveyWindowInitialized') {\n\t\t\t\tdocument.getElementById(mdhSurveyModalId).className += \" loaded\";\n\t\t\t} else if (message.data.name == 'SurveyFinished') {\n\t\t\t\tdocument.getElementById(mdhSurveyModalId).remove();\n\t\t\t\tdocument.body.className = document.body.className.replace(\"no-scroll\", \"\");\n\t\t\t\twindow.removeEventListener(\"message\", listener, true);\n\t\t\t\tresolve(message.data);\n\t\t\t}\n\t\t}, true);\n\n\t\tvar surveyModal = document.createElement('div');\n\t\tsurveyModal.className = 'mydatahelps-survey-modal';\n\t\tsurveyModal.id = mdhSurveyModalId;\n\t\tsurveyModal.innerHTML = \"<div class='mydatahelps-survey'><div class='loader'>Loading...</div><iframe id='mydatahelps-survey-frame' allow='camera' sandbox='allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-presentation allow-same-origin allow-scripts' src='\" + surveyUrl + \"'></iframe></div>\";\n\t\tdocument.body.append(surveyModal);\n\t\tdocument.body.className += ' no-scroll';\n\t});\n}\n\n//iOS/Android directly invoke window.MyDataHelps and window.RKStudioClient\n//so it's necessary to explicitly ensure they are present on the window\nwindow.MyDataHelps = MyDataHelps;\nwindow.RKStudioClient = RKStudioClient;\n\nexport default MyDataHelps;"],"names":["MyDataHelps","RKStudioClient","currentMessageID","messageHandlers","registeredEventHandlers","acceptableOrigin","origin","allowedApplicationHosts","sourceURL","URL","k","length","hostname","endsWith","ancestorOrigins","supportedActions","applicationHost","document","location","console","error","window","webkit","ResearchKit","GetDelegatedAccessToken","data","parent","postMessage","name","messageID","GetDeviceInfo","StartParticipantSurvey","surveyName","OpenExternalLink","url","OpenEmbeddedLink","OpenExternalApplication","modal","Dismiss","PopNavigation","ShowTab","tabKey","ShowParticipantDashboard","dashboardKey","ShowParticipantWebVisualization","visualizationKey","parameters","ShowParticipantWebVisualizationPDF","landscape","htmlViewerZoom","DeleteProviderAccount","accountID","ConnectExternalAccount","externalAccountProviderID","ShowProject","code","JoinProject","unsupportedActions","supportedEvents","action","windowHasAnyActions","nextMessageID","addEventListener","message","validateWindowMessageOrigin","setActionResult","triggerEvent","event","eventName","type","includes","forEach","handler","refreshTokenPromise","connect","refreshDelegatedAccessToken","token","Promise","resolve","reject","tokenResponse","success","tokenExpires","Date","now","expires_in","baseUrl","setTimeout","setParticipantAccessToken","completeStep","answer","startSurvey","openExternalUrl","openEmbeddedUrl","openApplication","options","dismiss","back","showTab","showDashboard","title","undefined","showWebVisualization","showWebVisualizationPdf","setStatusBarStyle","style","SetStatusBarStyle","requestReview","cooldownDays","RequestReview","getDeviceInfo","deviceInfoResponse","deleteExternalAccount","deleteProviderAccountResponse","connectExternalAccount","showProject","projectCode","joinProject","getCurrentLanguage","searchParams","URLSearchParams","search","has","get","navigator","language","showGoogleFitSettings","ShowGoogleFitSettings","on","eventHandler","Error","push","off","eventHandlerIndex","indexOf","splice","makeRequest","endpoint","method","body","access_token","makeUrl","headers","Headers","append","init","JSON","stringify","fetch","validateResponse","response","ok","statusText","escapeParam","param","String","replace","reduceArrayAndEscape","Array","isArray","map","elem","join","convertDateToIsoString","date","paramAsDate","isNaN","getTime","toISOString","getBaseUrl","startEmbeddedSurvey","surveyUrl","mdhSurveyModalId","getElementById","listener","frame","contentWindow","source","className","remove","removeEventListener","surveyModal","createElement","id","innerHTML","getParticipantInfo","then","json","querySurveyAnswers","queryParameters","hasOwnProperty","stepIdentifier","resultIdentifier","before","after","toString","deleteSurveyResult","resultID","encodeURIComponent","queryDeviceData","observedBefore","observedAfter","persistDeviceData","deviceDataPoints","trackCustomEvent","querySurveyTasks","status","queryNotifications","sentBefore","sentAfter","getExternalAccountProviders","category","pageSize","pageNumber","searchParameters","getExternalAccounts","refreshExternalAccount","accountId","invokeCustomApi","customApi","jsonResponse","toUpperCase","parameterString","linkIdentifier","this","startEmbeddedTask","taskLinkIdentifier"],"mappings":"AAAG,IAACA,EAAc,GAEdC,EAAiB,GAGjBC,EAAmB,EACnBC,EAAkB,GAClBC,EAA0B,GAY9B,SAASC,EAAiBC,GACzB,GAAe,MAAXA,EAAgB,OAAO,EAc3B,IAZA,IAAIC,EAA0B,CAC7B,YACA,oBACA,WACA,iBACA,kBACA,2BACA,oBACA,UAGGC,EAAY,IAAIC,IAAIH,GACfI,EAAI,EAAGA,EAAIH,EAAwBI,OAAQD,IACnD,GAAIF,EAAUI,WAAaL,EAAwBG,IAAMF,EAAUI,SAASC,SAAS,IAAMN,EAAwBG,IAClH,OAAO,EAGT,OAAO,EAGR,IA/BKI,EAqCDC,EANAC,GA/BCF,EAAkBG,SAASC,SAASJ,kBACjBA,EAAgB,GAC/BA,EAAgB,GAGjB,IA2BR,IAAKT,EAAiBW,GAErB,MADAG,QAAQC,MAAM,oDACR,mDAKNL,EADGM,OAAOC,QAAUD,OAAOC,OAAOnB,iBAAmBkB,OAAOC,OAAOnB,gBAAgBoB,YAChE,CAClBC,wBAA2B,SAAUC,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,0BAA2BC,UAAWJ,EAAKI,WAAab,IACvIc,cAAiB,SAAUL,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,gBAAiBC,UAAWJ,EAAKI,WAAab,KAIjG,CAClBQ,wBAA2B,SAAUC,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,0BAA2BC,UAAWJ,EAAKI,WAAab,IACvIc,cAAiB,SAAUL,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,gBAAiBC,UAAWJ,EAAKI,WAAab,IACnHe,uBAA0B,SAAUN,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,yBAA0BC,UAAWJ,EAAKI,UAAWG,WAAYP,EAAKO,YAAchB,IAClKiB,iBAAoB,SAAUR,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,kBAAmBM,IAAKT,GAAQT,IACxGmB,iBAAoB,SAAUV,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,kBAAmBM,IAAKT,GAAQT,IACxGoB,wBAA2B,SAAUX,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,kBAAmBC,UAAWJ,EAAKI,UAAWK,IAAKT,EAAKS,IAAKG,MAAOZ,EAAKY,OAASrB,IACjKsB,QAAW,WAAcjB,OAAOK,OAAOC,YAAY,CAAEC,KAAM,WAAaZ,IACxEuB,cAAiB,WAAclB,OAAOK,OAAOC,YAAY,CAAEC,KAAM,QAAUZ,IAC3EwB,QAAW,SAAUf,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,UAAWa,OAAQhB,GAAQT,IAC1F0B,yBAA4B,SAAUjB,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,2BAA4Be,aAAclB,EAAKkB,aAAcN,MAAOZ,EAAKY,OAASrB,IAClK4B,gCAAmC,SAAUnB,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,kCAAmCiB,iBAAkBpB,EAAKoB,iBAAkBC,WAAYrB,EAAKqB,WAAYT,MAAOZ,EAAKY,OAASrB,IACrN+B,mCAAsC,SAAUtB,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,qCAAsCiB,iBAAkBpB,EAAKoB,iBAAkBC,WAAYrB,EAAKqB,WAAYT,MAAOZ,EAAKY,MAAOW,UAAWvB,EAAKuB,UAAWC,eAAgBxB,EAAKwB,gBAAkBjC,IAC3RkC,sBAAyB,SAAUzB,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,wBAAyBC,UAAWJ,EAAKI,UAAWsB,UAAW1B,EAAK0B,WAAanC,IAC9JoC,uBAA0B,SAAU3B,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,yBAA0ByB,0BAA2B5B,EAAK4B,2BAA6BrC,IACrKsC,YAAe,SAAU7B,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,cAAe2B,KAAM9B,EAAK8B,MAAQvC,IACrGwC,YAAe,SAAU/B,GAAQJ,OAAOK,OAAOC,YAAY,CAAEC,KAAM,cAAe2B,KAAM9B,EAAK8B,MAAQvC,KAIvG,IAAIyC,EAAqB,CAAC,YAAa,eAEnCC,EAAkB,CAAC,kBAAmB,8BAA+B,8BAA+B,mBAsBxG,IAAK,IAAIC,KANJtC,OAAOC,QAAWD,OAAOC,OAAOnB,iBAdrC,WACC,IAAK,IAAIwD,KAAU5C,EAClB,GAAIM,OAAOC,OAAOnB,gBAAgBwD,GACjC,OAAO,EAGT,IAAK,IAAIA,KAAUF,EAClB,GAAIpC,OAAOC,OAAOnB,gBAAgBsD,EAAmBE,IACpD,OAAO,EAGT,OAAO,EAGiDC,KACxDvC,OAAOC,OAAS,CACfnB,gBAAiB,KAIAY,EAClBM,OAAOC,OAAOnB,gBAAgBwD,GAAUtC,OAAOC,OAAOnB,gBAAgBwD,IAAW,CAAEhC,YAAaZ,EAAiB4C,IAGlH,IAAIE,EAAgB,WACnB,OAAO3D,KAyBRmB,OAAOyC,iBAAiB,WAdG,SAAUC,GACpC,IATD,SAAqCA,GACpC,MAAwB,MAApB/C,EACIX,EAAiB0D,EAAQzD,QAG1ByD,EAAQzD,SAAWU,EAIrBgD,CAA4BD,GAEhC,MADA5C,QAAQC,MAAM,mBAAqB2C,EAAQzD,OAAS,qBAC9C,mBAAqByD,EAAQzD,OAAS,oBAGzCyD,EAAQtC,KAAKI,UAChB7B,EAAYiE,gBAAgBF,EAAQtC,MAGpCzB,EAAYkE,aAAaH,EAAQtC,SAIsB,GAEzDzB,EAAYiE,gBAAkB,SAAUxC,GACvCtB,EAAgBsB,EAAKI,WAAWJ,IAGjCxB,EAAegE,gBAAkB,SAAUxC,GAC1CzB,EAAYiE,gBAAgBxC,IAG7BzB,EAAYkE,aAAe,SAAUC,GACpC,IAAIC,EAAYD,EAAME,KAClBX,EAAgBY,SAASF,IAAchE,EAAwBgE,IAClEhE,EAAwBgE,GAAWG,SAAQ,SAAUC,GACpDA,EAAQL,OAOX,IAAIM,EAAsB,KAC1BzE,EAAY0E,QAAU,WACrB,IAAIC,EAA8B,WACjC3E,EAAY4E,MAAQ,KAEpBH,EAAsB,IAAII,SAAQ,SAAUC,EAASC,GACpD,IAAIlD,EAAYgC,IAChB1D,EAAgB0B,GAAa,SAAUmD,GAClCA,EAAcC,SACjBjF,EAAYkF,aAAeC,KAAKC,MAAyC,IAAhCJ,EAAcvD,KAAK4D,WAC5DrF,EAAY4E,MAAQI,EAAcvD,KAClCzB,EAAYsF,QAAUN,EAAcM,QACpCjE,OAAOkE,WAAWZ,EAAkG,KAAnEK,EAAcvD,KAAK4D,WA/JnC,MAgKjCP,MAEA9E,EAAY4E,MAAQ,KACpBG,EAAOC,EAAcjB,UAEtB5D,EAAgB0B,GAAa,KAC7B4C,EAAsB,MAGvBpD,OAAOC,OAAOnB,gBAAgBqB,wBAAwBG,YAAY,CAAEE,UAAWA,QAIjF,OAAI7B,EAAY4E,OAASO,KAAKC,MAAQpF,EAAYkF,aAC1CL,QAAQC,WAGXL,GACJE,IAIMF,IAIRzE,EAAYwF,0BAA4B,SAAUZ,EAAOU,GACxDtF,EAAY4E,MAAQA,EAChBU,IACHtF,EAAYsF,QAAUA,GAEvBtF,EAAYkF,aAAeC,KAAKC,MAA4B,IAAnBR,EAAMS,WAC/ChE,OAAOkE,YAAW,WACjBvF,EAAYkE,aAAa,CAAEG,KAAM,sBACyB,KAAtDO,EAAMS,WAlM0B,OAuMtCrF,EAAYyF,aAAe,SAAUC,GAChCA,MAAAA,IAAyCA,EAAS,IAElDrE,OAAOC,OAAOnB,gBAAgBoB,aACjCF,OAAOC,OAAOnB,gBAAgBoB,YAAYI,YAAY+D,IAIxD1F,EAAY2F,YAAc,SAAU3D,GACnC,IAAIH,EAAYgC,IAChBxC,OAAOC,OAAOnB,gBAAgB4B,uBAAuBJ,YAAY,CAAEE,UAAWA,EAAWG,WAAYA,KAGtGhC,EAAY4F,gBAAkB,SAAU1D,GACvCb,OAAOC,OAAOnB,gBAAgB8B,iBAAiBN,YAAYO,IAG5DlC,EAAY6F,gBAAkB,SAAU3D,GACvCb,OAAOC,OAAOnB,gBAAgBgC,iBAAiBR,YAAYO,IAG5DlC,EAAY8F,gBAAkB,SAAU5D,EAAK6D,GAC5C,IAAIlE,EAAYgC,IAChBxC,OAAOC,OAAOnB,gBAAgBiC,wBAAwBT,YAAY,CAAEE,UAAWA,EAAWK,IAAKA,EAAKG,SAAO0D,IAAWA,EAAQ1D,UAG/HrC,EAAYgG,QAAU,WACrB3E,OAAOC,OAAOnB,gBAAgBmC,QAAQX,YAAY,KAGnD3B,EAAYiG,KAAO,WAClB5E,OAAOC,OAAOnB,gBAAgBoC,cAAcZ,YAAY,KAGzD3B,EAAYkG,QAAU,SAAUzD,GAC/BpB,OAAOC,OAAOnB,gBAAgBqC,QAAQb,YAAYc,IAGnDzC,EAAYmG,cAAgB,SAAUxD,EAAcoD,GACnD1E,OAAOC,OAAOnB,gBAAgBuC,yBAAyBf,YAAY,CAClEgB,aAAcA,EACdN,SAAO0D,IAAWA,EAAQ1D,OAC1B+D,MAAOL,GAAWA,EAAQK,MAAQL,EAAQK,WAAQC,KAIpDrG,EAAYsG,qBAAuB,SAAUzD,EAAkBC,EAAYiD,GAC1E1E,OAAOC,OAAOnB,gBAAgByC,gCAAgCjB,YAAY,CACzEkB,iBAAkBA,EAClBC,WAAYA,EACZT,SAAO0D,IAAWA,EAAQ1D,OAC1B+D,MAAOL,GAAWA,EAAQK,MAAQL,EAAQK,WAAQC,KAIpDrG,EAAYuG,wBAA0B,SAAU1D,EAAkBC,EAAYiD,GAC7E1E,OAAOC,OAAOnB,gBAAgB4C,mCAAmCpB,YAAY,CAC5EkB,iBAAkBA,EAClBC,WAAYA,EACZE,aAAW+C,IAAWA,EAAQ/C,WAC9BC,eAAgB8C,GAAWA,EAAQ9C,kBAIrCjD,EAAYwG,kBAAoB,SAAUC,GACrCpF,OAAOC,OAAOnB,gBAAgBuG,mBACjCrF,OAAOC,OAAOnB,gBAAgBuG,kBAAkB/E,YAAY,CAAE8E,MAAOA,KAIvEzG,EAAY2G,cAAgB,SAAUC,GACjCvF,OAAOC,OAAOnB,gBAAgB0G,eACjCxF,OAAOC,OAAOnB,gBAAgB0G,cAAclF,YAAY,CAAEiF,aAAcA,KAI1E5G,EAAY8G,cAAgB,WAC3B,OAAO,IAAIjC,SAAQ,SAAUC,EAASC,GACrC,IAAIlD,EAAYgC,IAChB1D,EAAgB0B,GAAa,SAAUkF,GACtCjC,EAAQiC,EAAmBtF,OAGxBJ,OAAOC,OAAOnB,gBAAgB2B,cACjCT,OAAOC,OAAOnB,gBAAgB2B,cAAcH,YAAY,CAAEE,UAAWA,IAErEkD,QAKH/E,EAAYgH,sBAAwB,SAAU7D,GAC7C,OAAO,IAAI0B,SAAQ,SAAUC,EAASC,GACrC,IAAIlD,EAAYgC,IAChB1D,EAAgB0B,GAAa,SAAUoF,GACjCA,EAA8BhC,QAGlCH,EAAQmC,GAFRlC,EAAOkC,IAML5F,OAAOC,OAAOnB,gBAAgB+C,sBACjC7B,OAAOC,OAAOnB,gBAAgB+C,sBAAsBvB,YAAY,CAAEE,UAAWA,EAAWsB,UAAWA,IAEnG4B,QAKH/E,EAAYkH,uBAAyB,SAAU7D,GAC1ChC,OAAOC,OAAOnB,gBAAgBiD,wBACjC/B,OAAOC,OAAOnB,gBAAgBiD,uBAAuBzB,YAAY,CAAE0B,0BAA2BA,KAIhGrD,EAAYmH,YAAc,SAAUC,GAC/B/F,OAAOC,OAAOnB,gBAAgBmD,aACjCjC,OAAOC,OAAOnB,gBAAgBmD,YAAY3B,YAAY,CAAE4B,KAAM6D,KAIhEpH,EAAYqH,YAAc,SAAUD,GAC/B/F,OAAOC,OAAOnB,gBAAgBqD,aACjCnC,OAAOC,OAAOnB,gBAAgBqD,YAAY7B,YAAY,CAAE4B,KAAM6D,KAIhEpH,EAAYsH,mBAAqB,WAChC,IAAIC,EAAe,IAAIC,gBAAgBnG,OAAOH,SAASuG,QACvD,OAAIF,EAAaG,IAAI,QACbH,EAAaI,IAAI,QAGjBC,UAAUC,UAInB7H,EAAY8H,sBAAwB,WAC/BzG,OAAOC,OAAOnB,gBAAgB4H,uBACjC1G,OAAOC,OAAOnB,gBAAgB4H,sBAAsBpG,YAAY,KAMlE3B,EAAYgI,GAAK,SAAU5D,EAAW6D,GAErC,IAAKvE,EAAgBY,SAASF,GAC7B,MAAM,IAAI8D,MAAM9D,EAAY,mCAGxBhE,EAAwBgE,KAC5BhE,EAAwBgE,GAAa,IAGtChE,EAAwBgE,GAAW+D,KAAKF,IAGzCjI,EAAYoI,IAAM,SAAUhE,EAAW6D,GAEtC,IAAKvE,EAAgBY,SAASF,GAC7B,MAAM,IAAI8D,MAAM9D,EAAY,mCAG7B,GAAKhE,EAAwBgE,GAA7B,CAEA,IAAIiE,EAAoBjI,EAAwBgE,GAAWkE,QAAQL,IAExC,IAAvBI,GACHjI,EAAwBgE,GAAWmE,OAAOF,EAAmB,KAM/D,IASIG,EAAc,SAAUC,EAAUC,EAAQC,GAC7C,IAAK3I,EAAY4E,QAAU5E,EAAY4E,MAAMgE,aAC5C,KAAM,uDAGP,IAAI1G,EAdS,SAAUuG,GACvB,IAAKzI,EAAYsF,QAEhB,MADAnE,QAAQC,MAAM,mDACR,kDAGP,OAAOpB,EAAYsF,QAzXF,oBAyX0BmD,EAQjCI,CAAQJ,GAEdK,EAAU,IAAIC,QAClBD,EAAQE,OAAO,gBAAiB,UAAYhJ,EAAY4E,MAAMgE,cAC9DE,EAAQE,OAAO,SAAU,kDACzBF,EAAQE,OAAO,kBAAmBhJ,EAAYsH,sBACxCqB,GACLG,EAAQE,OAAO,eAAgB,oBAGhC,IAAIC,EAAO,CACVP,OAAQA,EACRI,QAASA,GAMV,OAJMH,IACLM,EAAKN,KAAOO,KAAKC,UAAUR,IAGrBS,MAAMlH,EAAK+G,IAGfI,EAAmB,SAAUC,GAChC,IAAKA,EAASC,GACb,MAAMD,EAASE,WAGhB,OAAOF,GAGJG,EAAc,SAAUC,GAC3B,OAAOC,OAAOD,GACZE,QAAQ,KAAM,QACdA,QAAQ,IAAK,QAGZC,EAAuB,SAAUH,GACpC,OAAII,MAAMC,QAAQL,GACGA,EAAMM,KAAI,SAAUC,GAAQ,OAAOR,EAAYQ,MAC9CC,KAAK,KAGpBT,EAAYC,IAGhBS,EAAyB,SAAUC,GACtC,IAAIC,EAAc,IAAIlF,KAAKiF,GAC3B,GAAIE,MAAMD,EAAYE,WACrB,KAAM,qCAGP,OAAOF,EAAYG,eA6LpB,SAASC,IACR,OAAOzK,EAAYsF,SAAW,2BAe/B,SAASoF,EAAoBC,GAC5B,IAAIC,EAAmB,2BAEvB,OAAO,IAAI/F,SAAQ,SAAUC,EAASC,GACrC,GAAI9D,SAAS4J,eAAeD,GAC3B7F,EAAO,kCADR,CAKA1D,OAAOyC,iBAAiB,WAAW,SAASgH,EAAS/G,GACpD,GAAIA,EAAQzD,SAAW,IAAIG,IAAIgK,KAAcnK,OAA7C,CAGA,IAAIyK,EAAQ9J,SAAS4J,eAAe,4BAA4BG,cAC5DjH,EAAQkH,SAAWF,IAGE,2BAArBhH,EAAQtC,KAAKG,KAChBX,SAAS4J,eAAeD,GAAkBM,WAAa,UACxB,kBAArBnH,EAAQtC,KAAKG,OACvBX,SAAS4J,eAAeD,GAAkBO,SAC1ClK,SAAS0H,KAAKuC,UAAYjK,SAAS0H,KAAKuC,UAAUtB,QAAQ,YAAa,IACvEvI,OAAO+J,oBAAoB,UAAWN,GAAU,GAChDhG,EAAQf,EAAQtC,YAEf,GAEH,IAAI4J,EAAcpK,SAASqK,cAAc,OACzCD,EAAYH,UAAY,2BACxBG,EAAYE,GAAKX,EACjBS,EAAYG,UAAY,mQAAqQb,EAAY,oBACzS1J,SAAS0H,KAAKK,OAAOqC,GACrBpK,SAAS0H,KAAKuC,WAAa,iBA1O7BlL,EAAYyL,mBAAqB,WAGhC,OAAOzL,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAJb,cAImC,MAAO,SACvDkD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOA,EAASqC,WAG9C3L,EAAY4L,mBAAqB,SAAUC,GACtCA,EAAgBC,eAAe,gBAClCD,EAAgB7J,WAAa6H,EAAqBgC,EAAgB7J,aAE/D6J,EAAgBC,eAAe,oBAClCD,EAAgBE,eAAiBlC,EAAqBgC,EAAgBE,iBAEnEF,EAAgBC,eAAe,sBAClCD,EAAgBG,iBAAmBnC,EAAqBgC,EAAgBG,mBAErEH,EAAgBC,eAAe,YAClCD,EAAgBnG,OAASmE,EAAqBgC,EAAgBnG,SAE3DmG,EAAgBC,eAAe,YAClCD,EAAgBI,OAAS9B,EAAuB0B,EAAgBI,SAE7DJ,EAAgBC,eAAe,WAClCD,EAAgBK,MAAQ/B,EAAuB0B,EAAgBK,QAGhE,IACIzD,EAAW,iBADG,IAAIjB,gBAAgBqE,GAAiBM,WAGvD,OAAOnM,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAU,MAAO,SACvDiD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOA,EAASqC,WAG9C3L,EAAYoM,mBAAqB,SAAUC,GAC1C,IAAI5D,EAAW,iBAAmB6D,mBAAmBD,GAErD,OAAOrM,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAU,SAAU,SAC1DiD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,QAGlBtJ,EAAYuM,gBAAkB,SAAUV,GACnCA,EAAgBC,eAAe,UAClCD,EAAgBxH,KAAOwF,EAAqBgC,EAAgBxH,OAEzDwH,EAAgBC,eAAe,oBAClCD,EAAgBW,eAAiBrC,EAAuB0B,EAAgBW,iBAErEX,EAAgBC,eAAe,mBAClCD,EAAgBY,cAAgBtC,EAAuB0B,EAAgBY,gBAGxE,IACIhE,EAAW,cADG,IAAIjB,gBAAgBqE,GAAiBM,WAGvD,OAAOnM,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAU,MAAO,SACvDiD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOA,EAASqC,WAG9C3L,EAAY0M,kBAAoB,SAAUC,GAGzC,OAAO3M,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAJb,aAImC,OAAQmE,MACxDjB,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,QAGlBtJ,EAAY4M,iBAAmB,SAAUzI,GAGxC,OAAOnE,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAJb,eAImC,OAAQrE,MACxDuH,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,QAGlBtJ,EAAY6M,iBAAmB,SAAUhB,GACpCA,EAAgBC,eAAe,YAClCD,EAAgBiB,OAASjD,EAAqBgC,EAAgBiB,SAE3DjB,EAAgBC,eAAe,gBAClCD,EAAgB7J,WAAa6H,EAAqBgC,EAAgB7J,aAGnE,IACIyG,EAAW,eADG,IAAIjB,gBAAgBqE,GAAiBM,WAGvD,OAAOnM,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAU,MAAO,SACvDiD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOA,EAASqC,WAG9C3L,EAAY+M,mBAAqB,SAAUlB,GACtCA,EAAgBC,eAAe,gBAClCD,EAAgBmB,WAAa7C,EAAuB0B,EAAgBmB,aAEjEnB,EAAgBC,eAAe,eAClCD,EAAgBoB,UAAY9C,EAAuB0B,EAAgBoB,YAGpE,IACIxE,EAAW,iBADG,IAAIjB,gBAAgBqE,GAAiBM,WAGvD,OAAOnM,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAU,MAAO,SACvDiD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOA,EAASqC,WAG7C3L,EAAYkN,4BAA8B,SAAUzF,EAAQ0F,EAAUC,EAAUC,GAChF,IAAIC,EAAmB,GACjB7F,IAAQ6F,EAAiB7F,OAASA,GAClC0F,IAAUG,EAAiBH,SAAWA,GACrCC,IAAUE,EAAiBF,SAAWA,GACtCC,IAAYC,EAAiBD,WAAaA,GAEjD,IACI5E,EAAW,4BADG,IAAIjB,gBAAgB8F,GAAkBnB,WAGxD,OAAOnM,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAU,MAAO,SACvDiD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOA,EAASqC,WAG9C3L,EAAYuN,oBAAsB,WAGjC,OAAOvN,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAJb,mBAImC,MAAO,SACvDkD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOA,EAASqC,WAG9C3L,EAAYwN,uBAAyB,SAAUC,GAC9C,IAAIhF,EAAW,4BAA8BgF,EAE7C,OAAOzN,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAU,OAAQ,SACxDiD,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,QAGlBtJ,EAAY0N,gBAAkB,SAAUC,EAAWjF,EAAQmD,EAAiB+B,GAC3E,GAAID,EAAUrJ,SAAS,KACtB,MAAM,IAAI4D,MAAM,6HAGjB,IAAIO,EAAW,UAAYkF,EAE3B,GADAjF,EAASA,EAAOmF,cACZhC,MAAAA,IAAyE,QAAXnD,GAA+B,WAAXA,GAAsB,CAC3G,IAAIoF,EAAkB,IAAItG,gBAAgBqE,GAAiBM,WAC3D1D,GAAY,IAAMqF,EAClBjC,EAAkB,KAGnB,OAAO7L,EACL0E,UACAgH,MAAK,WAAc,OAAOlD,EAAYC,EAAUC,EAAQmD,MACxDH,MAAK,SAAUpC,GAAY,OAAOD,EAAiBC,MACnDoC,MAAK,SAAUpC,GAAY,OAAOsE,EAAetE,EAASqC,YAAStF,MAStErG,EAAY0K,oBAAsB,SAAUqD,EAAgB/L,EAAY6F,GAGvE,OAFKA,IAAYA,EAAWmG,KAAK1G,sBAE1BoD,EADSD,IAAe,eAAiBsD,EAAiB,eAAiB/L,EAAa,SAAW6F,IAI3G7H,EAAYiO,kBAAoB,SAAUF,EAAgBG,EAAoBrG,GAG7E,OAFKA,IAAYA,EAAWmG,KAAK1G,sBAE1BoD,EADSD,IAAe,eAAiBsD,EAAiB,aAAeG,EAAqB,SAAWrG,IA0CjHxG,OAAOrB,YAAcA,EACrBqB,OAAOpB,eAAiBA"}
|
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# MyDataHelps.js
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The MyDataHelps.js SDK provides the essential infrastructure for building applications that your project participants will use in MyDataHelps. Your application can easily read and write participants' data, navigate them to other tabs, open survey tasks, and several other useful operations.
|
|
6
|
-
|
|
7
|
-
The SDK can be used to create interactive dashboards, personalized by participants' survey responses and other available information.
|
|
8
|
-
|
|
9
|
-
## Get Started
|
|
10
|
-
|
|
1
|
+
# MyDataHelps.js
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The MyDataHelps.js SDK provides the essential infrastructure for building applications that your project participants will use in MyDataHelps. Your application can easily read and write participants' data, navigate them to other tabs, open survey tasks, and several other useful operations.
|
|
6
|
+
|
|
7
|
+
The SDK can be used to create interactive dashboards, personalized by participants' survey responses and other available information.
|
|
8
|
+
|
|
9
|
+
## Get Started
|
|
10
|
+
|
|
11
11
|
Documentation and examples can be found at [CareEvolution's RKStudio SDK Documentation](https://developer.rkstudio.careevolution.com/sdk/) page.
|
package/package.json
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@careevolution/mydatahelps-js",
|
|
3
|
-
"version": "2.0
|
|
4
|
-
"description": "MyDataHelps client to be used by external applications for integrations inside the MyDataHelps platform",
|
|
5
|
-
"main": "MyDataHelps.js",
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@careevolution/mydatahelps-js",
|
|
3
|
+
"version": "2.3.0",
|
|
4
|
+
"description": "MyDataHelps client to be used by external applications for integrations inside the MyDataHelps platform",
|
|
5
|
+
"main": "MyDataHelps.js",
|
|
6
|
+
"module": "MyDataHelps.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "rollup -c"
|
|
9
|
+
},
|
|
10
|
+
"author": "CareEvolution",
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"homepage": "https://developer.rkstudio.careevolution.com/sdk/",
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"rollup": "^2.69.0",
|
|
15
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
16
|
+
"rollup-plugin-copy": "^3.4.0"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"MDH",
|
|
20
|
+
"MDH.js",
|
|
21
|
+
"MyDataHelps",
|
|
22
|
+
"MyDataHelps.js",
|
|
23
|
+
"CareEvolution",
|
|
24
|
+
"RKStudio"
|
|
25
|
+
]
|
|
26
|
+
}
|