@visactor/vseed 0.2.9 → 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 +154 -118
- 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/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 +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/index.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelBoxPlot.js.map +1 -1
- 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/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/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 +137 -68
- 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 +11 -2
- 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/config.d.ts +0 -31
- 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/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 +0 -62
- package/dist/esm/types/zVseed.d.ts +235 -704
- package/dist/umd/index.js +854 -1343
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasures.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/buildMeasures.ts"],"sourcesContent":["import type { AdvancedPipe,
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasures.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/buildMeasures.ts"],"sourcesContent":["import type { AdvancedPipe, MeasureEncoding, Measures } from 'src/types'\n\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils/constant'\nimport { ensureParentIdInitialized, isCommonMeasureEncoding } from './utils'\n\nexport const buildMeasures = (encodingKeys: string[]): AdvancedPipe => {\n return (advancedVSeed) => {\n const { measures = [] } = advancedVSeed\n const measuresByView = {} as { [key: string]: Measures }\n const parentIds: string[] = []\n\n for (let index = 0; index < measures.length; index++) {\n const item = measures[index]\n const encoding = item.encoding\n const parentId = item.parentId || DEFAULT_PARENT_ID\n\n const isOtherEncoding = item.encoding && isCommonMeasureEncoding(encoding as MeasureEncoding)\n\n ensureParentIdInitialized(parentId, measuresByView, parentIds)\n\n if (encodingKeys.includes(encoding as string)) {\n measuresByView[parentId].push(item)\n } else if (!isOtherEncoding) {\n item.encoding = encodingKeys[0] as MeasureEncoding\n measuresByView[parentId].push(item)\n }\n }\n\n advancedVSeed.reshapeMeasures = parentIds.map((pid) => measuresByView[pid]).filter((m) => m.length > 0)\n\n return advancedVSeed\n }\n}\n"],"names":["buildMeasures","encodingKeys","advancedVSeed","measures","measuresByView","parentIds","index","item","encoding","parentId","DEFAULT_PARENT_ID","isOtherEncoding","isCommonMeasureEncoding","ensureParentIdInitialized","pid","m"],"mappings":";;AAKO,MAAMA,gBAAgB,CAACC,eACrB,CAACC;QACN,MAAM,EAAEC,WAAW,EAAE,EAAE,GAAGD;QAC1B,MAAME,iBAAiB,CAAC;QACxB,MAAMC,YAAsB,EAAE;QAE9B,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,SAAS,MAAM,EAAEG,QAAS;YACpD,MAAMC,OAAOJ,QAAQ,CAACG,MAAM;YAC5B,MAAME,WAAWD,KAAK,QAAQ;YAC9B,MAAME,WAAWF,KAAK,QAAQ,IAAIG;YAElC,MAAMC,kBAAkBJ,KAAK,QAAQ,IAAIK,wBAAwBJ;YAEjEK,0BAA0BJ,UAAUL,gBAAgBC;YAEpD,IAAIJ,aAAa,QAAQ,CAACO,WACxBJ,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;iBACzB,IAAI,CAACI,iBAAiB;gBAC3BJ,KAAK,QAAQ,GAAGN,YAAY,CAAC,EAAE;gBAC/BG,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;YAChC;QACF;QAEAL,cAAc,eAAe,GAAGG,UAAU,GAAG,CAAC,CAACS,MAAQV,cAAc,CAACU,IAAI,EAAE,MAAM,CAAC,CAACC,IAAMA,EAAE,MAAM,GAAG;QAErG,OAAOb;IACT"}
|
|
@@ -1,126 +1,33 @@
|
|
|
1
|
-
import { isMeasureTreeWithChildren, isMeasureTreeWithParentId } from "./utils.js";
|
|
2
|
-
import { clone } from "remeda";
|
|
3
1
|
import { DEFAULT_PARENT_ID } from "../../../../utils/constant.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
advancedVSeed.measures = dualMeasuresToMeasureTree(clone(vseed.dualMeasures));
|
|
13
|
-
return advancedVSeed;
|
|
14
|
-
}
|
|
15
|
-
const { dualMeasures, encodedMeasures } = basicMeasuresToDualMeasures(advancedVSeed.measures || []);
|
|
16
|
-
advancedVSeed.measures = dualMeasuresToMeasureTree(dualMeasures);
|
|
17
|
-
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
18
|
-
advancedVSeed.measures.push(m);
|
|
19
|
-
});
|
|
20
|
-
return advancedVSeed;
|
|
21
|
-
};
|
|
22
|
-
const basicMeasuresToDualMeasures = (basicMeasures)=>{
|
|
23
|
-
const primaryMeasures = [];
|
|
24
|
-
const secondaryMeasures = [];
|
|
25
|
-
const encodedMeasures = [];
|
|
26
|
-
for(let index = 0; index < basicMeasures.length; index++){
|
|
27
|
-
const item = basicMeasures[index];
|
|
2
|
+
import { ensureParentIdInitialized, isCommonMeasureEncoding } from "./utils.js";
|
|
3
|
+
import { DEFAULT_DUAL_CHART_TYPE, isDualAxisChartType } from "../../../../utils/chatType.js";
|
|
4
|
+
const buildMeasuresForDualAxis = (advancedVSeed)=>{
|
|
5
|
+
const { measures = [] } = advancedVSeed;
|
|
6
|
+
const measuresByView = {};
|
|
7
|
+
const parentIds = [];
|
|
8
|
+
for(let index = 0; index < measures.length; index++){
|
|
9
|
+
const item = measures[index];
|
|
28
10
|
const encoding = item.encoding;
|
|
11
|
+
const parentId = item.parentId || DEFAULT_PARENT_ID;
|
|
29
12
|
const isPrimaryYAxis = 'primaryYAxis' === encoding;
|
|
30
13
|
const isSecondaryYAxis = 'secondaryYAxis' === encoding;
|
|
31
|
-
const isOtherEncoding = item.encoding &&
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
else if (isOtherEncoding)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
dualMeasures: [
|
|
45
|
-
{
|
|
46
|
-
id: 'dualMeasures',
|
|
47
|
-
primaryMeasures,
|
|
48
|
-
secondaryMeasures
|
|
49
|
-
}
|
|
50
|
-
],
|
|
51
|
-
encodedMeasures
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
const dualMeasuresToMeasureTree = (dualMeasures)=>{
|
|
55
|
-
const measureTree = dualMeasures.map((item, index)=>{
|
|
56
|
-
const { id, primaryMeasures, secondaryMeasures } = item;
|
|
57
|
-
const groupChildren = [];
|
|
58
|
-
let groupId = `${id}-`;
|
|
59
|
-
if (primaryMeasures) {
|
|
60
|
-
const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [
|
|
61
|
-
primaryMeasures
|
|
62
|
-
];
|
|
63
|
-
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
|
64
|
-
groupId += alias;
|
|
65
|
-
groupChildren.push({
|
|
66
|
-
id: `${index}-primary`,
|
|
67
|
-
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
|
68
|
-
children: arrPrimaryMeasures
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
if (secondaryMeasures) {
|
|
72
|
-
const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [
|
|
73
|
-
secondaryMeasures
|
|
74
|
-
];
|
|
75
|
-
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
|
76
|
-
groupId += alias;
|
|
77
|
-
groupChildren.push({
|
|
78
|
-
id: `${index}-secondary`,
|
|
79
|
-
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
|
80
|
-
children: arrSecondaryMeasures
|
|
81
|
-
});
|
|
14
|
+
const isOtherEncoding = item.encoding && isCommonMeasureEncoding(encoding);
|
|
15
|
+
ensureParentIdInitialized(parentId, measuresByView, parentIds);
|
|
16
|
+
if (isPrimaryYAxis) {
|
|
17
|
+
measuresByView[parentId].push(item);
|
|
18
|
+
if (!isDualAxisChartType(item.chartType)) item.chartType = DEFAULT_DUAL_CHART_TYPE.primary;
|
|
19
|
+
} else if (isSecondaryYAxis) {
|
|
20
|
+
measuresByView[parentId].push(item);
|
|
21
|
+
if (!isDualAxisChartType(item.chartType)) item.chartType = DEFAULT_DUAL_CHART_TYPE.secondary;
|
|
22
|
+
} else if (!isOtherEncoding) {
|
|
23
|
+
const primaryCount = measuresByView[parentId].filter((m)=>'primaryYAxis' === m.encoding).length;
|
|
24
|
+
item.encoding = 0 === primaryCount ? 'primaryYAxis' : 'secondaryYAxis';
|
|
25
|
+
if (!isDualAxisChartType(item.chartType)) item.chartType = 'primaryYAxis' === item.encoding ? DEFAULT_DUAL_CHART_TYPE.primary : DEFAULT_DUAL_CHART_TYPE.secondary;
|
|
26
|
+
measuresByView[parentId].push(item);
|
|
82
27
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
children: groupChildren
|
|
87
|
-
};
|
|
88
|
-
});
|
|
89
|
-
if (1 === dualMeasures.length) return measureTree[0].children || [];
|
|
90
|
-
return measureTree;
|
|
91
|
-
};
|
|
92
|
-
const generateMeasuresByParentId = (measures)=>{
|
|
93
|
-
const dualMeasures = [];
|
|
94
|
-
const encodedMeasures = [];
|
|
95
|
-
measures.forEach((item)=>{
|
|
96
|
-
const id = item.parentId || DEFAULT_PARENT_ID;
|
|
97
|
-
if (!dualMeasures.find((d)=>d.id === id)) dualMeasures.push({
|
|
98
|
-
id,
|
|
99
|
-
primaryMeasures: [],
|
|
100
|
-
secondaryMeasures: []
|
|
101
|
-
});
|
|
102
|
-
const dualChart = dualMeasures.find((d)=>d.id === id);
|
|
103
|
-
if (!dualChart || !Array.isArray(dualChart.primaryMeasures) || !Array.isArray(dualChart.secondaryMeasures)) return;
|
|
104
|
-
const encoding = item.encoding;
|
|
105
|
-
const isPrimaryYAxis = 'primaryYAxis' === encoding;
|
|
106
|
-
const isSecondaryYAxis = 'secondaryYAxis' === encoding;
|
|
107
|
-
const isOtherEncoding = item.encoding && [
|
|
108
|
-
'color',
|
|
109
|
-
'label',
|
|
110
|
-
'tooltip',
|
|
111
|
-
'detail'
|
|
112
|
-
].includes(item.encoding);
|
|
113
|
-
if (isPrimaryYAxis) dualChart.primaryMeasures.push(item);
|
|
114
|
-
else if (isSecondaryYAxis) dualChart.secondaryMeasures.push(item);
|
|
115
|
-
else if (isOtherEncoding) encodedMeasures.push(item);
|
|
116
|
-
else if (0 === dualChart.primaryMeasures.length) dualChart.primaryMeasures.push(item);
|
|
117
|
-
else dualChart.secondaryMeasures.push(item);
|
|
118
|
-
});
|
|
119
|
-
const res = dualMeasuresToMeasureTree(dualMeasures);
|
|
120
|
-
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
121
|
-
res.push(m);
|
|
122
|
-
});
|
|
123
|
-
return res;
|
|
28
|
+
}
|
|
29
|
+
advancedVSeed.reshapeMeasures = parentIds.map((pid)=>measuresByView[pid]).filter((m)=>m.length > 0);
|
|
30
|
+
return advancedVSeed;
|
|
124
31
|
};
|
|
125
32
|
export { buildMeasuresForDualAxis };
|
|
126
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.ts"],"sourcesContent":["import type { AdvancedPipe,
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.ts"],"sourcesContent":["import type { AdvancedPipe, DualAxisMeasure, MeasureEncoding, Measures } from 'src/types'\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils/constant'\nimport { ensureParentIdInitialized, isCommonMeasureEncoding } from './utils'\nimport { DEFAULT_DUAL_CHART_TYPE, isDualAxisChartType } from 'src/pipeline/utils/chatType'\n\nexport const buildMeasuresForDualAxis: AdvancedPipe = (advancedVSeed) => {\n const { measures = [] } = advancedVSeed\n const measuresByView = {} as { [key: string]: Measures }\n const parentIds: string[] = []\n\n for (let index = 0; index < measures.length; index++) {\n const item = measures[index]\n const encoding = item.encoding\n const parentId = item.parentId || DEFAULT_PARENT_ID\n const isPrimaryYAxis = encoding === 'primaryYAxis'\n const isSecondaryYAxis = encoding === 'secondaryYAxis'\n const isOtherEncoding = item.encoding && isCommonMeasureEncoding(encoding as MeasureEncoding)\n\n ensureParentIdInitialized(parentId, measuresByView, parentIds)\n\n if (isPrimaryYAxis) {\n measuresByView[parentId].push(item)\n\n if (!isDualAxisChartType((item as DualAxisMeasure).chartType)) {\n ;(item as any).chartType = DEFAULT_DUAL_CHART_TYPE.primary\n }\n } else if (isSecondaryYAxis) {\n measuresByView[parentId].push(item)\n\n if (!isDualAxisChartType((item as DualAxisMeasure).chartType)) {\n ;(item as any).chartType = DEFAULT_DUAL_CHART_TYPE.secondary\n }\n } else if (!isOtherEncoding) {\n const primaryCount = measuresByView[parentId].filter((m) => m.encoding === 'primaryYAxis').length\n item.encoding = primaryCount === 0 ? 'primaryYAxis' : 'secondaryYAxis'\n\n if (!isDualAxisChartType((item as DualAxisMeasure).chartType)) {\n ;(item as any).chartType =\n item.encoding === 'primaryYAxis' ? DEFAULT_DUAL_CHART_TYPE.primary : DEFAULT_DUAL_CHART_TYPE.secondary\n }\n\n measuresByView[parentId].push(item)\n }\n }\n\n advancedVSeed.reshapeMeasures = parentIds.map((pid) => measuresByView[pid]).filter((m) => m.length > 0)\n\n return advancedVSeed\n}\n"],"names":["buildMeasuresForDualAxis","advancedVSeed","measures","measuresByView","parentIds","index","item","encoding","parentId","DEFAULT_PARENT_ID","isPrimaryYAxis","isSecondaryYAxis","isOtherEncoding","isCommonMeasureEncoding","ensureParentIdInitialized","isDualAxisChartType","DEFAULT_DUAL_CHART_TYPE","primaryCount","m","pid"],"mappings":";;;AAKO,MAAMA,2BAAyC,CAACC;IACrD,MAAM,EAAEC,WAAW,EAAE,EAAE,GAAGD;IAC1B,MAAME,iBAAiB,CAAC;IACxB,MAAMC,YAAsB,EAAE;IAE9B,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,SAAS,MAAM,EAAEG,QAAS;QACpD,MAAMC,OAAOJ,QAAQ,CAACG,MAAM;QAC5B,MAAME,WAAWD,KAAK,QAAQ;QAC9B,MAAME,WAAWF,KAAK,QAAQ,IAAIG;QAClC,MAAMC,iBAAiBH,AAAa,mBAAbA;QACvB,MAAMI,mBAAmBJ,AAAa,qBAAbA;QACzB,MAAMK,kBAAkBN,KAAK,QAAQ,IAAIO,wBAAwBN;QAEjEO,0BAA0BN,UAAUL,gBAAgBC;QAEpD,IAAIM,gBAAgB;YAClBP,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;YAE9B,IAAI,CAACS,oBAAqBT,KAAyB,SAAS,GACxDA,KAAa,SAAS,GAAGU,wBAAwB,OAAO;QAE9D,OAAO,IAAIL,kBAAkB;YAC3BR,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;YAE9B,IAAI,CAACS,oBAAqBT,KAAyB,SAAS,GACxDA,KAAa,SAAS,GAAGU,wBAAwB,SAAS;QAEhE,OAAO,IAAI,CAACJ,iBAAiB;YAC3B,MAAMK,eAAed,cAAc,CAACK,SAAS,CAAC,MAAM,CAAC,CAACU,IAAMA,AAAe,mBAAfA,EAAE,QAAQ,EAAqB,MAAM;YACjGZ,KAAK,QAAQ,GAAGW,AAAiB,MAAjBA,eAAqB,iBAAiB;YAEtD,IAAI,CAACF,oBAAqBT,KAAyB,SAAS,GACxDA,KAAa,SAAS,GACtBA,AAAkB,mBAAlBA,KAAK,QAAQ,GAAsBU,wBAAwB,OAAO,GAAGA,wBAAwB,SAAS;YAG1Gb,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;QAChC;IACF;IAEAL,cAAc,eAAe,GAAGG,UAAU,GAAG,CAAC,CAACe,MAAQhB,cAAc,CAACgB,IAAI,EAAE,MAAM,CAAC,CAACD,IAAMA,EAAE,MAAM,GAAG;IAErG,OAAOjB;AACT"}
|
|
@@ -1,126 +1,41 @@
|
|
|
1
|
-
import { isMeasureTreeWithChildren, isMeasureTreeWithParentId } from "./utils.js";
|
|
2
1
|
import { clone } from "remeda";
|
|
3
2
|
import { DEFAULT_PARENT_ID } from "../../../../utils/constant.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
if (vseed.scatterMeasures) {
|
|
12
|
-
advancedVSeed.measures = scatterMeasuresToMeasureTree(clone(vseed.scatterMeasures));
|
|
13
|
-
return advancedVSeed;
|
|
14
|
-
}
|
|
15
|
-
const { scatterMeasures, encodedMeasures } = basicMeasuresToScatterMeasures(advancedVSeed.measures || []);
|
|
16
|
-
advancedVSeed.measures = scatterMeasuresToMeasureTree(scatterMeasures);
|
|
17
|
-
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
18
|
-
advancedVSeed.measures.push(m);
|
|
19
|
-
});
|
|
20
|
-
return advancedVSeed;
|
|
21
|
-
};
|
|
22
|
-
const basicMeasuresToScatterMeasures = (basicMeasures)=>{
|
|
23
|
-
const yMeasures = [];
|
|
24
|
-
const xMeasures = [];
|
|
25
|
-
const encodedMeasures = [];
|
|
26
|
-
for(let index = 0; index < basicMeasures.length; index++){
|
|
27
|
-
const item = basicMeasures[index];
|
|
3
|
+
import { ensureParentIdInitialized, isCommonMeasureEncoding } from "./utils.js";
|
|
4
|
+
const buildMeasuresForScatter = (advancedVSeed)=>{
|
|
5
|
+
const { measures = [] } = advancedVSeed;
|
|
6
|
+
const measuresByView = {};
|
|
7
|
+
const parentIds = [];
|
|
8
|
+
for(let index = 0; index < measures.length; index++){
|
|
9
|
+
const item = measures[index];
|
|
28
10
|
const encoding = item.encoding;
|
|
11
|
+
const parentId = item.parentId || DEFAULT_PARENT_ID;
|
|
29
12
|
const isYAxis = 'yAxis' === encoding;
|
|
30
13
|
const isXAxis = 'xAxis' === encoding;
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
else if (isOther) encodedMeasures.push(item);
|
|
40
|
-
else if (0 !== index) yMeasures.push(item);
|
|
41
|
-
else xMeasures.push(item);
|
|
42
|
-
}
|
|
43
|
-
if (0 === yMeasures.length && xMeasures.length > 0) yMeasures.push(xMeasures[0]);
|
|
44
|
-
return {
|
|
45
|
-
scatterMeasures: [
|
|
46
|
-
{
|
|
47
|
-
id: 'scatterMeasures',
|
|
48
|
-
xMeasures,
|
|
49
|
-
yMeasures
|
|
50
|
-
}
|
|
51
|
-
],
|
|
52
|
-
encodedMeasures
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
const scatterMeasuresToMeasureTree = (scatterMeasures)=>{
|
|
56
|
-
const measureTree = scatterMeasures.map((item, index)=>{
|
|
57
|
-
const { id, xMeasures, yMeasures } = item;
|
|
58
|
-
const groupChildren = [];
|
|
59
|
-
let groupId = `${id}-`;
|
|
60
|
-
if (xMeasures) {
|
|
61
|
-
const arrPrimaryMeasures = Array.isArray(xMeasures) ? xMeasures : [
|
|
62
|
-
xMeasures
|
|
63
|
-
];
|
|
64
|
-
const alias = arrPrimaryMeasures.map((item)=>item.alias || item.id).toString();
|
|
65
|
-
groupId += alias;
|
|
66
|
-
groupChildren.push({
|
|
67
|
-
id: `${index}-x`,
|
|
68
|
-
alias: arrPrimaryMeasures.map((item)=>item.alias || item.id).toString(),
|
|
69
|
-
children: arrPrimaryMeasures
|
|
70
|
-
});
|
|
14
|
+
const isOtherEncoding = item.encoding && isCommonMeasureEncoding(encoding);
|
|
15
|
+
ensureParentIdInitialized(parentId, measuresByView, parentIds);
|
|
16
|
+
if (isYAxis) measuresByView[parentId].push(item);
|
|
17
|
+
else if (isXAxis) measuresByView[parentId].push(item);
|
|
18
|
+
else if (!isOtherEncoding && 'size' !== encoding) {
|
|
19
|
+
const xCount = measuresByView[parentId].filter((m)=>'xAxis' === m.encoding).length;
|
|
20
|
+
item.encoding = 0 === xCount ? 'xAxis' : 'yAxis';
|
|
21
|
+
measuresByView[parentId].push(item);
|
|
71
22
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
23
|
+
}
|
|
24
|
+
advancedVSeed.reshapeMeasures = parentIds.map((pid)=>{
|
|
25
|
+
const basicMeasures = measuresByView[pid];
|
|
26
|
+
const xCount = basicMeasures.filter((m)=>'xAxis' === m.encoding).length;
|
|
27
|
+
const yCount = basicMeasures.filter((m)=>'yAxis' === m.encoding).length;
|
|
28
|
+
if (0 === yCount && xCount > 0) {
|
|
29
|
+
const cloneMeasure = clone(basicMeasures[0]);
|
|
30
|
+
cloneMeasure.encoding = 'yAxis';
|
|
31
|
+
return [
|
|
32
|
+
...basicMeasures,
|
|
33
|
+
cloneMeasure
|
|
75
34
|
];
|
|
76
|
-
const alias = arrSecondaryMeasures.map((item)=>item.alias || item.id).toString();
|
|
77
|
-
groupId += alias;
|
|
78
|
-
groupChildren.push({
|
|
79
|
-
id: `${index}-y`,
|
|
80
|
-
alias: arrSecondaryMeasures.map((item)=>item.alias || item.id).toString(),
|
|
81
|
-
children: arrSecondaryMeasures
|
|
82
|
-
});
|
|
83
35
|
}
|
|
84
|
-
return
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
children: groupChildren
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
if (1 === scatterMeasures.length) return measureTree[0].children || [];
|
|
91
|
-
return measureTree;
|
|
92
|
-
};
|
|
93
|
-
const generateMeasuresByParentId = (measures)=>{
|
|
94
|
-
const scatterMeasures = [];
|
|
95
|
-
const encodedMeasures = [];
|
|
96
|
-
measures.forEach((item)=>{
|
|
97
|
-
const id = item.parentId || DEFAULT_PARENT_ID;
|
|
98
|
-
if (!scatterMeasures.find((d)=>d.id === id)) scatterMeasures.push({
|
|
99
|
-
id,
|
|
100
|
-
yMeasures: [],
|
|
101
|
-
xMeasures: []
|
|
102
|
-
});
|
|
103
|
-
const scatterChart = scatterMeasures.find((d)=>d.id === id);
|
|
104
|
-
if (!scatterChart || !Array.isArray(scatterChart.yMeasures) || !Array.isArray(scatterChart.xMeasures)) return;
|
|
105
|
-
const isYAxis = 'yAxis' === item.encoding;
|
|
106
|
-
const isXAxis = 'xAxis' === item.encoding;
|
|
107
|
-
const isOther = item.encoding && [
|
|
108
|
-
'color',
|
|
109
|
-
'label',
|
|
110
|
-
'tooltip',
|
|
111
|
-
'detail'
|
|
112
|
-
].includes(item.encoding);
|
|
113
|
-
if (isYAxis) scatterChart.yMeasures.push(item);
|
|
114
|
-
else if (isXAxis) scatterChart.xMeasures.push(item);
|
|
115
|
-
else if (isOther) encodedMeasures.push(item);
|
|
116
|
-
else if (0 !== scatterChart.yMeasures.length) scatterChart.yMeasures.push(item);
|
|
117
|
-
else scatterChart.xMeasures.push(item);
|
|
118
|
-
});
|
|
119
|
-
const res = scatterMeasuresToMeasureTree(scatterMeasures);
|
|
120
|
-
if (encodedMeasures.length) encodedMeasures.forEach((m)=>{
|
|
121
|
-
res.push(m);
|
|
122
|
-
});
|
|
123
|
-
return res;
|
|
36
|
+
return basicMeasures;
|
|
37
|
+
}).filter((m)=>m.length > 0);
|
|
38
|
+
return advancedVSeed;
|
|
124
39
|
};
|
|
125
40
|
export { buildMeasuresForScatter };
|
|
126
41
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.ts"],"sourcesContent":["import type { AdvancedPipe,
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.ts"],"sourcesContent":["import type { AdvancedPipe, MeasureEncoding, Measures } from 'src/types'\nimport { clone } from 'remeda'\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils/constant'\nimport { ensureParentIdInitialized, isCommonMeasureEncoding } from './utils'\n\nexport const buildMeasuresForScatter: AdvancedPipe = (advancedVSeed) => {\n const { measures = [] } = advancedVSeed\n const measuresByView = {} as { [key: string]: Measures }\n const parentIds: string[] = []\n\n for (let index = 0; index < measures.length; index++) {\n const item = measures[index]\n const encoding = item.encoding\n const parentId = item.parentId || DEFAULT_PARENT_ID\n const isYAxis = encoding === 'yAxis'\n const isXAxis = encoding === 'xAxis'\n const isOtherEncoding = item.encoding && isCommonMeasureEncoding(encoding as MeasureEncoding)\n\n ensureParentIdInitialized(parentId, measuresByView, parentIds)\n\n if (isYAxis) {\n measuresByView[parentId].push(item)\n } else if (isXAxis) {\n measuresByView[parentId].push(item)\n } else if (!isOtherEncoding && encoding !== 'size') {\n const xCount = measuresByView[parentId].filter((m) => m.encoding === 'xAxis').length\n item.encoding = xCount === 0 ? 'xAxis' : 'yAxis'\n measuresByView[parentId].push(item)\n }\n }\n\n advancedVSeed.reshapeMeasures = parentIds\n .map((pid) => {\n const basicMeasures = measuresByView[pid]\n const xCount = basicMeasures.filter((m) => m.encoding === 'xAxis').length\n const yCount = basicMeasures.filter((m) => m.encoding === 'yAxis').length\n\n if (yCount === 0 && xCount > 0) {\n const cloneMeasure = clone(basicMeasures[0])\n cloneMeasure.encoding = 'yAxis'\n\n return [...basicMeasures, cloneMeasure]\n }\n\n return basicMeasures\n })\n .filter((m) => m.length > 0)\n\n return advancedVSeed\n}\n"],"names":["buildMeasuresForScatter","advancedVSeed","measures","measuresByView","parentIds","index","item","encoding","parentId","DEFAULT_PARENT_ID","isYAxis","isXAxis","isOtherEncoding","isCommonMeasureEncoding","ensureParentIdInitialized","xCount","m","pid","basicMeasures","yCount","cloneMeasure","clone"],"mappings":";;;AAKO,MAAMA,0BAAwC,CAACC;IACpD,MAAM,EAAEC,WAAW,EAAE,EAAE,GAAGD;IAC1B,MAAME,iBAAiB,CAAC;IACxB,MAAMC,YAAsB,EAAE;IAE9B,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,SAAS,MAAM,EAAEG,QAAS;QACpD,MAAMC,OAAOJ,QAAQ,CAACG,MAAM;QAC5B,MAAME,WAAWD,KAAK,QAAQ;QAC9B,MAAME,WAAWF,KAAK,QAAQ,IAAIG;QAClC,MAAMC,UAAUH,AAAa,YAAbA;QAChB,MAAMI,UAAUJ,AAAa,YAAbA;QAChB,MAAMK,kBAAkBN,KAAK,QAAQ,IAAIO,wBAAwBN;QAEjEO,0BAA0BN,UAAUL,gBAAgBC;QAEpD,IAAIM,SACFP,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;aACzB,IAAIK,SACTR,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;aACzB,IAAI,CAACM,mBAAmBL,AAAa,WAAbA,UAAqB;YAClD,MAAMQ,SAASZ,cAAc,CAACK,SAAS,CAAC,MAAM,CAAC,CAACQ,IAAMA,AAAe,YAAfA,EAAE,QAAQ,EAAc,MAAM;YACpFV,KAAK,QAAQ,GAAGS,AAAW,MAAXA,SAAe,UAAU;YACzCZ,cAAc,CAACK,SAAS,CAAC,IAAI,CAACF;QAChC;IACF;IAEAL,cAAc,eAAe,GAAGG,UAC7B,GAAG,CAAC,CAACa;QACJ,MAAMC,gBAAgBf,cAAc,CAACc,IAAI;QACzC,MAAMF,SAASG,cAAc,MAAM,CAAC,CAACF,IAAMA,AAAe,YAAfA,EAAE,QAAQ,EAAc,MAAM;QACzE,MAAMG,SAASD,cAAc,MAAM,CAAC,CAACF,IAAMA,AAAe,YAAfA,EAAE,QAAQ,EAAc,MAAM;QAEzE,IAAIG,AAAW,MAAXA,UAAgBJ,SAAS,GAAG;YAC9B,MAAMK,eAAeC,MAAMH,aAAa,CAAC,EAAE;YAC3CE,aAAa,QAAQ,GAAG;YAExB,OAAO;mBAAIF;gBAAeE;aAAa;QACzC;QAEA,OAAOF;IACT,GACC,MAAM,CAAC,CAACF,IAAMA,EAAE,MAAM,GAAG;IAE5B,OAAOf;AACT"}
|
|
@@ -2,4 +2,3 @@ export * from './utils';
|
|
|
2
2
|
export { buildMeasuresForDualAxis } from './buildMeasuresForDualAxis';
|
|
3
3
|
export { buildMeasures } from './buildMeasures';
|
|
4
4
|
export { buildMeasuresForScatter } from './buildMeasuresForScatter';
|
|
5
|
-
export { pickMeasuresForReshape } from './pickMeasuresForReshape';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { buildMeasuresForDualAxis } from "./buildMeasuresForDualAxis.js";
|
|
2
2
|
import { buildMeasures } from "./buildMeasures.js";
|
|
3
3
|
import { buildMeasuresForScatter } from "./buildMeasuresForScatter.js";
|
|
4
|
-
import { pickMeasuresForReshape } from "./pickMeasuresForReshape.js";
|
|
5
4
|
export * from "./utils.js";
|
|
6
|
-
export { buildMeasures, buildMeasuresForDualAxis, buildMeasuresForScatter
|
|
5
|
+
export { buildMeasures, buildMeasuresForDualAxis, buildMeasuresForScatter };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MeasureGroup, MeasureTree } from '../../../../../types';
|
|
1
|
+
import type { MeasureEncoding, MeasureGroup, MeasureTree } from '../../../../../types';
|
|
2
2
|
/**
|
|
3
3
|
* @description 检查是否为指标树, 指标树深度大于1. 如果存在一个指标为组, 即有children配置, 则认为是指标树.
|
|
4
4
|
* @param vseed vseed
|
|
@@ -17,3 +17,14 @@ export declare const isMeasureTreeWithParentId: <T extends MeasureTree>(measures
|
|
|
17
17
|
* @returns
|
|
18
18
|
*/
|
|
19
19
|
export declare const normalizeMeasureTree: (measures: MeasureTree) => MeasureGroup[];
|
|
20
|
+
export declare const isCommonMeasureEncoding: (encoding: MeasureEncoding) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @description Ensures that the measuresByView object has an initialized array for the given parentId.
|
|
23
|
+
* If the parentId doesn't exist in measuresByView, it initializes an empty array and tracks the parentId.
|
|
24
|
+
* @param parentId The parent ID to ensure initialization for
|
|
25
|
+
* @param measuresByView The object mapping parent IDs to measures arrays
|
|
26
|
+
* @param parentIds The array tracking all parent IDs that have been initialized
|
|
27
|
+
*/
|
|
28
|
+
export declare const ensureParentIdInitialized: <T>(parentId: string, measuresByView: {
|
|
29
|
+
[key: string]: T[];
|
|
30
|
+
}, parentIds: string[]) => void;
|
|
@@ -37,6 +37,17 @@ const normalizeMeasureTree = (measures)=>{
|
|
|
37
37
|
}
|
|
38
38
|
return measureGroups;
|
|
39
39
|
};
|
|
40
|
-
|
|
40
|
+
const isCommonMeasureEncoding = (encoding)=>[
|
|
41
|
+
'color',
|
|
42
|
+
'label',
|
|
43
|
+
'tooltip'
|
|
44
|
+
].includes(encoding);
|
|
45
|
+
const ensureParentIdInitialized = (parentId, measuresByView, parentIds)=>{
|
|
46
|
+
if (!measuresByView[parentId]) {
|
|
47
|
+
measuresByView[parentId] = [];
|
|
48
|
+
parentIds.push(parentId);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export { ensureParentIdInitialized, isCommonMeasureEncoding, isMeasureTreeWithChildren, isMeasureTreeWithParentId, normalizeMeasureTree };
|
|
41
52
|
|
|
42
53
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/utils.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/utils.ts"],"sourcesContent":["import type { MeasureGroup, MeasureTree } from 'src/types'\n\n/**\n * @description 检查是否为指标树, 指标树深度大于1. 如果存在一个指标为组, 即有children配置, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithChildren = <T extends MeasureTree>(measures?: T) => {\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'children' in measure)\n}\n\n/**\n * @description 检查是否为指标树, 指标树存在parentId. 如果存在一个指标有parentId, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithParentId = <T extends MeasureTree>(measures?: T) => {\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'parentId' in measure)\n}\n\n/**\n * @description 保证指标树中的每一组都有children, 没有children的指标, 会被放到一个默认的指标组中.\n * @param measures 指标树\n * @returns\n */\nexport const normalizeMeasureTree = (measures: MeasureTree) => {\n const createEmptyMeasureGroup = (): MeasureGroup => {\n return {\n id: 'group',\n alias: '',\n children: [],\n }\n }\n\n let currentGroup: MeasureGroup = createEmptyMeasureGroup()\n const measureGroups: MeasureGroup[] = []\n for (const measure of measures) {\n if ('children' in measure) {\n // 当前指标组之前的所有独立指标成组\n if (currentGroup.children?.length) {\n currentGroup.id = [currentGroup.id, ...currentGroup.children.map((item) => item.id)].join('-')\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n // 当前是指标组\n measureGroups.push(measure)\n } else {\n currentGroup.children?.push(measure)\n }\n }\n\n // 最后一组\n if (currentGroup.children?.length) {\n currentGroup.id = [currentGroup.id, ...currentGroup.children.map((item) => item.id)].join('-')\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n\n return measureGroups\n}\n"],"names":["isMeasureTreeWithChildren","measures","measure","isMeasureTreeWithParentId","normalizeMeasureTree","createEmptyMeasureGroup","currentGroup","measureGroups","item"],"mappings":"AAOO,MAAMA,4BAA4B,CAAwBC;IAC/D,IAAI,CAACA,UACH,OAAO;IAGT,OAAOA,SAAS,IAAI,CAAC,CAACC,UAAY,cAAcA;AAClD;AAOO,MAAMC,4BAA4B,CAAwBF;IAC/D,IAAI,CAACA,UACH,OAAO;IAGT,OAAOA,SAAS,IAAI,CAAC,CAACC,UAAY,cAAcA;AAClD;AAOO,MAAME,uBAAuB,CAACH;IACnC,MAAMI,0BAA0B,IACvB;YACL,IAAI;YACJ,OAAO;YACP,UAAU,EAAE;QACd;IAGF,IAAIC,eAA6BD;IACjC,MAAME,gBAAgC,EAAE;IACxC,KAAK,MAAML,WAAWD,SACpB,IAAI,cAAcC,SAAS;QAEzB,IAAII,aAAa,QAAQ,EAAE,QAAQ;YACjCA,aAAa,EAAE,GAAG;gBAACA,aAAa,EAAE;mBAAKA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,EAAE;aAAE,CAAC,IAAI,CAAC;YAC1FF,aAAa,KAAK,GAAGA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,KAAK,EAAE,IAAI,CAAC;YAC1ED,cAAc,IAAI,CAACD;YACnBA,eAAeD;QACjB;QAEAE,cAAc,IAAI,CAACL;IACrB,OACEI,aAAa,QAAQ,EAAE,KAAKJ;IAKhC,IAAII,aAAa,QAAQ,EAAE,QAAQ;QACjCA,aAAa,EAAE,GAAG;YAACA,aAAa,EAAE;eAAKA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,EAAE;SAAE,CAAC,IAAI,CAAC;QAC1FF,aAAa,KAAK,GAAGA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,KAAK,EAAE,IAAI,CAAC;QAC1ED,cAAc,IAAI,CAACD;QACnBA,eAAeD;IACjB;IAEA,OAAOE;AACT"}
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/utils.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/measures/utils.ts"],"sourcesContent":["import type { MeasureEncoding, MeasureGroup, MeasureTree } from 'src/types'\n\n/**\n * @description 检查是否为指标树, 指标树深度大于1. 如果存在一个指标为组, 即有children配置, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithChildren = <T extends MeasureTree>(measures?: T) => {\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'children' in measure)\n}\n\n/**\n * @description 检查是否为指标树, 指标树存在parentId. 如果存在一个指标有parentId, 则认为是指标树.\n * @param vseed vseed\n * @returns\n */\nexport const isMeasureTreeWithParentId = <T extends MeasureTree>(measures?: T) => {\n if (!measures) {\n return false\n }\n\n return measures.some((measure) => 'parentId' in measure)\n}\n\n/**\n * @description 保证指标树中的每一组都有children, 没有children的指标, 会被放到一个默认的指标组中.\n * @param measures 指标树\n * @returns\n */\nexport const normalizeMeasureTree = (measures: MeasureTree) => {\n const createEmptyMeasureGroup = (): MeasureGroup => {\n return {\n id: 'group',\n alias: '',\n children: [],\n }\n }\n\n let currentGroup: MeasureGroup = createEmptyMeasureGroup()\n const measureGroups: MeasureGroup[] = []\n for (const measure of measures) {\n if ('children' in measure) {\n // 当前指标组之前的所有独立指标成组\n if (currentGroup.children?.length) {\n currentGroup.id = [currentGroup.id, ...currentGroup.children.map((item) => item.id)].join('-')\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n // 当前是指标组\n measureGroups.push(measure)\n } else {\n currentGroup.children?.push(measure)\n }\n }\n\n // 最后一组\n if (currentGroup.children?.length) {\n currentGroup.id = [currentGroup.id, ...currentGroup.children.map((item) => item.id)].join('-')\n currentGroup.alias = currentGroup.children.map((item) => item.alias).join('-')\n measureGroups.push(currentGroup)\n currentGroup = createEmptyMeasureGroup()\n }\n\n return measureGroups\n}\n\nexport const isCommonMeasureEncoding = (encoding: MeasureEncoding) => {\n return ['color', 'label', 'tooltip'].includes(encoding)\n}\n\n/**\n * @description Ensures that the measuresByView object has an initialized array for the given parentId.\n * If the parentId doesn't exist in measuresByView, it initializes an empty array and tracks the parentId.\n * @param parentId The parent ID to ensure initialization for\n * @param measuresByView The object mapping parent IDs to measures arrays\n * @param parentIds The array tracking all parent IDs that have been initialized\n */\nexport const ensureParentIdInitialized = <T>(\n parentId: string,\n measuresByView: { [key: string]: T[] },\n parentIds: string[],\n) => {\n if (!measuresByView[parentId]) {\n measuresByView[parentId] = []\n parentIds.push(parentId)\n }\n}\n"],"names":["isMeasureTreeWithChildren","measures","measure","isMeasureTreeWithParentId","normalizeMeasureTree","createEmptyMeasureGroup","currentGroup","measureGroups","item","isCommonMeasureEncoding","encoding","ensureParentIdInitialized","parentId","measuresByView","parentIds"],"mappings":"AAOO,MAAMA,4BAA4B,CAAwBC;IAC/D,IAAI,CAACA,UACH,OAAO;IAGT,OAAOA,SAAS,IAAI,CAAC,CAACC,UAAY,cAAcA;AAClD;AAOO,MAAMC,4BAA4B,CAAwBF;IAC/D,IAAI,CAACA,UACH,OAAO;IAGT,OAAOA,SAAS,IAAI,CAAC,CAACC,UAAY,cAAcA;AAClD;AAOO,MAAME,uBAAuB,CAACH;IACnC,MAAMI,0BAA0B,IACvB;YACL,IAAI;YACJ,OAAO;YACP,UAAU,EAAE;QACd;IAGF,IAAIC,eAA6BD;IACjC,MAAME,gBAAgC,EAAE;IACxC,KAAK,MAAML,WAAWD,SACpB,IAAI,cAAcC,SAAS;QAEzB,IAAII,aAAa,QAAQ,EAAE,QAAQ;YACjCA,aAAa,EAAE,GAAG;gBAACA,aAAa,EAAE;mBAAKA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,EAAE;aAAE,CAAC,IAAI,CAAC;YAC1FF,aAAa,KAAK,GAAGA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,KAAK,EAAE,IAAI,CAAC;YAC1ED,cAAc,IAAI,CAACD;YACnBA,eAAeD;QACjB;QAEAE,cAAc,IAAI,CAACL;IACrB,OACEI,aAAa,QAAQ,EAAE,KAAKJ;IAKhC,IAAII,aAAa,QAAQ,EAAE,QAAQ;QACjCA,aAAa,EAAE,GAAG;YAACA,aAAa,EAAE;eAAKA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,EAAE;SAAE,CAAC,IAAI,CAAC;QAC1FF,aAAa,KAAK,GAAGA,aAAa,QAAQ,CAAC,GAAG,CAAC,CAACE,OAASA,KAAK,KAAK,EAAE,IAAI,CAAC;QAC1ED,cAAc,IAAI,CAACD;QACnBA,eAAeD;IACjB;IAEA,OAAOE;AACT;AAEO,MAAME,0BAA0B,CAACC,WAC/B;QAAC;QAAS;QAAS;KAAU,CAAC,QAAQ,CAACA;AAUzC,MAAMC,4BAA4B,CACvCC,UACAC,gBACAC;IAEA,IAAI,CAACD,cAAc,CAACD,SAAS,EAAE;QAC7BC,cAAc,CAACD,SAAS,GAAG,EAAE;QAC7BE,UAAU,IAAI,CAACF;IACjB;AACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { boxplot } from "@visactor/vdataset";
|
|
2
2
|
import { uniqueBy } from "remeda";
|
|
3
3
|
import { FoldMeasureId, FoldMeasureName, LowerWhisker, MedianMeasureId, OutliersMeasureId, Q1MeasureValue, Q3MeasureValue, Separator, UpperWhisker, unfoldDimensions } from "../../../../../dataReshape/index.js";
|
|
4
|
-
import { revisedBoxPlotFieldKey } from "../../../../utils/index.js";
|
|
4
|
+
import { DEFAULT_PARENT_ID, revisedBoxPlotFieldKey } from "../../../../utils/index.js";
|
|
5
5
|
const pivotReshapeWithBoxplotEncoding = (advancedVSeed, context)=>{
|
|
6
6
|
const result = {
|
|
7
7
|
...advancedVSeed
|
|
@@ -9,30 +9,24 @@ const pivotReshapeWithBoxplotEncoding = (advancedVSeed, context)=>{
|
|
|
9
9
|
const { vseed } = context;
|
|
10
10
|
const { dataset, chartType } = vseed;
|
|
11
11
|
const { encoding = {}, config } = advancedVSeed;
|
|
12
|
-
const
|
|
12
|
+
const reshapeMeasures = advancedVSeed.reshapeMeasures ?? [];
|
|
13
13
|
const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [];
|
|
14
14
|
const uniqDims = uniqueBy(dimensions, (item)=>item.id);
|
|
15
15
|
const chartConfig = config?.[chartType];
|
|
16
16
|
const whiskers = chartConfig?.whiskers;
|
|
17
|
-
const measureGroups = [];
|
|
18
|
-
if (measures) measures.forEach((measure)=>{
|
|
19
|
-
if (measure.children && measure.children.length > 0) measureGroups.push(measure);
|
|
20
|
-
});
|
|
21
17
|
const rowColumnFields = uniqueBy(dimensions.filter((dim)=>'row' === dim.encoding || 'column' === dim.encoding), (item)=>item.id);
|
|
22
18
|
const datasets = [];
|
|
23
19
|
const datasetReshapeInfo = [];
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
if (!subMeasures) return;
|
|
27
|
-
const groupId = measureGroup.id;
|
|
20
|
+
reshapeMeasures.forEach((measureGroup, index)=>{
|
|
21
|
+
const groupId = measureGroup[0].parentId ?? DEFAULT_PARENT_ID;
|
|
28
22
|
let newDatasets = [];
|
|
29
23
|
let foldInfo = {};
|
|
30
24
|
let unfoldInfo = {};
|
|
31
|
-
const validEncodingIds = (encoding.value || []).filter((id)=>
|
|
25
|
+
const validEncodingIds = (encoding.value || []).filter((id)=>measureGroup.find((field)=>field.id === id));
|
|
32
26
|
if (validEncodingIds.length) {
|
|
33
27
|
const boxPlotDataList = [];
|
|
34
28
|
validEncodingIds.forEach((f)=>{
|
|
35
|
-
const m =
|
|
29
|
+
const m = measureGroup.find((m)=>m.id === f);
|
|
36
30
|
const boxPlotData = boxplot(dataset, {
|
|
37
31
|
field: f,
|
|
38
32
|
groupField: [
|
package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.ts"],"sourcesContent":["import { boxplot } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\nimport {\n FoldMeasureId,\n FoldMeasureName,\n LowerWhisker,\n MedianMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n Separator,\n unfoldDimensions,\n UpperWhisker,\n} from 'src/dataReshape'\nimport { revisedBoxPlotFieldKey } from 'src/pipeline/utils'\nimport type {
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.ts"],"sourcesContent":["import { boxplot } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\nimport {\n FoldMeasureId,\n FoldMeasureName,\n LowerWhisker,\n MedianMeasureId,\n OutliersMeasureId,\n Q1MeasureValue,\n Q3MeasureValue,\n Separator,\n unfoldDimensions,\n UpperWhisker,\n} from 'src/dataReshape'\nimport { DEFAULT_PARENT_ID, revisedBoxPlotFieldKey } from 'src/pipeline/utils'\nimport type { AdvancedPipe, ColumnParallel, Dataset, DatasetReshapeInfo, Dimension, Encoding } from 'src/types'\n\nexport const pivotReshapeWithBoxplotEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { encoding = {}, config } = advancedVSeed\n const reshapeMeasures = advancedVSeed.reshapeMeasures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const uniqDims = uniqueBy(dimensions, (item: Dimension) => item.id)\n const chartConfig = config?.[chartType as 'boxPlot']\n const whiskers = chartConfig?.whiskers\n\n const rowColumnFields = uniqueBy(\n dimensions.filter((dim: Dimension) => dim.encoding === 'row' || dim.encoding === 'column'),\n (item: Dimension) => item.id,\n )\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n reshapeMeasures.forEach((measureGroup, index) => {\n const groupId = measureGroup[0].parentId ?? DEFAULT_PARENT_ID\n let newDatasets: any[] = []\n let foldInfo: any = {}\n let unfoldInfo: any = {}\n const validEncodingIds = (encoding.value || []).filter((id) => measureGroup.find((field) => field.id === id))\n\n if (validEncodingIds.length) {\n const boxPlotDataList: Dataset = []\n validEncodingIds.forEach((f) => {\n const m = measureGroup.find((m) => m.id === f)\n const boxPlotData = boxplot(dataset, {\n field: f,\n groupField: [\n ...(encoding.x ?? []),\n ...(encoding.color ?? []),\n ...rowColumnFields.map((item: Dimension) => item.id),\n ] as string[],\n whiskers,\n outputNames: {\n q1: Q1MeasureValue,\n q3: Q3MeasureValue,\n lowerWhisker: LowerWhisker,\n upperWhisker: UpperWhisker,\n median: MedianMeasureId,\n outliers: OutliersMeasureId,\n },\n }) as Dataset\n\n boxPlotData.forEach((datum) => {\n datum[FoldMeasureId] = f\n datum[FoldMeasureName] = m?.alias ?? f\n datum[revisedBoxPlotFieldKey(Q1MeasureValue, groupId)] = datum[Q1MeasureValue]\n datum[revisedBoxPlotFieldKey(Q3MeasureValue, groupId)] = datum[Q3MeasureValue]\n datum[revisedBoxPlotFieldKey(LowerWhisker, groupId)] = datum[LowerWhisker]\n datum[revisedBoxPlotFieldKey(UpperWhisker, groupId)] = datum[UpperWhisker]\n datum[revisedBoxPlotFieldKey(MedianMeasureId, groupId)] = datum[MedianMeasureId]\n datum[revisedBoxPlotFieldKey(OutliersMeasureId, groupId)] = datum[OutliersMeasureId]\n })\n\n boxPlotDataList.push(...boxPlotData)\n })\n const res = unfoldDimensions(boxPlotDataList, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((d) => {\n newDatasets.push(d)\n })\n unfoldInfo = res.unfoldInfo\n } else if (\n encoding.q1?.length &&\n encoding.q3?.length &&\n encoding.min?.length &&\n encoding.max?.length &&\n encoding.median?.length\n ) {\n const res = unfoldDimensions(dataset, uniqDims, encoding as Encoding, {\n foldMeasureId: FoldMeasureId,\n separator: Separator,\n colorItemAsId: false,\n })\n\n res.dataset.forEach((datum) => {\n datum[UpperWhisker] = datum[encoding.max![0]]\n datum[revisedBoxPlotFieldKey(Q1MeasureValue, groupId)] = datum[encoding.max![0]]\n datum[LowerWhisker] = datum[encoding.min![0]]\n datum[revisedBoxPlotFieldKey(LowerWhisker, groupId)] = datum[encoding.min![0]]\n datum[Q1MeasureValue] = datum[encoding.q1![0]]\n datum[revisedBoxPlotFieldKey(Q1MeasureValue, groupId)] = datum[encoding.q1![0]]\n datum[Q3MeasureValue] = datum[encoding.q3![0]]\n datum[revisedBoxPlotFieldKey(Q3MeasureValue, groupId)] = datum[encoding.q3![0]]\n datum[MedianMeasureId] = datum[encoding.median![0]]\n datum[revisedBoxPlotFieldKey(MedianMeasureId, groupId)] = datum[encoding.median![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = {}\n unfoldInfo = res.unfoldInfo\n }\n\n const reshapeInfo = {\n id: `${groupId}`,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newDatasets)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithBoxplotEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","reshapeMeasures","dimensions","uniqDims","uniqueBy","item","chartConfig","whiskers","rowColumnFields","dim","datasets","datasetReshapeInfo","measureGroup","index","groupId","DEFAULT_PARENT_ID","newDatasets","foldInfo","unfoldInfo","validEncodingIds","id","field","boxPlotDataList","f","m","boxPlotData","boxplot","Q1MeasureValue","Q3MeasureValue","LowerWhisker","UpperWhisker","MedianMeasureId","OutliersMeasureId","datum","FoldMeasureId","FoldMeasureName","revisedBoxPlotFieldKey","res","unfoldDimensions","Separator","d","reshapeInfo"],"mappings":"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"}
|