@visactor/vchart 1.5.3 → 1.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/build/es5/index.js +1 -1
  2. package/build/index.js +187 -69
  3. package/build/index.min.js +1 -1
  4. package/build/tsconfig.tsbuildinfo +1 -1
  5. package/cjs/chart/bar/bar.js +2 -1
  6. package/cjs/chart/bar/bar.js.map +1 -1
  7. package/cjs/chart/correlation/correlation.js.map +1 -1
  8. package/cjs/chart/range-column/range-column.js +2 -1
  9. package/cjs/chart/range-column/range-column.js.map +1 -1
  10. package/cjs/chart/stack.js +2 -1
  11. package/cjs/component/index.js +1 -2
  12. package/cjs/component/tooltip/handler/utils/common.js +14 -31
  13. package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
  14. package/cjs/constant/base.js +1 -2
  15. package/cjs/constant/waterfall.js +2 -1
  16. package/cjs/core/index.d.ts +1 -1
  17. package/cjs/core/index.js +1 -1
  18. package/cjs/core/index.js.map +1 -1
  19. package/cjs/data/transforms/funnel.js +2 -2
  20. package/cjs/data/transforms/funnel.js.map +1 -1
  21. package/cjs/series/bar/bar.d.ts +13 -2
  22. package/cjs/series/bar/bar.js +99 -13
  23. package/cjs/series/bar/bar.js.map +1 -1
  24. package/cjs/series/bar/constant.js +4 -0
  25. package/cjs/series/bar/constant.js.map +1 -1
  26. package/cjs/series/bar/interface.d.ts +2 -0
  27. package/cjs/series/bar/interface.js.map +1 -1
  28. package/cjs/series/interface/type.d.ts +2 -1
  29. package/cjs/series/interface/type.js +2 -1
  30. package/cjs/series/interface/type.js.map +1 -1
  31. package/cjs/series/range-column/range-column.js +8 -7
  32. package/cjs/series/range-column/range-column.js.map +1 -1
  33. package/cjs/series/waterfall/waterfall.js +4 -4
  34. package/cjs/series/waterfall/waterfall.js.map +1 -1
  35. package/cjs/theme/builtin/common/mark.js +10 -0
  36. package/cjs/theme/builtin/common/mark.js.map +1 -1
  37. package/esm/chart/bar/bar.js +2 -1
  38. package/esm/chart/bar/bar.js.map +1 -1
  39. package/esm/chart/correlation/correlation.js.map +1 -1
  40. package/esm/chart/range-column/range-column.js +2 -1
  41. package/esm/chart/range-column/range-column.js.map +1 -1
  42. package/esm/chart/stack.js +2 -1
  43. package/esm/component/index.js +1 -2
  44. package/esm/component/tooltip/handler/utils/common.js +15 -32
  45. package/esm/component/tooltip/handler/utils/common.js.map +1 -1
  46. package/esm/constant/base.js +1 -2
  47. package/esm/constant/waterfall.js +2 -1
  48. package/esm/core/index.d.ts +1 -1
  49. package/esm/core/index.js +1 -1
  50. package/esm/core/index.js.map +1 -1
  51. package/esm/data/transforms/funnel.js +1 -1
  52. package/esm/data/transforms/funnel.js.map +1 -1
  53. package/esm/series/bar/bar.d.ts +13 -2
  54. package/esm/series/bar/bar.js +108 -12
  55. package/esm/series/bar/bar.js.map +1 -1
  56. package/esm/series/bar/constant.js +4 -0
  57. package/esm/series/bar/constant.js.map +1 -1
  58. package/esm/series/bar/interface.d.ts +2 -0
  59. package/esm/series/bar/interface.js.map +1 -1
  60. package/esm/series/interface/type.d.ts +2 -1
  61. package/esm/series/interface/type.js +2 -1
  62. package/esm/series/interface/type.js.map +1 -1
  63. package/esm/series/range-column/range-column.js +8 -7
  64. package/esm/series/range-column/range-column.js.map +1 -1
  65. package/esm/series/waterfall/waterfall.js +4 -4
  66. package/esm/series/waterfall/waterfall.js.map +1 -1
  67. package/esm/theme/builtin/common/mark.js +10 -0
  68. package/esm/theme/builtin/common/mark.js.map +1 -1
  69. package/package.json +3 -3
@@ -78,6 +78,16 @@ exports.markByType = {
78
78
  style: {
79
79
  stroke: !1
80
80
  }
81
+ },
82
+ barBackground: {
83
+ visible: !1,
84
+ style: {
85
+ fill: {
86
+ type: "palette",
87
+ key: "primaryFontColor",
88
+ a: .06
89
+ }
90
+ }
81
91
  }
82
92
  };
83
93
  //# sourceMappingURL=mark.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme/builtin/common/mark.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAEjC,QAAA,UAAU,GAA2B;IAChD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ,EAAE,2BAAe,CAAC,UAAU;YACpC,UAAU,EAAE,2BAAe,CAAC,YAAY;YAExC,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;CACF,CAAC;AAEW,QAAA,UAAU,GAA2B;IAChD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,QAAQ,EAAE,2BAAe,CAAC,UAAU;YAGpC,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,WAAW,EAAE,2BAAe,CAAC,WAAW;SACzC;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;YACnD,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACf;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;SACf;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;SACpD;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;SACpD;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC","file":"mark.js","sourcesContent":["import type { IGlobalMarkThemeByName, IGlobalMarkThemeByType } from '../../interface';\nimport { THEME_CONSTANTS } from './constants';\n\nexport const markByType: IGlobalMarkThemeByType = {\n text: {\n style: {\n fontSize: THEME_CONSTANTS.l4FontSize,\n lineHeight: THEME_CONSTANTS.l4LineHeight,\n\n fontWeight: 'normal',\n fillOpacity: 1\n }\n }\n};\n\nexport const markByName: IGlobalMarkThemeByName = {\n label: {\n style: {\n fontSize: THEME_CONSTANTS.l4FontSize,\n // lineHeight: THEME_CONSTANTS.l4LineHeight,\n\n fontWeight: 'normal',\n fillOpacity: 1\n }\n },\n area: {\n style: {\n fillOpacity: THEME_CONSTANTS.areaOpacity\n }\n },\n line: {\n style: {\n lineWidth: 2,\n lineCap: 'round',\n lineJoin: 'round'\n }\n },\n point: {\n style: {\n size: 8,\n stroke: { type: 'palette', key: 'backgroundColor' },\n lineWidth: 1,\n fillOpacity: 1\n }\n },\n word: {\n style: {\n fontSize: null\n }\n },\n fillingWord: {\n style: {\n fontSize: null\n }\n },\n sunburst: {\n style: {\n lineWidth: 1,\n stroke: { type: 'palette', key: 'backgroundColor' }\n }\n },\n circlePacking: {\n style: {\n lineWidth: 1,\n stroke: { type: 'palette', key: 'backgroundColor' }\n }\n },\n funnel3d: {\n style: {\n stroke: false\n }\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/theme/builtin/common/mark.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAEjC,QAAA,UAAU,GAA2B;IAChD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ,EAAE,2BAAe,CAAC,UAAU;YACpC,UAAU,EAAE,2BAAe,CAAC,YAAY;YAExC,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;CACF,CAAC;AAEW,QAAA,UAAU,GAA2B;IAChD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,QAAQ,EAAE,2BAAe,CAAC,UAAU;YAGpC,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,CAAC;SACf;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,WAAW,EAAE,2BAAe,CAAC,WAAW;SACzC;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;YACnD,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;SACf;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;SACf;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE;YACL,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;SACpD;KACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE;YACL,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,EAAE;SACpD;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,MAAM,EAAE,KAAK;SACd;KACF;IACD,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE;SAC5D;KACF;CACF,CAAC","file":"mark.js","sourcesContent":["import type { IGlobalMarkThemeByName, IGlobalMarkThemeByType } from '../../interface';\nimport { THEME_CONSTANTS } from './constants';\n\nexport const markByType: IGlobalMarkThemeByType = {\n text: {\n style: {\n fontSize: THEME_CONSTANTS.l4FontSize,\n lineHeight: THEME_CONSTANTS.l4LineHeight,\n\n fontWeight: 'normal',\n fillOpacity: 1\n }\n }\n};\n\nexport const markByName: IGlobalMarkThemeByName = {\n label: {\n style: {\n fontSize: THEME_CONSTANTS.l4FontSize,\n // lineHeight: THEME_CONSTANTS.l4LineHeight,\n\n fontWeight: 'normal',\n fillOpacity: 1\n }\n },\n area: {\n style: {\n fillOpacity: THEME_CONSTANTS.areaOpacity\n }\n },\n line: {\n style: {\n lineWidth: 2,\n lineCap: 'round',\n lineJoin: 'round'\n }\n },\n point: {\n style: {\n size: 8,\n stroke: { type: 'palette', key: 'backgroundColor' },\n lineWidth: 1,\n fillOpacity: 1\n }\n },\n word: {\n style: {\n fontSize: null\n }\n },\n fillingWord: {\n style: {\n fontSize: null\n }\n },\n sunburst: {\n style: {\n lineWidth: 1,\n stroke: { type: 'palette', key: 'backgroundColor' }\n }\n },\n circlePacking: {\n style: {\n lineWidth: 1,\n stroke: { type: 'palette', key: 'backgroundColor' }\n }\n },\n funnel3d: {\n style: {\n stroke: false\n }\n },\n barBackground: {\n visible: false,\n style: {\n fill: { type: 'palette', key: 'primaryFontColor', a: 0.06 }\n }\n }\n};\n"]}
@@ -20,7 +20,8 @@ export class BarChart extends CartesianChart {
20
20
  barMaxWidth: spec.barMaxWidth,
21
21
  barMinWidth: spec.barMinWidth,
22
22
  barGapInGroup: spec.barGapInGroup,
23
- barMinHeight: spec.barMinHeight
23
+ barMinHeight: spec.barMinHeight,
24
+ barBackground: spec.barBackground
24
25
  });
25
26
  }
26
27
  transformSpec(spec) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/bar/bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,QAAS,SAAQ,cAAc;IAA5C;;QAGW,SAAI,GAAW,aAAa,CAAC,GAAG,CAAC;QACjC,eAAU,GAAW,cAAc,CAAC,GAAG,CAAC;IAiBnD,CAAC;IAfW,qBAAqB,CAAC,IAAS;QACvC,uCACK,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,QAAQ,EAAkB,IAAK,CAAC,QAAQ,EACxC,WAAW,EAAkB,IAAK,CAAC,WAAW,EAC9C,WAAW,EAAkB,IAAK,CAAC,WAAW,EAC9C,aAAa,EAAkB,IAAK,CAAC,aAAa,EAClD,YAAY,EAAkB,IAAK,CAAC,YAAY,IAChD;IACJ,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;;AAnBe,aAAI,GAAW,aAAa,CAAC,GAAG,CAAC;AACjC,aAAI,GAAW,eAAe,CAAC;AAqBjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAiB,EAAE,CAAC;IACpB,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC","file":"bar.js","sourcesContent":["import { BarSeries, registerBarSeries } from '../../series/bar/bar';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport type { IBarChartSpec } from './interface';\nimport { Factory } from '../../core/factory';\n\nexport class BarChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.bar;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.bar;\n readonly seriesType: string = SeriesTypeEnum.bar;\n\n protected _getDefaultSeriesSpec(spec: any): any {\n return {\n ...super._getDefaultSeriesSpec(spec),\n barWidth: (<IBarChartSpec>spec).barWidth,\n barMaxWidth: (<IBarChartSpec>spec).barMaxWidth,\n barMinWidth: (<IBarChartSpec>spec).barMinWidth,\n barGapInGroup: (<IBarChartSpec>spec).barGapInGroup,\n barMinHeight: (<IBarChartSpec>spec).barMinHeight\n };\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n\nexport const registerBarChart = () => {\n registerBarSeries();\n Factory.registerChart(BarChart.type, BarChart);\n};\n"]}
1
+ {"version":3,"sources":["../src/chart/bar/bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,QAAS,SAAQ,cAAc;IAA5C;;QAGW,SAAI,GAAW,aAAa,CAAC,GAAG,CAAC;QACjC,eAAU,GAAW,cAAc,CAAC,GAAG,CAAC;IAkBnD,CAAC;IAhBW,qBAAqB,CAAC,IAAS;QACvC,uCACK,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,QAAQ,EAAkB,IAAK,CAAC,QAAQ,EACxC,WAAW,EAAkB,IAAK,CAAC,WAAW,EAC9C,WAAW,EAAkB,IAAK,CAAC,WAAW,EAC9C,aAAa,EAAkB,IAAK,CAAC,aAAa,EAClD,YAAY,EAAkB,IAAK,CAAC,YAAY,EAChD,aAAa,EAAkB,IAAK,CAAC,aAAa,IAClD;IACJ,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;;AApBe,aAAI,GAAW,aAAa,CAAC,GAAG,CAAC;AACjC,aAAI,GAAW,eAAe,CAAC;AAsBjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAiB,EAAE,CAAC;IACpB,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC","file":"bar.js","sourcesContent":["import { BarSeries, registerBarSeries } from '../../series/bar/bar';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport type { IBarChartSpec } from './interface';\nimport { Factory } from '../../core/factory';\n\nexport class BarChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.bar;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.bar;\n readonly seriesType: string = SeriesTypeEnum.bar;\n\n protected _getDefaultSeriesSpec(spec: any): any {\n return {\n ...super._getDefaultSeriesSpec(spec),\n barWidth: (<IBarChartSpec>spec).barWidth,\n barMaxWidth: (<IBarChartSpec>spec).barMaxWidth,\n barMinWidth: (<IBarChartSpec>spec).barMinWidth,\n barGapInGroup: (<IBarChartSpec>spec).barGapInGroup,\n barMinHeight: (<IBarChartSpec>spec).barMinHeight,\n barBackground: (<IBarChartSpec>spec).barBackground\n };\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n\nexport const registerBarChart = () => {\n registerBarSeries();\n Factory.registerChart(BarChart.type, BarChart);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/correlation/correlation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKxD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAA/C;;QAGW,SAAI,GAAW,aAAa,CAAC,WAAW,CAAC;QACzC,eAAU,GAAW,cAAc,CAAC,WAAW,CAAC;IAmD3D,CAAC;IAjDW,qBAAqB,CAAC,IAA2B;QACzD,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAEzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAEvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,IAAI,CAAC,KAAK,GAClB,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC;QAC9C,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAA2B;QACvC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAG1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACb,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;AArDe,qBAAI,GAAW,aAAa,CAAC,WAAW,CAAC;AACzC,qBAAI,GAAW,eAAe,CAAC;AAuDjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,yBAAyB,EAAE,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACjE,CAAC,CAAC","file":"correlation.js","sourcesContent":["import { registerCorrelationSeries } from '../../series/correlation/correlation';\nimport { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport type { ICorrelationChartSpec } from './interface';\nimport type { ICorrelationSeriesSpec } from '../../series/correlation/interface';\nimport { VChart } from '../../core/vchart';\nimport { CorrelationSeries } from '../../series/correlation/correlation';\nimport { Factory } from '../../core/factory';\n\nexport class CorrelationChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.correlation;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.correlation;\n readonly seriesType: string = SeriesTypeEnum.correlation;\n\n protected _getDefaultSeriesSpec(spec: ICorrelationChartSpec): any {\n const series: ICorrelationSeriesSpec = {\n ...super._getDefaultSeriesSpec(spec),\n categoryField: spec.categoryField,\n valueField: spec.valueField,\n seriesField: spec.seriesField,\n sizeField: spec.sizeField,\n sizeRange: spec.sizeRange,\n\n centerX: spec.centerX,\n centerY: spec.centerY,\n innerRadius: spec.innerRadius,\n outerRadius: spec.outerRadius,\n startAngle: spec.startAngle,\n endAngle: spec.endAngle,\n\n ripplePoint: spec.ripplePoint,\n centerPoint: spec.centerPoint,\n centerLabel: spec.centerLabel,\n nodePoint: spec.nodePoint,\n label: spec.label\n };\n const seriesType = SeriesTypeEnum.correlation;\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n\n return series;\n }\n\n transformSpec(spec: ICorrelationChartSpec): void {\n super.transformSpec(spec);\n\n /* 处理 series 配置 */\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n\nexport const registerCorrelationChart = () => {\n registerCorrelationSeries();\n Factory.registerChart(CorrelationChart.type, CorrelationChart);\n};\n"]}
1
+ {"version":3,"sources":["../src/chart/correlation/correlation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAA/C;;QAGW,SAAI,GAAW,aAAa,CAAC,WAAW,CAAC;QACzC,eAAU,GAAW,cAAc,CAAC,WAAW,CAAC;IAmD3D,CAAC;IAjDW,qBAAqB,CAAC,IAA2B;QACzD,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EAEzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAEvB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,IAAI,CAAC,KAAK,GAClB,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC;QAC9C,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QACzB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAA2B;QACvC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAG1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,IAAI,CAAC,MAAM,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBAC/B,OAAO;iBACR;gBACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACzC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;wBACb,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;AArDe,qBAAI,GAAW,aAAa,CAAC,WAAW,CAAC;AACzC,qBAAI,GAAW,eAAe,CAAC;AAuDjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,yBAAyB,EAAE,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACjE,CAAC,CAAC","file":"correlation.js","sourcesContent":["import { registerCorrelationSeries } from '../../series/correlation/correlation';\nimport { BaseChart } from '../base-chart';\nimport { ChartTypeEnum } from '../interface';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport type { ICorrelationChartSpec } from './interface';\nimport type { ICorrelationSeriesSpec } from '../../series/correlation/interface';\nimport { Factory } from '../../core/factory';\n\nexport class CorrelationChart extends BaseChart {\n static readonly type: string = ChartTypeEnum.correlation;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.correlation;\n readonly seriesType: string = SeriesTypeEnum.correlation;\n\n protected _getDefaultSeriesSpec(spec: ICorrelationChartSpec): any {\n const series: ICorrelationSeriesSpec = {\n ...super._getDefaultSeriesSpec(spec),\n categoryField: spec.categoryField,\n valueField: spec.valueField,\n seriesField: spec.seriesField,\n sizeField: spec.sizeField,\n sizeRange: spec.sizeRange,\n\n centerX: spec.centerX,\n centerY: spec.centerY,\n innerRadius: spec.innerRadius,\n outerRadius: spec.outerRadius,\n startAngle: spec.startAngle,\n endAngle: spec.endAngle,\n\n ripplePoint: spec.ripplePoint,\n centerPoint: spec.centerPoint,\n centerLabel: spec.centerLabel,\n nodePoint: spec.nodePoint,\n label: spec.label\n };\n const seriesType = SeriesTypeEnum.correlation;\n series.type = seriesType;\n series[seriesType] = spec[seriesType];\n\n return series;\n }\n\n transformSpec(spec: ICorrelationChartSpec): void {\n super.transformSpec(spec);\n\n /* 处理 series 配置 */\n const defaultSeriesSpec = this._getDefaultSeriesSpec(spec);\n if (!spec.series || spec.series.length === 0) {\n spec.series = [defaultSeriesSpec];\n } else {\n spec.series.forEach(s => {\n if (!this.isValidSeries(s.type)) {\n return;\n }\n Object.keys(defaultSeriesSpec).forEach(k => {\n if (!(k in s)) {\n s[k] = defaultSeriesSpec[k];\n }\n });\n });\n }\n }\n}\n\nexport const registerCorrelationChart = () => {\n registerCorrelationSeries();\n Factory.registerChart(CorrelationChart.type, CorrelationChart);\n};\n"]}
@@ -19,7 +19,8 @@ export class RangeColumnChart extends CartesianChart {
19
19
  _getDefaultSeriesSpec(spec) {
20
20
  var _a, _b;
21
21
  const series = Object.assign(Object.assign({}, super._getDefaultSeriesSpec(spec)), {
22
- barGapInGroup: spec.barGapInGroup
22
+ barGapInGroup: spec.barGapInGroup,
23
+ barBackground: spec.barBackground
23
24
  });
24
25
  return series.bar = spec.bar, spec.direction === Direction.horizontal ? series.xField = null !== (_a = spec.xField) && void 0 !== _a ? _a : [ spec.minField, spec.maxField ] : series.yField = null !== (_b = spec.yField) && void 0 !== _b ? _b : [ spec.minField, spec.maxField ],
25
26
  series;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/chart/range-column/range-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAApD;;QAGW,SAAI,GAAW,aAAa,CAAC,WAAW,CAAC;QACzC,eAAU,GAAW,cAAc,CAAC,WAAW,CAAC;IAoB3D,CAAC;IAlBW,qBAAqB,CAAC,IAAS;;QACvC,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,aAAa,EAAG,IAA8B,CAAC,aAAa,GAC7D,CAAC;QACF,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,UAAU,EAAE;YAC3C,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;;AAtBe,qBAAI,GAAW,aAAa,CAAC,WAAW,CAAC;AACzC,qBAAI,GAAW,eAAe,CAAC;AAwBjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,yBAAyB,EAAE,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACjE,CAAC,CAAC","file":"range-column.js","sourcesContent":["import { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { Direction } from '../../typings';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport type { IRangeColumnChartSpec } from './interface';\nimport { Factory } from '../../core/factory';\nimport { registerRangeColumnSeries } from '../../series/range-column/range-column';\n\nexport class RangeColumnChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.rangeColumn;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.rangeColumn;\n readonly seriesType: string = SeriesTypeEnum.rangeColumn;\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n barGapInGroup: (spec as IRangeColumnChartSpec).barGapInGroup\n };\n series.bar = spec.bar;\n if (spec.direction === Direction.horizontal) {\n series.xField = spec.xField ?? [spec.minField, spec.maxField];\n } else {\n series.yField = spec.yField ?? [spec.minField, spec.maxField];\n }\n return series;\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n\nexport const registerRangeColumnChart = () => {\n registerRangeColumnSeries();\n Factory.registerChart(RangeColumnChart.type, RangeColumnChart);\n};\n"]}
1
+ {"version":3,"sources":["../src/chart/range-column/range-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAApD;;QAGW,SAAI,GAAW,aAAa,CAAC,WAAW,CAAC;QACzC,eAAU,GAAW,cAAc,CAAC,WAAW,CAAC;IAqB3D,CAAC;IAnBW,qBAAqB,CAAC,IAAS;;QACvC,MAAM,MAAM,mCACP,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,aAAa,EAAG,IAA8B,CAAC,aAAa,EAC5D,aAAa,EAAG,IAA8B,CAAC,aAAa,GAC7D,CAAC;QACF,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACtB,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,UAAU,EAAE;YAC3C,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;aAAM;YACL,MAAM,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,IAAS;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,oCAAoC,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;;AAvBe,qBAAI,GAAW,aAAa,CAAC,WAAW,CAAC;AACzC,qBAAI,GAAW,eAAe,CAAC;AAyBjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,yBAAyB,EAAE,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AACjE,CAAC,CAAC","file":"range-column.js","sourcesContent":["import { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface';\nimport { SeriesTypeEnum } from '../../series/interface';\nimport { Direction } from '../../typings';\nimport { setDefaultCrosshairForCartesianChart } from '../util';\nimport type { IRangeColumnChartSpec } from './interface';\nimport { Factory } from '../../core/factory';\nimport { registerRangeColumnSeries } from '../../series/range-column/range-column';\n\nexport class RangeColumnChart extends CartesianChart {\n static readonly type: string = ChartTypeEnum.rangeColumn;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.rangeColumn;\n readonly seriesType: string = SeriesTypeEnum.rangeColumn;\n\n protected _getDefaultSeriesSpec(spec: any): any {\n const series: any = {\n ...super._getDefaultSeriesSpec(spec),\n barGapInGroup: (spec as IRangeColumnChartSpec).barGapInGroup,\n barBackground: (spec as IRangeColumnChartSpec).barBackground\n };\n series.bar = spec.bar;\n if (spec.direction === Direction.horizontal) {\n series.xField = spec.xField ?? [spec.minField, spec.maxField];\n } else {\n series.yField = spec.yField ?? [spec.minField, spec.maxField];\n }\n return series;\n }\n\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n setDefaultCrosshairForCartesianChart(spec);\n }\n}\n\nexport const registerRangeColumnChart = () => {\n registerRangeColumnSeries();\n Factory.registerChart(RangeColumnChart.type, RangeColumnChart);\n};\n"]}
@@ -28,4 +28,5 @@ export class Stack {
28
28
  });
29
29
  }));
30
30
  }
31
- }
31
+ }
32
+ //# sourceMappingURL=stack.js.map
@@ -42,5 +42,4 @@ import { registerPoptip } from "./poptip/index";
42
42
 
43
43
  export { ScrollBar, DataZoom, CustomMark, Brush, MapLabelComponent, CartesianAxis, CartesianBandAxis, CartesianLinearAxis, CartesianTimeAxis, CartesianLogAxis, CartesianSymlogAxis, PolarAxis, PolarBandAxis, PolarLinearAxis, DiscreteLegend, ContinuousLegend, Indicator, Title, GeoCoordinate, CartesianCrossHair, PolarCrossHair, Player, MarkArea, MarkLine, MarkPoint, Tooltip, Label, TotalLabel };
44
44
 
45
- export { registerBrush, registerScrollBar, registerTitle, registerTooltip, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerContinuousLegend, registerCustomMark, registerDataZoom, registerDiscreteLegend, registerGeoCoordinate, registerIndicator, registerLabel, registerTotalLabel, registerMapLabel, registerMarkArea, registerMarkLine, registerMarkPoint, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPoptip };
46
- //# sourceMappingURL=index.js.map
45
+ export { registerBrush, registerScrollBar, registerTitle, registerTooltip, registerCartesianBandAxis, registerCartesianCrossHair, registerCartesianLinearAxis, registerCartesianLogAxis, registerCartesianSymlogAxis, registerCartesianTimeAxis, registerContinuousLegend, registerCustomMark, registerDataZoom, registerDiscreteLegend, registerGeoCoordinate, registerIndicator, registerLabel, registerTotalLabel, registerMapLabel, registerMarkArea, registerMarkLine, registerMarkPoint, registerPlayer, registerPolarBandAxis, registerPolarCrossHair, registerPolarLinearAxis, registerPoptip };
@@ -1,4 +1,4 @@
1
- import { isFunction, isObject, isString, isNil, isArray, isValid, initTextMeasure } from "../../../../util";
1
+ import { isFunction, isObject, isString, isNil, isArray, isValid } from "../../../../util";
2
2
 
3
3
  import { getRichTextBounds } from "@visactor/vrender-core";
4
4
 
@@ -44,38 +44,21 @@ element.offsetWidth > 0 ? boundingClientRect.width / element.offsetWidth : bound
44
44
 
45
45
  export const measureTooltipText = (text, style) => {
46
46
  var _a;
47
- text = (null != text ? text : "").toString();
48
- const measure = initTextMeasure(style);
49
- if (!style.multiLine) {
50
- const {width: width, height: height} = measure.fullMeasure(text);
51
- return {
52
- width: width,
53
- height: height,
54
- text: text
55
- };
56
- }
57
- let textLines = text.split("\n");
58
- textLines = textLines.map(((line, i) => i < textLines.length - 1 ? line + "\n" : line));
59
- const {width: width, height: height} = measure.fullMeasure(textLines);
60
- if (style.maxWidth && style.maxWidth <= width) {
61
- const bound = getRichTextBounds({
62
- wordBreak: null !== (_a = style.wordBreak) && void 0 !== _a ? _a : "break-word",
63
- maxWidth: style.maxWidth,
64
- width: 0,
65
- height: 0,
66
- textConfig: textLines.map(((line, i) => Object.assign(Object.assign({}, style), {
67
- text: line
68
- })))
69
- });
70
- return {
71
- width: bound.width(),
72
- height: bound.height(),
73
- text: textLines
74
- };
75
- }
47
+ let textLines;
48
+ text = (null != text ? text : "").toString(), style.multiLine ? (textLines = text.split("\n"),
49
+ textLines = textLines.map(((line, i) => i < textLines.length - 1 ? line + "\n" : line))) : textLines = [ text ];
50
+ const bound = getRichTextBounds({
51
+ wordBreak: null !== (_a = style.wordBreak) && void 0 !== _a ? _a : "break-word",
52
+ maxWidth: style.maxWidth ? style.maxWidth : void 0,
53
+ width: 0,
54
+ height: 0,
55
+ textConfig: textLines.map((line => Object.assign(Object.assign({}, style), {
56
+ text: line
57
+ })))
58
+ });
76
59
  return {
77
- width: width,
78
- height: height,
60
+ width: bound.width(),
61
+ height: bound.height(),
79
62
  text: textLines
80
63
  };
81
64
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/component/tooltip/handler/utils/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { Datum } from '@visactor/vgrammar-core';\nimport type { MaybeArray, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../../typings';\nimport { isFunction, isObject, isString, isNil, isArray, isValid, initTextMeasure } from '../../../../util';\nimport type { TooltipHandlerParams } from '../../interface';\nimport type { IDimensionData, IDimensionInfo } from '../../../../event/events/dimension';\nimport type { IRichTextParagraphCharacter } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { getRichTextBounds } from '@visactor/vrender-core';\nimport type { ITooltipTextStyle } from '../interface/style';\n\ninterface IGradientColor {\n [key: string]: any;\n stops: {\n offset: number;\n color: string;\n }[];\n}\n\n/**\n * Escape special HTML characters.\n *\n * @param value A value to convert to string and HTML-escape.\n */\nexport function escapeHTML(value: any): string {\n return String(value)\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\\(/g, '&#40;')\n .replace(/ /g, ' &nbsp;'); // 转义符和真空格夹杂,在转义和正常换行之间取得平衡\n}\n\nexport const getTooltipContentValue = <T>(\n field?: TooltipContentProperty<T>,\n datum?: any,\n params?: TooltipHandlerParams\n): T | undefined => {\n if (isNil(field)) {\n return field;\n }\n if (isFunction(field)) {\n return field(datum, params);\n }\n return field;\n};\n\nexport const getTooltipPatternValue = <T>(\n field?: MaybeArray<TooltipPatternProperty<T>>,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): (typeof field extends Array<TooltipPatternProperty<T>> ? MaybeArray<T> : T) | undefined => {\n if (isNil(field)) {\n return field;\n }\n if (isArray(field)) {\n const result: T[] = [];\n field.forEach(item => {\n if (isFunction(item)) {\n const value = item(data, params);\n if (isValid(value)) {\n result.push(value);\n }\n } else {\n result.push(item);\n }\n });\n return result as any;\n }\n if (isFunction(field)) {\n return field(data, params);\n }\n return field;\n};\n\nexport function getFirstDatumFromTooltipData(data: TooltipData): Datum {\n // 找到第一个可用的datum\n const dimInfoList: IDimensionInfo[] = (data as IDimensionData[])[0]?.series\n ? [{ data: data as IDimensionData[], value: '' }]\n : (data as IDimensionInfo[]);\n for (const { data: dataList } of dimInfoList) {\n for (const { datum: datumList } of dataList) {\n for (const datumItem of datumList ?? []) {\n if (datumItem) {\n return datumItem;\n }\n }\n }\n }\n}\n\nexport function pickFirstValidValue<T>(isValid: (element?: T) => any, ...elements: T[]): T | undefined {\n for (const ele of elements) {\n if (isValid(ele)) {\n return ele;\n }\n }\n return undefined;\n}\n\n// 针对渐变色,受底层渲染引擎影响,不一定都能绘制正确,所以这里取 colorStop 的第一个颜色作为 color\nexport function convertToColorString(color: any, defaultColor: string = '#000') {\n if (!color) {\n return defaultColor;\n }\n if (isString(color)) {\n return color;\n }\n\n if (isObject(color) && (color as IGradientColor).stops && (color as IGradientColor).stops[0]) {\n return (color as IGradientColor).stops[0].color || defaultColor;\n }\n\n return defaultColor;\n}\n\n/** 获取元素的绝对缩放因数(支持外部传入 boundingClientRect 提升性能) */\nexport const getScale = (element: HTMLElement, boundingClientRect?: DOMRect) => {\n if (!element) {\n return 1;\n }\n if (!boundingClientRect) {\n boundingClientRect = element.getBoundingClientRect();\n }\n if (element.offsetWidth > 0) {\n return boundingClientRect.width / element.offsetWidth;\n }\n return boundingClientRect.height / element.offsetHeight;\n};\n\ninterface ITooltipTextInfo {\n width: number;\n height: number;\n text: MaybeArray<number> | MaybeArray<string>;\n}\n\n/** 测量 tooltip 标签文本 */\nexport const measureTooltipText = (text: string, style: ITooltipTextStyle): ITooltipTextInfo => {\n text = (text ?? '').toString();\n const measure = initTextMeasure(style as any);\n if (!style.multiLine) {\n // 单行文本\n const { width, height } = measure.fullMeasure(text);\n return {\n width,\n height,\n text\n };\n }\n // 多行文本\n let textLines = text.split('\\n');\n textLines = textLines.map((line, i) => (i < textLines.length - 1 ? line + '\\n' : line));\n const { width, height } = measure.fullMeasure(textLines);\n\n if (style.maxWidth && style.maxWidth <= width) {\n // 允许自动换行的情况,改用 richText 测量\n const bound = getRichTextBounds({\n wordBreak: style.wordBreak ?? 'break-word',\n maxWidth: style.maxWidth,\n width: 0,\n height: 0,\n textConfig: textLines.map(\n (line, i) =>\n ({\n ...style,\n text: line\n }) as unknown as IRichTextParagraphCharacter\n )\n });\n return {\n width: bound.width(),\n height: bound.height(),\n text: textLines\n };\n }\n\n return {\n width,\n height,\n text: textLines\n };\n};\n"]}
1
+ {"version":3,"sources":["../src/component/tooltip/handler/utils/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { Datum } from '@visactor/vgrammar-core';\nimport type { MaybeArray, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../../typings';\nimport { isFunction, isObject, isString, isNil, isArray, isValid, initTextMeasure } from '../../../../util';\nimport type { TooltipHandlerParams } from '../../interface';\nimport type { IDimensionData, IDimensionInfo } from '../../../../event/events/dimension';\nimport type { IRichTextParagraphCharacter } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { getRichTextBounds } from '@visactor/vrender-core';\nimport type { ITooltipTextStyle } from '../interface/style';\n\ninterface IGradientColor {\n [key: string]: any;\n stops: {\n offset: number;\n color: string;\n }[];\n}\n\n/**\n * Escape special HTML characters.\n *\n * @param value A value to convert to string and HTML-escape.\n */\nexport function escapeHTML(value: any): string {\n return String(value)\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\\(/g, '&#40;')\n .replace(/ /g, ' &nbsp;'); // 转义符和真空格夹杂,在转义和正常换行之间取得平衡\n}\n\nexport const getTooltipContentValue = <T>(\n field?: TooltipContentProperty<T>,\n datum?: any,\n params?: TooltipHandlerParams\n): T | undefined => {\n if (isNil(field)) {\n return field;\n }\n if (isFunction(field)) {\n return field(datum, params);\n }\n return field;\n};\n\nexport const getTooltipPatternValue = <T>(\n field?: MaybeArray<TooltipPatternProperty<T>>,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): (typeof field extends Array<TooltipPatternProperty<T>> ? MaybeArray<T> : T) | undefined => {\n if (isNil(field)) {\n return field;\n }\n if (isArray(field)) {\n const result: T[] = [];\n field.forEach(item => {\n if (isFunction(item)) {\n const value = item(data, params);\n if (isValid(value)) {\n result.push(value);\n }\n } else {\n result.push(item);\n }\n });\n return result as any;\n }\n if (isFunction(field)) {\n return field(data, params);\n }\n return field;\n};\n\nexport function getFirstDatumFromTooltipData(data: TooltipData): Datum {\n // 找到第一个可用的datum\n const dimInfoList: IDimensionInfo[] = (data as IDimensionData[])[0]?.series\n ? [{ data: data as IDimensionData[], value: '' }]\n : (data as IDimensionInfo[]);\n for (const { data: dataList } of dimInfoList) {\n for (const { datum: datumList } of dataList) {\n for (const datumItem of datumList ?? []) {\n if (datumItem) {\n return datumItem;\n }\n }\n }\n }\n}\n\nexport function pickFirstValidValue<T>(isValid: (element?: T) => any, ...elements: T[]): T | undefined {\n for (const ele of elements) {\n if (isValid(ele)) {\n return ele;\n }\n }\n return undefined;\n}\n\n// 针对渐变色,受底层渲染引擎影响,不一定都能绘制正确,所以这里取 colorStop 的第一个颜色作为 color\nexport function convertToColorString(color: any, defaultColor: string = '#000') {\n if (!color) {\n return defaultColor;\n }\n if (isString(color)) {\n return color;\n }\n\n if (isObject(color) && (color as IGradientColor).stops && (color as IGradientColor).stops[0]) {\n return (color as IGradientColor).stops[0].color || defaultColor;\n }\n\n return defaultColor;\n}\n\n/** 获取元素的绝对缩放因数(支持外部传入 boundingClientRect 提升性能) */\nexport const getScale = (element: HTMLElement, boundingClientRect?: DOMRect) => {\n if (!element) {\n return 1;\n }\n if (!boundingClientRect) {\n boundingClientRect = element.getBoundingClientRect();\n }\n if (element.offsetWidth > 0) {\n return boundingClientRect.width / element.offsetWidth;\n }\n return boundingClientRect.height / element.offsetHeight;\n};\n\ninterface ITooltipTextInfo {\n width: number;\n height: number;\n text: MaybeArray<number> | MaybeArray<string>;\n}\n\n/** 测量 tooltip 标签文本 */\nexport const measureTooltipText = (text: string, style: ITooltipTextStyle): ITooltipTextInfo => {\n text = (text ?? '').toString();\n let textLines: string[];\n if (style.multiLine) {\n textLines = text.split('\\n');\n textLines = textLines.map((line, i) => (i < textLines.length - 1 ? line + '\\n' : line));\n } else {\n textLines = [text];\n }\n\n const bound = getRichTextBounds({\n wordBreak: style.wordBreak ?? 'break-word',\n maxWidth: style.maxWidth ? style.maxWidth : undefined,\n width: 0,\n height: 0,\n textConfig: textLines.map(\n line =>\n ({\n ...style,\n text: line\n } as unknown as IRichTextParagraphCharacter)\n )\n });\n return {\n width: bound.width(),\n height: bound.height(),\n text: textLines\n };\n};\n"]}
@@ -2,5 +2,4 @@ export const PREFIX = "__VCHART";
2
2
 
3
3
  export const DEFAULT_CHART_WIDTH = 500;
4
4
 
5
- export const DEFAULT_CHART_HEIGHT = 500;
6
- //# sourceMappingURL=base.js.map
5
+ export const DEFAULT_CHART_HEIGHT = 500;
@@ -1,3 +1,4 @@
1
1
  import { PREFIX } from "./base";
2
2
 
3
- export const WaterfallDefaultSeriesField = `${PREFIX}_waterfall_default_seriesField`;
3
+ export const WaterfallDefaultSeriesField = `${PREFIX}_waterfall_default_seriesField`;
4
+ //# sourceMappingURL=waterfall.js.map
@@ -1,7 +1,7 @@
1
1
  import { VChart } from './vchart';
2
2
  import { Factory } from './factory';
3
3
  export { VChart, Factory };
4
- export declare const version = "1.5.3";
4
+ export declare const version = "1.5.4";
5
5
  export type { IVChart } from './interface';
6
6
  export * from '../event/interface';
7
7
  export * from '../typings/spec/common';
package/esm/core/index.js CHANGED
@@ -4,7 +4,7 @@ import { Factory } from "./factory";
4
4
 
5
5
  export { VChart, Factory };
6
6
 
7
- export const version = "1.5.3";
7
+ export const version = "1.5.4";
8
8
 
9
9
  export * from "../event/interface";
10
10
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAM/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.5.3\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport * from '../theme/interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n"]}
1
+ {"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAM/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.5.4\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport * from '../theme/interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n"]}
@@ -7,7 +7,7 @@ export const funnel = (originData, op) => {
7
7
  const {valueField: valueField, asTransformRatio: asTransformRatio, asReachRatio: asReachRatio, asHeightRatio: asHeightRatio, asValueRatio: asValueRatio, asNextValueRatio: asNextValueRatio, asLastValueRatio: asLastValueRatio, asLastValue: asLastValue, asCurrentValue: asCurrentValue, asNextValue: asNextValue, heightVisual: heightVisual = !1, isCone: isCone = !0, range: range} = op, max = data.reduce(((m, d) => Math.max(m, Number.parseFloat(d[valueField]) || -1 / 0)), -1 / 0), min = data.reduce(((m, d) => Math.min(m, Number.parseFloat(d[valueField]) || 1 / 0)), 1 / 0), rangeArr = [ null !== (_a = null == range ? void 0 : range.min) && void 0 !== _a ? _a : min, null !== (_b = null == range ? void 0 : range.max) && void 0 !== _b ? _b : max ];
8
8
  return data.forEach(((d, i) => {
9
9
  var _a, _b;
10
- const currentValue = Number.parseFloat(d[valueField]), lastValue = Number.parseFloat(null === (_a = data[i - 1]) || void 0 === _a ? void 0 : _a[valueField]), nextValue = Number.parseFloat(null === (_b = data[i + 1]) || void 0 === _b ? void 0 : _b[valueField]), transformRatio = isValidNumber(nextValue * currentValue) ? nextValue / currentValue : null, reachRatio = isValidNumber(currentValue * currentValue) ? currentValue / lastValue : null;
10
+ const currentValue = Number.parseFloat(d[valueField]), lastValue = Number.parseFloat(null === (_a = data[i - 1]) || void 0 === _a ? void 0 : _a[valueField]), nextValue = Number.parseFloat(null === (_b = data[i + 1]) || void 0 === _b ? void 0 : _b[valueField]), transformRatio = isValidNumber(nextValue * currentValue) && 0 !== currentValue ? nextValue / currentValue : 0, reachRatio = isValidNumber(currentValue * lastValue) && 0 !== lastValue ? currentValue / lastValue : 0;
11
11
  asLastValue && (d[asLastValue] = lastValue), asNextValue && (d[asNextValue] = nextValue),
12
12
  asTransformRatio && (d[asTransformRatio] = transformRatio), asReachRatio && (d[asReachRatio] = 0 === i ? 1 : reachRatio),
13
13
  asHeightRatio && (d[asHeightRatio] = !0 === heightVisual ? transformRatio : 1 / data.length),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data/transforms/funnel.ts"],"names":[],"mappings":"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","file":"funnel.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValidNumber } from '@visactor/vutils';\n\nexport interface IFunnelOpt {\n valueField: string;\n /** 转化率(当前层到下一层的比例) **/\n asTransformRatio: string;\n /** 到达率 (上一层到当前层的比例)*/\n asReachRatio: string;\n /** 高度轴占总量的比例 **/\n asHeightRatio: string;\n /** 当前值大小占比 */\n asValueRatio: string;\n /** 上一层值大小占比 */\n asLastValueRatio: string;\n /** 下一层值大小占比 */\n asNextValueRatio: string;\n /** 当前层的值 */\n asCurrentValue: string;\n /** 上一层的值 **/\n asLastValue: string;\n /** 下一层的值 **/\n asNextValue: string;\n\n /** 最底层漏斗是否为锥形 */\n isCone?: boolean;\n /** 高度是否进行数据映射 **/\n heightVisual?: boolean;\n\n /** 数值范围 */\n range?: { min: number; max: number };\n}\n\nexport const funnel = (originData: Array<DataView>, op: IFunnelOpt) => {\n const data = originData.map(datum => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n const {\n valueField,\n asTransformRatio,\n asReachRatio,\n asHeightRatio,\n asValueRatio,\n asNextValueRatio,\n asLastValueRatio,\n asLastValue,\n asCurrentValue,\n asNextValue,\n heightVisual = false,\n isCone = true,\n range\n } = op;\n\n const max = data.reduce((m, d) => Math.max(m, Number.parseFloat(d[valueField]) || -Infinity), -Infinity);\n const min = data.reduce((m, d) => Math.min(m, Number.parseFloat(d[valueField]) || Infinity), Infinity);\n const rangeArr = [range?.min ?? min, range?.max ?? max];\n\n data.forEach((d, i) => {\n const currentValue: number = Number.parseFloat(d[valueField]);\n const lastValue: number = Number.parseFloat(data[i - 1]?.[valueField]);\n const nextValue: number = Number.parseFloat(data[i + 1]?.[valueField]);\n\n const transformRatio = !isValidNumber(nextValue * currentValue) ? null : nextValue / currentValue;\n\n const reachRatio = !isValidNumber(currentValue * currentValue) ? null : currentValue / lastValue;\n\n asLastValue && (d[asLastValue] = lastValue);\n asNextValue && (d[asNextValue] = nextValue);\n asTransformRatio && (d[asTransformRatio] = transformRatio);\n asReachRatio && (d[asReachRatio] = i === 0 ? 1 : reachRatio);\n asHeightRatio && (d[asHeightRatio] = heightVisual === true ? transformRatio : 1 / data.length);\n asValueRatio && (d[asValueRatio] = currentValue / rangeArr[1]);\n asNextValueRatio &&\n (d[asNextValueRatio] = i === data.length - 1 ? (isCone ? 0 : d[asValueRatio]) : nextValue / rangeArr[1]);\n asLastValueRatio && (d[asLastValueRatio] = i === 0 ? 1 : lastValue / rangeArr[1]);\n asCurrentValue && (d[asCurrentValue] = currentValue);\n });\n\n return data;\n};\n\nexport interface IFunnelTransformOpt {\n asIsTransformLevel: string;\n}\n\nexport const funnelTransform = (originData: Array<DataView>, op: IFunnelTransformOpt) => {\n const data = originData[0]?.latestData?.map((datum: any) => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n data.shift();\n data.forEach((d: any) => {\n d[op.asIsTransformLevel] = true;\n });\n return data;\n};\n"]}
1
+ {"version":3,"sources":["../src/data/transforms/funnel.ts"],"names":[],"mappings":"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","file":"funnel.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValidNumber } from '@visactor/vutils';\n\nexport interface IFunnelOpt {\n valueField: string;\n /** 转化率(当前层到下一层的比例) **/\n asTransformRatio: string;\n /** 到达率 (上一层到当前层的比例)*/\n asReachRatio: string;\n /** 高度轴占总量的比例 **/\n asHeightRatio: string;\n /** 当前值大小占比 */\n asValueRatio: string;\n /** 上一层值大小占比 */\n asLastValueRatio: string;\n /** 下一层值大小占比 */\n asNextValueRatio: string;\n /** 当前层的值 */\n asCurrentValue: string;\n /** 上一层的值 **/\n asLastValue: string;\n /** 下一层的值 **/\n asNextValue: string;\n\n /** 最底层漏斗是否为锥形 */\n isCone?: boolean;\n /** 高度是否进行数据映射 **/\n heightVisual?: boolean;\n\n /** 数值范围 */\n range?: { min: number; max: number };\n}\n\nexport const funnel = (originData: Array<DataView>, op: IFunnelOpt) => {\n const data = originData.map(datum => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n const {\n valueField,\n asTransformRatio,\n asReachRatio,\n asHeightRatio,\n asValueRatio,\n asNextValueRatio,\n asLastValueRatio,\n asLastValue,\n asCurrentValue,\n asNextValue,\n heightVisual = false,\n isCone = true,\n range\n } = op;\n\n const max = data.reduce((m, d) => Math.max(m, Number.parseFloat(d[valueField]) || -Infinity), -Infinity);\n const min = data.reduce((m, d) => Math.min(m, Number.parseFloat(d[valueField]) || Infinity), Infinity);\n const rangeArr = [range?.min ?? min, range?.max ?? max];\n\n data.forEach((d, i) => {\n const currentValue: number = Number.parseFloat(d[valueField]);\n const lastValue: number = Number.parseFloat(data[i - 1]?.[valueField]);\n const nextValue: number = Number.parseFloat(data[i + 1]?.[valueField]);\n\n const transformRatio =\n !isValidNumber(nextValue * currentValue) || currentValue === 0 ? 0 : nextValue / currentValue;\n const reachRatio = !isValidNumber(currentValue * lastValue) || lastValue === 0 ? 0 : currentValue / lastValue;\n\n asLastValue && (d[asLastValue] = lastValue);\n asNextValue && (d[asNextValue] = nextValue);\n asTransformRatio && (d[asTransformRatio] = transformRatio);\n asReachRatio && (d[asReachRatio] = i === 0 ? 1 : reachRatio);\n asHeightRatio && (d[asHeightRatio] = heightVisual === true ? transformRatio : 1 / data.length);\n asValueRatio && (d[asValueRatio] = currentValue / rangeArr[1]);\n asNextValueRatio &&\n (d[asNextValueRatio] = i === data.length - 1 ? (isCone ? 0 : d[asValueRatio]) : nextValue / rangeArr[1]);\n asLastValueRatio && (d[asLastValueRatio] = i === 0 ? 1 : lastValue / rangeArr[1]);\n asCurrentValue && (d[asCurrentValue] = currentValue);\n });\n\n return data;\n};\n\nexport interface IFunnelTransformOpt {\n asIsTransformLevel: string;\n}\n\nexport const funnelTransform = (originData: Array<DataView>, op: IFunnelTransformOpt) => {\n const data = originData[0]?.latestData?.map((datum: any) => ({ ...datum }));\n if (!data || data.length === 0) {\n return data;\n }\n data.shift();\n data.forEach((d: any) => {\n d[op.asIsTransformLevel] = true;\n });\n return data;\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { CartesianSeries } from '../cartesian/cartesian';
2
- import type { IMark } from '../../mark/interface';
2
+ import type { IMark, IMarkProgressiveConfig } from '../../mark/interface';
3
3
  import { MarkTypeEnum } from '../../mark/interface';
4
4
  import type { Maybe, Datum, DirectionType } from '../../typings';
5
5
  import type { IBarSeriesSpec, IBarSeriesTheme } from './interface';
@@ -10,6 +10,8 @@ import type { ITextMark } from '../../mark/text';
10
10
  import type { SeriesMarkMap } from '../interface';
11
11
  import { SeriesMarkNameEnum } from '../interface/type';
12
12
  import { SeriesTypeEnum } from '../interface';
13
+ import { SeriesData } from '../base/series-data';
14
+ import { DataView } from '@visactor/vdataset';
13
15
  export declare const DefaultBandWidth = 6;
14
16
  export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extends CartesianSeries<T> {
15
17
  static readonly type: string;
@@ -20,16 +22,21 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
20
22
  protected _theme: Maybe<IBarSeriesTheme>;
21
23
  protected _supportStack: boolean;
22
24
  protected _bandPosition: number;
23
- protected _rectMark: IRectMark;
25
+ protected _barMark: IRectMark;
26
+ protected _barBackgroundMark: IRectMark;
27
+ protected _barBackgroundViewData: SeriesData;
24
28
  initMark(): void;
29
+ protected _initBarBackgroundMark(progressive?: IMarkProgressiveConfig): void;
25
30
  initMarkStyle(): void;
26
31
  initLabelMarkStyle(textMark: ITextMark): void;
27
32
  protected initTooltip(): void;
33
+ protected _statisticViewData(): void;
28
34
  init(option: IModelInitOption): void;
29
35
  private _shouldDoPreCalculate;
30
36
  private _calculateStackRectPosition;
31
37
  private _calculateRectPosition;
32
38
  initBandRectMarkStyle(): void;
39
+ protected _initBarBackgroundMarkStyle(): void;
33
40
  initLinearRectMarkStyle(): void;
34
41
  initAnimation(): void;
35
42
  protected _getBarWidth(axisHelper: IAxisHelper): number;
@@ -37,5 +44,9 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
37
44
  onLayoutEnd(ctx: any): void;
38
45
  getDefaultShapeType(): string;
39
46
  getActiveMarks(): IMark[];
47
+ compileData(): void;
48
+ fillData(): void;
49
+ viewDataUpdate(d: DataView): void;
50
+ release(): void;
40
51
  }
41
52
  export declare const registerBarSeries: () => void;
@@ -30,6 +30,16 @@ import { stackWithMinHeight } from "../util/stack";
30
30
 
31
31
  import { Factory } from "../../core/factory";
32
32
 
33
+ import { registerDataSetInstanceTransform } from "../../data/register";
34
+
35
+ import { SeriesData } from "../base/series-data";
36
+
37
+ import { DataView } from "@visactor/vdataset";
38
+
39
+ import { addVChartProperty } from "../../data/transforms/add-property";
40
+
41
+ import { addDataKey, initKeyMap } from "../../data/transforms/data-key";
42
+
33
43
  export const DefaultBandWidth = 6;
34
44
 
35
45
  const RECT_X = `${PREFIX}_rect_x`, RECT_X1 = `${PREFIX}_rect_x1`, RECT_Y = `${PREFIX}_rect_y`, RECT_Y1 = `${PREFIX}_rect_y1`;
@@ -46,7 +56,7 @@ export class BarSeries extends CartesianSeries {
46
56
  large: this._spec.large,
47
57
  largeThreshold: this._spec.largeThreshold
48
58
  };
49
- this._rectMark = this._createMark(Object.assign(Object.assign({}, BarSeries.mark.bar), {
59
+ this._initBarBackgroundMark(progressive), this._barMark = this._createMark(Object.assign(Object.assign({}, BarSeries.mark.bar), {
50
60
  name: this._barMarkName,
51
61
  type: this._barMarkType
52
62
  }), {
@@ -60,11 +70,18 @@ export class BarSeries extends CartesianSeries {
60
70
  progressive: progressive
61
71
  });
62
72
  }
73
+ _initBarBackgroundMark(progressive) {
74
+ var _a;
75
+ (null === (_a = this._spec.barBackground) || void 0 === _a ? void 0 : _a.visible) && (this._barBackgroundMark = this._createMark(BarSeries.mark.barBackground, {
76
+ dataView: this._barBackgroundViewData.getDataView(),
77
+ dataProductId: this._barBackgroundViewData.getProductId(),
78
+ progressive: progressive
79
+ }));
80
+ }
63
81
  initMarkStyle() {
64
- const rectMark = this._rectMark;
65
- rectMark && (this.setMarkStyle(rectMark, {
82
+ this._barMark && (this.setMarkStyle(this._barMark, {
66
83
  fill: this.getColorAttribute()
67
- }, "normal", AttributeLevel.Series), this._trigger.registerMark(rectMark));
84
+ }, "normal", AttributeLevel.Series), this._trigger.registerMark(this._barMark));
68
85
  }
69
86
  initLabelMarkStyle(textMark) {
70
87
  textMark && this.setMarkStyle(textMark, {
@@ -74,7 +91,40 @@ export class BarSeries extends CartesianSeries {
74
91
  });
75
92
  }
76
93
  initTooltip() {
77
- super.initTooltip(), this._rectMark && this._tooltipHelper.activeTriggerSet.mark.add(this._rectMark);
94
+ super.initTooltip(), this._barMark && this._tooltipHelper.activeTriggerSet.mark.add(this._barMark);
95
+ }
96
+ _statisticViewData() {
97
+ var _a, _b;
98
+ if (super._statisticViewData(), !(null === (_a = this._spec.barBackground) || void 0 === _a ? void 0 : _a.visible)) return;
99
+ registerDataSetInstanceTransform(this._option.dataSet, "addVChartProperty", addVChartProperty),
100
+ registerDataSetInstanceTransform(this._option.dataSet, "dimensionItems", (([data], op) => {
101
+ var _a;
102
+ let dataCollect = [ {} ];
103
+ const fields = this.getDimensionField();
104
+ for (let i = 0; i < fields.length; i++) {
105
+ const field = fields[i], values = null === (_a = data.latestData[field]) || void 0 === _a ? void 0 : _a.values;
106
+ if (!(null == values ? void 0 : values.length)) continue;
107
+ const newDataCollect = [];
108
+ for (let j = 0; j < values.length; j++) for (let k = 0; k < dataCollect.length; k++) newDataCollect.push(Object.assign(Object.assign({}, dataCollect[k]), {
109
+ [field]: values[j]
110
+ }));
111
+ dataCollect = newDataCollect;
112
+ }
113
+ return dataCollect;
114
+ }));
115
+ const barBackgroundData = new DataView(this._option.dataSet).parse([ this._viewDataStatistics ], {
116
+ type: "dataview"
117
+ }).transform({
118
+ type: "dimensionItems"
119
+ }, !1).transform({
120
+ type: "addVChartProperty",
121
+ options: {
122
+ beforeCall: initKeyMap,
123
+ call: addDataKey.bind(this)
124
+ }
125
+ }, !1);
126
+ null === (_b = this._viewDataStatistics) || void 0 === _b || _b.target.addListener("change", barBackgroundData.reRunAllTransform),
127
+ this._barBackgroundViewData = new SeriesData(this._option, barBackgroundData);
78
128
  }
79
129
  init(option) {
80
130
  var _a, _b;
@@ -116,33 +166,61 @@ export class BarSeries extends CartesianSeries {
116
166
  initBandRectMarkStyle() {
117
167
  var _a, _b, _c, _d;
118
168
  const xScale = null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0), yScale = null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0);
119
- this.direction === Direction.horizontal ? this.setMarkStyle(this._rectMark, {
169
+ this.direction === Direction.horizontal ? this.setMarkStyle(this._barMark, {
120
170
  x: datum => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!1),
121
171
  datum[RECT_X]) : this._spec.barMinHeight ? this._calculateRectPosition(datum, !1) : valueInScaleRange(this.dataToPositionX(datum), xScale),
122
172
  x1: datum => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!1),
123
173
  datum[RECT_X1]) : valueInScaleRange(this.dataToPositionX1(datum), xScale),
124
174
  y: datum => this._getPosition(this.direction, datum),
125
175
  height: () => this._getBarWidth(this._yAxisHelper)
126
- }, "normal", AttributeLevel.Series) : this.setMarkStyle(this._rectMark, {
176
+ }, "normal", AttributeLevel.Series) : this.setMarkStyle(this._barMark, {
127
177
  x: datum => this._getPosition(this.direction, datum),
128
178
  y: (datum, ctx, opt, dataView) => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!0),
129
179
  datum[RECT_Y]) : this._spec.barMinHeight ? this._calculateRectPosition(datum, !0) : valueInScaleRange(this.dataToPositionY(datum), yScale),
130
180
  y1: datum => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!0),
131
181
  datum[RECT_Y1]) : valueInScaleRange(this.dataToPositionY1(datum), yScale),
132
182
  width: () => this._getBarWidth(this._xAxisHelper)
183
+ }, "normal", AttributeLevel.Series), this._initBarBackgroundMarkStyle();
184
+ }
185
+ _initBarBackgroundMarkStyle() {
186
+ var _a, _b, _c, _d;
187
+ if (!this._barBackgroundMark) return;
188
+ const xScale = null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0), yScale = null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0);
189
+ this.direction === Direction.horizontal ? this.setMarkStyle(this._barBackgroundMark, {
190
+ x: () => {
191
+ const range = xScale.range();
192
+ return Math.min(range[0], range[range.length - 1]);
193
+ },
194
+ x1: () => {
195
+ const range = xScale.range();
196
+ return Math.max(range[0], range[range.length - 1]);
197
+ },
198
+ y: datum => this._getPosition(this.direction, datum),
199
+ height: () => this._getBarWidth(this._yAxisHelper)
200
+ }, "normal", AttributeLevel.Series) : this.setMarkStyle(this._barBackgroundMark, {
201
+ x: datum => this._getPosition(this.direction, datum),
202
+ y: () => {
203
+ const range = yScale.range();
204
+ return Math.min(range[0], range[range.length - 1]);
205
+ },
206
+ y1: () => {
207
+ const range = yScale.range();
208
+ return Math.max(range[0], range[range.length - 1]);
209
+ },
210
+ width: () => this._getBarWidth(this._xAxisHelper)
133
211
  }, "normal", AttributeLevel.Series);
134
212
  }
135
213
  initLinearRectMarkStyle() {
136
214
  var _a, _b, _c, _d;
137
215
  const xScale = null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0), yScale = null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0);
138
- this.direction === Direction.vertical ? this.setMarkStyle(this._rectMark, {
216
+ this.direction === Direction.vertical ? this.setMarkStyle(this._barMark, {
139
217
  x: datum => valueInScaleRange(this.dataToPositionX(datum), xScale),
140
218
  x1: datum => valueInScaleRange(this.dataToPositionX1(datum), xScale),
141
219
  y: (datum, ctx, opt, dataView) => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!0),
142
220
  datum[RECT_Y]) : this._spec.barMinHeight ? this._calculateRectPosition(datum, !0) : valueInScaleRange(this.dataToPositionY(datum), yScale),
143
221
  y1: datum => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!0),
144
222
  datum[RECT_Y1]) : valueInScaleRange(this.dataToPositionY1(datum), yScale)
145
- }, "normal", AttributeLevel.Series) : this.setMarkStyle(this._rectMark, {
223
+ }, "normal", AttributeLevel.Series) : this.setMarkStyle(this._barMark, {
146
224
  x: datum => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!1),
147
225
  datum[RECT_X]) : this._spec.barMinHeight ? this._calculateRectPosition(datum, !1) : valueInScaleRange(this.dataToPositionX(datum), xScale),
148
226
  x1: datum => this._shouldDoPreCalculate() ? (this._calculateStackRectPosition(!1),
@@ -162,7 +240,7 @@ export class BarSeries extends CartesianSeries {
162
240
  return "horizontal" === this.direction ? null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale(0).scale(0) : null === (_b = this._yAxisHelper) || void 0 === _b ? void 0 : _b.getScale(0).scale(0);
163
241
  }
164
242
  }, appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
165
- this._rectMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("bar")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), userAnimationConfig(this._barMarkName, this._spec), {
243
+ this._barMark.setAnimationConfig(animationConfig(null === (_c = Factory.getAnimationInKey("bar")) || void 0 === _c ? void 0 : _c(animationParams, appearPreset), userAnimationConfig(this._barMarkName, this._spec), {
166
244
  dataIndex: datum => {
167
245
  var _a, _b, _c;
168
246
  const xValue = null == datum ? void 0 : datum[this._fieldX[0]];
@@ -186,7 +264,7 @@ export class BarSeries extends CartesianSeries {
186
264
  direction === Direction.horizontal ? (axisHelper = this.getYAxisHelper(), sizeAttribute = "height",
187
265
  dataToPosition = this.dataToPositionY.bind(this)) : (axisHelper = this.getXAxisHelper(),
188
266
  sizeAttribute = "width", dataToPosition = this.dataToPositionX.bind(this));
189
- const scale = axisHelper.getScale(0), size = this._rectMark.getAttribute(sizeAttribute, datum), bandWidth = null !== (_b = null === (_a = axisHelper.getBandwidth) || void 0 === _a ? void 0 : _a.call(axisHelper, this._groups ? this._groups.fields.length - 1 : 0)) && void 0 !== _b ? _b : 6;
267
+ const scale = axisHelper.getScale(0), size = this._barMark.getAttribute(sizeAttribute, datum), bandWidth = null !== (_b = null === (_a = axisHelper.getBandwidth) || void 0 === _a ? void 0 : _a.call(axisHelper, this._groups ? this._groups.fields.length - 1 : 0)) && void 0 !== _b ? _b : 6;
190
268
  if ((null === (_d = null === (_c = this._groups) || void 0 === _c ? void 0 : _c.fields) || void 0 === _d ? void 0 : _d.length) > 1 && isValid(this._spec.barGapInGroup)) {
191
269
  const groupFields = this._groups.fields, barInGroup = array(this._spec.barGapInGroup);
192
270
  let totalWidth = 0, offSet = 0;
@@ -208,7 +286,25 @@ export class BarSeries extends CartesianSeries {
208
286
  return "square";
209
287
  }
210
288
  getActiveMarks() {
211
- return [ this._rectMark ];
289
+ return [ this._barMark ];
290
+ }
291
+ compileData() {
292
+ var _a;
293
+ super.compileData(), null === (_a = this._barBackgroundViewData) || void 0 === _a || _a.compile();
294
+ }
295
+ fillData() {
296
+ var _a, _b;
297
+ super.fillData(), null === (_b = null === (_a = this._barBackgroundViewData) || void 0 === _a ? void 0 : _a.getDataView()) || void 0 === _b || _b.reRunAllTransform();
298
+ }
299
+ viewDataUpdate(d) {
300
+ var _a, _b, _c;
301
+ super.viewDataUpdate(d), null === (_b = null === (_a = this._barBackgroundViewData) || void 0 === _a ? void 0 : _a.getDataView()) || void 0 === _b || _b.reRunAllTransform(),
302
+ null === (_c = this._barBackgroundViewData) || void 0 === _c || _c.updateData();
303
+ }
304
+ release() {
305
+ var _a;
306
+ super.release(), null === (_a = this._barBackgroundViewData) || void 0 === _a || _a.release(),
307
+ this._barBackgroundViewData = null;
212
308
  }
213
309
  }
214
310