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