Skip to content
This repository was archived by the owner on Dec 10, 2021. It is now read-only.

feat: Add ECharts Timeseries plugin #737

Merged
merged 47 commits into from
Sep 1, 2020
Merged
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
d86213f
make it work
villebro Jul 8, 2020
62b01c0
Add color scheme and timeseries limits
villebro Jul 9, 2020
3a59298
latest improvements
villebro Jul 10, 2020
b0b99d1
bump
villebro Jul 14, 2020
bfd313b
moving dependencies to plugin
rusackas Jul 14, 2020
cdf0f05
Shuffling logic to transformProps, making Typescript happy.
rusackas Jul 14, 2020
17176b3
zoom controls!
rusackas Jul 14, 2020
b37f010
declaration for the dang PNG files
rusackas Jul 15, 2020
927eb39
Revert "declaration for the dang PNG files"
rusackas Jul 15, 2020
3dcf9d4
PIE! (super basic)
rusackas Jul 15, 2020
790c0f3
lowercase import name, moving types.
rusackas Jul 15, 2020
a7d1573
capitalization fix
rusackas Jul 15, 2020
9505ee9
nixing console log
rusackas Jul 15, 2020
e11a621
removing echarts peer dependency (missed it earlier)
rusackas Jul 15, 2020
bf4f84d
basic pie controls/types
rusackas Jul 15, 2020
601daf2
typescript fixes and whatnot
rusackas Jul 15, 2020
7073b90
yarn alphabetizing peerDependencies
rusackas Jul 15, 2020
961b0cf
fixing Pie chart typing
rusackas Jul 15, 2020
ff26abe
less enthusiasm
rusackas Jul 15, 2020
c0d3430
fixing resize and data redraw quirks
rusackas Jul 15, 2020
c29b46d
fixing zoom display quirks
rusackas Jul 15, 2020
f1ff3b5
add predictive analytics
villebro Jul 27, 2020
a0096d6
fix controls
villebro Jul 27, 2020
ee89f68
Merge branch 'master' into echarts-poc
villebro Aug 3, 2020
0f9abcb
improve typing and tests
villebro Aug 3, 2020
ff8fc5d
add rebasing to forecasts
villebro Aug 4, 2020
4bf9abe
improve stacking etc
villebro Aug 4, 2020
991288c
Minor improvements
villebro Aug 5, 2020
a073c5e
add tooltip
villebro Aug 12, 2020
8eeb1e4
Merge branch 'master' into echarts-poc
villebro Aug 13, 2020
836f43c
Charts draw and resize correctly
rusackas Aug 13, 2020
a3d0754
clean up code
villebro Aug 14, 2020
c89f802
lint
villebro Aug 14, 2020
1c5c01c
yet more lint
villebro Aug 14, 2020
00f8c2a
fix unit tests
villebro Aug 17, 2020
67f44ec
fix unit tests
villebro Aug 18, 2020
d65b1b5
fix tests
villebro Aug 18, 2020
d971d8c
add useEchartsComponent and address comments
villebro Aug 20, 2020
88a67d4
address comments
villebro Aug 21, 2020
b0a08d9
address more comments
villebro Aug 21, 2020
2a0afba
Add Echart component
villebro Aug 22, 2020
a8d2274
Merge branch 'master' into echarts-poc
villebro Aug 28, 2020
fe67a77
bump echarts to 4.9.0
villebro Aug 28, 2020
0389110
clean up Echart component
villebro Aug 28, 2020
b90aa82
add storybook
villebro Aug 31, 2020
787d3c0
replace radios with boolean
villebro Aug 31, 2020
cda3bf7
address review comments
villebro Sep 1, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import React from 'react';
import { SuperChart, getChartTransformPropsRegistry } from '@superset-ui/chart';
import { number, radios, select, withKnobs } from '@storybook/addon-knobs';
import { EchartsTimeseriesChartPlugin } from '@superset-ui/plugin-chart-echarts';
import transformProps from '@superset-ui/plugin-chart-echarts/lib/Timeseries/transformProps';
import { withResizableChartDemo } from '../../../shared/components/ResizableChartDemo';
import data from './data';

new EchartsTimeseriesChartPlugin().configure({ key: 'echarts-timeseries' }).register();

getChartTransformPropsRegistry().registerValue('echarts-timeseries', transformProps);

export default {
title: 'Chart Plugins|plugin-chart-echarts',
decorators: [withKnobs, withResizableChartDemo],
};

export const Timeseries = ({ width, height }) => {
const enableForecast = radios('Enable forecast', { Yes: 'yes', No: 'no' }, 'yes');
const forecastEnabled = enableForecast === 'yes';
const queryData = data
.map(row =>
forecastEnabled
? row
: {
__timestamp: row.__timestamp,
Boston: row.Boston,
California: row.California,
WestTexNewMexico: row.WestTexNewMexico,
},
)
.filter(row => forecastEnabled || !!row.Boston);
return (
<SuperChart
chartType="echarts-timeseries"
width={width}
height={height}
queryData={{ data: queryData }}
formData={{
contributionMode: undefined,
forecastEnabled,
colorScheme: 'supersetColors',
seriesType: select(
'Line type',
['line', 'scatter', 'smooth', 'bar', 'start', 'middle', 'end'],
'line',
),
logAxis: radios('Log axis', { Yes: 'yes', No: 'no' }, 'no') === 'yes',
yAxisFormat: 'SMART_NUMBER',
stack: radios('Stack', { Yes: 'yes', No: 'no' }, 'no') === 'yes',
area: radios('Area chart', { Yes: 'yes', No: 'no' }, 'no') === 'yes',
markerEnabled: radios('Enable markers', { Yes: 'yes', No: 'no' }, 'no') === 'yes',
markerSize: number('Marker Size', 6),
minorSplitLine: radios('Minor splitline', { Yes: 'yes', No: 'no' }, 'no') === 'yes',
opacity: number('Opacity', 0.2),
zoomable: radios('Zoomable', { Yes: 'yes', No: 'no' }, 'no') === 'yes',
}}
/>
);
};
Loading