feat(plugin-chart-echarts): [feature-parity] support extra control for the area chart V2 (#16493)

* feat(echarts): [feature-parity] support extra control

* add extra control for plugin

* refactor: extract ExtraControl

* fix: lint

* fix some problems
This commit is contained in:
Stephen Liu
2022-06-09 00:59:10 +08:00
committed by GitHub
parent 0238492df7
commit eab0009101
19 changed files with 349 additions and 70 deletions

View File

@@ -17,7 +17,8 @@
* under the License.
*/
import { TimeGranularity } from '@superset-ui/core';
import { JsonValue, t, TimeGranularity } from '@superset-ui/core';
import { ReactNode } from 'react';
import { LabelPositionEnum } from './types';
// eslint-disable-next-line import/prefer-default-export
@@ -37,6 +38,7 @@ export const TIMESERIES_CONSTANTS = {
dataZoomStart: 0,
dataZoomEnd: 100,
yAxisLabelTopOffset: 20,
extraControlsOffset: 22,
};
export const LABEL_POSITION: [LabelPositionEnum, string][] = [
@@ -61,6 +63,20 @@ export enum OpacityEnum {
NonTransparent = 1,
}
export enum AreaChartExtraControlsValue {
Stack = 'Stack',
Expand = 'Expand',
}
export const AreaChartExtraControlsOptions: [
JsonValue,
Exclude<ReactNode, null | undefined | boolean>,
][] = [
[null, t('None')],
[AreaChartExtraControlsValue.Stack, t('Stack')],
[AreaChartExtraControlsValue.Expand, t('Expand')],
];
export const TIMEGRAIN_TO_TIMESTAMP = {
[TimeGranularity.HOUR]: 3600 * 1000,
[TimeGranularity.DAY]: 3600 * 1000 * 24,