fd70744441724e8962ca8707df47984f24e6df0217d389098d79c51fdb9b1a92ef155c2d1e4f11baf10c363cd024d946f1546772b9d22d9917e89dcadc447e 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { DimensionDefinitionLoose, OptionEncode, OptionEncodeValue, EncodeDefaulter, OptionSourceData, DimensionName, DimensionDefinition, DataVisualDimensions, DimensionIndex } from '../../util/types.js';
  2. import SeriesDimensionDefine from '../SeriesDimensionDefine.js';
  3. import { HashMap } from 'zrender/lib/core/util.js';
  4. import OrdinalMeta from '../OrdinalMeta.js';
  5. import { Source } from '../Source.js';
  6. import { SeriesDataSchema } from './SeriesDataSchema.js';
  7. export interface CoordDimensionDefinition extends DimensionDefinition {
  8. dimsDef?: (DimensionName | {
  9. name: DimensionName;
  10. defaultTooltip?: boolean;
  11. })[];
  12. otherDims?: DataVisualDimensions;
  13. ordinalMeta?: OrdinalMeta;
  14. coordDim?: DimensionName;
  15. coordDimIndex?: DimensionIndex;
  16. }
  17. export declare type CoordDimensionDefinitionLoose = CoordDimensionDefinition['name'] | CoordDimensionDefinition;
  18. export declare type PrepareSeriesDataSchemaParams = {
  19. coordDimensions?: CoordDimensionDefinitionLoose[];
  20. /**
  21. * Will use `source.dimensionsDefine` if not given.
  22. */
  23. dimensionsDefine?: DimensionDefinitionLoose[];
  24. /**
  25. * Will use `source.encodeDefine` if not given.
  26. */
  27. encodeDefine?: HashMap<OptionEncodeValue, DimensionName> | OptionEncode;
  28. dimensionsCount?: number;
  29. /**
  30. * Make default encode if user not specified.
  31. */
  32. encodeDefaulter?: EncodeDefaulter;
  33. generateCoord?: string;
  34. generateCoordCount?: number;
  35. /**
  36. * If be able to omit unused dimension
  37. * Used to improve the performance on high dimension data.
  38. */
  39. canOmitUnusedDimensions?: boolean;
  40. };
  41. /**
  42. * For outside usage compat (like echarts-gl are using it).
  43. */
  44. export declare function createDimensions(source: Source | OptionSourceData, opt?: PrepareSeriesDataSchemaParams): SeriesDimensionDefine[];
  45. /**
  46. * This method builds the relationship between:
  47. * + "what the coord sys or series requires (see `coordDimensions`)",
  48. * + "what the user defines (in `encode` and `dimensions`, see `opt.dimensionsDefine` and `opt.encodeDefine`)"
  49. * + "what the data source provids (see `source`)".
  50. *
  51. * Some guess strategy will be adapted if user does not define something.
  52. * If no 'value' dimension specified, the first no-named dimension will be
  53. * named as 'value'.
  54. *
  55. * @return The results are always sorted by `storeDimIndex` asc.
  56. */
  57. export default function prepareSeriesDataSchema(source: Source | OptionSourceData, opt?: PrepareSeriesDataSchemaParams): SeriesDataSchema;