@visactor/vseed 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/builder.d.ts +164 -128
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +19 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +1 -6
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +9 -7
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +15 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +9 -8
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +1 -6
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js +0 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultDimensions.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultDimensions.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js +2 -4
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js +4 -4
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +5 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +5 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +5 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +5 -15
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +5 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +4 -6
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js +2 -5
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +7 -14
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js +5 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +5 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +5 -7
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +2 -5
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.d.ts +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js +19 -50
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js +25 -118
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +30 -115
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/index.d.ts +0 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.d.ts +12 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.js +12 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js +6 -12
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +25 -28
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js +6 -11
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js +4 -8
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js +23 -35
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js +3 -8
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +21 -17
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js +1 -2
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js +4 -9
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +22 -27
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js +3 -3
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js +3 -2
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js +2 -2
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js +5 -5
- package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js +3 -5
- package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +17 -45
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/histogramXLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.d.ts +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.js +2 -6
- package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.js.map +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinear.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js +16 -13
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js +10 -13
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js +1 -3
- package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js +4 -12
- package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.d.ts +2 -3
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js +38 -78
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/index.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/index.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.d.ts +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js +16 -75
- package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dual/index.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dual/index.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.d.ts +2 -3
- package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js +16 -32
- package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/index.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/index.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/label/index.d.ts +2 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/index.js +3 -2
- package/dist/esm/pipeline/spec/chart/pipes/label/label.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js +4 -2
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelBoxPlot.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/label/labelBoxPlot.js +21 -0
- package/dist/esm/pipeline/spec/chart/pipes/label/labelBoxPlot.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.d.ts +2 -3
- package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js +14 -30
- package/dist/esm/pipeline/spec/chart/pipes/label/labelDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelPie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js +7 -5
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/outlierStyle.js +3 -6
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/outlierStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js +5 -5
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/series/series.d.ts +3 -3
- package/dist/esm/pipeline/spec/chart/pipes/series/series.js +45 -17
- package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/index.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.d.ts +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js +5 -5
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js +3 -3
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.d.ts +2 -3
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js +28 -62
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js +4 -4
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js +4 -4
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js +2 -2
- package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js +2 -2
- package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js +4 -4
- package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js +3 -3
- package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
- package/dist/esm/pipeline/utils/chatType.d.ts +9 -0
- package/dist/esm/pipeline/utils/chatType.js +33 -21
- package/dist/esm/pipeline/utils/chatType.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/find.d.ts +2 -1
- package/dist/esm/pipeline/utils/measures/find.js +3 -13
- package/dist/esm/pipeline/utils/measures/find.js.map +1 -1
- package/dist/esm/theme/common/boxPlot.js +10 -7
- package/dist/esm/theme/common/boxPlot.js.map +1 -1
- package/dist/esm/theme/dark/dark.js +0 -4
- package/dist/esm/theme/dark/dark.js.map +1 -1
- package/dist/esm/theme/light/light.js +0 -4
- package/dist/esm/theme/light/light.js.map +1 -1
- package/dist/esm/types/advancedVSeed.d.ts +141 -72
- package/dist/esm/types/advancedVSeed.js +8 -6
- package/dist/esm/types/advancedVSeed.js.map +1 -1
- package/dist/esm/types/chartType/area/area.d.ts +3 -5
- package/dist/esm/types/chartType/area/zArea.d.ts +11 -2
- package/dist/esm/types/chartType/area/zArea.js +2 -2
- package/dist/esm/types/chartType/area/zArea.js.map +1 -1
- package/dist/esm/types/chartType/areaPercent/areaPercent.d.ts +3 -5
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +11 -2
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.js +2 -2
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
- package/dist/esm/types/chartType/bar/bar.d.ts +4 -6
- package/dist/esm/types/chartType/bar/zBar.d.ts +11 -2
- package/dist/esm/types/chartType/bar/zBar.js +2 -2
- package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
- package/dist/esm/types/chartType/barParallel/barParallel.d.ts +3 -5
- package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +11 -2
- package/dist/esm/types/chartType/barParallel/zBarParallel.js +2 -2
- package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
- package/dist/esm/types/chartType/barPercent/barPercent.d.ts +3 -3
- package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +11 -2
- package/dist/esm/types/chartType/barPercent/zBarPercent.js +2 -2
- package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
- package/dist/esm/types/chartType/boxPlot/boxPlot.d.ts +3 -5
- package/dist/esm/types/chartType/boxPlot/zBoxPlot.d.ts +13 -4
- package/dist/esm/types/chartType/boxPlot/zBoxPlot.js +2 -2
- package/dist/esm/types/chartType/boxPlot/zBoxPlot.js.map +1 -1
- package/dist/esm/types/chartType/column/column.d.ts +3 -5
- package/dist/esm/types/chartType/column/zColumn.d.ts +11 -2
- package/dist/esm/types/chartType/column/zColumn.js +2 -2
- package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
- package/dist/esm/types/chartType/columnParallel/columnParallel.d.ts +4 -6
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +11 -2
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.js +2 -2
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
- package/dist/esm/types/chartType/columnPercent/columnPercent.d.ts +3 -5
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +11 -2
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.js +2 -2
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
- package/dist/esm/types/chartType/donut/donut.d.ts +3 -5
- package/dist/esm/types/chartType/donut/zDonut.d.ts +11 -2
- package/dist/esm/types/chartType/donut/zDonut.js +2 -2
- package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
- package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +7 -88
- package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +9 -358
- package/dist/esm/types/chartType/dualAxis/zDualAxis.js +2 -4
- package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
- package/dist/esm/types/chartType/funnel/funnel.d.ts +3 -5
- package/dist/esm/types/chartType/funnel/zFunnel.d.ts +11 -2
- package/dist/esm/types/chartType/funnel/zFunnel.js +2 -2
- package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
- package/dist/esm/types/chartType/heatmap/heatmap.d.ts +4 -6
- package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +11 -2
- package/dist/esm/types/chartType/heatmap/zHeatmap.js +2 -2
- package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
- package/dist/esm/types/chartType/histogram/histogram.d.ts +3 -5
- package/dist/esm/types/chartType/histogram/zHistogram.d.ts +11 -2
- package/dist/esm/types/chartType/histogram/zHistogram.js +2 -2
- package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
- package/dist/esm/types/chartType/line/line.d.ts +3 -4
- package/dist/esm/types/chartType/line/zLine.d.ts +11 -2
- package/dist/esm/types/chartType/line/zLine.js +2 -2
- package/dist/esm/types/chartType/line/zLine.js.map +1 -1
- package/dist/esm/types/chartType/pie/pie.d.ts +3 -5
- package/dist/esm/types/chartType/pie/zPie.d.ts +11 -2
- package/dist/esm/types/chartType/pie/zPie.js +2 -2
- package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
- package/dist/esm/types/chartType/pivotTable/pivotTable.d.ts +4 -4
- package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +9 -0
- package/dist/esm/types/chartType/radar/radar.d.ts +4 -6
- package/dist/esm/types/chartType/radar/zRadar.d.ts +11 -2
- package/dist/esm/types/chartType/radar/zRadar.js +2 -2
- package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
- package/dist/esm/types/chartType/rose/rose.d.ts +4 -6
- package/dist/esm/types/chartType/rose/zRose.d.ts +11 -2
- package/dist/esm/types/chartType/rose/zRose.js +2 -2
- package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
- package/dist/esm/types/chartType/roseParallel/roseParallel.d.ts +4 -6
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +11 -2
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.js +2 -2
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
- package/dist/esm/types/chartType/scatter/scatter.d.ts +5 -75
- package/dist/esm/types/chartType/scatter/zScatter.d.ts +10 -310
- package/dist/esm/types/chartType/scatter/zScatter.js +2 -3
- package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
- package/dist/esm/types/chartType/table/zTable.d.ts +9 -0
- package/dist/esm/types/properties/chartType/index.d.ts +0 -2
- package/dist/esm/types/properties/chartType/index.js +1 -2
- package/dist/esm/types/properties/config/boxplot.d.ts +1 -1
- package/dist/esm/types/properties/config/config.d.ts +1 -32
- package/dist/esm/types/properties/config/dualAxis.d.ts +7 -31
- package/dist/esm/types/properties/config/dualAxis.js +0 -2
- package/dist/esm/types/properties/config/dualAxis.js.map +1 -1
- package/dist/esm/types/properties/dimensions/areaDimension.d.ts +3 -0
- package/dist/esm/types/properties/dimensions/barDimension.d.ts +16 -0
- package/dist/esm/types/properties/dimensions/{dimensions.d.ts → baseDimension.d.ts} +13 -14
- package/dist/esm/types/properties/dimensions/boxPlotDimension.d.ts +13 -0
- package/dist/esm/types/properties/dimensions/columnDimension.d.ts +19 -0
- package/dist/esm/types/properties/dimensions/columnDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/donutDimension.d.ts +2 -0
- package/dist/esm/types/properties/dimensions/donutDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/dualAxisDimension.d.ts +2 -0
- package/dist/esm/types/properties/dimensions/dualAxisDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/funnelDimension.d.ts +2 -0
- package/dist/esm/types/properties/dimensions/funnelDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/heatmapDimension.d.ts +13 -0
- package/dist/esm/types/properties/dimensions/heatmapDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/histogramDimension.d.ts +13 -0
- package/dist/esm/types/properties/dimensions/histogramDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/index.d.ts +16 -1
- package/dist/esm/types/properties/dimensions/lineDimension.d.ts +2 -0
- package/dist/esm/types/properties/dimensions/lineDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/pieDimension.d.ts +13 -0
- package/dist/esm/types/properties/dimensions/pieDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/radarDimension.d.ts +14 -0
- package/dist/esm/types/properties/dimensions/radarDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/roseDimension.d.ts +3 -0
- package/dist/esm/types/properties/dimensions/roseDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/scatterDimension.d.ts +13 -0
- package/dist/esm/types/properties/dimensions/scatterDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/tableDimension.d.ts +18 -0
- package/dist/esm/types/properties/dimensions/tableDimension.js +0 -0
- package/dist/esm/types/properties/dimensions/zDimensions.d.ts +1 -1
- package/dist/esm/types/properties/dimensions/zDimensions.js.map +1 -1
- package/dist/esm/types/properties/markStyle/boxPlotStyle.d.ts +5 -5
- package/dist/esm/types/properties/markStyle/boxPlotStyle.js +2 -2
- package/dist/esm/types/properties/markStyle/boxPlotStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/markStyle.d.ts +2 -2
- package/dist/esm/types/properties/measures/areaMeasure.d.ts +2 -0
- package/dist/esm/types/properties/measures/areaMeasure.js +0 -0
- package/dist/esm/types/properties/measures/barMeasure.d.ts +14 -0
- package/dist/esm/types/properties/measures/barMeasure.js +0 -0
- package/dist/esm/types/properties/measures/{measures.d.ts → baseMeasure.d.ts} +29 -13
- package/dist/esm/types/properties/measures/baseMeasure.js +0 -0
- package/dist/esm/types/properties/measures/boxPlotMeasure.d.ts +18 -0
- package/dist/esm/types/properties/measures/boxPlotMeasure.js +0 -0
- package/dist/esm/types/properties/measures/columnMeasure.d.ts +14 -0
- package/dist/esm/types/properties/measures/columnMeasure.js +0 -0
- package/dist/esm/types/properties/measures/dualAxisMeasure.d.ts +23 -0
- package/dist/esm/types/properties/measures/dualAxisMeasure.js +0 -0
- package/dist/esm/types/properties/measures/funnelMeasure.d.ts +11 -0
- package/dist/esm/types/properties/measures/funnelMeasure.js +0 -0
- package/dist/esm/types/properties/measures/heatmapMeasure.d.ts +10 -0
- package/dist/esm/types/properties/measures/heatmapMeasure.js +0 -0
- package/dist/esm/types/properties/measures/histogramMeasure.d.ts +13 -0
- package/dist/esm/types/properties/measures/histogramMeasure.js +0 -0
- package/dist/esm/types/properties/measures/index.d.ts +15 -4
- package/dist/esm/types/properties/measures/index.js +0 -1
- package/dist/esm/types/properties/measures/lineMeasure.d.ts +2 -0
- package/dist/esm/types/properties/measures/lineMeasure.js +0 -0
- package/dist/esm/types/properties/measures/measureTree.d.ts +17 -0
- package/dist/esm/types/properties/measures/measureTree.js +0 -0
- package/dist/esm/types/properties/measures/pieMeasure.d.ts +12 -0
- package/dist/esm/types/properties/measures/pieMeasure.js +0 -0
- package/dist/esm/types/properties/measures/radarMeasure.d.ts +13 -0
- package/dist/esm/types/properties/measures/radarMeasure.js +0 -0
- package/dist/esm/types/properties/measures/scatterMeasure.d.ts +13 -0
- package/dist/esm/types/properties/measures/scatterMeasure.js +0 -0
- package/dist/esm/types/properties/measures/tableMeasure.d.ts +8 -0
- package/dist/esm/types/properties/measures/tableMeasure.js +0 -0
- package/dist/esm/types/properties/measures/zDualMeasures.d.ts +154 -612
- package/dist/esm/types/properties/measures/zDualMeasures.js +15 -10
- package/dist/esm/types/properties/measures/zDualMeasures.js.map +1 -1
- package/dist/esm/types/properties/measures/zMeasures.d.ts +28 -1
- package/dist/esm/types/properties/measures/zMeasures.js +10 -1
- package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
- package/dist/esm/types/properties/theme/customTheme.d.ts +2 -64
- package/dist/esm/types/zVseed.d.ts +237 -706
- package/dist/umd/index.js +899 -1368
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.d.ts +0 -2
- package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js +0 -14
- package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js.map +0 -1
- package/dist/esm/types/properties/chartType/dualChartType.d.ts +0 -18
- package/dist/esm/types/properties/chartType/dualChartType.js +0 -20
- package/dist/esm/types/properties/chartType/dualChartType.js.map +0 -1
- package/dist/esm/types/properties/measures/dualMeasures.d.ts +0 -7
- package/dist/esm/types/properties/measures/scatterMeasures.d.ts +0 -7
- package/dist/esm/types/properties/measures/zScatterMeasures.d.ts +0 -619
- package/dist/esm/types/properties/measures/zScatterMeasures.js +0 -17
- package/dist/esm/types/properties/measures/zScatterMeasures.js.map +0 -1
- /package/dist/esm/types/properties/dimensions/{dimensions.js → areaDimension.js} +0 -0
- /package/dist/esm/types/properties/{measures/dualMeasures.js → dimensions/barDimension.js} +0 -0
- /package/dist/esm/types/properties/{measures/measures.js → dimensions/baseDimension.js} +0 -0
- /package/dist/esm/types/properties/{measures/scatterMeasures.js → dimensions/boxPlotDimension.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/label/labelBoxPlot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelBoxPlot.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { Encoding, PieLabel, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\nimport { FoldMeasureId, MedianMeasureId } from 'src/dataReshape/constant'\n\nexport const labelBoxPlot: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: PieLabel }\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [\n {\n measureId: FoldMeasureId,\n measureValue: MedianMeasureId,\n },\n ],\n ) as unknown as IPieChartSpec['label']\n\n return result\n}\n"],"names":["labelBoxPlot","spec","context","result","advancedVSeed","vseed","chartType","encoding","baseConfig","label","buildLabel","FoldMeasureId","MedianMeasureId"],"mappings":";;AAKO,MAAMA,eAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAEC,QAAQ,EAAE,GAAGH;IAChC,MAAMI,aAAaJ,cAAc,MAAM,CAACE,UAAU;IAElD,MAAM,EAAEG,KAAK,EAAE,GAAGD;IAElBL,OAAO,KAAK,GAAGO,WACbD,OACAJ,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBG,UACA;QACE;YACE,WAAWI;YACX,cAAcC;QAChB;KACD;IAGH,OAAOT;AACT"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import type { VChartSpecPipe } from '../../../../../types';
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const labelSecondary: VChartSpecPipe;
|
|
1
|
+
import type { DualAxisOptions, VChartSpecPipe } from '../../../../../types';
|
|
2
|
+
export declare const labelDualAxis: (options: DualAxisOptions) => VChartSpecPipe;
|
|
@@ -1,35 +1,19 @@
|
|
|
1
1
|
import { buildLabel } from "./label.js";
|
|
2
2
|
import { DUAL_AXIS_LABEL_Z_INDEX } from "../../../../utils/constant.js";
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
const labelDualAxis = (options)=>(spec, context)=>{
|
|
4
|
+
const result = {
|
|
5
|
+
...spec
|
|
6
|
+
};
|
|
7
|
+
const { advancedVSeed, vseed } = context;
|
|
8
|
+
const { encoding } = advancedVSeed;
|
|
9
|
+
const { chartType } = advancedVSeed;
|
|
10
|
+
const baseConfig = advancedVSeed.config[chartType];
|
|
11
|
+
result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.dimensions, advancedVSeed.measures, encoding, [
|
|
12
|
+
options.foldInfo
|
|
13
|
+
]);
|
|
14
|
+
result.label.zIndex = DUAL_AXIS_LABEL_Z_INDEX;
|
|
15
|
+
return result;
|
|
6
16
|
};
|
|
7
|
-
|
|
8
|
-
const { datasetReshapeInfo, encoding } = advancedVSeed;
|
|
9
|
-
const { chartType } = advancedVSeed;
|
|
10
|
-
const baseConfig = advancedVSeed.config[chartType];
|
|
11
|
-
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
|
12
|
-
result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.dimensions, advancedVSeed.measures, encoding, [
|
|
13
|
-
foldInfoList[0]
|
|
14
|
-
]);
|
|
15
|
-
result.label.zIndex = DUAL_AXIS_LABEL_Z_INDEX;
|
|
16
|
-
return result;
|
|
17
|
-
};
|
|
18
|
-
const labelSecondary = (spec, context)=>{
|
|
19
|
-
const result = {
|
|
20
|
-
...spec
|
|
21
|
-
};
|
|
22
|
-
const { advancedVSeed, vseed } = context;
|
|
23
|
-
const { datasetReshapeInfo, encoding } = advancedVSeed;
|
|
24
|
-
const { chartType } = advancedVSeed;
|
|
25
|
-
const baseConfig = advancedVSeed.config[chartType];
|
|
26
|
-
const foldInfoList = datasetReshapeInfo[0].foldInfoList;
|
|
27
|
-
result.label = buildLabel(baseConfig.label, vseed.measures, vseed.dimensions, advancedVSeed.dimensions, advancedVSeed.measures, encoding, [
|
|
28
|
-
foldInfoList[1]
|
|
29
|
-
]);
|
|
30
|
-
result.label.zIndex = DUAL_AXIS_LABEL_Z_INDEX;
|
|
31
|
-
return result;
|
|
32
|
-
};
|
|
33
|
-
export { labelPrimary, labelSecondary };
|
|
17
|
+
export { labelDualAxis };
|
|
34
18
|
|
|
35
19
|
//# sourceMappingURL=labelDualAxis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/label/labelDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelDualAxis.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport type {
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/label/labelDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelDualAxis.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport type { DualAxisOptions, Encoding, Label, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\nimport { DUAL_AXIS_LABEL_Z_INDEX } from 'src/pipeline/utils/constant'\n\nexport const labelDualAxis = (options: DualAxisOptions): VChartSpecPipe => {\n return (spec, context) => {\n const result = { ...spec } as ILineChartSpec\n const { advancedVSeed, vseed } = context\n const { encoding } = advancedVSeed\n const { chartType } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n result.label = buildLabel(\n baseConfig.label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [options.foldInfo],\n ) as unknown as ILineChartSpec['label']\n ;(result.label as any)!.zIndex = DUAL_AXIS_LABEL_Z_INDEX\n return result\n }\n}\n"],"names":["labelDualAxis","options","spec","context","result","advancedVSeed","vseed","encoding","chartType","baseConfig","buildLabel","DUAL_AXIS_LABEL_Z_INDEX"],"mappings":";;AAKO,MAAMA,gBAAgB,CAACC,UACrB,CAACC,MAAMC;QACZ,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;QACjC,MAAM,EAAEI,QAAQ,EAAE,GAAGF;QACrB,MAAM,EAAEG,SAAS,EAAE,GAAGH;QACtB,MAAMI,aAAaJ,cAAc,MAAM,CAACG,UAAU;QAElDJ,OAAO,KAAK,GAAGM,WACbD,WAAW,KAAK,EAChBH,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBE,UACA;YAACN,QAAQ,QAAQ;SAAC;QAElBG,OAAO,KAAK,CAAU,MAAM,GAAGO;QACjC,OAAOP;IACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/label/labelPie.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelPie.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, PieLabel, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelPie: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: PieLabel }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/label/labelPie.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelPie.ts"],"sourcesContent":["import type { IPieChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, PieLabel, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelPie: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IPieChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: PieLabel }\n const foldInfo = datasetReshapeInfo[0].foldInfo as FoldInfo\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n [foldInfo],\n ) as unknown as IPieChartSpec['label']\n if (label.labelLayout) {\n ;(result.label as any)!.layout = {\n align: label.labelLayout,\n }\n }\n return result\n}\n"],"names":["labelPie","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfo","label","buildLabel"],"mappings":";AAIO,MAAMA,WAA2B,CAACC,MAAMC;IAC7C,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAE,GAAGF;IAC/B,MAAM,EAAEG,SAAS,EAAEC,QAAQ,EAAE,GAAGJ;IAChC,MAAMK,aAAaL,cAAc,MAAM,CAACG,UAAU;IAClD,MAAMG,WAAWJ,kBAAkB,CAAC,EAAE,CAAC,QAAQ;IAE/C,MAAM,EAAEK,KAAK,EAAE,GAAGF;IAElBN,OAAO,KAAK,GAAGS,WACbD,OACAN,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBI,UACA;QAACE;KAAS;IAEZ,IAAIC,MAAM,WAAW,EACjBR,OAAO,KAAK,CAAU,MAAM,GAAG;QAC/B,OAAOQ,MAAM,WAAW;IAC1B;IAEF,OAAOR;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/label/labelScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelScatter.ts"],"sourcesContent":["import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, Label, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelScatter: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IScatterChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/label/labelScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/label/labelScatter.ts"],"sourcesContent":["import type { IScatterChartSpec } from '@visactor/vchart'\nimport type { Encoding, FoldInfo, Label, VChartSpecPipe } from 'src/types'\nimport { buildLabel } from './label'\n\nexport const labelScatter: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IScatterChartSpec\n const { advancedVSeed, vseed } = context\n const { datasetReshapeInfo } = advancedVSeed\n const { chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { label: Label }\n\n const foldInfoList = datasetReshapeInfo[0].foldInfoList as FoldInfo[]\n\n const { label } = baseConfig\n\n result.label = buildLabel(\n label,\n vseed.measures,\n vseed.dimensions,\n advancedVSeed.dimensions!,\n advancedVSeed.measures!,\n encoding as Encoding,\n foldInfoList,\n ) as unknown as IScatterChartSpec['label']\n\n return result\n}\n"],"names":["labelScatter","spec","context","result","advancedVSeed","vseed","datasetReshapeInfo","chartType","encoding","baseConfig","foldInfoList","label","buildLabel"],"mappings":";AAIO,MAAMA,eAA+B,CAACC,MAAMC;IACjD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,kBAAkB,EAAE,GAAGF;IAC/B,MAAM,EAAEG,SAAS,EAAEC,QAAQ,EAAE,GAAGJ;IAChC,MAAMK,aAAaL,cAAc,MAAM,CAACG,UAAU;IAElD,MAAMG,eAAeJ,kBAAkB,CAAC,EAAE,CAAC,YAAY;IAEvD,MAAM,EAAEK,KAAK,EAAE,GAAGF;IAElBN,OAAO,KAAK,GAAGS,WACbD,OACAN,MAAM,QAAQ,EACdA,MAAM,UAAU,EAChBD,cAAc,UAAU,EACxBA,cAAc,QAAQ,EACtBI,UACAE;IAGF,OAAOP;AACT"}
|
|
@@ -12,9 +12,8 @@ const boxPlotStyle_boxPlotStyle = (spec, context)=>{
|
|
|
12
12
|
shaftShape: 'filled-line',
|
|
13
13
|
visible: true,
|
|
14
14
|
shaftWidth: '50%',
|
|
15
|
-
stroke: theme?.
|
|
15
|
+
stroke: theme?.whiskerBorderColor,
|
|
16
16
|
boxStroke: theme?.boxBorderColor,
|
|
17
|
-
whiskerStroke: theme?.whiskerBorderColor,
|
|
18
17
|
boxCornerRadius: theme?.boxCornerRadius,
|
|
19
18
|
medianStroke: theme?.medianBorderColor ?? theme?.boxBorderColor
|
|
20
19
|
}
|
|
@@ -25,7 +24,7 @@ const boxPlotStyle_boxPlotStyle = (spec, context)=>{
|
|
|
25
24
|
boxPlotStyle
|
|
26
25
|
];
|
|
27
26
|
const customMap = boxPlotStyles.reduce((result, style, index)=>{
|
|
28
|
-
const { boxColor, boxColorOpacity, boxBorderColor, boxBorderWidth = 1, boxVisible = true, boxBorderOpacity } = style;
|
|
27
|
+
const { boxColor, boxColorOpacity, boxBorderColor, boxBorderWidth = 1, boxVisible = true, boxBorderOpacity, medianBorderColor, whiskerBorderColor, boxCornerRadius } = style;
|
|
29
28
|
return {
|
|
30
29
|
...result,
|
|
31
30
|
[`custom${index + 1}`]: {
|
|
@@ -39,8 +38,11 @@ const boxPlotStyle_boxPlotStyle = (spec, context)=>{
|
|
|
39
38
|
fill: boxColor,
|
|
40
39
|
fillOpacity: boxColorOpacity,
|
|
41
40
|
lineWidth: boxBorderWidth,
|
|
42
|
-
stroke:
|
|
43
|
-
|
|
41
|
+
stroke: whiskerBorderColor,
|
|
42
|
+
boxStroke: boxBorderColor,
|
|
43
|
+
boxCornerRadius: boxCornerRadius,
|
|
44
|
+
strokeOpacity: boxBorderOpacity,
|
|
45
|
+
medianStroke: medianBorderColor ?? boxBorderColor
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.ts"],"sourcesContent":["import type { IBoxPlotChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { BoxPlotStyle, Datum, VChartSpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const boxPlotStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { markStyle, config } = advancedVSeed\n const { boxPlotStyle } = markStyle\n const theme = config?.[vseed.chartType as 'boxPlot']?.boxPlotStyle\n\n const result = {\n ...spec,\n boxPlot: {\n style: {\n shaftShape: 'filled-line',\n visible: true,\n shaftWidth: '50%',\n stroke: theme?.
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.ts"],"sourcesContent":["import type { IBoxPlotChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { BoxPlotStyle, Datum, VChartSpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const boxPlotStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { markStyle, config } = advancedVSeed\n const { boxPlotStyle } = markStyle\n const theme = config?.[vseed.chartType as 'boxPlot']?.boxPlotStyle\n\n const result = {\n ...spec,\n boxPlot: {\n style: {\n shaftShape: 'filled-line',\n visible: true,\n shaftWidth: '50%',\n stroke: theme?.whiskerBorderColor,\n boxStroke: theme?.boxBorderColor,\n boxCornerRadius: theme?.boxCornerRadius,\n medianStroke: theme?.medianBorderColor ?? theme?.boxBorderColor,\n },\n },\n } as IBoxPlotChartSpec\n\n if (isNullish(boxPlotStyle) || isEmpty(boxPlotStyle)) {\n return result\n }\n\n const boxPlotStyles = (Array.isArray(boxPlotStyle) ? boxPlotStyle : [boxPlotStyle]) as BoxPlotStyle[]\n\n const customMap = boxPlotStyles.reduce<object>((result, style, index) => {\n const {\n boxColor,\n boxColorOpacity,\n boxBorderColor,\n boxBorderWidth = 1,\n boxVisible = true,\n boxBorderOpacity,\n medianBorderColor,\n whiskerBorderColor,\n boxCornerRadius,\n } = style\n\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: boxVisible,\n fill: boxColor,\n fillOpacity: boxColorOpacity,\n lineWidth: boxBorderWidth,\n stroke: whiskerBorderColor,\n boxStroke: boxBorderColor,\n boxCornerRadius: boxCornerRadius,\n strokeOpacity: boxBorderOpacity,\n medianStroke: medianBorderColor ?? boxBorderColor,\n },\n },\n }\n }, {})\n\n result.boxPlot!.state = {\n ...result.boxPlot!.state,\n ...customMap,\n }\n\n return result\n}\n"],"names":["boxPlotStyle","spec","context","advancedVSeed","vseed","markStyle","config","theme","result","isNullish","isEmpty","boxPlotStyles","Array","customMap","style","index","boxColor","boxColorOpacity","boxBorderColor","boxBorderWidth","boxVisible","boxBorderOpacity","medianBorderColor","whiskerBorderColor","boxCornerRadius","datum","selector"],"mappings":";;AAKO,MAAMA,4BAA+B,CAACC,MAAMC;IACjD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAEC,MAAM,EAAE,GAAGH;IAC9B,MAAM,EAAEH,YAAY,EAAE,GAAGK;IACzB,MAAME,QAAQD,QAAQ,CAACF,MAAM,SAAS,CAAc,EAAE;IAEtD,MAAMI,SAAS;QACb,GAAGP,IAAI;QACP,SAAS;YACP,OAAO;gBACL,YAAY;gBACZ,SAAS;gBACT,YAAY;gBACZ,QAAQM,OAAO;gBACf,WAAWA,OAAO;gBAClB,iBAAiBA,OAAO;gBACxB,cAAcA,OAAO,qBAAqBA,OAAO;YACnD;QACF;IACF;IAEA,IAAIE,UAAUT,iBAAiBU,QAAQV,eACrC,OAAOQ;IAGT,MAAMG,gBAAiBC,MAAM,OAAO,CAACZ,gBAAgBA,eAAe;QAACA;KAAa;IAElF,MAAMa,YAAYF,cAAc,MAAM,CAAS,CAACH,QAAQM,OAAOC;QAC7D,MAAM,EACJC,QAAQ,EACRC,eAAe,EACfC,cAAc,EACdC,iBAAiB,CAAC,EAClBC,aAAa,IAAI,EACjBC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClBC,eAAe,EAChB,GAAGV;QAEJ,OAAO;YACL,GAAGN,MAAM;YACT,CAAC,CAAC,MAAM,EAAEO,QAAQ,GAAG,CAAC,EAAE;gBAEtB,OAAOA,QAAQ;gBACf,QAAQ,CAACU;oBACP,IAAIC,SAASD,OAAOX,MAAM,QAAQ,GAChC,OAAO;oBAET,OAAO;gBACT;gBACA,OAAO;oBACL,SAASM;oBACT,MAAMJ;oBACN,aAAaC;oBACb,WAAWE;oBACX,QAAQI;oBACR,WAAWL;oBACX,iBAAiBM;oBACjB,eAAeH;oBACf,cAAcC,qBAAqBJ;gBACrC;YACF;QACF;IACF,GAAG,CAAC;IAEJV,OAAO,OAAO,CAAE,KAAK,GAAG;QACtB,GAAGA,OAAO,OAAO,CAAE,KAAK;QACxB,GAAGK,SAAS;IACd;IAEA,OAAOL;AACT"}
|
|
@@ -44,12 +44,9 @@ const outlierStyle_outlierStyle = (spec, context)=>{
|
|
|
44
44
|
size: pointSize,
|
|
45
45
|
fill: pointColor,
|
|
46
46
|
fillOpacity: pointColorOpacity,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
distance: (pointBorderWidth || 0) / 2,
|
|
51
|
-
lineDash: lineDash
|
|
52
|
-
}
|
|
47
|
+
stroke: pointBorderColor,
|
|
48
|
+
lineWidth: pointBorderWidth,
|
|
49
|
+
lineDash: lineDash
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
52
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/markStyle/outlierStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/outlierStyle.ts"],"sourcesContent":["import type { IBoxPlotChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, OutlierStyle, VChartSpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const outlierStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { markStyle, config } = advancedVSeed\n const { outlierStyle } = markStyle\n const theme = config?.[vseed.chartType as 'boxPlot']?.outlierStyle\n const result = {\n ...spec,\n outlier: {\n style: {\n // stroke: theme?.pointColor,\n fill: theme?.pointColor,\n lineWidth: theme?.pointBorderWidth,\n stroke: theme?.pointBorderColor,\n },\n },\n } as IBoxPlotChartSpec\n\n if (isNullish(outlierStyle) || isEmpty(outlierStyle)) {\n return result\n }\n\n const outlierStyles = (Array.isArray(outlierStyle) ? outlierStyle : [outlierStyle]) as OutlierStyle[]\n\n const customMap = outlierStyles.reduce<object>((result, style, index) => {\n const {\n pointBorderColor,\n pointBorderStyle,\n pointBorderWidth = 1,\n pointColor,\n pointColorOpacity,\n pointSize,\n pointVisible = true,\n } = style\n\n const lineDash = pointBorderStyle === 'dashed' ? [5, 2] : pointBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: pointVisible,\n size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/markStyle/outlierStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/markStyle/outlierStyle.ts"],"sourcesContent":["import type { IBoxPlotChartSpec } from '@visactor/vchart'\nimport { selector } from '../../../../../dataSelector'\nimport type { Datum, OutlierStyle, VChartSpecPipe } from 'src/types'\nimport { isEmpty, isNullish } from 'remeda'\n\nexport const outlierStyle: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { markStyle, config } = advancedVSeed\n const { outlierStyle } = markStyle\n const theme = config?.[vseed.chartType as 'boxPlot']?.outlierStyle\n const result = {\n ...spec,\n outlier: {\n style: {\n // stroke: theme?.pointColor,\n fill: theme?.pointColor,\n lineWidth: theme?.pointBorderWidth,\n stroke: theme?.pointBorderColor,\n },\n },\n } as IBoxPlotChartSpec\n\n if (isNullish(outlierStyle) || isEmpty(outlierStyle)) {\n return result\n }\n\n const outlierStyles = (Array.isArray(outlierStyle) ? outlierStyle : [outlierStyle]) as OutlierStyle[]\n\n const customMap = outlierStyles.reduce<object>((result, style, index) => {\n const {\n pointBorderColor,\n pointBorderStyle,\n pointBorderWidth = 1,\n pointColor,\n pointColorOpacity,\n pointSize,\n pointVisible = true,\n } = style\n\n const lineDash = pointBorderStyle === 'dashed' ? [5, 2] : pointBorderStyle === 'dotted' ? [2, 5] : [0, 0]\n return {\n ...result,\n [`custom${index + 1}`]: {\n // 优先级: 后者覆盖前者\n level: index + 1,\n filter: (datum: Datum) => {\n if (selector(datum, style.selector)) {\n return true\n }\n return false\n },\n style: {\n visible: pointVisible,\n size: pointSize,\n fill: pointColor,\n fillOpacity: pointColorOpacity,\n stroke: pointBorderColor,\n lineWidth: pointBorderWidth,\n lineDash: lineDash,\n },\n },\n }\n }, {})\n\n return {\n ...result,\n outlier: {\n ...result.outlier,\n state: {\n ...customMap,\n },\n },\n }\n}\n"],"names":["outlierStyle","spec","context","advancedVSeed","vseed","markStyle","config","theme","result","isNullish","isEmpty","outlierStyles","Array","customMap","style","index","pointBorderColor","pointBorderStyle","pointBorderWidth","pointColor","pointColorOpacity","pointSize","pointVisible","lineDash","datum","selector"],"mappings":";;AAKO,MAAMA,4BAA+B,CAACC,MAAMC;IACjD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,SAAS,EAAEC,MAAM,EAAE,GAAGH;IAC9B,MAAM,EAAEH,YAAY,EAAE,GAAGK;IACzB,MAAME,QAAQD,QAAQ,CAACF,MAAM,SAAS,CAAc,EAAE;IACtD,MAAMI,SAAS;QACb,GAAGP,IAAI;QACP,SAAS;YACP,OAAO;gBAEL,MAAMM,OAAO;gBACb,WAAWA,OAAO;gBAClB,QAAQA,OAAO;YACjB;QACF;IACF;IAEA,IAAIE,UAAUT,iBAAiBU,QAAQV,eACrC,OAAOQ;IAGT,MAAMG,gBAAiBC,MAAM,OAAO,CAACZ,gBAAgBA,eAAe;QAACA;KAAa;IAElF,MAAMa,YAAYF,cAAc,MAAM,CAAS,CAACH,QAAQM,OAAOC;QAC7D,MAAM,EACJC,gBAAgB,EAChBC,gBAAgB,EAChBC,mBAAmB,CAAC,EACpBC,UAAU,EACVC,iBAAiB,EACjBC,SAAS,EACTC,eAAe,IAAI,EACpB,GAAGR;QAEJ,MAAMS,WAAWN,AAAqB,aAArBA,mBAAgC;YAAC;YAAG;SAAE,GAAGA,AAAqB,aAArBA,mBAAgC;YAAC;YAAG;SAAE,GAAG;YAAC;YAAG;SAAE;QACzG,OAAO;YACL,GAAGT,MAAM;YACT,CAAC,CAAC,MAAM,EAAEO,QAAQ,GAAG,CAAC,EAAE;gBAEtB,OAAOA,QAAQ;gBACf,QAAQ,CAACS;oBACP,IAAIC,SAASD,OAAOV,MAAM,QAAQ,GAChC,OAAO;oBAET,OAAO;gBACT;gBACA,OAAO;oBACL,SAASQ;oBACT,MAAMD;oBACN,MAAMF;oBACN,aAAaC;oBACb,QAAQJ;oBACR,WAAWE;oBACX,UAAUK;gBACZ;YACF;QACF;IACF,GAAG,CAAC;IAEJ,OAAO;QACL,GAAGf,MAAM;QACT,SAAS;YACP,GAAGA,OAAO,OAAO;YACjB,OAAO;gBACL,GAAGK,SAAS;YACd;QACF;IACF;AACF"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { execPipeline } from "../../../../utils/index.js";
|
|
1
|
+
import { execPipeline, isRectungularCoordinate } from "../../../../utils/index.js";
|
|
2
2
|
import { unique } from "remeda";
|
|
3
3
|
const pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
4
4
|
const result = {
|
|
5
5
|
...spec
|
|
6
6
|
};
|
|
7
7
|
const { advancedVSeed } = context;
|
|
8
|
-
const {
|
|
8
|
+
const { datasetReshapeInfo, dataset, encoding, reshapeMeasures = [] } = advancedVSeed;
|
|
9
9
|
const colorItems = unique(datasetReshapeInfo.flatMap((d)=>d.unfoldInfo.colorItems));
|
|
10
10
|
const allMeasureIds = unique(datasetReshapeInfo.flatMap((d)=>Object.keys(d.foldInfo.foldMap || {})));
|
|
11
11
|
const indicators = datasetReshapeInfo.map((reshapeInfo, index)=>{
|
|
12
|
-
const
|
|
13
|
-
const subMeasuresId = (
|
|
12
|
+
const subMeasures = reshapeMeasures[index] || [];
|
|
13
|
+
const subMeasuresId = (reshapeMeasures[index] || []).map((d)=>d.id);
|
|
14
14
|
const invalideMeasuresIds = allMeasureIds.filter((id)=>!subMeasuresId.includes(id));
|
|
15
15
|
const newDataset = dataset[index];
|
|
16
16
|
const newDatasetReshapeInfo = [
|
|
@@ -38,7 +38,7 @@ const pivotIndicators = (chartPipeline)=>(spec, context)=>{
|
|
|
38
38
|
const chartSpec = execPipeline(chartPipeline, newContext, {});
|
|
39
39
|
return {
|
|
40
40
|
indicatorKey: `${reshapeInfo.id}`,
|
|
41
|
-
title:
|
|
41
|
+
title: isRectungularCoordinate(advancedVSeed.chartType) ? '' : subMeasures.map((m)=>m.alias ?? m.id).join('-'),
|
|
42
42
|
cellType: 'chart',
|
|
43
43
|
chartModule: 'vchart',
|
|
44
44
|
chartSpec: chartSpec,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline } from '../../../../utils'\nimport type {
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { execPipeline, isRectungularCoordinate } from '../../../../utils'\nimport type { Dataset, Encoding, Measures, PivotChartSpecPipe, SpecPipelineContext, VChartSpecPipe } from 'src/types'\nimport { unique } from 'remeda'\n\nexport const pivotIndicators =\n (chartPipeline: VChartSpecPipe[]): PivotChartSpecPipe =>\n (spec, context): Partial<PivotChartConstructorOptions> => {\n const result = { ...spec } as PivotChartConstructorOptions\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset, encoding, reshapeMeasures = [] } = advancedVSeed\n\n const colorItems = unique(datasetReshapeInfo.flatMap((d) => d.unfoldInfo.colorItems))\n const allMeasureIds = unique(datasetReshapeInfo.flatMap((d) => Object.keys(d.foldInfo.foldMap || {})))\n\n const indicators = datasetReshapeInfo.map((reshapeInfo, index) => {\n const subMeasures = (reshapeMeasures[index] || []) as Measures\n const subMeasuresId = (reshapeMeasures[index] || []).map((d) => d.id)\n const invalideMeasuresIds = allMeasureIds.filter((id: string) => !subMeasuresId.includes(id))\n\n const newDataset = dataset[index] as Dataset\n const newDatasetReshapeInfo = [\n {\n ...reshapeInfo,\n unfoldInfo: { ...reshapeInfo.unfoldInfo, colorItems },\n },\n ]\n const newContext: SpecPipelineContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n pivotAllDatasetReshapeInfo: datasetReshapeInfo,\n datasetReshapeInfo: newDatasetReshapeInfo,\n encoding: Object.keys(encoding).reduce((res, key) => {\n res[key as keyof Encoding] = encoding[key as keyof Encoding]?.filter((e) => {\n return !invalideMeasuresIds.includes(e)\n }) as string[]\n\n return res\n }, {} as Encoding),\n dataset: newDataset,\n },\n }\n\n const chartSpec = execPipeline(chartPipeline, newContext, {})\n return {\n indicatorKey: `${reshapeInfo.id}`,\n title: isRectungularCoordinate(advancedVSeed.chartType)\n ? ''\n : subMeasures.map((m) => m.alias ?? m.id).join('-'),\n cellType: 'chart',\n chartModule: 'vchart',\n chartSpec: chartSpec,\n style: {\n padding: [1, 1, 0, 1],\n },\n }\n })\n\n return {\n ...result,\n indicators: indicators,\n } as Partial<PivotChartConstructorOptions>\n }\n\nexport const pivotIndicatorsAsRow: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: false,\n }\n}\n\nexport const pivotIndicatorsAsCol: PivotChartSpecPipe = (spec) => {\n const result = { ...spec } as PivotChartConstructorOptions\n\n return {\n ...result,\n indicatorsAsCol: true,\n }\n}\n"],"names":["pivotIndicators","chartPipeline","spec","context","result","advancedVSeed","datasetReshapeInfo","dataset","encoding","reshapeMeasures","colorItems","unique","d","allMeasureIds","Object","indicators","reshapeInfo","index","subMeasures","subMeasuresId","invalideMeasuresIds","id","newDataset","newDatasetReshapeInfo","newContext","res","key","e","chartSpec","execPipeline","isRectungularCoordinate","m","pivotIndicatorsAsRow","pivotIndicatorsAsCol"],"mappings":";;AAKO,MAAMA,kBACX,CAACC,gBACD,CAACC,MAAMC;QACL,MAAMC,SAAS;YAAE,GAAGF,IAAI;QAAC;QACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;QAC1B,MAAM,EAAEG,kBAAkB,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,kBAAkB,EAAE,EAAE,GAAGJ;QAExE,MAAMK,aAAaC,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAMA,EAAE,UAAU,CAAC,UAAU;QACnF,MAAMC,gBAAgBF,OAAOL,mBAAmB,OAAO,CAAC,CAACM,IAAME,OAAO,IAAI,CAACF,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC;QAElG,MAAMG,aAAaT,mBAAmB,GAAG,CAAC,CAACU,aAAaC;YACtD,MAAMC,cAAeT,eAAe,CAACQ,MAAM,IAAI,EAAE;YACjD,MAAME,gBAAiBV,AAAAA,CAAAA,eAAe,CAACQ,MAAM,IAAI,EAAC,EAAG,GAAG,CAAC,CAACL,IAAMA,EAAE,EAAE;YACpE,MAAMQ,sBAAsBP,cAAc,MAAM,CAAC,CAACQ,KAAe,CAACF,cAAc,QAAQ,CAACE;YAEzF,MAAMC,aAAaf,OAAO,CAACU,MAAM;YACjC,MAAMM,wBAAwB;gBAC5B;oBACE,GAAGP,WAAW;oBACd,YAAY;wBAAE,GAAGA,YAAY,UAAU;wBAAEN;oBAAW;gBACtD;aACD;YACD,MAAMc,aAAkC;gBACtC,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGE,aAAa;oBAChB,4BAA4BC;oBAC5B,oBAAoBiB;oBACpB,UAAUT,OAAO,IAAI,CAACN,UAAU,MAAM,CAAC,CAACiB,KAAKC;wBAC3CD,GAAG,CAACC,IAAsB,GAAGlB,QAAQ,CAACkB,IAAsB,EAAE,OAAO,CAACC,IAC7D,CAACP,oBAAoB,QAAQ,CAACO;wBAGvC,OAAOF;oBACT,GAAG,CAAC;oBACJ,SAASH;gBACX;YACF;YAEA,MAAMM,YAAYC,aAAa5B,eAAeuB,YAAY,CAAC;YAC3D,OAAO;gBACL,cAAc,GAAGR,YAAY,EAAE,EAAE;gBACjC,OAAOc,wBAAwBzB,cAAc,SAAS,IAClD,KACAa,YAAY,GAAG,CAAC,CAACa,IAAMA,EAAE,KAAK,IAAIA,EAAE,EAAE,EAAE,IAAI,CAAC;gBACjD,UAAU;gBACV,aAAa;gBACb,WAAWH;gBACX,OAAO;oBACL,SAAS;wBAAC;wBAAG;wBAAG;wBAAG;qBAAE;gBACvB;YACF;QACF;QAEA,OAAO;YACL,GAAGxB,MAAM;YACT,YAAYW;QACd;IACF;AAEK,MAAMiB,uBAA2C,CAAC9B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF;AAEO,MAAM6B,uBAA2C,CAAC/B;IACvD,MAAME,SAAS;QAAE,GAAGF,IAAI;IAAC;IAEzB,OAAO;QACL,GAAGE,MAAM;QACT,iBAAiB;IACnB;AACF"}
|
|
@@ -6,7 +6,7 @@ const ecdfRegressionLine = (spec, context)=>{
|
|
|
6
6
|
...spec
|
|
7
7
|
};
|
|
8
8
|
const { advancedVSeed, vseed } = context;
|
|
9
|
-
const { chartType, encoding = {}, dimensions, regressionLine } = advancedVSeed;
|
|
9
|
+
const { chartType, encoding = {}, dimensions = [], regressionLine } = advancedVSeed;
|
|
10
10
|
const { dataset } = vseed;
|
|
11
11
|
const lineTheme = advancedVSeed.config[chartType]?.regressionLine;
|
|
12
12
|
if (!regressionLine || !regressionLine.ecdfRegressionLine) return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, array, isArray } from '@visactor/vutils'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, EcdfRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const ecdfRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.ecdfRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.ecdfRegressionLine).filter((ecdfLine) => ecdfLine.enable !== false)\n\n if (!result.extensionMark) {\n result.extensionMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n if (line.enable === false) {\n return\n }\n const theme = (lineTheme?.ecdfRegressionLine ?? {}) as EcdfRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as EcdfRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.extensionMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `ecdfRegressionLine-${lineIndex}`,\n dataId: (spec.data as any)?.id,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = ecdf(simpleData)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR = (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)!,\n y: scaleR(ld.y as number),\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n dataKey: () => {\n return `ecdfRegressionLine-label-${lineIndex}`\n },\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n // add percent axis of ecdf\n const leftAxis = result.axes?.find((v) => v.orient === 'left')\n if (leftAxis && lineList.length) {\n result.axes?.push({\n visible: true,\n orient: 'right',\n type: 'linear',\n base: 10,\n min: 0,\n max: 1,\n domainLine: {\n ...leftAxis.domainLine,\n },\n grid: {\n visible: false,\n },\n tick: {\n ...leftAxis.tick,\n },\n title: {\n ...leftAxis.title,\n visible: false,\n },\n label: {\n ...leftAxis.label,\n visible: true,\n formatMethod: (v) => {\n const text = isArray(v) ? v[0] : v\n return `${(+text * 100).toFixed(1)}%`\n },\n },\n })\n }\n\n return result\n}\n"],"names":["ecdfRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","ecdfLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","fieldX","scaleY","viewData","simpleData","entry","d","res","ecdf","N","Math","lineData","yRange","y0","y1","scaleR","e","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY","leftAxis","v","isArray"],"mappings":";;;AAMO,MAAMA,qBAAqC,CAACC,MAAMC;IACvD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAEC,KAAK,EAAE,GAAGH;IACjC,MAAM,EAAEI,SAAS,EAAEC,WAAW,CAAC,CAAa,EAAEC,UAAU,EAAEC,cAAc,EAAE,GAAGL;IAC7E,MAAM,EAAEM,OAAO,EAAE,GAAGL;IACpB,MAAMM,YAAYP,cAAc,MAAM,CAACE,UAAyB,EAAE;IAElE,IAAI,CAACG,kBAAkB,CAACA,eAAe,kBAAkB,EACvD,OAAON;IAGT,MAAMS,kBAAkBC,SACtBL,WAAW,MAAM,CAAC,CAACM,MAAmBA,AAAiB,UAAjBA,IAAI,QAAQ,IAAcA,AAAiB,aAAjBA,IAAI,QAAQ,GAC5E,CAACC,OAAoBA,KAAK,EAAE;IAG9B,MAAMC,WAAWC,MAAMR,eAAe,kBAAkB,EAAE,MAAM,CAAC,CAACS,WAAaA,AAAoB,UAApBA,SAAS,MAAM;IAE9F,IAAI,CAACf,OAAO,aAAa,EACvBA,OAAO,aAAa,GAAG,EAAE;IAG3Ba,SAAS,OAAO,CAAC,CAACG,MAAMC;QACtB,IAAID,AAAgB,UAAhBA,KAAK,MAAM,EACb;QAEF,MAAME,QAASV,WAAW,sBAAsB,CAAC;QACjD,MAAM,EAAEW,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,SAAS,EAAEC,YAAY,EAAEC,cAAc,EAAE,GAAGT;QAEtF,MAAMU,gBAAuB,EAAE;QAE7B1B,OAAO,aAAa,CAAW,IAAI,CAAC;YACpC,MAAM;YACN,aAAa;YACb,QAAQ;YACR,MAAM,CAAC,mBAAmB,EAAEiB,WAAW;YACvC,QAASnB,KAAK,IAAI,EAAU;YAC5B,OAAO;gBACL,MAAM,CAAC6B,OAAYC;oBACjB,MAAMC,SAASD,IAAI,MAAM;oBACzB,MAAME,QAAQD,OAAO,QAAQ;oBAC7B,MAAME,SAASD,MAAM,YAAY,GAAG,MAAM,CAAC,CAACE,IAAWA,AAAW,UAAXA,EAAE,IAAI;oBAG7D,IAAID,UAAUA,OAAO,MAAM,EAAE;wBAC3B,MAAMC,IAAID,MAAM,CAAC,EAAE;wBAEnB,MAAME,SAASD,EAAE,MAAM,EAAE,CAAC,EAAE;wBAC5B,MAAME,SAASF,EAAE,cAAc,GAAG,QAAQ,GAAG;wBAC7C,MAAMG,WAAWH,EAAE,WAAW,IAAI;wBAElC,IAAI,CAACzB,WAAW,CAACA,QAAQ,MAAM,IAAI,CAAC4B,YAAY,CAACA,SAAS,MAAM,IAAI,CAACD,QACnE,OAAO;wBAET,MAAME,aAAa7B,QAChB,MAAM,CAAC,CAAC8B,QACA5B,gBAAgB,MAAM,GACzBA,gBAAgB,KAAK,CAAC,CAACE,MACd0B,KAAK,CAAC1B,IAAI,EAAE,CAAC,KAAKwB,QAAQ,CAAC,EAAE,CAACxB,IAAI,EAAE,CAAC,IAE9C,MAEL,GAAG,CAAC,CAAC2B,IAAa,CAAEA,CAAS,CAAClC,SAAS,KAAK,EAAE,CAAC,EAAE,CAAW;wBAC/D,MAAMmC,MAAMC,KAAKJ;wBACjB,MAAMK,IAAIC,KAAK,GAAG,CAAC,GAAGA,KAAK,KAAK,CAACN,WAAW,MAAM,GAAG;wBACrD,MAAMO,WAAWJ,IAAI,YAAY,CAACE;wBAClC,MAAMG,SAASV,OAAO,KAAK;wBAC3B,MAAMW,KAAKD,MAAM,CAAC,EAAE;wBACpB,MAAME,KAAKF,MAAM,CAACA,OAAO,MAAM,GAAG,EAAE;wBACpC,MAAMG,SAAS,CAACC,IACPH,KAAMC,AAAAA,CAAAA,KAAKD,EAAC,IAAKG;wBAG1B,MAAMC,aAAaN,SAAS,GAAG,CAAC,CAACO;4BAC/B,MAAMZ,IAAI;gCAAE,CAACL,OAAO,EAAEiB,GAAG,CAAC;4BAAC;4BAC3B,OAAO;gCACL,GAAGlB,EAAE,eAAe,CAACM;gCACrB,GAAGS,OAAOG,GAAG,CAAC;4BAChB;wBACF;wBAEA,OAAO;4BACLD;4BACA,OAAO9B,SAASa,EAAE,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,MAAMA,EAAE,aAAa,EAAE,CAAC,EAAE;wBACzF;oBACF;oBACA,OAAO;gBACT;YACF;YACA,UAAUN;QACZ;QAEAA,cAAc,IAAI,CAAC;YACjB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,QAAS5B,KAAK,IAAI,EAAU;YAC5B,OAAO;gBACL,WAAWsB,aAAaF,MAAM,SAAS;gBACvC,UAAUG,YAAYH,MAAM,QAAQ;gBACpC,QAAQC,SAASgC;gBACjB,QAAQ,CAACxB,OAAYC,KAAUwB;oBAC7B,MAAMC,aAAaD,IAAI,IAAI,EAAE,UAAU;oBAEvC,IAAIC,YAAY,WAAW,MAEzB,OAAOA,WAAW,SAAS,CAAC,IAAI,CAAC,UAAU;oBAG7C,OAAO,EAAE;gBACX;YACF;QACF;QAEA,IAAI,CAACC,UAAUhC,OACbI,cAAc,IAAI,CAAC;YACjB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,QAAS5B,KAAK,IAAI,EAAU;YAC5B,SAAS,IACA,CAAC,yBAAyB,EAAEmB,WAAW;YAEhD,OAAO;gBACL,WAAW;gBACX,MAAMM,aAAaL,MAAM,SAAS;gBAClC,UAAUM,gBAAgBN,MAAM,YAAY;gBAC5C,YAAYO,kBAAkBP,MAAM,cAAc;gBAClD,MAAMI;gBACN,GAAGiC;gBACH,GAAGC;YACL;QACF;IAEJ;IAGA,MAAMC,WAAWzD,OAAO,IAAI,EAAE,KAAK,CAAC0D,IAAMA,AAAa,WAAbA,EAAE,MAAM;IAClD,IAAID,YAAY5C,SAAS,MAAM,EAC7Bb,OAAO,IAAI,EAAE,KAAK;QAChB,SAAS;QACT,QAAQ;QACR,MAAM;QACN,MAAM;QACN,KAAK;QACL,KAAK;QACL,YAAY;YACV,GAAGyD,SAAS,UAAU;QACxB;QACA,MAAM;YACJ,SAAS;QACX;QACA,MAAM;YACJ,GAAGA,SAAS,IAAI;QAClB;QACA,OAAO;YACL,GAAGA,SAAS,KAAK;YACjB,SAAS;QACX;QACA,OAAO;YACL,GAAGA,SAAS,KAAK;YACjB,SAAS;YACT,cAAc,CAACC;gBACb,MAAMpC,OAAOqC,QAAQD,KAAKA,CAAC,CAAC,EAAE,GAAGA;gBACjC,OAAO,GAAI,CAAQ,MAAPpC,IAAS,EAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC;QACF;IACF;IAGF,OAAOtB;AACT"}
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/ecdfRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { ecdf, array, isArray } from '@visactor/vutils'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, EcdfRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const ecdfRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions = [], regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n\n if (!regressionLine || !regressionLine.ecdfRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.ecdfRegressionLine).filter((ecdfLine) => ecdfLine.enable !== false)\n\n if (!result.extensionMark) {\n result.extensionMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n if (line.enable === false) {\n return\n }\n const theme = (lineTheme?.ecdfRegressionLine ?? {}) as EcdfRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as EcdfRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.extensionMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `ecdfRegressionLine-${lineIndex}`,\n dataId: (spec.data as any)?.id,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = ecdf(simpleData)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n const yRange = scaleY.range()\n const y0 = yRange[0]\n const y1 = yRange[yRange.length - 1]\n const scaleR = (e: number) => {\n return y0 + (y1 - y0) * e\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)!,\n y: scaleR(ld.y as number),\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n dataKey: () => {\n return `ecdfRegressionLine-label-${lineIndex}`\n },\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n // add percent axis of ecdf\n const leftAxis = result.axes?.find((v) => v.orient === 'left')\n if (leftAxis && lineList.length) {\n result.axes?.push({\n visible: true,\n orient: 'right',\n type: 'linear',\n base: 10,\n min: 0,\n max: 1,\n domainLine: {\n ...leftAxis.domainLine,\n },\n grid: {\n visible: false,\n },\n tick: {\n ...leftAxis.tick,\n },\n title: {\n ...leftAxis.title,\n visible: false,\n },\n label: {\n ...leftAxis.label,\n visible: true,\n formatMethod: (v) => {\n const text = isArray(v) ? v[0] : v\n return `${(+text * 100).toFixed(1)}%`\n },\n },\n })\n }\n\n return result\n}\n"],"names":["ecdfRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","rowColumnFields","uniqueBy","dim","item","lineList","array","ecdfLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","fieldX","scaleY","viewData","simpleData","entry","d","res","ecdf","N","Math","lineData","yRange","y0","y1","scaleR","e","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY","leftAxis","v","isArray"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ const kdeRegressionLine = (spec, context)=>{
|
|
|
7
7
|
...spec
|
|
8
8
|
};
|
|
9
9
|
const { advancedVSeed, vseed } = context;
|
|
10
|
-
const { chartType, encoding = {}, dimensions, regressionLine } = advancedVSeed;
|
|
10
|
+
const { chartType, encoding = {}, dimensions = [], regressionLine } = advancedVSeed;
|
|
11
11
|
const { dataset } = vseed;
|
|
12
12
|
const lineTheme = advancedVSeed.config[chartType]?.regressionLine;
|
|
13
13
|
const binValueType = advancedVSeed.config[chartType]?.binValueType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport type { KDEOptions } from '@visactor/vutils'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { kde, array } from '@visactor/vutils'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, KdeRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const kdeRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions, regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n const binValueType = advancedVSeed.config[chartType as 'histogram']?.binValueType\n\n if (!regressionLine || !regressionLine.kdeRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.kdeRegressionLine).filter((kdeLine) => kdeLine.enable !== false)\n\n if (!result.extensionMark) {\n result.extensionMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n if (line.enable === false) {\n return\n }\n const theme = (lineTheme.kdeRegressionLine ?? {}) as KdeRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as KdeRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.extensionMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `kdeRegressionLine-${lineIndex}`,\n dataId: (spec.data as any)?.id,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = kde(simpleData, {\n bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId]),\n } as KDEOptions)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n\n // 根据 binValueType 决定如何转换 KDE 密度值\n // - 频次模式 (count): 频次 = 密度 × 样本数 × 带宽\n // - 百分比模式 (percentage): 百分比 = 密度 × 带宽\n const scaleR = (k: number) => {\n if (binValueType === 'percentage') {\n // 百分比模式:y轴是0-1的百分比,KDE密度值乘以带宽即可\n return scaleY.scale(k * res.bandwidth)\n } else {\n // 频次模式:y轴是实际计数,需要乘以样本数量\n return scaleY.scale(k * simpleData.length * res.bandwidth)\n }\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)!,\n y: scaleR(ld.y as number),\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/regressionLine/kdeRegressionLine.ts"],"sourcesContent":["import type { ICartesianSeries, IChart, IHistogramChartSpec, IVChart } from '@visactor/vchart'\nimport type { KDEOptions } from '@visactor/vutils'\nimport { isNullish, uniqueBy } from 'remeda'\nimport { kde, array } from '@visactor/vutils'\nimport { BinEndMeasureId, BinStartMeasureId } from 'src/dataReshape'\nimport type { Datum, Dimension, VChartSpecPipe, Encoding, RegressionLineConfig, KdeRegressionLine } from 'src/types'\nimport { defaultRegressionLineColor, defaultRegressionLineLabelX, defaultRegressionLineLabelY } from './common'\n\nexport const kdeRegressionLine: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as IHistogramChartSpec\n const { advancedVSeed, vseed } = context\n const { chartType, encoding = {} as Encoding, dimensions = [], regressionLine } = advancedVSeed\n const { dataset } = vseed\n const lineTheme = advancedVSeed.config[chartType as 'histogram']?.regressionLine as RegressionLineConfig\n const binValueType = advancedVSeed.config[chartType as 'histogram']?.binValueType\n\n if (!regressionLine || !regressionLine.kdeRegressionLine) {\n return result\n }\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n\n const lineList = array(regressionLine.kdeRegressionLine).filter((kdeLine) => kdeLine.enable !== false)\n\n if (!result.extensionMark) {\n result.extensionMark = []\n }\n\n lineList.forEach((line, lineIndex) => {\n if (line.enable === false) {\n return\n }\n const theme = (lineTheme.kdeRegressionLine ?? {}) as KdeRegressionLine\n const { color, lineWidth, lineDash, text, textColor, textFontSize, textFontWeight } = line as KdeRegressionLine\n\n const childrenMarks: any[] = []\n\n ;(result.extensionMark as any[]).push({\n type: 'group',\n interactive: false,\n zIndex: 500,\n name: `kdeRegressionLine-${lineIndex}`,\n dataId: (spec.data as any)?.id,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart as IVChart\n const chart = vchart.getChart() as IChart\n const series = chart.getAllSeries().filter((s: any) => s.type === 'bar')\n\n // 直方图使用的是bar系列\n if (series && series.length) {\n const s = series[0] as ICartesianSeries\n\n const fieldX = s.fieldX?.[0]\n const scaleY = s.getYAxisHelper().getScale?.(0)\n const viewData = s.getViewData()?.latestData\n\n if (!dataset || !dataset.length || !viewData || !viewData.length || !scaleY) {\n return null\n }\n const simpleData = dataset\n .filter((entry: Datum) => {\n return rowColumnFields.length\n ? rowColumnFields.every((dim: Dimension) => {\n return entry[dim.id] === viewData[0][dim.id]\n })\n : true\n })\n .map((d: Datum) => +(d as any)[encoding.value?.[0] as string])\n const res = kde(simpleData, {\n bandwidth: Math.abs(viewData[0][BinEndMeasureId] - viewData[0][BinStartMeasureId]),\n } as KDEOptions)\n const N = Math.max(3, Math.floor(simpleData.length / 4))\n const lineData = res.evaluateGrid(N)\n\n // 根据 binValueType 决定如何转换 KDE 密度值\n // - 频次模式 (count): 频次 = 密度 × 样本数 × 带宽\n // - 百分比模式 (percentage): 百分比 = 密度 × 带宽\n const scaleR = (k: number) => {\n if (binValueType === 'percentage') {\n // 百分比模式:y轴是0-1的百分比,KDE密度值乘以带宽即可\n return scaleY.scale(k * res.bandwidth)\n } else {\n // 频次模式:y轴是实际计数,需要乘以样本数量\n return scaleY.scale(k * simpleData.length * res.bandwidth)\n }\n }\n\n const linePoints = lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x }\n return {\n x: s.dataToPositionX(d)!,\n y: scaleR(ld.y as number),\n }\n })\n\n return {\n linePoints,\n color: color ?? s.getOption().globalScale.getScale('color')?.scale(s.getSeriesKeys()[0]),\n }\n }\n return null\n },\n },\n children: childrenMarks,\n })\n\n childrenMarks.push({\n type: 'line',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n style: {\n lineWidth: lineWidth ?? theme.lineWidth,\n lineDash: lineDash ?? theme.lineDash,\n stroke: color ?? defaultRegressionLineColor,\n points: (datum: any, ctx: any, opt: any) => {\n const parentNode = opt.mark?._product?.parent\n\n if (parentNode?.attribute?.data) {\n return parentNode.attribute.data.linePoints\n }\n\n return []\n },\n },\n })\n\n if (!isNullish(text)) {\n childrenMarks.push({\n type: 'text',\n interactive: false,\n zIndex: 500,\n dataId: (spec.data as any)?.id,\n dataKey: () => {\n return `kdeRegressionLine-label-${lineIndex}`\n },\n style: {\n textAlign: 'end',\n fill: textColor ?? theme.textColor,\n fontSize: textFontSize ?? theme.textFontSize,\n fontWeight: textFontWeight ?? theme.textFontWeight,\n text: text,\n x: defaultRegressionLineLabelX,\n y: defaultRegressionLineLabelY,\n },\n })\n }\n })\n\n return result\n}\n"],"names":["kdeRegressionLine","spec","context","result","advancedVSeed","vseed","chartType","encoding","dimensions","regressionLine","dataset","lineTheme","binValueType","rowColumnFields","uniqueBy","dim","item","lineList","array","kdeLine","line","lineIndex","theme","color","lineWidth","lineDash","text","textColor","textFontSize","textFontWeight","childrenMarks","datum","ctx","vchart","chart","series","s","fieldX","scaleY","viewData","simpleData","entry","d","res","kde","Math","BinEndMeasureId","BinStartMeasureId","N","lineData","scaleR","k","linePoints","ld","defaultRegressionLineColor","opt","parentNode","isNullish","defaultRegressionLineLabelX","defaultRegressionLineLabelY"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const series: (
|
|
1
|
+
import type { DualAxisOptions, VChartSpecPipe } from '../../../../../types';
|
|
2
|
+
export declare const series: (pipeByAxis: ((options: DualAxisOptions) => VChartSpecPipe)[], pipes: VChartSpecPipe[]) => VChartSpecPipe;
|
|
3
3
|
/**
|
|
4
4
|
* @description 双轴图的透视场景, 不能使用此pipe, 请使用series
|
|
5
5
|
* 因为VTable.PivotVChart会自行解析数据, 而非VChart解析.
|
|
6
6
|
*/
|
|
7
|
-
export declare const seriesDualAxis: (
|
|
7
|
+
export declare const seriesDualAxis: (pipeByAxis: ((options: DualAxisOptions) => VChartSpecPipe)[], pipes: VChartSpecPipe[]) => VChartSpecPipe;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { execPipeline } from "../../../../utils/index.js";
|
|
2
|
-
|
|
1
|
+
import { DEFAULT_DUAL_CHART_TYPE, execPipeline } from "../../../../utils/index.js";
|
|
2
|
+
import { FoldPrimaryMeasureValue } from "../../../../../dataReshape/constant.js";
|
|
3
|
+
const series = (pipeByAxis, pipes)=>{
|
|
3
4
|
const result = {
|
|
4
5
|
type: 'common',
|
|
5
6
|
padding: 0,
|
|
@@ -10,11 +11,28 @@ const series = (...args)=>{
|
|
|
10
11
|
]
|
|
11
12
|
};
|
|
12
13
|
return (_, context)=>{
|
|
13
|
-
|
|
14
|
+
const { advancedVSeed } = context;
|
|
15
|
+
const { datasetReshapeInfo, reshapeMeasures = [] } = advancedVSeed;
|
|
16
|
+
const { foldInfoList = [], index } = datasetReshapeInfo[0];
|
|
17
|
+
result.series = foldInfoList.map((foldInfo)=>{
|
|
18
|
+
const measureId = Object.keys(foldInfo.foldMap)[0];
|
|
19
|
+
const axisType = foldInfo.measureValue === `${FoldPrimaryMeasureValue}${index}` ? 'primary' : 'secondary';
|
|
20
|
+
const measure = (reshapeMeasures[index] ?? []).find((m)=>m.id === measureId);
|
|
21
|
+
const options = {
|
|
22
|
+
axisType,
|
|
23
|
+
chartType: measure?.chartType ?? ('primary' === axisType ? DEFAULT_DUAL_CHART_TYPE.primary : DEFAULT_DUAL_CHART_TYPE.secondary),
|
|
24
|
+
foldInfo
|
|
25
|
+
};
|
|
26
|
+
const pipeline = [
|
|
27
|
+
...pipeByAxis.map((p)=>p(options)),
|
|
28
|
+
...pipes
|
|
29
|
+
];
|
|
30
|
+
return execPipeline(pipeline, context, {});
|
|
31
|
+
});
|
|
14
32
|
return result;
|
|
15
33
|
};
|
|
16
34
|
};
|
|
17
|
-
const seriesDualAxis = (
|
|
35
|
+
const seriesDualAxis = (pipeByAxis, pipes)=>{
|
|
18
36
|
const result = {
|
|
19
37
|
type: 'common',
|
|
20
38
|
padding: 0,
|
|
@@ -25,20 +43,30 @@ const seriesDualAxis = (...args)=>{
|
|
|
25
43
|
}
|
|
26
44
|
]
|
|
27
45
|
};
|
|
28
|
-
const createDualContext = (context, index)=>{
|
|
29
|
-
const { advancedVSeed } = context;
|
|
30
|
-
const dataset = advancedVSeed.dataset[index];
|
|
31
|
-
return {
|
|
32
|
-
...context,
|
|
33
|
-
advancedVSeed: {
|
|
34
|
-
...advancedVSeed,
|
|
35
|
-
dataset: dataset
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
46
|
return (_, context)=>{
|
|
40
|
-
|
|
41
|
-
|
|
47
|
+
const { advancedVSeed } = context;
|
|
48
|
+
const { datasetReshapeInfo, dataset, reshapeMeasures = [] } = advancedVSeed;
|
|
49
|
+
result.series = dataset.map((d, index)=>{
|
|
50
|
+
const seriesContext = {
|
|
51
|
+
...context,
|
|
52
|
+
advancedVSeed: {
|
|
53
|
+
...advancedVSeed,
|
|
54
|
+
dataset: d
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const foldInfo = datasetReshapeInfo[0].foldInfoList[index];
|
|
58
|
+
const measureId = Object.keys(foldInfo.foldMap)[0];
|
|
59
|
+
const axisType = foldInfo.measureValue === FoldPrimaryMeasureValue ? 'primary' : 'secondary';
|
|
60
|
+
const measure = (reshapeMeasures[0] ?? []).find((m)=>m.id === measureId);
|
|
61
|
+
const options = {
|
|
62
|
+
axisType,
|
|
63
|
+
chartType: measure?.chartType ?? ('primary' === axisType ? DEFAULT_DUAL_CHART_TYPE.primary : DEFAULT_DUAL_CHART_TYPE.secondary),
|
|
64
|
+
foldInfo
|
|
65
|
+
};
|
|
66
|
+
const pipeline = [
|
|
67
|
+
...pipeByAxis.map((p)=>p(options)),
|
|
68
|
+
...pipes
|
|
69
|
+
];
|
|
42
70
|
return execPipeline(pipeline, seriesContext, {});
|
|
43
71
|
});
|
|
44
72
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/series/series.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/series/series.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/series/series.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/series/series.ts"],"sourcesContent":["import type {\n ChartType,\n Dataset,\n DualAxisMeasure,\n DualAxisOptions,\n SpecPipelineContext,\n VChartSpecPipe,\n} from 'src/types'\nimport { DEFAULT_DUAL_CHART_TYPE, execPipeline } from '../../../../utils'\nimport type { ICommonChartSpec, ILineSeriesSpec, ISpec } from '@visactor/vchart'\nimport { FoldPrimaryMeasureValue } from 'src/dataReshape/constant'\n\nexport const series = (\n pipeByAxis: ((options: DualAxisOptions) => VChartSpecPipe)[],\n pipes: VChartSpecPipe[],\n): VChartSpecPipe => {\n const result = {\n type: 'common',\n padding: 0,\n region: [\n {\n clip: true,\n },\n ],\n } as ICommonChartSpec\n\n return (_: Partial<ISpec>, context: SpecPipelineContext) => {\n const { advancedVSeed } = context\n const { datasetReshapeInfo, reshapeMeasures = [] } = advancedVSeed\n const { foldInfoList = [], index } = datasetReshapeInfo[0]!\n\n result.series = foldInfoList!.map((foldInfo) => {\n const measureId = Object.keys(foldInfo.foldMap)[0]\n const axisType = foldInfo.measureValue === `${FoldPrimaryMeasureValue}${index}` ? 'primary' : 'secondary'\n const measure = (reshapeMeasures[index] ?? []).find((m) => m.id === measureId)!\n\n const options: DualAxisOptions = {\n axisType,\n chartType: ((measure as DualAxisMeasure)?.chartType ??\n (axisType === 'primary' ? DEFAULT_DUAL_CHART_TYPE.primary : DEFAULT_DUAL_CHART_TYPE.secondary)) as ChartType,\n foldInfo,\n }\n const pipeline = [...pipeByAxis.map((p) => p(options)), ...pipes]\n return execPipeline<ISpec, SpecPipelineContext>(pipeline, context, {})\n }) as ILineSeriesSpec[]\n\n return result\n }\n}\n\n/**\n * @description 双轴图的透视场景, 不能使用此pipe, 请使用series\n * 因为VTable.PivotVChart会自行解析数据, 而非VChart解析.\n */\nexport const seriesDualAxis = (\n pipeByAxis: ((options: DualAxisOptions) => VChartSpecPipe)[],\n pipes: VChartSpecPipe[],\n): VChartSpecPipe => {\n const result = {\n type: 'common',\n padding: 0,\n labelLayout: 'region',\n region: [\n {\n clip: true,\n },\n ],\n } as ICommonChartSpec\n\n return (_: Partial<ISpec>, context: SpecPipelineContext) => {\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dataset, reshapeMeasures = [] } = advancedVSeed\n\n result.series = dataset.map((d, index) => {\n const seriesContext = {\n ...context,\n advancedVSeed: {\n ...advancedVSeed,\n dataset: d as Dataset,\n },\n }\n\n const foldInfo = datasetReshapeInfo[0]!.foldInfoList![index]\n const measureId = Object.keys(foldInfo.foldMap)[0]\n const axisType = foldInfo.measureValue === FoldPrimaryMeasureValue ? 'primary' : 'secondary'\n const measure = (reshapeMeasures[0] ?? []).find((m) => m.id === measureId)!\n\n const options: DualAxisOptions = {\n axisType,\n chartType: ((measure as DualAxisMeasure)?.chartType ??\n (axisType === 'primary' ? DEFAULT_DUAL_CHART_TYPE.primary : DEFAULT_DUAL_CHART_TYPE.secondary)) as ChartType,\n foldInfo,\n }\n const pipeline = [...pipeByAxis.map((p) => p(options)), ...pipes]\n return execPipeline<ISpec, SpecPipelineContext>(pipeline, seriesContext, {})\n }) as ILineSeriesSpec[]\n\n return result\n }\n}\n"],"names":["series","pipeByAxis","pipes","result","_","context","advancedVSeed","datasetReshapeInfo","reshapeMeasures","foldInfoList","index","foldInfo","measureId","Object","axisType","FoldPrimaryMeasureValue","measure","m","options","DEFAULT_DUAL_CHART_TYPE","pipeline","p","execPipeline","seriesDualAxis","dataset","d","seriesContext"],"mappings":";;AAYO,MAAMA,SAAS,CACpBC,YACAC;IAEA,MAAMC,SAAS;QACb,MAAM;QACN,SAAS;QACT,QAAQ;YACN;gBACE,MAAM;YACR;SACD;IACH;IAEA,OAAO,CAACC,GAAmBC;QACzB,MAAM,EAAEC,aAAa,EAAE,GAAGD;QAC1B,MAAM,EAAEE,kBAAkB,EAAEC,kBAAkB,EAAE,EAAE,GAAGF;QACrD,MAAM,EAAEG,eAAe,EAAE,EAAEC,KAAK,EAAE,GAAGH,kBAAkB,CAAC,EAAE;QAE1DJ,OAAO,MAAM,GAAGM,aAAc,GAAG,CAAC,CAACE;YACjC,MAAMC,YAAYC,OAAO,IAAI,CAACF,SAAS,OAAO,CAAC,CAAC,EAAE;YAClD,MAAMG,WAAWH,SAAS,YAAY,KAAK,GAAGI,0BAA0BL,OAAO,GAAG,YAAY;YAC9F,MAAMM,UAAWR,AAAAA,CAAAA,eAAe,CAACE,MAAM,IAAI,EAAC,EAAG,IAAI,CAAC,CAACO,IAAMA,EAAE,EAAE,KAAKL;YAEpE,MAAMM,UAA2B;gBAC/BJ;gBACA,WAAaE,SAA6B,aACvCF,CAAAA,AAAa,cAAbA,WAAyBK,wBAAwB,OAAO,GAAGA,wBAAwB,SAAQ;gBAC9FR;YACF;YACA,MAAMS,WAAW;mBAAInB,WAAW,GAAG,CAAC,CAACoB,IAAMA,EAAEH;mBAAchB;aAAM;YACjE,OAAOoB,aAAyCF,UAAUf,SAAS,CAAC;QACtE;QAEA,OAAOF;IACT;AACF;AAMO,MAAMoB,iBAAiB,CAC5BtB,YACAC;IAEA,MAAMC,SAAS;QACb,MAAM;QACN,SAAS;QACT,aAAa;QACb,QAAQ;YACN;gBACE,MAAM;YACR;SACD;IACH;IAEA,OAAO,CAACC,GAAmBC;QACzB,MAAM,EAAEC,aAAa,EAAE,GAAGD;QAC1B,MAAM,EAAEE,kBAAkB,EAAEiB,OAAO,EAAEhB,kBAAkB,EAAE,EAAE,GAAGF;QAE9DH,OAAO,MAAM,GAAGqB,QAAQ,GAAG,CAAC,CAACC,GAAGf;YAC9B,MAAMgB,gBAAgB;gBACpB,GAAGrB,OAAO;gBACV,eAAe;oBACb,GAAGC,aAAa;oBAChB,SAASmB;gBACX;YACF;YAEA,MAAMd,WAAWJ,kBAAkB,CAAC,EAAE,CAAE,YAAa,CAACG,MAAM;YAC5D,MAAME,YAAYC,OAAO,IAAI,CAACF,SAAS,OAAO,CAAC,CAAC,EAAE;YAClD,MAAMG,WAAWH,SAAS,YAAY,KAAKI,0BAA0B,YAAY;YACjF,MAAMC,UAAWR,AAAAA,CAAAA,eAAe,CAAC,EAAE,IAAI,EAAC,EAAG,IAAI,CAAC,CAACS,IAAMA,EAAE,EAAE,KAAKL;YAEhE,MAAMM,UAA2B;gBAC/BJ;gBACA,WAAaE,SAA6B,aACvCF,CAAAA,AAAa,cAAbA,WAAyBK,wBAAwB,OAAO,GAAGA,wBAAwB,SAAQ;gBAC9FR;YACF;YACA,MAAMS,WAAW;mBAAInB,WAAW,GAAG,CAAC,CAACoB,IAAMA,EAAEH;mBAAchB;aAAM;YACjE,OAAOoB,aAAyCF,UAAUM,eAAe,CAAC;QAC5E;QAEA,OAAOvB;IACT;AACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { tooltip } from './tooltip';
|
|
2
|
-
export {
|
|
2
|
+
export { tooltipDualAxis, tooltipOfDualAxisSeries } from './tooltipDualAxis';
|
|
3
3
|
export { tooltipScatter } from './tooltipScatter';
|
|
4
4
|
export { tooltipHeatmap } from './tooltipHeatmap';
|
|
5
5
|
export { tooltipBoxplot } from './tooltipBoxplot';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { tooltip } from "./tooltip.js";
|
|
2
|
-
import { tooltipDualAxis,
|
|
2
|
+
import { tooltipDualAxis, tooltipOfDualAxisSeries } from "./tooltipDualAxis.js";
|
|
3
3
|
import { tooltipScatter } from "./tooltipScatter.js";
|
|
4
4
|
import { tooltipHeatmap } from "./tooltipHeatmap.js";
|
|
5
5
|
import { tooltipBoxplot } from "./tooltipBoxplot.js";
|
|
6
6
|
import { tooltipHistogram } from "./tooltipHistogram.js";
|
|
7
|
-
export { tooltip, tooltipBoxplot, tooltipDualAxis, tooltipHeatmap, tooltipHistogram,
|
|
7
|
+
export { tooltip, tooltipBoxplot, tooltipDualAxis, tooltipHeatmap, tooltipHistogram, tooltipOfDualAxisSeries, tooltipScatter };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Dimensions, FoldInfo, Measures, VChartSpecPipe, UnfoldInfo } from '../../../../../types';
|
|
2
2
|
export declare const tooltip: VChartSpecPipe;
|
|
3
|
-
export declare const createDimensionContent: (dimensions: Dimensions, measures: Measures, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => {
|
|
3
|
+
export declare const createDimensionContent: (dimensions: Dimensions | undefined, measures: Measures | undefined, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => {
|
|
4
4
|
visible: boolean;
|
|
5
5
|
shapeType: string;
|
|
6
6
|
hasShape: boolean;
|
|
7
7
|
key: (v: unknown) => string;
|
|
8
8
|
value: (v: unknown) => string;
|
|
9
9
|
}[];
|
|
10
|
-
export declare const createMarkContent: (tooltip: string[], dimensions: Dimensions, measures: Measures, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => ({
|
|
10
|
+
export declare const createMarkContent: (tooltip: string[], dimensions: Dimensions | undefined, measures: Measures | undefined, foldInfo: FoldInfo, unfoldInfo: UnfoldInfo) => ({
|
|
11
11
|
visible: boolean;
|
|
12
12
|
hasShape: boolean;
|
|
13
13
|
shapeType: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { pipe, uniqueBy } from "remeda";
|
|
2
|
-
import { createFormatterByMeasure,
|
|
2
|
+
import { createFormatterByMeasure, findMeasureById } from "../../../../utils/index.js";
|
|
3
3
|
import { ORIGINAL_DATA } from "../../../../../dataReshape/index.js";
|
|
4
4
|
import { getTooltipStyle } from "./tooltipStyle.js";
|
|
5
5
|
import { updateTooltipElement } from "./tooltipElement.js";
|
|
@@ -8,7 +8,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
|
8
8
|
...spec
|
|
9
9
|
};
|
|
10
10
|
const { advancedVSeed, vseed } = context;
|
|
11
|
-
const { measures, datasetReshapeInfo, chartType, dimensions, encoding } = advancedVSeed;
|
|
11
|
+
const { measures = [], datasetReshapeInfo, chartType, dimensions = [], encoding } = advancedVSeed;
|
|
12
12
|
const baseConfig = advancedVSeed.config[chartType];
|
|
13
13
|
const { tooltip = {
|
|
14
14
|
enable: true
|
|
@@ -22,7 +22,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
|
22
22
|
title: {
|
|
23
23
|
visible: false
|
|
24
24
|
},
|
|
25
|
-
content: createMarkContent(encoding.tooltip || [], dimensions,
|
|
25
|
+
content: createMarkContent(encoding.tooltip || [], dimensions, vseed.measures, foldInfo, unfoldInfo)
|
|
26
26
|
},
|
|
27
27
|
dimension: {
|
|
28
28
|
title: {
|
|
@@ -34,7 +34,7 @@ const tooltip_tooltip = (spec, context)=>{
|
|
|
34
34
|
};
|
|
35
35
|
return result;
|
|
36
36
|
};
|
|
37
|
-
const createDimensionContent = (dimensions, measures, foldInfo, unfoldInfo)=>{
|
|
37
|
+
const createDimensionContent = (dimensions = [], measures = [], foldInfo, unfoldInfo)=>{
|
|
38
38
|
const { measureId, measureValue, foldMap } = foldInfo;
|
|
39
39
|
const { encodingColor } = unfoldInfo;
|
|
40
40
|
return [
|
|
@@ -63,7 +63,7 @@ const createDimensionContent = (dimensions, measures, foldInfo, unfoldInfo)=>{
|
|
|
63
63
|
}
|
|
64
64
|
];
|
|
65
65
|
};
|
|
66
|
-
const createMarkContent = (tooltip, dimensions, measures, foldInfo, unfoldInfo)=>{
|
|
66
|
+
const createMarkContent = (tooltip, dimensions = [], measures = [], foldInfo, unfoldInfo)=>{
|
|
67
67
|
const dims = pipe(dimensions.filter((item)=>tooltip.includes(item.id)), uniqueBy((item)=>item.id), uniqueBy((item)=>item.alias));
|
|
68
68
|
const meas = pipe(measures.filter((item)=>tooltip.includes(item.id)), uniqueBy((item)=>item.id), uniqueBy((item)=>item.alias));
|
|
69
69
|
const dimContent = dims.map((item)=>({
|