From a3f3c2ed09fdc883d6e9c5f1cf9fa44d69dec688 Mon Sep 17 00:00:00 2001 From: Nick Playfair <842413+nplayfair@users.noreply.github.com> Date: Thu, 12 Jun 2025 16:33:03 +0100 Subject: [PATCH] Get table HTML code --- src/csvToJSON.ts | 1 - src/index.ts | 13 ++++++++++++- src/table.ts | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/csvToJSON.ts b/src/csvToJSON.ts index 99bab67..ac156c0 100644 --- a/src/csvToJSON.ts +++ b/src/csvToJSON.ts @@ -3,7 +3,6 @@ const csv = require('csvtojson'); export async function getBOM(csvBOM: string) { const rawBOM = await csv(csvConfig).fromString(csvBOM); - // const bom = rawBOM.filter((part: Part) => !isJunk(part)); const bom = rawBOM.filter((part: Part) => !rejectedParts.includes(part.Part)); return bom; } diff --git a/src/index.ts b/src/index.ts index 05b1535..ef2e6fd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,6 +7,7 @@ import { headers } from './config'; const input = document.getElementById('csvInput') as HTMLInputElement; const csvTextOutput = document.getElementById('csvText') as HTMLPreElement; const jsonTextOutput = document.getElementById('partsJSON') as HTMLPreElement; +const partsHTML = document.getElementById('partsHTML') as HTMLPreElement; const htmlTable = document.getElementById('partsTable') as HTMLTableElement; let csvBOM: string; @@ -35,6 +36,7 @@ function processCSV(fileReader: Event) { printJSONbom(csvString); //Table createTable(); + //TODO Table HTML code } //Print JSON @@ -47,7 +49,16 @@ async function printJSONbom(csvString: string) { async function createTable() { const bomJSON = await getBOM(csvBOM); const partsTable = new PartsTable(htmlTable, headers, bomJSON); - partsTable.createTable(); + const tableMarkup = await partsTable.createTable(); + printHTMLtable(tableMarkup as HTMLTableElement, partsHTML); +} + +//Print HTML code +async function printHTMLtable( + table: HTMLTableElement, + codeBlock: HTMLPreElement, +) { + codeBlock.innerText = table.outerHTML; } //Add event listener diff --git a/src/table.ts b/src/table.ts index 531a4d2..e7b224b 100644 --- a/src/table.ts +++ b/src/table.ts @@ -40,9 +40,10 @@ export class PartsTable { } //Create full table - public createTable(): void { + public createTable(): HTMLElement { this.clearTable(); this.createTableHeader(); this.createTableBody(); + return this.htmlTable; } }