From 7fcd63cc741221a4a6eeb19749265c2a01075b07 Mon Sep 17 00:00:00 2001 From: Pablo Martin Date: Tue, 27 May 2025 16:42:59 +0200 Subject: [PATCH] completed 2.14 --- parts/2/phoneBook/db.json | 65 ------------------- parts/2/phoneBook/src/App.jsx | 19 ++++++ .../2/phoneBook/src/components/PersonList.jsx | 3 +- .../2/phoneBook/src/services/personService.js | 5 +- 4 files changed, 25 insertions(+), 67 deletions(-) diff --git a/parts/2/phoneBook/db.json b/parts/2/phoneBook/db.json index 98fcdaf..1f1c491 100644 --- a/parts/2/phoneBook/db.json +++ b/parts/2/phoneBook/db.json @@ -1,74 +1,9 @@ { "persons": [ - { - "name": "Arto Hellas", - "number": "040-123456", - "id": "1" - }, { "name": "Ada Lovelace", "number": "39-44-5323523", "id": "2" - }, - { - "name": "Dan Abramov", - "number": "12-43-234345", - "id": "3" - }, - { - "name": "Mary Poppendieck", - "number": "39-23-6423122", - "id": "4" - }, - { - "id": "aaa", - "name": "aaa", - "number": "123" - }, - { - "id": "bbb", - "name": "bbb", - "number": "333" - }, - { - "id": "", - "name": "", - "number": "" - }, - { - "id": "", - "name": "", - "number": "" - }, - { - "id": "", - "name": "", - "number": "" - }, - { - "id": "", - "name": "", - "number": "" - }, - { - "id": "", - "name": "", - "number": "" - }, - { - "id": "", - "name": "", - "number": "" - }, - { - "id": "ccc", - "name": "ccc", - "number": "333" - }, - { - "id": "bbbbbb", - "name": "bbbbbb", - "number": "eeeeeeeeee" } ] } \ No newline at end of file diff --git a/parts/2/phoneBook/src/App.jsx b/parts/2/phoneBook/src/App.jsx index e14d9fd..4494124 100644 --- a/parts/2/phoneBook/src/App.jsx +++ b/parts/2/phoneBook/src/App.jsx @@ -85,6 +85,24 @@ const App = () => { setSearchString(event.target.value); }; + const handlePersonDeletionFactory = ({ person }) => { + return (event) => { + personService + .deletePerson(person.id) + .then(() => { + setTimeout(() => { + console.log("postimeout"); + }, 3000); + }) + .then(() => { + return personService.getPersons(); + }) + .then((response) => { + setPersons(response.data); + }); + }; + }; + return (

Phonebook

@@ -102,6 +120,7 @@ const App = () => { persons={persons.filter((person) => person.name.toUpperCase().includes(searchString.toUpperCase()) )} + deletionHandlerFactory={handlePersonDeletionFactory} />
); diff --git a/parts/2/phoneBook/src/components/PersonList.jsx b/parts/2/phoneBook/src/components/PersonList.jsx index 7025008..e39b8e3 100644 --- a/parts/2/phoneBook/src/components/PersonList.jsx +++ b/parts/2/phoneBook/src/components/PersonList.jsx @@ -1,4 +1,4 @@ -const PersonList = ({ persons }) => { +const PersonList = ({ persons, deletionHandlerFactory }) => { return ( <>