handleWorkshopWorksheetChange -- add new comment in iro
Thu Sep 19 2024 09:52:40 GMT+0000 (Coordinated Universal Time)
Saved by @alfred.roshan
handleWorkshopWorksheetChange = (e, item, key) => {
console.log("handleWorkshopWorksheetChange", item, e, key);
const { selectedworkshop, surveyId, consultantId, answeredTopics } = this.state;
console.log("selectedworkshop", selectedworkshop);
const itemFind = selectedworkshop.worksheet.find(item2 =>
item['id'] ? item['id'] == item2['id'] : item['code'] == item2['code'],
);
// console.log('e', e);
// console.log('item', item);
// console.log('key', key);
console.log('itemFind', itemFind);
if (itemFind) {
console.log("edit condition entered");
if (key) {
itemFind[key] = e;
this.setState({
selectedworkshop: { ...selectedworkshop, worksheet: [...selectedworkshop.worksheet] },
});
// console.log('item', item);
// console.log('itemFind', itemFind);
// console.log('selectedworkshop.worksheet', selectedworkshop.worksheet);
return;
}
if (e.target.name == 'Consolidated Level') {
if (e.target.value == 'Yes') {
itemFind['Entity-Specific'] = null;
itemFind['Country-Specific'] = null;
itemFind['Sector-Specific'] = null;
}
}
itemFind[e.target.name] = e.target.value;
this.setState({
selectedworkshop: { ...selectedworkshop, worksheet: [...selectedworkshop.worksheet] },
});
const newAnswered = Array.from(this.state.answeredTopics || []);
const answerData = newAnswered.find(ans => ans.id === item.id);
console.log("answerData in edit condition", answerData)
if (answerData) {
answerData[e.target.name] = e.target.value;
console.log('3');
this.setState({
answeredTopics: newAnswered,
});
const workshopId = selectedworkshop.id;
editAnsweredTopicComment(
{
surveyId,
consultantId,
workshopId,
},
itemFind,
)
.then(response => {
console.log('Added new comment', response);
})
.catch(error => {
console.log('error adding new row');
});
// const matrixWorkshopsRef = firebase
// .firestore()
// .collection(this.state.consultantId ? 'portfolio-surveys-consultants' : 'surveys')
// .doc(this.state.surveyId ? this.state.surveyId : this.state.currentSurveyId);
// matrixWorkshopsRef
// .update({
// answeredTopics: newAnswered,
// })
// .then(() => {
// console.log(`Added new row`);
// })
// .catch(error => {
// console.log('error adding new row');
// });
}
}
// Add new entry
else {
console.log("Add new entry");
const itemFind = {
...item,
};
const newWorksheet = [...selectedworkshop.worksheet];
if (key) {
itemFind[key] = e;
newWorksheet.push(itemFind);
selectedworkshop.worksheet = newWorksheet;
this.setState({
selectedworkshop: { ...selectedworkshop, worksheet: [...newWorksheet] },
});
return;
}
if (e.target.name == 'Consolidated Level') {
if (e.target.value == 'Yes') {
itemFind['Entity-Specific'] = null;
itemFind['Country-Specific'] = null;
itemFind['Sector-Specific'] = null;
}
}
itemFind[e.target.name] = e.target.value;
newWorksheet.push(itemFind);
selectedworkshop.worksheet = newWorksheet;
this.setState({
selectedworkshop: { ...selectedworkshop, worksheet: [...newWorksheet] },
});
console.log("answeredTopics in state", answeredTopics)
const newAnswered = Array.from(answeredTopics || []);
console.log("newAnswered", newAnswered)
const answerData = newAnswered.find(ans => ans.id === item.id);
console.log("answerData", answerData)
console.log("itemFind", itemFind)
if (answerData) {
answerData[e.target.name] = e.target.value; doubt
console.log('5');
this.setState({
answeredTopics: newAnswered,
});
addAnsweredTopicComment({
surveyId,
consultantId,
}, itemFind)
.then(response => {
console.log('Added new comment', response);
})
.catch(error => {
console.log('error adding new row');
});
// const matrixWorkshopsRef = firebase
// .firestore()
// .collection(this.state.consultantId ? 'portfolio-surveys-consultants' : 'surveys')
// .doc(this.state.surveyId ? this.state.surveyId : this.state.currentSurveyId);
// matrixWorkshopsRef
// .update({
// answeredTopics: newAnswered,
// })
// .then(() => {
// console.log(`Added new row`);
// })
// .catch(error => {
// console.log('error adding new row');
// });
}
}
};



Comments