From 0228bef29990467eb7cc13a4d2ced7ba0fbe8970 Mon Sep 17 00:00:00 2001 From: Nallana Hari Krishna <169121181+harikrishna-au@users.noreply.github.com> Date: Fri, 14 Feb 2025 14:46:39 +0530 Subject: [PATCH 1/3] Update CombinationalAnalysis.vue --- .../DialogBox/CombinationalAnalysis.vue | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/v0/src/components/DialogBox/CombinationalAnalysis.vue b/v0/src/components/DialogBox/CombinationalAnalysis.vue index 3b4092a8..20bf36de 100644 --- a/v0/src/components/DialogBox/CombinationalAnalysis.vue +++ b/v0/src/components/DialogBox/CombinationalAnalysis.vue @@ -295,22 +295,33 @@ function createBooleanPrompt(inputList, outputList, scope = globalScope) { ] } + function generateBooleanTableData(outputListNames) { - var data = {} - for (var i = 0; i < outputListNames.length; i++) { - data[outputListNames[i]] = { - x: [], - 1: [], - 0: [], - } - var rows = $(`.${outputListNames[i]}`) - for (let j = 0; j < rows.length; j++) { - data[outputListNames[i]][rows[j].innerHTML].push(rows[j].id) - } + let data = {}; + + for (let i = 0; i < outputListNames.length; i++) { + let outputName = outputListNames[i]; + data[outputName] = { x: [], 1: [], 0: [] }; + + let tableDiv = document.querySelector("body > div.v-overlay-container > div > div.v-overlay__content > div > div.v-card-text"); + let table = tableDiv?.querySelector(".content-table"); + let rows = table?.querySelectorAll("tbody tr") || []; + + [...rows].forEach((row, index) => { + if (index === 0) return; + let columns = [...row.querySelectorAll("th")]; + let lastColumnValue = columns.pop()?.innerText.trim(); + + ((lastColumnValue === '0') && data[outputName]['0'].push(String(index - 1))) || + ((lastColumnValue === '1') && data[outputName]['1'].push(String(index - 1))) || + data[outputName]['x'].push(String(index - 1)); + }); } - return data + + return data; } + function drawCombinationalAnalysis( combinationalData, inputList, @@ -627,6 +638,7 @@ function solveBooleanFunction(inputListNames, booleanExpression) { } function generateCircuit() { + var data = generateBooleanTableData(outputListNamesInteger.value) var minimizedCircuit = [] let inputCount = inputListNames.value.length @@ -649,6 +661,7 @@ function generateCircuit() { minimizedCircuit.push(temp.result) } } + if (output.value == null) { drawCombinationalAnalysis( minimizedCircuit, From 76c507e601c3dae023a33b28f394733cc0718c2a Mon Sep 17 00:00:00 2001 From: Nallana Hari Krishna <169121181+harikrishna-au@users.noreply.github.com> Date: Fri, 14 Feb 2025 15:03:42 +0530 Subject: [PATCH 2/3] Update v0/src/components/DialogBox/CombinationalAnalysis.vue Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../DialogBox/CombinationalAnalysis.vue | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/v0/src/components/DialogBox/CombinationalAnalysis.vue b/v0/src/components/DialogBox/CombinationalAnalysis.vue index 20bf36de..957fc207 100644 --- a/v0/src/components/DialogBox/CombinationalAnalysis.vue +++ b/v0/src/components/DialogBox/CombinationalAnalysis.vue @@ -312,9 +312,21 @@ function generateBooleanTableData(outputListNames) { let columns = [...row.querySelectorAll("th")]; let lastColumnValue = columns.pop()?.innerText.trim(); - ((lastColumnValue === '0') && data[outputName]['0'].push(String(index - 1))) || - ((lastColumnValue === '1') && data[outputName]['1'].push(String(index - 1))) || - data[outputName]['x'].push(String(index - 1)); + if (!lastColumnValue) { + console.error(`Missing value in row ${index}`); + continue; + } + + switch(lastColumnValue) { + case '0': + data[outputName]['0'].push(String(index - 1)); + break; + case '1': + data[outputName]['1'].push(String(index - 1)); + break; + default: + data[outputName]['x'].push(String(index - 1)); + } }); } From 986942fd7ca7acccd51a89cf87d26c01887d79cf Mon Sep 17 00:00:00 2001 From: Nallana Hari Krishna <169121181+harikrishna-au@users.noreply.github.com> Date: Fri, 14 Feb 2025 15:03:56 +0530 Subject: [PATCH 3/3] Update v0/src/components/DialogBox/CombinationalAnalysis.vue Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../components/DialogBox/CombinationalAnalysis.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/v0/src/components/DialogBox/CombinationalAnalysis.vue b/v0/src/components/DialogBox/CombinationalAnalysis.vue index 957fc207..874da027 100644 --- a/v0/src/components/DialogBox/CombinationalAnalysis.vue +++ b/v0/src/components/DialogBox/CombinationalAnalysis.vue @@ -303,9 +303,17 @@ function generateBooleanTableData(outputListNames) { let outputName = outputListNames[i]; data[outputName] = { x: [], 1: [], 0: [] }; - let tableDiv = document.querySelector("body > div.v-overlay-container > div > div.v-overlay__content > div > div.v-card-text"); - let table = tableDiv?.querySelector(".content-table"); - let rows = table?.querySelectorAll("tbody tr") || []; + let tableDiv = document.querySelector("[data-test-id='combinational-analysis-table']"); + if (!tableDiv) { + console.error('Table container not found'); + return {}; + } + let table = tableDiv.querySelector("[data-test-id='content-table']"); + if (!table) { + console.error('Table not found'); + return {}; + } + let rows = table.querySelectorAll("tbody tr"); [...rows].forEach((row, index) => { if (index === 0) return;