columnHelper.accessor((row) => row, {
id: "profit",
header: "Profit",
cell: (info) => {
let margin = 0;
if (!("children" in info.getValue())) {
let high = 0;
let low = 0;
if (info.getValue().type === "input") high = info.getValue().high ?? 0;
else if (info.getValue().type === "output")
low = info.getValue().low ?? 0;
margin = calculateMargin(high ?? 0, low ?? 0, info.getValue().id);
} else {
margin = calculateRecipeMargin(info.getValue());
}
return renderComponent(DataTableCell, {
class: cn(styleSignedNumberCell(margin), "flex justify-end"),
value: getSignedPrefix(margin) + formatNumberCell(margin) || "-",
});
},
sortingFn: (a, b) => {
return (
calculateRecipeMargin(a.original) - calculateRecipeMargin(b.original)
);
},
}),
columnHelper.accessor((row) => row, {
id: "profit",
header: "Profit",
cell: (info) => {
let margin = 0;
if (!("children" in info.getValue())) {
let high = 0;
let low = 0;
if (info.getValue().type === "input") high = info.getValue().high ?? 0;
else if (info.getValue().type === "output")
low = info.getValue().low ?? 0;
margin = calculateMargin(high ?? 0, low ?? 0, info.getValue().id);
} else {
margin = calculateRecipeMargin(info.getValue());
}
return renderComponent(DataTableCell, {
class: cn(styleSignedNumberCell(margin), "flex justify-end"),
value: getSignedPrefix(margin) + formatNumberCell(margin) || "-",
});
},
sortingFn: (a, b) => {
return (
calculateRecipeMargin(a.original) - calculateRecipeMargin(b.original)
);
},
}),