@visactor/vchart 1.13.13-alpha.1 → 1.13.13-alpha.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.es.js +46 -14
- package/build/index.js +143 -111
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +8 -0
- package/cjs/component/axis/cartesian/band-axis.js +9 -0
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.d.ts +2 -0
- package/cjs/component/axis/mixin/band-axis-mixin.js +15 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/core/index.d.ts +1 -2
- package/cjs/core/index.js +4 -5
- package/cjs/core/index.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +1 -1
- package/cjs/series/link/link.d.ts +1 -1
- package/cjs/series/sankey/sankey.d.ts +0 -1
- package/cjs/series/sankey/sankey.js +5 -9
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +8 -0
- package/esm/component/axis/cartesian/band-axis.js +9 -1
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.d.ts +2 -0
- package/esm/component/axis/mixin/band-axis-mixin.js +15 -1
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/core/index.d.ts +1 -2
- package/esm/core/index.js +1 -3
- package/esm/core/index.js.map +1 -1
- package/esm/series/dot/dot.d.ts +1 -1
- package/esm/series/link/link.d.ts +1 -1
- package/esm/series/sankey/sankey.d.ts +0 -1
- package/esm/series/sankey/sankey.js +5 -9
- package/esm/series/sankey/sankey.js.map +1 -1
- package/package.json +7 -7
|
@@ -37,5 +37,13 @@ export declare class CartesianBandAxis<T extends ICartesianBandAxisSpec = ICarte
|
|
|
37
37
|
maxBandSize: number;
|
|
38
38
|
minBandSize: number;
|
|
39
39
|
};
|
|
40
|
+
_compareSpec(spec: T, prevSpec: T): {
|
|
41
|
+
change: boolean;
|
|
42
|
+
reMake: boolean;
|
|
43
|
+
reRender: boolean;
|
|
44
|
+
reSize: boolean;
|
|
45
|
+
reCompile: boolean;
|
|
46
|
+
};
|
|
47
|
+
reInit(spec?: T): void;
|
|
40
48
|
}
|
|
41
49
|
export declare const registerCartesianBandAxis: () => void;
|
|
@@ -73,6 +73,15 @@ class CartesianBandAxis extends axis_1.CartesianAxis {
|
|
|
73
73
|
minBandSize: minBandSize
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
+
_compareSpec(spec, prevSpec) {
|
|
77
|
+
const result = super._compareSpec(spec, prevSpec);
|
|
78
|
+
return result.reMake || (null == prevSpec ? void 0 : prevSpec.showAllGroupLayers) === (null == spec ? void 0 : spec.showAllGroupLayers) && (0,
|
|
79
|
+
vutils_1.isEqual)(null == prevSpec ? void 0 : prevSpec.layers, null == spec ? void 0 : spec.layers) || (result.reMake = !0),
|
|
80
|
+
result;
|
|
81
|
+
}
|
|
82
|
+
reInit(spec) {
|
|
83
|
+
super.reInit(), null == this || this._updateData();
|
|
84
|
+
}
|
|
76
85
|
}
|
|
77
86
|
|
|
78
87
|
exports.CartesianBandAxis = CartesianBandAxis, CartesianBandAxis.type = interface_1.ComponentTypeEnum.cartesianBandAxis,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/cartesian/band-axis.ts"],"names":[],"mappings":";;;AAAA,6CAAkE;AAClE,iCAAuC;AAEvC,+CAAoD;AACpD,6CAAmE;AACnE,8DAAyD;AAEzD,mDAAgD;AAChD,4CAA4C;AAC5C,2DAA6E;AAC7E,qEAAmE;AACnE,qDAA0E;AAS1E,MAAa,iBAA6E,SAAQ,oBAAgB;IAAlH;;QAEE,SAAI,GAAG,6BAAiB,CAAC,iBAAiB,CAAC;QAIjC,WAAM,GAAc,IAAI,kBAAS,EAAE,CAAC;IAuHhD,CAAC;IAnHW,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAES,gBAAgB;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAChF,CAAC;IAES,UAAU;QAClB,MAAM,QAAQ,GAAG,CAAC,QAAgB,CAAC,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,QAAgB,CAAC,EAAE,EAAE;YACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;QACrC,CAAC,CAAC;QAEF,OAAO;YACL,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,QAAQ;YACR,YAAY;YACZ,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YAC5B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;YACxB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;SAC1B,CAAC;IACJ,CAAC;IAES,sBAAsB;QAC9B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,QAAQ,CAAC;QAClC,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,wCAAmB,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,oBAAoB;QAClB,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,sBAAsB;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAChF,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aACjC;YACD,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aACvC;YACD,IAAI,WAAW,EAAE;gBACf,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aACvC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,EAAE;gBAC5F,MAAM,SAAS,GAAG,IAAA,4BAAmB,EACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAC3B,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,WAAW,EACvB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAC3B,CAAC;gBACF,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;iBAChE;qBAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACnD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjE;aACF;SACF;IACH,CAAC;IAGS,yBAAyB;;QACjC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3E,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,EAAE,CAAC;QAC5D,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAGjE,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;YAE1C,MAAM,gBAAgB,GAAG,CAAC,CAAS,EAAE,EAAE;gBACrC,MAAM,WAAW,GAAG,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE;oBACnC,OAAO,IAAA,4BAAmB,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,WAAW,CAAC;iBACxF;gBACD,MAAM,QAAQ,GAAG,IAAA,iBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAE5F,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;YACnG,CAAC,CAAC;YAEF,IAAI,IAAA,gBAAO,EAAC,QAAQ,CAAC,EAAE;gBACrB,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;aACvC;YACD,IAAI,IAAA,gBAAO,EAAC,WAAW,CAAC,EAAE;gBACxB,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;aAC7C;YACD,IAAI,IAAA,gBAAO,EAAC,WAAW,CAAC,EAAE;gBACxB,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;aAC7C;SACF;QAED,OAAO;YACL,QAAQ;YACR,WAAW;YACX,WAAW;SACZ,CAAC;IACJ,CAAC;;AA5HH,8CA6HC;AA5HQ,sBAAI,GAAG,6BAAiB,CAAC,iBAAiB,CAAC;AAG3C,yBAAO,GAAG,MAAM,CAAC;AA2H1B,IAAA,cAAK,EAAC,iBAAiB,EAAE,+BAAa,CAAC,CAAC;AAEjC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,IAAA,gCAAgB,GAAE,CAAC;IACnB,IAAA,gCAAgB,GAAE,CAAC;IACnB,IAAA,wBAAY,GAAE,CAAC;IACf,iBAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;AACvE,CAAC,CAAC;AALW,QAAA,yBAAyB,6BAKpC","file":"band-axis.js","sourcesContent":["import { BandScale, scaleWholeRangeSize } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport type { ICartesianBandAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { isNil, isString, isValid, mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerLineAxis, registerLineGrid } from '@visactor/vgrammar-core';\nimport { linearDiscreteTicks } from '@visactor/vrender-components';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\n\nexport interface CartesianBandAxis<T extends ICartesianBandAxisSpec = ICartesianBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianBandAxis<T extends ICartesianBandAxisSpec = ICartesianBandAxisSpec> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianBandAxis;\n type = ComponentTypeEnum.cartesianBandAxis;\n\n static specKey = 'axes';\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n protected updateScaleRange() {\n const isChanged = super.updateScaleRange();\n this.updateGroupScaleRange();\n\n return isChanged;\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);\n }\n\n protected axisHelper() {\n const getScale = (depth: number = 0) => {\n return this._scales[depth];\n };\n const getBandwidth = (depth: number = 0) => {\n return getScale(depth).bandwidth();\n };\n\n return {\n isContinuous: false,\n dataToPosition: this.dataToPosition.bind(this),\n getScale,\n getBandwidth,\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => this._inverse,\n getSpec: () => this._spec\n };\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, linearDiscreteTicks);\n\n return name;\n }\n transformScaleDomain() {\n this.updateFixedWholeLength();\n }\n\n updateFixedWholeLength() {\n if (this._scale) {\n const { bandSize, maxBandSize, minBandSize } = this._getOuterBandSizeFromSpec();\n if (bandSize) {\n this._scale.bandwidth(bandSize);\n }\n if (maxBandSize) {\n this._scale.maxBandwidth(maxBandSize);\n }\n if (minBandSize) {\n this._scale.minBandwidth(minBandSize);\n }\n // 更改 region 最大大小\n if (this._scale.isBandwidthFixed() && this._spec.autoRegionSize && (bandSize || maxBandSize)) {\n const rangeSize = scaleWholeRangeSize(\n this._scale.domain().length,\n bandSize ?? maxBandSize,\n this._scale.paddingInner(),\n this._scale.paddingOuter()\n );\n if (['bottom', 'top'].includes(this._orient)) {\n this._regions.forEach(region => region.setMaxWidth(rangeSize));\n } else if (['left', 'right'].includes(this._orient)) {\n this._regions.forEach(region => region.setMaxHeight(rangeSize));\n }\n }\n }\n }\n\n /** 获取最外层 scale 的实际 bandSize 配置 */\n protected _getOuterBandSizeFromSpec() {\n let { bandSize, maxBandSize, minBandSize, bandSizeLevel = 0 } = this._spec;\n const { gap, extend = 0 } = this._spec.bandSizeExtend ?? {};\n bandSizeLevel = Math.min(bandSizeLevel, this._scales.length - 1);\n\n // 由内而外计算最外层 scale 的 bandSize\n for (let i = bandSizeLevel; i > 0; i--) {\n const scale = this._scales[i];\n const domain = scale.domain();\n const paddingInner = scale.paddingInner();\n const paddingOuter = scale.paddingOuter();\n\n const getOuterBandSize = (b: number) => {\n const extendValue = i === bandSizeLevel ? extend : 0;\n if (isNil(gap) || i < bandSizeLevel) {\n return scaleWholeRangeSize(domain.length, b, paddingInner, paddingOuter) + extendValue;\n }\n const gapValue = isString(gap) ? b * (Number(gap.substring(0, gap.length - 1)) / 100) : gap;\n // 这里使组间距恰好等于柱间距\n return ((b + gapValue) * domain.length) / (this._scales[i - 1].paddingInner() + 1) + extendValue;\n };\n\n if (isValid(bandSize)) {\n bandSize = getOuterBandSize(bandSize);\n }\n if (isValid(maxBandSize)) {\n maxBandSize = getOuterBandSize(maxBandSize);\n }\n if (isValid(minBandSize)) {\n minBandSize = getOuterBandSize(minBandSize);\n }\n }\n\n return {\n bandSize,\n maxBandSize,\n minBandSize\n };\n }\n}\n\nmixin(CartesianBandAxis, BandAxisMixin);\n\nexport const registerCartesianBandAxis = () => {\n registerLineAxis();\n registerLineGrid();\n registerAxis();\n Factory.registerComponent(CartesianBandAxis.type, CartesianBandAxis);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/cartesian/band-axis.ts"],"names":[],"mappings":"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","file":"band-axis.js","sourcesContent":["import { BandScale, scaleWholeRangeSize } from '@visactor/vscale';\nimport { CartesianAxis } from './axis';\nimport type { ICartesianBandAxisSpec } from './interface';\nimport { ComponentTypeEnum } from '../../interface';\nimport { isEqual, isNil, isString, isValid, mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport { Factory } from '../../../core/factory';\nimport { registerAxis } from '../base-axis';\nimport { registerLineAxis, registerLineGrid } from '@visactor/vgrammar-core';\nimport { linearDiscreteTicks } from '@visactor/vrender-components';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\n\nexport interface CartesianBandAxis<T extends ICartesianBandAxisSpec = ICartesianBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n CartesianAxis<T> {}\n\nexport class CartesianBandAxis<T extends ICartesianBandAxisSpec = ICartesianBandAxisSpec> extends CartesianAxis<T> {\n static type = ComponentTypeEnum.cartesianBandAxis;\n type = ComponentTypeEnum.cartesianBandAxis;\n\n static specKey = 'axes';\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n protected updateScaleRange() {\n const isChanged = super.updateScaleRange();\n this.updateGroupScaleRange();\n\n return isChanged;\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(this._defaultBandInnerPadding, this._defaultBandOuterPadding);\n }\n\n protected axisHelper() {\n const getScale = (depth: number = 0) => {\n return this._scales[depth];\n };\n const getBandwidth = (depth: number = 0) => {\n return getScale(depth).bandwidth();\n };\n\n return {\n isContinuous: false,\n dataToPosition: this.dataToPosition.bind(this),\n getScale,\n getBandwidth,\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => this._inverse,\n getSpec: () => this._spec\n };\n }\n\n protected registerTicksTransform() {\n const name = `${this.type}-ticks`;\n registerDataSetInstanceTransform(this._option.dataSet, name, linearDiscreteTicks);\n\n return name;\n }\n transformScaleDomain() {\n this.updateFixedWholeLength();\n }\n\n updateFixedWholeLength() {\n if (this._scale) {\n const { bandSize, maxBandSize, minBandSize } = this._getOuterBandSizeFromSpec();\n if (bandSize) {\n this._scale.bandwidth(bandSize);\n }\n if (maxBandSize) {\n this._scale.maxBandwidth(maxBandSize);\n }\n if (minBandSize) {\n this._scale.minBandwidth(minBandSize);\n }\n // 更改 region 最大大小\n if (this._scale.isBandwidthFixed() && this._spec.autoRegionSize && (bandSize || maxBandSize)) {\n const rangeSize = scaleWholeRangeSize(\n this._scale.domain().length,\n bandSize ?? maxBandSize,\n this._scale.paddingInner(),\n this._scale.paddingOuter()\n );\n if (['bottom', 'top'].includes(this._orient)) {\n this._regions.forEach(region => region.setMaxWidth(rangeSize));\n } else if (['left', 'right'].includes(this._orient)) {\n this._regions.forEach(region => region.setMaxHeight(rangeSize));\n }\n }\n }\n }\n\n /** 获取最外层 scale 的实际 bandSize 配置 */\n protected _getOuterBandSizeFromSpec() {\n let { bandSize, maxBandSize, minBandSize, bandSizeLevel = 0 } = this._spec;\n const { gap, extend = 0 } = this._spec.bandSizeExtend ?? {};\n bandSizeLevel = Math.min(bandSizeLevel, this._scales.length - 1);\n\n // 由内而外计算最外层 scale 的 bandSize\n for (let i = bandSizeLevel; i > 0; i--) {\n const scale = this._scales[i];\n const domain = scale.domain();\n const paddingInner = scale.paddingInner();\n const paddingOuter = scale.paddingOuter();\n\n const getOuterBandSize = (b: number) => {\n const extendValue = i === bandSizeLevel ? extend : 0;\n if (isNil(gap) || i < bandSizeLevel) {\n return scaleWholeRangeSize(domain.length, b, paddingInner, paddingOuter) + extendValue;\n }\n const gapValue = isString(gap) ? b * (Number(gap.substring(0, gap.length - 1)) / 100) : gap;\n // 这里使组间距恰好等于柱间距\n return ((b + gapValue) * domain.length) / (this._scales[i - 1].paddingInner() + 1) + extendValue;\n };\n\n if (isValid(bandSize)) {\n bandSize = getOuterBandSize(bandSize);\n }\n if (isValid(maxBandSize)) {\n maxBandSize = getOuterBandSize(maxBandSize);\n }\n if (isValid(minBandSize)) {\n minBandSize = getOuterBandSize(minBandSize);\n }\n }\n\n return {\n bandSize,\n maxBandSize,\n minBandSize\n };\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (result.reMake) {\n return result;\n }\n\n if (prevSpec?.showAllGroupLayers !== spec?.showAllGroupLayers || !isEqual(prevSpec?.layers, spec?.layers)) {\n result.reMake = true;\n }\n\n return result;\n }\n\n reInit(spec?: T): void {\n super.reInit();\n\n (this as any)?._updateData();\n }\n}\n\nmixin(CartesianBandAxis, BandAxisMixin);\n\nexport const registerCartesianBandAxis = () => {\n registerLineAxis();\n registerLineGrid();\n registerAxis();\n Factory.registerComponent(CartesianBandAxis.type, CartesianBandAxis);\n};\n"]}
|
|
@@ -32,10 +32,12 @@ export interface BandAxisMixin {
|
|
|
32
32
|
_tickTransformOption: () => any;
|
|
33
33
|
_forceLayout: () => void;
|
|
34
34
|
_getNormalizedValue: (values: any[], length: number) => number;
|
|
35
|
+
registerTicksTransform: () => string;
|
|
35
36
|
}
|
|
36
37
|
export declare class BandAxisMixin {
|
|
37
38
|
private _tickDataMap;
|
|
38
39
|
protected _initData(): void;
|
|
40
|
+
protected _updateData(): void;
|
|
39
41
|
protected _rawDomainIndex: {
|
|
40
42
|
[key: string | number | symbol]: number;
|
|
41
43
|
}[];
|
|
@@ -30,6 +30,20 @@ class BandAxisMixin {
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
_updateData() {
|
|
34
|
+
var _a, _b, _c;
|
|
35
|
+
const tickTransformType = this.registerTicksTransform();
|
|
36
|
+
if (this._spec.showAllGroupLayers && this._scales.length > 1) {
|
|
37
|
+
const layers = null !== (_a = this._spec.layers) && void 0 !== _a ? _a : [];
|
|
38
|
+
Object.keys(this._tickDataMap).forEach((layer => {
|
|
39
|
+
const layerConfig = layers[this._scales.length - 1 - +layer] || {}, tickData = this._tickDataMap[layer], tickTransform = null == tickData ? void 0 : tickData.getDataView().transformsArr.find((t => t.type === tickTransformType));
|
|
40
|
+
tickTransform && (tickTransform.options = Object.assign(Object.assign({}, this._tickTransformOption()), layerConfig));
|
|
41
|
+
}));
|
|
42
|
+
} else {
|
|
43
|
+
const tickTransform = null === (_c = null === (_b = this._tickData) || void 0 === _b ? void 0 : _b[0]) || void 0 === _c ? void 0 : _c.getDataView().transformsArr.find((t => t.type === tickTransformType));
|
|
44
|
+
tickTransform && (tickTransform.options = this._tickTransformOption());
|
|
45
|
+
}
|
|
46
|
+
}
|
|
33
47
|
dataToPosition(values, cfg = {}) {
|
|
34
48
|
var _a, _b;
|
|
35
49
|
if (0 === values.length || 0 === this._scales.length) return 0;
|
|
@@ -93,7 +107,7 @@ class BandAxisMixin {
|
|
|
93
107
|
getLabelItems(length) {
|
|
94
108
|
const labelItems = [];
|
|
95
109
|
let preData = [];
|
|
96
|
-
return this._scales.forEach(((scale, index) => {
|
|
110
|
+
return (this._spec.showAllGroupLayers ? this._scales : [ this._scales[0] ]).forEach(((scale, index) => {
|
|
97
111
|
var _a;
|
|
98
112
|
const tickData = this._tickDataMap[index], isTickDataHaveData = null === (_a = null == tickData ? void 0 : tickData.getLatestData()) || void 0 === _a ? void 0 : _a.length, ticks = isTickDataHaveData ? tickData.getLatestData().map((obj => obj.value)) : scale.domain();
|
|
99
113
|
if (ticks && ticks.length) if (preData && preData.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/mixin/band-axis-mixin.ts"],"names":[],"mappings":"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","file":"band-axis-mixin.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { Dict } from '@visactor/vutils';\nimport { array, isArray } from '@visactor/vutils';\nimport type { Datum, IOrientType, IPolarOrientType, StringOrNumber } from '../../../typings';\nimport type { IEvent } from '../../../event/interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { IModel } from '../../../model/interface';\nimport type { IAxisLocationCfg } from '../interface';\nimport { CompilableData } from '../../../compile/data/compilable-data';\nimport type { AxisItem } from '@visactor/vrender-components';\nimport { getAxisItem } from '../util';\n\nexport interface BandAxisMixin {\n _orient: IOrientType | IPolarOrientType;\n _option: any;\n _scale: BandScale;\n _scales: BandScale[];\n _spec: any;\n _tick: any;\n _tickData: CompilableData[];\n _defaultBandPosition: number;\n _defaultBandInnerPadding: number;\n _defaultBandOuterPadding: number;\n event: IEvent;\n isSeriesDataEnable: () => boolean;\n collectData: (depth: number, rawData?: boolean) => { min: number; max: number; values: any[] }[];\n computeDomain: (data: { min: number; max: number; values: any[] }[]) => StringOrNumber[];\n transformScaleDomain: () => void;\n _initTickDataSet: (options: any, index?: number) => any;\n _tickTransformOption: () => any;\n _forceLayout: () => void;\n _getNormalizedValue: (values: any[], length: number) => number;\n}\n\nexport class BandAxisMixin {\n private _tickDataMap: Dict<any>;\n protected _initData() {\n if (this._spec.showAllGroupLayers && this._scales.length > 1) {\n // 显示所有分组层级\n for (let layer = 0; layer < this._scales.length; layer++) {\n const layers = this._spec.layers ?? [];\n const layerConfig = layers[this._scales.length - 1 - layer] || {};\n if (layerConfig.visible !== false && layerConfig.tickCount !== 0 && layerConfig.forceTickCount !== 0) {\n const tickData = this._initTickDataSet(\n {\n ...this._tickTransformOption(),\n ...layerConfig\n },\n layer\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n const compilableData = new CompilableData(this._option, tickData);\n this._tickData.push(compilableData);\n\n if (!this._tickDataMap) {\n this._tickDataMap = {};\n }\n this._tickDataMap[layer] = compilableData;\n }\n }\n } else {\n const tickData = this._initTickDataSet(this._tickTransformOption());\n tickData.target.addListener('change', this._forceLayout.bind(this));\n const compilableData = new CompilableData(this._option, tickData);\n this._tickData = [compilableData];\n this._tickDataMap = {\n 0: compilableData\n };\n }\n }\n protected _rawDomainIndex: { [key: string | number | symbol]: number }[] = [];\n\n dataToPosition(values: any[], cfg: IAxisLocationCfg = {}): number {\n if (values.length === 0 || this._scales.length === 0) {\n return 0;\n }\n const { position, bandScale } = this.getPosition(values);\n return (\n position + bandScale.bandwidth() * (cfg.bandPosition ?? this._spec.bandPosition ?? this._defaultBandPosition)\n );\n }\n\n valueToPosition(value: any): number {\n const bandStart = this._scale.scale(value);\n return bandStart;\n }\n\n updateGroupScaleRange() {\n let parentScale = this._scale;\n this._scales.forEach((scale, i) => {\n if (i > 0) {\n scale.range([0, parentScale.bandwidth()]);\n parentScale = scale;\n }\n });\n }\n\n getPosition(values: any[]) {\n let position = 0;\n let bandScale = this._scale;\n // 要不要性能优化?\n // 优化有没有用?\n if (this._scales.length === 1 || values.length === 1) {\n position = this.valueToPosition(values[0]);\n } else {\n const max = Math.min(values.length, this._scales.length);\n for (let i = 0; i < max; i++) {\n position += this._scales[i].scale(values[i]);\n }\n bandScale = this._scales[max - 1];\n }\n return { position, bandScale };\n }\n\n calcScales(DEFAULT_BAND_INNER_PADDING: number, DEFAULT_BAND_OUTER_PADDING: number) {\n const { bandPadding, paddingInner, paddingOuter } = this._spec;\n const isBandPaddingArray = isArray(bandPadding);\n const isPaddingInnerArray = isArray(paddingInner);\n const isPaddingOuterArray = isArray(paddingOuter);\n\n for (let i = 0; i < this._scales.length; i++) {\n const _padding = isBandPaddingArray ? bandPadding[i] : bandPadding;\n const _paddingInner = isPaddingInnerArray ? paddingInner[i] : paddingInner;\n const _paddingOuter = isPaddingOuterArray ? paddingOuter[i] : paddingOuter;\n\n this._scales[i]\n .paddingInner(_paddingInner ?? _padding ?? DEFAULT_BAND_INNER_PADDING, true)\n .paddingOuter(_paddingOuter ?? _padding ?? DEFAULT_BAND_OUTER_PADDING, true);\n }\n }\n computeBandDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n if (!data.length) {\n return [];\n }\n\n // 性能优化 9.13\n if (data.length === 1) {\n return data[0].values;\n }\n const tempSet = new Set();\n for (let i = 0; i < data.length; i++) {\n for (let j = 0; j < data[i].values.length; j++) {\n tempSet.add(data[i].values[j]);\n }\n }\n return Array.from(tempSet) as StringOrNumber[];\n }\n\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n if (!this._rawDomainIndex?.length && this._scales.length) {\n this._updateRawDomain();\n }\n const userDomain = this._spec.domain;\n for (let i = 0; i < this._scales.length; i++) {\n if (userDomain && userDomain.length && i === 0) {\n // 当数字映射字段存在分组时,只作用于第一个分组的domain,如 xField: ['x', 'type']\n this._scales[i].domain(userDomain);\n } else {\n const data = this.collectData(i);\n const domain = this.computeBandDomain(data);\n this._scales[i].domain(domain.sort((a, b) => this._rawDomainIndex[i][a] - this._rawDomainIndex[i][b]));\n }\n }\n this.transformScaleDomain();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as unknown as IModel });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as unknown as IModel, value: 'domain' });\n }\n\n protected getLabelItems(length: number) {\n const labelItems: Dict<any>[][] = [];\n let preData: any[] = [];\n\n this._scales.forEach((scale, index) => {\n const tickData = this._tickDataMap[index];\n\n // 因为多层级标签会依赖上一层标签的分组值定位,所以如果上一层标签没有内容,那么就直接获取 bandScale 的 domain()\n const isTickDataHaveData = tickData?.getLatestData()?.length;\n const ticks: string[] = isTickDataHaveData\n ? tickData.getLatestData().map((obj: Datum) => obj.value)\n : scale.domain();\n if (ticks && ticks.length) {\n if (preData && preData.length) {\n const currentLabelItems: any[] = [];\n const curData: any[] = [];\n preData.forEach(value => {\n ticks.forEach(tick => {\n const values = array(value).concat(tick);\n curData.push(values);\n\n if (isTickDataHaveData) {\n const axisItem = getAxisItem(tick, this._getNormalizedValue(values, length));\n currentLabelItems.push(axisItem);\n }\n });\n });\n if (isTickDataHaveData) {\n labelItems.push(currentLabelItems.filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1));\n }\n preData = curData;\n } else {\n ticks.forEach(tick => {\n preData.push(tick);\n });\n if (isTickDataHaveData) {\n labelItems.push(\n tickData\n .getLatestData()\n .map((obj: Datum) => {\n return getAxisItem(obj.value, this._getNormalizedValue([obj.value], length));\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n );\n }\n }\n }\n });\n\n return labelItems.reverse();\n }\n\n protected _updateRawDomain() {\n // 默认值设置了无效?\n this._rawDomainIndex = [];\n\n const userDomain = this._spec.domain;\n for (let i = 0; i < this._scales.length; i++) {\n if (userDomain && userDomain.length && i === 0) {\n // 当数字映射字段存在分组时,只作用于第一个分组的domain,如 xField: ['x', 'type']\n this._scales[i].domain(userDomain);\n } else {\n const data = this.collectData(i, true);\n const domain = this.computeBandDomain(data);\n this._rawDomainIndex[i] = {};\n domain.forEach((d, _i) => (this._rawDomainIndex[i][d] = _i));\n }\n }\n }\n\n protected _clearRawDomain() {\n this._rawDomainIndex = [];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/mixin/band-axis-mixin.ts"],"names":[],"mappings":"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","file":"band-axis-mixin.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { Dict } from '@visactor/vutils';\nimport { array, isArray } from '@visactor/vutils';\nimport type { Datum, IOrientType, IPolarOrientType, StringOrNumber } from '../../../typings';\nimport type { IEvent } from '../../../event/interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { IModel } from '../../../model/interface';\nimport type { IAxisLocationCfg } from '../interface';\nimport { CompilableData } from '../../../compile/data/compilable-data';\nimport type { AxisItem } from '@visactor/vrender-components';\nimport { getAxisItem } from '../util';\n\nexport interface BandAxisMixin {\n _orient: IOrientType | IPolarOrientType;\n _option: any;\n _scale: BandScale;\n _scales: BandScale[];\n _spec: any;\n _tick: any;\n _tickData: CompilableData[];\n _defaultBandPosition: number;\n _defaultBandInnerPadding: number;\n _defaultBandOuterPadding: number;\n event: IEvent;\n isSeriesDataEnable: () => boolean;\n collectData: (depth: number, rawData?: boolean) => { min: number; max: number; values: any[] }[];\n computeDomain: (data: { min: number; max: number; values: any[] }[]) => StringOrNumber[];\n transformScaleDomain: () => void;\n _initTickDataSet: (options: any, index?: number) => any;\n _tickTransformOption: () => any;\n _forceLayout: () => void;\n _getNormalizedValue: (values: any[], length: number) => number;\n registerTicksTransform: () => string;\n}\n\nexport class BandAxisMixin {\n private _tickDataMap: Dict<any>;\n protected _initData() {\n if (this._spec.showAllGroupLayers && this._scales.length > 1) {\n // 显示所有分组层级\n for (let layer = 0; layer < this._scales.length; layer++) {\n const layers = this._spec.layers ?? [];\n const layerConfig = layers[this._scales.length - 1 - layer] || {};\n if (layerConfig.visible !== false && layerConfig.tickCount !== 0 && layerConfig.forceTickCount !== 0) {\n const tickData = this._initTickDataSet(\n {\n ...this._tickTransformOption(),\n ...layerConfig\n },\n layer\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n const compilableData = new CompilableData(this._option, tickData);\n this._tickData.push(compilableData);\n\n if (!this._tickDataMap) {\n this._tickDataMap = {};\n }\n this._tickDataMap[layer] = compilableData;\n }\n }\n } else {\n const tickData = this._initTickDataSet(this._tickTransformOption());\n tickData.target.addListener('change', this._forceLayout.bind(this));\n const compilableData = new CompilableData(this._option, tickData);\n this._tickData = [compilableData];\n this._tickDataMap = {\n 0: compilableData\n };\n }\n }\n\n protected _updateData() {\n const tickTransformType = this.registerTicksTransform();\n\n if (this._spec.showAllGroupLayers && this._scales.length > 1) {\n const layers = this._spec.layers ?? [];\n Object.keys(this._tickDataMap).forEach(layer => {\n const layerConfig = layers[this._scales.length - 1 - +layer] || {};\n const tickData = this._tickDataMap[layer];\n const tickTransform = tickData?.getDataView().transformsArr.find((t: any) => t.type === tickTransformType);\n\n tickTransform &&\n (tickTransform.options = {\n ...this._tickTransformOption(),\n ...layerConfig\n });\n });\n } else {\n const tickTransform = this._tickData?.[0]?.getDataView().transformsArr.find(t => t.type === tickTransformType);\n\n tickTransform && (tickTransform.options = this._tickTransformOption());\n }\n }\n\n protected _rawDomainIndex: { [key: string | number | symbol]: number }[] = [];\n\n dataToPosition(values: any[], cfg: IAxisLocationCfg = {}): number {\n if (values.length === 0 || this._scales.length === 0) {\n return 0;\n }\n const { position, bandScale } = this.getPosition(values);\n return (\n position + bandScale.bandwidth() * (cfg.bandPosition ?? this._spec.bandPosition ?? this._defaultBandPosition)\n );\n }\n\n valueToPosition(value: any): number {\n const bandStart = this._scale.scale(value);\n return bandStart;\n }\n\n updateGroupScaleRange() {\n let parentScale = this._scale;\n this._scales.forEach((scale, i) => {\n if (i > 0) {\n scale.range([0, parentScale.bandwidth()]);\n parentScale = scale;\n }\n });\n }\n\n getPosition(values: any[]) {\n let position = 0;\n let bandScale = this._scale;\n // 要不要性能优化?\n // 优化有没有用?\n if (this._scales.length === 1 || values.length === 1) {\n position = this.valueToPosition(values[0]);\n } else {\n const max = Math.min(values.length, this._scales.length);\n for (let i = 0; i < max; i++) {\n position += this._scales[i].scale(values[i]);\n }\n bandScale = this._scales[max - 1];\n }\n return { position, bandScale };\n }\n\n calcScales(DEFAULT_BAND_INNER_PADDING: number, DEFAULT_BAND_OUTER_PADDING: number) {\n const { bandPadding, paddingInner, paddingOuter } = this._spec;\n const isBandPaddingArray = isArray(bandPadding);\n const isPaddingInnerArray = isArray(paddingInner);\n const isPaddingOuterArray = isArray(paddingOuter);\n\n for (let i = 0; i < this._scales.length; i++) {\n const _padding = isBandPaddingArray ? bandPadding[i] : bandPadding;\n const _paddingInner = isPaddingInnerArray ? paddingInner[i] : paddingInner;\n const _paddingOuter = isPaddingOuterArray ? paddingOuter[i] : paddingOuter;\n\n this._scales[i]\n .paddingInner(_paddingInner ?? _padding ?? DEFAULT_BAND_INNER_PADDING, true)\n .paddingOuter(_paddingOuter ?? _padding ?? DEFAULT_BAND_OUTER_PADDING, true);\n }\n }\n computeBandDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n if (!data.length) {\n return [];\n }\n\n // 性能优化 9.13\n if (data.length === 1) {\n return data[0].values;\n }\n const tempSet = new Set();\n for (let i = 0; i < data.length; i++) {\n for (let j = 0; j < data[i].values.length; j++) {\n tempSet.add(data[i].values[j]);\n }\n }\n return Array.from(tempSet) as StringOrNumber[];\n }\n\n protected updateScaleDomain() {\n if (!this.isSeriesDataEnable()) {\n return;\n }\n if (!this._rawDomainIndex?.length && this._scales.length) {\n this._updateRawDomain();\n }\n const userDomain = this._spec.domain;\n for (let i = 0; i < this._scales.length; i++) {\n if (userDomain && userDomain.length && i === 0) {\n // 当数字映射字段存在分组时,只作用于第一个分组的domain,如 xField: ['x', 'type']\n this._scales[i].domain(userDomain);\n } else {\n const data = this.collectData(i);\n const domain = this.computeBandDomain(data);\n this._scales[i].domain(domain.sort((a, b) => this._rawDomainIndex[i][a] - this._rawDomainIndex[i][b]));\n }\n }\n this.transformScaleDomain();\n this.event.emit(ChartEvent.scaleDomainUpdate, { model: this as unknown as IModel });\n this.event.emit(ChartEvent.scaleUpdate, { model: this as unknown as IModel, value: 'domain' });\n }\n\n protected getLabelItems(length: number) {\n const labelItems: Dict<any>[][] = [];\n let preData: any[] = [];\n\n // 只有需要展示多层标签的时候,才需要计算,否则不需要计算\n (this._spec.showAllGroupLayers ? this._scales : [this._scales[0]]).forEach((scale, index) => {\n const tickData = this._tickDataMap[index];\n\n // 因为多层级标签会依赖上一层标签的分组值定位,所以如果上一层标签没有内容,那么就直接获取 bandScale 的 domain()\n const isTickDataHaveData = tickData?.getLatestData()?.length;\n const ticks: string[] = isTickDataHaveData\n ? tickData.getLatestData().map((obj: Datum) => obj.value)\n : scale.domain();\n if (ticks && ticks.length) {\n if (preData && preData.length) {\n const currentLabelItems: any[] = [];\n const curData: any[] = [];\n preData.forEach(value => {\n ticks.forEach(tick => {\n const values = array(value).concat(tick);\n curData.push(values);\n\n if (isTickDataHaveData) {\n const axisItem = getAxisItem(tick, this._getNormalizedValue(values, length));\n currentLabelItems.push(axisItem);\n }\n });\n });\n if (isTickDataHaveData) {\n labelItems.push(currentLabelItems.filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1));\n }\n preData = curData;\n } else {\n ticks.forEach(tick => {\n preData.push(tick);\n });\n if (isTickDataHaveData) {\n labelItems.push(\n tickData\n .getLatestData()\n .map((obj: Datum) => {\n return getAxisItem(obj.value, this._getNormalizedValue([obj.value], length));\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n );\n }\n }\n }\n });\n\n return labelItems.reverse();\n }\n\n protected _updateRawDomain() {\n // 默认值设置了无效?\n this._rawDomainIndex = [];\n\n const userDomain = this._spec.domain;\n for (let i = 0; i < this._scales.length; i++) {\n if (userDomain && userDomain.length && i === 0) {\n // 当数字映射字段存在分组时,只作用于第一个分组的domain,如 xField: ['x', 'type']\n this._scales[i].domain(userDomain);\n } else {\n const data = this.collectData(i, true);\n const domain = this.computeBandDomain(data);\n this._rawDomainIndex[i] = {};\n domain.forEach((d, _i) => (this._rawDomainIndex[i][d] = _i));\n }\n }\n }\n\n protected _clearRawDomain() {\n this._rawDomainIndex = [];\n }\n}\n"]}
|
package/cjs/core/index.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { VChart } from './vchart';
|
|
2
2
|
import { Factory } from './factory';
|
|
3
3
|
export { VChart, Factory };
|
|
4
|
-
export declare const version = "1.13.13-alpha.
|
|
4
|
+
export declare const version = "1.13.13-alpha.3";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export type { IStateSpec, StateValueType } from '../compile/mark';
|
|
7
7
|
export type { IRegion } from '../region/interface';
|
|
8
8
|
export * from '../typings/spec/common';
|
|
9
9
|
export * from '../event/interface';
|
|
10
10
|
export * from '../theme/interface';
|
|
11
|
-
export * from '../compile/mark/interface';
|
|
12
11
|
export * from './interface';
|
|
13
12
|
export * from '../constant/base';
|
|
14
13
|
export * from '../constant/data';
|
package/cjs/core/index.js
CHANGED
|
@@ -35,12 +35,11 @@ Object.defineProperty(exports, "Factory", {
|
|
|
35
35
|
get: function() {
|
|
36
36
|
return factory_1.Factory;
|
|
37
37
|
}
|
|
38
|
-
}), exports.version = "1.13.13-alpha.
|
|
38
|
+
}), exports.version = "1.13.13-alpha.3", __exportStar(require("../typings/spec/common"), exports),
|
|
39
39
|
__exportStar(require("../event/interface"), exports), __exportStar(require("../theme/interface"), exports),
|
|
40
|
-
__exportStar(require("
|
|
41
|
-
__exportStar(require("../constant/
|
|
42
|
-
__exportStar(require("../typings/
|
|
43
|
-
__exportStar(require("../theme/index"), exports);
|
|
40
|
+
__exportStar(require("./interface"), exports), __exportStar(require("../constant/base"), exports),
|
|
41
|
+
__exportStar(require("../constant/data"), exports), __exportStar(require("../typings/spec/index"), exports),
|
|
42
|
+
__exportStar(require("../typings/tooltip"), exports), __exportStar(require("../theme/index"), exports);
|
|
44
43
|
|
|
45
44
|
var vrender_core_1 = require("@visactor/vrender-core");
|
|
46
45
|
|
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,iBAAiB,CAAC;AAOzC,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AACnC,
|
|
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,iBAAiB,CAAC;AAOzC,yDAAuC;AACvC,qDAAmC;AACnC,qDAAmC;AACnC,8CAA4B;AAG5B,mDAAiC;AACjC,mDAAiC;AAKjC,wDAAsC;AAGtC,qDAAmC;AAGnC,iDAA+B;AAG/B,uDAYgC;AAX9B,uGAAA,OAAO,OAAA;AACP,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,0GAAA,UAAU,OAAA;AACV,yGAAA,SAAS,OAAA;AACT,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,0GAAA,UAAU,OAAA;AACV,4GAAA,YAAY,OAAA;AACZ,4GAAA,YAAY,OAAA;AACZ,2GAAA,WAAW,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.13.13-alpha.3\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol,\n ManualTicker,\n StreamLight\n} from '@visactor/vrender-core';\n"]}
|
package/cjs/series/dot/dot.d.ts
CHANGED
|
@@ -63,7 +63,7 @@ export declare class DotSeries<T extends IDotSeriesSpec = IDotSeriesSpec> extend
|
|
|
63
63
|
protected initTooltip(): void;
|
|
64
64
|
onEvaluateEnd(ctx: IModelEvaluateOption): void;
|
|
65
65
|
protected onMarkTreePositionUpdate(marks: IMark[]): void;
|
|
66
|
-
getDotData(): import("
|
|
66
|
+
getDotData(): import("../../compile/mark").IMarkData;
|
|
67
67
|
protected _getDataIdKey(): any;
|
|
68
68
|
getStackValueField(): string;
|
|
69
69
|
getActiveMarks(): IMark[];
|
|
@@ -47,7 +47,7 @@ export declare class LinkSeries<T extends ILinkSeriesSpec = ILinkSeriesSpec> ext
|
|
|
47
47
|
initInteraction(): void;
|
|
48
48
|
protected initTooltip(): void;
|
|
49
49
|
protected onMarkTreePositionUpdate(marks: IMark[]): void;
|
|
50
|
-
getDotInfoData(): import("
|
|
50
|
+
getDotInfoData(): import("../../compile/mark").IMarkData;
|
|
51
51
|
getActiveMarks(): IMark[];
|
|
52
52
|
}
|
|
53
53
|
export declare const registerLinkSeries: () => void;
|
|
@@ -50,7 +50,6 @@ export declare class SankeySeries<T extends ISankeySeriesSpec = ISankeySeriesSpe
|
|
|
50
50
|
private _createText;
|
|
51
51
|
initAnimation(): void;
|
|
52
52
|
protected initEvent(): void;
|
|
53
|
-
protected _initEmphasisEvent(): void;
|
|
54
53
|
private nodesSeriesDataUpdate;
|
|
55
54
|
private linksSeriesDataUpdate;
|
|
56
55
|
protected _handleEmphasisElement: (params: ExtendEventParam) => void;
|
|
@@ -236,8 +236,8 @@ class SankeySeries extends cartesian_1.CartesianSeries {
|
|
|
236
236
|
};
|
|
237
237
|
}
|
|
238
238
|
get direction() {
|
|
239
|
-
var _a
|
|
240
|
-
return null !== (
|
|
239
|
+
var _a;
|
|
240
|
+
return null !== (_a = this._spec.direction) && void 0 !== _a ? _a : "horizontal";
|
|
241
241
|
}
|
|
242
242
|
getCategoryField() {
|
|
243
243
|
return this._categoryField;
|
|
@@ -471,14 +471,10 @@ class SankeySeries extends cartesian_1.CartesianSeries {
|
|
|
471
471
|
utils_1.userAnimationConfig)("link", this._spec, this._markAttributeContext)));
|
|
472
472
|
}
|
|
473
473
|
initEvent() {
|
|
474
|
-
var _a, _b;
|
|
474
|
+
var _a, _b, _c;
|
|
475
475
|
super.initEvent(), null === (_a = this._nodesSeriesData.getDataView()) || void 0 === _a || _a.target.addListener("change", this.nodesSeriesDataUpdate.bind(this)),
|
|
476
|
-
null === (_b = this._linksSeriesData.getDataView()) || void 0 === _b || _b.target.addListener("change", this.linksSeriesDataUpdate.bind(this))
|
|
477
|
-
this.
|
|
478
|
-
}
|
|
479
|
-
_initEmphasisEvent() {
|
|
480
|
-
var _a;
|
|
481
|
-
const emphasisSpec = null !== (_a = this._spec.emphasis) && void 0 !== _a ? _a : {};
|
|
476
|
+
null === (_b = this._linksSeriesData.getDataView()) || void 0 === _b || _b.target.addListener("change", this.linksSeriesDataUpdate.bind(this));
|
|
477
|
+
const emphasisSpec = null !== (_c = this._spec.emphasis) && void 0 !== _c ? _c : {};
|
|
482
478
|
if (!0 !== this._option.disableTriggerEvent && emphasisSpec.enable && ("adjacency" === emphasisSpec.effect || "related" === emphasisSpec.effect)) {
|
|
483
479
|
const event = "hover" === emphasisSpec.trigger ? "pointerover" : "pointerdown";
|
|
484
480
|
this.event.on(event, {
|