@visactor/vchart 1.6.2 → 1.6.3
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.
- package/build/es5/index.js +1 -1
- package/build/index.js +324 -222
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/config.js +1 -0
- package/cjs/animation/config.js.map +1 -1
- package/cjs/animation/utils.js +13 -13
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/compile/compilable-base.js +2 -1
- package/cjs/compile/compiler.js +1 -1
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/grammar-item.js +1 -2
- package/cjs/compile/mark/compilable-mark.d.ts +1 -2
- package/cjs/compile/mark/compilable-mark.js +4 -7
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js +12 -10
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +1 -0
- package/cjs/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.d.ts +1 -0
- package/cjs/core/vchart.js +9 -6
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/mark/arc.js +2 -2
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +3 -3
- package/cjs/mark/base/base-mark.js +32 -72
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/series/cartesian/cartesian.js +6 -3
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -1
- package/cjs/series/sankey/sankey.js +23 -28
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/util/type.js +1 -1
- package/cjs/util/type.js.map +1 -1
- package/esm/animation/config.js +1 -0
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/utils.js +13 -13
- package/esm/animation/utils.js.map +1 -1
- package/esm/compile/compilable-base.js +2 -1
- package/esm/compile/compiler.js +1 -1
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/grammar-item.js +1 -2
- package/esm/compile/mark/compilable-mark.d.ts +1 -2
- package/esm/compile/mark/compilable-mark.js +3 -7
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.js +13 -9
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +1 -0
- package/esm/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.d.ts +1 -0
- package/esm/core/vchart.js +9 -6
- package/esm/core/vchart.js.map +1 -1
- package/esm/mark/arc.js +2 -2
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +3 -3
- package/esm/mark/base/base-mark.js +30 -69
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/series/cartesian/cartesian.js +4 -1
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -1
- package/esm/series/sankey/sankey.js +23 -27
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/util/type.js +1 -1
- package/esm/util/type.js.map +1 -1
- package/package.json +16 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/handler/dom/model/content-column-model.ts"],"names":[],"mappings":"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","file":"content-column-model.js","sourcesContent":["import { isNumber, isString, toNumber } from '@visactor/vutils';\nimport {\n defaultKeyStyle,\n defaultContentColumnStyle,\n defaultValueStyle,\n defaultAdaptiveKeyStyle,\n defaultShapeStyle\n} from './style-constants';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport type { ITooltipModelOption } from './interface';\nimport type { IShapeSvgOption } from './shape-model';\n// eslint-disable-next-line no-duplicate-imports\nimport { ShapeModel } from './shape-model';\nimport { TextModel } from './text-model';\nimport { TOOLTIP_EMPTY_STRING } from '../../constants';\nimport { getPixelPropertyStr } from '../util';\nimport type { IToolTipLineActual } from '../../../../../typings';\nimport { mergeSpec } from '../../../../../util/spec/merge-spec';\n\nexport type ContentColumnType = 'shape-box' | 'key-box' | 'value-box';\n\nexport class ContentColumnModel extends BaseTooltipModel {\n readonly className: ContentColumnType;\n\n constructor(\n parent: BaseTooltipModel | HTMLElement,\n option: ITooltipModelOption,\n className: ContentColumnType,\n childIndex?: number\n ) {\n super(parent, option, childIndex);\n this.className = className;\n }\n\n init(): void {\n if (!this.product) {\n this.product = this.createElement('div', [this.className]);\n }\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n\n if (this.className === 'shape-box' && !renderContent.some(c => c.hasShape && c.shapeType)) {\n // 当有一行配有形状的时候,其他行要对齐。如果没有一行配有形状,则删除所有的行\n Object.keys(this.children).forEach(key => {\n const i = toNumber(key);\n this.children[i].release();\n delete this.children[i];\n });\n } else {\n // 删除多余的行\n Object.keys(this.children).forEach(key => {\n const i = toNumber(key);\n if (i >= renderContent.length) {\n this.children[i].release();\n delete this.children[i];\n }\n });\n // 新增没有的行\n for (let i = 0; i < renderContent.length; i++) {\n if (!this.children[i]) {\n if (this.className === 'key-box' || this.className === 'value-box') {\n const text = new TextModel(this.product!, this._option, i);\n text.init([this.className.substring(0, this.className.indexOf('-'))], undefined, 'div');\n this.children[i] = text;\n } else if (this.className === 'shape-box') {\n const shape = new ShapeModel(this.product!, this._option, i);\n shape.init(['shape'], undefined, 'div');\n this.children[i] = shape;\n }\n }\n }\n }\n }\n\n setStyle() {\n const tooltipStyle = this._option.getTooltipStyle();\n\n super.setStyle(mergeSpec({}, defaultContentColumnStyle, tooltipStyle.content, this._getContentColumnStyle()));\n\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n const contentAttributes = this._option.getTooltipAttributes()?.content ?? [];\n renderContent.forEach((line, i) => {\n let childStyle: any = {};\n if (this.className === 'key-box') {\n const { key, isKeyAdaptive } = line;\n childStyle = mergeSpec({}, isKeyAdaptive ? defaultAdaptiveKeyStyle : defaultKeyStyle, {\n height: getPixelPropertyStr(contentAttributes[i].height),\n overflowWrap: 'normal', // 覆盖外界对此属性的预先配置\n ...tooltipStyle.keyColumn.common,\n ...tooltipStyle.keyColumn.items?.[i]\n } as Partial<CSSStyleDeclaration>);\n const hasContent = (isString(key) && key?.trim?.() !== '') || isNumber(key);\n if (!hasContent && !childStyle.visibility) {\n childStyle.visibility = 'hidden';\n } else {\n childStyle.visibility = 'visible';\n }\n (this.children[i] as TextModel).setStyle(childStyle);\n } else if (this.className === 'value-box') {\n childStyle = mergeSpec({}, defaultValueStyle, {\n height: getPixelPropertyStr(contentAttributes[i].height),\n overflowWrap: 'normal', // 覆盖外界对此属性的预先配置\n ...tooltipStyle.valueColumn.common,\n ...tooltipStyle.valueColumn.items?.[i]\n } as Partial<CSSStyleDeclaration>);\n (this.children[i] as TextModel).setStyle(childStyle);\n } else if (this.className === 'shape-box') {\n childStyle = mergeSpec({}, defaultShapeStyle, {\n height: getPixelPropertyStr(contentAttributes[i].height + contentAttributes[i].spaceRow),\n ...tooltipStyle.shapeColumn.common,\n ...tooltipStyle.shapeColumn.items?.[i]\n });\n (this.children[i] as ShapeModel)?.setStyle(childStyle, this._getShapeSvgOption(line, i));\n }\n });\n }\n\n setContent(): void {\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n const contentAttributes = this._option.getTooltipAttributes()?.content ?? [];\n renderContent.forEach((line, i) => {\n let childContent: any;\n if (this.className === 'key-box') {\n const keyContent = line.key;\n if ((isString(keyContent) && keyContent?.trim?.() !== '') || isNumber(keyContent)) {\n childContent = keyContent;\n } else {\n childContent = TOOLTIP_EMPTY_STRING;\n }\n (this.children[i] as TextModel)?.setContent(childContent, contentAttributes[i].key?.multiLine);\n } else if (this.className === 'value-box') {\n const valueContent = line.value;\n if ((isString(valueContent) && valueContent?.trim?.() !== '') || isNumber(valueContent)) {\n childContent = valueContent;\n } else {\n childContent = TOOLTIP_EMPTY_STRING;\n }\n (this.children[i] as TextModel)?.setContent(childContent, contentAttributes[i].value?.multiLine);\n } else if (this.className === 'shape-box') {\n childContent = this._getShapeSvgOption(line, i);\n this.children[i]?.setContent(childContent);\n }\n });\n }\n\n protected _getContentColumnStyle() {\n const tooltipStyle = this._option.getTooltipStyle();\n\n switch (this.className) {\n case 'shape-box':\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n return {\n ...tooltipStyle.shapeColumn,\n ...(this.className === 'shape-box' && !renderContent.some(c => c.hasShape && c.shapeType)\n ? { display: 'none' }\n : {})\n };\n case 'key-box':\n return tooltipStyle.keyColumn;\n case 'value-box':\n return tooltipStyle.valueColumn;\n }\n }\n\n protected _getShapeSvgOption(line: IToolTipLineActual, index: number): IShapeSvgOption {\n const tooltipStyle = this._option.getTooltipStyle();\n const shapeColumn = {\n ...tooltipStyle.shapeColumn,\n ...tooltipStyle.shapeColumn.items?.[index]\n };\n const keyColumn = {\n ...tooltipStyle.keyColumn,\n ...tooltipStyle.keyColumn.items?.[index]\n };\n return {\n hasShape: line.hasShape,\n symbolType: line.shapeType,\n size: shapeColumn.width,\n fill: line.shapeFill ?? line.shapeColor,\n stroke: line.shapeStroke,\n lineWidth: line.shapeLineWidth,\n hollow: line.shapeHollow,\n marginTop: `calc((${keyColumn.lineHeight ?? keyColumn.fontSize ?? '18px'} - ${shapeColumn.width ?? '8px'}) / 2)`\n } as IShapeSvgOption;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/handler/dom/model/content-column-model.ts"],"names":[],"mappings":"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","file":"content-column-model.js","sourcesContent":["import { isNumber, isString, toNumber } from '@visactor/vutils';\nimport {\n defaultKeyStyle,\n defaultContentColumnStyle,\n defaultValueStyle,\n defaultAdaptiveKeyStyle,\n defaultShapeStyle\n} from './style-constants';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport type { ITooltipModelOption } from './interface';\nimport type { IShapeSvgOption } from './shape-model';\n// eslint-disable-next-line no-duplicate-imports\nimport { ShapeModel } from './shape-model';\nimport { TextModel } from './text-model';\nimport { TOOLTIP_EMPTY_STRING } from '../../constants';\nimport { getPixelPropertyStr } from '../util';\nimport type { IToolTipLineActual } from '../../../../../typings';\nimport { mergeSpec } from '../../../../../util/spec/merge-spec';\n\nexport type ContentColumnType = 'shape-box' | 'key-box' | 'value-box';\n\n/** 默认的标签样式,覆盖外界对这些属性的预先配置 */\nconst defaultLabelStyle: Partial<CSSStyleDeclaration> = {\n overflowWrap: 'normal',\n wordWrap: 'normal'\n};\n\nexport class ContentColumnModel extends BaseTooltipModel {\n readonly className: ContentColumnType;\n\n constructor(\n parent: BaseTooltipModel | HTMLElement,\n option: ITooltipModelOption,\n className: ContentColumnType,\n childIndex?: number\n ) {\n super(parent, option, childIndex);\n this.className = className;\n }\n\n init(): void {\n if (!this.product) {\n this.product = this.createElement('div', [this.className]);\n }\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n\n if (this.className === 'shape-box' && !renderContent.some(c => c.hasShape && c.shapeType)) {\n // 当有一行配有形状的时候,其他行要对齐。如果没有一行配有形状,则删除所有的行\n Object.keys(this.children).forEach(key => {\n const i = toNumber(key);\n this.children[i].release();\n delete this.children[i];\n });\n } else {\n // 删除多余的行\n Object.keys(this.children).forEach(key => {\n const i = toNumber(key);\n if (i >= renderContent.length) {\n this.children[i].release();\n delete this.children[i];\n }\n });\n // 新增没有的行\n for (let i = 0; i < renderContent.length; i++) {\n if (!this.children[i]) {\n if (this.className === 'key-box' || this.className === 'value-box') {\n const text = new TextModel(this.product!, this._option, i);\n text.init([this.className.substring(0, this.className.indexOf('-'))], undefined, 'div');\n this.children[i] = text;\n } else if (this.className === 'shape-box') {\n const shape = new ShapeModel(this.product!, this._option, i);\n shape.init(['shape'], undefined, 'div');\n this.children[i] = shape;\n }\n }\n }\n }\n }\n\n setStyle() {\n const tooltipStyle = this._option.getTooltipStyle();\n\n super.setStyle(mergeSpec({}, defaultContentColumnStyle, tooltipStyle.content, this._getContentColumnStyle()));\n\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n const contentAttributes = this._option.getTooltipAttributes()?.content ?? [];\n renderContent.forEach((line, i) => {\n let childStyle: any = {};\n if (this.className === 'key-box') {\n const { key, isKeyAdaptive } = line;\n childStyle = mergeSpec({}, isKeyAdaptive ? defaultAdaptiveKeyStyle : defaultKeyStyle, {\n height: getPixelPropertyStr(contentAttributes[i].height),\n ...defaultLabelStyle,\n ...tooltipStyle.keyColumn.common,\n ...tooltipStyle.keyColumn.items?.[i]\n } as Partial<CSSStyleDeclaration>);\n const hasContent = (isString(key) && key?.trim?.() !== '') || isNumber(key);\n if (!hasContent && !childStyle.visibility) {\n childStyle.visibility = 'hidden';\n } else {\n childStyle.visibility = 'visible';\n }\n (this.children[i] as TextModel).setStyle(childStyle);\n } else if (this.className === 'value-box') {\n childStyle = mergeSpec({}, defaultValueStyle, {\n height: getPixelPropertyStr(contentAttributes[i].height),\n ...defaultLabelStyle,\n ...tooltipStyle.valueColumn.common,\n ...tooltipStyle.valueColumn.items?.[i]\n } as Partial<CSSStyleDeclaration>);\n (this.children[i] as TextModel).setStyle(childStyle);\n } else if (this.className === 'shape-box') {\n childStyle = mergeSpec({}, defaultShapeStyle, {\n height: getPixelPropertyStr(contentAttributes[i].height + contentAttributes[i].spaceRow),\n ...tooltipStyle.shapeColumn.common,\n ...tooltipStyle.shapeColumn.items?.[i]\n });\n (this.children[i] as ShapeModel)?.setStyle(childStyle, this._getShapeSvgOption(line, i));\n }\n });\n }\n\n setContent(): void {\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n const contentAttributes = this._option.getTooltipAttributes()?.content ?? [];\n renderContent.forEach((line, i) => {\n let childContent: any;\n if (this.className === 'key-box') {\n const keyContent = line.key;\n if ((isString(keyContent) && keyContent?.trim?.() !== '') || isNumber(keyContent)) {\n childContent = keyContent;\n } else {\n childContent = TOOLTIP_EMPTY_STRING;\n }\n (this.children[i] as TextModel)?.setContent(childContent, contentAttributes[i].key?.multiLine);\n } else if (this.className === 'value-box') {\n const valueContent = line.value;\n if ((isString(valueContent) && valueContent?.trim?.() !== '') || isNumber(valueContent)) {\n childContent = valueContent;\n } else {\n childContent = TOOLTIP_EMPTY_STRING;\n }\n (this.children[i] as TextModel)?.setContent(childContent, contentAttributes[i].value?.multiLine);\n } else if (this.className === 'shape-box') {\n childContent = this._getShapeSvgOption(line, i);\n this.children[i]?.setContent(childContent);\n }\n });\n }\n\n protected _getContentColumnStyle() {\n const tooltipStyle = this._option.getTooltipStyle();\n\n switch (this.className) {\n case 'shape-box':\n const renderContent = this._option.getTooltipActual()?.content ?? [];\n return {\n ...tooltipStyle.shapeColumn,\n ...(this.className === 'shape-box' && !renderContent.some(c => c.hasShape && c.shapeType)\n ? { display: 'none' }\n : {})\n };\n case 'key-box':\n return tooltipStyle.keyColumn;\n case 'value-box':\n return tooltipStyle.valueColumn;\n }\n }\n\n protected _getShapeSvgOption(line: IToolTipLineActual, index: number): IShapeSvgOption {\n const tooltipStyle = this._option.getTooltipStyle();\n const shapeColumn = {\n ...tooltipStyle.shapeColumn,\n ...tooltipStyle.shapeColumn.items?.[index]\n };\n const keyColumn = {\n ...tooltipStyle.keyColumn,\n ...tooltipStyle.keyColumn.items?.[index]\n };\n return {\n hasShape: line.hasShape,\n symbolType: line.shapeType,\n size: shapeColumn.width,\n fill: line.shapeFill ?? line.shapeColor,\n stroke: line.shapeStroke,\n lineWidth: line.shapeLineWidth,\n hollow: line.shapeHollow,\n marginTop: `calc((${keyColumn.lineHeight ?? keyColumn.fontSize ?? '18px'} - ${shapeColumn.width ?? '8px'}) / 2)`,\n index\n } as IShapeSvgOption;\n }\n}\n"]}
|
|
@@ -29,7 +29,7 @@ class ShapeModel extends base_tooltip_model_1.BaseTooltipModel {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
function getSvgHtml(option, valueToHtml) {
|
|
32
|
-
var _a, _b, _c, _d, _e, _f;
|
|
32
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
33
33
|
if (!(null == option ? void 0 : option.hasShape) || !option.symbolType) return "";
|
|
34
34
|
const {symbolType: symbolType, fill: fill, stroke: stroke, hollow: hollow = !1} = option, size = option.size ? valueToHtml(option.size) : "8px", marginTop = option.marginTop ? valueToHtml(option.marginTop) : "0px", lineWidth = option.lineWidth ? valueToHtml(option.lineWidth) + "px" : "0px";
|
|
35
35
|
let fillString = "currentColor";
|
|
@@ -46,10 +46,10 @@ function getSvgHtml(option, valueToHtml) {
|
|
|
46
46
|
if (!fill || (0, vutils_1.isString)(fill) || hollow) return fillString = hollow ? "none" : fill ? valueToHtml(fill) : "currentColor",
|
|
47
47
|
`\n <svg width="${size}" height="${size}" viewBox="${viewBox}"\n style="display: inline-block; vertical-align: middle; margin-top: ${marginTop};">\n <path\n d="${path}"\n style="fill: ${fillString}; stroke: ${getStroke()}; stroke-width: ${lineWidth}"\n >\n </path>\n </svg>`;
|
|
48
48
|
if ((0, vutils_1.isObject)(fill)) {
|
|
49
|
-
fillString = "gradientColor";
|
|
49
|
+
fillString = null !== (_b = "gradientColor" + option.index) && void 0 !== _b ? _b : "";
|
|
50
50
|
let gradient = "";
|
|
51
|
-
const stops = (null !== (
|
|
52
|
-
return "radial" === fill.gradient ? gradient = `<radialGradient id="${fillString}" cx="50%" cy="50%" r="50%" fx="0%" fy="0%">\n ${stops}\n </radialGradient>` : "linear" === fill.gradient && (gradient = `<linearGradient id="${fillString}" x1="${100 * (null !== (
|
|
51
|
+
const stops = (null !== (_c = fill.stops) && void 0 !== _c ? _c : []).map((s => `<stop offset="${valueToHtml(s.offset.toString())}" stop-color="${valueToHtml(s.color)}"/>`)).join("");
|
|
52
|
+
return "radial" === fill.gradient ? gradient = `<radialGradient id="${fillString}" cx="50%" cy="50%" r="50%" fx="0%" fy="0%">\n ${stops}\n </radialGradient>` : "linear" === fill.gradient && (gradient = `<linearGradient id="${fillString}" x1="${100 * (null !== (_d = fill.x0) && void 0 !== _d ? _d : 0)}%" y1="${100 * (null !== (_e = fill.y0) && void 0 !== _e ? _e : 0)}%" x2="${100 * (null !== (_f = fill.x1) && void 0 !== _f ? _f : 0)}%" y2="${100 * (null !== (_g = fill.y1) && void 0 !== _g ? _g : 0)}%">\n ${stops}\n </linearGradient>`),
|
|
53
53
|
`\n <svg width="${size}" height="${size}" viewBox="-0.5 -0.5 1 1"\n style="display: inline-block; vertical-align: middle; margin-top: ${marginTop};">\n ${gradient}\n <path\n d="${path}"\n style="fill: url(#${fillString}); stroke: ${getStroke()}; stroke-width: ${lineWidth}"\n >\n </path>\n </svg>`;
|
|
54
54
|
}
|
|
55
55
|
return "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/handler/dom/model/shape-model.ts"],"names":[],"mappings":";;;AAEA,yDAAgD;AAEhD,6CAAsD;AAEtD,6DAAwD;AACxD,kCAAmD;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/handler/dom/model/shape-model.ts"],"names":[],"mappings":"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","file":"shape-model.js","sourcesContent":["import type { IGradientColor, ILinearGradient } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { Symbol } from '@visactor/vrender-core';\n\nimport { isObject, isString } from '@visactor/vutils';\nimport type { ShapeType } from '../../../../../typings';\nimport { BaseTooltipModel } from './base-tooltip-model';\nimport { pixelPropertyStrToNumber } from '../util';\n\nexport interface IShapeSvgOption {\n hasShape?: boolean;\n symbolType?: ShapeType | string;\n size?: string;\n fill?: string | IGradientColor;\n stroke?: string;\n lineWidth?: number;\n hollow?: boolean;\n marginTop?: string;\n index?: number;\n}\n\nexport class ShapeModel extends BaseTooltipModel {\n svg: SVGElement;\n\n private _svgHtmlCache: string;\n\n init(classList?: string[], id?: string, tag?: keyof HTMLElementTagNameMap): void {\n if (!this.product) {\n const container = this.createElement(tag ?? 'div', [...(classList ?? []), 'shape'], undefined, id);\n this.product = container;\n }\n }\n\n setStyle(style?: Partial<CSSStyleDeclaration>, option?: IShapeSvgOption): void {\n super.setStyle(style);\n this.setSvg(option);\n }\n\n setContent(option: IShapeSvgOption) {\n this.setSvg(option);\n }\n\n setSvg(option?: IShapeSvgOption) {\n const html = getSvgHtml(option, this._option.valueToHtml);\n if (this.product && html !== this._svgHtmlCache) {\n this._svgHtmlCache = html;\n this.product.innerHTML = html;\n }\n }\n\n release(): void {\n super.release();\n this._svgHtmlCache = '';\n }\n}\n\nfunction getSvgHtml(option: IShapeSvgOption | undefined, valueToHtml: (value: any) => string) {\n if (!option?.hasShape || !option.symbolType) {\n return '';\n }\n\n const { symbolType, fill, stroke, hollow = false } = option;\n const size = option.size ? valueToHtml(option.size) : '8px';\n const marginTop = option.marginTop ? valueToHtml(option.marginTop) : '0px';\n const lineWidth = option.lineWidth ? valueToHtml(option.lineWidth) + 'px' : '0px';\n let fillString: string = 'currentColor';\n const getStroke = () => (stroke ? valueToHtml(stroke) : fillString);\n\n const symbol = new Symbol({ symbolType, size: pixelPropertyStrToNumber(size) as number, fill: true });\n const pathModel = symbol.getParsedPath().path ?? symbol.getParsedPath().pathStr;\n const path = pathModel.toString();\n let viewBox = '-0.5 -0.5 1 1';\n if (!isString(pathModel)) {\n const bounds = pathModel.bounds;\n viewBox = `${bounds.x1} ${bounds.y1} ${bounds.width()} ${bounds.height()}`;\n }\n\n if (!fill || isString(fill) || hollow) {\n fillString = hollow ? 'none' : fill ? valueToHtml(fill) : 'currentColor';\n return `\n <svg width=\"${size}\" height=\"${size}\" viewBox=\"${viewBox}\"\n style=\"display: inline-block; vertical-align: middle; margin-top: ${marginTop};\">\n <path\n d=\"${path}\"\n style=\"fill: ${fillString}; stroke: ${getStroke()}; stroke-width: ${lineWidth}\"\n >\n </path>\n </svg>`;\n }\n if (isObject(fill)) {\n fillString = 'gradientColor' + option.index ?? '';\n let gradient = '';\n const stops = (fill.stops ?? [])\n .map(s => `<stop offset=\"${valueToHtml(s.offset.toString())}\" stop-color=\"${valueToHtml(s.color)}\"/>`)\n .join('');\n if ((fill as IGradientColor).gradient === 'radial') {\n gradient = `<radialGradient id=\"${fillString}\" cx=\"50%\" cy=\"50%\" r=\"50%\" fx=\"0%\" fy=\"0%\">\n ${stops}\n </radialGradient>`;\n } else if ((fill as IGradientColor).gradient === 'linear') {\n gradient = `<linearGradient id=\"${fillString}\" x1=\"${\n (((fill as ILinearGradient).x0 as number) ?? 0) * 100\n }%\" y1=\"${(((fill as ILinearGradient).y0 as number) ?? 0) * 100}%\" x2=\"${\n (((fill as ILinearGradient).x1 as number) ?? 0) * 100\n }%\" y2=\"${(((fill as ILinearGradient).y1 as number) ?? 0) * 100}%\">\n ${stops}\n </linearGradient>`;\n }\n return `\n <svg width=\"${size}\" height=\"${size}\" viewBox=\"-0.5 -0.5 1 1\"\n style=\"display: inline-block; vertical-align: middle; margin-top: ${marginTop};\">\n ${gradient}\n <path\n d=\"${path}\"\n style=\"fill: url(#${fillString}); stroke: ${getStroke()}; stroke-width: ${lineWidth}\"\n >\n </path>\n </svg>`;\n }\n\n return '';\n}\n"]}
|
package/cjs/core/index.d.ts
CHANGED
|
@@ -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.6.
|
|
4
|
+
export declare const version = "1.6.3";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export type { IStateSpec, StateValueType } from '../compile/mark';
|
|
7
7
|
export * from '../typings/spec/common';
|
package/cjs/core/index.js
CHANGED
|
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "Factory", {
|
|
|
35
35
|
get: function() {
|
|
36
36
|
return factory_1.Factory;
|
|
37
37
|
}
|
|
38
|
-
}), exports.version = "1.6.
|
|
38
|
+
}), exports.version = "1.6.3", __exportStar(require("../typings/spec/common"), exports),
|
|
39
39
|
__exportStar(require("../event/interface"), exports), __exportStar(require("../theme/interface"), exports),
|
|
40
40
|
__exportStar(require("../typings/spec/index"), exports), __exportStar(require("../theme/index"), exports);
|
|
41
41
|
|
package/cjs/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,OAAO,CAAC;AAM/B,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AAKnC,wDAAsC;AAGtC,iDAA+B;AAG/B,uDAAiD;AAAxC,uGAAA,OAAO,OAAA","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.6.
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,uCAAoC;AAEnB,wFAFR,iBAAO,OAEQ;AAGX,QAAA,OAAO,GAAG,OAAO,CAAC;AAM/B,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AAKnC,wDAAsC;AAGtC,iDAA+B;AAG/B,uDAAiD;AAAxC,uGAAA,OAAO,OAAA","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.6.3\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
|
package/cjs/core/vchart.d.ts
CHANGED
package/cjs/core/vchart.js
CHANGED
|
@@ -217,6 +217,7 @@ class VChart {
|
|
|
217
217
|
}
|
|
218
218
|
updateCustomConfigAndRerender(modifyConfig, morphConfig) {
|
|
219
219
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
220
|
+
if (this._isReleased) return this;
|
|
220
221
|
const result = modifyConfig();
|
|
221
222
|
return (0, vutils_1.isValid)(result) ? (this._reCompile(result), yield this.renderAsync(morphConfig),
|
|
222
223
|
this) : this;
|
|
@@ -271,6 +272,7 @@ class VChart {
|
|
|
271
272
|
renderAsync(morphConfig) {
|
|
272
273
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
273
274
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
275
|
+
if (this._isReleased) return this;
|
|
274
276
|
if (!this._chart) {
|
|
275
277
|
if (null === (_b = null === (_a = this._option.performanceHook) || void 0 === _a ? void 0 : _a.beforeInitializeChart) || void 0 === _b || _b.call(_a),
|
|
276
278
|
this._initChart(this._spec), null === (_d = null === (_c = this._option.performanceHook) || void 0 === _c ? void 0 : _c.afterInitializeChart) || void 0 === _d || _d.call(_c),
|
|
@@ -284,13 +286,13 @@ class VChart {
|
|
|
284
286
|
}), null === (_h = null === (_g = this._option.performanceHook) || void 0 === _g ? void 0 : _g.afterCompileToVGrammar) || void 0 === _h || _h.call(_g);
|
|
285
287
|
}
|
|
286
288
|
return yield null === (_j = this._compiler) || void 0 === _j ? void 0 : _j.renderAsync(morphConfig),
|
|
287
|
-
this._option.animation && (null === (_k = this._chart) || void 0 === _k || _k.getAllRegions().forEach((region => {
|
|
289
|
+
this._isReleased || (this._option.animation && (null === (_k = this._chart) || void 0 === _k || _k.getAllRegions().forEach((region => {
|
|
288
290
|
var _a;
|
|
289
291
|
null === (_a = region.animate) || void 0 === _a || _a.updateAnimateState(interface_1.AnimationStateEnum.update, !0);
|
|
290
292
|
})), null === (_l = this._chart) || void 0 === _l || _l.getAllComponents().forEach((component => {
|
|
291
293
|
var _a;
|
|
292
294
|
null === (_a = component.animate) || void 0 === _a || _a.updateAnimateState(interface_1.AnimationStateEnum.update, !0);
|
|
293
|
-
}))), this._event.emit(constant_1.ChartEvent.rendered, {}), this;
|
|
295
|
+
}))), this._event.emit(constant_1.ChartEvent.rendered, {})), this;
|
|
294
296
|
}));
|
|
295
297
|
}
|
|
296
298
|
release() {
|
|
@@ -299,7 +301,8 @@ class VChart {
|
|
|
299
301
|
null === (_b = this._chart) || void 0 === _b || _b.release(), null === (_c = this._compiler) || void 0 === _c || _c.release(),
|
|
300
302
|
null === (_d = this._eventDispatcher) || void 0 === _d || _d.release(), this._unBindResizeEvent(),
|
|
301
303
|
this._releaseData(), this._chart = null, this._compiler = null, this._spec = null,
|
|
302
|
-
this._userEvents = null, this._event = null, this._eventDispatcher = null,
|
|
304
|
+
this._userEvents = null, this._event = null, this._eventDispatcher = null, this._isReleased = !0,
|
|
305
|
+
instance_manager_1.InstanceManager.unregisterInstance(this);
|
|
303
306
|
}
|
|
304
307
|
updateData(id, data, options) {
|
|
305
308
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
@@ -448,12 +451,12 @@ class VChart {
|
|
|
448
451
|
return __awaiter(this, void 0, void 0, (function*() {
|
|
449
452
|
if (!this._chart || !this._compiler) return this;
|
|
450
453
|
const chartCanvasRect = this._chart.getCanvasRect();
|
|
451
|
-
return chartCanvasRect && chartCanvasRect.width === width && chartCanvasRect.height === height
|
|
454
|
+
return chartCanvasRect && chartCanvasRect.width === width && chartCanvasRect.height === height ? this : (null === (_b = null === (_a = this._option.performanceHook) || void 0 === _a ? void 0 : _a.beforeResizeWithUpdate) || void 0 === _b || _b.call(_a),
|
|
452
455
|
this._chart.onResize(width, height), null === (_d = null === (_c = this._option.performanceHook) || void 0 === _c ? void 0 : _c.afterResizeWithUpdate) || void 0 === _d || _d.call(_c),
|
|
453
456
|
yield null === (_f = (_e = this._compiler).resize) || void 0 === _f ? void 0 : _f.call(_e, width, height),
|
|
454
|
-
this._event.emit(constant_1.ChartEvent.afterResize, {
|
|
457
|
+
this._isReleased || this._event.emit(constant_1.ChartEvent.afterResize, {
|
|
455
458
|
chart: this._chart
|
|
456
|
-
})
|
|
459
|
+
}), this);
|
|
457
460
|
}));
|
|
458
461
|
}
|
|
459
462
|
updateViewBox(viewBox, reRender = !0, reLayout = !0) {
|