Skip to content

Commit 39bf389

Browse files
author
“Bastien
committed
Fix Table rule based styling by applying the first valid rule
1 parent 8f560ef commit 39bf389

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

src/chart/table/TableChart.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -256,21 +256,28 @@ export const NeoTableChart = (props: ChartProps) => {
256256
getCellClassName: (params) => {
257257
return ['cell color', 'cell text color']
258258
.map((e) => {
259-
let trueRulesList = [''];
260-
let trueRule;
259+
let validRuleClass = '';
261260
for (const [index, rule] of styleRules.entries()) {
261+
let ruleClass = '';
262+
// If the rule target is not the current cell
262263
if (rule.targetField) {
263264
if (rule.targetField === params.field) {
264-
trueRule = `rule${evaluateSingleRuleOnDict({ [rule.field]: params.row[rule.field] }, rule, index, [
265+
ruleClass = `rule${evaluateSingleRuleOnDict({ [rule.field]: params.row[rule.field] }, rule, index, [
265266
e,
266267
])}`;
267268
}
268-
} else {
269-
trueRule = `rule${evaluateSingleRuleOnDict({ [params.field]: params.value }, rule, index, [e])}`;
270269
}
271-
trueRulesList.push(trueRule);
270+
// If the rule target is the current cell
271+
else {
272+
ruleClass = `rule${evaluateSingleRuleOnDict({ [params.field]: params.value }, rule, index, [e])}`;
273+
}
274+
// If rule class is valid (rule-1 means rule check has failed)
275+
if (ruleClass && ruleClass !== 'rule-1') {
276+
validRuleClass = ruleClass;
277+
break;
278+
}
272279
}
273-
return trueRulesList.join(' ');
280+
return validRuleClass;
274281
})
275282
.join(' ');
276283
},

0 commit comments

Comments
 (0)