baf692b2a013e86f51a34aca5a06dd1cd3b132f1d148aa81f7e3b3cbbd6c57a0d4aaedf2b1ca10be59c0c208623bc9e592d50670e33193911e3149a08dc6ef 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import SeriesModel from '../../model/Series.js';
  2. import { SeriesOnCartesianOptionMixin, SeriesOption, SeriesOnPolarOptionMixin, SeriesStackOptionMixin, SeriesLabelOption, LineStyleOption, ItemStyleOption, AreaStyleOption, OptionDataValue, SymbolOptionMixin, SeriesSamplingOptionMixin, StatesOptionMixin, SeriesEncodeOptionMixin, CallbackDataParams, DefaultEmphasisFocus } from '../../util/types.js';
  3. import SeriesData from '../../data/SeriesData.js';
  4. import type Cartesian2D from '../../coord/cartesian/Cartesian2D.js';
  5. import type Polar from '../../coord/polar/Polar.js';
  6. import { ECSymbol } from '../../util/symbol.js';
  7. import { Group } from '../../util/graphic.js';
  8. import { LegendIconParams } from '../../component/legend/LegendModel.js';
  9. declare type LineDataValue = OptionDataValue | OptionDataValue[];
  10. interface LineStateOptionMixin {
  11. emphasis?: {
  12. focus?: DefaultEmphasisFocus;
  13. scale?: boolean | number;
  14. };
  15. }
  16. export interface LineStateOption<TCbParams = never> {
  17. itemStyle?: ItemStyleOption<TCbParams>;
  18. label?: SeriesLabelOption;
  19. endLabel?: LineEndLabelOption;
  20. }
  21. export interface LineDataItemOption extends SymbolOptionMixin, LineStateOption, StatesOptionMixin<LineStateOption, LineStateOptionMixin> {
  22. name?: string;
  23. value?: LineDataValue;
  24. }
  25. export interface LineEndLabelOption extends SeriesLabelOption {
  26. valueAnimation?: boolean;
  27. }
  28. export interface LineSeriesOption extends SeriesOption<LineStateOption<CallbackDataParams>, LineStateOptionMixin & {
  29. emphasis?: {
  30. lineStyle?: Omit<LineStyleOption, 'width'> & {
  31. width?: LineStyleOption['width'] | 'bolder';
  32. };
  33. areaStyle?: AreaStyleOption;
  34. };
  35. blur?: {
  36. lineStyle?: LineStyleOption;
  37. areaStyle?: AreaStyleOption;
  38. };
  39. }>, LineStateOption<CallbackDataParams>, SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesStackOptionMixin, SeriesSamplingOptionMixin, SymbolOptionMixin<CallbackDataParams>, SeriesEncodeOptionMixin {
  40. type?: 'line';
  41. coordinateSystem?: 'cartesian2d' | 'polar';
  42. clip?: boolean;
  43. label?: SeriesLabelOption;
  44. endLabel?: LineEndLabelOption;
  45. lineStyle?: LineStyleOption;
  46. areaStyle?: AreaStyleOption & {
  47. origin?: 'auto' | 'start' | 'end' | number;
  48. };
  49. step?: false | 'start' | 'end' | 'middle';
  50. smooth?: boolean | number;
  51. smoothMonotone?: 'x' | 'y' | 'none';
  52. connectNulls?: boolean;
  53. showSymbol?: boolean;
  54. showAllSymbol?: 'auto' | boolean;
  55. data?: (LineDataValue | LineDataItemOption)[];
  56. triggerLineEvent?: boolean;
  57. }
  58. declare class LineSeriesModel extends SeriesModel<LineSeriesOption> {
  59. static readonly type = "series.line";
  60. type: string;
  61. static readonly dependencies: string[];
  62. coordinateSystem: Cartesian2D | Polar;
  63. hasSymbolVisual: boolean;
  64. getInitialData(option: LineSeriesOption): SeriesData;
  65. static defaultOption: LineSeriesOption;
  66. getLegendIcon(opt: LegendIconParams): ECSymbol | Group;
  67. }
  68. export default LineSeriesModel;