import { NumberFormat } from '../../../LczCarouselTable/type'; import { GeneralPieDataMap, GeneralShadowStyle, GeneralTitle } from '../../common/type'; import { DataSeries, Layout, Proportion, TextStyle } from '../Lcz3dTorus/type'; export interface LabelProportion extends Proportion { propStyleFollow?: boolean; propColorFollow?: boolean; prefix?: BasPiePrefixsuffix; suffix?: BasPiePrefixsuffix; } export interface LabelTureValue extends Proportion { display: boolean; speed: number; numberformat?: NumberFormat; prefix?: BasPiePrefixsuffix; suffix?: BasPiePrefixsuffix; trueStyleFollow?: boolean; trueColorFollow?: boolean; } interface SeriesName extends TextStyle { seriesNameColorFollow?: boolean; prefix?: BasPiePrefixsuffix; suffix?: BasPiePrefixsuffix; } export interface NumberLabel { display: boolean; labelMargin?: { t: number; b: number; l: number; r: number; }; seriesName?: SeriesName; proportion?: LabelProportion; trueValue?: LabelTureValue; } export interface IconConfig { iconType: 'system' | 'custom' | 'svg'; systemStyle: 'circle' | 'rect' | 'roundRect' | 'triangle' | 'diamond' | 'pin' | 'arrow' | 'none' | 'ring' | 'star'; customUrl: string; svgPath?: string; } export interface BasPieLegendProportion extends TextStyle { display: boolean; decimal?: number; speed?: number; legendProportionColorFollow?: boolean; legendProportionStyleFollow?: boolean; displayWidth?: number | null | undefined; charNums?: any; } export interface BasPiePrefixsuffix extends BasPieLegendProportion { display: boolean; content: string; xOffset?: number; yOffset?: number; offsetConfig?: { t: number; b: number; l: number; r: number; }; suffixStyleFollow?: boolean; suffixColorFollow?: boolean; prefixStyleFollow?: boolean; prefixColorFollow?: boolean; labelTrueSuffixStyleFollow?: boolean; labelTrueSuffixColorFollow?: boolean; labelTruePrefixStyleFollow?: boolean; labelTruePrefixColorFollow?: boolean; labelproportionPrefixStyleFollow?: boolean; labelproportionPrefixColorFollow?: boolean; labelproportionSuffixStyleFollow?: boolean; labelproportionSuffixColorFollow?: boolean; labelSeriesNamePrefixStyleFollow?: boolean; labelSeriesNameSuffixStyleFollow?: boolean; labelSeriesNamePrefixColorFollow?: boolean; labelSeriesNameSuffixColorFollow?: boolean; labelPrefixColorFlow?: boolean; labelSuffixColorFlow?: boolean; } export interface BasPieLegendTureValue extends BasPieLegendProportion { display: boolean; speed: number; numberformat?: NumberFormat; prefix?: BasPiePrefixsuffix; suffix?: BasPiePrefixsuffix; legendTrueStyleFollow?: boolean; legendTrueColorFollow?: boolean; displayWidth?: number | null | undefined; } export interface PieLegendSeriesName extends TextStyle { legendSeriesColorFollow?: boolean; displayWidth?: number | null | undefined; charNums?: any; } export interface BSPieLegendConfig { display: boolean; size?: { w: number; h: number; }; iconConfig?: IconConfig; seriesName?: PieLegendSeriesName; trueValue?: BasPieLegendTureValue; displayAlign?: 'left' | 'right' | 'center'; proportion?: BasPieLegendProportion; layout?: Layout; clickInt?: { display?: boolean; clicked?: boolean; disableStyles: string; }; } export interface GlobalConfig { backgroundColor: string; margin?: { x: number; y: number; }; titleConfig?: GeneralTitle; numberLabel?: NumberLabel; legendConfig?: BSPieLegendConfig; } export interface Graphical { radius: number; outRadius: number; space: number; opacity: number; borderRadius: number; clockwise?: boolean; } export type PieCarousel = { display: boolean; speed: number; interactionMode: 'none' | 'click' | 'mouseover'; }; export interface pieSelect { display: boolean; initSelect: { value: string; }; selectedOffset: number; opacity: number; } export interface PieChart { graphical: Graphical; bgPie: { display: boolean; color: string; opacity: number; borderRadius: number; endAngle: number; }; select: pieSelect; border: { display: boolean; color: string; width: number; type: 'solid' | 'dashed' | 'dotted'; }; shadow: GeneralShadowStyle; } export interface SeriesConfig { sort?: 'normal' | 'diminishing' | 'increasing'; dataSeries?: DataSeries[]; } export interface MultilayerCircleProps { w?: number; h?: number; globalConfig?: GlobalConfig; pieChart?: PieChart; seriesConfig?: SeriesConfig; data?: GeneralPieDataMap[]; onClick?: (param: GeneralPieDataMap) => void; } export {};