1- import { stateGetApp } from './common-lib.js' ;
1+ import { hdsModel , initHDSModel , stateGetApp } from './common-lib.js' ;
22import { drLib } from './dr-lib.js' ;
33import { exportXLSFile } from './exporToXLS.js' ;
44
@@ -15,6 +15,7 @@ window.onload = (event) => {
1515} ;
1616
1717async function stateChange ( state ) {
18+ await initHDSModel ( ) ;
1819 if ( state === 'loggedIN' ) {
1920 document . getElementById ( 'please-login' ) . style . display = 'none' ;
2021 document . getElementById ( 'data-view' ) . style . display = 'block' ;
@@ -83,7 +84,38 @@ async function showQuestionnary(questionaryId) {
8384 await collector . init ( ) ; // load controller data only when needed
8485 // show details
8586 const status = collector . statusData ;
86- document . getElementById ( 'requestContent' ) . innerHTML = JSON . stringify ( status , null , 2 ) ;
87+
88+ document . getElementById ( 'request-title' ) . innerHTML = HDSLib . l ( status . requestContent . title ) ;
89+ document . getElementById ( 'request-requester' ) . innerHTML = status . requestContent . requester . name ;
90+ document . getElementById ( 'request-description' ) . innerHTML = HDSLib . l ( status . requestContent . description ) ;
91+ document . getElementById ( 'request-consent' ) . innerHTML = HDSLib . l ( status . requestContent . consent ) ;
92+ const permissionsStr = status . requestContent . permissions . map ( p => `- ${ p . defaultName } => ${ p . level } ` ) . join ( '<BR>\n' ) ;
93+ document . getElementById ( 'request-permissions' ) . innerHTML = permissionsStr ;
94+ document . getElementById ( 'request-app-id' ) . innerHTML = status . requestContent . app . id ;
95+ document . getElementById ( 'request-app-url' ) . innerHTML = status . requestContent . app . url ;
96+
97+ // document.getElementById('requestContent').innerHTML = JSON.stringify(status, null, 2);
98+ // forms sections
99+ const table = document . getElementById ( 'forms-sections' ) ;
100+ const keyTitles = { type : 'Type' , name : 'Name' , itemKeys : 'ItemKeys' } ;
101+
102+ const forms = Object . values ( status . requestContent . app . data . forms ) ;
103+ console . log ( '## forms' , forms ) ;
104+ for ( const [ key , title ] of Object . entries ( keyTitles ) ) {
105+ const row = table . insertRow ( - 1 ) ;
106+ row . insertCell ( - 1 ) . innerHTML = title ;
107+ for ( const form of forms ) {
108+ let content = form [ key ] ;
109+ if ( key === 'itemKeys' ) {
110+ content = content . map ( ( itemKey ) => {
111+ const itemDef = hdsModel ( ) . itemsDefs . forKey ( itemKey ) ;
112+ return '- ' + HDSLib . l ( itemDef . data . label ) ;
113+ } ) . join ( '\n<br>' ) ;
114+ }
115+ row . insertCell ( - 1 ) . innerHTML = content ;
116+ }
117+ }
118+
87119 console . log ( '## showQuestionnary' , status ) ;
88120
89121 // set create sharing button
0 commit comments