Skip to content

Commit f37878e

Browse files
committed
Integrating request object
1 parent 9fc5638 commit f37878e

12 files changed

Lines changed: 48 additions & 47 deletions

dr-controler.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,33 +84,35 @@ async function showQuestionnary(questionaryId) {
8484
// TODO check if the following line is necessary
8585
await collector.init(); // load controller data only when needed
8686
// show details
87-
const requestContent = collector.request.content;
8887

89-
document.getElementById('request-title').innerHTML = HDSLib.l(requestContent.title);
90-
document.getElementById('request-requester').innerHTML = requestContent.requester.name;
91-
document.getElementById('request-description').innerHTML = HDSLib.l(requestContent.description);
92-
document.getElementById('request-consent').innerHTML = HDSLib.l(requestContent.consent);
93-
const permissionsStr = requestContent.permissions.map(p => `- ${p.defaultName} => ${p.level}`).join('<BR>\n');
88+
document.getElementById('request-title').innerHTML = HDSLib.l(collector.request.title);
89+
document.getElementById('request-requester').innerHTML = collector.request.requesterName;
90+
document.getElementById('request-description').innerHTML = HDSLib.l(collector.request.description);
91+
document.getElementById('request-consent').innerHTML = HDSLib.l(collector.request.consent);
92+
const permissionsStr = collector.request.permissions.map(p => `- ${p.defaultName} => ${p.level}`).join('<BR>\n');
9493
document.getElementById('request-permissions').innerHTML = permissionsStr;
95-
document.getElementById('request-app-id').innerHTML = requestContent.app.id;
96-
document.getElementById('request-app-url').innerHTML = requestContent.app.url;
94+
document.getElementById('request-app-id').innerHTML = collector.request.appId;
95+
document.getElementById('request-app-url').innerHTML = collector.request.appUrl;
9796

9897
// document.getElementById('requestContent').innerHTML = JSON.stringify(status, null, 2);
9998
// forms sections
10099
const table = document.getElementById('forms-sections');
101100
table.innerHTML = '';
102101
const keyTitles = { type: 'Type', name: 'Name', itemKeys: 'ItemKeys'};
103102

104-
const forms = Object.values(requestContent.app.data.forms);
105-
console.log('## forms', forms);
103+
const sections = collector.request.sections;
104+
console.log('## sections', sections);
106105
for (const [key, title] of Object.entries(keyTitles)) {
107106
const row = table.insertRow(-1);
108107
row.insertCell(-1).innerHTML = title;
109-
for (const form of forms) {
110-
let content = form[key];
108+
for (const section of sections) {
109+
let content = section[key];
110+
if (key === 'name') {
111+
content = HDSLib.l(content); // localizable text
112+
}
111113
if (key === 'itemKeys') {
112114
content = content.map((itemKey) => {
113-
const itemDef = HDSLib.model.itemsDefs.forKey(itemKey);
115+
const itemDef = HDSLib.getHDSModel().itemsDefs.forKey(itemKey);
114116
return '- ' + itemDef.label;
115117
}).join('\n<br>');
116118
}

dr-lib.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ async function initDemoAccount (appManaging) {
9292
}
9393
// 2 - get the permissions with eventual preRequest
9494
const preRequest = questionary.permissionsPreRequest || [];
95-
const permissions = HDSLib.model.authorizations.forItemKeys(itemKeys, { preRequest });
95+
const permissions = HDSLib.getHDSModel().authorizations.forItemKeys(itemKeys, { preRequest });
9696

9797
const requestContent = {
9898
version: '0',
@@ -137,10 +137,10 @@ async function getPatientsData (collector) {
137137
createdAt: 'Date'
138138
}
139139
// headers from first form
140-
const firstForm = Object.values(requestContent.app.data.forms)[0];
140+
const firstSection = requestContent.sections[0];
141141
const itemDefs = [];
142-
for (const itemKey of firstForm.itemKeys) {
143-
const itemDef = HDSLib.model.itemsDefs.forKey(itemKey);
142+
for (const itemKey of firstSection.itemKeys) {
143+
const itemDef = HDSLib.getHDSModel().itemsDefs.forKey(itemKey);
144144
itemDefs.push(itemDef);
145145
headers[itemDef.key] = itemDef.label;
146146
}
@@ -210,7 +210,7 @@ async function getPatientDetails(invite, itemDefs) {
210210
* @param {*} event
211211
*/
212212
function dataFieldFromEvent(event) {
213-
const itemDef = HDSLib.model.itemsDefs.forEvent(event, false);
213+
const itemDef = HDSLib.getHDSModel().itemsDefs.forEvent(event, false);
214214
if (!itemDef) {
215215
console.error("## itemDef not found for event", event);
216216
return null;

dr-patient-view-lib.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ async function getPatientData (invite) {
3535

3636

3737
function getLineForEvent (event) {
38-
const model = HDSLib.model;
38+
const model = HDSLib.getHDSModel();
3939
const line = {
4040
time: (new Date(event.time * 1000)).toISOString(),
4141
formLabel: 'Unkown',

dr-patient-view.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Inter:300,400">
1212
<title>Demo Form - Dr's page</title>
1313
</head>
14-
<script src="https://healthdatasafe.github.io/hds-lib-js/hds-lib.js"></script>
14+
<script src="https://whatever.backloop.dev:5553/hds-lib.js"></script>
1515
<script type="module" src="dr-patient-view-controler.js"></script>
1616

1717
<body style="background-color:powderblue;">

dr.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Inter:300,400">
1212
<title>Demo Form - Dr's page</title>
1313
</head>
14-
<script src="https://healthdatasafe.github.io/hds-lib-js/hds-lib.js"></script>
14+
<script src="https://whatever.backloop.dev:5553/hds-lib.js"></script>
1515
<script type="module" src="dr-controler.js"></script>
1616

1717
<body style="background-color:powderblue;">

patient-history-controler.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { stateGetApp, stateGetData } from './common-lib.js';
99
*/
1010
let navData;
1111
window.onload = async (event) => {
12+
await HDSLib.initHDSModel();
1213
// const get formKey
1314
const formKey = (new URLSearchParams(window.location.search)).get('formKey');
1415
const appClient = await stateGetApp('client');
@@ -19,8 +20,8 @@ window.onload = async (event) => {
1920

2021
// form title
2122
const formTitle = document.getElementById('card-questionnary-details-title');
22-
const requestData = collectorClient.requestData;
23-
const title = HDSLib.l(requestData.app.data.forms[formKey].title);
23+
const section = collectorClient.request.getSectionByKey(formKey);
24+
const title = HDSLib.l(section.title);
2425
formTitle.innerHTML = title;
2526

2627
const dateInput = document.getElementById("form-date");

patient-history.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Inter:300,400">
1212
<title>Demo Form - Patient's page</title>
1313
</head>
14-
<script src="https://healthdatasafe.github.io/hds-lib-js/hds-lib.js"></script>
14+
<script src="https://whatever.backloop.dev:5553/hds-lib.js"></script>
1515
<script type="module" src="patient-history-controler.js"></script>
1616

1717
<body>

patient-home-controler.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ function stateChange(state) {
2626
}
2727

2828
async function refresh() {
29+
await HDSLib.initHDSModel();
2930
const inviteParams = getInviteParamsFromURL();
3031
const appClient = await stateGetApp('client');
3132
if (inviteParams) {

patient-lib.js

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,15 @@ async function navGetPages(collectorClient) {
2222
label: 'Home',
2323
formKey: null
2424
}];
25-
const forms = collectorClient.requestData.app.data.forms;
26-
console.log('## nav Forms', collectorClient.requestData);
27-
for (const [formKey, form] of Object.entries(forms)) {
25+
for (const section of collectorClient.request.sections) {
2826
pages.push({
29-
type: form.type,
30-
label: form.name,
31-
url: pagesByTypes[form.type] + '?formKey=' + formKey,
32-
formKey
27+
type: section.type,
28+
label: HDSLib.l(section.name),
29+
url: pagesByTypes[section.type] + '?formKey=' + section.key,
30+
formKey: section.key
3331
});
3432
}
33+
console.log("NNNN ", collectorClient.request, pages);
3534
return pages;
3635
}
3736

@@ -42,10 +41,9 @@ async function navGetPages(collectorClient) {
4241

4342
async function getFormHistorical (collectorClient, formKey) {
4443
await HDSLib.initHDSModel();
45-
const requestData = collectorClient.requestData;
46-
const form = requestData.app.data.forms[formKey];
47-
const formFields = form.itemKeys.map((itemKey) => {
48-
const itemDef = HDSLib.model.itemsDefs.forKey(itemKey);
44+
const section = collectorClient.request.getSectionByKey(formKey);
45+
const formFields = section.itemKeys.map((itemKey) => {
46+
const itemDef = HDSLib.getHDSModel().itemsDefs.forKey(itemKey);
4947

5048
return {
5149
id: itemDef.key,
@@ -66,11 +64,10 @@ async function getFormHistorical (collectorClient, formKey) {
6664
*/
6765
async function getFormPermanentContent (collectorClient, formKey) {
6866
await HDSLib.initHDSModel();
69-
const requestData = collectorClient.requestData;
70-
const form = requestData.app.data.forms[formKey];
71-
console.log('## getFormPermanentContent ', {form, formKey, collectorClient})
67+
const section = collectorClient.request.getSectionByKey(formKey);
68+
console.log('## getFormPermanentContent ', {section, formKey, collectorClient})
7269
// get formItems
73-
const formItemDefs = form.itemKeys.map((itemKey) => (HDSLib.model.itemsDefs.forKey(itemKey)));
70+
const formItemDefs = section.itemKeys.map((itemKey) => (HDSLib.getHDSModel().itemsDefs.forKey(itemKey)));
7471
// get the values from the API
7572
const apiCalls = formItemDefs.map(itemDef => ({
7673
method: 'events.get',
@@ -113,9 +110,8 @@ async function getFormPermanentContent (collectorClient, formKey) {
113110

114111
async function getHistoricalContent(collectorClient, formKey) {
115112
await HDSLib.initHDSModel();
116-
const requestData = collectorClient.requestData;
117-
const form = requestData.app.data.forms[formKey];
118-
const itemDefs = form.itemKeys.map((itemKey) => (HDSLib.model.itemsDefs.forKey(itemKey)));
113+
const section = collectorClient.request.getSectionByKey(formKey);
114+
const itemDefs = section.itemKeys.map((itemKey) => (HDSLib.getHDSModel().itemsDefs.forKey(itemKey)));
119115
const tableHeaders = itemDefs.map(itemDef => ({
120116
fieldId: itemDef.key,
121117
label: itemDef.label,
@@ -124,7 +120,7 @@ async function getHistoricalContent(collectorClient, formKey) {
124120

125121
const valuesByDateStr = {};
126122
function addEntry (event) {
127-
const itemDef = HDSLib.model.itemsDefs.forEvent(event, false);
123+
const itemDef = HDSLib.getHDSModel().itemsDefs.forEvent(event, false);
128124
if (itemDef == null) {
129125
console.log('Historical content -- unkown event', event);
130126
return;

patient-profile-controler.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { stateGetApp, stateGetData } from './common-lib.js';
1111

1212
let navData;
1313
window.onload = async (event) => {
14+
await HDSLib.initHDSModel();
1415
// const get formKey
1516
const formKey = (new URLSearchParams(window.location.search)).get('formKey');
1617
const appClient = await stateGetApp('client');
@@ -21,8 +22,8 @@ window.onload = async (event) => {
2122

2223
// form title
2324
const formTitle = document.getElementById('card-questionnary-details-title');
24-
const requestData = collectorClient.requestData;
25-
const title = HDSLib.l(requestData.app.data.forms[formKey].title);
25+
const section = collectorClient.request.getSectionByKey(formKey);
26+
const title = HDSLib.l(section.title);
2627
formTitle.innerHTML = title;
2728

2829
// set navData

0 commit comments

Comments
 (0)