Stack Overflow Asked on February 18, 2021
I have a scenario where I am defining the mutators below and when I edit the cell it does not work where common mutators are used? I guess this is a bug or is there any other way to do it?
var diffMutator_FEcontacted = function (value, data, type, params, component) {
var start = moment(data.incident_start, 'DD/MM/YYYY HH:mm')
var end = moment(data.First_expert_contacted_by_SE, 'DD/MM/YYYY HH:mm') //common feild
var new_value = end.diff(start, 'minutes');
if (type == "edit") {
console.log('edit');
component.getRow().getCell("time_to_contact_first_exp_calc").setValue(new_value);
return value;
} else {
return new_value
}
}
var diffMutator_REcontacted = function (value, data, type, params, component) {
var start = moment(data.incident_start, 'DD/MM/YYYY HH:mm')
var end = moment(data.Right_expert_found_at, 'DD/MM/YYYY HH:mm') //common feild
var new_value = end.diff(start, 'minutes');
if (type == "edit") {
console.log('edit');
component.getRow().getCell("Time_to_find_right_exp_calc").setValue(new_value);
return value;
} else {
return new_value
}
}
var diffMutator_FEREdiff = function (value, data, type, params, component) {
var start = moment(data.First_expert_contacted_by_SE, 'DD/MM/YYYY HH:mm') //common feild in another fucntion
var end = moment(data.Right_expert_found_at, 'DD/MM/YYYY HH:mm') //common feild in another function
var new_value = end.diff(start, 'minutes');
if (type == "edit") {
console.log('edit');
component.getRow().getCell("time_diff_FE_RE").setValue(new_value);
return value;
} else {
return new_value
}
}
Rather, I would explain this as mutator is not working on common fields.
Here is the fiddle explained with this above use case:
This is happening because the mutator functions are called only when their field is updated, each individual function is not aware if it depends on any other fields in the table.
I would suggest that in the cellEdited
callback for the edited column, you include a row.update
to trigger the updates on dependent columns.
so for example the "TimeDiff" column is depended on the "TimeStart" column, so in the definition for the TimeStart column you should include the following:
{title: "Start Time", field: "TimeStart", cellEdited:function(cell){
cell.getRow().update({TimeDiff:true});
}},
This will then trigger the mutation of the dependent TimeDiff mutator when TimeStart is edited
Answered by Oli Folkerd on February 18, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP