UNPKG

@mcdevsl/superset-ui

Version:
98 lines (92 loc) 2.81 kB
/** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import { EChartsOption } from 'echarts'; import { ChartDataResponseResult, ChartProps, DataRecordValue, QueryFormData, SetDataMaskHook, } from '@superset-ui/core'; import { DEFAULT_LEGEND_FORM_DATA, EchartsLegendFormData, LegendOrientation, LegendType, } from '../types'; export type EchartsPieFormData = QueryFormData & EchartsLegendFormData & { colorScheme?: string; currentOwnValue?: string[] | null; donut: boolean; defaultValue?: string[] | null; groupby: string[]; innerRadius: number; labelLine: boolean; labelType: EchartsPieLabelType; labelsOutside: boolean; metric?: string; outerRadius: number; showLabels: boolean; numberFormat: string; dateFormat: string; showLabelsThreshold: number; emitFilter: boolean; }; export enum EchartsPieLabelType { Key = 'key', Value = 'value', Percent = 'percent', KeyValue = 'key_value', KeyPercent = 'key_percent', KeyValuePercent = 'key_value_percent', } export interface EchartsPieChartProps extends ChartProps { formData: EchartsPieFormData; queriesData: ChartDataResponseResult[]; } // @ts-ignore export const DEFAULT_FORM_DATA: EchartsPieFormData = { ...DEFAULT_LEGEND_FORM_DATA, donut: false, groupby: [], innerRadius: 30, labelLine: false, labelType: EchartsPieLabelType.Key, legendOrientation: LegendOrientation.Top, legendType: LegendType.Scroll, numberFormat: 'SMART_NUMBER', outerRadius: 70, showLabels: true, labelsOutside: true, showLabelsThreshold: 5, emitFilter: false, dateFormat: 'smart_date', }; export interface PieChartTransformedProps { formData: EchartsPieFormData; height: number; width: number; echartOptions: EChartsOption; emitFilter: boolean; setDataMask: SetDataMaskHook; labelMap: Record<string, DataRecordValue[]>; groupby: string[]; selectedValues: Record<number, string>; }