added an update form check

This commit is contained in:
Daria Golova
2022-07-21 16:07:40 +03:00
parent 020e45ddce
commit 68e94201e0
3 changed files with 62 additions and 35 deletions

View File

@@ -26,6 +26,7 @@ const Profile = observer (() => {
const [propertyValues, setPropertyValues] = useState([]);
const [updatedValues, setUpdatedValues] = useState([defaultValues]);
const [addedValues, setAddedValues] = useState(defaultValues);
const [fillingUpdateForm, setFillingUpdateForm] = useState(false);
const openHint = () => {
if (!addedValues.label) {
@@ -38,6 +39,7 @@ const Profile = observer (() => {
...prevState,
[field]: value,
}))
console.log(addedValues)
};
const changeUpdatedValues = (value, field, key) => {
@@ -54,6 +56,7 @@ const Profile = observer (() => {
const selectHint = (element) => {
changeAddedValues(element, 'label');
setPropertyValues([]);
changeAddedValues();
}
const closeHint = (eventTarget) => {
@@ -62,6 +65,17 @@ const Profile = observer (() => {
}
};
const checkFillingUpdateForm = (eventTarget) => {
console.log(eventTarget);
if (eventTarget && eventTarget.id === 'sendingUpdatedValues') {
const checkingCondition = updatedValues.every(item => !Object.keys(item).find(elem => !item[elem]));
if (checkingCondition) {
setFillingUpdateForm(true);
}
}
console.log(updatedValues);
}
const handleSelectedItems = (selectedItems) => {
setSelectedItems([...selectedItems]);
setUpdatedValues(registrationStore.decryptedUserData.filter(({ key }) => selectedItems.includes(key))
@@ -103,9 +117,12 @@ const Profile = observer (() => {
};
const sendUpdatedData = () => {
setUpdatePanelOpen(false);
changeDataParameters();
setChangePanelOpen(true);
if (fillingUpdateForm) {
setUpdatePanelOpen(false);
changeDataParameters();
setChangePanelOpen(true);
setFillingUpdateForm(false);
}
};
const deleteDataParameters = () => {
@@ -138,7 +155,7 @@ const Profile = observer (() => {
};
const addDataParameters = () => {
addedValues.key = addedValues.label.toLowerCase().split(' ').join('_');
addedValues.key = addedValues.label.toLowerCase().split(' ').join('');
registrationStore.pushAccountData(registrationStore.decryptedUserData.concat(addedValues));
};
@@ -149,6 +166,12 @@ const Profile = observer (() => {
};
const cancelUpdatePanel = () => {
setUpdatedValues(registrationStore.decryptedUserData.filter(({ key }) => selectedItems.includes(key))
.map(elem => (
(!elem.seed) ? {
...elem,
seed: String(Math.floor(Math.random() * 90000000000000000000), 10),
}: elem)));
setUpdatePanelOpen(false);
setChangePanelOpen(true);
};
@@ -301,6 +324,7 @@ const Profile = observer (() => {
<button
className="btn-sm bg-indigo-500 hover:bg-indigo-600 text-white"
onClick={sendAddedData}
id='sendingAddedValues'
>
Send
</button>
@@ -331,6 +355,7 @@ const Profile = observer (() => {
type="text"
required
onChange={(e) => changeUpdatedValues(e.target.value, 'value', item.key)}
onBlur={(e) => checkFillingUpdateForm(e.relatedTarget)}
value={item.value}
/>
</div>
@@ -343,6 +368,7 @@ const Profile = observer (() => {
type="number"
required
onChange={(e) => changeUpdatedValues(e.target.value, 'seed', item.key)}
onBlur={(e) => checkFillingUpdateForm(e.relatedTarget)}
value={item.seed}
/>
</div>
@@ -373,6 +399,7 @@ const Profile = observer (() => {
<button
className="btn-sm bg-indigo-500 hover:bg-indigo-600 text-white"
onClick={sendUpdatedData}
id='sendingUpdatedValues'
>
Send
</button>