const progress = document.createElement("div")
progress.setAttribute("id", `progress_bar_${id}`)
progress.setAttribute("hidden", "hidden")
progress.classList.add("mt-2")
progress.classList.add("progress")
//
const progressBar = document.createElement("div")
progressBar.setAttribute("role", "progressbar")
progressBar.setAttribute("aria-valuenow", "0")
progressBar.setAttribute("aria-valuemin", "0")
progressBar.setAttribute("aria-valuemax", "100")
progressBar.classList.add("progress-bar")
progress.appendChild(progressBar)
return progress
},
// Unhides an existing progress bar
showProgressBar: id => {
const progressBar = App.FileUploadProgress._findProgressBar(id)
progressBar.removeAttribute("hidden")
progressBar.firstChild.setAttribute("style", "width: 0%")
},
// Updates the progress of an existing progress bar
updateProgressBar: (id, progress) => {
const progressBar = App.FileUploadProgress._findProgressBar(id)
progressBar.firstChild.setAttribute("style", `width: ${progress}%`)
progressBar.firstChild.setAttribute("aria-valuenow", progress)
},
// Shows an error message
showError: (id, error) => {
//
{
const progressBar = App.FileUploadProgress._findProgressBar(id)
progressBar.parentNode.removeChild(progressBar)
},
// Finds a progress bar element by the given ID
_findProgressBar: id => {
return document.getElementById(`progress_bar_${id}`)
}
}