mirror of
https://github.com/apache/superset.git
synced 2026-05-07 08:54:23 +00:00
feat(plugin-chart-echarts): support non-timeseries x-axis (#17917)
* feat(plugin-chart-echarts): support non-timeseries x-axis * fix tests * change formula return type from Date to number * add x_axis test coverage * rename func and improve coverage * add x-axis control to bar chart * remove redundant console.log * fix description * make x-axis control mandatory * 🙃 * fix x-axis formatter * fix showValues * fix implicit rDTTM_ALIAS references in postProcessing * replace TIME_COLUMN with DTTM_ALIAS * fix remaining implicit indexes * fix: Disable filtering on wide result sets (#18021) * fix: handle null values in time-series table (#18039) * cleanup column_type_mappings (#17569) Signed-off-by: Đặng Minh Dũng <dungdm93@live.com> * important change to MakeFile (#18037) * add missing is_timeseries to pivot op Co-authored-by: Erik Ritter <erik.ritter@airbnb.com> Co-authored-by: Grace Guo <grace.guo@airbnb.com> Co-authored-by: Đặng Minh Dũng <dungdm93@live.com> Co-authored-by: AAfghahi <48933336+AAfghahi@users.noreply.github.com>
This commit is contained in:
@@ -20,7 +20,7 @@ import { getNumberFormatter, getTimeFormatter } from '@superset-ui/core';
|
||||
import {
|
||||
dedupSeries,
|
||||
extractGroupbyLabel,
|
||||
extractTimeseriesSeries,
|
||||
extractSeries,
|
||||
formatSeriesName,
|
||||
getChartPadding,
|
||||
getLegendProps,
|
||||
@@ -30,7 +30,7 @@ import { LegendOrientation, LegendType } from '../../src/types';
|
||||
import { defaultLegendPadding } from '../../src/defaults';
|
||||
import { NULL_STRING } from '../../src/constants';
|
||||
|
||||
describe('extractTimeseriesSeries', () => {
|
||||
describe('extractSeries', () => {
|
||||
it('should generate a valid ECharts timeseries series object', () => {
|
||||
const data = [
|
||||
{
|
||||
@@ -49,23 +49,58 @@ describe('extractTimeseriesSeries', () => {
|
||||
abc: 5,
|
||||
},
|
||||
];
|
||||
expect(extractTimeseriesSeries(data)).toEqual([
|
||||
expect(extractSeries(data)).toEqual([
|
||||
{
|
||||
id: 'Hulk',
|
||||
name: 'Hulk',
|
||||
data: [
|
||||
[new Date('2000-01-01'), null],
|
||||
[new Date('2000-02-01'), 2],
|
||||
[new Date('2000-03-01'), 1],
|
||||
['2000-01-01', null],
|
||||
['2000-02-01', 2],
|
||||
['2000-03-01', 1],
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'abc',
|
||||
name: 'abc',
|
||||
data: [
|
||||
[new Date('2000-01-01'), 2],
|
||||
[new Date('2000-02-01'), 10],
|
||||
[new Date('2000-03-01'), 5],
|
||||
['2000-01-01', 2],
|
||||
['2000-02-01', 10],
|
||||
['2000-03-01', 5],
|
||||
],
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
it('should remove rows that have a null x-value', () => {
|
||||
const data = [
|
||||
{
|
||||
x: 1,
|
||||
Hulk: null,
|
||||
abc: 2,
|
||||
},
|
||||
{
|
||||
x: null,
|
||||
Hulk: 2,
|
||||
abc: 10,
|
||||
},
|
||||
{
|
||||
x: 2,
|
||||
Hulk: 1,
|
||||
abc: 5,
|
||||
},
|
||||
];
|
||||
expect(extractSeries(data, { xAxis: 'x', removeNulls: true })).toEqual([
|
||||
{
|
||||
id: 'Hulk',
|
||||
name: 'Hulk',
|
||||
data: [[2, 1]],
|
||||
},
|
||||
{
|
||||
id: 'abc',
|
||||
name: 'abc',
|
||||
data: [
|
||||
[1, 2],
|
||||
[2, 5],
|
||||
],
|
||||
},
|
||||
]);
|
||||
@@ -114,21 +149,21 @@ describe('extractTimeseriesSeries', () => {
|
||||
abc: null,
|
||||
},
|
||||
];
|
||||
expect(extractTimeseriesSeries(data, { fillNeighborValue: 0 })).toEqual([
|
||||
expect(extractSeries(data, { fillNeighborValue: 0 })).toEqual([
|
||||
{
|
||||
id: 'abc',
|
||||
name: 'abc',
|
||||
data: [
|
||||
[new Date('2000-01-01'), null],
|
||||
[new Date('2000-02-01'), 0],
|
||||
[new Date('2000-03-01'), 1],
|
||||
[new Date('2000-04-01'), 0],
|
||||
[new Date('2000-05-01'), null],
|
||||
[new Date('2000-06-01'), 0],
|
||||
[new Date('2000-07-01'), 2],
|
||||
[new Date('2000-08-01'), 3],
|
||||
[new Date('2000-09-01'), 0],
|
||||
[new Date('2000-10-01'), null],
|
||||
['2000-01-01', null],
|
||||
['2000-02-01', 0],
|
||||
['2000-03-01', 1],
|
||||
['2000-04-01', 0],
|
||||
['2000-05-01', null],
|
||||
['2000-06-01', 0],
|
||||
['2000-07-01', 2],
|
||||
['2000-08-01', 3],
|
||||
['2000-09-01', 0],
|
||||
['2000-10-01', null],
|
||||
],
|
||||
},
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user