55 lines
2.2 KiB
JavaScript
55 lines
2.2 KiB
JavaScript
const ProgressBar = {
|
|
init: () => {
|
|
window.api.on_render_progress((obj_data) => {
|
|
ProgressBar.update(obj_data);
|
|
});
|
|
},
|
|
|
|
update: (obj_data) => {
|
|
let nb_current = obj_data.nb_current || 0;
|
|
let nb_total = obj_data.nb_total || 0;
|
|
let str_camera = obj_data.str_camera || "-";
|
|
let nb_frame = obj_data.nb_frame || 0;
|
|
let str_status = obj_data.str_status || "idle";
|
|
|
|
let nb_percent = 0;
|
|
if (nb_total > 0) {
|
|
nb_percent = Math.round((nb_current / nb_total) * 100);
|
|
}
|
|
|
|
let obj_bar = document.getElementById("bar_progress");
|
|
obj_bar.style.width = nb_percent + "%";
|
|
|
|
let obj_count = document.getElementById("label_progress_count");
|
|
obj_count.textContent = nb_current + " / " + nb_total;
|
|
|
|
let obj_status = document.getElementById("label_progress_status");
|
|
if (str_status === "running") {
|
|
obj_status.textContent = "Rendu en cours...";
|
|
} else if (str_status === "paused") {
|
|
obj_status.textContent = "En pause";
|
|
} else if (str_status === "idle" && nb_current >= nb_total && nb_total > 0) {
|
|
obj_status.textContent = "Termine";
|
|
} else {
|
|
obj_status.textContent = "En attente";
|
|
}
|
|
|
|
let obj_camera_label = document.getElementById("label_current_camera");
|
|
obj_camera_label.textContent = str_camera;
|
|
|
|
let obj_frame_label = document.getElementById("label_current_frame");
|
|
obj_frame_label.textContent = nb_frame !== null && nb_frame !== undefined ? String(nb_frame) : "-";
|
|
|
|
RenderQueue.update_progress(nb_current, obj_data.nb_last_render_ms || 0, obj_data.str_last_image_path || null, obj_data.list_skipped || [], obj_data.list_stopped || [], obj_data.list_skipped_paths || []);
|
|
},
|
|
|
|
reset: () => {
|
|
let obj_bar = document.getElementById("bar_progress");
|
|
obj_bar.style.width = "0%";
|
|
document.getElementById("label_progress_count").textContent = "0 / 0";
|
|
document.getElementById("label_progress_status").textContent = "En attente";
|
|
document.getElementById("label_current_camera").textContent = "-";
|
|
document.getElementById("label_current_frame").textContent = "-";
|
|
},
|
|
};
|