From a02f030e4fadf2e99eead8d2b4e153205b5ef44d Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Thu, 26 Jun 2025 12:29:13 -0400 Subject: [PATCH 01/24] added logo --- LOGO.png | Bin 0 -> 399967 bytes README.md | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 LOGO.png diff --git a/LOGO.png b/LOGO.png new file mode 100644 index 0000000000000000000000000000000000000000..ce10c16a55ccc78acc1ccb6ef11337d838b6244c GIT binary patch literal 399967 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�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

Tf4hc-n{)cFA#P%2fqmf74J$}oxP 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 9d816ea..3bb716a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-green)](https://www.apache.org/licenses/LICENSE-2.0) +

+ ArborView Logo +

+ # ArborView - [Introduction](#introduction) From b7a581493671a0cbde3ef83db79ff9973ca2bc88 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Thu, 31 Jul 2025 08:48:16 -0400 Subject: [PATCH 02/24] added favicon.ico --- html/favicon.ico | Bin 0 -> 15086 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 html/favicon.ico diff --git a/html/favicon.ico b/html/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9b1d3793cf31c7241b0fb0597fdd497ff1ad822d GIT binary patch literal 15086 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 Date: Mon, 20 Oct 2025 12:04:26 -0500 Subject: [PATCH 03/24] reviewing code --- .gitignore | 3 ++- html/table.html | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 63b977c..3067a28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ jstreeview phylotree.js static -static/ \ No newline at end of file +static/ +.TestArborView/ diff --git a/html/table.html b/html/table.html index 16977ec..17360de 100644 --- a/html/table.html +++ b/html/table.html @@ -2804,7 +2804,7 @@ // Extract all metadata already loaded as a map const metadataJoinedMap = extractAllMetadataJoined(checkedFields); - + console.debug(metadataJoinedMap) // Append metadata to tree leaf nodes if available if (metadataJoinedMap.size !== 0) { updateLeafNodeLabels(metadataJoinedMap) From c2f08debe068d12236e748f8cbd51fc02500b37a Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Wed, 22 Oct 2025 12:47:13 -0500 Subject: [PATCH 04/24] updating text justification --- html/table.html | 83 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 69 insertions(+), 14 deletions(-) diff --git a/html/table.html b/html/table.html index 17360de..bbe6270 100644 --- a/html/table.html +++ b/html/table.html @@ -47,6 +47,7 @@ .scale-bar { cursor: move; visibility: visible; + font-family: monospace, monospace; } /*This creates flash effect when the user finishes editing a metadata cell.*/ @@ -135,6 +136,16 @@ opacity: 0; transition: opacity 2s ease; } + + .leaf-node { + font-family: monospace, monospace; + white-space: pre; + } + + .inner-node { + font-family: monospace, monospace; + white-space: pre; + } @@ -1736,6 +1747,7 @@ let child_nodes = element.childNodes; let circle = child_nodes[SelectedNodes.#circle_pos]; let text = child_nodes[SelectedNodes.#name_pos]; + console.log(text); return [element, circle, text]; // element is g tag } @@ -1747,7 +1759,6 @@ param element: a html "g" element to update the colour of */ let [parent, circle, text] = SelectedNodes.getNodeData(element.closest(SelectedNodes.#svg_parent)); - //SelectedNodes.nodes is a map where each key is sample_id if(!SelectedNodes.nodes.has(parent.id)){ //ensures that node id is used instead of leaf node text as it is more reliable if node text label is changed @@ -1765,7 +1776,8 @@ let elm = element.closest(SelectedNodes.#svg_parent) let [parent, circle, text] = SelectedNodes.getNodeData(elm); SelectedNodes.deSelectedColours(text, circle); - let dropped = SelectedNodes.nodes.delete(element.id) + console.log(element.id, elm) + let dropped = SelectedNodes.nodes.delete(elm.id) console.debug("Dropping values:", text.textContent, dropped); } @@ -2214,20 +2226,60 @@ console.warn("No selected metadata field indexes specified."); return MetaDataMap; } + + // Track the lenght of the largest element in the table + const maxLabelLengths = new Array(TABLE_HEADERS.length).fill(0); + let maxIDLength = 0; + + /* + labelsUpdate will contain an array of the key and their updted + labels to display. The array will not be processed into it's string view + until it is time to update the map as the max length is required to calculate + the required padding for each element + */ + const labelsUpdate = new Array(); + ORIGINAL_DATA.forEach((row, key, table) => { + if (!row || !Array.isArray(row)) { + console.warn(`Invalid row for sampleID ${sampleID}`); + return; // Return functions as continue in a for each loop + } + maxIDLength = Math.max(key.length, maxIDLength); + const selectedValues = selected_indexes.map((i) => { + let row_label = String(row[i] || "NA").trim(); + let labelLength = row_label.length; + maxLabelLengths[i] = Math.max(maxLabelLengths[i], labelLength); + return row_label; + }); + labelsUpdate.push([key, selectedValues]); + }) + console.log(maxLabelLengths); + for(const item of labelsUpdate){ + //MetaDataMap.set(item[0], item[1].join(" | ")) + //let idPadding = maxIDLength - item[0].length; + MetaDataMap.set(item[0], item[1].map( + (ele, i) => { + let maxLabelLength = maxLabelLengths[selected_indexes[i]]; + //let padding_length = maxLabelLength - ele.length; // Should never be negative + //console.assert(padding_length >= 0); + //console.log(maxLabelLength, ele, ele.length, padding_length); + //return ele.padEnd(maxLabelLength, " "); + return ele.padEnd(maxLabelLength, " "); + }).join(" | ")); + } // Iterate through the full original data - for (const [sampleID, row] of ORIGINAL_DATA.entries()) { - if (!row || !Array.isArray(row)) { - console.warn(`Invalid row for sampleID ${sampleID}`); - continue; - } + //for (const [sampleID, row] of ORIGINAL_DATA.entries()) { + // if (!row || !Array.isArray(row)) { + // console.warn(`Invalid row for sampleID ${sampleID}`); + // continue; + // } - // Get selected metadata fields - const selectedValues = selected_indexes.map(i => String(row[i] || "NA").trim()); - const joinedFields = selectedValues.join(" | "); + // // Get selected metadata fields + // const selectedValues = selected_indexes.map(i => String(row[i] || "NA").trim()); + // const joinedFields = selectedValues.join(" | "); - MetaDataMap.set(sampleID, joinedFields); - } + // MetaDataMap.set(sampleID, joinedFields); + //} return MetaDataMap; } @@ -2722,8 +2774,11 @@ newLabel = `${nodeId}`; } else { const joinedFields = MetaDataMap.get(nodeId); - const hasValue = typeof joinedFields === "string" && joinedFields.trim() !== ""; - newLabel = hasValue ? `${nodeId} | ${joinedFields.trim()}` : nodeId; + //const hasValue = typeof joinedFields === "string" && joinedFields.trim() !== ""; + //const hasValue = typeof joinedFields === "string" && joinedFields !== ""; + //newLabel = hasValue ? `${nodeId} | ${joinedFields.trim()}` : nodeId; + //newLabel = hasValue ? `${nodeId} | ${joinedFields}` : nodeId; + newLabel = `${nodeId} | ${joinedFields}` } g.selectAll("text") .filter(function () { From dcd09f4d6b67882b03486cc171fe877e623c59e7 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Wed, 22 Oct 2025 16:32:45 -0500 Subject: [PATCH 05/24] fixed bugs in rendering of labels consistently, labels are now left justified and a monospaced font is used for the tree going forward --- html/table.html | 89 +++++++++++++++++++++++++++---------------------- 1 file changed, 50 insertions(+), 39 deletions(-) diff --git a/html/table.html b/html/table.html index 96f847d..1fc2d33 100644 --- a/html/table.html +++ b/html/table.html @@ -752,6 +752,7 @@ } } } + updateLeafLabelsDisplay(); } }); } @@ -761,6 +762,7 @@ .attr("r", d => !d.data.leaf ? INNER_NODE_SIZE : LEAF_NODE_SIZE) // size 6 for leaf nodes and 4 for inner nodes .attr("fill", d => !d.data.leaf ? "#555" : "#999") .attr("stroke-width", 10); + // Add branch length to all inner nodes nodeEnter.append("text") @@ -1038,6 +1040,7 @@ } } } + updateLeafLabelsDisplay(); } }); } @@ -1354,6 +1357,7 @@ } } } + updateLeafLabelsDisplay(); } }); } @@ -1574,6 +1578,7 @@ } } } + updateLeafLabelsDisplay(); } }); } @@ -1748,7 +1753,6 @@ let child_nodes = element.childNodes; let circle = child_nodes[SelectedNodes.#circle_pos]; let text = child_nodes[SelectedNodes.#name_pos]; - console.log(text); return [element, circle, text]; // element is g tag } @@ -1777,7 +1781,6 @@ let elm = element.closest(SelectedNodes.#svg_parent) let [parent, circle, text] = SelectedNodes.getNodeData(elm); SelectedNodes.deSelectedColours(text, circle); - console.log(element.id, elm) let dropped = SelectedNodes.nodes.delete(elm.id) console.debug("Dropping values:", text.textContent, dropped); @@ -2133,6 +2136,7 @@ } }); } + updateLeafLabelsDisplay(); }; // Helper function to recurse through child nodes @@ -2255,34 +2259,18 @@ }); labelsUpdate.push([key, selectedValues]); }) - console.log(maxLabelLengths); + + for(const item of labelsUpdate){ - //MetaDataMap.set(item[0], item[1].join(" | ")) - //let idPadding = maxIDLength - item[0].length; MetaDataMap.set(item[0], item[1].map( (ele, i) => { + // For each selected index, we can get the maxLabelLength let maxLabelLength = maxLabelLengths[selected_indexes[i]]; - //let padding_length = maxLabelLength - ele.length; // Should never be negative - //console.assert(padding_length >= 0); - //console.log(maxLabelLength, ele, ele.length, padding_length); - //return ele.padEnd(maxLabelLength, " "); + // The padEnd function will pad a given value to be certain length return ele.padEnd(maxLabelLength, " "); }).join(" | ")); } - // Iterate through the full original data - //for (const [sampleID, row] of ORIGINAL_DATA.entries()) { - // if (!row || !Array.isArray(row)) { - // console.warn(`Invalid row for sampleID ${sampleID}`); - // continue; - // } - - // // Get selected metadata fields - // const selectedValues = selected_indexes.map(i => String(row[i] || "NA").trim()); - // const joinedFields = selectedValues.join(" | "); - - // MetaDataMap.set(sampleID, joinedFields); - //} return MetaDataMap; } @@ -2440,17 +2428,17 @@ $('#metadata_length select').val(-1); //change "Show X entires" selector to ALL value $('#paginate_button_all').text("First 10") - console.log(this.textContent) + console.debug(this.textContent) }else{ - console.log("Paginate ON") - console.log($('#paginate_button_all').text()) + console.debug("Paginate ON") + console.debug($('#paginate_button_all').text()) data_table.context[0]._iDisplayLength=10; $('#metadata_length select').val(10); //change "Show X entires" selector to ALL value // data_table.draw(); $('#paginate_button_all').text("ALL records"); - console.log(this.textContent) + console.debug(this.textContent) } @@ -2777,9 +2765,9 @@ newLabel = `${nodeId}`; } else { const joinedFields = MetaDataMap.get(nodeId); - //const hasValue = typeof joinedFields === "string" && joinedFields.trim() !== ""; + const hasValue = typeof joinedFields === "string" && joinedFields.trim() !== ""; //const hasValue = typeof joinedFields === "string" && joinedFields !== ""; - //newLabel = hasValue ? `${nodeId} | ${joinedFields.trim()}` : nodeId; + newLabel = hasValue ? `${nodeId} | ${joinedFields.trim()}` : nodeId; //newLabel = hasValue ? `${nodeId} | ${joinedFields}` : nodeId; newLabel = `${nodeId} | ${joinedFields}` } @@ -2794,11 +2782,24 @@ const newWidth = treeContainer.node().getBBox().width - // Parse the existing viewBox - const viewBoxAttr = svg.attr("viewBox") - const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) - // Update the width of the svg element - svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) + /**@remarks + The `setTimeout` function is required as this function executes + before the svg is rendered in the main window resulting in no viewBox + this results in the viewBox width not being increased resulting in cut off + labels. the timeout allows for this function to execute when the svg actually exists. + + Perhaps it makes sense to use async functions here. + */ + + setTimeout( () => { + // Parse the existing viewBox + const viewBoxAttr = svg.attr("viewBox") + const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) + // Update the width of the svg element + svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) + }, + 100 + ) } /** @@ -2861,8 +2862,6 @@ // Extract all metadata already loaded as a map const metadataJoinedMap = extractAllMetadataJoined(checkedFields); - - console.debug(metadataJoinedMap) // Append metadata to tree leaf nodes if available if (metadataJoinedMap.size !== 0) { updateLeafNodeLabels(metadataJoinedMap) @@ -3085,6 +3084,18 @@ CreateNodeLegend(colour_legend, col_index, break_down_values); }; + + + let updateLeafLabelsDisplay = () => { + const checkedBoxes = document.querySelectorAll('#dropdown_append_metadata2nodes .dropdown-menu input[type="checkbox"]:checked'); + const metadataMap = extractAllMetadataJoined([...checkedBoxes].map(i => i.value)) + if (metadataMap.size !== 0) { + updateLeafNodeLabels(metadataMap) + }else{ + console.warn("The metadata table map is empty."); + updateLeafNodeLabels(metadataMap) + } + } let redrawTree = () => { @@ -3092,6 +3103,7 @@ $('#colour-legend').addClass('d-none') $('#TreeSVG').remove(); $("#scale-bar-menu").remove() + let chart_ = null; if(tree_root !== null){ chart_ = TREE_SWITCH.get(TREE_VAL)(tree_root); @@ -3107,6 +3119,7 @@ }; }); reset_zoom_slider() + updateLeafLabelsDisplay(); return true; } console.error("No tree to redraw"); @@ -3732,7 +3745,7 @@ }else{ document.exitFullscreen(); - console.log(METDATA_TABLE_NON_FULL_SCREEEN_HEIGTH); + console.debug(METDATA_TABLE_NON_FULL_SCREEEN_HEIGTH); metadata_panel.style.height = METDATA_TABLE_NON_FULL_SCREEEN_HEIGTH; } } @@ -3913,9 +3926,7 @@ }).then( (result) => { if (result.isConfirmed) { let success_msg = `Copied ${text2copyArray.length} sample IDs to the clipboard` - if(DEBUG){ - console.log(text2copy); - } + console.debug(text2copy); let file = new File(["\ufeff"+text2copy], 'selectedNodes.txt', {type: "text/plain:charset=UTF-8"}) //create a ObjectURL in order to download the created file url = window.URL.createObjectURL(file); From 7eedf31302dcebc0f675c7bd06f4795c815a94d2 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Fri, 24 Oct 2025 13:14:21 -0500 Subject: [PATCH 06/24] updating svg wait for rendering --- example/ultrametric_simple_tree_metadata.tsv | 42 +++---- html/table.html | 121 ++++++++++++------- 2 files changed, 95 insertions(+), 68 deletions(-) diff --git a/example/ultrametric_simple_tree_metadata.tsv b/example/ultrametric_simple_tree_metadata.tsv index ab318a9..9b04f74 100644 --- a/example/ultrametric_simple_tree_metadata.tsv +++ b/example/ultrametric_simple_tree_metadata.tsv @@ -1,21 +1,21 @@ -sample_id species host country epi_type isolation_source -A Shigella boydii Human Australia clinical patient -B Shigella boydii Human Australia clinical patient -C Eschrichia coli Human Belgium environmental animal -D Eschrichia coli Human Belgium environmental animal -E Eschrichia coli Human Belgium environmental animal -F Eschrichia coli Human Belgium environmental animal -G Eschrichia coli Human Belgium environmental animal -H Eschrichia coli Human Belgium environmental animal -I Eschrichia coli Human Belgium environmental animal -J Eschrichia coli Human Belgium environmental animal -K Eschrichia coli Human Canada clinical body fluid -L Eschrichia coli Human Canada clinical body fluid -M Eschrichia coli Human Canada clinical body fluid -N Eschrichia coli Human Canada clinical body fluid -O Eschrichia coli Human Canada clinical body fluid -P Eschrichia coli Human Canada clinical body fluid -Q Eschrichia coli Human Canada clinical body fluid -R Eschrichia coli Human USA clinical blood -S Eschrichia coli Human Canada clinical body fluid -T Eschrichia coli Human Canada clinical body fluid \ No newline at end of file +sample_id species host country epi_type isolation_source LongLabel +A Shigella boydii Human Australia clinical patient AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +B Shigella boydii Human Australia clinical patient AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +C Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +D Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +E Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +F Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +G Eschrichia coli Human Belgium environmental animal AAAAAAAAAA +H Eschrichia coli Human Belgium environmental animal AAAAAAAAAA +I Eschrichia coli Human Belgium environmental animal A +J Eschrichia coli Human Belgium environmental animal A +K Eschrichia coli Human Canada clinical body fluid A +L Eschrichia coli Human Canada clinical body fluid A +M Eschrichia coli Human Canada clinical body fluid A +N Eschrichia coli Human Canada clinical body fluid A +O Eschrichia coli Human Canada clinical body fluid A +P Eschrichia coli Human Canada clinical body fluid +Q Eschrichia coli Human Canada clinical body fluid +R Eschrichia coli Human USA clinical blood +S Eschrichia coli Human Canada clinical body fluid +T Eschrichia coli Human Canada clinical body fluid diff --git a/html/table.html b/html/table.html index 1fc2d33..d0fbfad 100644 --- a/html/table.html +++ b/html/table.html @@ -253,8 +253,9 @@ const INNER_NODE_SIZE = 4; const LEAF_NODE_SIZE = 6; var DECIMAL_PLACES = 1; - const DISTANCE_LABEL_OFFSET = 5.2 - + const DISTANCE_LABEL_OFFSET = 5.2; + + var LABEL_TRUNCATE_SIZE = 50; // When a given text label exceed the length of this value it is truncated let ORIGINAL_CONTROL_PANEL_HEIGHT=null; //The original dimensions of the left control panel that are needed to bring it back to original size @@ -905,7 +906,7 @@ // https://www.w3.org/TR/SVG/paths.html#PathElement for path movements meanings return `M${d.source.distance},${d.source.x} L${d.source.distance},${d.target.x} L${d.target.distance},${d.target.x}` }; - + // Create the SVG container, a layer for the links and a layer for the nodes. const svg = d3.create("svg") .attr("id", "TreeSVG") @@ -1088,6 +1089,7 @@ .text(d => { // If meta is a string or name is defined for the node return d.data.meta ? d.data.name ? `${d.data.name} | ${d.data.meta}` : d.data.meta : d.data.name + }) .clone(true).lower() .attr("stroke", "white"); @@ -2253,6 +2255,12 @@ maxIDLength = Math.max(key.length, maxIDLength); const selectedValues = selected_indexes.map((i) => { let row_label = String(row[i] || "NA").trim(); + /** @remarks + fromCodePoint retrieves the the horizontal unicode elipse so that the charactar is rendered nicely. + */ + row_label = row_label.length > LABEL_TRUNCATE_SIZE ? + `${row_label.slice(0, LABEL_TRUNCATE_SIZE)}${String.fromCodePoint(0x2026)}` + : row_label let labelLength = row_label.length; maxLabelLengths[i] = Math.max(maxLabelLengths[i], labelLength); return row_label; @@ -2766,10 +2774,12 @@ } else { const joinedFields = MetaDataMap.get(nodeId); const hasValue = typeof joinedFields === "string" && joinedFields.trim() !== ""; - //const hasValue = typeof joinedFields === "string" && joinedFields !== ""; - newLabel = hasValue ? `${nodeId} | ${joinedFields.trim()}` : nodeId; - //newLabel = hasValue ? `${nodeId} | ${joinedFields}` : nodeId; - newLabel = `${nodeId} | ${joinedFields}` + /** @remarks + Removed the .trim() on joinedFields as the whitespace is required for padding. + trimEnd() would work, but if we had more options for justifying text in + the future in may create some problems. + */ + newLabel = hasValue ? `${nodeId} | ${joinedFields}` : nodeId; } g.selectAll("text") .filter(function () { @@ -2779,8 +2789,7 @@ .text(newLabel); }); - - const newWidth = treeContainer.node().getBBox().width + /**@remarks The `setTimeout` function is required as this function executes @@ -2790,16 +2799,12 @@ Perhaps it makes sense to use async functions here. */ - - setTimeout( () => { - // Parse the existing viewBox - const viewBoxAttr = svg.attr("viewBox") - const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) - // Update the width of the svg element - svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) - }, - 100 - ) + const newWidth = treeContainer.node().getBBox().width + const viewBoxAttr = svg.attr("viewBox") + const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) + // Update the width of the svg element + svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) + svg.style.overflow = "scroll"; } /** @@ -3087,6 +3092,7 @@ let updateLeafLabelsDisplay = () => { + // Perhaps need to reset viewbox here const checkedBoxes = document.querySelectorAll('#dropdown_append_metadata2nodes .dropdown-menu input[type="checkbox"]:checked'); const metadataMap = extractAllMetadataJoined([...checkedBoxes].map(i => i.value)) if (metadataMap.size !== 0) { @@ -3096,39 +3102,58 @@ updateLeafNodeLabels(metadataMap) } } + + + let redrawTree = async () => { + - let redrawTree = () => { - $('#colour-legend').empty() - $('#colour-legend').addClass('d-none') - $('#TreeSVG').remove(); - $("#scale-bar-menu").remove() + $('#colour-legend').empty() + $('#colour-legend').addClass('d-none') + $("#scale-bar-menu").remove() + $('#TreeSVG').remove(); + + let tree_drawn = () => { + let chart_ = null; + if(tree_root !== null){ + chart_ = TREE_SWITCH.get(TREE_VAL)(tree_root); + let renderedTreePadding = chart_.style.paddingLeft || 0 + chart_.style.paddingLeft = `${renderedTreePadding + TREE_OFFSET}px` - let chart_ = null; - if(tree_root !== null){ - chart_ = TREE_SWITCH.get(TREE_VAL)(tree_root); - let renderedTreePadding = chart_.style.paddingLeft || 0 - chart_.style.paddingLeft = `${renderedTreePadding + TREE_OFFSET}px` - - $("#TreeData").append(chart_); - $(".leaf-node").each((i, elm) => { - let [parent, circle, text] = SelectedNodes.getNodeData(elm); - if(SelectedNodes.nodes.has(text.textContent)){ - SelectedNodes.nodes.set(text.textContent, parent); // reset dom position - SelectedNodes.setSelectedColours(text, circle); - }; - }); - reset_zoom_slider() - updateLeafLabelsDisplay(); - return true; - } - console.error("No tree to redraw"); + $("#TreeData").append(chart_); + $(".leaf-node").each((i, elm) => { + let [parent, circle, text] = SelectedNodes.getNodeData(elm); + if(SelectedNodes.nodes.has(text.textContent)){ + SelectedNodes.nodes.set(text.textContent, parent); // reset dom position + SelectedNodes.setSelectedColours(text, circle); + }; + }); + }else{ + console.error("No tree to redraw"); + } + } + tree_drawn(); + reset_zoom_slider(); + + let max_wait = 1000 + let current_wait = 0; + + while(!document.getElementById("TreeSVG").hasAttribute("viewBox") && current_wait < max_wait){ + console.log(document.getElementById("TreeSVG").hasAttribute("viewBox"), current_wait); + await new Promise(resolve => setTimeout(resolve, 10)); + current_wait++; + } + console.log(d3.select("#TreeSVG").attr("viewBox")); + updateLeafLabelsDisplay(); + } $(() => { - $("#redraw-tree-button").on("click", () => { redrawTree() }); + $("#redraw-tree-button").on("click", () => { + redrawTree(); + }); initialize_tree_menu(); lineThickness(); @@ -3328,19 +3353,21 @@ }); zoom_tree = function(){ - + const zoom_times = parseFloat(document.querySelector('#zoom_slider').value) const tree_data_elm = document.querySelector('#TreeData') const tree_svg = document.querySelector('#TreeSVG') document.querySelector('#zoom_slider_value').textContent = zoom_times - const new_width = ORIGINAL_WIDTH_SVG * zoom_times //use global value as getBBox() at high zooms gives wrong values const prev_width = parseFloat(document.querySelector('#TreeSVG').style.width) //Previous x and y scroll positions before applying a zoom const prev_x_scroll_pos = tree_data_elm.scrollLeft const prev_y_scroll_pos = tree_data_elm.scrollTop - document.querySelector('#TreeSVG').style.width = new_width ; //modify width of SVG tree + + //document.querySelector('#TreeSVG').style.width = new_width ; //modify width of SVG tree + // svg width was not being properly set on firfox + document.querySelector('#TreeSVG').setAttribute("width", `${new_width}`); //modify width of SVG tree //store new translated x and y coordinates after zooming let zoom_x_translated = 0 From 80d76f41084fbea8abc634de7e46f25ed1e2f364 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Fri, 24 Oct 2025 13:56:41 -0500 Subject: [PATCH 07/24] giving up on trying to avoid settimeout for proper rendering --- html/table.html | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/html/table.html b/html/table.html index d0fbfad..4a3ebe1 100644 --- a/html/table.html +++ b/html/table.html @@ -2747,12 +2747,12 @@ * ]); * updateLeafNodeLabels(MetaDataMap); */ - function updateLeafNodeLabels(MetaDataMap) { + function updateLeafNodeLabels(MetaDataMap) { const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') const svgAttrWidth = svg.attr("width") - + if (treeContainer.empty()) { console.warn("Main tree container group not found."); return; @@ -2791,20 +2791,29 @@ - /**@remarks - The `setTimeout` function is required as this function executes - before the svg is rendered in the main window resulting in no viewBox - this results in the viewBox width not being increased resulting in cut off - labels. the timeout allows for this function to execute when the svg actually exists. + /**@remarks + The `setTimeout` function is required as this function executes + before the svg is rendered in the main window resulting in no viewBox + this results in the viewBox width not being increased resulting in cut off + labels. the timeout allows for this function to execute when the svg actually exists. - Perhaps it makes sense to use async functions here. - */ + Perhaps it makes sense to use async functions here. + + Update tried using observerMutation, async sleep and many other thigns, + but nothing worked. It seems the optimizations by the javascript compiler resutl + int different order of execution of these variables resulting in the + window not properly being re-run + */ + + + setTimeout( () => { const newWidth = treeContainer.node().getBBox().width const viewBoxAttr = svg.attr("viewBox") const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) svg.style.overflow = "scroll"; + }, 200); } /** @@ -3104,7 +3113,7 @@ } - let redrawTree = async () => { + let redrawTree = () => { @@ -3135,15 +3144,7 @@ tree_drawn(); reset_zoom_slider(); - let max_wait = 1000 - let current_wait = 0; - while(!document.getElementById("TreeSVG").hasAttribute("viewBox") && current_wait < max_wait){ - console.log(document.getElementById("TreeSVG").hasAttribute("viewBox"), current_wait); - await new Promise(resolve => setTimeout(resolve, 10)); - current_wait++; - } - console.log(d3.select("#TreeSVG").attr("viewBox")); updateLeafLabelsDisplay(); } From b629072f7fa83ff2c9d74961f39c7c5179078368 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Fri, 24 Oct 2025 14:02:24 -0500 Subject: [PATCH 08/24] reverted back to async solution rendering is still not working --- html/table.html | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/html/table.html b/html/table.html index 4a3ebe1..c81e8af 100644 --- a/html/table.html +++ b/html/table.html @@ -2747,12 +2747,12 @@ * ]); * updateLeafNodeLabels(MetaDataMap); */ - function updateLeafNodeLabels(MetaDataMap) { + async function updateLeafNodeLabels(MetaDataMap) { const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') const svgAttrWidth = svg.attr("width") - + if (treeContainer.empty()) { console.warn("Main tree container group not found."); return; @@ -2791,29 +2791,40 @@ - /**@remarks - The `setTimeout` function is required as this function executes - before the svg is rendered in the main window resulting in no viewBox - this results in the viewBox width not being increased resulting in cut off - labels. the timeout allows for this function to execute when the svg actually exists. + /**@remarks + The `setTimeout` function is required as this function executes + before the svg is rendered in the main window resulting in no viewBox + this results in the viewBox width not being increased resulting in cut off + labels. the timeout allows for this function to execute when the svg actually exists. - Perhaps it makes sense to use async functions here. - - Update tried using observerMutation, async sleep and many other thigns, - but nothing worked. It seems the optimizations by the javascript compiler resutl - int different order of execution of these variables resulting in the - window not properly being re-run - */ + Perhaps it makes sense to use async functions here. + */ - setTimeout( () => { + svg.call(async () => { + + let max_wait = 1000 + let current_wait = 0; + + while(!document.getElementById("TreeSVG").hasAttribute("viewBox") && current_wait < max_wait){ + console.log(document.getElementById("TreeSVG").hasAttribute("viewBox"), current_wait); + await new Promise(resolve => setTimeout(resolve, 200)); + current_wait++; + } const newWidth = treeContainer.node().getBBox().width const viewBoxAttr = svg.attr("viewBox") const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) - svg.style.overflow = "scroll"; - }, 200); + svg.style.overflow = "visible";}) + // setTimeout( () => { + // const newWidth = treeContainer.node().getBBox().width + // const viewBoxAttr = svg.attr("viewBox") + // const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) + // // Update the width of the svg element + // svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) + // svg.style.overflow = "scroll"; + // }, 500); } /** From 03520f9a182f744672677f202f61678f05e3d919 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Tue, 9 Dec 2025 13:48:32 -0600 Subject: [PATCH 09/24] testing changes in rendering --- html/table.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/html/table.html b/html/table.html index c81e8af..5936e6e 100644 --- a/html/table.html +++ b/html/table.html @@ -2815,8 +2815,7 @@ const viewBoxAttr = svg.attr("viewBox") const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element - svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) - svg.style.overflow = "visible";}) + svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`)}) // setTimeout( () => { // const newWidth = treeContainer.node().getBBox().width // const viewBoxAttr = svg.attr("viewBox") From 8b00f46c4ce0f967ad3005a2f21b973bd5c0eb9a Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Tue, 9 Dec 2025 15:57:55 -0600 Subject: [PATCH 10/24] added time out for when redrawing the tree --- html/table.html | 49 ++++++++++++++++++++++--------------------------- 1 file changed, 22 insertions(+), 27 deletions(-) diff --git a/html/table.html b/html/table.html index 5936e6e..5cb87ed 100644 --- a/html/table.html +++ b/html/table.html @@ -147,13 +147,19 @@ .leaf-node { font-family: monospace, monospace; - white-space: pre; + white-space-collapse: preserve; } .inner-node { font-family: monospace, monospace; - white-space: pre; + white-space-collapse: preserve; } + + .leaf-node-label { + + font-family: monospace, monospace; + white-space-collapse: preserve; + } @@ -2241,7 +2247,7 @@ let maxIDLength = 0; /* - labelsUpdate will contain an array of the key and their updted + labelsUpdate will contain an array of the key and their updated labels to display. The array will not be processed into it's string view until it is time to update the map as the max length is required to calculate the required padding for each element @@ -2747,7 +2753,7 @@ * ]); * updateLeafNodeLabels(MetaDataMap); */ - async function updateLeafNodeLabels(MetaDataMap) { + function updateLeafNodeLabels(MetaDataMap) { const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') @@ -2786,7 +2792,7 @@ // Only update text elements that start with the nodeId return d3.select(this).text().startsWith(nodeId); }) - .text(newLabel); + .text(newLabel).attr("class", "leaf-node-label"); }); @@ -2798,32 +2804,21 @@ labels. the timeout allows for this function to execute when the svg actually exists. Perhaps it makes sense to use async functions here. + + Async did not fix the problem, adding a simple 0.5 second timeout seems to resolve + the issue. */ - svg.call(async () => { - - let max_wait = 1000 - let current_wait = 0; - while(!document.getElementById("TreeSVG").hasAttribute("viewBox") && current_wait < max_wait){ - console.log(document.getElementById("TreeSVG").hasAttribute("viewBox"), current_wait); - await new Promise(resolve => setTimeout(resolve, 200)); - current_wait++; - } - const newWidth = treeContainer.node().getBBox().width - const viewBoxAttr = svg.attr("viewBox") - const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) - // Update the width of the svg element - svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`)}) - // setTimeout( () => { - // const newWidth = treeContainer.node().getBBox().width - // const viewBoxAttr = svg.attr("viewBox") - // const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) - // // Update the width of the svg element - // svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) - // svg.style.overflow = "scroll"; - // }, 500); + setTimeout( () => { + const newWidth = treeContainer.node().getBBox().width + const viewBoxAttr = svg.attr("viewBox") + const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) + // Update the width of the svg element + svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) + svg.style.overflow = "scroll"; + }, 500); } /** From 73c6cd6b110f1d4e4f0b64cdc93d98cbd0f4ab27 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Wed, 14 Jan 2026 12:30:52 -0500 Subject: [PATCH 11/24] Improved the setTimout() issue for the leaf node lables making sure the dimensions of the SVG box calculated correctly and wait for browser layout engine --- html/table.html | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/html/table.html b/html/table.html index 5cb87ed..8f10f7a 100644 --- a/html/table.html +++ b/html/table.html @@ -2754,6 +2754,7 @@ * updateLeafNodeLabels(MetaDataMap); */ function updateLeafNodeLabels(MetaDataMap) { + const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') @@ -2807,18 +2808,33 @@ Async did not fix the problem, adding a simple 0.5 second timeout seems to resolve the issue. + + Notes by Kirill 2024-06-12: + Previously, a `setTimeout` was used to wait for the browser to finish rendering labels. + Without this wait, `getBBox()` would return "stale" old dimensions before the leaf nodes text was + updated to wider dimensions, causing the labels to be clipped. + + We now use a 0-duration D3 transition via `.on("end", ...)` event listener. + 1. The "transition" waits until our D3 code gets rendered by the browser layout engine. + 2. The "end" event fires only after the browser has finished calculating the new sizes and positions of the text. + + This ensures we always get the accurate width for the viewBox without the artificial + lag and also making sure it will work even on weaker hardware where 500ms might not be long enough + */ - setTimeout( () => { - const newWidth = treeContainer.node().getBBox().width - const viewBoxAttr = svg.attr("viewBox") - const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) - // Update the width of the svg element - svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) - svg.style.overflow = "scroll"; - }, 500); + //setTimeout( () => { + svg.transition().duration(0).on("end", () => { + const newWidth = treeContainer.node().getBBox().width + const viewBoxAttr = svg.attr("viewBox") + const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) + // Update the width of the svg element + svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) + svg.style.overflow = "scroll"; + //}, 500); + }); } /** From 5ce24d1458bdc16975d399f9bc4bf670b8b72db8 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Wed, 14 Jan 2026 13:15:18 -0500 Subject: [PATCH 12/24] Removed commented out code and updated remarks --- html/table.html | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/html/table.html b/html/table.html index 8f10f7a..d1f3132 100644 --- a/html/table.html +++ b/html/table.html @@ -2799,33 +2799,29 @@ /**@remarks - The `setTimeout` function is required as this function executes + Previously, a `setTimeout` was used to wait for the browser to finish rendering labels. + Without this wait, `getBBox()` would return "stale" old dimensions before the leaf nodes text was + updated to wider dimensions, causing the labels to be clipped. + + Specifically, the `setTimeout` function was required as this function executes before the svg is rendered in the main window resulting in no viewBox this results in the viewBox width not being increased resulting in cut off labels. the timeout allows for this function to execute when the svg actually exists. - Perhaps it makes sense to use async functions here. - Async did not fix the problem, adding a simple 0.5 second timeout seems to resolve - the issue. + the issue as a temporary fix. - Notes by Kirill 2024-06-12: - Previously, a `setTimeout` was used to wait for the browser to finish rendering labels. - Without this wait, `getBBox()` would return "stale" old dimensions before the leaf nodes text was - updated to wider dimensions, causing the labels to be clipped. - - We now use a 0-duration D3 transition via `.on("end", ...)` event listener. + We now use a 0-duration D3 transition via `.on("end", ...)` event listener https://d3js.org/d3-transition/control-flow#transition_end. 1. The "transition" waits until our D3 code gets rendered by the browser layout engine. 2. The "end" event fires only after the browser has finished calculating the new sizes and positions of the text. This ensures we always get the accurate width for the viewBox without the artificial lag and also making sure it will work even on weaker hardware where 500ms might not be long enough - */ - //setTimeout( () => { + svg.transition().duration(0).on("end", () => { const newWidth = treeContainer.node().getBBox().width const viewBoxAttr = svg.attr("viewBox") @@ -2833,7 +2829,6 @@ // Update the width of the svg element svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) svg.style.overflow = "scroll"; - //}, 500); }); } From a3ab3c52d4bd3ce7224ffcc101372a27117b906c Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Wed, 14 Jan 2026 19:06:09 -0500 Subject: [PATCH 13/24] Fix with the named D3 transition to render leafnodes text --- html/table.html | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/html/table.html b/html/table.html index d1f3132..b301a98 100644 --- a/html/table.html +++ b/html/table.html @@ -2759,6 +2759,9 @@ const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') const svgAttrWidth = svg.attr("width") + + // DEBUG 1: Initial Check + console.debug("SVG exists in DOM:", !svg.empty()); if (treeContainer.empty()) { console.warn("Main tree container group not found."); @@ -2811,25 +2814,27 @@ Async did not fix the problem, adding a simple 0.5 second timeout seems to resolve the issue as a temporary fix. - We now use a 0-duration D3 transition via `.on("end", ...)` event listener https://d3js.org/d3-transition/control-flow#transition_end. - 1. The "transition" waits until our D3 code gets rendered by the browser layout engine. - 2. The "end" event fires only after the browser has finished calculating the new sizes and positions of the text. + We now use a 0-duration D3 NAMED transition via `.on("end", ...)` event listener https://d3js.org/d3-transition/control-flow#transition_end. + 1. The named "transition" waits until our D3 code gets rendered by the browser layout engine. + 2. Then the "end" event fires only after the browser has finished calculating the new sizes and positions of the text. This ensures we always get the accurate width for the viewBox without the artificial lag and also making sure it will work even on weaker hardware where 500ms might not be long enough */ - - - - svg.transition().duration(0).on("end", () => { + + + //setTimeout( () => { + svg.transition("viewbox-update").duration(0).on("end", () => { const newWidth = treeContainer.node().getBBox().width const viewBoxAttr = svg.attr("viewBox") const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) svg.style.overflow = "scroll"; + console.debug(`[SVG Resize] Expanding viewBox to accommodate new labels. Content width: ${Math.round(newWidth)}px`); }); + //}, 500); } /** From 76a5c6e1aa1aa35121730db662d4ca1984896928 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Fri, 16 Jan 2026 16:43:44 -0500 Subject: [PATCH 14/24] fixing the leaf nodes text updates being in sync --- html/table.html | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/html/table.html b/html/table.html index b301a98..b6df521 100644 --- a/html/table.html +++ b/html/table.html @@ -997,11 +997,15 @@ ORIGINAL_WIDTH_SVG=width const height = right.x - left.x + marginTop + marginBottom; - const transition = svg.transition() + const transition = svg.transition("tree-layout") .duration(duration) .attr("height", height) .attr("viewBox", [0, left.x - marginTop, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) + .on("end", () => { + // This tells the rest of the app "The tree is done rendering!" + svg.dispatch("layout-complete"); + }); // Update the nodes… const node = gNode.selectAll("g:not(#scale-bar-group)") @@ -1166,8 +1170,14 @@ } //let display_width = parseInt(ele_style.width) - label_safety_factor //draw a scale bar + drawScale(gNode, inner_radius, (dx * leaves_in_tree.length) - (below_root*dx)-5, max_length, root) + svg.on("layout-complete", () => { + console.debug("Layout rendering is complete now and can update the leaf nodes") + updateLeafLabelsDisplay(); + }); + return svg.node(); }; @@ -2754,14 +2764,14 @@ * updateLeafNodeLabels(MetaDataMap); */ function updateLeafNodeLabels(MetaDataMap) { + console.debug(`[updateLeafNodeLabels] Updating leaf node labels with metadata map size: ${MetaDataMap.size}`); const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') const svgAttrWidth = svg.attr("width") + const oldWidth = treeContainer.node().getBBox().width - // DEBUG 1: Initial Check - console.debug("SVG exists in DOM:", !svg.empty()); if (treeContainer.empty()) { console.warn("Main tree container group not found."); @@ -2775,7 +2785,9 @@ //update leaf nodes update labels const isEmpty = !MetaDataMap || MetaDataMap.size === 0; + + svg.selectAll("g.leaf-node").each(function () { const g = d3.select(this); const nodeId = this.id; @@ -2822,19 +2834,31 @@ lag and also making sure it will work even on weaker hardware where 500ms might not be long enough */ - + //const labelTransition = svg.selectAll("g.leaf-node-label") + // .transition("label-update") + // .duration(0); //setTimeout( () => { - svg.transition("viewbox-update").duration(0).on("end", () => { + //svg.transition("viewbox-update").duration(250).on("end", () => { + //labelTransition.end().then(() => { const newWidth = treeContainer.node().getBBox().width const viewBoxAttr = svg.attr("viewBox") + if (!viewBoxAttr) { + console.warn("viewBox not yet initialized by chart function."); + return; + } const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) svg.style.overflow = "scroll"; - console.debug(`[SVG Resize] Expanding viewBox to accommodate new labels. Content width: ${Math.round(newWidth)}px`); - }); + console.debug( + `SVG ViewBox Update Old: ${oldWidth}px → New: ${newWidth}px`, + ); + + //}); //}, 500); + + } /** From 6173f80d16a092e551f2ac7efd5919cff42715f4 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Fri, 16 Jan 2026 17:06:59 -0500 Subject: [PATCH 15/24] Moved to redrawTree() the execution of the updateLeafLabelsDisplay(); after tree rendering, more logical --- html/table.html | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/html/table.html b/html/table.html index b6df521..a7fa4a9 100644 --- a/html/table.html +++ b/html/table.html @@ -1173,10 +1173,10 @@ drawScale(gNode, inner_radius, (dx * leaves_in_tree.length) - (below_root*dx)-5, max_length, root) - svg.on("layout-complete", () => { - console.debug("Layout rendering is complete now and can update the leaf nodes") - updateLeafLabelsDisplay(); - }); + //svg.on("layout-complete", () => { + // console.debug("Layout rendering is complete now and can update the leaf nodes") + // updateLeafLabelsDisplay(); + //}); return svg.node(); }; @@ -3175,6 +3175,10 @@ chart_.style.paddingLeft = `${renderedTreePadding + TREE_OFFSET}px` $("#TreeData").append(chart_); + d3.select(chart_).on("layout-complete", () => { + console.log("Tree rendering finished: Updating labels and resizing."); + updateLeafLabelsDisplay(); + }); $(".leaf-node").each((i, elm) => { let [parent, circle, text] = SelectedNodes.getNodeData(elm); if(SelectedNodes.nodes.has(text.textContent)){ @@ -3190,7 +3194,7 @@ reset_zoom_slider(); - updateLeafLabelsDisplay(); + //updateLeafLabelsDisplay(); } From a0c74a1aec93855227409ebaace67a5cd785057d Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Mon, 19 Jan 2026 10:25:49 -0500 Subject: [PATCH 16/24] support for all 4 tree types --- html/table.html | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/html/table.html b/html/table.html index a7fa4a9..7672ad5 100644 --- a/html/table.html +++ b/html/table.html @@ -715,11 +715,14 @@ ORIGINAL_WIDTH_SVG=width const height = right.x - left.x + marginTop + marginBottom; - const transition = svg.transition() + const transition = svg.transition("tree-layout") .duration(duration) .attr("height", height) .attr("viewBox", [0, left.x - marginTop, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) + .on("end", () => { + svg.dispatch("layout-complete");// This tells the rest of the app "The tree is done rendering!" + }); // Update the nodes… const node = gNode.selectAll("g:not(#scale-bar-group)") @@ -1003,8 +1006,7 @@ .attr("viewBox", [0, left.x - marginTop, width, height]) .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) .on("end", () => { - // This tells the rest of the app "The tree is done rendering!" - svg.dispatch("layout-complete"); + svg.dispatch("layout-complete");// This tells the rest of the app "The tree is done rendering!" }); // Update the nodes… @@ -1328,11 +1330,14 @@ }); ORIGINAL_WIDTH_SVG=width - const transition = svg.transition() + const transition = svg.transition("tree-layout") .duration(duration) .attr("height", height) .attr("viewBox", [0, 0, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) + .on("end", () => { + svg.dispatch("layout-complete");// This tells the rest of the app "The tree is done rendering!" + }); const node = gNode.selectAll("g:not(#scale-bar-group)") .data(nodes, d => d.id); @@ -1551,11 +1556,14 @@ ORIGINAL_WIDTH_SVG=width const height = right.x - left.x + marginTop + marginBottom; - const transition = svg.transition() + const transition = svg.transition("tree-layout") .duration(duration) .attr("height", height) .attr("viewBox", [0, left.x - marginTop, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) + .on("end", () => { + svg.dispatch("layout-complete");// This event tells the rest of the app "The tree is done rendering!" + }); // Update the nodes… const node = gNode.selectAll("g:not(#scale-bar-group)") @@ -3175,8 +3183,10 @@ chart_.style.paddingLeft = `${renderedTreePadding + TREE_OFFSET}px` $("#TreeData").append(chart_); + // This is the listener the layout-complete event (i.e. when the tree is fully rendered) + // d3.select(chart_) converts the DOM element into a D3 selection to access D3 methods like .on() event listener d3.select(chart_).on("layout-complete", () => { - console.log("Tree rendering finished: Updating labels and resizing."); + console.debug("Tree rendering finished, now can do updating node labels and viewbox resizing."); updateLeafLabelsDisplay(); }); $(".leaf-node").each((i, elm) => { From 2bed1eb3e2e95a785d2ec2d2b4e1958a87e74549 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 19 Jan 2026 10:08:01 -0600 Subject: [PATCH 17/24] Added update labels callback to the tree switch function --- html/table.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/html/table.html b/html/table.html index 7672ad5..fbfd3c5 100644 --- a/html/table.html +++ b/html/table.html @@ -2228,6 +2228,10 @@ console.debug("Switching chart type via renderer function selected ", TREE_SWITCH.get(TREE_VAL).name); chart_.style.paddingLeft = chart_.style.paddingLeft + TREE_OFFSET; $("#TreeData").append(chart_); + d3.select(chart_).on("layout-complete", () => { + console.debug("Tree rendering now complete updating node labels."); + updateLeafLabelsDisplay(); + }); $(".leaf-node").each((i, elm) => { let [parent, circle, text] = SelectedNodes.getNodeData(elm); if(SelectedNodes.nodes.has(text.textContent)){ @@ -2235,7 +2239,7 @@ SelectedNodes.setSelectedColours(text, circle); }; }); - reset_zoom_slider() + reset_zoom_slider(); return true; } }; @@ -3204,7 +3208,6 @@ reset_zoom_slider(); - //updateLeafLabelsDisplay(); } From b2b31a403eba65dc9cd1ea7b949dcc31262ce243 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Mon, 19 Jan 2026 13:16:53 -0500 Subject: [PATCH 18/24] Fix for the DFCT - Arborview menu overlay and metadata table --- html/table.html | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/html/table.html b/html/table.html index fbfd3c5..b7b1490 100644 --- a/html/table.html +++ b/html/table.html @@ -6,6 +6,10 @@ display: inline-block; } + #control_panel { + overflow: visible; + } + #TreeData { white-space: nowrap; /*prevents line wrapping inside*/ overflow-x: auto; @@ -2991,10 +2995,23 @@ if (oldMenu) container.removeChild(oldMenu); const button = container.querySelector('button'); + const rect = button.getBoundingClientRect(); + + const distanceToTop = rect.top; //Distance from the top of the button to the top of the screen + const distanceToBottom = window.innerHeight - rect.bottom;//Distance from the bottom of the button to the bottom of the screen + const dynamicMaxHeight = Math.max(distanceToTop, distanceToBottom) - 20; + + if (distanceToTop > distanceToBottom) { + container.classList.add('dropup'); + } else { + container.classList.remove('dropup'); + } + + const dropdown = document.createElement('div'); dropdown.className = 'dropdown-menu'; dropdown.style.overflow = 'visible'; - //dropdown.style.maxHeight = '300px'; + dropdown.style.maxHeight = `${dynamicMaxHeight}px`; dropdown.style.overflow = 'auto'; dropdown.style.whiteSpace = 'nowrap'; dropdown.style.marginLeft = '4px'; @@ -4146,7 +4163,7 @@
-
+
From 0a9ca21faf0e7449e0db42e8903dd09856fe6301 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Mon, 19 Jan 2026 13:46:52 -0500 Subject: [PATCH 19/24] Now report in warning in logs if there are issues between tree leaf nodes IDs and metadata --- html/table.html | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/html/table.html b/html/table.html index b7b1490..03ce732 100644 --- a/html/table.html +++ b/html/table.html @@ -2801,9 +2801,14 @@ //update leaf nodes update labels const isEmpty = !MetaDataMap || MetaDataMap.size === 0; + console.log("Full Metadata Map:", MetaDataMap); - - + const selectedFields = Array.from(document.querySelectorAll('#dropdown_append_metadata2nodes .metadata-field-checkbox:checked')) + .map(cb => cb.value); + + console.log("User selected these fields:", selectedFields); + + let missingMetadataNodes = new Set(); svg.selectAll("g.leaf-node").each(function () { const g = d3.select(this); const nodeId = this.id; @@ -2812,12 +2817,14 @@ } else { const joinedFields = MetaDataMap.get(nodeId); const hasValue = typeof joinedFields === "string" && joinedFields.trim() !== ""; + if (!hasValue) missingMetadataNodes.add(nodeId); /** @remarks Removed the .trim() on joinedFields as the whitespace is required for padding. trimEnd() would work, but if we had more options for justifying text in the future in may create some problems. */ newLabel = hasValue ? `${nodeId} | ${joinedFields}` : nodeId; + console.debug(`[updateLeafNodeLabels] Updated label for node ${nodeId}: ${newLabel}`); } g.selectAll("text") .filter(function () { @@ -2826,6 +2833,9 @@ }) .text(newLabel).attr("class", "leaf-node-label"); }); + if (missingMetadataNodes.size > 0) { + console.warn(`Metadata missing for ${missingMetadataNodes.size} nodes:`, Array.from(missingMetadataNodes)); + } From 7720d41f72a3cb192c917d9cb234b415a85fc517 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 19 Jan 2026 13:16:40 -0600 Subject: [PATCH 20/24] added padding to sample IDs --- html/table.html | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/html/table.html b/html/table.html index fbfd3c5..1da3229 100644 --- a/html/table.html +++ b/html/table.html @@ -2298,13 +2298,18 @@ for(const item of labelsUpdate){ - MetaDataMap.set(item[0], item[1].map( - (ele, i) => { + let padded_id = item[0].padEnd(maxIDLength, " "); + let labels = [padded_id]; + + labels.push(...item[1].map((ele, i) => { // For each selected index, we can get the maxLabelLength let maxLabelLength = maxLabelLengths[selected_indexes[i]]; // The padEnd function will pad a given value to be certain length return ele.padEnd(maxLabelLength, " "); - }).join(" | ")); + })); + + + MetaDataMap.set(item[0], labels.join("|")) } @@ -2385,7 +2390,7 @@ "lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ], className: ".editable", initComplete: function (settings, json) { - console.log("DataTables has finished its initialization"); + console.debug("DataTables has finished its initialization"); //listen to Enter keys $('#metadata').on('keydown', 'td[contenteditable=true]', function (e) { if (e.key === 'Enter') { @@ -2457,7 +2462,7 @@ .on('click', function(){ if(data_table.context[0]._iDisplayLength !== -1){ - console.log("Paginate OFF") + console.debug("Paginate OFF") data_table.context[0]._iDisplayLength=-1; //remove pagination data_table.draw(); @@ -2813,7 +2818,7 @@ trimEnd() would work, but if we had more options for justifying text in the future in may create some problems. */ - newLabel = hasValue ? `${nodeId} | ${joinedFields}` : nodeId; + newLabel = hasValue ? `${joinedFields}` : nodeId; } g.selectAll("text") .filter(function () { @@ -2846,14 +2851,8 @@ lag and also making sure it will work even on weaker hardware where 500ms might not be long enough */ - //const labelTransition = svg.selectAll("g.leaf-node-label") - // .transition("label-update") - // .duration(0); - - //setTimeout( () => { - //svg.transition("viewbox-update").duration(250).on("end", () => { - //labelTransition.end().then(() => { const newWidth = treeContainer.node().getBBox().width + const newHeight = treeContainer.node().getBBox().height const viewBoxAttr = svg.attr("viewBox") if (!viewBoxAttr) { console.warn("viewBox not yet initialized by chart function."); @@ -2861,21 +2860,19 @@ } const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element - svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) + svg.attr("width", newWidth).attr("height", newHeight).attr("viewBox", `${minX} ${minY} ${newWidth} ${newHeight}`) svg.style.overflow = "scroll"; console.debug( `SVG ViewBox Update Old: ${oldWidth}px → New: ${newWidth}px`, ); - //}); - //}, 500); } /** * Attaches event listeners to all metadata checkboxes in the - * "Add metadata to nodes" dropdown menu. This function listens + * "Add metadata to nodes" dropdown menu. This function listens * for `change` events (i.e. when checkboxes are selected or deselected) * and logs the selected field and its checked status. * **/ @@ -3125,7 +3122,7 @@ let colour_idx = 0; colour_legend.length = 0; // clear out old data, so new legend created each time for (const nodeId of SelectedNodes.nodes) { - console.log(nodeId); // This will log each node ID in the Set + console.debug(nodeId); // This will log each node ID in the Set } for(const item in break_down_values){ break_down_values[item].forEach((x, i) => { @@ -3242,7 +3239,7 @@ let reader = new FileReader(); let newick_file = event.target.files[0]; reader.readAsText(newick_file, "UTF-8"); - console.log(`Successfully loaded ${newick_file.name}`) + console.debug(`Successfully loaded ${newick_file.name}`) reader.onload = (evt) => { newick = evt.target.result; drawTree(newick); From c18b29278c99df8be3e74cfe281b42f4abaed691 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 19 Jan 2026 13:20:20 -0600 Subject: [PATCH 21/24] added space between joined labels --- html/table.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/table.html b/html/table.html index 6a58a31..05a9184 100644 --- a/html/table.html +++ b/html/table.html @@ -2313,7 +2313,7 @@ })); - MetaDataMap.set(item[0], labels.join("|")) + MetaDataMap.set(item[0], labels.join(" | ")) } From 491594b0445a7608d27b91eb23ca9ebdbde94d28 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 19 Jan 2026 14:17:05 -0600 Subject: [PATCH 22/24] Reverted radial dendrogram rendering Radial dendrogram viewing seems to be too complicated for the edition of metadata currently, in the future this can be added in a better solution --- html/table.html | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/html/table.html b/html/table.html index 05a9184..b01cabe 100644 --- a/html/table.html +++ b/html/table.html @@ -1196,7 +1196,7 @@ const width = parseInt(ele_style.width)-TREE_OFFSET; const height = width; const outerRadius = width / 2; - const innerRadius = outerRadius - 170; + const innerRadius = outerRadius; const decimal_places = 4; const sc_to_radians = Math.PI / 180; @@ -1712,10 +1712,11 @@ } + const RADIAL_DENDROGRAM = "Radial Dendrogram" const TREE_SWITCH = new Map([ ["Dendrogram", dendrogram_chart], ["TidyTree", tidytree_chart], - ["Radial Dendrogram", dendrogram_circle], + [RADIAL_DENDROGRAM, dendrogram_circle], ["Cladeogram", cladeogram_chart]]); // key value pairs map to switch between tree views @@ -2874,7 +2875,9 @@ } const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element - svg.attr("width", newWidth).attr("height", newHeight).attr("viewBox", `${minX} ${minY} ${newWidth} ${newHeight}`) + svg.attr("width", newWidth) + .attr("height", newHeight) + .attr("viewBox", `${minX} ${minY} ${newWidth} ${newHeight}`) svg.style.overflow = "scroll"; console.debug( `SVG ViewBox Update Old: ${oldWidth}px → New: ${newWidth}px`, From d9a576076b416a4e090f662b36533f5b7ca1db63 Mon Sep 17 00:00:00 2001 From: Kirill Bessonov Date: Mon, 19 Jan 2026 16:30:31 -0500 Subject: [PATCH 23/24] Fixed subtree viewport issue resizing --- html/table.html | 63 ++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/html/table.html b/html/table.html index b01cabe..aa1a8cf 100644 --- a/html/table.html +++ b/html/table.html @@ -2153,6 +2153,10 @@ console.debug(copy_head_node) //RENDER tree based on the selected layout function let svg_chart = TREE_SWITCH.get(TREE_VAL)(copy_head_node); + + d3.select(svg_chart).on("layout-complete", () => { + updateLeafLabelsDisplay(); + }); let renderedTreePadding = svg_chart.style.paddingLeft || 0 svg_chart.style.paddingLeft = `${renderedTreePadding + TREE_OFFSET}px` @@ -2167,7 +2171,10 @@ } }); } - updateLeafLabelsDisplay(); + + //updateLeafLabelsDisplay(); + + }; // Helper function to recurse through child nodes @@ -2234,7 +2241,6 @@ chart_.style.paddingLeft = chart_.style.paddingLeft + TREE_OFFSET; $("#TreeData").append(chart_); d3.select(chart_).on("layout-complete", () => { - console.debug("Tree rendering now complete updating node labels."); updateLeafLabelsDisplay(); }); $(".leaf-node").each((i, elm) => { @@ -2786,9 +2792,7 @@ * updateLeafNodeLabels(MetaDataMap); */ function updateLeafNodeLabels(MetaDataMap) { - console.debug(`[updateLeafNodeLabels] Updating leaf node labels with metadata map size: ${MetaDataMap.size}`); - const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') const svgAttrWidth = svg.attr("width") @@ -2807,12 +2811,11 @@ //update leaf nodes update labels const isEmpty = !MetaDataMap || MetaDataMap.size === 0; - console.log("Full Metadata Map:", MetaDataMap); const selectedFields = Array.from(document.querySelectorAll('#dropdown_append_metadata2nodes .metadata-field-checkbox:checked')) .map(cb => cb.value); - console.log("User selected these fields:", selectedFields); + console.debug("User selected these fields:", selectedFields); let missingMetadataNodes = new Set(); svg.selectAll("g.leaf-node").each(function () { @@ -2830,7 +2833,6 @@ the future in may create some problems. */ newLabel = hasValue ? `${joinedFields}` : nodeId; - console.debug(`[updateLeafNodeLabels] Updated label for node ${nodeId}: ${newLabel}`); } g.selectAll("text") .filter(function () { @@ -2845,26 +2847,6 @@ - /**@remarks - Previously, a `setTimeout` was used to wait for the browser to finish rendering labels. - Without this wait, `getBBox()` would return "stale" old dimensions before the leaf nodes text was - updated to wider dimensions, causing the labels to be clipped. - - Specifically, the `setTimeout` function was required as this function executes - before the svg is rendered in the main window resulting in no viewBox - this results in the viewBox width not being increased resulting in cut off - labels. the timeout allows for this function to execute when the svg actually exists. - - Async did not fix the problem, adding a simple 0.5 second timeout seems to resolve - the issue as a temporary fix. - - We now use a 0-duration D3 NAMED transition via `.on("end", ...)` event listener https://d3js.org/d3-transition/control-flow#transition_end. - 1. The named "transition" waits until our D3 code gets rendered by the browser layout engine. - 2. Then the "end" event fires only after the browser has finished calculating the new sizes and positions of the text. - - This ensures we always get the accurate width for the viewBox without the artificial - lag and also making sure it will work even on weaker hardware where 500ms might not be long enough - */ const newWidth = treeContainer.node().getBBox().width const newHeight = treeContainer.node().getBBox().height @@ -2879,9 +2861,7 @@ .attr("height", newHeight) .attr("viewBox", `${minX} ${minY} ${newWidth} ${newHeight}`) svg.style.overflow = "scroll"; - console.debug( - `SVG ViewBox Update Old: ${oldWidth}px → New: ${newWidth}px`, - ); + @@ -3185,7 +3165,6 @@ let updateLeafLabelsDisplay = () => { - // Perhaps need to reset viewbox here const checkedBoxes = document.querySelectorAll('#dropdown_append_metadata2nodes .dropdown-menu input[type="checkbox"]:checked'); const metadataMap = extractAllMetadataJoined([...checkedBoxes].map(i => i.value)) if (metadataMap.size !== 0) { @@ -3198,6 +3177,7 @@ let redrawTree = () => { + @@ -3216,8 +3196,27 @@ $("#TreeData").append(chart_); // This is the listener the layout-complete event (i.e. when the tree is fully rendered) // d3.select(chart_) converts the DOM element into a D3 selection to access D3 methods like .on() event listener + d3.select(chart_).on("layout-complete", () => { - console.debug("Tree rendering finished, now can do updating node labels and viewbox resizing."); + /**@remarks + Previously, a `setTimeout` of 500 ms was used inside the updateLeafLabelsDisplay() to wait for the browser to finish rendering labels. + Without this wait, `getBBox()` would return "stale" old dimensions before the leaf nodes text was + updated to wider dimensions, causing the labels to be clipped. + + Specifically, the `setTimeout` function was required as this function executes + before the svg is rendered in the main window resulting in no viewBox + this results in the viewBox width not being increased resulting in cut off + labels. the timeout allows for this function to execute when the svg actually exists. + + We now use a 0-duration D3 named transition ("tree-layout") to solve this more reliably: + + 1) The named transition ensures our code hooks directly into the D3 rendering events. + + 2) The "layout-complete" event fires only after the browser has finished calculating the new physical sizes + and positions of the SVG Tree element. + This ensures we always get the accurate width for the viewBox and eliminates artificial lag for + fast computers and prevents errors on slower hardware where 500ms might not have been enough time to finish rendering. + */ updateLeafLabelsDisplay(); }); $(".leaf-node").each((i, elm) => { From c4de6f324a344a5101bd77c92ec867cbe200c671 Mon Sep 17 00:00:00 2001 From: Matthew Wells <76452933+mattheww95@users.noreply.github.com> Date: Mon, 19 Jan 2026 15:44:22 -0600 Subject: [PATCH 24/24] Revert "Justify label data" --- .gitignore | 3 +- CHANGELOG.md | 9 +- example/ultrametric_simple_tree_metadata.tsv | 42 +- html/table.html | 478 +++++-------------- 4 files changed, 154 insertions(+), 378 deletions(-) diff --git a/.gitignore b/.gitignore index 3067a28..63b977c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ jstreeview phylotree.js static -static/ -.TestArborView/ +static/ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a9b239..466db43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,26 +1,21 @@ # ArborView: Changelog + ## Unreleased ### `Changed` - - Made the scale bar draggable and keyboard-movable for dendrogram layouts. Introduced support for ultrametric trees v [PR 14](https://github.com/phac-nml/ArborView/pull/14) - Added an alternative distance display for ultrametric and ML trees. [PR 13](https://github.com/phac-nml/ArborView/pull/13) - Tree layout selection is now a drop down menu and not a slider. [PR 2](https://github.com/phac-nml/ArborView/pull/2) - Changed the `IDs` button hoverover tip message to reflect the new copy leaf node identifiers to the clipboard functionality [PR 11](https://github.com/phac-nml/ArborView/pull/11) - Tree layout selection is now a drop down menu and not a slider. [PR 2](https://github.com/phac-nml/ArborView/pull/2) - Text selection cursor symbol changes from hand to a pipe symbol (`|`) when mouse over the text in both the webapp tree and SVG exported image. [PR 8](https://github.com/phac-nml/ArborView/pull/8) -- TreeSVG overflow is now visible preventing cutoff labels, fixing ENHC0010243 [PR 19](https://github.com/phac-nml/ArborView/pull/19) ### `Added` - -- Added duplicated `` tags removal during SVG image export from the tree leaf nodes for accurate keyword searches on an resulting SVG image [PR 10] () +- Added duplicated `` tags removal during SVG image export from the tree leaf nodes for accurate keyword searches on an resulting SVG image [PR 10] (https://github.com/phac-nml/ArborView/pull/10) - Added text selection of tree text including distance values and leaf nodes text in both webapp and SVG image exports [PR 8](https://github.com/phac-nml/ArborView/pull/8) - Metadata fields have been added to inner and outer node labels. [PR 4](https://github.com/phac-nml/ArborView/pull/3) - Cladeogram tree layout. [PR 2](https://github.com/phac-nml/ArborView/pull/2) - Added slider for adjusting line thickness. [PR 5](https://github.com/phac-nml/ArborView/pull/5) - Added copy tree nodes to the clipboard [PR 11](https://github.com/phac-nml/ArborView/pull/11) -### `Fixed` - -- Stopped tree from "wandering" after redraws, due to incorrect setting of left padding. [PR 19](https://github.com/phac-nml/ArborView/pull/19) diff --git a/example/ultrametric_simple_tree_metadata.tsv b/example/ultrametric_simple_tree_metadata.tsv index 9b04f74..ab318a9 100644 --- a/example/ultrametric_simple_tree_metadata.tsv +++ b/example/ultrametric_simple_tree_metadata.tsv @@ -1,21 +1,21 @@ -sample_id species host country epi_type isolation_source LongLabel -A Shigella boydii Human Australia clinical patient AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -B Shigella boydii Human Australia clinical patient AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -C Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -D Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -E Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -F Eschrichia coli Human Belgium environmental animal AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -G Eschrichia coli Human Belgium environmental animal AAAAAAAAAA -H Eschrichia coli Human Belgium environmental animal AAAAAAAAAA -I Eschrichia coli Human Belgium environmental animal A -J Eschrichia coli Human Belgium environmental animal A -K Eschrichia coli Human Canada clinical body fluid A -L Eschrichia coli Human Canada clinical body fluid A -M Eschrichia coli Human Canada clinical body fluid A -N Eschrichia coli Human Canada clinical body fluid A -O Eschrichia coli Human Canada clinical body fluid A -P Eschrichia coli Human Canada clinical body fluid -Q Eschrichia coli Human Canada clinical body fluid -R Eschrichia coli Human USA clinical blood -S Eschrichia coli Human Canada clinical body fluid -T Eschrichia coli Human Canada clinical body fluid +sample_id species host country epi_type isolation_source +A Shigella boydii Human Australia clinical patient +B Shigella boydii Human Australia clinical patient +C Eschrichia coli Human Belgium environmental animal +D Eschrichia coli Human Belgium environmental animal +E Eschrichia coli Human Belgium environmental animal +F Eschrichia coli Human Belgium environmental animal +G Eschrichia coli Human Belgium environmental animal +H Eschrichia coli Human Belgium environmental animal +I Eschrichia coli Human Belgium environmental animal +J Eschrichia coli Human Belgium environmental animal +K Eschrichia coli Human Canada clinical body fluid +L Eschrichia coli Human Canada clinical body fluid +M Eschrichia coli Human Canada clinical body fluid +N Eschrichia coli Human Canada clinical body fluid +O Eschrichia coli Human Canada clinical body fluid +P Eschrichia coli Human Canada clinical body fluid +Q Eschrichia coli Human Canada clinical body fluid +R Eschrichia coli Human USA clinical blood +S Eschrichia coli Human Canada clinical body fluid +T Eschrichia coli Human Canada clinical body fluid \ No newline at end of file diff --git a/html/table.html b/html/table.html index aa1a8cf..16977ec 100644 --- a/html/table.html +++ b/html/table.html @@ -6,10 +6,6 @@ display: inline-block; } - #control_panel { - overflow: visible; - } - #TreeData { white-space: nowrap; /*prevents line wrapping inside*/ overflow-x: auto; @@ -20,15 +16,7 @@ position: relative; overflow: auto } - - .tree-svg { - height: auto; - font 10px sans-serif; - user-select: auto; - overflow: visible; - margin-left: 1em; - } .row.no-wrap { flex-wrap: nowrap; /*prevents the TreeData div with the svg tree to wrap around*/ @@ -59,7 +47,6 @@ .scale-bar { cursor: move; visibility: visible; - font-family: monospace, monospace; } /*This creates flash effect when the user finishes editing a metadata cell.*/ @@ -148,22 +135,6 @@ opacity: 0; transition: opacity 2s ease; } - - .leaf-node { - font-family: monospace, monospace; - white-space-collapse: preserve; - } - - .inner-node { - font-family: monospace, monospace; - white-space-collapse: preserve; - } - - .leaf-node-label { - - font-family: monospace, monospace; - white-space-collapse: preserve; - } @@ -246,7 +217,6 @@ */ var TREE_ULTRAMETRIC_P = false; - var LABEL_SAFETY_FACTOR = 200 var collapse_subtree = false; // can think of another way to signal state without our larger refactor var focused_element = null; // Focused element to have its colour reset var RADIUS_INCREASED = false; @@ -263,9 +233,8 @@ const INNER_NODE_SIZE = 4; const LEAF_NODE_SIZE = 6; var DECIMAL_PLACES = 1; - const DISTANCE_LABEL_OFFSET = 5.2; - - var LABEL_TRUNCATE_SIZE = 50; // When a given text label exceed the length of this value it is truncated + const DISTANCE_LABEL_OFFSET = 5.2 + let ORIGINAL_CONTROL_PANEL_HEIGHT=null; //The original dimensions of the left control panel that are needed to bring it back to original size @@ -636,7 +605,8 @@ const marginBottom = 30; // updated for viewing const marginLeft = 40; - const inner_radius = width - LABEL_SAFETY_FACTOR; + const label_safety_factor = 300; + const inner_radius = width - label_safety_factor; function maxLength(d) { @@ -683,7 +653,7 @@ const svg = d3.create("svg") .attr("id", "TreeSVG") .attr("width", width) //makes sure all tree nodes are within view - .attr("class", "tree-svg") + .attr("style", `height: auto; font: 10px sans-serif; user-select: auto;`) svg.append("defs").append("style").attr("type", "text/css").text("svg text {cursor: text}"); @@ -719,14 +689,11 @@ ORIGINAL_WIDTH_SVG=width const height = right.x - left.x + marginTop + marginBottom; - const transition = svg.transition("tree-layout") + const transition = svg.transition() .duration(duration) .attr("height", height) .attr("viewBox", [0, left.x - marginTop, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) - .on("end", () => { - svg.dispatch("layout-complete");// This tells the rest of the app "The tree is done rendering!" - }); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); // Update the nodes… const node = gNode.selectAll("g:not(#scale-bar-group)") @@ -766,7 +733,6 @@ } } } - updateLeafLabelsDisplay(); } }); } @@ -776,7 +742,6 @@ .attr("r", d => !d.data.leaf ? INNER_NODE_SIZE : LEAF_NODE_SIZE) // size 6 for leaf nodes and 4 for inner nodes .attr("fill", d => !d.data.leaf ? "#555" : "#999") .attr("stroke-width", 10); - // Add branch length to all inner nodes nodeEnter.append("text") @@ -881,12 +846,14 @@ var ele = document.getElementById("TreeData"); var ele_style = window.getComputedStyle(ele); const width = parseInt(ele_style.width)-TREE_OFFSET; + //var width = window.innerWidth; const marginTop = 40; const marginRight = 10; const marginBottom = 30; // updated for viewing const marginLeft = 40; - const inner_radius = width - LABEL_SAFETY_FACTOR; + let label_safety_factor = 300; + const inner_radius = width - label_safety_factor; function setDistance(d, y0, k) { // From the tree of life code @@ -905,11 +872,13 @@ const leaves_in_tree = root.leaves(); const pixels_per_label = 15; + const dx = 20; const root_node_height = dx * 0.5; + //const dy = (width - marginRight - marginLeft) / (1 + root.height); const dy = inner_radius / root.height; - // Test Scale drawing + tree = d3.cluster() .nodeSize([dx, dy]) .separation( (a, b) => { return 1;}) // Can pass in a custom function to alter distance between labels, 1 means all labels are spaced the same distance @@ -919,12 +888,12 @@ // https://www.w3.org/TR/SVG/paths.html#PathElement for path movements meanings return `M${d.source.distance},${d.source.x} L${d.source.distance},${d.target.x} L${d.target.distance},${d.target.x}` }; - + // Create the SVG container, a layer for the links and a layer for the nodes. const svg = d3.create("svg") .attr("id", "TreeSVG") .attr("width", width) //makes sure all tree nodes are within view - .attr("class", "tree-svg") + .attr("style", `height: auto; font: 10px sans-serif; user-select: auto;`) svg.append("defs").append("style").attr("type", "text/css").text("svg text {cursor: text}"); @@ -949,7 +918,7 @@ let below_root = 0; function update(event, source) { - console.debug("Performing tree update") + console.log("Performing tree update") // Recalculate tree lengths on collapse let max_length = maxLength(root) setDistance(root, root.data.d = 0, (inner_radius / max_length)) // Third value is a scaling factor @@ -1004,14 +973,11 @@ ORIGINAL_WIDTH_SVG=width const height = right.x - left.x + marginTop + marginBottom; - const transition = svg.transition("tree-layout") + const transition = svg.transition() .duration(duration) .attr("height", height) .attr("viewBox", [0, left.x - marginTop, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) - .on("end", () => { - svg.dispatch("layout-complete");// This tells the rest of the app "The tree is done rendering!" - }); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); // Update the nodes… const node = gNode.selectAll("g:not(#scale-bar-group)") @@ -1057,7 +1023,6 @@ } } } - updateLeafLabelsDisplay(); } }); } @@ -1072,7 +1037,7 @@ nodeEnter.append("text") .text((d) => { if(!d.data.leaf || !TREE_ULTRAMETRIC_P){ - return Number((d.display_dist).toFixed(DECIMAL_PLACES)); + return Number((d.display_dist).toFixed(DECIMAL_PLACES)) } }) .attr("class", "branch-length") @@ -1105,7 +1070,6 @@ .text(d => { // If meta is a string or name is defined for the node return d.data.meta ? d.data.name ? `${d.data.name} | ${d.data.meta}` : d.data.meta : d.data.name - }) .clone(true).lower() .attr("stroke", "white"); @@ -1176,14 +1140,8 @@ } //let display_width = parseInt(ele_style.width) - label_safety_factor //draw a scale bar - drawScale(gNode, inner_radius, (dx * leaves_in_tree.length) - (below_root*dx)-5, max_length, root) - //svg.on("layout-complete", () => { - // console.debug("Layout rendering is complete now and can update the leaf nodes") - // updateLeafLabelsDisplay(); - //}); - return svg.node(); }; @@ -1196,7 +1154,7 @@ const width = parseInt(ele_style.width)-TREE_OFFSET; const height = width; const outerRadius = width / 2; - const innerRadius = outerRadius; + const innerRadius = outerRadius - 170; const decimal_places = 4; const sc_to_radians = Math.PI / 180; @@ -1251,7 +1209,9 @@ const svg = d3.create("svg") .attr("id", "TreeSVG") .attr("viewBox", [0, 0, width, height]) - .attr("class", "tree-svg") + .attr("font-family", "sans-serif") + .attr("font-size", 10) + .attr("style", `height: auto; font: 10px sans-serif; user-select: auto;`); svg.append("defs").append("style").attr("type", "text/css").text("svg text {cursor: text}"); @@ -1334,14 +1294,11 @@ }); ORIGINAL_WIDTH_SVG=width - const transition = svg.transition("tree-layout") + const transition = svg.transition() .duration(duration) .attr("height", height) .attr("viewBox", [0, 0, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) - .on("end", () => { - svg.dispatch("layout-complete");// This tells the rest of the app "The tree is done rendering!" - }); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); const node = gNode.selectAll("g:not(#scale-bar-group)") .data(nodes, d => d.id); @@ -1384,7 +1341,6 @@ } } } - updateLeafLabelsDisplay(); } }); } @@ -1525,7 +1481,8 @@ .attr("id", "TreeSVG") .attr("width", width + 20) //makes sure all tree nodes are within view .attr("height", dx) - .attr("class", "tree-svg") + .attr("style", `height: auto; font: 10px sans-serif; user-select: auto;`) + svg.append("defs").append("style").attr("type", "text/css").text("svg text {cursor: text}"); @@ -1560,14 +1517,11 @@ ORIGINAL_WIDTH_SVG=width const height = right.x - left.x + marginTop + marginBottom; - const transition = svg.transition("tree-layout") + const transition = svg.transition() .duration(duration) .attr("height", height) .attr("viewBox", [0, left.x - marginTop, width, height]) - .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")) - .on("end", () => { - svg.dispatch("layout-complete");// This event tells the rest of the app "The tree is done rendering!" - }); + .tween("resize", window.ResizeObserver ? null : () => () => svg.dispatch("toggle")); // Update the nodes… const node = gNode.selectAll("g:not(#scale-bar-group)") @@ -1608,7 +1562,6 @@ } } } - updateLeafLabelsDisplay(); } }); } @@ -1712,11 +1665,10 @@ } - const RADIAL_DENDROGRAM = "Radial Dendrogram" const TREE_SWITCH = new Map([ ["Dendrogram", dendrogram_chart], ["TidyTree", tidytree_chart], - [RADIAL_DENDROGRAM, dendrogram_circle], + ["Radial Dendrogram", dendrogram_circle], ["Cladeogram", cladeogram_chart]]); // key value pairs map to switch between tree views @@ -1795,6 +1747,7 @@ param element: a html "g" element to update the colour of */ let [parent, circle, text] = SelectedNodes.getNodeData(element.closest(SelectedNodes.#svg_parent)); + //SelectedNodes.nodes is a map where each key is sample_id if(!SelectedNodes.nodes.has(parent.id)){ //ensures that node id is used instead of leaf node text as it is more reliable if node text label is changed @@ -1812,7 +1765,7 @@ let elm = element.closest(SelectedNodes.#svg_parent) let [parent, circle, text] = SelectedNodes.getNodeData(elm); SelectedNodes.deSelectedColours(text, circle); - let dropped = SelectedNodes.nodes.delete(elm.id) + let dropped = SelectedNodes.nodes.delete(element.id) console.debug("Dropping values:", text.textContent, dropped); } @@ -2115,7 +2068,7 @@ // Create a subtree from the inner node selected in a tree let CustomSubTree = (event, data) => { - console.debug("Subtree is being rendered") + console.log("Subtree is being rendered") $("#legend_toggle").bootstrapToggle('off') SelectedNodes.drawSelectedNodes(); $('#colour-legend').empty() @@ -2129,9 +2082,9 @@ let copy_head_node=structuredClone(data.data) const totalNodes = countNodes(copy_head_node) - console.debug(`New head node of the tree with ${totalNodes} nodes at distance ${copy_head_node.max_length} and ultrametric=${TREE_ULTRAMETRIC_P}`); + console.log(`New head node of the tree with ${totalNodes} nodes at distance ${copy_head_node.max_length} and ultrametric=${TREE_ULTRAMETRIC_P}`); //if a tree is non-ultrametric then create a subtree with subtracted distances from the head node selected as root now - console.debug(copy_head_node) + console.log(copy_head_node) if (!TREE_ULTRAMETRIC_P){ const distanceToSubtract = copy_head_node.max_length; const subtractDistance = (node, amount) => { @@ -2148,19 +2101,13 @@ // Apply the annotated distance subtraction to the copied head node and all its descendants. subtractDistance(copy_head_node, distanceToSubtract); } - console.debug(`Head node after subtraction ${copy_head_node.max_length}`); + console.log(`Head node after subtraction ${copy_head_node.max_length}`); - console.debug(copy_head_node) + console.log(copy_head_node) //RENDER tree based on the selected layout function let svg_chart = TREE_SWITCH.get(TREE_VAL)(copy_head_node); - - d3.select(svg_chart).on("layout-complete", () => { - updateLeafLabelsDisplay(); - }); + svg_chart.style.paddingLeft = svg_chart.style.paddingLeft + TREE_OFFSET; - let renderedTreePadding = svg_chart.style.paddingLeft || 0 - svg_chart.style.paddingLeft = `${renderedTreePadding + TREE_OFFSET}px` - $("#TreeData").append(svg_chart); $(".leaf-node").each((i, elm) => { // Maintain colour of already selected nodes @@ -2171,10 +2118,6 @@ } }); } - - //updateLeafLabelsDisplay(); - - }; // Helper function to recurse through child nodes @@ -2240,9 +2183,6 @@ console.debug("Switching chart type via renderer function selected ", TREE_SWITCH.get(TREE_VAL).name); chart_.style.paddingLeft = chart_.style.paddingLeft + TREE_OFFSET; $("#TreeData").append(chart_); - d3.select(chart_).on("layout-complete", () => { - updateLeafLabelsDisplay(); - }); $(".leaf-node").each((i, elm) => { let [parent, circle, text] = SelectedNodes.getNodeData(elm); if(SelectedNodes.nodes.has(text.textContent)){ @@ -2250,7 +2190,7 @@ SelectedNodes.setSelectedColours(text, circle); }; }); - reset_zoom_slider(); + reset_zoom_slider() return true; } }; @@ -2274,56 +2214,21 @@ console.warn("No selected metadata field indexes specified."); return MetaDataMap; } - - // Track the lenght of the largest element in the table - const maxLabelLengths = new Array(TABLE_HEADERS.length).fill(0); - let maxIDLength = 0; - - /* - labelsUpdate will contain an array of the key and their updated - labels to display. The array will not be processed into it's string view - until it is time to update the map as the max length is required to calculate - the required padding for each element - */ - const labelsUpdate = new Array(); - ORIGINAL_DATA.forEach((row, key, table) => { - if (!row || !Array.isArray(row)) { - console.warn(`Invalid row for sampleID ${sampleID}`); - return; // Return functions as continue in a for each loop - } - maxIDLength = Math.max(key.length, maxIDLength); - const selectedValues = selected_indexes.map((i) => { - let row_label = String(row[i] || "NA").trim(); - /** @remarks - fromCodePoint retrieves the the horizontal unicode elipse so that the charactar is rendered nicely. - */ - row_label = row_label.length > LABEL_TRUNCATE_SIZE ? - `${row_label.slice(0, LABEL_TRUNCATE_SIZE)}${String.fromCodePoint(0x2026)}` - : row_label - let labelLength = row_label.length; - maxLabelLengths[i] = Math.max(maxLabelLengths[i], labelLength); - return row_label; - }); - labelsUpdate.push([key, selectedValues]); - }) + // Iterate through the full original data + for (const [sampleID, row] of ORIGINAL_DATA.entries()) { + if (!row || !Array.isArray(row)) { + console.warn(`Invalid row for sampleID ${sampleID}`); + continue; + } - for(const item of labelsUpdate){ - let padded_id = item[0].padEnd(maxIDLength, " "); - let labels = [padded_id]; + // Get selected metadata fields + const selectedValues = selected_indexes.map(i => String(row[i] || "NA").trim()); + const joinedFields = selectedValues.join(" | "); - labels.push(...item[1].map((ele, i) => { - // For each selected index, we can get the maxLabelLength - let maxLabelLength = maxLabelLengths[selected_indexes[i]]; - // The padEnd function will pad a given value to be certain length - return ele.padEnd(maxLabelLength, " "); - })); - - - MetaDataMap.set(item[0], labels.join(" | ")) + MetaDataMap.set(sampleID, joinedFields); } - return MetaDataMap; } @@ -2401,7 +2306,7 @@ "lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ], className: ".editable", initComplete: function (settings, json) { - console.debug("DataTables has finished its initialization"); + console.log("DataTables has finished its initialization"); //listen to Enter keys $('#metadata').on('keydown', 'td[contenteditable=true]', function (e) { if (e.key === 'Enter') { @@ -2473,24 +2378,24 @@ .on('click', function(){ if(data_table.context[0]._iDisplayLength !== -1){ - console.debug("Paginate OFF") + console.log("Paginate OFF") data_table.context[0]._iDisplayLength=-1; //remove pagination data_table.draw(); $('#metadata_length select').val(-1); //change "Show X entires" selector to ALL value $('#paginate_button_all').text("First 10") - console.debug(this.textContent) + console.log(this.textContent) }else{ - console.debug("Paginate ON") - console.debug($('#paginate_button_all').text()) + console.log("Paginate ON") + console.log($('#paginate_button_all').text()) data_table.context[0]._iDisplayLength=10; $('#metadata_length select').val(10); //change "Show X entires" selector to ALL value // data_table.draw(); $('#paginate_button_all').text("ALL records"); - console.debug(this.textContent) + console.log(this.textContent) } @@ -2792,12 +2697,10 @@ * updateLeafNodeLabels(MetaDataMap); */ function updateLeafNodeLabels(MetaDataMap) { - + const svg = d3.select("#TreeSVG") const treeContainer = svg.select('g[cursor="pointer"][pointer-events="all"]') const svgAttrWidth = svg.attr("width") - const oldWidth = treeContainer.node().getBBox().width - if (treeContainer.empty()) { console.warn("Main tree container group not found."); @@ -2811,13 +2714,7 @@ //update leaf nodes update labels const isEmpty = !MetaDataMap || MetaDataMap.size === 0; - - const selectedFields = Array.from(document.querySelectorAll('#dropdown_append_metadata2nodes .metadata-field-checkbox:checked')) - .map(cb => cb.value); - - console.debug("User selected these fields:", selectedFields); - - let missingMetadataNodes = new Set(); + svg.selectAll("g.leaf-node").each(function () { const g = d3.select(this); const nodeId = this.id; @@ -2826,50 +2723,29 @@ } else { const joinedFields = MetaDataMap.get(nodeId); const hasValue = typeof joinedFields === "string" && joinedFields.trim() !== ""; - if (!hasValue) missingMetadataNodes.add(nodeId); - /** @remarks - Removed the .trim() on joinedFields as the whitespace is required for padding. - trimEnd() would work, but if we had more options for justifying text in - the future in may create some problems. - */ - newLabel = hasValue ? `${joinedFields}` : nodeId; + newLabel = hasValue ? `${nodeId} | ${joinedFields.trim()}` : nodeId; } g.selectAll("text") .filter(function () { // Only update text elements that start with the nodeId return d3.select(this).text().startsWith(nodeId); }) - .text(newLabel).attr("class", "leaf-node-label"); + .text(newLabel); }); - if (missingMetadataNodes.size > 0) { - console.warn(`Metadata missing for ${missingMetadataNodes.size} nodes:`, Array.from(missingMetadataNodes)); - } - - - + const newWidth = treeContainer.node().getBBox().width - const newHeight = treeContainer.node().getBBox().height + + // Parse the existing viewBox const viewBoxAttr = svg.attr("viewBox") - if (!viewBoxAttr) { - console.warn("viewBox not yet initialized by chart function."); - return; - } const [minX, minY, width, height] = viewBoxAttr.split(/[\s,]+/).map(Number) // Update the width of the svg element - svg.attr("width", newWidth) - .attr("height", newHeight) - .attr("viewBox", `${minX} ${minY} ${newWidth} ${newHeight}`) - svg.style.overflow = "scroll"; - - - - + svg.attr("width", newWidth).attr("viewBox", `${minX} ${minY} ${newWidth} ${height}`) } /** * Attaches event listeners to all metadata checkboxes in the - * "Add metadata to nodes" dropdown menu. This function listens + * "Add metadata to nodes" dropdown menu. This function listens * for `change` events (i.e. when checkboxes are selected or deselected) * and logs the selected field and its checked status. * **/ @@ -2927,6 +2803,8 @@ // Extract all metadata already loaded as a map const metadataJoinedMap = extractAllMetadataJoined(checkedFields); + + // Append metadata to tree leaf nodes if available if (metadataJoinedMap.size !== 0) { updateLeafNodeLabels(metadataJoinedMap) @@ -2985,23 +2863,10 @@ if (oldMenu) container.removeChild(oldMenu); const button = container.querySelector('button'); - const rect = button.getBoundingClientRect(); - - const distanceToTop = rect.top; //Distance from the top of the button to the top of the screen - const distanceToBottom = window.innerHeight - rect.bottom;//Distance from the bottom of the button to the bottom of the screen - const dynamicMaxHeight = Math.max(distanceToTop, distanceToBottom) - 20; - - if (distanceToTop > distanceToBottom) { - container.classList.add('dropup'); - } else { - container.classList.remove('dropup'); - } - - const dropdown = document.createElement('div'); dropdown.className = 'dropdown-menu'; dropdown.style.overflow = 'visible'; - dropdown.style.maxHeight = `${dynamicMaxHeight}px`; + //dropdown.style.maxHeight = '300px'; dropdown.style.overflow = 'auto'; dropdown.style.whiteSpace = 'nowrap'; dropdown.style.marginLeft = '4px'; @@ -3132,7 +2997,7 @@ let colour_idx = 0; colour_legend.length = 0; // clear out old data, so new legend created each time for (const nodeId of SelectedNodes.nodes) { - console.debug(nodeId); // This will log each node ID in the Set + console.log(nodeId); // This will log each node ID in the Set } for(const item in break_down_values){ break_down_values[item].forEach((x, i) => { @@ -3162,87 +3027,36 @@ CreateNodeLegend(colour_legend, col_index, break_down_values); }; - - - let updateLeafLabelsDisplay = () => { - const checkedBoxes = document.querySelectorAll('#dropdown_append_metadata2nodes .dropdown-menu input[type="checkbox"]:checked'); - const metadataMap = extractAllMetadataJoined([...checkedBoxes].map(i => i.value)) - if (metadataMap.size !== 0) { - updateLeafNodeLabels(metadataMap) - }else{ - console.warn("The metadata table map is empty."); - updateLeafNodeLabels(metadataMap) - } - } - let redrawTree = () => { - - - - - $('#colour-legend').empty() - $('#colour-legend').addClass('d-none') - $("#scale-bar-menu").remove() - $('#TreeSVG').remove(); - let tree_drawn = () => { - let chart_ = null; - if(tree_root !== null){ - chart_ = TREE_SWITCH.get(TREE_VAL)(tree_root); - let renderedTreePadding = chart_.style.paddingLeft || 0 - chart_.style.paddingLeft = `${renderedTreePadding + TREE_OFFSET}px` - - $("#TreeData").append(chart_); - // This is the listener the layout-complete event (i.e. when the tree is fully rendered) - // d3.select(chart_) converts the DOM element into a D3 selection to access D3 methods like .on() event listener - - d3.select(chart_).on("layout-complete", () => { - /**@remarks - Previously, a `setTimeout` of 500 ms was used inside the updateLeafLabelsDisplay() to wait for the browser to finish rendering labels. - Without this wait, `getBBox()` would return "stale" old dimensions before the leaf nodes text was - updated to wider dimensions, causing the labels to be clipped. - - Specifically, the `setTimeout` function was required as this function executes - before the svg is rendered in the main window resulting in no viewBox - this results in the viewBox width not being increased resulting in cut off - labels. the timeout allows for this function to execute when the svg actually exists. - - We now use a 0-duration D3 named transition ("tree-layout") to solve this more reliably: - - 1) The named transition ensures our code hooks directly into the D3 rendering events. - - 2) The "layout-complete" event fires only after the browser has finished calculating the new physical sizes - and positions of the SVG Tree element. - This ensures we always get the accurate width for the viewBox and eliminates artificial lag for - fast computers and prevents errors on slower hardware where 500ms might not have been enough time to finish rendering. - */ - updateLeafLabelsDisplay(); + $('#colour-legend').empty() + $('#colour-legend').addClass('d-none') + $('#TreeSVG').remove(); + $("#scale-bar-menu").remove() + let chart_ = null; + if(tree_root !== null){ + chart_ = TREE_SWITCH.get(TREE_VAL)(tree_root); + chart_.style.paddingLeft = chart_.style.paddingLeft + TREE_OFFSET; + + $("#TreeData").append(chart_); + $(".leaf-node").each((i, elm) => { + let [parent, circle, text] = SelectedNodes.getNodeData(elm); + if(SelectedNodes.nodes.has(text.textContent)){ + SelectedNodes.nodes.set(text.textContent, parent); // reset dom position + SelectedNodes.setSelectedColours(text, circle); + }; }); - $(".leaf-node").each((i, elm) => { - let [parent, circle, text] = SelectedNodes.getNodeData(elm); - if(SelectedNodes.nodes.has(text.textContent)){ - SelectedNodes.nodes.set(text.textContent, parent); // reset dom position - SelectedNodes.setSelectedColours(text, circle); - }; - }); - }else{ - console.error("No tree to redraw"); - } - } - tree_drawn(); - reset_zoom_slider(); - - - + reset_zoom_slider() + return true; + } + console.error("No tree to redraw"); } $(() => { - $("#redraw-tree-button").on("click", () => { - redrawTree(); - }); + $("#redraw-tree-button").on("click", () => { redrawTree() }); initialize_tree_menu(); lineThickness(); @@ -3268,7 +3082,7 @@ let reader = new FileReader(); let newick_file = event.target.files[0]; reader.readAsText(newick_file, "UTF-8"); - console.debug(`Successfully loaded ${newick_file.name}`) + console.log(`Successfully loaded ${newick_file.name}`) reader.onload = (evt) => { newick = evt.target.result; drawTree(newick); @@ -3442,21 +3256,19 @@ }); zoom_tree = function(){ - + const zoom_times = parseFloat(document.querySelector('#zoom_slider').value) const tree_data_elm = document.querySelector('#TreeData') const tree_svg = document.querySelector('#TreeSVG') document.querySelector('#zoom_slider_value').textContent = zoom_times + const new_width = ORIGINAL_WIDTH_SVG * zoom_times //use global value as getBBox() at high zooms gives wrong values const prev_width = parseFloat(document.querySelector('#TreeSVG').style.width) //Previous x and y scroll positions before applying a zoom const prev_x_scroll_pos = tree_data_elm.scrollLeft const prev_y_scroll_pos = tree_data_elm.scrollTop - - //document.querySelector('#TreeSVG').style.width = new_width ; //modify width of SVG tree - // svg width was not being properly set on firfox - document.querySelector('#TreeSVG').setAttribute("width", `${new_width}`); //modify width of SVG tree + document.querySelector('#TreeSVG').style.width = new_width ; //modify width of SVG tree //store new translated x and y coordinates after zooming let zoom_x_translated = 0 @@ -3763,8 +3575,7 @@ if(text_nodes_leafs.length === 2){ text_nodes_leafs[0].remove() } - }) - svg.querySelector("#TreeSVG").style.overflow = "visible" + }) const blob = serialize2svg(svg)[0]; downloadLink.href = window.URL.createObjectURL(blob); downloadLink.click(); //Trigger a click on the element @@ -3773,70 +3584,39 @@ /*Adapted from https://gist.github.com/tatsuyasusukida/1261585e3422da5645a1cbb9cf8813d6 and https://zooper.pages.dev/articles/how-to-convert-a-svg-to-png-using-canvas*/ export_tree_to_png = function(){ + let svg = document.getElementById("TreeSVG") + let svg_width = svg.getBoundingClientRect().width; + let svg_height = svg.getBoundingClientRect().height; + //extract SVG element + const svgData = new XMLSerializer().serializeToString(svg); + + //create canvas to the size of the SVG + let canvas = document.createElement('canvas') + canvas.width = svg_width+svg_width*0.05; + canvas.height = svg_height+svg_width*0.15; - let svg = document.getElementById("TreeSVG").cloneNode(true); - - let {x, y, width, height} = svg.viewBox.baseVal; - let svg_width = width; - let svg_height = height; - let modified_width = svg_width + (svg_width * 0.15); - let modified_height = svg_height + (svg_height * 0.15); - - // Change the width of the svg element allowing for more of the viewbox to show up - svg.setAttribute("width", modified_width) - - /* - Create a temporary svg expanding increasing the size of the final - canvas the elelment is rendered in. Having this seperate wrapper - also allows for seperate modifications of the PNG before export allowing - for translationst to be performed. - */ - let wrapping_svg = d3.select("body") - .append("svg") - .attr("id", "temporary_svg") - .attr("height", modified_height) - .attr("width", modified_width) - .append('g') - .attr("id", "translation_element") - .attr("height", modified_height) - .attr("width", modified_width) - .append(() => { - return svg - }) + //create SVG image element + let img = new Image(); + img.src = "data:image/svg+xml;base64," + btoa(svgData); + + img.onload = function () { //must be inside this image onload event function due to async image load nature + //render SVG image onto canvas element + let ctx = canvas.getContext('2d'); + ctx.fillStyle = "white"; + ctx.fillRect(0, 0, canvas.width, canvas.height); + ctx.drawImage(img, 0, 0); + //create PNG image from the canvas + let pngUrl = canvas.toDataURL('image/png').replace('image/png', 'octet/stream'); + //create download link + let downloadLink = document.createElement("a"); + downloadLink.download = 'tree_snapshot.png'; + downloadLink.href = pngUrl; + downloadLink.click(); + downloadLink.remove(); + } - - //extract SVG element - const svgData = new XMLSerializer().serializeToString(document.getElementById("temporary_svg")); - //create canvas to the size of the SVG - let canvas = document.createElement('canvas') - canvas.width = modified_width; - canvas.height = modified_height; - - //create SVG image element - let img = new Image(); - img.src = "data:image/svg+xml;base64," + btoa(svgData); - - img.onload = function () { //must be inside this image onload event function due to async image load nature - //render SVG image onto canvas element - let ctx = canvas.getContext('2d'); - ctx.fillStyle = "white"; - ctx.fillRect(0, 0, canvas.width, canvas.height); - - ctx.drawImage(img, 0, 0, modified_width, modified_height); - - //create PNG image from the canvas - let pngUrl = canvas.toDataURL('image/png').replace('image/png', 'octet/stream'); - //create download link - let downloadLink = document.createElement("a"); - downloadLink.download = 'tree_snapshot.png'; - downloadLink.href = pngUrl; - downloadLink.click(); - downloadLink.remove(); - } - - // Remove temporary elements - document.getElementById("temporary_svg").remove(); + } @@ -3861,7 +3641,7 @@ }else{ document.exitFullscreen(); - console.debug(METDATA_TABLE_NON_FULL_SCREEEN_HEIGTH); + console.log(METDATA_TABLE_NON_FULL_SCREEEN_HEIGTH); metadata_panel.style.height = METDATA_TABLE_NON_FULL_SCREEEN_HEIGTH; } } @@ -4042,7 +3822,9 @@ }).then( (result) => { if (result.isConfirmed) { let success_msg = `Copied ${text2copyArray.length} sample IDs to the clipboard` - console.debug(text2copy); + if(DEBUG){ + console.log(text2copy); + } let file = new File(["\ufeff"+text2copy], 'selectedNodes.txt', {type: "text/plain:charset=UTF-8"}) //create a ObjectURL in order to download the created file url = window.URL.createObjectURL(file); @@ -4172,7 +3954,7 @@
-
+