Get table HTML code

This commit is contained in:
Nick Playfair 2025-06-12 16:33:03 +01:00
parent 70e444d6a3
commit a3f3c2ed09
3 changed files with 14 additions and 3 deletions

View File

@ -3,7 +3,6 @@ const csv = require('csvtojson');
export async function getBOM(csvBOM: string) { export async function getBOM(csvBOM: string) {
const rawBOM = await csv(csvConfig).fromString(csvBOM); 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)); const bom = rawBOM.filter((part: Part) => !rejectedParts.includes(part.Part));
return bom; return bom;
} }

View File

@ -7,6 +7,7 @@ import { headers } from './config';
const input = document.getElementById('csvInput') as HTMLInputElement; const input = document.getElementById('csvInput') as HTMLInputElement;
const csvTextOutput = document.getElementById('csvText') as HTMLPreElement; const csvTextOutput = document.getElementById('csvText') as HTMLPreElement;
const jsonTextOutput = document.getElementById('partsJSON') as HTMLPreElement; const jsonTextOutput = document.getElementById('partsJSON') as HTMLPreElement;
const partsHTML = document.getElementById('partsHTML') as HTMLPreElement;
const htmlTable = document.getElementById('partsTable') as HTMLTableElement; const htmlTable = document.getElementById('partsTable') as HTMLTableElement;
let csvBOM: string; let csvBOM: string;
@ -35,6 +36,7 @@ function processCSV(fileReader: Event) {
printJSONbom(csvString); printJSONbom(csvString);
//Table //Table
createTable(); createTable();
//TODO Table HTML code
} }
//Print JSON //Print JSON
@ -47,7 +49,16 @@ async function printJSONbom(csvString: string) {
async function createTable() { async function createTable() {
const bomJSON = await getBOM(csvBOM); const bomJSON = await getBOM(csvBOM);
const partsTable = new PartsTable(htmlTable, headers, bomJSON); 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 //Add event listener

View File

@ -40,9 +40,10 @@ export class PartsTable {
} }
//Create full table //Create full table
public createTable(): void { public createTable(): HTMLElement {
this.clearTable(); this.clearTable();
this.createTableHeader(); this.createTableHeader();
this.createTableBody(); this.createTableBody();
return this.htmlTable;
} }
} }