4cf14441f530dc2c889ad85db313093fac5f10f365a31eb7095a892a06d1dbc1cfe8b5b351ba295e5dda1f425d74ed7e4fd52c422056c87da99526df772d8a 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import LegendModel, { LegendOption } from './LegendModel.js';
  2. import { ZRColor, LabelOption } from '../../util/types.js';
  3. import Model from '../../model/Model.js';
  4. import GlobalModel from '../../model/Global.js';
  5. export interface ScrollableLegendOption extends LegendOption {
  6. scrollDataIndex?: number;
  7. /**
  8. * Gap between each page button
  9. */
  10. pageButtonItemGap?: number;
  11. /**
  12. * Gap between page buttons group and legend items.
  13. */
  14. pageButtonGap?: number;
  15. pageButtonPosition?: 'start' | 'end';
  16. pageFormatter?: string | ((param: {
  17. current: number;
  18. total: number;
  19. }) => string);
  20. pageIcons?: {
  21. horizontal?: string[];
  22. vertical?: string[];
  23. };
  24. pageIconColor?: ZRColor;
  25. pageIconInactiveColor?: ZRColor;
  26. pageIconSize?: number;
  27. pageTextStyle?: LabelOption;
  28. animationDurationUpdate?: number;
  29. }
  30. declare class ScrollableLegendModel extends LegendModel<ScrollableLegendOption> {
  31. static type: "legend.scroll";
  32. type: "legend.scroll";
  33. /**
  34. * @param {number} scrollDataIndex
  35. */
  36. setScrollDataIndex(scrollDataIndex: number): void;
  37. init(option: ScrollableLegendOption, parentModel: Model, ecModel: GlobalModel): void;
  38. /**
  39. * @override
  40. */
  41. mergeOption(option: ScrollableLegendOption, ecModel: GlobalModel): void;
  42. static defaultOption: ScrollableLegendOption;
  43. }
  44. export default ScrollableLegendModel;