@careevolution/mydatahelps-js 1.0.0 → 2.2.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/MyDataHelps.css +147 -0
- package/MyDataHelps.js +199 -29
- package/MyDataHelps.min.js +1 -1
- package/MyDataHelps.min.js.map +1 -1
- package/README.md +1 -1
- package/package.json +1 -1
package/MyDataHelps.css
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
body.no-scroll
|
|
2
|
+
{
|
|
3
|
+
overflow: hidden !important;
|
|
4
|
+
position: fixed !important;
|
|
5
|
+
height: 100%;
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
#mydatahelps-survey-modal
|
|
10
|
+
{
|
|
11
|
+
position: fixed;
|
|
12
|
+
left: 0;
|
|
13
|
+
top: 0;
|
|
14
|
+
bottom: 0;
|
|
15
|
+
right: 0;
|
|
16
|
+
background: rgba(0,0,0,0.5);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#mydatahelps-survey-modal .mydatahelps-survey
|
|
20
|
+
{
|
|
21
|
+
margin: 0px auto;
|
|
22
|
+
z-index: 5002;
|
|
23
|
+
position: relative;
|
|
24
|
+
max-width: 768px;
|
|
25
|
+
height: calc(100% - 32px);
|
|
26
|
+
box-sizing: border-box;
|
|
27
|
+
margin-top: 16px;
|
|
28
|
+
margin-bottom: 16px;
|
|
29
|
+
border-radius: 5px;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
background: #FFF;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
#mydatahelps-survey-modal .mydatahelps-survey iframe
|
|
35
|
+
{
|
|
36
|
+
position: absolute;
|
|
37
|
+
left: 0;
|
|
38
|
+
top: 0;
|
|
39
|
+
right: 0;
|
|
40
|
+
bottom: 0;
|
|
41
|
+
width: 100%;
|
|
42
|
+
height: 100%;
|
|
43
|
+
border: none;
|
|
44
|
+
opacity: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
#mydatahelps-survey-modal.loaded .mydatahelps-survey iframe
|
|
48
|
+
{
|
|
49
|
+
opacity: 1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@media (max-width: 768px)
|
|
53
|
+
{
|
|
54
|
+
#mydatahelps-survey-modal .mydatahelps-survey
|
|
55
|
+
{
|
|
56
|
+
height: 100%;
|
|
57
|
+
margin-top: 0;
|
|
58
|
+
margin-bottom: 0;
|
|
59
|
+
border-radius: 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
#mydatahelps-survey-modal .mydatahelps-survey .loader
|
|
64
|
+
{
|
|
65
|
+
font-size: 5px;
|
|
66
|
+
text-indent: -9999em;
|
|
67
|
+
width: 11em;
|
|
68
|
+
height: 11em;
|
|
69
|
+
position: absolute;
|
|
70
|
+
top: calc(50% - 5.5em);
|
|
71
|
+
left: calc(50% - 5.5em);
|
|
72
|
+
border-radius: 50%;
|
|
73
|
+
background: #ffffff;
|
|
74
|
+
background: -moz-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
|
|
75
|
+
background: -webkit-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
|
|
76
|
+
background: -o-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
|
|
77
|
+
background: -ms-linear-gradient(left, #bbb 10%, rgba(255, 255, 255, 0) 42%);
|
|
78
|
+
background: linear-gradient(to right, #bbb 10%, rgba(255, 255, 255, 0) 42%);
|
|
79
|
+
-webkit-animation: load3 1.4s infinite linear;
|
|
80
|
+
animation: load3 1.4s infinite linear;
|
|
81
|
+
-webkit-transform: translateZ(0);
|
|
82
|
+
-ms-transform: translateZ(0);
|
|
83
|
+
transform: translateZ(0);
|
|
84
|
+
z-index: 1;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#mydatahelps-survey-modal .mydatahelps-survey .loader:before
|
|
88
|
+
{
|
|
89
|
+
width: 50%;
|
|
90
|
+
height: 50%;
|
|
91
|
+
background: #bbb;
|
|
92
|
+
border-radius: 100% 0 0 0;
|
|
93
|
+
position: absolute;
|
|
94
|
+
top: 0;
|
|
95
|
+
left: 0;
|
|
96
|
+
content: '';
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
#mydatahelps-survey-modal .mydatahelps-survey .loader:after
|
|
100
|
+
{
|
|
101
|
+
background: #fff;
|
|
102
|
+
width: 75%;
|
|
103
|
+
height: 75%;
|
|
104
|
+
border-radius: 50%;
|
|
105
|
+
content: '';
|
|
106
|
+
margin: auto;
|
|
107
|
+
position: absolute;
|
|
108
|
+
top: 0;
|
|
109
|
+
left: 0;
|
|
110
|
+
bottom: 0;
|
|
111
|
+
right: 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
#mydatahelps-survey-modal.loaded .mydatahelps-survey .loader
|
|
115
|
+
{
|
|
116
|
+
display: none;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@-webkit-keyframes load3
|
|
120
|
+
{
|
|
121
|
+
0%
|
|
122
|
+
{
|
|
123
|
+
-webkit-transform: rotate(0deg);
|
|
124
|
+
transform: rotate(0deg);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
100%
|
|
128
|
+
{
|
|
129
|
+
-webkit-transform: rotate(360deg);
|
|
130
|
+
transform: rotate(360deg);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@keyframes load3
|
|
135
|
+
{
|
|
136
|
+
0%
|
|
137
|
+
{
|
|
138
|
+
-webkit-transform: rotate(0deg);
|
|
139
|
+
transform: rotate(0deg);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
100%
|
|
143
|
+
{
|
|
144
|
+
-webkit-transform: rotate(360deg);
|
|
145
|
+
transform: rotate(360deg);
|
|
146
|
+
}
|
|
147
|
+
}
|
package/MyDataHelps.js
CHANGED
|
@@ -14,11 +14,6 @@ var RKStudioClient = {};
|
|
|
14
14
|
return ancestorOrigins[0];
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
var referrer = document.referrer;
|
|
18
|
-
if (referrer) {
|
|
19
|
-
return new URL(referrer).origin;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
17
|
return '*';
|
|
23
18
|
}
|
|
24
19
|
|
|
@@ -71,14 +66,17 @@ var RKStudioClient = {};
|
|
|
71
66
|
"ShowTab": function (data) { window.parent.postMessage({ name: 'ShowTab', tabKey: data }, applicationHost) },
|
|
72
67
|
"ShowParticipantDashboard": function (data) { window.parent.postMessage({ name: 'ShowParticipantDashboard', dashboardKey: data.dashboardKey, modal: data.modal }, applicationHost) },
|
|
73
68
|
"ShowParticipantWebVisualization": function (data) { window.parent.postMessage({ name: 'ShowParticipantWebVisualization', visualizationKey: data.visualizationKey, parameters: data.parameters, modal: data.modal }, applicationHost) },
|
|
69
|
+
"ShowParticipantWebVisualizationPDF": function (data) { window.parent.postMessage({ name: 'ShowParticipantWebVisualizationPDF', visualizationKey: data.visualizationKey, parameters: data.parameters, modal: data.modal, landscape: data.landscape, htmlViewerZoom: data.htmlViewerZoom }, applicationHost) },
|
|
74
70
|
"DeleteProviderAccount": function (data) { window.parent.postMessage({ name: 'DeleteProviderAccount', messageID: data.messageID, accountID: data.accountID }, applicationHost) },
|
|
75
|
-
"ConnectExternalAccount": function (data) { window.parent.postMessage({ name: 'ConnectExternalAccount',
|
|
71
|
+
"ConnectExternalAccount": function (data) { window.parent.postMessage({ name: 'ConnectExternalAccount', externalAccountProviderID: data.externalAccountProviderID }, applicationHost) },
|
|
72
|
+
"ShowProject": function (data) { window.parent.postMessage({ name: 'ShowProject', code: data.code }, applicationHost) },
|
|
73
|
+
"JoinProject": function (data) { window.parent.postMessage({ name: 'JoinProject', code: data.code }, applicationHost) }
|
|
76
74
|
};
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
var unsupportedActions = ["SetHeight", "ResearchKit"];
|
|
80
78
|
|
|
81
|
-
var supportedEvents = ["surveyDidFinish", "applicationDidBecomeVisible"];
|
|
79
|
+
var supportedEvents = ["surveyDidFinish", "applicationDidBecomeVisible", "externalAccountSyncComplete", "tokenWillExpire"];
|
|
82
80
|
|
|
83
81
|
function windowHasAnyActions() {
|
|
84
82
|
for (var action in supportedActions) {
|
|
@@ -189,8 +187,28 @@ var RKStudioClient = {};
|
|
|
189
187
|
return refreshTokenPromise;
|
|
190
188
|
};
|
|
191
189
|
|
|
190
|
+
//Initializing access token manually
|
|
191
|
+
MyDataHelps.setParticipantAccessToken = function (token, baseUrl) {
|
|
192
|
+
MyDataHelps.token = token;
|
|
193
|
+
if (baseUrl) {
|
|
194
|
+
MyDataHelps.baseUrl = baseUrl;
|
|
195
|
+
}
|
|
196
|
+
MyDataHelps.tokenExpires = Date.now() + (token.expires_in * 1000);
|
|
197
|
+
window.setTimeout(function () {
|
|
198
|
+
MyDataHelps.triggerEvent({ type: "tokenWillExpire" });
|
|
199
|
+
}, ((token.expires_in - accessTokenRenewalBufferSeconds) * 1000));
|
|
200
|
+
};
|
|
201
|
+
|
|
192
202
|
//Actions
|
|
193
203
|
|
|
204
|
+
MyDataHelps.completeStep = function(answer) {
|
|
205
|
+
if(answer === undefined || answer === null) answer = '';
|
|
206
|
+
|
|
207
|
+
if(window.webkit.messageHandlers.ResearchKit) {
|
|
208
|
+
window.webkit.messageHandlers.ResearchKit.postMessage(answer);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
194
212
|
MyDataHelps.startSurvey = function (surveyName) {
|
|
195
213
|
var messageID = nextMessageID();
|
|
196
214
|
window.webkit.messageHandlers.StartParticipantSurvey.postMessage({ messageID: messageID, surveyName: surveyName });
|
|
@@ -238,6 +256,15 @@ var RKStudioClient = {};
|
|
|
238
256
|
});
|
|
239
257
|
};
|
|
240
258
|
|
|
259
|
+
MyDataHelps.showWebVisualizationPdf = function (visualizationKey, parameters, options) {
|
|
260
|
+
window.webkit.messageHandlers.ShowParticipantWebVisualizationPDF.postMessage({
|
|
261
|
+
visualizationKey: visualizationKey,
|
|
262
|
+
parameters: parameters,
|
|
263
|
+
landscape: options && options.landscape ? true : false,
|
|
264
|
+
htmlViewerZoom: options && options.htmlViewerZoom
|
|
265
|
+
});
|
|
266
|
+
};
|
|
267
|
+
|
|
241
268
|
MyDataHelps.setStatusBarStyle = function (style) {
|
|
242
269
|
if (window.webkit.messageHandlers.SetStatusBarStyle) {
|
|
243
270
|
window.webkit.messageHandlers.SetStatusBarStyle.postMessage({ style: style });
|
|
@@ -269,10 +296,9 @@ var RKStudioClient = {};
|
|
|
269
296
|
return new Promise(function (resolve, reject) {
|
|
270
297
|
var messageID = nextMessageID();
|
|
271
298
|
messageHandlers[messageID] = function (deleteProviderAccountResponse) {
|
|
272
|
-
if (deleteProviderAccountResponse.
|
|
299
|
+
if (!deleteProviderAccountResponse.success) {
|
|
273
300
|
reject(deleteProviderAccountResponse)
|
|
274
|
-
}
|
|
275
|
-
else {
|
|
301
|
+
} else {
|
|
276
302
|
resolve(deleteProviderAccountResponse);
|
|
277
303
|
}
|
|
278
304
|
};
|
|
@@ -285,26 +311,24 @@ var RKStudioClient = {};
|
|
|
285
311
|
});
|
|
286
312
|
}
|
|
287
313
|
|
|
288
|
-
MyDataHelps.connectExternalAccount = function (externalAccountProviderID
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
if (connectExternalAccountResponse.message) {
|
|
293
|
-
reject(connectExternalAccountResponse)
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
resolve(connectExternalAccountResponse)
|
|
297
|
-
}
|
|
298
|
-
};
|
|
299
|
-
|
|
300
|
-
if (window.webkit.messageHandlers.ConnectExternalAccount) {
|
|
301
|
-
window.webkit.messageHandlers.ConnectExternalAccount.postMessage({ messageID: messageID, externalAccountProviderID: externalAccountProviderID, redirectPath: redirectPath });
|
|
302
|
-
} else {
|
|
303
|
-
reject();
|
|
304
|
-
}
|
|
305
|
-
});
|
|
314
|
+
MyDataHelps.connectExternalAccount = function (externalAccountProviderID) {
|
|
315
|
+
if (window.webkit.messageHandlers.ConnectExternalAccount) {
|
|
316
|
+
window.webkit.messageHandlers.ConnectExternalAccount.postMessage({ externalAccountProviderID: externalAccountProviderID });
|
|
317
|
+
}
|
|
306
318
|
}
|
|
307
319
|
|
|
320
|
+
MyDataHelps.showProject = function (projectCode) {
|
|
321
|
+
if (window.webkit.messageHandlers.ShowProject) {
|
|
322
|
+
window.webkit.messageHandlers.ShowProject.postMessage({ code: projectCode });
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
|
|
326
|
+
MyDataHelps.joinProject = function (projectCode) {
|
|
327
|
+
if (window.webkit.messageHandlers.JoinProject) {
|
|
328
|
+
window.webkit.messageHandlers.JoinProject.postMessage({code: projectCode});
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
|
|
308
332
|
MyDataHelps.getCurrentLanguage = function () {
|
|
309
333
|
var searchParams = new URLSearchParams(window.location.search);
|
|
310
334
|
if (searchParams.has("lang")) {
|
|
@@ -330,18 +354,43 @@ var RKStudioClient = {};
|
|
|
330
354
|
registeredEventHandlers[eventName].push(eventHandler);
|
|
331
355
|
};
|
|
332
356
|
|
|
357
|
+
MyDataHelps.off = function (eventName, eventHandler) {
|
|
358
|
+
|
|
359
|
+
if (!supportedEvents.includes(eventName)) {
|
|
360
|
+
throw new Error(eventName + " is not a supported event type.");
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
if (!registeredEventHandlers[eventName]) return;
|
|
364
|
+
|
|
365
|
+
var eventHandlerIndex = registeredEventHandlers[eventName].indexOf(eventHandler);
|
|
366
|
+
|
|
367
|
+
if (eventHandlerIndex !== -1) {
|
|
368
|
+
registeredEventHandlers[eventName].splice(eventHandlerIndex, 1);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
333
372
|
//Data
|
|
334
373
|
|
|
374
|
+
var makeUrl = function (endpoint) {
|
|
375
|
+
if (!MyDataHelps.baseUrl) {
|
|
376
|
+
console.error("Cannot use makeUrl without MyDataHelps.baseUrl.");
|
|
377
|
+
throw "Cannot use makeUrl without MyDataHelps.baseUrl.";
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
return MyDataHelps.baseUrl + apiBasePath + endpoint;
|
|
381
|
+
}
|
|
382
|
+
|
|
335
383
|
var makeRequest = function (endpoint, method, body) {
|
|
336
384
|
if (!MyDataHelps.token || !MyDataHelps.token.access_token) {
|
|
337
385
|
throw "No access_token available for request authorization.";
|
|
338
386
|
}
|
|
339
387
|
|
|
340
|
-
var url =
|
|
388
|
+
var url = makeUrl(endpoint);
|
|
341
389
|
|
|
342
390
|
var headers = new Headers();
|
|
343
391
|
headers.append('Authorization', 'Bearer ' + MyDataHelps.token.access_token);
|
|
344
392
|
headers.append('Accept', 'application/json, text/javascript, */*; q=0.01');
|
|
393
|
+
headers.append('Accept-Language', MyDataHelps.getCurrentLanguage());
|
|
345
394
|
if (!!body) {
|
|
346
395
|
headers.append('Content-Type', 'application/json');
|
|
347
396
|
}
|
|
@@ -469,6 +518,16 @@ var RKStudioClient = {};
|
|
|
469
518
|
.then(function (response) { return validateResponse(response); })
|
|
470
519
|
.then(function (response) { return; });
|
|
471
520
|
};
|
|
521
|
+
|
|
522
|
+
MyDataHelps.trackCustomEvent = function (event) {
|
|
523
|
+
var endpoint = 'customevents';
|
|
524
|
+
|
|
525
|
+
return MyDataHelps
|
|
526
|
+
.connect()
|
|
527
|
+
.then(function () { return makeRequest(endpoint, 'POST', event); })
|
|
528
|
+
.then(function (response) { return validateResponse(response); })
|
|
529
|
+
.then(function (response) { return; });
|
|
530
|
+
};
|
|
472
531
|
|
|
473
532
|
MyDataHelps.querySurveyTasks = function (queryParameters) {
|
|
474
533
|
if (queryParameters.hasOwnProperty("status")) {
|
|
@@ -505,4 +564,115 @@ var RKStudioClient = {};
|
|
|
505
564
|
.then(function (response) { return validateResponse(response); })
|
|
506
565
|
.then(function (response) { return response.json(); });
|
|
507
566
|
};
|
|
567
|
+
|
|
568
|
+
MyDataHelps.getExternalAccountProviders = function (search, category) {
|
|
569
|
+
var searchParameters = {};
|
|
570
|
+
if (!!search) searchParameters.search = search;
|
|
571
|
+
if (!!category) searchParameters.category = category;
|
|
572
|
+
|
|
573
|
+
var queryString = new URLSearchParams(searchParameters).toString();
|
|
574
|
+
var endpoint = 'externalaccountproviders?' + queryString;
|
|
575
|
+
|
|
576
|
+
return MyDataHelps
|
|
577
|
+
.connect()
|
|
578
|
+
.then(function () { return makeRequest(endpoint, 'GET', null); })
|
|
579
|
+
.then(function (response) { return validateResponse(response); })
|
|
580
|
+
.then(function (response) { return response.json(); });
|
|
581
|
+
};
|
|
582
|
+
|
|
583
|
+
MyDataHelps.getExternalAccounts = function () {
|
|
584
|
+
var endpoint = 'externalaccounts';
|
|
585
|
+
|
|
586
|
+
return MyDataHelps
|
|
587
|
+
.connect()
|
|
588
|
+
.then(function () { return makeRequest(endpoint, 'GET', null); })
|
|
589
|
+
.then(function (response) { return validateResponse(response); })
|
|
590
|
+
.then(function (response) { return response.json(); });
|
|
591
|
+
};
|
|
592
|
+
|
|
593
|
+
MyDataHelps.refreshExternalAccount = function (accountId) {
|
|
594
|
+
var endpoint = 'externalaccounts/refresh/' + accountId;
|
|
595
|
+
|
|
596
|
+
return MyDataHelps
|
|
597
|
+
.connect()
|
|
598
|
+
.then(function () { return makeRequest(endpoint, 'POST', null); })
|
|
599
|
+
.then(function (response) { return validateResponse(response); })
|
|
600
|
+
.then(function (response) { return; });
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
MyDataHelps.invokeCustomApi = function (customApi, method, queryParameters, jsonResponse) {
|
|
604
|
+
if(customApi.includes('?')) {
|
|
605
|
+
throw new Error("Cannot include query parameters directly in the \"customApi\" string. Provide as an argument for \"queryParameters\" instead.");
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
var endpoint = 'custom/' + customApi;
|
|
609
|
+
method = method.toUpperCase();
|
|
610
|
+
if(queryParameters !== null && queryParameters !== undefined && (method === 'GET' || method === 'DELETE')) {
|
|
611
|
+
var parameterString = new URLSearchParams(queryParameters).toString();
|
|
612
|
+
endpoint += "?" + parameterString;
|
|
613
|
+
queryParameters = null;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
return MyDataHelps
|
|
617
|
+
.connect()
|
|
618
|
+
.then(function () { return makeRequest(endpoint, method, queryParameters); })
|
|
619
|
+
.then(function (response) { return validateResponse(response); })
|
|
620
|
+
.then(function (response) { return jsonResponse ? response.json() : undefined; });
|
|
621
|
+
};
|
|
622
|
+
|
|
623
|
+
//Embedded surveys and tasks
|
|
624
|
+
|
|
625
|
+
function getBaseUrl() {
|
|
626
|
+
return MyDataHelps.baseUrl || 'https://mydatahelps.org/';
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
MyDataHelps.startEmbeddedSurvey = function (linkIdentifier, surveyName, language) {
|
|
630
|
+
if (!language) { language = this.getCurrentLanguage(); }
|
|
631
|
+
var surveyUrl = getBaseUrl() + "mydatahelps/" + linkIdentifier + '/surveylink/' + surveyName + "?lang=" + language;
|
|
632
|
+
return startEmbeddedSurvey(surveyUrl);
|
|
633
|
+
};
|
|
634
|
+
|
|
635
|
+
MyDataHelps.startEmbeddedTask = function (linkIdentifier, taskLinkIdentifier, language) {
|
|
636
|
+
if (!language) { language = this.getCurrentLanguage(); }
|
|
637
|
+
var surveyUrl = getBaseUrl() + "mydatahelps/" + linkIdentifier + '/tasklink/' + taskLinkIdentifier + "?lang=" + language;
|
|
638
|
+
return startEmbeddedSurvey(surveyUrl);
|
|
639
|
+
};
|
|
640
|
+
|
|
641
|
+
function startEmbeddedSurvey(surveyUrl) {
|
|
642
|
+
var mdhSurveyModalId = 'mydatahelps-survey-modal';
|
|
643
|
+
|
|
644
|
+
return new Promise(function (resolve, reject) {
|
|
645
|
+
if (document.getElementById(mdhSurveyModalId)) {
|
|
646
|
+
reject("Survey already in progress");
|
|
647
|
+
return;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
window.addEventListener("message", function listener(message) {
|
|
651
|
+
if (message.origin !== new URL(getBaseUrl()).origin) {
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
var frame = document.getElementById('mydatahelps-survey-frame').contentWindow;
|
|
655
|
+
if (message.source !== frame) {
|
|
656
|
+
return;
|
|
657
|
+
}
|
|
658
|
+
if (message.data.name == 'SurveyWindowInitialized') {
|
|
659
|
+
document.getElementById(mdhSurveyModalId).className += " loaded";
|
|
660
|
+
} else if (message.data.name == 'SurveyFinished') {
|
|
661
|
+
document.getElementById(mdhSurveyModalId).remove();
|
|
662
|
+
document.body.className = document.body.className.replace("no-scroll", "");
|
|
663
|
+
window.removeEventListener("message", listener, true);
|
|
664
|
+
resolve(message.data);
|
|
665
|
+
}
|
|
666
|
+
}, true);
|
|
667
|
+
|
|
668
|
+
var surveyModal = document.createElement('div');
|
|
669
|
+
surveyModal.className = 'mydatahelps-survey-modal';
|
|
670
|
+
surveyModal.id = mdhSurveyModalId;
|
|
671
|
+
surveyModal.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>";
|
|
672
|
+
document.body.append(surveyModal);
|
|
673
|
+
document.body.className += ' no-scroll';
|
|
674
|
+
});
|
|
675
|
+
}
|
|
508
676
|
})();
|
|
677
|
+
|
|
678
|
+
export default MyDataHelps;
|
package/MyDataHelps.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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]}var referrer=document.referrer;if(referrer){return new URL(referrer).origin}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)},DeleteProviderAccount:function(data){window.parent.postMessage({name:"DeleteProviderAccount",messageID:data.messageID,accountID:data.accountID},applicationHost)},ConnectExternalAccount:function(data){window.parent.postMessage({name:"ConnectExternalAccount",messageID:data.messageID,externalAccountProviderID:data.externalAccountProviderID},applicationHost)}}}var unsupportedActions=["SetHeight","ResearchKit"];var supportedEvents=["surveyDidFinish","applicationDidBecomeVisible"];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.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.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.message){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,redirectPath){return new Promise(function(){var messageID=nextMessageID();messageHandlers[messageID]=function(connectExternalAccountResponse){if(connectExternalAccountResponse.message){reject(connectExternalAccountResponse)}else{resolve(connectExternalAccountResponse)}};if(window.webkit.messageHandlers.ConnectExternalAccount){window.webkit.messageHandlers.ConnectExternalAccount.postMessage({messageID:messageID,externalAccountProviderID:externalAccountProviderID,redirectPath:redirectPath})}else{reject()}})};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 makeRequest=function(endpoint,method,body){if(!MyDataHelps.token||!MyDataHelps.token.access_token){throw"No access_token available for request authorization."}var url=MyDataHelps.baseUrl+apiBasePath+endpoint;var headers=new Headers;headers.append("Authorization","Bearer "+MyDataHelps.token.access_token);headers.append("Accept","application/json, text/javascript, */*; q=0.01");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()})}})();
|
|
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","externalAccountSyncComplete","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)};MyDataHelps.off=function(eventName,eventHandler){if(!supportedEvents.includes(eventName)){throw new Error(eventName+" is not a supported event type.")}if(!registeredEventHandlers[eventName])return;var eventHandlerIndex=registeredEventHandlers[eventName].indexOf(eventHandler);if(eventHandlerIndex!==-1){registeredEventHandlers[eventName].splice(eventHandlerIndex,1)}};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.trackCustomEvent=function(event){var endpoint="customevents";return MyDataHelps.connect().then(function(){return makeRequest(endpoint,"POST",event)}).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})};MyDataHelps.invokeCustomApi=function(customApi,method,queryParameters,jsonResponse){if(customApi.includes("?")){throw new Error('Cannot include query parameters directly in the "customApi" string. Provide as an argument for "queryParameters" instead.')}var endpoint="custom/"+customApi;method=method.toUpperCase();if(queryParameters!==null&&queryParameters!==undefined&&(method==="GET"||method==="DELETE")){var parameterString=new URLSearchParams(queryParameters).toString();endpoint+="?"+parameterString;queryParameters=null}return MyDataHelps.connect().then(function(){return makeRequest(endpoint,method,queryParameters)}).then(function(response){return validateResponse(response)}).then(function(response){return jsonResponse?response.json():undefined})};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-forms 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"})}})();export default MyDataHelps;
|
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","referrer","URL","origin","acceptableOrigin","allowedApplicationHosts","sourceURL","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","DeleteProviderAccount","accountID","ConnectExternalAccount","externalAccountProviderID","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","startSurvey","openExternalUrl","openEmbeddedUrl","openApplication","options","dismiss","back","showTab","showDashboard","title","undefined","showWebVisualization","setStatusBarStyle","style","SetStatusBarStyle","requestReview","cooldownDays","RequestReview","getDeviceInfo","deviceInfoResponse","deleteExternalAccount","deleteProviderAccountResponse","connectExternalAccount","redirectPath","connectExternalAccountResponse","getCurrentLanguage","searchParams","URLSearchParams","search","has","get","navigator","language","on","eventHandler","Error","push","makeRequest","endpoint","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","answer","before","after","queryString","toString","deleteSurveyResult","resultID","encodeURIComponent","queryDeviceData","observedBefore","observedAfter","persistDeviceData","deviceDataPoints","querySurveyTasks","status","queryNotifications","sentBefore","sentAfter"],"mappings":"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"}
|
|
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","off","eventHandlerIndex","indexOf","splice","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","trackCustomEvent","querySurveyTasks","status","queryNotifications","sentBefore","sentAfter","getExternalAccountProviders","category","searchParameters","getExternalAccounts","refreshExternalAccount","accountId","invokeCustomApi","customApi","jsonResponse","toUpperCase","parameterString","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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"}
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
The MyDataHelps.js SDK provides the essential infrastructure for building applications that your
|
|
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
6
|
|
|
7
7
|
The SDK can be used to create interactive dashboards, personalized by participants' survey responses and other available information.
|
|
8
8
|
|
package/package.json
CHANGED