@visactor/vchart-extension 2.0.4-alpha.6 → 2.0.5-alpha.0

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 (77) hide show
  1. package/build/index.js +2082 -1680
  2. package/build/index.min.js +2 -2
  3. package/cjs/charts/bar-3d/series-spec-transformer.js +2 -1
  4. package/cjs/charts/candlestick/candlestick.js +1 -2
  5. package/cjs/charts/candlestick/index.d.ts +2 -0
  6. package/cjs/charts/candlestick/index.js +2 -1
  7. package/cjs/charts/candlestick/index.js.map +1 -1
  8. package/cjs/charts/candlestick/util.d.ts +2 -0
  9. package/cjs/charts/candlestick/util.js +10 -0
  10. package/cjs/charts/candlestick/util.js.map +1 -0
  11. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.d.ts +14 -0
  12. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +205 -0
  13. package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -0
  14. package/cjs/charts/combination-candlestick/combination-candlestick.d.ts +12 -0
  15. package/cjs/charts/combination-candlestick/combination-candlestick.js +31 -0
  16. package/cjs/charts/combination-candlestick/combination-candlestick.js.map +1 -0
  17. package/cjs/charts/combination-candlestick/constant.d.ts +1 -0
  18. package/cjs/charts/combination-candlestick/constant.js +6 -0
  19. package/cjs/charts/combination-candlestick/constant.js.map +1 -0
  20. package/cjs/charts/combination-candlestick/index.d.ts +3 -0
  21. package/cjs/charts/combination-candlestick/index.js +22 -0
  22. package/cjs/charts/combination-candlestick/index.js.map +1 -0
  23. package/cjs/charts/combination-candlestick/interface.d.ts +12 -0
  24. package/cjs/charts/combination-candlestick/interface.js +6 -0
  25. package/cjs/charts/combination-candlestick/interface.js.map +1 -0
  26. package/cjs/charts/funnel-3d/chart.js +1 -2
  27. package/cjs/charts/funnel-3d/theme.js +2 -1
  28. package/cjs/charts/histogram-3d/index.js +1 -1
  29. package/cjs/charts/histogram-3d/interface.js +1 -1
  30. package/cjs/charts/image-cloud/image-cloud-transformer.js +1 -1
  31. package/cjs/charts/image-cloud/image-cloud.js +1 -1
  32. package/cjs/charts/image-cloud/index.js +1 -1
  33. package/cjs/charts/image-cloud/interface.js +1 -1
  34. package/cjs/charts/image-cloud/series/image-cloud.d.ts +1 -0
  35. package/cjs/charts/image-cloud/series/image-cloud.js +5 -1
  36. package/cjs/charts/image-cloud/series/image-cloud.js.map +1 -1
  37. package/cjs/index.d.ts +1 -0
  38. package/cjs/index.js +2 -2
  39. package/cjs/index.js.map +1 -1
  40. package/esm/charts/bar-3d/series-spec-transformer.js +2 -1
  41. package/esm/charts/candlestick/candlestick.js +1 -2
  42. package/esm/charts/candlestick/index.d.ts +2 -0
  43. package/esm/charts/candlestick/index.js +4 -0
  44. package/esm/charts/candlestick/index.js.map +1 -1
  45. package/esm/charts/candlestick/util.d.ts +2 -0
  46. package/esm/charts/candlestick/util.js +4 -0
  47. package/esm/charts/candlestick/util.js.map +1 -0
  48. package/esm/charts/combination-candlestick/combination-candlestick-transformer.d.ts +14 -0
  49. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +200 -0
  50. package/esm/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -0
  51. package/esm/charts/combination-candlestick/combination-candlestick.d.ts +12 -0
  52. package/esm/charts/combination-candlestick/combination-candlestick.js +29 -0
  53. package/esm/charts/combination-candlestick/combination-candlestick.js.map +1 -0
  54. package/esm/charts/combination-candlestick/constant.d.ts +1 -0
  55. package/esm/charts/combination-candlestick/constant.js +2 -0
  56. package/esm/charts/combination-candlestick/constant.js.map +1 -0
  57. package/esm/charts/combination-candlestick/index.d.ts +3 -0
  58. package/esm/charts/combination-candlestick/index.js +6 -0
  59. package/esm/charts/combination-candlestick/index.js.map +1 -0
  60. package/esm/charts/combination-candlestick/interface.d.ts +12 -0
  61. package/esm/charts/combination-candlestick/interface.js +2 -0
  62. package/esm/charts/combination-candlestick/interface.js.map +1 -0
  63. package/esm/charts/funnel-3d/chart.js +1 -2
  64. package/esm/charts/funnel-3d/theme.js +2 -1
  65. package/esm/charts/histogram-3d/index.js +1 -1
  66. package/esm/charts/histogram-3d/interface.js +1 -1
  67. package/esm/charts/image-cloud/image-cloud-transformer.js +1 -1
  68. package/esm/charts/image-cloud/image-cloud.js +1 -1
  69. package/esm/charts/image-cloud/index.js +1 -1
  70. package/esm/charts/image-cloud/interface.js +1 -1
  71. package/esm/charts/image-cloud/series/image-cloud.d.ts +1 -0
  72. package/esm/charts/image-cloud/series/image-cloud.js +5 -1
  73. package/esm/charts/image-cloud/series/image-cloud.js.map +1 -1
  74. package/esm/index.d.ts +1 -0
  75. package/esm/index.js +2 -0
  76. package/esm/index.js.map +1 -1
  77. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/image-cloud/series/image-cloud.ts"],"names":[],"mappings":"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","file":"image-cloud.js","sourcesContent":["import type { IImageCloudSeriesSpec } from './interface';\nimport { IMAGE_CLOUD_SERIES_TYPE, ImageCloudMarkNameEnum, imageCloudSeriesMark } from './constant';\nimport type { IPoint } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { imagecloudTransform } from '@visactor/vlayouts';\nimport type { GridLayoutConfig } from '@visactor/vlayouts';\nimport { registerImageCloudAnimation } from './animation';\nimport { ImageCloudTooltipHelper } from './tooltip-helper';\nimport { createImage } from '@visactor/vrender-core';\nimport type { Datum, IImageMark, IMark, IRectMark } from '@visactor/vchart';\nimport {\n animationConfig,\n AttributeLevel,\n BaseSeries,\n DEFAULT_DATA_KEY,\n Factory,\n registerImageMark,\n userAnimationConfig,\n vglobal\n} from '@visactor/vchart';\n\nexport class ImageCloudSeries<T extends IImageCloudSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = IMAGE_CLOUD_SERIES_TYPE;\n type = IMAGE_CLOUD_SERIES_TYPE;\n\n static readonly mark = imageCloudSeriesMark;\n\n protected _urlField: string;\n protected _nameField?: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n\n protected _imageMark?: IImageMark;\n protected _maskMark?: IRectMark;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._nameField = this._spec.nameField;\n this._valueField = this._spec.valueField;\n this._urlField = this._spec.urlField;\n }\n\n initMark() {\n if (this._spec.imageMask?.visible) {\n this._maskMark = this._createMark(imageCloudSeriesMark.imageMask, {\n dataView: false,\n skipBeforeLayouted: true\n }) as IRectMark;\n }\n\n this._imageMark = this._createMark(imageCloudSeriesMark.image, {\n key: datum => `${datum[DEFAULT_DATA_KEY]}-${datum.frequency}`,\n isSeriesMark: true,\n skipBeforeLayouted: true\n }) as IImageMark;\n }\n\n initMarkStyle() {\n this._initImageMarkStyle();\n this._initMaskMarkStyle();\n }\n\n protected _initImageMarkStyle() {\n if (!this._imageMark) {\n return;\n }\n\n this._imageMark.setTransform([\n {\n type: 'imagecloud',\n ...this._imageCloudTransformOption()\n }\n ]);\n\n this.setMarkStyle(\n this._imageMark,\n {\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n width: (datum: Datum) => datum.width,\n height: (datum: Datum) => datum.height,\n visible: (datum: Datum) => datum.visible,\n angle: (datum: Datum) => datum.angle,\n clipConfig: (datum: Datum) => datum.clipConfig,\n image: (datum: Datum) => datum[this._urlField],\n scaleCenter: ['50%', '50%']\n },\n 'normal',\n AttributeLevel.Series\n );\n\n const isMasked = (this._spec.layoutConfig as GridLayoutConfig)?.placement === 'masked';\n if (isMasked) {\n this.setMarkStyle(\n this._imageMark,\n {\n globalCompositeOperation: 'source-atop'\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n this._rootMark,\n {\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n globalCompositeOperation: 'destination-in',\n clip: true,\n drawMode: 1\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n if (this._spec.layoutConfig?.layoutMode === 'stack') {\n this.setMarkStyle(\n this._imageMark,\n {\n stroke: 'white',\n lineWidth: 2,\n shadowBlur: 6,\n shadowColor: 'grey'\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected isFillingImage(datum: Datum) {\n return datum._frequency > 1;\n }\n\n protected _initMaskMarkStyle() {\n if (!this._maskMark) {\n return;\n }\n this._maskMark.setMarkConfig({ interactive: false });\n this.setMarkStyle(\n this._maskMark,\n {\n width: () => {\n return this._region.getLayoutRect().width;\n },\n height: () => {\n return this._region.getLayoutRect().height;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n protected initTooltip(): void {\n this._tooltipHelper = new ImageCloudTooltipHelper(this);\n this._imageMark && this._tooltipHelper.activeTriggerSet.mark.add(this._imageMark);\n }\n\n protected _imageCloudTransformOption() {\n return {\n size: () => {\n const { width, height } = this._region.getLayoutRect();\n return [width, height];\n },\n image: { field: this._urlField },\n weight: { field: this._valueField },\n imageConfig: {\n imageSize: this._spec.imageSize,\n imageSizeRange: this._spec.imageSizeRange,\n padding: this._spec.image?.padding\n },\n ratio: this._spec.ratio,\n mask: this._spec.maskShape,\n maskConfig: this._spec.imageMask,\n layoutConfig: this._spec.layoutConfig,\n createCanvas: vglobal.createCanvas.bind(vglobal),\n createImage,\n onUpdateMaskCanvas: ((inputImage?: HTMLCanvasElement, maskImage?: HTMLCanvasElement) => {\n if (inputImage && this._maskMark) {\n this._maskMark\n .getProduct()\n .getChildren()\n .forEach((element: any) => {\n element.setAttribute('background', inputImage);\n });\n }\n if (maskImage && (this._spec.layoutConfig as GridLayoutConfig)?.placement === 'masked') {\n this._rootMark.getProduct().setAttribute('background', maskImage);\n }\n }).bind(this)\n };\n }\n\n protected _buildMarkAttributeContext(): void {\n super._buildMarkAttributeContext();\n this._markAttributeContext.isFillingImage = this.isFillingImage.bind(this);\n }\n\n initAnimation(): void {\n [this._imageMark].forEach(mark => {\n if (mark) {\n const appearPreset = (this._spec?.animationAppear as any)?.preset;\n const params = {\n center: () => {\n const { width, height } = this._region.getLayoutRect();\n return { x: width / 2, y: height / 2 };\n },\n height: () => {\n const { height } = this._region.getLayoutRect();\n return height;\n }\n };\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('imageCloud')(params, appearPreset),\n userAnimationConfig(ImageCloudMarkNameEnum.image, this._spec, this._markAttributeContext)\n )\n );\n }\n });\n }\n\n getDimensionField(): string[] {\n return [this._nameField ?? this._spec.urlField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n\n getActiveMarks(): IMark[] {\n return [this._imageMark];\n }\n\n getMarkData(datum: Datum) {\n return datum?.datum ?? datum;\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n dataToPosition(data: Datum): IPoint | null {\n return null;\n }\n\n dataToPositionX(data: Datum): number | null {\n return this.dataToPosition(data)?.x;\n }\n dataToPositionY(data: Datum): number | null {\n return this.dataToPosition(data)?.y;\n }\n\n valueToPosition(value1: any, value2?: any): null {\n return null;\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n}\n\nexport const registerImageCloudSeries = () => {\n registerImageMark();\n registerImageCloudAnimation();\n Factory.registerSeries(ImageCloudSeries.type, ImageCloudSeries);\n Factory.registerGrammarTransform('imagecloud', {\n transform: imagecloudTransform\n });\n};\n"]}
1
+ {"version":3,"sources":["../src/charts/image-cloud/series/image-cloud.ts"],"names":[],"mappings":"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","file":"image-cloud.js","sourcesContent":["import type { IImageCloudSeriesSpec } from './interface';\nimport { IMAGE_CLOUD_SERIES_TYPE, ImageCloudMarkNameEnum, imageCloudSeriesMark } from './constant';\nimport type { IPoint } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { imagecloudTransform } from '@visactor/vlayouts';\nimport type { GridLayoutConfig } from '@visactor/vlayouts';\nimport { registerImageCloudAnimation } from './animation';\nimport { ImageCloudTooltipHelper } from './tooltip-helper';\nimport { createImage } from '@visactor/vrender-core';\nimport type { Datum, IImageMark, IMark, IRectMark } from '@visactor/vchart';\nimport {\n animationConfig,\n AttributeLevel,\n BaseSeries,\n DEFAULT_DATA_KEY,\n Factory,\n registerImageMark,\n userAnimationConfig,\n vglobal\n} from '@visactor/vchart';\n\nexport class ImageCloudSeries<T extends IImageCloudSeriesSpec> extends BaseSeries<T> {\n static readonly type: string = IMAGE_CLOUD_SERIES_TYPE;\n type = IMAGE_CLOUD_SERIES_TYPE;\n\n static readonly mark = imageCloudSeriesMark;\n\n protected _urlField: string;\n protected _nameField?: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n }\n }\n\n protected _imageMark?: IImageMark;\n protected _maskMark?: IRectMark;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._nameField = this._spec.nameField;\n this._valueField = this._spec.valueField;\n this._urlField = this._spec.urlField;\n }\n\n initMark() {\n if (this._spec.imageMask?.visible) {\n this._maskMark = this._createMark(imageCloudSeriesMark.imageMask, {\n dataView: false,\n skipBeforeLayouted: true\n }) as IRectMark;\n }\n\n this._imageMark = this._createMark(imageCloudSeriesMark.image, {\n key: datum => `${datum[DEFAULT_DATA_KEY]}-${datum.frequency}`,\n isSeriesMark: true,\n skipBeforeLayouted: true\n }) as IImageMark;\n }\n\n initMarkStyle() {\n this._initImageMarkStyle();\n this._initMaskMarkStyle();\n }\n\n protected _initImageMarkStyle() {\n if (!this._imageMark) {\n return;\n }\n\n this._imageMark.setTransform([\n {\n type: 'imagecloud',\n ...this._imageCloudTransformOption()\n }\n ]);\n\n this.setMarkStyle(\n this._imageMark,\n {\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n width: (datum: Datum) => datum.width,\n height: (datum: Datum) => datum.height,\n visible: (datum: Datum) => datum.visible,\n angle: (datum: Datum) => datum.angle,\n clipConfig: (datum: Datum) => datum.clipConfig,\n image: (datum: Datum) => datum[this._urlField],\n scaleCenter: ['50%', '50%']\n },\n 'normal',\n AttributeLevel.Series\n );\n\n const isMasked = (this._spec.layoutConfig as GridLayoutConfig)?.placement === 'masked';\n if (isMasked) {\n this.setMarkStyle(\n this._imageMark,\n {\n globalCompositeOperation: 'source-atop'\n },\n 'normal',\n AttributeLevel.Series\n );\n this.setMarkStyle(\n this._rootMark,\n {\n width: () => this._region.getLayoutRect().width,\n height: () => this._region.getLayoutRect().height,\n globalCompositeOperation: 'destination-in',\n clip: true,\n drawMode: 1\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n if (this._spec.layoutConfig?.layoutMode === 'stack') {\n this.setMarkStyle(\n this._imageMark,\n {\n stroke: 'white',\n lineWidth: 2,\n shadowBlur: 6,\n shadowColor: 'grey'\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n protected isFillingImage(datum: Datum) {\n return datum._frequency > 1;\n }\n\n protected _initMaskMarkStyle() {\n if (!this._maskMark) {\n return;\n }\n this._maskMark.setMarkConfig({ interactive: false });\n this.setMarkStyle(\n this._maskMark,\n {\n width: () => {\n return this._region.getLayoutRect().width;\n },\n height: () => {\n return this._region.getLayoutRect().height;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n protected initTooltip(): void {\n this._tooltipHelper = new ImageCloudTooltipHelper(this);\n this._imageMark && this._tooltipHelper.activeTriggerSet.mark.add(this._imageMark);\n }\n\n protected _imageCloudTransformOption() {\n return {\n size: () => {\n const { width, height } = this._region.getLayoutRect();\n return [width, height];\n },\n image: { field: this._urlField },\n weight: { field: this._valueField },\n imageConfig: {\n imageSize: this._spec.imageSize,\n imageSizeRange: this._spec.imageSizeRange,\n padding: this._spec.image?.padding\n },\n ratio: this._spec.ratio,\n mask: this._spec.maskShape,\n maskConfig: this._spec.imageMask,\n layoutConfig: this._spec.layoutConfig,\n createCanvas: vglobal.createCanvas.bind(vglobal),\n createImage,\n onUpdateMaskCanvas: ((inputImage?: HTMLCanvasElement, maskImage?: HTMLCanvasElement) => {\n if (inputImage && this._maskMark) {\n this._maskMark\n .getProduct()\n .getChildren()\n .forEach((element: any) => {\n element.setAttribute('background', inputImage);\n });\n }\n if (maskImage && (this._spec.layoutConfig as GridLayoutConfig)?.placement === 'masked') {\n this._rootMark.getProduct().setAttribute('background', maskImage);\n }\n }).bind(this),\n onLayoutFinished: () =>\n this._option.globalInstance\n .getChart()\n .getOption()\n .performanceHook?.afterWordcloudShapeDraw?.(this._option.globalInstance)\n };\n }\n\n protected _buildMarkAttributeContext(): void {\n super._buildMarkAttributeContext();\n this._markAttributeContext.isFillingImage = this.isFillingImage.bind(this);\n }\n\n initAnimation(): void {\n [this._imageMark].forEach(mark => {\n if (mark) {\n const appearPreset = (this._spec?.animationAppear as any)?.preset;\n const params = {\n center: () => {\n const { width, height } = this._region.getLayoutRect();\n return { x: width / 2, y: height / 2 };\n },\n height: () => {\n const { height } = this._region.getLayoutRect();\n return height;\n }\n };\n mark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('imageCloud')(params, appearPreset),\n userAnimationConfig(ImageCloudMarkNameEnum.image, this._spec, this._markAttributeContext)\n )\n );\n }\n });\n }\n\n getDimensionField(): string[] {\n return [this._nameField ?? this._spec.urlField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n\n getActiveMarks(): IMark[] {\n return [this._imageMark];\n }\n\n getMarkData(datum: Datum) {\n return datum?.datum ?? datum;\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n dataToPosition(data: Datum): IPoint | null {\n return null;\n }\n\n dataToPositionX(data: Datum): number | null {\n return this.dataToPosition(data)?.x;\n }\n dataToPositionY(data: Datum): number | null {\n return this.dataToPosition(data)?.y;\n }\n\n valueToPosition(value1: any, value2?: any): null {\n return null;\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n}\n\nexport const registerImageCloudSeries = () => {\n registerImageMark();\n registerImageCloudAnimation();\n Factory.registerSeries(ImageCloudSeries.type, ImageCloudSeries);\n Factory.registerGrammarTransform('imagecloud', {\n transform: imagecloudTransform\n });\n};\n"]}
package/cjs/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './charts/bar-3d';
8
8
  export * from './charts/funnel-3d';
9
9
  export * from './charts/histogram-3d';
10
10
  export * from './charts/pie-3d';
11
+ export * from './charts/combination-candlestick';
11
12
  export * from './charts/word-cloud-3d';
12
13
  export * from './charts/axis-3d';
13
14
  export * from './charts/range-column-3d';
package/cjs/index.js CHANGED
@@ -24,8 +24,8 @@ __exportStar(require("./charts/sequence-scatter-kde/sequence-scatter-kde"), expo
24
24
  __exportStar(require("./charts/sequence-scatter-pixel/sequence-scatter-pixel"), exports),
25
25
  __exportStar(require("./charts/bar-3d"), exports), __exportStar(require("./charts/funnel-3d"), exports),
26
26
  __exportStar(require("./charts/histogram-3d"), exports), __exportStar(require("./charts/pie-3d"), exports),
27
- __exportStar(require("./charts/word-cloud-3d"), exports), __exportStar(require("./charts/axis-3d"), exports),
28
- __exportStar(require("./charts/range-column-3d"), exports);
27
+ __exportStar(require("./charts/combination-candlestick"), exports), __exportStar(require("./charts/word-cloud-3d"), exports),
28
+ __exportStar(require("./charts/axis-3d"), exports), __exportStar(require("./charts/range-column-3d"), exports);
29
29
 
30
30
  var plugin_1 = require("./charts/3d/plugin");
31
31
 
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,uFAAqE;AACrE,qFAAmE;AACnE,yFAAuE;AAEvE,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,yDAAuC;AACvC,mDAAiC;AACjC,2DAAyC;AACzC,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AAErC,4DAA0C;AAC1C,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\nexport * from './charts/sequence-scatter-link/sequence-scatter-link';\nexport * from './charts/sequence-scatter-kde/sequence-scatter-kde';\nexport * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';\n\nexport * from './charts/bar-3d';\nexport * from './charts/funnel-3d';\nexport * from './charts/histogram-3d';\nexport * from './charts/pie-3d';\nexport * from './charts/word-cloud-3d';\nexport * from './charts/axis-3d';\nexport * from './charts/range-column-3d';\nexport { register3DPlugin } from './charts/3d/plugin';\nexport * from './charts/pictogram';\nexport * from './charts/image-cloud';\nexport * from './charts/candlestick';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\nexport * from './components/map-label';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mEAAiD;AACjD,qEAAmD;AACnD,6DAA2C;AAC3C,uFAAqE;AACrE,qFAAmE;AACnE,yFAAuE;AAEvE,kDAAgC;AAChC,qDAAmC;AACnC,wDAAsC;AACtC,kDAAgC;AAChC,mEAAiD;AACjD,yDAAuC;AACvC,mDAAiC;AACjC,2DAAyC;AACzC,6CAAsD;AAA7C,0GAAA,gBAAgB,OAAA;AACzB,qDAAmC;AACnC,uDAAqC;AACrC,uDAAqC;AAErC,4DAA0C;AAC1C,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/ranking-list/ranking-list';\nexport * from './charts/conversion-funnel';\nexport * from './charts/sequence-scatter-link/sequence-scatter-link';\nexport * from './charts/sequence-scatter-kde/sequence-scatter-kde';\nexport * from './charts/sequence-scatter-pixel/sequence-scatter-pixel';\n\nexport * from './charts/bar-3d';\nexport * from './charts/funnel-3d';\nexport * from './charts/histogram-3d';\nexport * from './charts/pie-3d';\nexport * from './charts/combination-candlestick';\nexport * from './charts/word-cloud-3d';\nexport * from './charts/axis-3d';\nexport * from './charts/range-column-3d';\nexport { register3DPlugin } from './charts/3d/plugin';\nexport * from './charts/pictogram';\nexport * from './charts/image-cloud';\nexport * from './charts/candlestick';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\nexport * from './components/map-label';\n"]}
@@ -4,4 +4,5 @@ export class Bar3dSeriesSpecTransformer extends BarSeriesSpecTransformer {
4
4
  _transformLabelSpec(spec) {
5
5
  this._addMarkLabelSpec(spec, "bar3d");
6
6
  }
7
- }
7
+ }
8
+ //# sourceMappingURL=series-spec-transformer.js.map
@@ -19,5 +19,4 @@ CandlestickChart.transformerConstructor = CandlestickChartSpecTransformer;
19
19
  export const registerCandlestickChart = () => {
20
20
  registerDimensionTooltipProcessor(), registerMarkTooltipProcessor(), registerDimensionEvents(),
21
21
  registerDimensionHover(), registerCandlestickSeries(), Factory.registerChart(CandlestickChart.type, CandlestickChart);
22
- };
23
- //# sourceMappingURL=candlestick.js.map
22
+ };
@@ -1,3 +1,5 @@
1
1
  export * from './candlestick';
2
2
  export * from './interface';
3
3
  export * from './candlestick-transformer';
4
+ export * from './series/candlestick';
5
+ export * from './util';
@@ -3,4 +3,8 @@ export * from "./candlestick";
3
3
  export * from "./interface";
4
4
 
5
5
  export * from "./candlestick-transformer";
6
+
7
+ export * from "./series/candlestick";
8
+
9
+ export * from "./util";
6
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charts/candlestick/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC","file":"index.js","sourcesContent":["export * from './candlestick';\nexport * from './interface';\nexport * from './candlestick-transformer';\n"]}
1
+ {"version":3,"sources":["../src/charts/candlestick/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["export * from './candlestick';\nexport * from './interface';\nexport * from './candlestick-transformer';\nexport * from './series/candlestick';\nexport * from './util';\n"]}
@@ -0,0 +1,2 @@
1
+ import type { ICandlestickSeriesSpec } from './series/interface';
2
+ export declare function transformCandlestickSeriesSpec(spec: ICandlestickSeriesSpec): void;
@@ -0,0 +1,4 @@
1
+ export function transformCandlestickSeriesSpec(spec) {
2
+ spec.yField = [ spec.openField, spec.highField, spec.lowField, spec.closeField ];
3
+ }
4
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/candlestick/util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,8BAA8B,CAAC,IAA4B;IACxE,IAA6B,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3G,CAAC","file":"util.js","sourcesContent":["import type { ICartesianSeriesSpec } from '@visactor/vchart';\nimport type { ICandlestickSeriesSpec } from './series/interface';\nexport function transformCandlestickSeriesSpec(spec: ICandlestickSeriesSpec) {\n (spec as ICartesianSeriesSpec).yField = [spec.openField, spec.highField, spec.lowField, spec.closeField];\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import { CartesianChartSpecTransformer } from '@visactor/vchart';
2
+ import type { ICombinationCandlestickChartSpec } from './interface';
3
+ export declare class CombinationCandlestickChartSpecTransformer<T extends ICombinationCandlestickChartSpec> extends CartesianChartSpecTransformer<T> {
4
+ protected needAxes(): boolean;
5
+ transformSpec(spec: T): void;
6
+ transformRegion(spec: T): void;
7
+ transformSeriesSpec(spec: T): void;
8
+ private _transformSeriesData;
9
+ protected _transformAxisSpec(spec: T): void;
10
+ protected _transformDataZoomSpec(spec: T): void;
11
+ protected _transformLayout(spec: T): void;
12
+ private _layoutOrientItem;
13
+ private _getLayoutElementCommon;
14
+ }
@@ -0,0 +1,200 @@
1
+ import { CartesianChartSpecTransformer, isPercent } from "@visactor/vchart";
2
+
3
+ import { merge, array } from "@visactor/vutils";
4
+
5
+ import { transformCandlestickSeriesSpec } from "../candlestick";
6
+
7
+ export class CombinationCandlestickChartSpecTransformer extends CartesianChartSpecTransformer {
8
+ needAxes() {
9
+ return !0;
10
+ }
11
+ transformSpec(spec) {
12
+ this.transformRegion(spec), void 0 === spec.tooltip && (spec.tooltip = {}), this.transformSeriesSpec(spec),
13
+ this._transformAxisSpec(spec), this._transformLayout(spec);
14
+ }
15
+ transformRegion(spec) {
16
+ var _a, _b;
17
+ const commonSpec = spec;
18
+ commonSpec.region = [ null !== (_a = spec.candlestickRegion) && void 0 !== _a ? _a : {} ],
19
+ spec.previewSeries && commonSpec.region.push(null !== (_b = spec.previewRegion) && void 0 !== _b ? _b : {});
20
+ }
21
+ transformSeriesSpec(spec) {
22
+ var _a;
23
+ spec.series = null !== (_a = spec.series) && void 0 !== _a ? _a : [], spec.series.forEach((s => {
24
+ this._transformSeriesData(spec, s), s.regionIndex = 0;
25
+ }));
26
+ const tempCandlestickSeries = spec.series.find((s => s.id === spec.candlestickSeries.id));
27
+ let candlestickSpec;
28
+ if (tempCandlestickSeries ? (merge(tempCandlestickSeries, spec.candlestickSeries),
29
+ candlestickSpec = tempCandlestickSeries) : (spec.series.push(spec.candlestickSeries),
30
+ candlestickSpec = spec.candlestickSeries), transformCandlestickSeriesSpec(candlestickSpec),
31
+ this._transformSeriesData(spec, candlestickSpec), candlestickSpec.regionIndex = 0,
32
+ spec.previewSeries) {
33
+ const tempPreviewSeries = spec.series.find((s => s.id === spec.previewSeries.id));
34
+ let previewSeriesSpec;
35
+ tempPreviewSeries ? (merge(tempPreviewSeries, spec.previewSeries), previewSeriesSpec = tempPreviewSeries) : (spec.series.push(spec.previewSeries),
36
+ previewSeriesSpec = spec.previewSeries), previewSeriesSpec.regionIndex = 1, this._transformSeriesData(spec, previewSeriesSpec);
37
+ }
38
+ }
39
+ _transformSeriesData(spec, seriesSpec) {
40
+ var _a;
41
+ seriesSpec.data && (spec.data = array(null !== (_a = spec.data) && void 0 !== _a ? _a : []),
42
+ array(seriesSpec.data).forEach(((d, index) => {
43
+ spec.data.push(d), 0 === index && (seriesSpec.dataIndex = spec.data.length - 1,
44
+ "id" in d ? seriesSpec.dataId = d.id : "name" in d && (seriesSpec.dataId = d.name));
45
+ })), delete seriesSpec.data);
46
+ }
47
+ _transformAxisSpec(spec) {
48
+ super._transformAxisSpec(spec), spec.previewSeries && (spec.previewAxes || (spec.previewAxes = {
49
+ type: "linear",
50
+ orient: "left",
51
+ visible: !1
52
+ }), spec.previewAxes.regionIndex = [ 1 ], spec.axes.push(spec.previewAxes), spec.axes.forEach((axis => {
53
+ axis !== spec.previewAxes && ("left" !== axis.orient && "right" !== axis.orient || (axis.regionIndex = [ 0 ]));
54
+ })));
55
+ }
56
+ _transformDataZoomSpec(spec) {
57
+ spec.dataZoom && array(spec.dataZoom).forEach((dataZoom => {
58
+ "left" !== dataZoom.orient && "right" !== dataZoom.orient || (dataZoom.regionIndex = [ 0 ]);
59
+ }));
60
+ }
61
+ _transformLayout(spec) {
62
+ var _a, _b;
63
+ const layout = {
64
+ type: "grid",
65
+ col: 2,
66
+ row: 6,
67
+ elements: [],
68
+ colWidth: [],
69
+ rowHeight: []
70
+ };
71
+ let totalRow = 0, totalCol = 0;
72
+ if (!1 !== (null === (_a = spec.title) || void 0 === _a ? void 0 : _a.visible) && totalRow++,
73
+ spec.legends) {
74
+ const firstLegend = array(spec.legends)[0];
75
+ !1 !== (null == firstLegend ? void 0 : firstLegend.visible) && ("top" === firstLegend.orient || "bottom" === firstLegend.orient ? totalRow++ : totalCol++);
76
+ }
77
+ if (spec.dataZoom && array(spec.dataZoom).forEach((dataZoom => {
78
+ !1 !== (null == dataZoom ? void 0 : dataZoom.visible) && ("top" === dataZoom.orient || "bottom" === dataZoom.orient ? totalRow++ : totalCol++);
79
+ })), spec.axes) {
80
+ const hasLayout = {
81
+ top: !1,
82
+ bottom: !1,
83
+ left: !1,
84
+ right: !1,
85
+ z: !1
86
+ };
87
+ array(spec.axes).forEach((axis => {
88
+ hasLayout[axis.orient] || (hasLayout[axis.orient] = !0, "top" === axis.orient || "bottom" === axis.orient ? totalRow++ : totalCol++);
89
+ }));
90
+ }
91
+ totalRow++, totalCol++, spec.previewSeries && totalRow++, layout.row = totalRow,
92
+ layout.col = totalCol;
93
+ const temp = {
94
+ top: 0,
95
+ bottom: 0,
96
+ left: 0,
97
+ right: 0
98
+ };
99
+ if (!1 !== (null === (_b = spec.title) || void 0 === _b ? void 0 : _b.visible) && this._layoutOrientItem(layout, spec.title, temp, {
100
+ specKey: "title",
101
+ index: 0
102
+ }, "total"), spec.legends) {
103
+ const firstLegend = array(spec.legends)[0];
104
+ !1 !== (null == firstLegend ? void 0 : firstLegend.visible) && this._layoutOrientItem(layout, firstLegend, temp, {
105
+ specKey: "legends",
106
+ index: 0
107
+ }, "less");
108
+ }
109
+ if (spec.dataZoom && array(spec.dataZoom).forEach(((dataZoom, index) => {
110
+ !1 !== (null == dataZoom ? void 0 : dataZoom.visible) && this._layoutOrientItem(layout, dataZoom, temp, {
111
+ specKey: "dataZoom",
112
+ index: index
113
+ }, "one");
114
+ })), spec.axes) {
115
+ const hasLayout = {
116
+ left: !1,
117
+ right: !1
118
+ };
119
+ spec.axes.forEach(((axis, index) => {
120
+ "left" !== axis.orient && "right" !== axis.orient || hasLayout[axis.orient] || (hasLayout[axis.orient] = !0,
121
+ this._layoutOrientItem(layout, axis, temp, {
122
+ specKey: "axes",
123
+ index: index
124
+ }, "one"));
125
+ }));
126
+ }
127
+ const regionLayout = this._layoutOrientItem(layout, {
128
+ orient: "top"
129
+ }, temp, {
130
+ specKey: "region",
131
+ index: 0
132
+ }, "one");
133
+ if (spec.previewSeries) {
134
+ const regionLayout = this._layoutOrientItem(layout, {
135
+ orient: "bottom"
136
+ }, temp, {
137
+ specKey: "region",
138
+ index: 1
139
+ }, "one"), previewAxesIndex = spec.axes.findIndex((axis => axis === spec.previewAxes));
140
+ if (-1 !== previewAxesIndex) {
141
+ const previewAxesLayout = {
142
+ col: regionLayout.col - 1,
143
+ row: regionLayout.row,
144
+ modelKey: "axes",
145
+ modelIndex: previewAxesIndex
146
+ };
147
+ layout.elements.push(previewAxesLayout);
148
+ }
149
+ if (spec.previewHeight) if ("string" == typeof spec.previewHeight) {
150
+ if (isPercent(spec.previewHeight)) {
151
+ const heightStr = spec.previewHeight;
152
+ layout.rowHeight.push({
153
+ index: regionLayout.row,
154
+ size: size => Number(heightStr.substring(0, heightStr.length - 1)) * size / 100
155
+ });
156
+ }
157
+ } else layout.rowHeight.push({
158
+ index: regionLayout.row,
159
+ size: spec.previewHeight
160
+ });
161
+ }
162
+ const bottomAxesIndex = spec.axes.findIndex((axis => "bottom" === axis.orient));
163
+ this._layoutOrientItem(layout, spec.axes[bottomAxesIndex], temp, {
164
+ specKey: "axes",
165
+ index: bottomAxesIndex
166
+ }, "one"), spec.axes.forEach(((axis, index) => {
167
+ if (axis === spec.previewAxes) return;
168
+ const axisLayout = layout.elements.find((item => "modelKey" in item && "axes" === item.modelKey && item.modelIndex === index));
169
+ axisLayout && ("top" === axis.orient || "bottom" === axis.orient ? axisLayout.col = regionLayout.col : axisLayout.row = regionLayout.row);
170
+ })), array(spec.dataZoom).forEach(((dataZoom, index) => {
171
+ const dataZoomLayout = layout.elements.find((item => "modelKey" in item && "dataZoom" === item.modelKey && item.modelIndex === index));
172
+ dataZoomLayout && ("top" === dataZoom.orient || "bottom" === dataZoom.orient ? dataZoomLayout.col = regionLayout.col : dataZoomLayout.row = regionLayout.row);
173
+ })), spec.layout = layout;
174
+ }
175
+ _layoutOrientItem(layout, modelSpec, temp, modelInfo, spanType) {
176
+ var _a;
177
+ const modelLayout = {
178
+ modelKey: modelInfo.specKey,
179
+ modelIndex: modelInfo.index,
180
+ col: 0,
181
+ row: 0
182
+ }, orient = null !== (_a = modelSpec.orient) && void 0 !== _a ? _a : "top", {span: span, index: index} = this._getLayoutElementCommon(layout, temp, spanType, orient);
183
+ return layout.elements.push(modelLayout), "top" === orient ? (modelLayout.row = temp.top,
184
+ modelLayout.rowSpan = 1, modelLayout.colSpan = span, modelLayout.col = index, temp.top++) : "bottom" === orient ? (modelLayout.row = layout.row - temp.bottom - 1,
185
+ modelLayout.rowSpan = 1, modelLayout.colSpan = span, modelLayout.col = index, temp.bottom++) : "left" === orient ? (modelLayout.col = temp.left,
186
+ modelLayout.colSpan = 1, modelLayout.rowSpan = span, modelLayout.row = index, temp.left++) : "right" === orient && (modelLayout.col = layout.col - temp.right - 1,
187
+ modelLayout.colSpan = 1, modelLayout.rowSpan = span, modelLayout.row = index, temp.right++),
188
+ modelLayout;
189
+ }
190
+ _getLayoutElementCommon(layout, temp, span, orient) {
191
+ return "top" === orient || "bottom" === orient ? {
192
+ span: "total" === span ? layout.col : "one" === span ? 1 : layout.col - temp.left - temp.right,
193
+ index: "total" === span ? 0 : temp.left
194
+ } : {
195
+ span: "total" === span ? layout.row : "one" === span ? 1 : layout.row - temp.top - temp.bottom,
196
+ index: "total" === span ? 0 : temp.top
197
+ };
198
+ }
199
+ }
200
+ //# sourceMappingURL=combination-candlestick-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/combination-candlestick/combination-candlestick-transformer.ts"],"names":[],"mappings":"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","file":"combination-candlestick-transformer.js","sourcesContent":["import type { ICommonChartSpec, ICartesianSeriesSpec, IDataType, IGridLayoutSpec, IOrientType } from '@visactor/vchart';\nimport { CartesianChartSpecTransformer, isPercent } from '@visactor/vchart';\nimport type { ICombinationCandlestickChartSpec } from './interface';\nimport { merge, array } from '@visactor/vutils';\nimport { transformCandlestickSeriesSpec } from '../candlestick';\nimport type { ICandlestickSeriesSpec } from '../candlestick/series/interface';\n\n/**\n * @description 组合蜡烛图 spec a转换\n */\nexport class CombinationCandlestickChartSpecTransformer<\n T extends ICombinationCandlestickChartSpec\n> extends CartesianChartSpecTransformer<T> {\n protected needAxes(): boolean {\n return true;\n }\n\n transformSpec(spec: T): void {\n this.transformRegion(spec);\n if (spec.tooltip === undefined) {\n spec.tooltip = {};\n }\n this.transformSeriesSpec(spec);\n this._transformAxisSpec(spec);\n this._transformLayout(spec);\n }\n\n transformRegion(spec: T): void {\n const commonSpec = spec as unknown as ICommonChartSpec;\n commonSpec.region = [spec.candlestickRegion ?? {}];\n if (spec.previewSeries) {\n commonSpec.region.push(spec.previewRegion ?? {});\n }\n }\n\n transformSeriesSpec(spec: T): void {\n // 单独的系列转换\n spec.series = spec.series ?? [];\n spec.series.forEach(s => {\n this._transformSeriesData(spec, s);\n s.regionIndex = 0;\n });\n const tempCandlestickSeries = spec.series.find(s => s.id === spec.candlestickSeries.id) as ICandlestickSeriesSpec;\n let candlestickSpec;\n if (tempCandlestickSeries) {\n merge(tempCandlestickSeries, spec.candlestickSeries);\n candlestickSpec = tempCandlestickSeries;\n } else {\n spec.series.push(spec.candlestickSeries);\n candlestickSpec = spec.candlestickSeries;\n }\n transformCandlestickSeriesSpec(candlestickSpec);\n this._transformSeriesData(spec, candlestickSpec);\n candlestickSpec.regionIndex = 0;\n\n if (spec.previewSeries) {\n const tempPreviewSeries = spec.series.find(s => s.id === spec.previewSeries.id);\n let previewSeriesSpec;\n if (tempPreviewSeries) {\n merge(tempPreviewSeries, spec.previewSeries);\n previewSeriesSpec = tempPreviewSeries;\n } else {\n spec.series.push(spec.previewSeries);\n previewSeriesSpec = spec.previewSeries;\n }\n previewSeriesSpec.regionIndex = 1;\n this._transformSeriesData(spec, previewSeriesSpec);\n }\n }\n\n private _transformSeriesData(spec: T, seriesSpec: ICartesianSeriesSpec) {\n if (seriesSpec.data) {\n spec.data = array(spec.data ?? []);\n array(seriesSpec.data).forEach((d, index) => {\n (spec.data as IDataType[]).push(d);\n if (index === 0) {\n seriesSpec.dataIndex = (spec.data as IDataType[]).length - 1;\n if ('id' in d) {\n seriesSpec.dataId = d.id;\n } else if ('name' in d) {\n seriesSpec.dataId = d.name;\n }\n }\n });\n delete seriesSpec.data;\n }\n }\n\n protected _transformAxisSpec(spec: T) {\n super._transformAxisSpec(spec);\n if (!spec.previewSeries) {\n return;\n }\n if (!spec.previewAxes) {\n spec.previewAxes = {\n type: 'linear',\n orient: 'left',\n visible: false\n };\n }\n spec.previewAxes.regionIndex = [1];\n spec.axes.push(spec.previewAxes);\n\n spec.axes.forEach(axis => {\n if (axis === spec.previewAxes) {\n return;\n }\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.regionIndex = [0];\n }\n });\n }\n\n protected _transformDataZoomSpec(spec: T) {\n if (spec.dataZoom) {\n array(spec.dataZoom).forEach(dataZoom => {\n if (dataZoom.orient === 'left' || dataZoom.orient === 'right') {\n dataZoom.regionIndex = [0];\n }\n });\n }\n }\n\n protected _transformLayout(spec: T) {\n const layout: IGridLayoutSpec = {\n type: 'grid',\n col: 2,\n row: 6,\n elements: [],\n colWidth: [],\n rowHeight: []\n };\n // 创建布局的临时计算属性\n let totalRow = 0;\n let totalCol = 0;\n // 先获取总计的行和列\n // 如果有 title\n if (spec.title?.visible !== false) {\n totalRow++;\n }\n // 图例\n if (spec.legends) {\n const firstLegend = array(spec.legends)[0];\n if (firstLegend?.visible !== false) {\n if (firstLegend.orient === 'top' || firstLegend.orient === 'bottom') {\n totalRow++;\n } else {\n totalCol++;\n }\n }\n }\n // datazoom\n if (spec.dataZoom) {\n array(spec.dataZoom).forEach(dataZoom => {\n if (dataZoom?.visible !== false) {\n if (dataZoom.orient === 'top' || dataZoom.orient === 'bottom') {\n totalRow++;\n } else {\n totalCol++;\n }\n }\n });\n }\n // 轴\n if (spec.axes) {\n const hasLayout = {\n top: false,\n bottom: false,\n left: false,\n right: false,\n z: false\n };\n array(spec.axes).forEach(axis => {\n if (hasLayout[axis.orient]) {\n return;\n }\n hasLayout[axis.orient] = true;\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n totalRow++;\n } else {\n totalCol++;\n }\n });\n }\n // 系列\n totalRow++;\n totalCol++;\n // 预览系列\n if (spec.previewSeries) {\n totalRow++;\n }\n layout.row = totalRow;\n layout.col = totalCol;\n\n const temp = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n // 开始布局\n if (spec.title?.visible !== false) {\n this._layoutOrientItem(layout, spec.title, temp, { specKey: 'title', index: 0 }, 'total');\n }\n // 图例\n if (spec.legends) {\n const firstLegend = array(spec.legends)[0];\n if (firstLegend?.visible !== false) {\n this._layoutOrientItem(\n layout,\n firstLegend as { orient: IOrientType },\n temp,\n { specKey: 'legends', index: 0 },\n 'less'\n );\n }\n }\n // datazoom\n if (spec.dataZoom) {\n array(spec.dataZoom).forEach((dataZoom, index) => {\n if (dataZoom?.visible === false) {\n return;\n }\n this._layoutOrientItem(\n layout,\n dataZoom as { orient: IOrientType },\n temp,\n { specKey: 'dataZoom', index },\n 'one'\n );\n });\n }\n // 轴 先只布局左右\n if (spec.axes) {\n const hasLayout = {\n left: false,\n right: false\n };\n spec.axes.forEach((axis, index) => {\n if (axis.orient !== 'left' && axis.orient !== 'right') {\n return;\n }\n if (hasLayout[axis.orient]) {\n return;\n }\n hasLayout[axis.orient] = true;\n this._layoutOrientItem(layout, axis as { orient: IOrientType }, temp, { specKey: 'axes', index }, 'one');\n });\n }\n // region\n const regionLayout = this._layoutOrientItem(\n layout,\n { orient: 'top' },\n temp,\n { specKey: 'region', index: 0 },\n 'one'\n );\n\n // 预览图region\n if (spec.previewSeries) {\n const regionLayout = this._layoutOrientItem(\n layout,\n { orient: 'bottom' },\n temp,\n { specKey: 'region', index: 1 },\n 'one'\n );\n const previewAxesIndex = spec.axes.findIndex(axis => axis === spec.previewAxes);\n if (previewAxesIndex !== -1) {\n const previewAxesLayout = {\n col: regionLayout.col - 1,\n row: regionLayout.row,\n modelKey: 'axes',\n modelIndex: previewAxesIndex\n };\n layout.elements.push(previewAxesLayout);\n }\n if (spec.previewHeight) {\n if (typeof spec.previewHeight === 'string') {\n if (isPercent(spec.previewHeight)) {\n const heightStr = spec.previewHeight;\n layout.rowHeight.push({\n index: regionLayout.row,\n size: (size: number) => (Number(heightStr.substring(0, heightStr.length - 1)) * size) / 100\n });\n }\n } else {\n layout.rowHeight.push({\n index: regionLayout.row,\n size: spec.previewHeight\n });\n }\n }\n }\n\n // 下轴\n const bottomAxesIndex = spec.axes.findIndex(axis => axis.orient === 'bottom');\n this._layoutOrientItem(\n layout,\n spec.axes[bottomAxesIndex],\n temp,\n { specKey: 'axes', index: bottomAxesIndex },\n 'one'\n );\n\n // 修正axes,datazoom\n spec.axes.forEach((axis, index) => {\n // 预览图的轴已处理\n if (axis === spec.previewAxes) {\n return;\n }\n const axisLayout = layout.elements.find(\n item => 'modelKey' in item && item.modelKey === 'axes' && item.modelIndex === index\n );\n if (axisLayout) {\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n axisLayout.col = regionLayout.col;\n } else {\n axisLayout.row = regionLayout.row;\n }\n }\n });\n // 修正datazoom\n array(spec.dataZoom).forEach((dataZoom, index) => {\n const dataZoomLayout = layout.elements.find(\n item => 'modelKey' in item && item.modelKey === 'dataZoom' && item.modelIndex === index\n );\n if (dataZoomLayout) {\n if (dataZoom.orient === 'top' || dataZoom.orient === 'bottom') {\n dataZoomLayout.col = regionLayout.col;\n } else {\n dataZoomLayout.row = regionLayout.row;\n }\n }\n });\n\n spec.layout = layout;\n }\n\n private _layoutOrientItem(\n layout: IGridLayoutSpec,\n modelSpec: { orient?: IOrientType },\n temp: { top: number; bottom: number; left: number; right: number },\n modelInfo: { specKey: string; index: number },\n spanType: 'total' | 'one' | 'less'\n ) {\n const modelLayout: IGridLayoutSpec['elements'][number] = {\n modelKey: modelInfo.specKey,\n modelIndex: modelInfo.index,\n col: 0,\n row: 0\n };\n const orient = modelSpec.orient ?? 'top';\n const { span, index } = this._getLayoutElementCommon(layout, temp, spanType, orient);\n layout.elements.push(modelLayout);\n if (orient === 'top') {\n modelLayout.row = temp.top;\n modelLayout.rowSpan = 1;\n modelLayout.colSpan = span;\n modelLayout.col = index;\n temp.top++;\n } else if (orient === 'bottom') {\n modelLayout.row = layout.row - temp.bottom - 1;\n modelLayout.rowSpan = 1;\n modelLayout.colSpan = span;\n modelLayout.col = index;\n temp.bottom++;\n } else if (orient === 'left') {\n modelLayout.col = temp.left;\n modelLayout.colSpan = 1;\n modelLayout.rowSpan = span;\n modelLayout.row = index;\n temp.left++;\n } else if (orient === 'right') {\n modelLayout.col = layout.col - temp.right - 1;\n modelLayout.colSpan = 1;\n modelLayout.rowSpan = span;\n modelLayout.row = index;\n temp.right++;\n }\n return modelLayout;\n }\n\n private _getLayoutElementCommon(\n layout: IGridLayoutSpec,\n temp: { top: number; bottom: number; left: number; right: number },\n span: 'total' | 'one' | 'less',\n orient: IOrientType\n ) {\n if (orient === 'top' || orient === 'bottom') {\n return {\n span: span === 'total' ? layout.col : span === 'one' ? 1 : layout.col - temp.left - temp.right,\n index: span === 'total' ? 0 : temp.left\n };\n }\n return {\n span: span === 'total' ? layout.row : span === 'one' ? 1 : layout.row - temp.top - temp.bottom,\n index: span === 'total' ? 0 : temp.top\n };\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { BaseChart } from '@visactor/vchart';
2
+ import type { ICombinationCandlestickChartSpec } from './interface';
3
+ import { CombinationCandlestickChartSpecTransformer } from './combination-candlestick-transformer';
4
+ export declare class CombinationCandlestickChart extends BaseChart<ICombinationCandlestickChartSpec> {
5
+ static readonly type: string;
6
+ readonly type: string;
7
+ _spec: ICombinationCandlestickChartSpec;
8
+ static readonly transformerConstructor: typeof CombinationCandlestickChartSpecTransformer;
9
+ readonly transformerConstructor: typeof CombinationCandlestickChartSpecTransformer;
10
+ protected _setModelOption(): void;
11
+ }
12
+ export declare const registerCombinationCandlestickChart: () => void;
@@ -0,0 +1,29 @@
1
+ import { BaseChart, Factory, StackChartMixin, getCartesianCrosshairRect, getCartesianDimensionInfo, getDimensionInfoByValue } from "@visactor/vchart";
2
+
3
+ import { CombinationCandlestickChart_TYPE } from "./constant";
4
+
5
+ import { registerCandlestickSeries } from "../candlestick";
6
+
7
+ import { CombinationCandlestickChartSpecTransformer } from "./combination-candlestick-transformer";
8
+
9
+ import { mixin } from "@visactor/vutils";
10
+
11
+ export class CombinationCandlestickChart extends BaseChart {
12
+ constructor() {
13
+ super(...arguments), this.type = CombinationCandlestickChart_TYPE, this.transformerConstructor = CombinationCandlestickChartSpecTransformer;
14
+ }
15
+ _setModelOption() {
16
+ this._modelOption.getDimensionInfo = (chart, point, isTooltip) => {
17
+ var _a;
18
+ return [ ...null !== (_a = getCartesianDimensionInfo(chart, point, isTooltip)) && void 0 !== _a ? _a : [] ];
19
+ }, this._modelOption.getDimensionInfoByValue = getDimensionInfoByValue, this._modelOption.getRectByDimensionData = getCartesianCrosshairRect;
20
+ }
21
+ }
22
+
23
+ CombinationCandlestickChart.type = CombinationCandlestickChart_TYPE, CombinationCandlestickChart.transformerConstructor = CombinationCandlestickChartSpecTransformer,
24
+ mixin(CombinationCandlestickChart, StackChartMixin);
25
+
26
+ export const registerCombinationCandlestickChart = () => {
27
+ registerCandlestickSeries(), Factory.registerChart(CombinationCandlestickChart.type, CombinationCandlestickChart);
28
+ };
29
+ //# sourceMappingURL=combination-candlestick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/combination-candlestick/combination-candlestick.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,OAAO,EACP,eAAe,EACf,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,MAAM,OAAO,2BAA4B,SAAQ,SAA2C;IAA5F;;QAEW,SAAI,GAAW,gCAAgC,CAAC;QAKhD,2BAAsB,GAAG,0CAA0C,CAAC;IAS/E,CAAC;IAPW,eAAe;QACvB,IAAI,CAAC,YAAY,CAAC,gBAAgB,GAAG,CAAC,KAAyB,EAAE,KAAmB,EAAE,SAAmB,EAAE,EAAE;;YAC3G,OAAO,CAAC,GAAG,CAAC,MAAA,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,sBAAsB,GAAG,yBAAyB,CAAC;IACvE,CAAC;;AAde,gCAAI,GAAW,gCAAgC,CAAC;AAKhD,kDAAsB,GAAG,0CAA0C,CAAC;AAYtF,KAAK,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAC;AAKpD,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACtD,yBAAyB,EAAE,CAAC;IAC5B,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;AACvF,CAAC,CAAC","file":"combination-candlestick.js","sourcesContent":["import type { IChart, ILayoutPoint } from '@visactor/vchart';\nimport {\n BaseChart,\n Factory,\n StackChartMixin,\n getCartesianCrosshairRect,\n getCartesianDimensionInfo,\n getDimensionInfoByValue\n} from '@visactor/vchart';\nimport type { ICombinationCandlestickChartSpec } from './interface';\nimport { CombinationCandlestickChart_TYPE } from './constant';\nimport { registerCandlestickSeries } from '../candlestick';\nimport { CombinationCandlestickChartSpecTransformer } from './combination-candlestick-transformer';\nimport { mixin } from '@visactor/vutils';\n\n/**\n * @description 组合蜡烛图\n */\nexport class CombinationCandlestickChart extends BaseChart<ICombinationCandlestickChartSpec> {\n static readonly type: string = CombinationCandlestickChart_TYPE;\n readonly type: string = CombinationCandlestickChart_TYPE;\n\n declare _spec: ICombinationCandlestickChartSpec;\n\n static readonly transformerConstructor = CombinationCandlestickChartSpecTransformer;\n readonly transformerConstructor = CombinationCandlestickChartSpecTransformer;\n\n protected _setModelOption() {\n this._modelOption.getDimensionInfo = (chart: IChart | undefined, point: ILayoutPoint, isTooltip?: boolean) => {\n return [...(getCartesianDimensionInfo(chart, point, isTooltip) ?? [])];\n };\n this._modelOption.getDimensionInfoByValue = getDimensionInfoByValue;\n this._modelOption.getRectByDimensionData = getCartesianCrosshairRect;\n }\n}\n\nmixin(CombinationCandlestickChart, StackChartMixin);\n\n/**\n * @description 注册组合蜡烛图\n */\nexport const registerCombinationCandlestickChart = () => {\n registerCandlestickSeries();\n Factory.registerChart(CombinationCandlestickChart.type, CombinationCandlestickChart);\n};\n"]}
@@ -0,0 +1 @@
1
+ export declare const CombinationCandlestickChart_TYPE = "combinationCandlestick";
@@ -0,0 +1,2 @@
1
+ export const CombinationCandlestickChart_TYPE = "combinationCandlestick";
2
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/combination-candlestick/constant.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAC","file":"constant.js","sourcesContent":["/**\n * @description 常量\n */\nexport const CombinationCandlestickChart_TYPE = 'combinationCandlestick';\n"]}
@@ -0,0 +1,3 @@
1
+ export * from './combination-candlestick';
2
+ export * from './interface';
3
+ export * from './constant';
@@ -0,0 +1,6 @@
1
+ export * from "./combination-candlestick";
2
+
3
+ export * from "./interface";
4
+
5
+ export * from "./constant";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/combination-candlestick/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC","file":"index.js","sourcesContent":["export * from './combination-candlestick';\nexport * from './interface';\nexport * from './constant';\n"]}
@@ -0,0 +1,12 @@
1
+ import type { ICandlestickSeriesSpec } from './../candlestick/series/interface';
2
+ import type { ISeriesSpec, IAreaSeriesSpec, IBarSeriesSpec, ILineSeriesSpec, IRegionSpec, ICartesianLinearAxisSpec, ICartesianChartSpec } from '@visactor/vchart';
3
+ export interface ICombinationCandlestickChartSpec extends Omit<ICartesianChartSpec, 'region'> {
4
+ type: 'combinationCandlestick';
5
+ series?: ISeriesSpec[];
6
+ candlestickSeries: ICandlestickSeriesSpec;
7
+ candlestickRegion?: IRegionSpec;
8
+ previewSeries?: IBarSeriesSpec | IAreaSeriesSpec | ILineSeriesSpec;
9
+ previewRegion?: IRegionSpec;
10
+ previewHeight?: number | ((maxSize: number) => number) | string;
11
+ previewAxes?: ICartesianLinearAxisSpec;
12
+ }
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/combination-candlestick/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICandlestickSeriesSpec } from './../candlestick/series/interface';\nimport type {\n ISeriesSpec,\n IAreaSeriesSpec,\n IBarSeriesSpec,\n ILineSeriesSpec,\n IRegionSpec,\n ICartesianLinearAxisSpec,\n ICartesianChartSpec\n} from '@visactor/vchart';\n\n/**\n * @description 组合蜡烛图规约\n */\nexport interface ICombinationCandlestickChartSpec extends Omit<ICartesianChartSpec, 'region'> {\n type: 'combinationCandlestick';\n\n /** 与蜡烛图使用同region的系列配置 */\n series?: ISeriesSpec[];\n\n // 蜡烛系列 必须配置数据 不可以为数组\n candlestickSeries: ICandlestickSeriesSpec;\n candlestickRegion?: IRegionSpec;\n\n // 预览系列 必须配置数据 不可以为数组\n previewSeries?: IBarSeriesSpec | IAreaSeriesSpec | ILineSeriesSpec;\n previewRegion?: IRegionSpec;\n // 预览图高度 可以是数字,返回数字的函数,或者百分百字符串 '30%'\n previewHeight?: number | ((maxSize: number) => number) | string;\n\n /** 预览系列的数值轴, y轴 */\n previewAxes?: ICartesianLinearAxisSpec;\n}\n"]}
@@ -21,5 +21,4 @@ Funnel3dChart.transformerConstructor = FunnelChartSpecTransformer;
21
21
  export const registerFunnel3dChart = () => {
22
22
  registerMarkTooltipProcessor(), register3DPlugin(), registerLayout3d(), registerFunnel3dSeries(),
23
23
  Factory.registerChart(Funnel3dChart.type, Funnel3dChart);
24
- };
25
- //# sourceMappingURL=chart.js.map
24
+ };
@@ -1,3 +1,4 @@
1
1
  import { getFunnelTheme } from "@visactor/vchart";
2
2
 
3
- export const funnel3d = getFunnelTheme(!0);
3
+ export const funnel3d = getFunnelTheme(!0);
4
+ //# sourceMappingURL=theme.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./chart";
2
2
 
3
3
  export * from "./interface";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -8,4 +8,4 @@ export class ImageCloudChartSpecTransformer extends BaseChartSpecTransformer {
8
8
  return super._getDefaultSeriesSpec(spec, [ "urlField", "nameField", "valueField", "imageSize", "imageSizeRange", "ratio", "maskShape", "imageMask", "layoutConfig", "image" ]);
9
9
  }
10
10
  }
11
- //# sourceMappingURL=image-cloud-transformer.js.map
11
+ //# sourceMappingURL=image-cloud-transformer.js.map
@@ -19,4 +19,4 @@ ImageCloudChart.transformerConstructor = ImageCloudChartSpecTransformer;
19
19
  export const registerImageCloudChart = () => {
20
20
  registerImageCloudSeries(), Factory.registerChart(ImageCloudChart.type, ImageCloudChart);
21
21
  };
22
- //# sourceMappingURL=image-cloud.js.map
22
+ //# sourceMappingURL=image-cloud.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./image-cloud";
2
2
 
3
3
  export * from "./interface";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -115,6 +115,7 @@ export declare class ImageCloudSeries<T extends IImageCloudSeriesSpec> extends B
115
115
  createCanvas: (params: import("@visactor/vrender-core").ICreateCanvasParams) => any;
116
116
  createImage: typeof createImage;
117
117
  onUpdateMaskCanvas: (inputImage?: HTMLCanvasElement, maskImage?: HTMLCanvasElement) => void;
118
+ onLayoutFinished: () => void;
118
119
  };
119
120
  protected _buildMarkAttributeContext(): void;
120
121
  initAnimation(): void;