diff --git a/back/db.sqlite3 b/back/db.sqlite3 index 9b7a3db..54ace4a 100644 Binary files a/back/db.sqlite3 and b/back/db.sqlite3 differ diff --git a/front/static/edit_report.html b/front/static/edit_report.html index 474746f..50af1af 100644 --- a/front/static/edit_report.html +++ b/front/static/edit_report.html @@ -81,6 +81,20 @@ + diff --git a/front/static/js/viewHistory.js b/front/static/js/viewHistory.js index 4b2899b..6eae3cf 100644 --- a/front/static/js/viewHistory.js +++ b/front/static/js/viewHistory.js @@ -252,8 +252,10 @@ function displayListOfReports(parsedData) { } else { // View button dateSubmitted = new Date(reports[i].date_submitted).toLocaleDateString("en-US"); - actionButton.classList.add("btn-success"); + actionButton.classList.add("btn-success", "view-report-button"); actionButton.innerHTML = "View"; + actionButton.setAttribute("data-toggle", "modal"); + actionButton.setAttribute("data-target", "#viewReportModal"); } let dateSubmittedCell = bodyRow.insertCell(3); @@ -266,6 +268,63 @@ function displayListOfReports(parsedData) { } } +function displayReport(parsedData){ + //Able to get the correct report ID now just needs to display the + //report as an modual + const modalBody = document.querySelector(".modal-view"); + const modalLabel = document.querySelector("#viewReportModalLabel"); + + while (modalBody.firstChild) { + modalBody.removeChild(modalBody.firstChild); + } + + // Add report title and date + const reportTitle = parsedData.title; + const dateCreated = new Date(parsedData.date_created).toLocaleDateString("en-US"); + modalLabel.innerHTML = reportTitle + " " + dateCreated; + + const card = document.createElement("div"); + card.classList.add("card"); + + const cardHeader = document.createElement("div"); + cardHeader.classList.add("card-header"); + + const cardBody = document.createElement("div"); + cardBody.classList.add("card-body"); + + /* + const displayTable = document.createElement("table"); + displayTable.classList.add("table table-striped table-responsive-sm"); + displayTable.style.visibility = "visible"; + cardBody.appendChild(displayTable); +*/ + + + const sections = parsedData.sections; + for (let key in sections) { + let section = sections[key]; + if(section.completed) { + const h4 = document.createElement("h4"); + const value = document.createTextNode(section.title); + + h4.appendChild(value); + cardBody.appendChild(h4); + let fields = section.fields; + for (let key in fields) { + let field = fields[key]; + const p1 = document.createElement("p"); + const p1Value = document.createTextNode(field.label + ": " + field.value); + p1.appendChild(p1Value); + cardBody.appendChild(p1); + } + cardHeader.appendChild(cardBody); + card.appendChild(cardHeader); + } + } + + modalBody.appendChild(card); +} + document.addEventListener("DOMContentLoaded", function(event) { const url = getEndpointDomain() + "api/v1/reports"; getDataFromEndpoint(url, displayListOfReports); @@ -277,6 +336,11 @@ document.addEventListener("click", function(event) { const url = getEndpointDomain() + "api/v1/report/" + event.target.dataset.rid; getDataFromEndpoint(url, createEditReportForm); } - - // TODO: Add view report + if(event.target && event.target.classList.contains("view-report-button")) + { + console.log("View button clicked"); + const url = getEndpointDomain() + "api/v1/report/" + event.target.dataset.rid; + getDataFromEndpoint(url, displayReport); + } + // TODO: Add View Report });