6433656c905c3a187e6a0dd09b0448820f215e58773c26116816d95cc2a5e7983250a945ba1ba08da55352528d9c69580f6d8601858cacc18cb602ac360a2d 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import SeriesModel from '../../model/Series.js';
  2. import SeriesData from '../../data/SeriesData.js';
  3. import { SeriesOption, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, SeriesLargeOptionMixin, LineStyleOption, OptionDataValue, StatesOptionMixin, SeriesLineLabelOption, DimensionDefinitionLoose, DefaultStatesMixinEmphasis, ZRColor, CallbackDataParams } from '../../util/types.js';
  4. import GlobalModel from '../../model/Global.js';
  5. import type { LineDrawModelOption } from '../helper/LineDraw.js';
  6. declare type LinesCoords = number[][];
  7. declare type LinesValue = OptionDataValue | OptionDataValue[];
  8. interface LinesLineStyleOption<TClr> extends LineStyleOption<TClr> {
  9. curveness?: number;
  10. }
  11. interface LinesStatesMixin {
  12. emphasis?: DefaultStatesMixinEmphasis;
  13. }
  14. export interface LinesStateOption<TCbParams = never> {
  15. lineStyle?: LinesLineStyleOption<(TCbParams extends never ? never : (params: TCbParams) => ZRColor) | ZRColor>;
  16. label?: SeriesLineLabelOption;
  17. }
  18. export interface LinesDataItemOption extends LinesStateOption<CallbackDataParams>, StatesOptionMixin<LinesStateOption<CallbackDataParams>, LinesStatesMixin> {
  19. name?: string;
  20. fromName?: string;
  21. toName?: string;
  22. symbol?: string[] | string;
  23. symbolSize?: number[] | number;
  24. coords?: LinesCoords;
  25. value?: LinesValue;
  26. effect?: LineDrawModelOption['effect'];
  27. }
  28. export interface LinesSeriesOption extends SeriesOption<LinesStateOption, LinesStatesMixin>, LinesStateOption, SeriesOnCartesianOptionMixin, SeriesOnGeoOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, SeriesLargeOptionMixin {
  29. type?: 'lines';
  30. coordinateSystem?: string;
  31. symbol?: string[] | string;
  32. symbolSize?: number[] | number;
  33. effect?: LineDrawModelOption['effect'];
  34. /**
  35. * If lines are polyline
  36. * polyline not support curveness, label, animation
  37. */
  38. polyline?: boolean;
  39. /**
  40. * If clip the overflow.
  41. * Available when coordinateSystem is cartesian or polar.
  42. */
  43. clip?: boolean;
  44. data?: LinesDataItemOption[] | ArrayLike<number>;
  45. dimensions?: DimensionDefinitionLoose | DimensionDefinitionLoose[];
  46. }
  47. declare class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
  48. static readonly type = "series.lines";
  49. readonly type = "series.lines";
  50. static readonly dependencies: string[];
  51. visualStyleAccessPath: string;
  52. visualDrawType: "stroke";
  53. private _flatCoords;
  54. private _flatCoordsOffset;
  55. init(option: LinesSeriesOption): void;
  56. mergeOption(option: LinesSeriesOption): void;
  57. appendData(params: Pick<LinesSeriesOption, 'data'>): void;
  58. _getCoordsFromItemModel(idx: number): LinesCoords | (LinesDataItemOption & any[]);
  59. getLineCoordsCount(idx: number): number;
  60. getLineCoords(idx: number, out: number[][]): number;
  61. _processFlatCoordsArray(data: LinesSeriesOption['data']): {
  62. flatCoordsOffset: Uint32Array;
  63. flatCoords: Float64Array;
  64. count: number;
  65. };
  66. getInitialData(option: LinesSeriesOption, ecModel: GlobalModel): SeriesData<this, import("../../data/SeriesData").DefaultDataVisual>;
  67. formatTooltip(dataIndex: number, multipleSeries: boolean, dataType: string): string | import("../../component/tooltip/tooltipMarkup").TooltipMarkupNameValueBlock;
  68. preventIncremental(): boolean;
  69. getProgressive(): number | false;
  70. getProgressiveThreshold(): number;
  71. getZLevelKey(): string;
  72. static defaultOption: LinesSeriesOption;
  73. }
  74. export default LinesSeriesModel;