@visactor/vseed 0.2.3 → 0.2.5
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/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/{axisStyle.js → bandAxisStyle.js} +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/bandAxisStyle.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/heatmapBandAxis.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/heatmapBandAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js +50 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/index.d.ts +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/index.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/linearAxisStyle.d.ts +14 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/linearAxisStyle.js +78 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/linearAxisStyle.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/xBand.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js +14 -68
- package/dist/esm/pipeline/spec/chart/pipes/axes/xLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yBand.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js +14 -68
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js +13 -59
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js +16 -57
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.js.map +1 -1
- package/dist/esm/types/properties/config/crosshair/crosshair.d.ts +36 -0
- package/dist/esm/types/zVseed.d.ts +1 -1
- package/dist/umd/index.js +142 -217
- package/dist/umd/index.js.map +1 -1
- package/package.json +12 -12
- package/dist/esm/pipeline/spec/chart/pipes/axes/axisStyle.js.map +0 -1
- /package/dist/esm/pipeline/spec/chart/pipes/axes/{axisStyle.d.ts → bandAxisStyle.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AXIS_LABEL_SPACE, LINEAR_AXIS_INNER_OFFSET_TOP } from "../../../../utils/constant.js";
|
|
2
1
|
import { createNumFormatter } from "../../../../utils/index.js";
|
|
3
2
|
import { isEmpty, isNullish } from "remeda";
|
|
4
3
|
import { createLinearFormat } from "./format/linearFormat.js";
|
|
5
4
|
import { defaultTitleText } from "./title/defaultTitleText.js";
|
|
5
|
+
import { linearAxisStyle } from "./linearAxisStyle.js";
|
|
6
6
|
const yLinearPrimary = (spec, context)=>{
|
|
7
7
|
const result = {
|
|
8
8
|
...spec
|
|
@@ -24,66 +24,20 @@ const yLinearPrimary = (spec, context)=>{
|
|
|
24
24
|
];
|
|
25
25
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[0];
|
|
26
26
|
if (!result.axes) result.axes = [];
|
|
27
|
-
const {
|
|
27
|
+
const { autoFormat, numFormat = {} } = yAxisConfig ?? {};
|
|
28
28
|
const formatter = createNumFormatter(numFormat);
|
|
29
|
+
const formatMethod = (value)=>createLinearFormat(value, autoFormat, numFormat, formatter);
|
|
30
|
+
const titleText = yAxisConfig?.title?.titleText || defaultTitleText(measures, dimensions, encoding.y);
|
|
29
31
|
const linearAxis = {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
max,
|
|
40
|
-
min,
|
|
41
|
-
label: {
|
|
42
|
-
space: AXIS_LABEL_SPACE,
|
|
43
|
-
visible: label?.visible,
|
|
44
|
-
formatMethod: (value)=>createLinearFormat(value, autoFormat, numFormat, formatter),
|
|
45
|
-
style: {
|
|
46
|
-
fill: label?.labelColor,
|
|
47
|
-
angle: label?.labelAngle,
|
|
48
|
-
fontSize: label?.labelFontSize,
|
|
49
|
-
fontWeight: label?.labelFontWeight
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
title: {
|
|
53
|
-
visible: title?.visible,
|
|
54
|
-
text: title?.titleText || defaultTitleText(measures, dimensions, encoding.y),
|
|
55
|
-
style: {
|
|
56
|
-
fill: title?.titleColor,
|
|
57
|
-
fontSize: title?.titleFontSize,
|
|
58
|
-
fontWeight: title?.titleFontWeight
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
tick: {
|
|
62
|
-
visible: tick?.visible,
|
|
63
|
-
tickSize: tick?.tickSize,
|
|
64
|
-
inside: tick?.tickInside,
|
|
65
|
-
style: {
|
|
66
|
-
stroke: tick?.tickColor
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
grid: {
|
|
70
|
-
visible: grid?.visible,
|
|
71
|
-
style: {
|
|
72
|
-
lineWidth: grid?.gridWidth,
|
|
73
|
-
stroke: grid?.gridColor,
|
|
74
|
-
lineDash: grid?.gridLineDash
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
domainLine: {
|
|
78
|
-
visible: line?.visible,
|
|
79
|
-
style: {
|
|
80
|
-
lineWidth: line?.lineWidth,
|
|
81
|
-
stroke: line?.lineColor
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
innerOffset: {
|
|
85
|
-
top: LINEAR_AXIS_INNER_OFFSET_TOP
|
|
86
|
-
}
|
|
32
|
+
...linearAxisStyle({
|
|
33
|
+
...yAxisConfig,
|
|
34
|
+
orient: 'left',
|
|
35
|
+
formatMethod,
|
|
36
|
+
titleText,
|
|
37
|
+
id,
|
|
38
|
+
seriesId
|
|
39
|
+
}),
|
|
40
|
+
visible: isEmptySecondary ? false : yAxisConfig?.visible ?? true
|
|
87
41
|
};
|
|
88
42
|
result.axes = [
|
|
89
43
|
...result.axes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/axes/yLinearPrimary.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/axes/yLinearPrimary.ts"],"sourcesContent":["import type { ISpec } from '@visactor/vchart'\nimport {
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/axes/yLinearPrimary.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/axes/yLinearPrimary.ts"],"sourcesContent":["import type { ISpec } from '@visactor/vchart'\nimport { createNumFormatter } from '../../../../utils'\nimport type { VChartSpecPipe, YLinearAxis } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\nimport { createLinearFormat } from './format/linearFormat'\nimport { defaultTitleText } from './title/defaultTitleText'\nimport { linearAxisStyle } from './linearAxisStyle'\n\nexport const yLinearPrimary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo, encoding, measures, dimensions } = advancedVSeed\n const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0]\n // TODO: default config missing\n const primaryYAxis = advancedVSeed.config?.[chartType as 'dualAxis']?.primaryYAxis as YLinearAxis | YLinearAxis[]\n const yAxisConfig = Array.isArray(primaryYAxis) ? primaryYAxis[index] || primaryYAxis[0] : primaryYAxis\n const alignTicks = advancedVSeed.config?.[chartType as 'dualAxis']?.alignTicks as boolean | boolean[]\n const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks\n\n if (isNullish(foldInfoList?.[0])) {\n return result\n }\n\n const isEmptySecondary = isEmpty(foldInfoList?.[0].foldMap)\n\n const id = `${reshapeInfoId}-primary-axis`\n const seriesIds = [`${reshapeInfoId}-primary-series`, `${reshapeInfoId}-secondary-series`]\n const seriesId = alignTicksConfig ? seriesIds : seriesIds[0]\n\n if (!result.axes) {\n result.axes = []\n }\n\n const { autoFormat, numFormat = {} } = yAxisConfig ?? {}\n\n const formatter = createNumFormatter(numFormat)\n\n const formatMethod = (value: string) => {\n return createLinearFormat(value, autoFormat, numFormat, formatter)\n }\n\n const titleText = yAxisConfig?.title?.titleText || defaultTitleText(measures, dimensions, encoding.y as string[])\n\n const linearAxis = {\n ...linearAxisStyle({\n ...yAxisConfig,\n orient: 'left',\n formatMethod,\n titleText,\n id,\n seriesId,\n }),\n visible: isEmptySecondary ? false : (yAxisConfig?.visible ?? true),\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n"],"names":["yLinearPrimary","spec","context","result","advancedVSeed","vseed","chartType","datasetReshapeInfo","encoding","measures","dimensions","index","reshapeInfoId","foldInfoList","primaryYAxis","yAxisConfig","Array","alignTicks","alignTicksConfig","isNullish","isEmptySecondary","isEmpty","id","seriesIds","seriesId","autoFormat","numFormat","formatter","createNumFormatter","formatMethod","value","createLinearFormat","titleText","defaultTitleText","linearAxis","linearAxisStyle"],"mappings":";;;;;AAQO,MAAMA,iBAAiC,CAACC,MAAMC;IACnD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAE,GAAGD;IACtB,MAAM,EAAEE,kBAAkB,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAAGN;IAC/D,MAAM,EAAEO,KAAK,EAAE,IAAIC,aAAa,EAAEC,YAAY,EAAE,GAAGN,kBAAkB,CAAC,EAAE;IAExE,MAAMO,eAAeV,cAAc,MAAM,EAAE,CAACE,UAAwB,EAAE;IACtE,MAAMS,cAAcC,MAAM,OAAO,CAACF,gBAAgBA,YAAY,CAACH,MAAM,IAAIG,YAAY,CAAC,EAAE,GAAGA;IAC3F,MAAMG,aAAab,cAAc,MAAM,EAAE,CAACE,UAAwB,EAAE;IACpE,MAAMY,mBAAmBF,MAAM,OAAO,CAACC,cAAcA,UAAU,CAACN,MAAM,IAAIM,UAAU,CAAC,EAAE,GAAGA;IAE1F,IAAIE,UAAUN,cAAc,CAAC,EAAE,GAC7B,OAAOV;IAGT,MAAMiB,mBAAmBC,QAAQR,cAAc,CAAC,EAAE,CAAC;IAEnD,MAAMS,KAAK,GAAGV,cAAc,aAAa,CAAC;IAC1C,MAAMW,YAAY;QAAC,GAAGX,cAAc,eAAe,CAAC;QAAE,GAAGA,cAAc,iBAAiB,CAAC;KAAC;IAC1F,MAAMY,WAAWN,mBAAmBK,YAAYA,SAAS,CAAC,EAAE;IAE5D,IAAI,CAACpB,OAAO,IAAI,EACdA,OAAO,IAAI,GAAG,EAAE;IAGlB,MAAM,EAAEsB,UAAU,EAAEC,YAAY,CAAC,CAAC,EAAE,GAAGX,eAAe,CAAC;IAEvD,MAAMY,YAAYC,mBAAmBF;IAErC,MAAMG,eAAe,CAACC,QACbC,mBAAmBD,OAAOL,YAAYC,WAAWC;IAG1D,MAAMK,YAAYjB,aAAa,OAAO,aAAakB,iBAAiBxB,UAAUC,YAAYF,SAAS,CAAC;IAEpG,MAAM0B,aAAa;QACjB,GAAGC,gBAAgB;YACjB,GAAGpB,WAAW;YACd,QAAQ;YACRc;YACAG;YACAV;YACAE;QACF,EAAE;QACF,SAASJ,mBAAmB,QAASL,aAAa,WAAW;IAC/D;IAEAZ,OAAO,IAAI,GAAG;WAAIA,OAAO,IAAI;QAAE+B;KAAW;IAE1C,OAAO/B;AACT"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AXIS_LABEL_SPACE, LINEAR_AXIS_INNER_OFFSET_TOP } from "../../../../utils/constant.js";
|
|
2
1
|
import { createNumFormatter } from "../../../../utils/index.js";
|
|
3
2
|
import { isEmpty, isNullish } from "remeda";
|
|
4
3
|
import { createLinearFormat } from "./format/linearFormat.js";
|
|
5
4
|
import { defaultTitleText } from "./title/defaultTitleText.js";
|
|
5
|
+
import { linearAxisStyle } from "./linearAxisStyle.js";
|
|
6
6
|
const yLinearSecondary = (spec, context)=>{
|
|
7
7
|
const result = {
|
|
8
8
|
...spec
|
|
@@ -29,66 +29,25 @@ const yLinearSecondary = (spec, context)=>{
|
|
|
29
29
|
];
|
|
30
30
|
const seriesId = alignTicksConfig ? seriesIds : seriesIds[1];
|
|
31
31
|
if (!result.axes) result.axes = [];
|
|
32
|
-
const {
|
|
32
|
+
const { autoFormat, numFormat = {} } = yAxisConfig ?? {};
|
|
33
33
|
const formatter = createNumFormatter(numFormat);
|
|
34
|
-
const
|
|
35
|
-
|
|
34
|
+
const formatMethod = (value)=>createLinearFormat(value, autoFormat, numFormat, formatter);
|
|
35
|
+
const titleText = yAxisConfig?.title?.titleText || defaultTitleText(measures, dimensions, encoding.y);
|
|
36
|
+
const baseStyle = linearAxisStyle({
|
|
37
|
+
...yAxisConfig,
|
|
38
|
+
orient: 'right',
|
|
39
|
+
formatMethod,
|
|
40
|
+
titleText,
|
|
36
41
|
id,
|
|
37
42
|
seriesId,
|
|
38
|
-
sync
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
zero: log ? false : zero,
|
|
44
|
-
inverse,
|
|
45
|
-
max,
|
|
46
|
-
min,
|
|
47
|
-
label: {
|
|
48
|
-
space: AXIS_LABEL_SPACE,
|
|
49
|
-
visible: label?.visible,
|
|
50
|
-
formatMethod: (value)=>createLinearFormat(value, autoFormat, numFormat, formatter),
|
|
51
|
-
style: {
|
|
52
|
-
fill: label?.labelColor,
|
|
53
|
-
angle: label?.labelAngle,
|
|
54
|
-
fontSize: label?.labelFontSize,
|
|
55
|
-
fontWeight: label?.labelFontWeight
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
title: {
|
|
59
|
-
visible: title?.visible,
|
|
60
|
-
text: title?.titleText || defaultTitleText(measures, dimensions, encoding.y),
|
|
61
|
-
style: {
|
|
62
|
-
fill: title?.titleColor,
|
|
63
|
-
fontSize: title?.titleFontSize,
|
|
64
|
-
fontWeight: title?.titleFontWeight
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
tick: {
|
|
68
|
-
visible: tick?.visible,
|
|
69
|
-
tickSize: tick?.tickSize,
|
|
70
|
-
inside: tick?.tickInside,
|
|
71
|
-
style: {
|
|
72
|
-
stroke: tick?.tickColor
|
|
73
|
-
}
|
|
74
|
-
},
|
|
43
|
+
sync
|
|
44
|
+
});
|
|
45
|
+
const linearAxis = {
|
|
46
|
+
...baseStyle,
|
|
47
|
+
visible: isEmptySecondary ? false : yAxisConfig?.visible ?? true,
|
|
75
48
|
grid: {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
lineWidth: grid?.gridWidth,
|
|
79
|
-
stroke: grid?.gridColor,
|
|
80
|
-
lineDash: grid?.gridLineDash
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
domainLine: {
|
|
84
|
-
visible: line?.visible,
|
|
85
|
-
style: {
|
|
86
|
-
lineWidth: line?.lineWidth,
|
|
87
|
-
stroke: line?.lineColor
|
|
88
|
-
}
|
|
89
|
-
},
|
|
90
|
-
innerOffset: {
|
|
91
|
-
top: LINEAR_AXIS_INNER_OFFSET_TOP
|
|
49
|
+
...baseStyle.grid,
|
|
50
|
+
visible: onlySecondary ? true : yAxisConfig?.grid?.visible
|
|
92
51
|
}
|
|
93
52
|
};
|
|
94
53
|
result.axes = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/axes/yLinearSecondary.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/axes/yLinearSecondary.ts"],"sourcesContent":["import type { ISpec } from '@visactor/vchart'\nimport {
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/axes/yLinearSecondary.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/axes/yLinearSecondary.ts"],"sourcesContent":["import type { ISpec } from '@visactor/vchart'\nimport { createNumFormatter } from '../../../../utils'\nimport type { VChartSpecPipe, YLinearAxis } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\nimport { createLinearFormat } from './format/linearFormat'\nimport { defaultTitleText } from './title/defaultTitleText'\nimport { linearAxisStyle } from './linearAxisStyle'\n\nexport const yLinearSecondary: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as ISpec\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n const { datasetReshapeInfo, measures, dimensions, encoding } = advancedVSeed\n const { index, id: reshapeInfoId, foldInfoList } = datasetReshapeInfo[0]\n // TODO: default config missing\n const secondaryYAxis = advancedVSeed.config?.[chartType as 'dualAxis']?.secondaryYAxis as YLinearAxis | YLinearAxis[]\n const yAxisConfig = Array.isArray(secondaryYAxis) ? secondaryYAxis[index] || secondaryYAxis[0] : secondaryYAxis\n const alignTicks = advancedVSeed.config?.[chartType as 'dualAxis']?.alignTicks as boolean | boolean[]\n const alignTicksConfig = Array.isArray(alignTicks) ? alignTicks[index] || alignTicks[0] : alignTicks\n\n if (isNullish(foldInfoList?.[1])) {\n return result\n }\n\n const isEmptySecondary = isEmpty(foldInfoList?.[1].foldMap)\n const onlySecondary = isEmpty(foldInfoList?.[0].foldMap) && !isEmptySecondary\n\n const sync = {\n axisId: `${reshapeInfoId}-primary-axis`,\n zeroAlign: true,\n }\n\n const id = `${reshapeInfoId}-secondary-axis`\n const seriesIds = [`${reshapeInfoId}-primary-series`, `${reshapeInfoId}-secondary-series`]\n const seriesId = alignTicksConfig ? seriesIds : seriesIds[1]\n if (!result.axes) {\n result.axes = []\n }\n\n const { autoFormat, numFormat = {} } = yAxisConfig ?? {}\n\n const formatter = createNumFormatter(numFormat)\n\n const formatMethod = (value: string) => {\n return createLinearFormat(value, autoFormat, numFormat, formatter)\n }\n\n const titleText = yAxisConfig?.title?.titleText || defaultTitleText(measures, dimensions, encoding.y as string[])\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const baseStyle = linearAxisStyle({\n ...yAxisConfig,\n orient: 'right',\n formatMethod,\n titleText,\n id,\n seriesId,\n sync,\n })\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const linearAxis = {\n ...baseStyle,\n visible: isEmptySecondary ? false : (yAxisConfig?.visible ?? true),\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n grid: {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n ...baseStyle.grid,\n visible: onlySecondary ? true : yAxisConfig?.grid?.visible,\n },\n }\n\n result.axes = [...result.axes, linearAxis] as ISpec['axes']\n\n return result\n}\n"],"names":["yLinearSecondary","spec","context","result","advancedVSeed","vseed","chartType","datasetReshapeInfo","measures","dimensions","encoding","index","reshapeInfoId","foldInfoList","secondaryYAxis","yAxisConfig","Array","alignTicks","alignTicksConfig","isNullish","isEmptySecondary","isEmpty","onlySecondary","sync","id","seriesIds","seriesId","autoFormat","numFormat","formatter","createNumFormatter","formatMethod","value","createLinearFormat","titleText","defaultTitleText","baseStyle","linearAxisStyle","linearAxis"],"mappings":";;;;;AAQO,MAAMA,mBAAmC,CAACC,MAAMC;IACrD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAE,GAAGD;IACtB,MAAM,EAAEE,kBAAkB,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,QAAQ,EAAE,GAAGN;IAC/D,MAAM,EAAEO,KAAK,EAAE,IAAIC,aAAa,EAAEC,YAAY,EAAE,GAAGN,kBAAkB,CAAC,EAAE;IAExE,MAAMO,iBAAiBV,cAAc,MAAM,EAAE,CAACE,UAAwB,EAAE;IACxE,MAAMS,cAAcC,MAAM,OAAO,CAACF,kBAAkBA,cAAc,CAACH,MAAM,IAAIG,cAAc,CAAC,EAAE,GAAGA;IACjG,MAAMG,aAAab,cAAc,MAAM,EAAE,CAACE,UAAwB,EAAE;IACpE,MAAMY,mBAAmBF,MAAM,OAAO,CAACC,cAAcA,UAAU,CAACN,MAAM,IAAIM,UAAU,CAAC,EAAE,GAAGA;IAE1F,IAAIE,UAAUN,cAAc,CAAC,EAAE,GAC7B,OAAOV;IAGT,MAAMiB,mBAAmBC,QAAQR,cAAc,CAAC,EAAE,CAAC;IACnD,MAAMS,gBAAgBD,QAAQR,cAAc,CAAC,EAAE,CAAC,YAAY,CAACO;IAE7D,MAAMG,OAAO;QACX,QAAQ,GAAGX,cAAc,aAAa,CAAC;QACvC,WAAW;IACb;IAEA,MAAMY,KAAK,GAAGZ,cAAc,eAAe,CAAC;IAC5C,MAAMa,YAAY;QAAC,GAAGb,cAAc,eAAe,CAAC;QAAE,GAAGA,cAAc,iBAAiB,CAAC;KAAC;IAC1F,MAAMc,WAAWR,mBAAmBO,YAAYA,SAAS,CAAC,EAAE;IAC5D,IAAI,CAACtB,OAAO,IAAI,EACdA,OAAO,IAAI,GAAG,EAAE;IAGlB,MAAM,EAAEwB,UAAU,EAAEC,YAAY,CAAC,CAAC,EAAE,GAAGb,eAAe,CAAC;IAEvD,MAAMc,YAAYC,mBAAmBF;IAErC,MAAMG,eAAe,CAACC,QACbC,mBAAmBD,OAAOL,YAAYC,WAAWC;IAG1D,MAAMK,YAAYnB,aAAa,OAAO,aAAaoB,iBAAiB3B,UAAUC,YAAYC,SAAS,CAAC;IAGpG,MAAM0B,YAAYC,gBAAgB;QAChC,GAAGtB,WAAW;QACd,QAAQ;QACRgB;QACAG;QACAV;QACAE;QACAH;IACF;IAGA,MAAMe,aAAa;QACjB,GAAGF,SAAS;QACZ,SAAShB,mBAAmB,QAASL,aAAa,WAAW;QAE7D,MAAM;YAEJ,GAAGqB,UAAU,IAAI;YACjB,SAASd,gBAAgB,OAAOP,aAAa,MAAM;QACrD;IACF;IAEAZ,OAAO,IAAI,GAAG;WAAIA,OAAO,IAAI;QAAEmC;KAAW;IAE1C,OAAOnC;AACT"}
|
|
@@ -36,8 +36,8 @@ const dimensionLinkage = (spec, context)=>{
|
|
|
36
36
|
});
|
|
37
37
|
spec.chartDimensionLinkage = {
|
|
38
38
|
showTooltip: config.showTooltip ?? chartSpec?.tooltip?.dimension?.visible ?? true,
|
|
39
|
-
heightLimitToShowTooltipForEdgeRow:
|
|
40
|
-
widthLimitToShowTooltipForEdgeColumn:
|
|
39
|
+
heightLimitToShowTooltipForEdgeRow: spec.defaultRowHeight / 2,
|
|
40
|
+
widthLimitToShowTooltipForEdgeColumn: spec.defaultColWidth / 2,
|
|
41
41
|
labelHoverOnAxis
|
|
42
42
|
};
|
|
43
43
|
return spec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.ts"],"sourcesContent":["import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { DimensionLinkage, PivotChartSpecPipe } from 'src/types'\n\nexport const dimensionLinkage: PivotChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = (advancedVSeed.config?.[chartType as 'line']?.dimensionLinkage ?? {}) as DimensionLinkage\n\n if (config.enable === false) {\n return spec\n }\n\n const indicators = spec.indicators\n const labelHoverOnAxis = {}\n const chartSpec = (indicators as any)?.[0]?.chartSpec as ILineChartSpec\n const crosshair = chartSpec?.crosshair as ICartesianCrosshairSpec\n\n if (crosshair?.xField) {\n const labelFormat = crosshair.xField.label?.formatMethod\n ;(labelHoverOnAxis as any).bottom = {\n visible: config.showLabel ?? crosshair.xField.label?.visible ?? true,\n background: crosshair.xField.label?.labelBackground,\n textStyle: crosshair.xField.label?.style,\n formatMethod: labelFormat\n ? (text: string | string[] | number) => (text || text === 0 ? labelFormat(text) : null)\n : undefined,\n }\n }\n if (crosshair?.yField) {\n const labelFormat = crosshair.yField.label?.formatMethod\n ;(labelHoverOnAxis as any).left = {\n visible: config.showLabel ?? crosshair.yField.label?.visible ?? true,\n background: crosshair.yField.label?.labelBackground,\n textStyle: crosshair.yField.label?.style,\n formatMethod: labelFormat\n ? (text: string | string[] | number) => (text || text === 0 ? labelFormat(text) : null)\n : undefined,\n }\n }\n\n if (indicators && indicators.length) {\n indicators.forEach((ind) => {\n const crosshair = (ind as any)?.chartSpec?.crosshair as ICartesianCrosshairSpec\n\n if (crosshair?.xField) {\n crosshair.xField.label = { visible: false }\n }\n\n if (crosshair?.yField) {\n crosshair.yField.label = { visible: false }\n }\n })\n }\n\n spec.chartDimensionLinkage = {\n showTooltip: config.showTooltip ?? (chartSpec?.tooltip?.dimension?.visible as boolean) ?? true,\n heightLimitToShowTooltipForEdgeRow:
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.ts"],"sourcesContent":["import type { ICartesianCrosshairSpec, ILineChartSpec } from '@visactor/vchart'\nimport type { DimensionLinkage, PivotChartSpecPipe } from 'src/types'\n\nexport const dimensionLinkage: PivotChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { chartType } = vseed\n\n const config = (advancedVSeed.config?.[chartType as 'line']?.dimensionLinkage ?? {}) as DimensionLinkage\n\n if (config.enable === false) {\n return spec\n }\n\n const indicators = spec.indicators\n const labelHoverOnAxis = {}\n const chartSpec = (indicators as any)?.[0]?.chartSpec as ILineChartSpec\n const crosshair = chartSpec?.crosshair as ICartesianCrosshairSpec\n\n if (crosshair?.xField) {\n const labelFormat = crosshair.xField.label?.formatMethod\n ;(labelHoverOnAxis as any).bottom = {\n visible: config.showLabel ?? crosshair.xField.label?.visible ?? true,\n background: crosshair.xField.label?.labelBackground,\n textStyle: crosshair.xField.label?.style,\n formatMethod: labelFormat\n ? (text: string | string[] | number) => (text || text === 0 ? labelFormat(text) : null)\n : undefined,\n }\n }\n if (crosshair?.yField) {\n const labelFormat = crosshair.yField.label?.formatMethod\n ;(labelHoverOnAxis as any).left = {\n visible: config.showLabel ?? crosshair.yField.label?.visible ?? true,\n background: crosshair.yField.label?.labelBackground,\n textStyle: crosshair.yField.label?.style,\n formatMethod: labelFormat\n ? (text: string | string[] | number) => (text || text === 0 ? labelFormat(text) : null)\n : undefined,\n }\n }\n\n if (indicators && indicators.length) {\n indicators.forEach((ind) => {\n const crosshair = (ind as any)?.chartSpec?.crosshair as ICartesianCrosshairSpec\n\n if (crosshair?.xField) {\n crosshair.xField.label = { visible: false }\n }\n\n if (crosshair?.yField) {\n crosshair.yField.label = { visible: false }\n }\n })\n }\n\n spec.chartDimensionLinkage = {\n showTooltip: config.showTooltip ?? (chartSpec?.tooltip?.dimension?.visible as boolean) ?? true,\n heightLimitToShowTooltipForEdgeRow: (spec.defaultRowHeight as number) / 2,\n widthLimitToShowTooltipForEdgeColumn: (spec.defaultColWidth as number) / 2,\n labelHoverOnAxis,\n }\n\n return spec\n}\n"],"names":["dimensionLinkage","spec","context","advancedVSeed","vseed","chartType","config","indicators","labelHoverOnAxis","chartSpec","crosshair","labelFormat","text","undefined","ind"],"mappings":"AAGO,MAAMA,mBAAuC,CAACC,MAAMC;IACzD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAE,GAAGD;IAEtB,MAAME,SAAUH,cAAc,MAAM,EAAE,CAACE,UAAoB,EAAE,oBAAoB,CAAC;IAElF,IAAIC,AAAkB,UAAlBA,OAAO,MAAM,EACf,OAAOL;IAGT,MAAMM,aAAaN,KAAK,UAAU;IAClC,MAAMO,mBAAmB,CAAC;IAC1B,MAAMC,YAAaF,YAAoB,CAAC,EAAE,EAAE;IAC5C,MAAMG,YAAYD,WAAW;IAE7B,IAAIC,WAAW,QAAQ;QACrB,MAAMC,cAAcD,UAAU,MAAM,CAAC,KAAK,EAAE;QAC1CF,iBAAyB,MAAM,GAAG;YAClC,SAASF,OAAO,SAAS,IAAII,UAAU,MAAM,CAAC,KAAK,EAAE,WAAW;YAChE,YAAYA,UAAU,MAAM,CAAC,KAAK,EAAE;YACpC,WAAWA,UAAU,MAAM,CAAC,KAAK,EAAE;YACnC,cAAcC,cACV,CAACC,OAAsCA,QAAQA,AAAS,MAATA,OAAaD,YAAYC,QAAQ,OAChFC;QACN;IACF;IACA,IAAIH,WAAW,QAAQ;QACrB,MAAMC,cAAcD,UAAU,MAAM,CAAC,KAAK,EAAE;QAC1CF,iBAAyB,IAAI,GAAG;YAChC,SAASF,OAAO,SAAS,IAAII,UAAU,MAAM,CAAC,KAAK,EAAE,WAAW;YAChE,YAAYA,UAAU,MAAM,CAAC,KAAK,EAAE;YACpC,WAAWA,UAAU,MAAM,CAAC,KAAK,EAAE;YACnC,cAAcC,cACV,CAACC,OAAsCA,QAAQA,AAAS,MAATA,OAAaD,YAAYC,QAAQ,OAChFC;QACN;IACF;IAEA,IAAIN,cAAcA,WAAW,MAAM,EACjCA,WAAW,OAAO,CAAC,CAACO;QAClB,MAAMJ,YAAaI,KAAa,WAAW;QAE3C,IAAIJ,WAAW,QACbA,UAAU,MAAM,CAAC,KAAK,GAAG;YAAE,SAAS;QAAM;QAG5C,IAAIA,WAAW,QACbA,UAAU,MAAM,CAAC,KAAK,GAAG;YAAE,SAAS;QAAM;IAE9C;IAGFT,KAAK,qBAAqB,GAAG;QAC3B,aAAaK,OAAO,WAAW,IAAKG,WAAW,SAAS,WAAW,WAAuB;QAC1F,oCAAqCR,KAAK,gBAAgB,GAAc;QACxE,sCAAuCA,KAAK,eAAe,GAAc;QACzEO;IACF;IAEA,OAAOP;AACT"}
|
|
@@ -1,14 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 十字准星线配置,是一种用于在图表中显示十字准星线(提示线)的配置类型
|
|
3
|
+
*/
|
|
1
4
|
export type CrosshairLine = {
|
|
5
|
+
/**
|
|
6
|
+
* @description 是否显示十字准星线
|
|
7
|
+
*/
|
|
2
8
|
visible?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* @description 十字准星线颜色
|
|
11
|
+
*/
|
|
3
12
|
lineColor?: string;
|
|
13
|
+
/**
|
|
14
|
+
* @description 十字准星线标签颜色
|
|
15
|
+
*/
|
|
4
16
|
labelColor?: string;
|
|
17
|
+
/**
|
|
18
|
+
* @description 是否显示十字准星线标签
|
|
19
|
+
*/
|
|
5
20
|
labelVisible?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @description 十字准星线标签背景颜色
|
|
23
|
+
*/
|
|
6
24
|
labelBackgroundColor?: string;
|
|
7
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* @description 十字准星线矩形区域配置,是一种用于在图表中显示十字准星线矩形区域的配置类型
|
|
28
|
+
*/
|
|
8
29
|
export type CrosshairRect = {
|
|
30
|
+
/**
|
|
31
|
+
* @description 是否显示十字准星线矩形区域
|
|
32
|
+
*/
|
|
9
33
|
visible?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* @description 十字准星线矩形区域颜色
|
|
36
|
+
*/
|
|
10
37
|
rectColor?: string;
|
|
38
|
+
/**
|
|
39
|
+
* @description 十字准星线矩形区域标签颜色
|
|
40
|
+
*/
|
|
11
41
|
labelColor?: string;
|
|
42
|
+
/**
|
|
43
|
+
* @description 是否显示十字准星线矩形区域标签
|
|
44
|
+
*/
|
|
12
45
|
labelVisible?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* @description 十字准星线矩形区域标签背景颜色
|
|
48
|
+
*/
|
|
13
49
|
labelBackgroundColor?: string;
|
|
14
50
|
};
|
|
@@ -20038,4 +20038,4 @@ export declare const zVSeed: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
20038
20038
|
"zh-CN": "zh-CN";
|
|
20039
20039
|
"en-US": "en-US";
|
|
20040
20040
|
}>>>>;
|
|
20041
|
-
}, z.core.$strip>]>;
|
|
20041
|
+
}, z.core.$strip>], "chartType">;
|