From f21d10f8305df9aacf4b42280ed17e67e36d3b18 Mon Sep 17 00:00:00 2001 From: Daria Golova Date: Mon, 4 Jul 2022 19:01:41 +0300 Subject: [PATCH] added prop key, made update form --- src/pages/digitalId/ProfileId.jsx | 116 ++++++++++++++++++++++-- src/partials/digitalId/ProfileTable.jsx | 14 +-- 2 files changed, 117 insertions(+), 13 deletions(-) diff --git a/src/pages/digitalId/ProfileId.jsx b/src/pages/digitalId/ProfileId.jsx index a1fb4e0..7f4fdeb 100644 --- a/src/pages/digitalId/ProfileId.jsx +++ b/src/pages/digitalId/ProfileId.jsx @@ -14,6 +14,7 @@ const Profile = observer (() => { const [changePanelOpen, setChangePanelOpen] = useState(false); const [toggle, setToggle] = useState(true); const [addPanelOpen, setAddPanelOpen] = useState(false); + const [updatePanelOpen, setUpdatePanelOpen] = useState(false); const [selectedItems, setSelectedItems] = useState([]); const defaultValues = { @@ -32,15 +33,28 @@ const Profile = observer (() => { } } - const changeCurrentValues = (value, field) => { + const addCurrentValues = (value, field) => { setCurrentValues((prevState)=> ({ ...prevState, [field]: value.charAt(0).toUpperCase()+value.slice(1), })) + console.log(currentValues); } + const changeCurrentValue = (value, field, id) => { + setCurrentValues((prevState) => + prevState.map((elem) => ( + elem.id === id ? { + ...elem, + [field]: value.charAt(0).toUpperCase()+value.slice(1), + } : elem + )) + ) + console.log(currentValues); + }; + const closeHint = (element) => { - changeCurrentValues(element, 'property'); + addCurrentValues(element, 'property'); setPropertyValues([]); } @@ -85,11 +99,24 @@ const Profile = observer (() => { setButtonPanelOpen(true); } + const cancelUpdatePanel = () => { + setUpdatePanelOpen(false); + setButtonPanelOpen(true); + } + const openRemovePanel = () => { setRemovePanelOpen(true); setChangePanelOpen(false); } + const openUpdatePanel = () => { + setCurrentValues(selectedUserData); + setUpdatePanelOpen(true); + setChangePanelOpen(false); + console.log(currentValues); + console.log(selectedUserData) + } + const applyRemovePanel = () => { setRemovePanelOpen(false); setButtonPanelOpen(true); @@ -97,7 +124,7 @@ const Profile = observer (() => { } const handleInput = (text, field) => { - changeCurrentValues(text, field); + addCurrentValues(text, field); setPropertyValues(initialPropertyValues); if (text) { let reg = new RegExp(`^${text}`, 'img'); @@ -105,6 +132,8 @@ const Profile = observer (() => { } }; + let selectedUserData = userDataStore.decryptedData.filter(({ key }) => selectedItems.includes(key)); + return (
{/* Sidebar */} @@ -189,7 +218,7 @@ const Profile = observer (() => { type="text" required onClick={() => setPropertyValues([])} - onChange={(e) => changeCurrentValues(e.target.value, 'value')} + onChange={(e) => addCurrentValues(e.target.value, 'value')} value={currentValues.value} />
@@ -202,7 +231,7 @@ const Profile = observer (() => { type="text" required onClick={() => setPropertyValues([])} - onChange={(e) => changeCurrentValues(e.target.value, 'seed')} + onChange={(e) => addCurrentValues(e.target.value, 'seed')} value={currentValues.seed} /> @@ -234,6 +263,78 @@ const Profile = observer (() => { + {/* Update panel */} +
+ {currentValues.map((item, index) => ( +
+
+ + changeCurrentValue(e.target.value, 'property', item.id)} + value={item.label} + disabled='disabled' + /> +
+
+ + changeCurrentValue(e.target.value, 'value', item.id)} + value={item.value} + /> +
+
+ + changeCurrentValue(e.target.value, 'seed', item.id)} + value={item.seed || Math.floor(Math.random() * 90000000000000000000)} + /> +
+ {(currentValues[index+1]) ? ( +
+ ) : null} +
+ ))} +
+ Store data on blockchain +
+
+ setToggle(!toggle)} /> + +
+
+
+ {/* Buttons */} +
+ + +
+
{/* Remove panel */}

Summary

@@ -319,7 +420,10 @@ const Profile = observer (() => { Remove -