@@ -21,30 +21,40 @@ window.onload = async (event) => {
2121 dateInput . onfocusout = function ( ) {
2222 const date = dateInput . valueAsDate ;
2323 console . log ( "## Focus Out Date" , date ) ;
24- refreshForm ( date ) ;
24+ refreshAll ( date ) ;
2525 } ;
2626
27- refreshForm ( dateInput . valueAsDate ) ;
28- refreshDataTable ( ) ;
27+ refreshAll ( dateInput . valueAsDate ) ;
2928} ;
3029
31- async function refreshForm ( date ) {
30+ async function refreshAll ( date ) {
3231 console . log ( "## Refresh Form Date:" , date ) ;
3332 const { questionaryId, formKey } = navData ;
3433 // -- content
3534 console . log ( ) ;
3635 const formData = await patientLib . getFormContent (
3736 questionaryId ,
38- formKey ,
39- date
37+ formKey
4038 ) ;
39+ const tableRow = await refreshDataTable ( date ) ;
40+ console . log ( '## tableRow' , tableRow ) ;
41+
42+ // HACKY WAY TO ADD EXISTNG CONTENT SHOULD BE DONE IN LIB
43+ for ( const field of formData ) {
44+ if ( tableRow [ field . id ] ) {
45+ field . value = tableRow [ field . id ] . value ;
46+ field . eventId = tableRow [ field . id ] . eventId ;
47+ }
48+ }
49+
4150 updateFormContent ( formData ) ;
4251 document . getElementById ( "submit-button-list" ) . onclick = function ( ) {
4352 submitForm ( formData , date ) ;
4453 } ;
4554}
4655
4756async function refreshDataTable ( date ) {
57+ const currentDateStr = date . toISOString ( ) . split ( "T" ) [ 0 ] ; // format YYYY-MM-DD;
4858 const { questionaryId, formKey } = navData ;
4959 const tableData = await patientLib . getHistoricalContent (
5060 questionaryId ,
@@ -65,15 +75,22 @@ async function refreshDataTable(date) {
6575 }
6676 for ( const [ dateStr , data ] of Object . entries ( tableData . valuesByDate ) ) {
6777 const row = table . insertRow ( - 1 ) ;
78+ if ( currentDateStr === dateStr ) {
79+ row . style . backgroundColor = 'grey' ;
80+ } else {
81+ row . onclick =
82+ }
83+
6884 const cellDate = row . insertCell ( - 1 ) ;
6985 cellDate . innerHTML = dateStr ;
7086 for ( const th of tableData . tableHeaders ) {
7187 const cell = row . insertCell ( - 1 ) ;
72- cell . innerHTML = data [ th . fieldId ] || '' ;
88+ cell . innerHTML = data [ th . fieldId ] ?. value || '' ;
7389 }
7490 }
7591
7692 console . log ( "## tabledata" , tableData ) ;
93+ return tableData . valuesByDate [ currentDateStr ] || { } ;
7794}
7895
7996// ------- Form -------- //
@@ -89,7 +106,7 @@ async function updateFormContent(formData) {
89106 for ( let i = 0 ; i < formData . length ; i ++ ) {
90107 const formField = formData [ i ] ;
91108 const fieldId = formField . id ;
92- const fieldValue = formField . value != null ? formField . value : "" ;
109+ const fieldValue = formField . value != null ? ` ${ formField . value } ` : '' ;
93110 const fieldType = formField . type ;
94111 const fieldLabel = formField . label ;
95112
@@ -101,7 +118,7 @@ async function updateFormContent(formData) {
101118 fieldHTML += `<select id="${ fieldId } " class="form-control">` ;
102119 fieldHTML += `<option value="">--</option>` ;
103120 for ( const option of formField . options ) {
104- const selected = option . value === fieldValue ? "selected" : "" ;
121+ const selected = ` ${ option . value } ` === fieldValue ? "selected" : "" ;
105122 fieldHTML += `<option value="${ option . value } " ${ selected } >${ option . label } </option>` ;
106123 }
107124 fieldHTML += `</select>` ;
@@ -131,4 +148,5 @@ async function submitForm(formData, date) {
131148 }
132149 await patientLib . handleFormSubmit ( formData , values , date ) ;
133150 alert ( "Form submitted successfully" ) ;
151+ refreshAll ( date ) ;
134152}
0 commit comments