From 80199d9de93abad0044d71712111b4528648c430 Mon Sep 17 00:00:00 2001 From: mostafa Date: Mon, 26 Jun 2023 22:57:41 +0300 Subject: [PATCH 1/7] add sweet alert library to html file --- index.html | 56 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/index.html b/index.html index 7445a44..c7229e1 100644 --- a/index.html +++ b/index.html @@ -1,31 +1,39 @@ - - - - + + + + Excel Sheet Generator - - - - - - + + + + + +
-

Excel Sheet Generator

- - -
- - -
+

Excel Sheet Generator

+ + +
+ + +
- - -
+ + +
- - - - \ No newline at end of file + + + + + From cf3a4395ccdc7d9f5d0cdbe6b0438ac83f036dd8 Mon Sep 17 00:00:00 2001 From: mostafa Date: Mon, 26 Jun 2023 22:59:49 +0300 Subject: [PATCH 2/7] add function make alert if the input value isnot number --- script.js | 87 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 23 deletions(-) diff --git a/script.js b/script.js index bb93c4d..0ca6c58 100644 --- a/script.js +++ b/script.js @@ -1,29 +1,70 @@ +// let table = document.getElementsByClassName("sheet-body")[0], +// rows = document.getElementsByClassName("rows")[0], +// columns = document.getElementsByClassName("columns")[0]; +// tableExists = false; + +// const generateTable = () => { +// let rowsNumber = parseInt(rows.value), +// columnsNumber = parseInt(columns.value); +// table.innerHTML = ""; +// for (let i = 0; i < rowsNumber; i++) { +// var tableRow = ""; +// for (let j = 0; j < columnsNumber; j++) { +// tableRow += ``; +// } +// table.innerHTML += tableRow; +// } +// if (rowsNumber > 0 && columnsNumber > 0) { +// tableExists = true; +// } +// }; + +// const ExportToExcel = (type, fn, dl) => { +// if (!tableExists) { +// return; +// } +// var elt = table; +// var wb = XLSX.utils.table_to_book(elt, { sheet: "sheet1" }); +// return dl +// ? XLSX.write(wb, { bookType: type, bookSST: true, type: "base64" }) +// : XLSX.writeFile(wb, fn || "MyNewSheet." + (type || "xlsx")); +// }; + let table = document.getElementsByClassName("sheet-body")[0], -rows = document.getElementsByClassName("rows")[0], -columns = document.getElementsByClassName("columns")[0] -tableExists = false + rows = document.getElementsByClassName("rows")[0], + columns = document.getElementsByClassName("columns")[0]; +tableExists = false; const generateTable = () => { - let rowsNumber = parseInt(rows.value), columnsNumber = parseInt(columns.value) - table.innerHTML = "" - for(let i=0; i` - } - table.innerHTML += tableRow + let rowsNumber = parseInt(rows.value), + columnsNumber = parseInt(columns.value); + if (isNaN(rowsNumber) || isNaN(columnsNumber)) { + swal("Error", "Please enter valid numbers for rows and columns!", "error", { + button: "OK", + }); + return; + } + table.innerHTML = ""; + for (let i = 0; i < rowsNumber; i++) { + var tableRow = ""; + for (let j = 0; j < columnsNumber; j++) { + tableRow += ``; } - if(rowsNumber>0 && columnsNumber>0){ - tableExists = true - } -} + table.innerHTML += tableRow; + } + if (rowsNumber > 0 && columnsNumber > 0) { + tableExists = true; + } +}; const ExportToExcel = (type, fn, dl) => { - if(!tableExists){ - return - } - var elt = table - var wb = XLSX.utils.table_to_book(elt, { sheet: "sheet1" }) - return dl ? XLSX.write(wb, { bookType: type, bookSST: true, type: 'base64' }) - : XLSX.writeFile(wb, fn || ('MyNewSheet.' + (type || 'xlsx'))) -} \ No newline at end of file + if (!tableExists) { + // swal("Error", "Please generate a table before exporting!", "error"); + return; + } + var elt = table; + var wb = XLSX.utils.table_to_book(elt, { sheet: "sheet1" }); + return dl + ? XLSX.write(wb, { bookType: type, bookSST: true, type: "base64" }) + : XLSX.writeFile(wb, fn || "MyNewSheet." + (type || "xlsx")); +}; From 0da39a57aeac44a958e2ac66efc4d0f40c755e9d Mon Sep 17 00:00:00 2001 From: mostafa Date: Mon, 26 Jun 2023 23:04:00 +0300 Subject: [PATCH 3/7] add function make alert if the input values lower than 1 --- script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script.js b/script.js index 0ca6c58..e060de8 100644 --- a/script.js +++ b/script.js @@ -59,7 +59,7 @@ const generateTable = () => { const ExportToExcel = (type, fn, dl) => { if (!tableExists) { - // swal("Error", "Please generate a table before exporting!", "error"); + swal("Error", "Please generate a table before exporting!", "error"); return; } var elt = table; From aed63892d4c26084262d33d3f94e1c2410c9a8d1 Mon Sep 17 00:00:00 2001 From: mostafa Date: Mon, 26 Jun 2023 23:07:04 +0300 Subject: [PATCH 4/7] remove some comments --- script.js | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/script.js b/script.js index e060de8..778f4c6 100644 --- a/script.js +++ b/script.js @@ -1,35 +1,3 @@ -// let table = document.getElementsByClassName("sheet-body")[0], -// rows = document.getElementsByClassName("rows")[0], -// columns = document.getElementsByClassName("columns")[0]; -// tableExists = false; - -// const generateTable = () => { -// let rowsNumber = parseInt(rows.value), -// columnsNumber = parseInt(columns.value); -// table.innerHTML = ""; -// for (let i = 0; i < rowsNumber; i++) { -// var tableRow = ""; -// for (let j = 0; j < columnsNumber; j++) { -// tableRow += ``; -// } -// table.innerHTML += tableRow; -// } -// if (rowsNumber > 0 && columnsNumber > 0) { -// tableExists = true; -// } -// }; - -// const ExportToExcel = (type, fn, dl) => { -// if (!tableExists) { -// return; -// } -// var elt = table; -// var wb = XLSX.utils.table_to_book(elt, { sheet: "sheet1" }); -// return dl -// ? XLSX.write(wb, { bookType: type, bookSST: true, type: "base64" }) -// : XLSX.writeFile(wb, fn || "MyNewSheet." + (type || "xlsx")); -// }; - let table = document.getElementsByClassName("sheet-body")[0], rows = document.getElementsByClassName("rows")[0], columns = document.getElementsByClassName("columns")[0]; From c028a111aaafa8e89b6e9218478348c892b3c625 Mon Sep 17 00:00:00 2001 From: Mostafa Shehata <133728219+mostafashehata0@users.noreply.github.com> Date: Mon, 26 Jun 2023 23:23:43 +0300 Subject: [PATCH 5/7] Update README.md the changes which i did in the task --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index cf820c2..9927662 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,9 @@ hello there, your task is to use sweetalert.js to display an alert when the user fork the repository and start working on it. best of luck. + + +the changes i did +1.add sweetalert library to html file +2. add function make alert if the input value isnot number or empty when click the generate button +3. add function make alert if the input values lower than 1 when click the export button From ba06ada42014d38c4886cde11d0c48487546bccb Mon Sep 17 00:00:00 2001 From: Mostafa Shehata <133728219+mostafashehata0@users.noreply.github.com> Date: Sat, 1 Jul 2023 09:23:36 +0300 Subject: [PATCH 6/7] Create static.yml --- .github/workflows/static.yml | 43 ++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/static.yml diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml new file mode 100644 index 0000000..2bd90b5 --- /dev/null +++ b/.github/workflows/static.yml @@ -0,0 +1,43 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + # Upload entire repository + path: '.' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 From 8cd70658aed91836c371c07344528d56fabb574c Mon Sep 17 00:00:00 2001 From: Mostafa Shehata <133728219+mostafashehata0@users.noreply.github.com> Date: Sat, 1 Jul 2023 09:24:23 +0300 Subject: [PATCH 7/7] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9927662..df35580 100644 --- a/README.md +++ b/README.md @@ -11,3 +11,4 @@ the changes i did 1.add sweetalert library to html file 2. add function make alert if the input value isnot number or empty when click the generate button 3. add function make alert if the input values lower than 1 when click the export button +https://mostafashehata0.github.io/excel-sheet-generator/