Add rule violation footer
This commit is contained in:
parent
14a77c95ea
commit
323be88f75
1 changed files with 46 additions and 13 deletions
|
@ -166,35 +166,65 @@ function createCollapsibleCard(sectionIdStr, sectionTitle) {
|
||||||
|
|
||||||
function createCollapsibleCardBody(form, type, sectionIdStr, sectionDescription, sectionCompleted) {
|
function createCollapsibleCardBody(form, type, sectionIdStr, sectionDescription, sectionCompleted) {
|
||||||
// Create wrapper div
|
// Create wrapper div
|
||||||
const div = document.createElement("div");
|
const collapseDiv = document.createElement("div");
|
||||||
div.id = sectionIdStr + "collapse";
|
collapseDiv.id = sectionIdStr + "collapse";
|
||||||
const sectionAlert = document.createElement("div");
|
const sectionAlert = document.createElement("div");
|
||||||
const cardBody = document.createElement("div");
|
const cardBody = document.createElement("div");
|
||||||
cardBody.classList.add("card-body");
|
cardBody.classList.add("card-body");
|
||||||
|
|
||||||
if (sectionCompleted) {
|
if (sectionCompleted) {
|
||||||
div.classList.add("collapse");
|
collapseDiv.classList.add("collapse");
|
||||||
sectionAlert.classList.add("alert", "alert-success");
|
sectionAlert.classList.add("alert", "alert-success");
|
||||||
sectionAlert.innerHTML = "This section is complete";
|
sectionAlert.innerHTML = "This section is complete";
|
||||||
} else {
|
} else {
|
||||||
div.classList.add("collapse", "show");
|
collapseDiv.classList.add("collapse", "show");
|
||||||
sectionAlert.classList.add("alert", "alert-danger");
|
sectionAlert.classList.add("alert", "alert-danger");
|
||||||
sectionAlert.innerHTML = "This section is not complete";
|
sectionAlert.innerHTML = "This section is not complete";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type === reportType.EDIT) {
|
if (type === reportType.EDIT) {
|
||||||
div.setAttribute("data-parent", "#editReportAccordion");
|
collapseDiv.setAttribute("data-parent", "#editReportAccordion");
|
||||||
} else {
|
} else {
|
||||||
div.setAttribute("data-parent", "#newReportAccordion");
|
collapseDiv.setAttribute("data-parent", "#newReportAccordion");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create card body. Append form to body, body to wrapper div
|
// Create card body. Append form to body, body to wrapper div
|
||||||
cardBody.appendChild(sectionAlert);
|
cardBody.appendChild(sectionAlert);
|
||||||
cardBody.insertAdjacentHTML("beforeend", sectionDescription);
|
cardBody.insertAdjacentHTML("beforeend", sectionDescription);
|
||||||
cardBody.appendChild(form);
|
cardBody.appendChild(form);
|
||||||
div.appendChild(cardBody);
|
collapseDiv.appendChild(cardBody);
|
||||||
|
|
||||||
return div;
|
return collapseDiv;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createCardFooter(ruleViolations) {
|
||||||
|
const cardFooter = document.createElement("div");
|
||||||
|
cardFooter.classList.add("card-footer");
|
||||||
|
|
||||||
|
if (ruleViolations.length === 0) {
|
||||||
|
return cardFooter;
|
||||||
|
}
|
||||||
|
|
||||||
|
const violationMessage = document.createElement("div");
|
||||||
|
violationMessage.classList.add("alert", "alert-danger");
|
||||||
|
const h5 = document.createElement("h5");
|
||||||
|
h5.innerHTML = "Rule Violations";
|
||||||
|
h5.classList.add("alert-heading");
|
||||||
|
violationMessage.appendChild(h5);
|
||||||
|
|
||||||
|
for (let i = 0; i < ruleViolations.length; i++) {
|
||||||
|
let violation = document.createElement("p");
|
||||||
|
let violationLabel = document.createElement("strong");
|
||||||
|
violationLabel.innerHTML = ruleViolations[i].label;
|
||||||
|
violation.appendChild(violationLabel);
|
||||||
|
violation.appendChild(document.createElement("br"));
|
||||||
|
let ruleBreakText = document.createTextNode(ruleViolations[i].rule_break_text);
|
||||||
|
violation.appendChild(ruleBreakText);
|
||||||
|
violationMessage.appendChild(violation);
|
||||||
|
}
|
||||||
|
|
||||||
|
cardFooter.appendChild(violationMessage);
|
||||||
|
return cardFooter;
|
||||||
}
|
}
|
||||||
|
|
||||||
function createReportForm(parsedData, type) {
|
function createReportForm(parsedData, type) {
|
||||||
|
@ -224,16 +254,14 @@ function createReportForm(parsedData, type) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add report title and date
|
// Add report title and date
|
||||||
const reportTitle = parsedData.title;
|
modalLabel.innerHTML = parsedData.title;
|
||||||
modalLabel.innerHTML = reportTitle;
|
|
||||||
|
|
||||||
// Traverse the report's sections array
|
// Traverse the report's sections array
|
||||||
const sections = parsedData.sections;
|
const sections = parsedData.sections;
|
||||||
for (let i = 0; i < sections.length; i++) {
|
for (let i = 0; i < sections.length; i++) {
|
||||||
let sectionIdStr = "section-" + sections[i].id + "-";
|
|
||||||
let collapsibleCard = createCollapsibleCard(sectionIdStr, sections[i].title)
|
|
||||||
|
|
||||||
// Create a new form with the section key index as id
|
// Create a new form with the section key index as id
|
||||||
|
let sectionIdStr = "section-" + sections[i].id + "-";
|
||||||
let form = document.createElement("form");
|
let form = document.createElement("form");
|
||||||
form.classList.add("form", "section-form");
|
form.classList.add("form", "section-form");
|
||||||
form.id = sectionIdStr + "form";
|
form.id = sectionIdStr + "form";
|
||||||
|
@ -260,7 +288,12 @@ function createReportForm(parsedData, type) {
|
||||||
form.appendChild(saveButton);
|
form.appendChild(saveButton);
|
||||||
|
|
||||||
// Create collapsible card body, append form to it, append card to accordion
|
// Create collapsible card body, append form to it, append card to accordion
|
||||||
let cardBody = createCollapsibleCardBody(form, type, sectionIdStr, sections[i].html_description, sections[i].completed);
|
let cardBody = createCollapsibleCardBody(form, type, sectionIdStr,
|
||||||
|
sections[i].html_description, sections[i].completed);
|
||||||
|
if (sections[i].rule_violations.length > 0) {
|
||||||
|
cardBody.appendChild(createCardFooter(sections[i].rule_violations));
|
||||||
|
}
|
||||||
|
let collapsibleCard = createCollapsibleCard(sectionIdStr, sections[i].title)
|
||||||
collapsibleCard.appendChild(cardBody);
|
collapsibleCard.appendChild(cardBody);
|
||||||
accordion.appendChild(collapsibleCard);
|
accordion.appendChild(collapsibleCard);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue