cellSaved=async(args)=>{
if(args.previousValue!=args.value){
if(args.columnObject.type==='date'){
let tempDate=moment(args.value).toDate();
args.value=moment(tempDate).format("YYYY-MM-DD");
}
let tempCurrRow = Object.assign({},args.rowData);
if(tempCurrRow.Row_Status==='NEW'){
tempCurrRow[args.columnName]=args.value;
let tempColumnAliasMap = this.state.columnAliasMap;
for (let key of tempColumnAliasMap.keys()) {
tempCurrRow[tempColumnAliasMap.get(key)] = tempCurrRow[key];
delete tempCurrRow[key];
}
if(this.modifiedRecords.size > 0){
var self = this;
this.modifiedRecords.forEach(loopSet);
function loopSet(value1, value2, set) {
if(value2.row_number === tempCurrRow.row_number){
self.modifiedRecords.delete(value2);
}
}
}
this.modifiedRecords.add(tempCurrRow);
let tempData=this.state.data;
let recordAdded=false;
tempData.forEach((flt,index)=>{
if(flt.row_number===args.rowData.row_number){
args.rowData[args.columnName]=args.value;
tempData[index]=args.rowData;
recordAdded=true;
}
});
if(!recordAdded){
tempData.unshift(args.rowData);
}
await this.setState({
data:tempData
})
this.gridInstance.dataSource=this.state.data;
this.gridInstance.refresh();
}else{
let tempCurrRow = Object.assign({},args.rowData);
tempCurrRow[args.columnName]=args.value;
tempCurrRow.Row_Status = 'UPDATED';
let tempColumnAliasMap = this.state.columnAliasMap;
for (let key of tempColumnAliasMap.keys()) {
tempCurrRow[tempColumnAliasMap.get(key)] = tempCurrRow[key];
delete tempCurrRow[key];
}
if(this.modifiedRecords.size > 0){
var self = this;
this.modifiedRecords.forEach(loopSet);
function loopSet(value1, value2, set) {
if(value2.row_number === tempCurrRow.row_number){
self.modifiedRecords.delete(value2);
}
}
}
this.modifiedRecords.add(tempCurrRow);
let tempData=this.state.data;
tempData.forEach((flt,index)=>{
if(flt.row_number===args.rowData.row_number){
args.rowData[args.columnName]=args.value;
tempData[index]=args.rowData;
}
});
await this.setState({
data:tempData
})
this.gridInstance.dataSource=this.state.data;
this.gridInstance.refresh();
}
console.log(this.modifiedRecords);
}
}