e41799a3339fe3fcc7a061656b2e9a357c48a1afe6a057bd6be6e9a5c63991638780c4e4b2d12ffce11024132dd2fd61815685b25f4819abc0fa5e9e7397fa 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import { DataFormatMixin } from '../../model/mixin/dataFormat.js';
  2. import ComponentModel from '../../model/Component.js';
  3. import SeriesModel from '../../model/Series.js';
  4. import { ComponentOption, AnimationOptionMixin, CommonTooltipOption, ScaleDataValue } from '../../util/types.js';
  5. import Model from '../../model/Model.js';
  6. import GlobalModel from '../../model/Global.js';
  7. import SeriesData from '../../data/SeriesData.js';
  8. export declare type MarkerStatisticType = 'average' | 'min' | 'max' | 'median';
  9. /**
  10. * Option to specify where to put the marker.
  11. */
  12. export interface MarkerPositionOption {
  13. x?: number | string;
  14. y?: number | string;
  15. /**
  16. * Coord on any coordinate system
  17. */
  18. coord?: (ScaleDataValue | MarkerStatisticType)[];
  19. xAxis?: ScaleDataValue;
  20. yAxis?: ScaleDataValue;
  21. radiusAxis?: ScaleDataValue;
  22. angleAxis?: ScaleDataValue;
  23. type?: MarkerStatisticType;
  24. /**
  25. * When using statistic method with type.
  26. * valueIndex and valueDim can be specify which dim the statistic is used on.
  27. */
  28. valueIndex?: number;
  29. valueDim?: string;
  30. /**
  31. * Value to be displayed as label. Totally optional
  32. */
  33. value?: string | number;
  34. }
  35. export interface MarkerOption extends ComponentOption, AnimationOptionMixin {
  36. silent?: boolean;
  37. data?: unknown[];
  38. tooltip?: CommonTooltipOption<unknown> & {
  39. trigger?: 'item' | 'axis' | boolean | 'none';
  40. };
  41. }
  42. declare abstract class MarkerModel<Opts extends MarkerOption = MarkerOption> extends ComponentModel<Opts> {
  43. static type: string;
  44. type: string;
  45. /**
  46. * If marker model is created by self from series
  47. */
  48. createdBySelf: boolean;
  49. static readonly dependencies: string[];
  50. __hostSeries: SeriesModel;
  51. private _data;
  52. /**
  53. * @overrite
  54. */
  55. init(option: Opts, parentModel: Model, ecModel: GlobalModel): void;
  56. isAnimationEnabled(): boolean;
  57. /**
  58. * @overrite
  59. */
  60. mergeOption(newOpt: Opts, ecModel: GlobalModel): void;
  61. _mergeOption(newOpt: Opts, ecModel: GlobalModel, createdBySelf?: boolean, isInit?: boolean): void;
  62. formatTooltip(dataIndex: number, multipleSeries: boolean, dataType: string): import("../tooltip/tooltipMarkup").TooltipMarkupSection;
  63. getData(): SeriesData<this>;
  64. setData(data: SeriesData): void;
  65. /**
  66. * Create slave marker model from series.
  67. */
  68. abstract createMarkerModelFromSeries(markerOpt: Opts, masterMarkerModel: MarkerModel, ecModel: GlobalModel): MarkerModel;
  69. static getMarkerModelFromSeries(seriesModel: SeriesModel, componentType: 'markLine' | 'markPoint' | 'markArea'): MarkerModel<MarkerOption>;
  70. }
  71. interface MarkerModel<Opts extends MarkerOption = MarkerOption> extends DataFormatMixin {
  72. }
  73. export default MarkerModel;