From 19e6dce285e4726a671eabdf12990a68b88ebd04 Mon Sep 17 00:00:00 2001 From: Rostyslav` Date: Sun, 10 May 2026 17:20:51 +0300 Subject: [PATCH 1/6] task solution --- src/scripts/main.js | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 7d4a5db04..d7297b822 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -354,7 +354,20 @@ const people = [ }, ]; -// eslint-disable-next-line no-console -console.log(people); // you can remove it +const table = document.querySelector('.dashboard'); +people.forEach(person => { + const row = document.createElement('tr'); + const age = person.died - person.born; + const century = Math.ceil(person.died / 100); -// write your code here + row.innerHTML = ` + ${person.name} + ${person.sex} + ${person.born} + ${person.died} + ${age} + ${century} + `; + + table.append(row); +}); From 0be6b38b04e4631775cd0856af670e671803ffe3 Mon Sep 17 00:00:00 2001 From: Rostyslav` Date: Mon, 11 May 2026 10:52:30 +0300 Subject: [PATCH 2/6] task solution --- src/scripts/main.js | 714 ++++++++++++++++++++++---------------------- 1 file changed, 359 insertions(+), 355 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index d7297b822..f6affc69c 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,368 +1,372 @@ 'use strict'; +import people from './people.json'; -const people = [ - { - name: 'Carolus Haverbeke', - sex: 'm', - born: 1832, - died: 1905, - fatherName: 'Carel Haverbeke', - motherName: 'Maria van Brussel', - slug: 'carolus-haverbeke-1832', - }, - { - name: 'Emma de Milliano', - sex: 'f', - born: 1876, - died: 1956, - fatherName: 'Petrus de Milliano', - motherName: 'Sophia van Damme', - slug: 'emma-de-milliano-1876', - }, - { - name: 'Maria de Rycke', - sex: 'f', - born: 1683, - died: 1724, - fatherName: 'Frederik de Rycke', - motherName: 'Laurentia van Vlaenderen', - slug: 'maria-de-rycke-1683', - }, - { - name: 'Jan van Brussel', - sex: 'm', - born: 1714, - died: 1748, - fatherName: 'Jacobus van Brussel', - motherName: 'Joanna van Rooten', - slug: 'jan-van-brussel-1714', - }, - { - name: 'Philibert Haverbeke', - sex: 'm', - born: 1907, - died: 1997, - fatherName: 'Emile Haverbeke', - motherName: 'Emma de Milliano', - slug: 'philibert-haverbeke-1907', - }, - { - name: 'Jan Frans van Brussel', - sex: 'm', - born: 1761, - died: 1833, - fatherName: 'Jacobus Bernardus van Brussel', - motherName: null, - slug: 'jan-frans-van-brussel-1761', - }, - { - name: 'Pauwels van Haverbeke', - sex: 'm', - born: 1535, - died: 1582, - fatherName: 'N. van Haverbeke', - motherName: null, - slug: 'pauwels-van-haverbeke-1535', - }, - { - name: 'Clara Aernoudts', - sex: 'f', - born: 1918, - died: 2012, - fatherName: 'Henry Aernoudts', - motherName: 'Sidonie Coene', - slug: 'clara-aernoudts-1918', - }, - { - name: 'Emile Haverbeke', - sex: 'm', - born: 1877, - died: 1968, - fatherName: 'Carolus Haverbeke', - motherName: 'Maria Sturm', - slug: 'emile-haverbeke-1877', - }, - { - name: 'Lieven de Causmaecker', - sex: 'm', - born: 1696, - died: 1724, - fatherName: 'Carel de Causmaecker', - motherName: 'Joanna Claes', - slug: 'lieven-de-causmaecker-1696', - }, - { - name: 'Pieter Haverbeke', - sex: 'm', - born: 1602, - died: 1642, - fatherName: 'Lieven van Haverbeke', - motherName: null, - slug: 'pieter-haverbeke-1602', - }, - { - name: 'Livina Haverbeke', - sex: 'f', - born: 1692, - died: 1743, - fatherName: 'Daniel Haverbeke', - motherName: 'Joanna de Pape', - slug: 'livina-haverbeke-1692', - }, - { - name: 'Pieter Bernard Haverbeke', - sex: 'm', - born: 1695, - died: 1762, - fatherName: 'Willem Haverbeke', - motherName: 'Petronella Wauters', - slug: 'pieter-bernard-haverbeke-1695', - }, - { - name: 'Lieven van Haverbeke', - sex: 'm', - born: 1570, - died: 1636, - fatherName: 'Pauwels van Haverbeke', - motherName: 'Lievijne Jans', - slug: 'lieven-van-haverbeke-1570', - }, - { - name: 'Joanna de Causmaecker', - sex: 'f', - born: 1762, - died: 1807, - fatherName: 'Bernardus de Causmaecker', - motherName: null, - slug: 'joanna-de-causmaecker-1762', - }, - { - name: 'Willem Haverbeke', - sex: 'm', - born: 1668, - died: 1731, - fatherName: 'Lieven Haverbeke', - motherName: 'Elisabeth Hercke', - slug: 'willem-haverbeke-1668', - }, - { - name: 'Pieter Antone Haverbeke', - sex: 'm', - born: 1753, - died: 1798, - fatherName: 'Jan Francies Haverbeke', - motherName: 'Petronella de Decker', - slug: 'pieter-antone-haverbeke-1753', - }, - { - name: 'Maria van Brussel', - sex: 'f', - born: 1801, - died: 1834, - fatherName: 'Jan Frans van Brussel', - motherName: 'Joanna de Causmaecker', - slug: 'maria-van-brussel-1801', - }, - { - name: 'Angela Haverbeke', - sex: 'f', - born: 1728, - died: 1734, - fatherName: 'Pieter Bernard Haverbeke', - motherName: 'Livina de Vrieze', - slug: 'angela-haverbeke-1728', - }, - { - name: 'Elisabeth Haverbeke', - sex: 'f', - born: 1711, - died: 1754, - fatherName: 'Jan Haverbeke', - motherName: 'Maria de Rycke', - slug: 'elisabeth-haverbeke-1711', - }, - { - name: 'Lievijne Jans', - sex: 'f', - born: 1542, - died: 1582, - fatherName: null, - motherName: null, - slug: 'lievijne-jans-1542', - }, - { - name: 'Bernardus de Causmaecker', - sex: 'm', - born: 1721, - died: 1789, - fatherName: 'Lieven de Causmaecker', - motherName: 'Livina Haverbeke', - slug: 'bernardus-de-causmaecker-1721', - }, - { - name: 'Jacoba Lammens', - sex: 'f', - born: 1699, - died: 1740, - fatherName: 'Lieven Lammens', - motherName: 'Livina de Vrieze', - slug: 'jacoba-lammens-1699', - }, - { - name: 'Pieter de Decker', - sex: 'm', - born: 1705, - died: 1780, - fatherName: 'Joos de Decker', - motherName: 'Petronella van de Steene', - slug: 'pieter-de-decker-1705', - }, - { - name: 'Joanna de Pape', - sex: 'f', - born: 1654, - died: 1723, - fatherName: 'Vincent de Pape', - motherName: 'Petronella Wauters', - slug: 'joanna-de-pape-1654', - }, - { - name: 'Daniel Haverbeke', - sex: 'm', - born: 1652, - died: 1723, - fatherName: 'Lieven Haverbeke', - motherName: 'Elisabeth Hercke', - slug: 'daniel-haverbeke-1652', - }, - { - name: 'Lieven Haverbeke', - sex: 'm', - born: 1631, - died: 1676, - fatherName: 'Pieter Haverbeke', - motherName: 'Anna van Hecke', - slug: 'lieven-haverbeke-1631', - }, - { - name: 'Martina de Pape', - sex: 'f', - born: 1666, - died: 1727, - fatherName: 'Vincent de Pape', - motherName: 'Petronella Wauters', - slug: 'martina-de-pape-1666', - }, - { - name: 'Jan Francies Haverbeke', - sex: 'm', - born: 1725, - died: 1779, - fatherName: 'Pieter Bernard Haverbeke', - motherName: 'Livina de Vrieze', - slug: 'jan-francies-haverbeke-1725', - }, - { - name: 'Maria Haverbeke', - sex: 'm', - born: 1905, - died: 1997, - fatherName: 'Emile Haverbeke', - motherName: 'Emma de Milliano', - slug: 'maria-haverbeke-1905', - }, - { - name: 'Petronella de Decker', - sex: 'f', - born: 1731, - died: 1781, - fatherName: 'Pieter de Decker', - motherName: 'Livina Haverbeke', - slug: 'petronella-de-decker-1731', - }, - { - name: 'Livina Sierens', - sex: 'f', - born: 1761, - died: 1826, - fatherName: 'Jan Sierens', - motherName: 'Maria van Waes', - slug: 'livina-sierens-1761', - }, - { - name: 'Laurentia Haverbeke', - sex: 'f', - born: 1710, - died: 1786, - fatherName: 'Jan Haverbeke', - motherName: 'Maria de Rycke', - slug: 'laurentia-haverbeke-1710', - }, - { - name: 'Carel Haverbeke', - sex: 'm', - born: 1796, - died: 1837, - fatherName: 'Pieter Antone Haverbeke', - motherName: 'Livina Sierens', - slug: 'carel-haverbeke-1796', - }, - { - name: 'Elisabeth Hercke', - sex: 'f', - born: 1632, - died: 1674, - fatherName: 'Willem Hercke', - motherName: 'Margriet de Brabander', - slug: 'elisabeth-hercke-1632', - }, - { - name: 'Jan Haverbeke', - sex: 'm', - born: 1671, - died: 1731, - fatherName: 'Lieven Haverbeke', - motherName: 'Elisabeth Hercke', - slug: 'jan-haverbeke-1671', - }, - { - name: 'Anna van Hecke', - sex: 'f', - born: 1607, - died: 1670, - fatherName: 'Paschasius van Hecke', - motherName: 'Martijntken Beelaert', - slug: 'anna-van-hecke-1607', - }, - { - name: 'Maria Sturm', - sex: 'f', - born: 1835, - died: 1917, - fatherName: 'Charles Sturm', - motherName: 'Seraphina Spelier', - slug: 'maria-sturm-1835', - }, - { - name: 'Jacobus Bernardus van Brussel', - sex: 'm', - born: 1736, - died: 1809, - fatherName: 'Jan van Brussel', - motherName: 'Elisabeth Haverbeke', - slug: 'jacobus-bernardus-van-brussel-1736', - }, -]; +// const people = [ +// { +// name: 'Carolus Haverbeke', +// sex: 'm', +// born: 1832, +// died: 1905, +// fatherName: 'Carel Haverbeke', +// motherName: 'Maria van Brussel', +// slug: 'carolus-haverbeke-1832', +// }, +// { +// name: 'Emma de Milliano', +// sex: 'f', +// born: 1876, +// died: 1956, +// fatherName: 'Petrus de Milliano', +// motherName: 'Sophia van Damme', +// slug: 'emma-de-milliano-1876', +// }, +// { +// name: 'Maria de Rycke', +// sex: 'f', +// born: 1683, +// died: 1724, +// fatherName: 'Frederik de Rycke', +// motherName: 'Laurentia van Vlaenderen', +// slug: 'maria-de-rycke-1683', +// }, +// { +// name: 'Jan van Brussel', +// sex: 'm', +// born: 1714, +// died: 1748, +// fatherName: 'Jacobus van Brussel', +// motherName: 'Joanna van Rooten', +// slug: 'jan-van-brussel-1714', +// }, +// { +// name: 'Philibert Haverbeke', +// sex: 'm', +// born: 1907, +// died: 1997, +// fatherName: 'Emile Haverbeke', +// motherName: 'Emma de Milliano', +// slug: 'philibert-haverbeke-1907', +// }, +// { +// name: 'Jan Frans van Brussel', +// sex: 'm', +// born: 1761, +// died: 1833, +// fatherName: 'Jacobus Bernardus van Brussel', +// motherName: null, +// slug: 'jan-frans-van-brussel-1761', +// }, +// { +// name: 'Pauwels van Haverbeke', +// sex: 'm', +// born: 1535, +// died: 1582, +// fatherName: 'N. van Haverbeke', +// motherName: null, +// slug: 'pauwels-van-haverbeke-1535', +// }, +// { +// name: 'Clara Aernoudts', +// sex: 'f', +// born: 1918, +// died: 2012, +// fatherName: 'Henry Aernoudts', +// motherName: 'Sidonie Coene', +// slug: 'clara-aernoudts-1918', +// }, +// { +// name: 'Emile Haverbeke', +// sex: 'm', +// born: 1877, +// died: 1968, +// fatherName: 'Carolus Haverbeke', +// motherName: 'Maria Sturm', +// slug: 'emile-haverbeke-1877', +// }, +// { +// name: 'Lieven de Causmaecker', +// sex: 'm', +// born: 1696, +// died: 1724, +// fatherName: 'Carel de Causmaecker', +// motherName: 'Joanna Claes', +// slug: 'lieven-de-causmaecker-1696', +// }, +// { +// name: 'Pieter Haverbeke', +// sex: 'm', +// born: 1602, +// died: 1642, +// fatherName: 'Lieven van Haverbeke', +// motherName: null, +// slug: 'pieter-haverbeke-1602', +// }, +// { +// name: 'Livina Haverbeke', +// sex: 'f', +// born: 1692, +// died: 1743, +// fatherName: 'Daniel Haverbeke', +// motherName: 'Joanna de Pape', +// slug: 'livina-haverbeke-1692', +// }, +// { +// name: 'Pieter Bernard Haverbeke', +// sex: 'm', +// born: 1695, +// died: 1762, +// fatherName: 'Willem Haverbeke', +// motherName: 'Petronella Wauters', +// slug: 'pieter-bernard-haverbeke-1695', +// }, +// { +// name: 'Lieven van Haverbeke', +// sex: 'm', +// born: 1570, +// died: 1636, +// fatherName: 'Pauwels van Haverbeke', +// motherName: 'Lievijne Jans', +// slug: 'lieven-van-haverbeke-1570', +// }, +// { +// name: 'Joanna de Causmaecker', +// sex: 'f', +// born: 1762, +// died: 1807, +// fatherName: 'Bernardus de Causmaecker', +// motherName: null, +// slug: 'joanna-de-causmaecker-1762', +// }, +// { +// name: 'Willem Haverbeke', +// sex: 'm', +// born: 1668, +// died: 1731, +// fatherName: 'Lieven Haverbeke', +// motherName: 'Elisabeth Hercke', +// slug: 'willem-haverbeke-1668', +// }, +// { +// name: 'Pieter Antone Haverbeke', +// sex: 'm', +// born: 1753, +// died: 1798, +// fatherName: 'Jan Francies Haverbeke', +// motherName: 'Petronella de Decker', +// slug: 'pieter-antone-haverbeke-1753', +// }, +// { +// name: 'Maria van Brussel', +// sex: 'f', +// born: 1801, +// died: 1834, +// fatherName: 'Jan Frans van Brussel', +// motherName: 'Joanna de Causmaecker', +// slug: 'maria-van-brussel-1801', +// }, +// { +// name: 'Angela Haverbeke', +// sex: 'f', +// born: 1728, +// died: 1734, +// fatherName: 'Pieter Bernard Haverbeke', +// motherName: 'Livina de Vrieze', +// slug: 'angela-haverbeke-1728', +// }, +// { +// name: 'Elisabeth Haverbeke', +// sex: 'f', +// born: 1711, +// died: 1754, +// fatherName: 'Jan Haverbeke', +// motherName: 'Maria de Rycke', +// slug: 'elisabeth-haverbeke-1711', +// }, +// { +// name: 'Lievijne Jans', +// sex: 'f', +// born: 1542, +// died: 1582, +// fatherName: null, +// motherName: null, +// slug: 'lievijne-jans-1542', +// }, +// { +// name: 'Bernardus de Causmaecker', +// sex: 'm', +// born: 1721, +// died: 1789, +// fatherName: 'Lieven de Causmaecker', +// motherName: 'Livina Haverbeke', +// slug: 'bernardus-de-causmaecker-1721', +// }, +// { +// name: 'Jacoba Lammens', +// sex: 'f', +// born: 1699, +// died: 1740, +// fatherName: 'Lieven Lammens', +// motherName: 'Livina de Vrieze', +// slug: 'jacoba-lammens-1699', +// }, +// { +// name: 'Pieter de Decker', +// sex: 'm', +// born: 1705, +// died: 1780, +// fatherName: 'Joos de Decker', +// motherName: 'Petronella van de Steene', +// slug: 'pieter-de-decker-1705', +// }, +// { +// name: 'Joanna de Pape', +// sex: 'f', +// born: 1654, +// died: 1723, +// fatherName: 'Vincent de Pape', +// motherName: 'Petronella Wauters', +// slug: 'joanna-de-pape-1654', +// }, +// { +// name: 'Daniel Haverbeke', +// sex: 'm', +// born: 1652, +// died: 1723, +// fatherName: 'Lieven Haverbeke', +// motherName: 'Elisabeth Hercke', +// slug: 'daniel-haverbeke-1652', +// }, +// { +// name: 'Lieven Haverbeke', +// sex: 'm', +// born: 1631, +// died: 1676, +// fatherName: 'Pieter Haverbeke', +// motherName: 'Anna van Hecke', +// slug: 'lieven-haverbeke-1631', +// }, +// { +// name: 'Martina de Pape', +// sex: 'f', +// born: 1666, +// died: 1727, +// fatherName: 'Vincent de Pape', +// motherName: 'Petronella Wauters', +// slug: 'martina-de-pape-1666', +// }, +// { +// name: 'Jan Francies Haverbeke', +// sex: 'm', +// born: 1725, +// died: 1779, +// fatherName: 'Pieter Bernard Haverbeke', +// motherName: 'Livina de Vrieze', +// slug: 'jan-francies-haverbeke-1725', +// }, +// { +// name: 'Maria Haverbeke', +// sex: 'm', +// born: 1905, +// died: 1997, +// fatherName: 'Emile Haverbeke', +// motherName: 'Emma de Milliano', +// slug: 'maria-haverbeke-1905', +// }, +// { +// name: 'Petronella de Decker', +// sex: 'f', +// born: 1731, +// died: 1781, +// fatherName: 'Pieter de Decker', +// motherName: 'Livina Haverbeke', +// slug: 'petronella-de-decker-1731', +// }, +// { +// name: 'Livina Sierens', +// sex: 'f', +// born: 1761, +// died: 1826, +// fatherName: 'Jan Sierens', +// motherName: 'Maria van Waes', +// slug: 'livina-sierens-1761', +// }, +// { +// name: 'Laurentia Haverbeke', +// sex: 'f', +// born: 1710, +// died: 1786, +// fatherName: 'Jan Haverbeke', +// motherName: 'Maria de Rycke', +// slug: 'laurentia-haverbeke-1710', +// }, +// { +// name: 'Carel Haverbeke', +// sex: 'm', +// born: 1796, +// died: 1837, +// fatherName: 'Pieter Antone Haverbeke', +// motherName: 'Livina Sierens', +// slug: 'carel-haverbeke-1796', +// }, +// { +// name: 'Elisabeth Hercke', +// sex: 'f', +// born: 1632, +// died: 1674, +// fatherName: 'Willem Hercke', +// motherName: 'Margriet de Brabander', +// slug: 'elisabeth-hercke-1632', +// }, +// { +// name: 'Jan Haverbeke', +// sex: 'm', +// born: 1671, +// died: 1731, +// fatherName: 'Lieven Haverbeke', +// motherName: 'Elisabeth Hercke', +// slug: 'jan-haverbeke-1671', +// }, +// { +// name: 'Anna van Hecke', +// sex: 'f', +// born: 1607, +// died: 1670, +// fatherName: 'Paschasius van Hecke', +// motherName: 'Martijntken Beelaert', +// slug: 'anna-van-hecke-1607', +// }, +// { +// name: 'Maria Sturm', +// sex: 'f', +// born: 1835, +// died: 1917, +// fatherName: 'Charles Sturm', +// motherName: 'Seraphina Spelier', +// slug: 'maria-sturm-1835', +// }, +// { +// name: 'Jacobus Bernardus van Brussel', +// sex: 'm', +// born: 1736, +// died: 1809, +// fatherName: 'Jan van Brussel', +// motherName: 'Elisabeth Haverbeke', +// slug: 'jacobus-bernardus-van-brussel-1736', +// }, +// ]; const table = document.querySelector('.dashboard'); -people.forEach(person => { + +people.forEach((person) => { const row = document.createElement('tr'); + const age = person.died - person.born; const century = Math.ceil(person.died / 100); + const gender = person.sex === 'm' ? 'Male' : 'Female'; row.innerHTML = ` ${person.name} - ${person.sex} + ${gender} ${person.born} ${person.died} ${age} From 1c8fe082e71867e5a8632183c8329e8e850bf37b Mon Sep 17 00:00:00 2001 From: Rostyslav` Date: Tue, 12 May 2026 14:34:55 +0300 Subject: [PATCH 3/6] task solution --- .github/workflows/test.yml-template | 29 +++++++++++++++++++++++++++++ README.md | 2 +- src/scripts/main.js | 22 +++++++++++++--------- 3 files changed, 43 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/test.yml-template diff --git a/.github/workflows/test.yml-template b/.github/workflows/test.yml-template new file mode 100644 index 000000000..44ac4e963 --- /dev/null +++ b/.github/workflows/test.yml-template @@ -0,0 +1,29 @@ +name: Test + +on: + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm install + - run: npm start & sleep 5 && npm test + - name: Upload tests report(cypress mochaawesome merged HTML report) + if: ${{ always() }} + uses: actions/upload-artifact@v2 + with: + name: report + path: reports diff --git a/README.md b/README.md index a4241d05f..01e982446 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ 1. Replace `` with your Github username in the link - - [DEMO LINK](https://.github.io/js_task_generate_table_DOM/) + - [DEMO LINK](https://h-rostyslav.github.io/js_task_generate_table_DOM/) 2. Follow [this instructions](https://mate-academy.github.io/layout_task-guideline/) - Run `npm run test` command to test your code; - Run `npm run test:only -- -n` to run fast test ignoring linter; diff --git a/src/scripts/main.js b/src/scripts/main.js index f6affc69c..a6d63b09c 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,5 +1,4 @@ 'use strict'; -import people from './people.json'; // const people = [ // { @@ -357,14 +356,17 @@ import people from './people.json'; const table = document.querySelector('.dashboard'); -people.forEach((person) => { - const row = document.createElement('tr'); +fetch('./people.json') + .then((response) => response.json()) + .then((people) => { + people.forEach((person) => { + const row = document.createElement('tr'); - const age = person.died - person.born; - const century = Math.ceil(person.died / 100); - const gender = person.sex === 'm' ? 'Male' : 'Female'; + const age = person.died - person.born; + const century = Math.ceil(person.died / 100); + const gender = person.sex === 'm' ? 'Male' : 'Female'; - row.innerHTML = ` + row.innerHTML = ` ${person.name} ${gender} ${person.born} @@ -373,5 +375,7 @@ people.forEach((person) => { ${century} `; - table.append(row); -}); + table.append(row); + }); + }) + \ No newline at end of file From 9c3d0fead76d19cb540c39dd889c1a27b2062607 Mon Sep 17 00:00:00 2001 From: Rostyslav` Date: Tue, 12 May 2026 14:46:30 +0300 Subject: [PATCH 4/6] task solution --- src/scripts/main.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index a6d63b09c..4b980b453 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -356,7 +356,7 @@ const table = document.querySelector('.dashboard'); -fetch('./people.json') +fetch('./lib/people.json') .then((response) => response.json()) .then((people) => { people.forEach((person) => { @@ -377,5 +377,4 @@ fetch('./people.json') table.append(row); }); - }) - \ No newline at end of file + }); From 794682d42f50f29dc9500ffd2a66b2c5a79ee7b9 Mon Sep 17 00:00:00 2001 From: Rostyslav` Date: Tue, 12 May 2026 14:55:28 +0300 Subject: [PATCH 5/6] task solution --- src/scripts/main.js | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 4b980b453..b87d0aeac 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -356,25 +356,34 @@ const table = document.querySelector('.dashboard'); -fetch('./lib/people.json') - .then((response) => response.json()) - .then((people) => { - people.forEach((person) => { - const row = document.createElement('tr'); +function render(data) { + if (!table || !data) return; - const age = person.died - person.born; - const century = Math.ceil(person.died / 100); - const gender = person.sex === 'm' ? 'Male' : 'Female'; + table.innerHTML = ''; - row.innerHTML = ` - ${person.name} - ${gender} - ${person.born} - ${person.died} - ${age} - ${century} - `; + data.forEach((person) => { + const row = document.createElement('tr'); + const age = person.died - person.born; + const century = Math.ceil(person.died / 100); + const gender = person.sex === 'm' ? 'Male' : 'Female'; - table.append(row); - }); + row.innerHTML = ` + ${person.name} + ${gender} + ${person.born} + ${person.died} + ${age} + ${century} + `; + table.append(row); }); +} + +if (window.people) { + render(window.people); +} else { + fetch('./lib/people.json') + .then(res => res.json()) + .then(render) + .catch(() => console.log('Waiting for data...')); +} From 6a2f0dbe311570bd170c7ed21a87753d843321d9 Mon Sep 17 00:00:00 2001 From: Rostyslav` Date: Tue, 12 May 2026 15:01:28 +0300 Subject: [PATCH 6/6] task solution --- src/scripts/main.js | 750 ++++++++++++++++++++++---------------------- 1 file changed, 368 insertions(+), 382 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index b87d0aeac..172c308a9 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,389 +1,375 @@ 'use strict'; -// const people = [ -// { -// name: 'Carolus Haverbeke', -// sex: 'm', -// born: 1832, -// died: 1905, -// fatherName: 'Carel Haverbeke', -// motherName: 'Maria van Brussel', -// slug: 'carolus-haverbeke-1832', -// }, -// { -// name: 'Emma de Milliano', -// sex: 'f', -// born: 1876, -// died: 1956, -// fatherName: 'Petrus de Milliano', -// motherName: 'Sophia van Damme', -// slug: 'emma-de-milliano-1876', -// }, -// { -// name: 'Maria de Rycke', -// sex: 'f', -// born: 1683, -// died: 1724, -// fatherName: 'Frederik de Rycke', -// motherName: 'Laurentia van Vlaenderen', -// slug: 'maria-de-rycke-1683', -// }, -// { -// name: 'Jan van Brussel', -// sex: 'm', -// born: 1714, -// died: 1748, -// fatherName: 'Jacobus van Brussel', -// motherName: 'Joanna van Rooten', -// slug: 'jan-van-brussel-1714', -// }, -// { -// name: 'Philibert Haverbeke', -// sex: 'm', -// born: 1907, -// died: 1997, -// fatherName: 'Emile Haverbeke', -// motherName: 'Emma de Milliano', -// slug: 'philibert-haverbeke-1907', -// }, -// { -// name: 'Jan Frans van Brussel', -// sex: 'm', -// born: 1761, -// died: 1833, -// fatherName: 'Jacobus Bernardus van Brussel', -// motherName: null, -// slug: 'jan-frans-van-brussel-1761', -// }, -// { -// name: 'Pauwels van Haverbeke', -// sex: 'm', -// born: 1535, -// died: 1582, -// fatherName: 'N. van Haverbeke', -// motherName: null, -// slug: 'pauwels-van-haverbeke-1535', -// }, -// { -// name: 'Clara Aernoudts', -// sex: 'f', -// born: 1918, -// died: 2012, -// fatherName: 'Henry Aernoudts', -// motherName: 'Sidonie Coene', -// slug: 'clara-aernoudts-1918', -// }, -// { -// name: 'Emile Haverbeke', -// sex: 'm', -// born: 1877, -// died: 1968, -// fatherName: 'Carolus Haverbeke', -// motherName: 'Maria Sturm', -// slug: 'emile-haverbeke-1877', -// }, -// { -// name: 'Lieven de Causmaecker', -// sex: 'm', -// born: 1696, -// died: 1724, -// fatherName: 'Carel de Causmaecker', -// motherName: 'Joanna Claes', -// slug: 'lieven-de-causmaecker-1696', -// }, -// { -// name: 'Pieter Haverbeke', -// sex: 'm', -// born: 1602, -// died: 1642, -// fatherName: 'Lieven van Haverbeke', -// motherName: null, -// slug: 'pieter-haverbeke-1602', -// }, -// { -// name: 'Livina Haverbeke', -// sex: 'f', -// born: 1692, -// died: 1743, -// fatherName: 'Daniel Haverbeke', -// motherName: 'Joanna de Pape', -// slug: 'livina-haverbeke-1692', -// }, -// { -// name: 'Pieter Bernard Haverbeke', -// sex: 'm', -// born: 1695, -// died: 1762, -// fatherName: 'Willem Haverbeke', -// motherName: 'Petronella Wauters', -// slug: 'pieter-bernard-haverbeke-1695', -// }, -// { -// name: 'Lieven van Haverbeke', -// sex: 'm', -// born: 1570, -// died: 1636, -// fatherName: 'Pauwels van Haverbeke', -// motherName: 'Lievijne Jans', -// slug: 'lieven-van-haverbeke-1570', -// }, -// { -// name: 'Joanna de Causmaecker', -// sex: 'f', -// born: 1762, -// died: 1807, -// fatherName: 'Bernardus de Causmaecker', -// motherName: null, -// slug: 'joanna-de-causmaecker-1762', -// }, -// { -// name: 'Willem Haverbeke', -// sex: 'm', -// born: 1668, -// died: 1731, -// fatherName: 'Lieven Haverbeke', -// motherName: 'Elisabeth Hercke', -// slug: 'willem-haverbeke-1668', -// }, -// { -// name: 'Pieter Antone Haverbeke', -// sex: 'm', -// born: 1753, -// died: 1798, -// fatherName: 'Jan Francies Haverbeke', -// motherName: 'Petronella de Decker', -// slug: 'pieter-antone-haverbeke-1753', -// }, -// { -// name: 'Maria van Brussel', -// sex: 'f', -// born: 1801, -// died: 1834, -// fatherName: 'Jan Frans van Brussel', -// motherName: 'Joanna de Causmaecker', -// slug: 'maria-van-brussel-1801', -// }, -// { -// name: 'Angela Haverbeke', -// sex: 'f', -// born: 1728, -// died: 1734, -// fatherName: 'Pieter Bernard Haverbeke', -// motherName: 'Livina de Vrieze', -// slug: 'angela-haverbeke-1728', -// }, -// { -// name: 'Elisabeth Haverbeke', -// sex: 'f', -// born: 1711, -// died: 1754, -// fatherName: 'Jan Haverbeke', -// motherName: 'Maria de Rycke', -// slug: 'elisabeth-haverbeke-1711', -// }, -// { -// name: 'Lievijne Jans', -// sex: 'f', -// born: 1542, -// died: 1582, -// fatherName: null, -// motherName: null, -// slug: 'lievijne-jans-1542', -// }, -// { -// name: 'Bernardus de Causmaecker', -// sex: 'm', -// born: 1721, -// died: 1789, -// fatherName: 'Lieven de Causmaecker', -// motherName: 'Livina Haverbeke', -// slug: 'bernardus-de-causmaecker-1721', -// }, -// { -// name: 'Jacoba Lammens', -// sex: 'f', -// born: 1699, -// died: 1740, -// fatherName: 'Lieven Lammens', -// motherName: 'Livina de Vrieze', -// slug: 'jacoba-lammens-1699', -// }, -// { -// name: 'Pieter de Decker', -// sex: 'm', -// born: 1705, -// died: 1780, -// fatherName: 'Joos de Decker', -// motherName: 'Petronella van de Steene', -// slug: 'pieter-de-decker-1705', -// }, -// { -// name: 'Joanna de Pape', -// sex: 'f', -// born: 1654, -// died: 1723, -// fatherName: 'Vincent de Pape', -// motherName: 'Petronella Wauters', -// slug: 'joanna-de-pape-1654', -// }, -// { -// name: 'Daniel Haverbeke', -// sex: 'm', -// born: 1652, -// died: 1723, -// fatherName: 'Lieven Haverbeke', -// motherName: 'Elisabeth Hercke', -// slug: 'daniel-haverbeke-1652', -// }, -// { -// name: 'Lieven Haverbeke', -// sex: 'm', -// born: 1631, -// died: 1676, -// fatherName: 'Pieter Haverbeke', -// motherName: 'Anna van Hecke', -// slug: 'lieven-haverbeke-1631', -// }, -// { -// name: 'Martina de Pape', -// sex: 'f', -// born: 1666, -// died: 1727, -// fatherName: 'Vincent de Pape', -// motherName: 'Petronella Wauters', -// slug: 'martina-de-pape-1666', -// }, -// { -// name: 'Jan Francies Haverbeke', -// sex: 'm', -// born: 1725, -// died: 1779, -// fatherName: 'Pieter Bernard Haverbeke', -// motherName: 'Livina de Vrieze', -// slug: 'jan-francies-haverbeke-1725', -// }, -// { -// name: 'Maria Haverbeke', -// sex: 'm', -// born: 1905, -// died: 1997, -// fatherName: 'Emile Haverbeke', -// motherName: 'Emma de Milliano', -// slug: 'maria-haverbeke-1905', -// }, -// { -// name: 'Petronella de Decker', -// sex: 'f', -// born: 1731, -// died: 1781, -// fatherName: 'Pieter de Decker', -// motherName: 'Livina Haverbeke', -// slug: 'petronella-de-decker-1731', -// }, -// { -// name: 'Livina Sierens', -// sex: 'f', -// born: 1761, -// died: 1826, -// fatherName: 'Jan Sierens', -// motherName: 'Maria van Waes', -// slug: 'livina-sierens-1761', -// }, -// { -// name: 'Laurentia Haverbeke', -// sex: 'f', -// born: 1710, -// died: 1786, -// fatherName: 'Jan Haverbeke', -// motherName: 'Maria de Rycke', -// slug: 'laurentia-haverbeke-1710', -// }, -// { -// name: 'Carel Haverbeke', -// sex: 'm', -// born: 1796, -// died: 1837, -// fatherName: 'Pieter Antone Haverbeke', -// motherName: 'Livina Sierens', -// slug: 'carel-haverbeke-1796', -// }, -// { -// name: 'Elisabeth Hercke', -// sex: 'f', -// born: 1632, -// died: 1674, -// fatherName: 'Willem Hercke', -// motherName: 'Margriet de Brabander', -// slug: 'elisabeth-hercke-1632', -// }, -// { -// name: 'Jan Haverbeke', -// sex: 'm', -// born: 1671, -// died: 1731, -// fatherName: 'Lieven Haverbeke', -// motherName: 'Elisabeth Hercke', -// slug: 'jan-haverbeke-1671', -// }, -// { -// name: 'Anna van Hecke', -// sex: 'f', -// born: 1607, -// died: 1670, -// fatherName: 'Paschasius van Hecke', -// motherName: 'Martijntken Beelaert', -// slug: 'anna-van-hecke-1607', -// }, -// { -// name: 'Maria Sturm', -// sex: 'f', -// born: 1835, -// died: 1917, -// fatherName: 'Charles Sturm', -// motherName: 'Seraphina Spelier', -// slug: 'maria-sturm-1835', -// }, -// { -// name: 'Jacobus Bernardus van Brussel', -// sex: 'm', -// born: 1736, -// died: 1809, -// fatherName: 'Jan van Brussel', -// motherName: 'Elisabeth Haverbeke', -// slug: 'jacobus-bernardus-van-brussel-1736', -// }, -// ]; +const people = [ + { + name: 'Carolus Haverbeke', + sex: 'm', + born: 1832, + died: 1905, + fatherName: 'Carel Haverbeke', + motherName: 'Maria van Brussel', + slug: 'carolus-haverbeke-1832', + }, + { + name: 'Emma de Milliano', + sex: 'f', + born: 1876, + died: 1956, + fatherName: 'Petrus de Milliano', + motherName: 'Sophia van Damme', + slug: 'emma-de-milliano-1876', + }, + { + name: 'Maria de Rycke', + sex: 'f', + born: 1683, + died: 1724, + fatherName: 'Frederik de Rycke', + motherName: 'Laurentia van Vlaenderen', + slug: 'maria-de-rycke-1683', + }, + { + name: 'Jan van Brussel', + sex: 'm', + born: 1714, + died: 1748, + fatherName: 'Jacobus van Brussel', + motherName: 'Joanna van Rooten', + slug: 'jan-van-brussel-1714', + }, + { + name: 'Philibert Haverbeke', + sex: 'm', + born: 1907, + died: 1997, + fatherName: 'Emile Haverbeke', + motherName: 'Emma de Milliano', + slug: 'philibert-haverbeke-1907', + }, + { + name: 'Jan Frans van Brussel', + sex: 'm', + born: 1761, + died: 1833, + fatherName: 'Jacobus Bernardus van Brussel', + motherName: null, + slug: 'jan-frans-van-brussel-1761', + }, + { + name: 'Pauwels van Haverbeke', + sex: 'm', + born: 1535, + died: 1582, + fatherName: 'N. van Haverbeke', + motherName: null, + slug: 'pauwels-van-haverbeke-1535', + }, + { + name: 'Clara Aernoudts', + sex: 'f', + born: 1918, + died: 2012, + fatherName: 'Henry Aernoudts', + motherName: 'Sidonie Coene', + slug: 'clara-aernoudts-1918', + }, + { + name: 'Emile Haverbeke', + sex: 'm', + born: 1877, + died: 1968, + fatherName: 'Carolus Haverbeke', + motherName: 'Maria Sturm', + slug: 'emile-haverbeke-1877', + }, + { + name: 'Lieven de Causmaecker', + sex: 'm', + born: 1696, + died: 1724, + fatherName: 'Carel de Causmaecker', + motherName: 'Joanna Claes', + slug: 'lieven-de-causmaecker-1696', + }, + { + name: 'Pieter Haverbeke', + sex: 'm', + born: 1602, + died: 1642, + fatherName: 'Lieven van Haverbeke', + motherName: null, + slug: 'pieter-haverbeke-1602', + }, + { + name: 'Livina Haverbeke', + sex: 'f', + born: 1692, + died: 1743, + fatherName: 'Daniel Haverbeke', + motherName: 'Joanna de Pape', + slug: 'livina-haverbeke-1692', + }, + { + name: 'Pieter Bernard Haverbeke', + sex: 'm', + born: 1695, + died: 1762, + fatherName: 'Willem Haverbeke', + motherName: 'Petronella Wauters', + slug: 'pieter-bernard-haverbeke-1695', + }, + { + name: 'Lieven van Haverbeke', + sex: 'm', + born: 1570, + died: 1636, + fatherName: 'Pauwels van Haverbeke', + motherName: 'Lievijne Jans', + slug: 'lieven-van-haverbeke-1570', + }, + { + name: 'Joanna de Causmaecker', + sex: 'f', + born: 1762, + died: 1807, + fatherName: 'Bernardus de Causmaecker', + motherName: null, + slug: 'joanna-de-causmaecker-1762', + }, + { + name: 'Willem Haverbeke', + sex: 'm', + born: 1668, + died: 1731, + fatherName: 'Lieven Haverbeke', + motherName: 'Elisabeth Hercke', + slug: 'willem-haverbeke-1668', + }, + { + name: 'Pieter Antone Haverbeke', + sex: 'm', + born: 1753, + died: 1798, + fatherName: 'Jan Francies Haverbeke', + motherName: 'Petronella de Decker', + slug: 'pieter-antone-haverbeke-1753', + }, + { + name: 'Maria van Brussel', + sex: 'f', + born: 1801, + died: 1834, + fatherName: 'Jan Frans van Brussel', + motherName: 'Joanna de Causmaecker', + slug: 'maria-van-brussel-1801', + }, + { + name: 'Angela Haverbeke', + sex: 'f', + born: 1728, + died: 1734, + fatherName: 'Pieter Bernard Haverbeke', + motherName: 'Livina de Vrieze', + slug: 'angela-haverbeke-1728', + }, + { + name: 'Elisabeth Haverbeke', + sex: 'f', + born: 1711, + died: 1754, + fatherName: 'Jan Haverbeke', + motherName: 'Maria de Rycke', + slug: 'elisabeth-haverbeke-1711', + }, + { + name: 'Lievijne Jans', + sex: 'f', + born: 1542, + died: 1582, + fatherName: null, + motherName: null, + slug: 'lievijne-jans-1542', + }, + { + name: 'Bernardus de Causmaecker', + sex: 'm', + born: 1721, + died: 1789, + fatherName: 'Lieven de Causmaecker', + motherName: 'Livina Haverbeke', + slug: 'bernardus-de-causmaecker-1721', + }, + { + name: 'Jacoba Lammens', + sex: 'f', + born: 1699, + died: 1740, + fatherName: 'Lieven Lammens', + motherName: 'Livina de Vrieze', + slug: 'jacoba-lammens-1699', + }, + { + name: 'Pieter de Decker', + sex: 'm', + born: 1705, + died: 1780, + fatherName: 'Joos de Decker', + motherName: 'Petronella van de Steene', + slug: 'pieter-de-decker-1705', + }, + { + name: 'Joanna de Pape', + sex: 'f', + born: 1654, + died: 1723, + fatherName: 'Vincent de Pape', + motherName: 'Petronella Wauters', + slug: 'joanna-de-pape-1654', + }, + { + name: 'Daniel Haverbeke', + sex: 'm', + born: 1652, + died: 1723, + fatherName: 'Lieven Haverbeke', + motherName: 'Elisabeth Hercke', + slug: 'daniel-haverbeke-1652', + }, + { + name: 'Lieven Haverbeke', + sex: 'm', + born: 1631, + died: 1676, + fatherName: 'Pieter Haverbeke', + motherName: 'Anna van Hecke', + slug: 'lieven-haverbeke-1631', + }, + { + name: 'Martina de Pape', + sex: 'f', + born: 1666, + died: 1727, + fatherName: 'Vincent de Pape', + motherName: 'Petronella Wauters', + slug: 'martina-de-pape-1666', + }, + { + name: 'Jan Francies Haverbeke', + sex: 'm', + born: 1725, + died: 1779, + fatherName: 'Pieter Bernard Haverbeke', + motherName: 'Livina de Vrieze', + slug: 'jan-francies-haverbeke-1725', + }, + { + name: 'Maria Haverbeke', + sex: 'm', + born: 1905, + died: 1997, + fatherName: 'Emile Haverbeke', + motherName: 'Emma de Milliano', + slug: 'maria-haverbeke-1905', + }, + { + name: 'Petronella de Decker', + sex: 'f', + born: 1731, + died: 1781, + fatherName: 'Pieter de Decker', + motherName: 'Livina Haverbeke', + slug: 'petronella-de-decker-1731', + }, + { + name: 'Livina Sierens', + sex: 'f', + born: 1761, + died: 1826, + fatherName: 'Jan Sierens', + motherName: 'Maria van Waes', + slug: 'livina-sierens-1761', + }, + { + name: 'Laurentia Haverbeke', + sex: 'f', + born: 1710, + died: 1786, + fatherName: 'Jan Haverbeke', + motherName: 'Maria de Rycke', + slug: 'laurentia-haverbeke-1710', + }, + { + name: 'Carel Haverbeke', + sex: 'm', + born: 1796, + died: 1837, + fatherName: 'Pieter Antone Haverbeke', + motherName: 'Livina Sierens', + slug: 'carel-haverbeke-1796', + }, + { + name: 'Elisabeth Hercke', + sex: 'f', + born: 1632, + died: 1674, + fatherName: 'Willem Hercke', + motherName: 'Margriet de Brabander', + slug: 'elisabeth-hercke-1632', + }, + { + name: 'Jan Haverbeke', + sex: 'm', + born: 1671, + died: 1731, + fatherName: 'Lieven Haverbeke', + motherName: 'Elisabeth Hercke', + slug: 'jan-haverbeke-1671', + }, + { + name: 'Anna van Hecke', + sex: 'f', + born: 1607, + died: 1670, + fatherName: 'Paschasius van Hecke', + motherName: 'Martijntken Beelaert', + slug: 'anna-van-hecke-1607', + }, + { + name: 'Maria Sturm', + sex: 'f', + born: 1835, + died: 1917, + fatherName: 'Charles Sturm', + motherName: 'Seraphina Spelier', + slug: 'maria-sturm-1835', + }, + { + name: 'Jacobus Bernardus van Brussel', + sex: 'm', + born: 1736, + died: 1809, + fatherName: 'Jan van Brussel', + motherName: 'Elisabeth Haverbeke', + slug: 'jacobus-bernardus-van-brussel-1736', + }, +]; const table = document.querySelector('.dashboard'); -function render(data) { - if (!table || !data) return; +people.forEach((person) => { + const row = document.createElement('tr'); + const age = person.died - person.born; + const century = Math.ceil(person.died / 100); + const gender = person.sex === 'm' ? 'Male' : 'Female'; - table.innerHTML = ''; + row.innerHTML = ` + ${person.name} + ${gender} + ${person.born} + ${person.died} + ${age} + ${century} + `; - data.forEach((person) => { - const row = document.createElement('tr'); - const age = person.died - person.born; - const century = Math.ceil(person.died / 100); - const gender = person.sex === 'm' ? 'Male' : 'Female'; - - row.innerHTML = ` - ${person.name} - ${gender} - ${person.born} - ${person.died} - ${age} - ${century} - `; - table.append(row); - }); -} - -if (window.people) { - render(window.people); -} else { - fetch('./lib/people.json') - .then(res => res.json()) - .then(render) - .catch(() => console.log('Waiting for data...')); -} + table.append(row); +});