From 9d9294fe76284d3a73585c1ff57fafa86eb83c33 Mon Sep 17 00:00:00 2001 From: "Salvador E. Tropea" Date: Mon, 11 Dec 2023 13:01:59 -0300 Subject: [PATCH] [KiRi][Fixed] List of pages/sheets update - Now the list also contains some status (added/removed) so we must check the list AND the status remains to decide if the list must be updated. - Also removed the extra "onclick" for the layers. --- kibot/resources/kiri/kiri.js | 39 +++++++++++++++--------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/kibot/resources/kiri/kiri.js b/kibot/resources/kiri/kiri.js index 8d418c69..700a8658 100644 --- a/kibot/resources/kiri/kiri.js +++ b/kibot/resources/kiri/kiri.js @@ -31,8 +31,10 @@ var is_fullscreen = false; var sheet_pages_commit1 = new Set(); var sheet_pages_commit2 = new Set(); +var current_sheets_list = []; var layers_commit1 = new Set(); var layers_commit2 = new Set(); +var current_layers_list = []; // ======================================= // HANDLE SHORTCUTS @@ -651,7 +653,6 @@ function update_selected_page() // and keep decrementing until reaching a valid index } catch (error) { previous_selected_page = 0; // current_selected_page; - console.log(current_selected_page) pages[0].checked = true; selected_page = pages.index(pages.filter(':checked')); page_name = pages[selected_page].id; @@ -758,12 +759,15 @@ function update_sheets_list(commit1, commit2) { data2 = loadFile("../" + commit2 + "/_KIRI_/sch_sheets" + url_timestamp(commit2)).split("\n").filter((a) => a); var sheets = []; + var new_sheets_list = []; sheet_pages_commit1 = new Set(); for (const d of data1) { sheets.push(d); - sheet_pages_commit1.add(d.split("|")[4]); + sheet = d.split("|")[4]; + sheet_pages_commit1.add(sheet); + new_sheets_list.push(sheet); } sheet_pages_commit2 = new Set(); @@ -773,7 +777,9 @@ function update_sheets_list(commit1, commit2) { { sheets.push(d); } - sheet_pages_commit2.add(d.split("|")[4]); + sheet = d.split("|")[4]; + sheet_pages_commit2.add(sheet); + new_sheets_list.push(sheet); } sheets = Array.from(new Set(sheets)); @@ -781,7 +787,6 @@ function update_sheets_list(commit1, commit2) { console.log("[SCH] Sheets =", sheets.length); console.log("sheets", sheets); - var new_sheets_list = []; var form_inputs_html; for (const d of sheets) @@ -809,14 +814,11 @@ function update_sheets_list(commit1, commit2) { `; - new_sheets_list.push(sheet); - form_inputs_html = form_inputs_html + input_html; } - // Get the current list of pages + // Current pages, including selection pages = $("#pages_list input:radio[name='pages']"); - const current_sheets_list = Array.from(pages).map((opt) => opt.id); // Return if the current list is equal to the new list console.log("current_sheets_list = ", current_sheets_list); @@ -825,6 +827,7 @@ function update_sheets_list(commit1, commit2) { console.log("Keep the same list of sheets"); return; } + current_sheets_list = new_sheets_list; // Update list of pages sheets_element = document.getElementById("pages_list_form"); @@ -907,6 +910,7 @@ function update_layers_list(commit1, commit2, selected_layer_idx, selected_layer layer = line.split("|")[1]; //.replace(".", "_"); dict[id] = [layer]; layers_commit1.add(pad(id, 2)); + new_layers_list.push(id); } layers_commit2 = new Set(); @@ -915,6 +919,7 @@ function update_layers_list(commit1, commit2, selected_layer_idx, selected_layer id = line.split("|")[0]; layer = line.split("|")[1]; //.replace(".", "_"); layers_commit2.add(pad(id, 2)); + new_layers_list.push(id); // Add new key if (! dict.hasOwnProperty(id)) { @@ -950,27 +955,23 @@ function update_layers_list(commit1, commit2, selected_layer_idx, selected_layer var input_html = ` -