4610a4bb80d8a711d7e03d855708fd748f97550c43a9073ab07c8ab6297f68183d8cc97b5ff08b7554eb705846038d88881f193a90477c45394d2b351be683 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import * as clazzUtil from '../util/clazz.js';
  2. import SeriesModel from '../model/Series.js';
  3. import GlobalModel from '../model/Global.js';
  4. import ExtensionAPI from '../core/ExtensionAPI.js';
  5. import Element from 'zrender/lib/Element.js';
  6. import { Payload, ViewRootGroup, ECActionEvent, EventQueryItem, StageHandlerProgressParams, ECElementEvent } from '../util/types.js';
  7. import { SeriesTask } from '../core/Scheduler.js';
  8. interface ChartView {
  9. /**
  10. * Rendering preparation in progressive mode.
  11. * Implement it if needed.
  12. */
  13. incrementalPrepareRender(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  14. /**
  15. * Render in progressive mode.
  16. * Implement it if needed.
  17. * @param params See taskParams in `stream/task.js`
  18. */
  19. incrementalRender(params: StageHandlerProgressParams, seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  20. /**
  21. * Update transform directly.
  22. * Implement it if needed.
  23. */
  24. updateTransform(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void | {
  25. update: true;
  26. };
  27. /**
  28. * The view contains the given point.
  29. * Implement it if needed.
  30. */
  31. containPoint(point: number[], seriesModel: SeriesModel): boolean;
  32. /**
  33. * Pass only when return `true`.
  34. * Implement it if needed.
  35. */
  36. filterForExposedEvent(eventType: string, query: EventQueryItem, targetEl: Element, packedEvent: ECActionEvent | ECElementEvent): boolean;
  37. }
  38. declare class ChartView {
  39. type: string;
  40. readonly group: ViewRootGroup;
  41. readonly uid: string;
  42. readonly renderTask: SeriesTask;
  43. /**
  44. * Ignore label line update in global stage. Will handle it in chart itself.
  45. * Used in pie / funnel
  46. */
  47. ignoreLabelLineUpdate: boolean;
  48. __alive: boolean;
  49. __model: SeriesModel;
  50. __id: string;
  51. static protoInitialize: void;
  52. constructor();
  53. init(ecModel: GlobalModel, api: ExtensionAPI): void;
  54. render(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  55. /**
  56. * Highlight series or specified data item.
  57. */
  58. highlight(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  59. /**
  60. * Downplay series or specified data item.
  61. */
  62. downplay(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  63. /**
  64. * Remove self.
  65. */
  66. remove(ecModel: GlobalModel, api: ExtensionAPI): void;
  67. /**
  68. * Dispose self.
  69. */
  70. dispose(ecModel: GlobalModel, api: ExtensionAPI): void;
  71. updateView(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  72. updateLayout(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  73. updateVisual(seriesModel: SeriesModel, ecModel: GlobalModel, api: ExtensionAPI, payload: Payload): void;
  74. /**
  75. * Traverse the new rendered elements.
  76. *
  77. * It will traverse the new added element in progressive rendering.
  78. * And traverse all in normal rendering.
  79. */
  80. eachRendered(cb: (el: Element) => boolean | void): void;
  81. static markUpdateMethod(payload: Payload, methodName: keyof ChartView): void;
  82. static registerClass: clazzUtil.ClassManager['registerClass'];
  83. }
  84. export declare type ChartViewConstructor = typeof ChartView & clazzUtil.ExtendableConstructor & clazzUtil.ClassManager;
  85. export default ChartView;