From 22d9563f395bd6ff27f5cbaaae2b5da4cc4d420a Mon Sep 17 00:00:00 2001 From: syntaxbullet Date: Mon, 28 Apr 2025 21:07:18 +0200 Subject: [PATCH 01/14] feat: [Electron Demo] - Add CSS styles, loading spinner, worksheet tabs. --- docz/docs/03-demos/19-desktop/01-electron.md | 3 + docz/static/electron/ew.png | Bin 74510 -> 25564 bytes docz/static/electron/index.html | 54 +-- docz/static/electron/index.js | 294 +++++++++++++--- docz/static/electron/styles.css | 350 +++++++++++++++++++ 5 files changed, 635 insertions(+), 66 deletions(-) create mode 100644 docz/static/electron/styles.css diff --git a/docz/docs/03-demos/19-desktop/01-electron.md b/docz/docs/03-demos/19-desktop/01-electron.md index 711e139..344803e 100644 --- a/docz/docs/03-demos/19-desktop/01-electron.md +++ b/docz/docs/03-demos/19-desktop/01-electron.md @@ -231,6 +231,7 @@ The demo project is wired for `electron-forge` to build the standalone binary. - [`main.js`](pathname:///electron/main.js) : main process script - [`index.html`](pathname:///electron/index.html) : window page - [`index.js`](pathname:///electron/index.js) : script loaded in render context +- [`styles.css`](pathname:///electron/styles.css) : stylesheet :::caution pass @@ -248,6 +249,7 @@ curl -LO https://docs.sheetjs.com/electron/package.json curl -LO https://docs.sheetjs.com/electron/main.js curl -LO https://docs.sheetjs.com/electron/index.html curl -LO https://docs.sheetjs.com/electron/index.js +curl -LO https://docs.sheetjs.com/electron/styles.css ``` :::note pass @@ -265,6 +267,7 @@ curl.exe -LO https://docs.sheetjs.com/electron/package.json curl.exe -LO https://docs.sheetjs.com/electron/main.js curl.exe -LO https://docs.sheetjs.com/electron/index.html curl.exe -LO https://docs.sheetjs.com/electron/index.js +curl.exe -LO https://docs.sheetjs.com/electron/styles.css ``` ::: diff --git a/docz/static/electron/ew.png b/docz/static/electron/ew.png index 67c7b3e1007ebf974a23f1f245474d136fc320f9..8b9db9f4aa3fd99754c29f88fe12d09f863161e8 100644 GIT binary patch literal 25564 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 B`lkQ@ diff --git a/docz/static/electron/index.html b/docz/static/electron/index.html index f20cfe4..8fcafe1 100644 --- a/docz/static/electron/index.html +++ b/docz/static/electron/index.html @@ -7,31 +7,37 @@ SheetJS Electron Demo - + + + + - -

-
-
- + +
+

SheetJS Electron Demo

+

Load a spreadsheet file to see it's contents

+
+
+
+ +

Drag and drop a file here

+

or

+ + +
+
+
+
+

+
+ + + diff --git a/docz/static/electron/index.js b/docz/static/electron/index.js index 35327a2..524953d 100644 --- a/docz/static/electron/index.js +++ b/docz/static/electron/index.js @@ -1,73 +1,283 @@ -/* sheetjs (C) 2013-present SheetJS -- https://sheetjs.com */ const XLSX = require('xlsx'); const electron = require('@electron/remote'); -/* list of supported extensions */ +// --- Supported Extensions --- const EXTENSIONS = "xls|xlsx|xlsm|xlsb|xml|csv|txt|dif|sylk|slk|prn|ods|fods|htm|html|numbers".split("|"); -/* write file with Electron API */ +/** + * Export current HTML table as a spreadsheet file using Electron API. + */ async function exportFile() { const HTMLOUT = document.getElementById('htmlout'); const wb = XLSX.utils.table_to_book(HTMLOUT.getElementsByTagName("TABLE")[0]); const o = await electron.dialog.showSaveDialog({ title: 'Save file as', - filters: [{ - name: "Spreadsheets", - extensions: EXTENSIONS - }] + filters: [{ name: "Spreadsheets", extensions: EXTENSIONS }] }); XLSX.writeFile(wb, o.filePath); electron.dialog.showMessageBox({ message: "Exported data to " + o.filePath, buttons: ["OK"] }); } document.getElementById('exportBtn').addEventListener('click', exportFile, false); -/* common handler to create HTML tables on the page */ -function process_wb(wb) { - const HTMLOUT = document.getElementById('htmlout'); - const XPORT = document.getElementById('exportBtn'); - XPORT.disabled = false; - HTMLOUT.innerHTML = ""; - wb.SheetNames.forEach(function(sheetName) { - const htmlstr = XLSX.utils.sheet_to_html(wb.Sheets[sheetName],{editable:true}); - HTMLOUT.innerHTML += htmlstr; +/** + * Create a element for a table from a header row array. + */ +function createTableHead(headerRow) { + const thead = document.createElement('thead'); + const headRow = document.createElement('tr'); + headerRow.forEach(cell => { + const th = document.createElement('th'); + th.textContent = cell !== undefined ? cell : ''; + headRow.appendChild(th); }); + thead.appendChild(headRow); + return thead; } -/* read file with Electron API */ +/** + * Create a element for a table from a 2D data array. + */ +function createTableBody(data) { + const tbody = document.createElement('tbody'); + for (let i = 1; i < data.length; ++i) { + const row = data[i]; + const tr = document.createElement('tr'); + row.forEach(cell => { + const td = document.createElement('td'); + td.textContent = cell !== undefined ? cell : ''; + tr.appendChild(td); + }); + tbody.appendChild(tr); + } + return tbody; +} + +/** + * Wrap a table in a responsive container div. + */ +function createResponsiveDiv(table) { + const responsiveDiv = document.createElement('div'); + responsiveDiv.className = 'table-responsive'; + responsiveDiv.appendChild(table); + return responsiveDiv; +} + +// --- Main Table Processing --- +/** + * Render all sheets of a workbook as HTML tables with clickable tabs. + */ +function renderWorkbookToTables(wb) { + const HTMLOUT = document.getElementById('htmlout'); + const exportBtn = document.getElementById('exportBtn'); + exportBtn.disabled = false; + HTMLOUT.innerHTML = ""; + + // Create tab container + const tabContainer = document.createElement('div'); + tabContainer.className = 'sheetjs-tab-container'; + + // Create content container + const contentContainer = document.createElement('div'); + contentContainer.className = 'sheetjs-tab-content'; + + // Store tables for each sheet + const tables = []; + + wb.SheetNames.forEach(function(sheetName, idx) { + // Create tab button + const tab = document.createElement('button'); + tab.className = 'sheetjs-tab-btn text-small'; + tab.textContent = sheetName; + tab.setAttribute('data-sheet-idx', idx); + if(idx === 0) tab.classList.add('active'); + tab.addEventListener('click', function() { + // Remove active from all tabs + Array.from(tabContainer.children).forEach(btn => btn.classList.remove('active')); + tab.classList.add('active'); + // Hide all tables and show the selected one + tables.forEach((tableDiv, tIdx) => { + tableDiv.style.display = (tIdx === idx) ? '' : 'none'; + }); + }); + tabContainer.appendChild(tab); + + // Create table for this sheet + const sheet = wb.Sheets[sheetName]; + const data = XLSX.utils.sheet_to_json(sheet, { header: 1 }); + if (data.length === 0) { + const emptyDiv = document.createElement('div'); + emptyDiv.textContent = `Sheet '${sheetName}' is empty.`; + tables.push(emptyDiv); + contentContainer.appendChild(emptyDiv); + return; + } + const table = document.createElement('table'); + table.className = 'sheetjs-table'; + // Remove caption, handled by tab + table.appendChild(createTableHead(data[0])); + table.appendChild(createTableBody(data)); + const responsiveDiv = createResponsiveDiv(table); + if(idx !== 0) responsiveDiv.style.display = 'none'; + tables.push(responsiveDiv); + contentContainer.appendChild(responsiveDiv); + }); + + // Only show tabs if more than one sheet + if (wb.SheetNames.length > 1) { + HTMLOUT.appendChild(tabContainer); + } + HTMLOUT.appendChild(contentContainer); +} + +// --- File Import Logic --- +/** + * Handle file selection dialog and render the selected spreadsheet. + */ async function handleReadBtn() { const o = await electron.dialog.showOpenDialog({ title: 'Select a file', - filters: [{ - name: "Spreadsheets", - extensions: EXTENSIONS - }], + filters: [{ name: "Spreadsheets", extensions: EXTENSIONS }], properties: ['openFile'] }); if(o.filePaths.length == 0) throw new Error("No file was selected!"); - process_wb(XLSX.readFile(o.filePaths[0])); + showSpinner(); + // yield to event loop to render spinner + await new Promise(resolve => setTimeout(resolve, 200)); + try { + const filePath = o.filePaths[0]; + const fileName = filePath.split(/[/\\]/).pop(); + renderWorkbookToTables(XLSX.readFile(filePath)); + showLoadedFileUI(fileName); + } finally { + hideSpinner(); + } } -document.getElementById('readBtn').addEventListener('click', handleReadBtn, false); -/* read file with Web APIs */ +// --- UI Templates and Helpers --- +/** + * Return HTML for the drag-and-drop area. + */ +function getDropAreaHTML() { + return `
+ +

Drag and drop a file here

+

or

+ + +
`; +} + +/** + * Return HTML for the file-loaded UI. + */ +function getFileLoadedHTML(fileName) { + return `
+ ${fileName} + +
`; +} + +/** + * Update the drop-container's inner HTML. + */ +function updateDropContainer(html) { + document.getElementById('drop-container').innerHTML = html; +} + +/** + * Restore the original drag-and-drop UI and reset state. + */ +function restoreDropUI() { + updateDropContainer(getDropAreaHTML()); + // Remove the table/output + const htmlout = document.getElementById('htmlout'); + if (htmlout) htmlout.innerHTML = ''; + // Reset export button state + const exportBtn = document.getElementById('exportBtn'); + if (exportBtn) { + exportBtn.disabled = true; + exportBtn.classList.add('disabled'); + } + // Re-attach event listeners after restoring UI + attachDropListeners(); +} + +/** + * Show UI for loaded file and attach unload handler. + */ +function showLoadedFileUI(fileName) { + updateDropContainer(getFileLoadedHTML(fileName)); + document.getElementById('unloadBtn').addEventListener('click', restoreDropUI); +} + +// --- Event Listener Helpers --- +/** + * Add an event listener to an element if it exists. + */ +function addListener(id, event, handler) { + const el = document.getElementById(id); + if (el) el.addEventListener(event, handler, false); +} + +/** + * Attach drag-and-drop and file input listeners to the UI. + */ +function attachDropListeners() { + addListener('readIn', 'change', (e) => { + showSpinner(); + // Defer to next tick to ensure spinner renders before heavy work + setTimeout(() => readFile(e.target.files), 0); + }); + addListener('readBtn', 'click', handleReadBtn); + const drop = document.getElementById('drop'); + const dropContainer = document.getElementById('drop-container'); + if (!drop || !dropContainer) return; + const handleDrag = (e) => { + e.stopPropagation(); e.preventDefault(); + e.dataTransfer.dropEffect = 'copy'; + dropContainer.classList.add('drag-over'); + }; + const handleDragLeave = (e) => { + e.stopPropagation(); e.preventDefault(); + dropContainer.classList.remove('drag-over'); + }; + drop.addEventListener('drop', (e) => { + e.stopPropagation(); e.preventDefault(); + dropContainer.classList.remove('drag-over'); + readFile(e.dataTransfer.files); + }, false); + drop.addEventListener('dragenter', handleDrag, false); + drop.addEventListener('dragover', handleDrag, false); + drop.addEventListener('dragleave', handleDragLeave, false); + drop.addEventListener('dragend', handleDragLeave, false); +} + +// --- Spinner Helpers --- +function showSpinner() { + const spinner = document.getElementById('spinner-overlay'); + if (spinner) spinner.style.display = 'flex'; +} +function hideSpinner() { + const spinner = document.getElementById('spinner-overlay'); + if (spinner) spinner.style.display = 'none'; +} + +// --- File Reader for Drag-and-Drop and Input --- +/** + * Read file(s) from input or drag-and-drop and render as table. + */ async function readFile(files) { + if (!files || files.length === 0) return; const f = files[0]; - const data = await f.arrayBuffer(); - process_wb(XLSX.read(data)); + showSpinner(); + try { + const data = await f.arrayBuffer(); + renderWorkbookToTables(XLSX.read(data)); + showLoadedFileUI(f.name); + } finally { + hideSpinner(); + } } -// file input element -document.getElementById('readIn').addEventListener('change', (e) => { readFile(e.target.files); }, false); - -// drag and drop -const drop = document.getElementById('drop'); -drop.addEventListener('drop', (e) => { - e.stopPropagation(); e.preventDefault(); - readFile(e.dataTransfer.files); -}, false); - -const handleDrag = (e) => { - e.stopPropagation(); e.preventDefault(); - e.dataTransfer.dropEffect = 'copy'; -}; -drop.addEventListener('dragenter', handleDrag, false); -drop.addEventListener('dragover', handleDrag, false); +// --- Initial Setup --- +attachDropListeners(); diff --git a/docz/static/electron/styles.css b/docz/static/electron/styles.css new file mode 100644 index 0000000..99405ab --- /dev/null +++ b/docz/static/electron/styles.css @@ -0,0 +1,350 @@ +/* ===================== + Root Variables + ===================== */ +:root { + --text-base: #212529; + --text-muted: #666363; + --text-accent: #0c9244; + --button-primary: #212529; + --button-text: #fff; + --button-primary-hover: #0c9244; + --button-primary-active: #075025; + --button-primary-disabled: #6c757d; + --white: #fff; + --black: #000; + --table-even: #f6f6f6; + --table-hover: #88dda98f; + --table-head: #f8f9faaf; + --danger: #c0392b; +} + +/* ===================== + Global Styles & Reset + ===================== */ +body, html { + width: 100%; + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + min-height: 100vh; + width: 100%; + margin: 0; + box-sizing: border-box; + font-family: "Roboto", sans-serif; + font-optical-sizing: auto; + font-style: normal; + display: flex; + flex-direction: column; + align-items: stretch; + justify-content: flex-start; +} + +li { + list-style: none; +} + +/* ===================== + Typography + ===================== */ +h1, p { + margin: 0; + color: var(--text-base); + text-align: center; +} + +.text-muted { + color: var(--text-muted) !important; +} + +.text-condensed { + font-family: "Roboto Condensed", sans-serif; + font-optical-sizing: auto; + font-style: normal; +} + +.text-small { + font-size: 0.875rem !important; +} + +/* ===================== + Links + ===================== */ +a { + text-decoration: none; + color: var(--text-base); +} +a:hover { + text-decoration: underline; + color: var(--text-accent); +} + +/* ===================== + Header + ===================== */ +header { + margin: 4rem 0; +} + +/* ===================== + Buttons & Inputs + ===================== */ +button, input[type="submit"] { + background-color: var(--button-primary); + border: none; + padding: 0.5rem 1rem; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.2s ease; + color: var(--button-text); +} +button:hover, input[type="submit"]:hover { + background-color: var(--button-primary-hover); +} +button:active, input[type="submit"]:active { + background-color: var(--button-primary-active); +} +button:disabled, input[type="submit"]:disabled { + background-color: var(--button-primary-disabled); + cursor: not-allowed; + opacity: 0.3; +} +input[type="file"] { + display: none; +} + +button:focus, input[type="submit"]:focus, input[type="file"]:focus { + outline: 3px solid var(--text-accent); + outline-offset: 2px; + box-shadow: 0 0 0 2px var(--text-accent); + z-index: 2; +} + +/* ===================== + File Upload + ===================== */ +.file-upload { + display: flex; + margin: 1rem auto; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.5rem; + border: 1px dashed var(--text-muted); + padding: 1rem; + width: 75%; + max-width: 600px; + border-radius: 4px; + background-color: var(--white); +} +.file-upload input[type="file"] { + display: none; +} +.file-upload.drag-over { + border-color: var(--text-accent); + background-color: #e6f8ee; + box-shadow: 0 0 0 2px var(--text-accent); + transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s; +} + +#drop { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +/* ===================== + Export Section + ===================== */ +.export { + margin: 2rem 0; + flex-grow: 1; +} + +/* ===================== + Footer + ===================== */ +footer { + background-color: #eee; + padding: 1rem; + display: flex; + justify-content: center; + align-items: center; + position: relative; + bottom: 0; +} +footer ul { + margin: 0; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + gap: 1rem; + width: 100%; +} +footer li { + list-style: none; +} + +/* ===================== + Responsive Table Container + ===================== */ +.table-responsive { + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + margin: 2rem 0; +} + +/* ===================== + SheetJS Table Styles + ===================== */ +.sheetjs-table { + width: 80%; + padding: 1rem; + max-width: 900px; + border-collapse: collapse; + margin: 0 auto; + font-family: "Roboto", "Roboto Condensed", sans-serif; + overflow: hidden; +} +#htmlout { + padding: 1rem; +} +.sheetjs-table caption { + caption-side: top; + font-family: "Roboto Condensed", sans-serif; + font-size: 1.2rem; + color: var(--text-accent); + padding: 0.5rem; + letter-spacing: 0.05em; +} +.sheetjs-table thead { + background: var(--table-head); +} +.sheetjs-table th, .sheetjs-table td { + padding: 0.25rem 1rem; + border: 1px solid var(--text-muted); + text-align: left; + font-size: 1rem; +} +.sheetjs-table th { + color: var(--text-base); + font-family: "Roboto Condensed", sans-serif; + font-weight: 600; + letter-spacing: 0.03em; +} +.sheetjs-table tbody tr:nth-child(even) { + background: var(--table-even); +} +.sheetjs-table tbody tr:hover { + background: var(--table-hover); +} + +/* ===================== + File Status/Loaded/Unload + ===================== */ +.file-status { + margin-top: 10px; + font-size: 1rem; + color: var(--gray-888); + min-height: 1.5em; + transition: color 0.2s; +} +.file-loaded { + display: flex; + gap: 1rem; + align-items: center; + justify-content: space-between; + padding: 1em; +} +.unload-btn:hover { + background: var(--danger); + color: var(--white); +} + +/* ===================== + Sheet Tabs + ===================== */ +.sheetjs-tab-container { + display: flex; + gap: 0.5rem; + margin: 1rem auto 0.5rem auto; + justify-content: center; +} +.sheetjs-tab-btn { + background: var(--button-primary); + border: none; + padding: 0.5rem 1.2rem; + border-radius: 6px 6px 0 0; + font-family: "Roboto Condensed", sans-serif; + font-size: 1rem; + color: var(--button-text); + cursor: pointer; + transition: background 0.18s, color 0.18s, box-shadow 0.18s; + outline: none; + position: relative; + top: 2px; + box-shadow: 0 2px 6px rgba(12, 146, 68, 0.05); + opacity: 0.94; +} +.sheetjs-tab-btn.active, .sheetjs-tab-btn:focus { + background: var(--text-accent); + color: var(--white); + z-index: 2; + opacity: 1; + box-shadow: 0 4px 12px rgba(12, 146, 68, 0.12); +} +.sheetjs-tab-btn:hover:not(.active) { + background: var(--button-primary-hover); + color: var(--white); + opacity: 1; +} +.sheetjs-tab-content { + width: 100%; +} + +/* Spinner Styles */ +.spinner-overlay { + position: fixed; + top: 0; left: 0; + width: 100vw; + height: 100vh; + background: rgba(255,255,255,0.6); + display: flex; + align-items: center; + justify-content: center; + z-index: 10000; +} +.spinner { + border: 6px solid #f3f3f3; + border-top: 6px solid var(--text-accent); + border-radius: 50%; + width: 48px; + height: 48px; + animation: spin 1s linear infinite; +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* ===================== + Media Queries + ===================== */ +@media (max-width: 700px) { + .sheetjs-table th, .sheetjs-table td { + padding: 0.25rem 0.5rem; + font-size: 0.9rem; + } + .sheetjs-table caption { + font-size: 1rem; + padding: 0.25rem; + } +} + + -- 2.34.1 From fd0d5a6ad07136d1bc99505398e6edb61de28164 Mon Sep 17 00:00:00 2001 From: syntaxbullet Date: Wed, 30 Apr 2025 13:53:56 +0200 Subject: [PATCH 02/14] chore: fix spelling error. refactor: replace tabs with `details` element, hide dropzone on file-uploads. --- docz/static/electron/ew.png | Bin 25564 -> 29845 bytes docz/static/electron/index.html | 8 +- docz/static/electron/index.js | 306 ++++++++++++-------------------- docz/static/electron/styles.css | 93 ++++------ 4 files changed, 153 insertions(+), 254 deletions(-) diff --git a/docz/static/electron/ew.png b/docz/static/electron/ew.png index 8b9db9f4aa3fd99754c29f88fe12d09f863161e8..5fa2f3fb28e5f27895915fcaf82cc50a3f34c143 100644 GIT binary patch literal 29845 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
-SheetJS Electron Demo
-
-
-
Drop a spreadsheet file here to see sheet data
- ... or click here to select a file - -