Skip to content

Commit

Permalink
fix issue #11717 (#11844)
Browse files Browse the repository at this point in the history
* fix issue #11717

Signed-off-by: Hu, Vince <Qingkun.Hu@fmr.com>

* unit test for issue #11717

* fixing test lint style issue

* update codes according review comments

---------

Signed-off-by: Hu, Vince <Qingkun.Hu@fmr.com>
  • Loading branch information
huqingkun committed Aug 6, 2024
1 parent 0ca1b6e commit 147ee59
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/controllers/controller.bar.js
Original file line number Diff line number Diff line change
Expand Up @@ -437,9 +437,11 @@ export default class BarController extends DatasetController {
.filter(meta => meta.controller.options.grouped);
const stacked = iScale.options.stacked;
const stacks = [];
const currentParsed = this._cachedMeta.controller.getParsed(dataIndex);
const iScaleValue = currentParsed && currentParsed[iScale.axis];

const skipNull = (meta) => {
const parsed = meta.controller.getParsed(dataIndex);
const parsed = meta._parsed.find(item => item[iScale.axis] === iScaleValue);
const val = parsed && parsed[meta.vScale.axis];

if (isNullOrUndef(val) || isNaN(val)) {
Expand Down
86 changes: 86 additions & 0 deletions test/specs/controller.bar.tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -1676,6 +1676,92 @@ describe('Chart.controllers.bar', function() {
expect(unevenChart).not.toThrow();
});

it('should correctly count the number of stacks when skipNull and different order datasets', function() {

const chart = window.acquireChart({
type: 'bar',
data: {
datasets: [
{
id: '1',
label: 'USA',
data: [
{
xScale: 'First',
Country: 'USA',
yScale: 524
},
{
xScale: 'Second',
Country: 'USA',
yScale: 325
}
],

yAxisID: 'yScale',
xAxisID: 'xScale',

parsing: {
yAxisKey: 'yScale',
xAxisKey: 'xScale'
}
},
{
id: '2',
label: 'BRA',
data: [
{
xScale: 'Second',
Country: 'BRA',
yScale: 183
},
{
xScale: 'First',
Country: 'BRA',
yScale: 177
}
],

yAxisID: 'yScale',
xAxisID: 'xScale',

parsing: {
yAxisKey: 'yScale',
xAxisKey: 'xScale'
}
},
{
id: '3',
label: 'DEU',
data: [
{
xScale: 'First',
Country: 'DEU',
yScale: 162
}
],

yAxisID: 'yScale',
xAxisID: 'xScale',

parsing: {
yAxisKey: 'yScale',
xAxisKey: 'xScale'
}
}
]
},
options: {
skipNull: true
}
});

var meta = chart.getDatasetMeta(0);
expect(meta.controller._getStackCount(0)).toBe(3);
expect(meta.controller._getStackCount(1)).toBe(2);

});

it('should not override tooltip title and label callbacks', async() => {
const chart = window.acquireChart({
type: 'bar',
Expand Down

0 comments on commit 147ee59

Please sign in to comment.