5ee150261d302c98a67be050dc2e678e144e2a70911849c2fb89e5d7eb75925c367ebdbda3bed6f85f272a7964a4588e98c45ebfcb12fb4768cf69814d0c81 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { TimeUnit } from '../util/time.js';
  2. import IntervalScale from './Interval.js';
  3. import { TimeScaleTick } from '../util/types.js';
  4. import { TimeAxisLabelFormatterOption } from '../coord/axisCommonTypes.js';
  5. import { LocaleOption } from '../core/locale.js';
  6. import Model from '../model/Model.js';
  7. declare type TimeScaleSetting = {
  8. locale: Model<LocaleOption>;
  9. useUTC: boolean;
  10. };
  11. declare class TimeScale extends IntervalScale<TimeScaleSetting> {
  12. static type: string;
  13. readonly type = "time";
  14. _approxInterval: number;
  15. _minLevelUnit: TimeUnit;
  16. constructor(settings?: TimeScaleSetting);
  17. /**
  18. * Get label is mainly for other components like dataZoom, tooltip.
  19. */
  20. getLabel(tick: TimeScaleTick): string;
  21. getFormattedLabel(tick: TimeScaleTick, idx: number, labelFormatter: TimeAxisLabelFormatterOption): string;
  22. /**
  23. * @override
  24. */
  25. getTicks(): TimeScaleTick[];
  26. calcNiceExtent(opt?: {
  27. splitNumber?: number;
  28. fixMin?: boolean;
  29. fixMax?: boolean;
  30. minInterval?: number;
  31. maxInterval?: number;
  32. }): void;
  33. calcNiceTicks(approxTickNum: number, minInterval: number, maxInterval: number): void;
  34. parse(val: number | string | Date): number;
  35. contain(val: number): boolean;
  36. normalize(val: number): number;
  37. scale(val: number): number;
  38. }
  39. export default TimeScale;