@visactor/vseed 0.2.0 → 0.2.1
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 +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/advanced/colorItems.js.map +1 -1
- package/dist/esm/builder/builder/build.js.map +1 -1
- package/dist/esm/builder/builder/buildAdvanced.js.map +1 -1
- package/dist/esm/builder/builder/buildSpec.js.map +1 -1
- package/dist/esm/builder/builder/builder.d.ts +12 -0
- package/dist/esm/builder/builder/builder.js.map +1 -1
- package/dist/esm/builder/register/all.js.map +1 -1
- package/dist/esm/builder/register/chartType/area.js.map +1 -1
- package/dist/esm/builder/register/chartType/areaPercent.js.map +1 -1
- package/dist/esm/builder/register/chartType/bar.js.map +1 -1
- package/dist/esm/builder/register/chartType/barParallel.js.map +1 -1
- package/dist/esm/builder/register/chartType/barPercent.js.map +1 -1
- package/dist/esm/builder/register/chartType/boxplot.js.map +1 -1
- package/dist/esm/builder/register/chartType/column.js.map +1 -1
- package/dist/esm/builder/register/chartType/columnParallel.js.map +1 -1
- package/dist/esm/builder/register/chartType/columnPercent.js.map +1 -1
- package/dist/esm/builder/register/chartType/donut.js.map +1 -1
- package/dist/esm/builder/register/chartType/dualAxis.js.map +1 -1
- package/dist/esm/builder/register/chartType/funnel.js.map +1 -1
- package/dist/esm/builder/register/chartType/heatmap.js.map +1 -1
- package/dist/esm/builder/register/chartType/histogram.js.map +1 -1
- package/dist/esm/builder/register/chartType/line.js.map +1 -1
- package/dist/esm/builder/register/chartType/pie.js.map +1 -1
- package/dist/esm/builder/register/chartType/pivotTable.js.map +1 -1
- package/dist/esm/builder/register/chartType/radar.js.map +1 -1
- package/dist/esm/builder/register/chartType/rose.js.map +1 -1
- package/dist/esm/builder/register/chartType/roseParallel.js.map +1 -1
- package/dist/esm/builder/register/chartType/scatter.js.map +1 -1
- package/dist/esm/builder/register/chartType/table.js.map +1 -1
- package/dist/esm/builder/register/custom.js.map +1 -1
- package/dist/esm/builder/register/theme/custom.js.map +1 -1
- package/dist/esm/builder/register/theme/dark.js.map +1 -1
- package/dist/esm/builder/register/theme/light.js.map +1 -1
- package/dist/esm/dataReshape/constant.js.map +1 -1
- package/dist/esm/dataReshape/dataReshapeByEncoding.js.map +1 -1
- package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
- package/dist/esm/dataReshape/unfoldDimensions.js.map +1 -1
- package/dist/esm/dataSelector/selector.js.map +1 -1
- package/dist/esm/i18n/i18n.js.map +1 -1
- package/dist/esm/i18n/i18nData.js +9 -9
- package/dist/esm/i18n/i18nData.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/common.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortLegend.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortXBand.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/analysis/sortYBand.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/annotation/annotation.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/config/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/index.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultDimensions.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasureId.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js +2 -2
- package/dist/esm/pipeline/advanced/chart/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/pickDimensionsForReshape.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/adapter/encodingAdapter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/histogram.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/init/initAdvancedVSeed.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/markStyle/markStyle.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js +3 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/utils.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/pivot/pivotAdapter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/regressionLine/regressionLine.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/theme/theme.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipeline/table.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/cellStyle/cellStyle.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/config/pivotTableConfig.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/config/tableConfig.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultDimensions.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/init/initAdvancedVSeed.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/records/records.js.map +1 -1
- package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +5 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationArea.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationAreaBand.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationHorizontalLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPoint.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationPointOfDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/annotationVerticalLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/splitLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/annotation/utils.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/format/linearFormat.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/radarAngle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/radarRadius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/radius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/title/defaultTitleText.js.map +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.map +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.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearPrimary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/axes/yLinearSecondary.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/backgroundColor/background.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barGapInGroup.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/barWidth/barMaxWidth.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxGapInGroup.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxGapInGroup.js +14 -0
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxGapInGroup.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxMaxWidth.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxMaxWidth.js +14 -0
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/boxMaxWidth.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/index.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/boxWidth/index.js +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/color/color.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorAdapter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorAreaStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorBarStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorBoxPlotStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorCellStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorFunnelStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorLineStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorPieStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorPointStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/colorRoseStyleFill.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/linearColor.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/color/linearColorForDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/histogramCrosshair.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/horizontalCrosshairRect.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/crosshair/verticalCrosshairRect.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetBoxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetHistogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetPivot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetXY.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/datasetYX.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dataset/progressive.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/index.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/init/area.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/bar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/barParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/column.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/donut.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/funnel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/heatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/line.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/pie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/pivot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/radar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/rose.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/init/scatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
- 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/legend/boxLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/colorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/discreteLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/heatmapColorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotDiscreteLegend.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/areaStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/barStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/boxPlotStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/cellStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/curve/curve.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/funnelTransformStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/lineStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/outlierStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pieStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointState.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/pointStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/markStyle/roseStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/percent/percent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/areaStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/barStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/lineStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pipeFilter/pointStyleFilter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/dimensionLinkage.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAdapter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotColumnDimensions.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js +7 -3
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotHideIndicatorName.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotIndicators.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotRowDimensions.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotTitle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/region/addRegionPadding.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/columnRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/common.js.map +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.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.d.ts +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js +7 -6
- package/dist/esm/pipeline/spec/chart/pipes/regressionLine/linearRegressionLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/series/series.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/size/scatterSize.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/stack/stack.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/stack/stackCornerRadius.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltip.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipBoxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipDualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHeatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipHistogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/utils/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/common.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/dimensionsToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/measuresToColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +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.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/init/pivotTable.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/init/table.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/scrollStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/selectionStyle.js.map +1 -1
- package/dist/esm/pipeline/utils/chatType.js.map +1 -1
- package/dist/esm/pipeline/utils/constant.js.map +1 -1
- package/dist/esm/pipeline/utils/dimensions/delete.js.map +1 -1
- package/dist/esm/pipeline/utils/dimensions/typeGuard.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createFormatter.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createFormatterByMeasure.js.map +1 -1
- package/dist/esm/pipeline/utils/format/createNumFormatter.js +1 -1
- package/dist/esm/pipeline/utils/format/createNumFormatter.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/delete.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/depth.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/find.js.map +1 -1
- package/dist/esm/pipeline/utils/measures/typeGuard.js.map +1 -1
- package/dist/esm/pipeline/utils/pipeline.js.map +1 -1
- package/dist/esm/pipeline/utils/replaceNullToUndefined.js.map +1 -1
- package/dist/esm/pipeline/utils/tree/traverse.js.map +1 -1
- package/dist/esm/pipeline/utils/valid/checkVSeed.js.map +1 -1
- package/dist/esm/theme/common/annotaion.js.map +1 -1
- package/dist/esm/theme/common/axes.js.map +1 -1
- package/dist/esm/theme/common/boxPlot.js.map +1 -1
- package/dist/esm/theme/common/color.js.map +1 -1
- package/dist/esm/theme/common/crosshair.js.map +1 -1
- package/dist/esm/theme/common/funnelTransform.js.map +1 -1
- package/dist/esm/theme/common/heatmapCell.js.map +1 -1
- package/dist/esm/theme/common/label.js.map +1 -1
- package/dist/esm/theme/common/legend.js.map +1 -1
- package/dist/esm/theme/common/regressionLine.js.map +1 -1
- package/dist/esm/theme/common/table.js.map +1 -1
- package/dist/esm/theme/common/tooltip.js.map +1 -1
- package/dist/esm/theme/dark/dark.js.map +1 -1
- package/dist/esm/theme/light/light.js.map +1 -1
- package/dist/esm/types/advancedVSeed.d.ts +4 -0
- package/dist/esm/types/advancedVSeed.js.map +1 -1
- package/dist/esm/types/builder/builder.js.map +1 -1
- package/dist/esm/types/chartType/area/zArea.js.map +1 -1
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.js.map +1 -1
- package/dist/esm/types/chartType/bar/zBar.js.map +1 -1
- package/dist/esm/types/chartType/barParallel/zBarParallel.js.map +1 -1
- package/dist/esm/types/chartType/barPercent/zBarPercent.js.map +1 -1
- package/dist/esm/types/chartType/boxplot/boxplot.d.ts +8 -0
- package/dist/esm/types/chartType/boxplot/zBoxplot.d.ts +2 -0
- package/dist/esm/types/chartType/boxplot/zBoxplot.js +4 -2
- package/dist/esm/types/chartType/boxplot/zBoxplot.js.map +1 -1
- package/dist/esm/types/chartType/column/zColumn.js.map +1 -1
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.js.map +1 -1
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.js.map +1 -1
- package/dist/esm/types/chartType/donut/zDonut.js.map +1 -1
- package/dist/esm/types/chartType/dualAxis/zDualAxis.js.map +1 -1
- package/dist/esm/types/chartType/funnel/zFunnel.js.map +1 -1
- package/dist/esm/types/chartType/heatmap/zHeatmap.js.map +1 -1
- package/dist/esm/types/chartType/histogram/zHistogram.js.map +1 -1
- package/dist/esm/types/chartType/line/zLine.js.map +1 -1
- package/dist/esm/types/chartType/pie/zPie.js.map +1 -1
- package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
- package/dist/esm/types/chartType/radar/zRadar.js.map +1 -1
- package/dist/esm/types/chartType/rose/zRose.js.map +1 -1
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.js.map +1 -1
- package/dist/esm/types/chartType/scatter/zScatter.js.map +1 -1
- package/dist/esm/types/chartType/table/zTable.js.map +1 -1
- package/dist/esm/types/dataSelector/selector.js.map +1 -1
- package/dist/esm/types/i18n/i18n.js.map +1 -1
- package/dist/esm/types/properties/analysis/analysis.js.map +1 -1
- package/dist/esm/types/properties/analysis/sort.js.map +1 -1
- package/dist/esm/types/properties/analysis/sortLegend.js.map +1 -1
- package/dist/esm/types/properties/annotation/annotation.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationArea.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationHorizontalLine.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationPoint.js.map +1 -1
- package/dist/esm/types/properties/annotation/zAnnotationVerticalLine.js.map +1 -1
- package/dist/esm/types/properties/cellStyle/bodyCellStyle.js.map +1 -1
- package/dist/esm/types/properties/cellStyle/cellStyle.js.map +1 -1
- package/dist/esm/types/properties/chartType/chartType.js.map +1 -1
- package/dist/esm/types/properties/chartType/dualChartType.js.map +1 -1
- package/dist/esm/types/properties/config/annotation/zAnnotaion.js.map +1 -1
- package/dist/esm/types/properties/config/area.js.map +1 -1
- package/dist/esm/types/properties/config/axes/zBandAxis.js.map +1 -1
- package/dist/esm/types/properties/config/axes/zLinearAxis.js.map +1 -1
- package/dist/esm/types/properties/config/backgroundColor/backgroundColor.js.map +1 -1
- package/dist/esm/types/properties/config/bar.js.map +1 -1
- package/dist/esm/types/properties/config/barWidth/index.js.map +1 -1
- package/dist/esm/types/properties/config/boxWidth/boxWidth.d.ts +8 -0
- package/dist/esm/types/properties/config/boxWidth/boxWidth.js +0 -0
- package/dist/esm/types/properties/config/boxWidth/index.d.ts +2 -0
- package/dist/esm/types/properties/config/boxWidth/index.js +1 -0
- package/dist/esm/types/properties/config/boxWidth/zBoxWidth.d.ts +3 -0
- package/dist/esm/types/properties/config/boxWidth/zBoxWidth.js +6 -0
- package/dist/esm/types/properties/config/boxWidth/zBoxWidth.js.map +1 -0
- package/dist/esm/types/properties/config/boxplot.d.ts +2 -0
- package/dist/esm/types/properties/config/boxplot.js +4 -1
- package/dist/esm/types/properties/config/boxplot.js.map +1 -1
- package/dist/esm/types/properties/config/color/color.js.map +1 -1
- package/dist/esm/types/properties/config/column.js.map +1 -1
- package/dist/esm/types/properties/config/config.d.ts +2 -0
- package/dist/esm/types/properties/config/config.js.map +1 -1
- package/dist/esm/types/properties/config/crosshair/zCrosshair.js.map +1 -1
- package/dist/esm/types/properties/config/dimensionLinkage/dimensionLinkage.js.map +1 -1
- package/dist/esm/types/properties/config/dualAxis.js.map +1 -1
- package/dist/esm/types/properties/config/funnel.js.map +1 -1
- package/dist/esm/types/properties/config/funnelTransform/zFunnelTransform.js.map +1 -1
- package/dist/esm/types/properties/config/heatmap/zHeatmap.js.map +1 -1
- package/dist/esm/types/properties/config/heatmap.js.map +1 -1
- package/dist/esm/types/properties/config/histogram.js.map +1 -1
- package/dist/esm/types/properties/config/index.d.ts +1 -0
- package/dist/esm/types/properties/config/index.js +1 -0
- package/dist/esm/types/properties/config/label/zLabel.js.map +1 -1
- package/dist/esm/types/properties/config/label/zPieLabel.js.map +1 -1
- package/dist/esm/types/properties/config/legend/legend.js.map +1 -1
- package/dist/esm/types/properties/config/line.js.map +1 -1
- package/dist/esm/types/properties/config/pie.js.map +1 -1
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
- package/dist/esm/types/properties/config/pivotTable.js.map +1 -1
- package/dist/esm/types/properties/config/rose.js.map +1 -1
- package/dist/esm/types/properties/config/scatter.js.map +1 -1
- package/dist/esm/types/properties/config/stackCornerRadius/stackCornerRadius.js.map +1 -1
- package/dist/esm/types/properties/config/table.js.map +1 -1
- package/dist/esm/types/properties/config/tooltip/tooltip.js.map +1 -1
- package/dist/esm/types/properties/config/whiskers/index.js.map +1 -1
- package/dist/esm/types/properties/dataset/dataset.js.map +1 -1
- package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js.map +1 -1
- package/dist/esm/types/properties/dimensions/zDimensions.js.map +1 -1
- package/dist/esm/types/properties/encoding/zDimensionEncoding.js.map +1 -1
- package/dist/esm/types/properties/encoding/zEncoding.js +1 -1
- package/dist/esm/types/properties/encoding/zEncoding.js.map +1 -1
- package/dist/esm/types/properties/encoding/zMeasureEncoding.js.map +1 -1
- package/dist/esm/types/properties/format/numFormat.js.map +1 -1
- package/dist/esm/types/properties/markStyle/barStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/boxPlotStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/lineStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/markStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/outlierStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/pointStyle.js.map +1 -1
- package/dist/esm/types/properties/markStyle/zAreaStyle.js.map +1 -1
- package/dist/esm/types/properties/measures/zDualMeasures.js.map +1 -1
- package/dist/esm/types/properties/measures/zMeasures.js.map +1 -1
- package/dist/esm/types/properties/measures/zScatterMeasures.js.map +1 -1
- package/dist/esm/types/properties/regressionLine/zRegressionLine.js.map +1 -1
- package/dist/esm/types/properties/theme/customTheme.d.ts +4 -0
- package/dist/esm/types/properties/theme/customTheme.js.map +1 -1
- package/dist/esm/types/properties/theme/theme.js.map +1 -1
- package/dist/esm/types/vseed.d.ts +1 -0
- package/dist/esm/types/zVseed.d.ts +2 -0
- package/dist/esm/types/zVseed.js.map +1 -1
- package/dist/umd/index.js +337 -293
- package/dist/umd/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -20,15 +20,18 @@ const generateMeasuresByParentId = (measures)=>{
|
|
|
20
20
|
const parent = measureTree.find((item)=>item.id === measure.parentId);
|
|
21
21
|
if (parent && 'children' in parent) {
|
|
22
22
|
parent.children = parent.children || [];
|
|
23
|
+
if (parent.children.length > 0) parent.alias += `-${measure.alias ?? measure.id}`;
|
|
23
24
|
parent.children.push(measure);
|
|
24
25
|
} else if (isValid(measure.parentId)) measureTree.push({
|
|
25
26
|
id: measure.parentId,
|
|
27
|
+
alias: measure.alias ?? measure.id,
|
|
26
28
|
children: [
|
|
27
29
|
measure
|
|
28
30
|
]
|
|
29
31
|
});
|
|
30
32
|
else measureTree.push({
|
|
31
33
|
id: DEFAULT_PARENT_ID,
|
|
34
|
+
alias: measure.alias ?? measure.id,
|
|
32
35
|
children: [
|
|
33
36
|
measure
|
|
34
37
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasures.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasures.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/measures/buildMeasures.ts"],"sourcesContent":["import type { AdvancedPipe, MeasureGroup, Measures, MeasureTree, VSeed } from 'src/types'\nimport { isMeasureTreeWithChildren, isMeasureTreeWithParentId, normalizeMeasureTree } from './utils'\nimport { isPivotChart } from 'src/pipeline/utils'\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils/constant'\nimport { isValid } from '@visactor/vutils'\n\nexport const buildMeasures: AdvancedPipe = (advancedVSeed) => {\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(advancedVSeed.measures)) {\n advancedVSeed.measures = normalizeMeasureTree(advancedVSeed.measures as MeasureTree)\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(advancedVSeed.measures)) {\n advancedVSeed.measures = generateMeasuresByParentId(advancedVSeed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 透视图表, 自动生成指标树\n */\n if (isPivotChart(advancedVSeed as VSeed)) {\n advancedVSeed.measures = basicMeasuresToMeasureTree(advancedVSeed.measures as Measures)\n }\n\n return advancedVSeed\n}\n\nconst generateMeasuresByParentId = (measures: Measures): MeasureTree => {\n const measureTree: MeasureGroup[] = []\n\n measures.forEach((measure) => {\n const parent = measureTree.find((item) => item.id === measure.parentId)\n if (parent && 'children' in parent) {\n parent.children = parent.children || []\n\n if (parent.children.length > 0) {\n parent.alias += `-${measure.alias ?? measure.id}`\n }\n\n parent.children.push(measure)\n } else if (isValid(measure.parentId)) {\n measureTree.push({\n id: measure.parentId,\n alias: measure.alias ?? measure.id,\n children: [measure],\n })\n } else {\n measureTree.push({\n id: DEFAULT_PARENT_ID,\n alias: measure.alias ?? measure.id, // 当分组只有单个指标的时候,分组alias 设置为该指标的别名或者id\n children: [measure],\n })\n }\n })\n\n return measureTree\n}\n\nconst basicMeasuresToMeasureTree = (measures: Measures): MeasureTree => {\n const id = measures.map((item) => item.id).join('-')\n const alias = measures.map((item) => item.alias || item.id).join('-')\n return [\n {\n id,\n alias,\n children: measures,\n },\n ]\n}\n"],"names":["buildMeasures","advancedVSeed","isMeasureTreeWithChildren","normalizeMeasureTree","isMeasureTreeWithParentId","generateMeasuresByParentId","isPivotChart","basicMeasuresToMeasureTree","measures","measureTree","measure","parent","item","isValid","DEFAULT_PARENT_ID","id","alias"],"mappings":";;;;AAMO,MAAMA,gBAA8B,CAACC;IAE1C,IAAIC,0BAA0BD,cAAc,QAAQ,GAAG;QACrDA,cAAc,QAAQ,GAAGE,qBAAqBF,cAAc,QAAQ;QACpE,OAAOA;IACT;IAEA,IAAIG,0BAA0BH,cAAc,QAAQ,GAAG;QACrDA,cAAc,QAAQ,GAAGI,2BAA2BJ,cAAc,QAAQ;QAC1E,OAAOA;IACT;IAKA,IAAIK,aAAaL,gBACfA,cAAc,QAAQ,GAAGM,2BAA2BN,cAAc,QAAQ;IAG5E,OAAOA;AACT;AAEA,MAAMI,6BAA6B,CAACG;IAClC,MAAMC,cAA8B,EAAE;IAEtCD,SAAS,OAAO,CAAC,CAACE;QAChB,MAAMC,SAASF,YAAY,IAAI,CAAC,CAACG,OAASA,KAAK,EAAE,KAAKF,QAAQ,QAAQ;QACtE,IAAIC,UAAU,cAAcA,QAAQ;YAClCA,OAAO,QAAQ,GAAGA,OAAO,QAAQ,IAAI,EAAE;YAEvC,IAAIA,OAAO,QAAQ,CAAC,MAAM,GAAG,GAC3BA,OAAO,KAAK,IAAI,CAAC,CAAC,EAAED,QAAQ,KAAK,IAAIA,QAAQ,EAAE,EAAE;YAGnDC,OAAO,QAAQ,CAAC,IAAI,CAACD;QACvB,OAAO,IAAIG,QAAQH,QAAQ,QAAQ,GACjCD,YAAY,IAAI,CAAC;YACf,IAAIC,QAAQ,QAAQ;YACpB,OAAOA,QAAQ,KAAK,IAAIA,QAAQ,EAAE;YAClC,UAAU;gBAACA;aAAQ;QACrB;aAEAD,YAAY,IAAI,CAAC;YACf,IAAIK;YACJ,OAAOJ,QAAQ,KAAK,IAAIA,QAAQ,EAAE;YAClC,UAAU;gBAACA;aAAQ;QACrB;IAEJ;IAEA,OAAOD;AACT;AAEA,MAAMF,6BAA6B,CAACC;IAClC,MAAMO,KAAKP,SAAS,GAAG,CAAC,CAACI,OAASA,KAAK,EAAE,EAAE,IAAI,CAAC;IAChD,MAAMI,QAAQR,SAAS,GAAG,CAAC,CAACI,OAASA,KAAK,KAAK,IAAIA,KAAK,EAAE,EAAE,IAAI,CAAC;IACjE,OAAO;QACL;YACEG;YACAC;YACA,UAAUR;QACZ;KACD;AACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.ts"],"sourcesContent":["import type { AdvancedPipe, DualAxis, DualMeasures, MeasureGroup, Measures, MeasureTree } from 'src/types'\nimport { isMeasureTreeWithParentId, isMeasureTreeWithChildren } from './utils'\nimport { clone } from 'remeda'\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils/constant'\n\nexport const buildMeasuresForDualAxis: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: DualAxis\n }\n\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(advancedVSeed.measures)) {\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(advancedVSeed.measures)) {\n advancedVSeed.measures = generateMeasuresByParentId(advancedVSeed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 既不是带Children的指标树, 也不是带parentId的指标树, 则自动生成指标\n */\n const dualMeasures = vseed.dualMeasures\n ? clone(vseed.dualMeasures)\n : basicMeasuresToDualMeasures(advancedVSeed.measures || [])\n advancedVSeed.measures = dualMeasuresToMeasureTree(dualMeasures)\n\n return advancedVSeed\n}\n\nconst basicMeasuresToDualMeasures = (basicMeasures: Measures): DualMeasures => {\n const primaryMeasures: Measures = []\n const secondaryMeasures: Measures = []\n\n for (let index = 0; index < basicMeasures.length; index++) {\n const item = basicMeasures[index]\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isPrimaryYAxis = encoding.includes('primaryYAxis')\n const isSecondaryYAxis = encoding.includes('secondaryYAxis')\n\n if (isPrimaryYAxis) {\n primaryMeasures.push(item)\n } else if (isSecondaryYAxis) {\n secondaryMeasures.push(item)\n } else {\n if (index === 0) {\n primaryMeasures.push(item)\n } else {\n secondaryMeasures.push(item)\n }\n }\n }\n\n return [{ id: 'dualMeasures', primaryMeasures, secondaryMeasures }]\n}\n\nconst dualMeasuresToMeasureTree = (dualMeasures: DualMeasures): MeasureTree => {\n const measureTree = dualMeasures.map((item, index): MeasureGroup => {\n const { id, primaryMeasures, secondaryMeasures } = item\n const groupChildren: MeasureGroup[] = []\n\n let groupId: string = `${id}-`\n if (primaryMeasures) {\n const arrPrimaryMeasures = Array.isArray(primaryMeasures) ? primaryMeasures : [primaryMeasures]\n const alias = arrPrimaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-primary`,\n alias: arrPrimaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrPrimaryMeasures,\n })\n }\n if (secondaryMeasures) {\n const arrSecondaryMeasures = Array.isArray(secondaryMeasures) ? secondaryMeasures : [secondaryMeasures]\n const alias = arrSecondaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-secondary`,\n alias: arrSecondaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrSecondaryMeasures,\n })\n }\n\n return {\n id: groupId,\n alias: groupId,\n children: groupChildren,\n }\n })\n\n // 只有1个双轴图, 仅返回2层, vchart 绘制双轴图\n if (dualMeasures.length === 1) {\n return measureTree[0].children || []\n }\n\n // 有多个双轴图, 返回3层, pivot chart 绘制组合双轴图\n return measureTree\n}\n\nconst generateMeasuresByParentId = (measures: Measures) => {\n const dualMeasures: DualMeasures = []\n\n measures.forEach((item) => {\n const id = item.parentId || DEFAULT_PARENT_ID\n if (!dualMeasures.find((d) => d.id === id)) {\n dualMeasures.push({\n id,\n primaryMeasures: [],\n secondaryMeasures: [],\n })\n }\n\n const dualChart = dualMeasures.find((d) => d.id === id)\n if (!dualChart || !Array.isArray(dualChart.primaryMeasures) || !Array.isArray(dualChart.secondaryMeasures)) {\n return\n }\n\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding].filter(Boolean)\n const isPrimary = encoding.includes('primaryYAxis')\n const isSecondary = encoding.includes('secondaryYAxis')\n const isEmpty = !item.encoding\n\n if (isPrimary) {\n dualChart.primaryMeasures.push(item)\n } else if (isSecondary) {\n dualChart.secondaryMeasures.push(item)\n } else if (isEmpty) {\n if (dualChart.primaryMeasures.length === 0) {\n dualChart.primaryMeasures.push(item)\n } else {\n dualChart.secondaryMeasures.push(item)\n }\n }\n })\n\n return dualMeasuresToMeasureTree(dualMeasures)\n}\n"],"names":["buildMeasuresForDualAxis","advancedVSeed","context","vseed","isMeasureTreeWithChildren","isMeasureTreeWithParentId","generateMeasuresByParentId","dualMeasures","clone","basicMeasuresToDualMeasures","dualMeasuresToMeasureTree","basicMeasures","primaryMeasures","secondaryMeasures","index","item","encoding","Array","isPrimaryYAxis","isSecondaryYAxis","measureTree","id","groupChildren","groupId","arrPrimaryMeasures","alias","arrSecondaryMeasures","measures","DEFAULT_PARENT_ID","d","dualChart","Boolean","isPrimary","isSecondary","isEmpty"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.ts"],"sourcesContent":["import type { AdvancedPipe, MeasureGroup, Measures, MeasureTree, Scatter, ScatterMeasures } from 'src/types'\nimport { isMeasureTreeWithParentId, isMeasureTreeWithChildren } from './utils'\nimport { clone } from 'remeda'\nimport { DEFAULT_PARENT_ID } from 'src/pipeline/utils/constant'\n\nexport const buildMeasuresForScatter: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context as {\n vseed: Scatter\n }\n\n // 带Children的指标树, 不进行任何处理\n if (isMeasureTreeWithChildren(advancedVSeed.measures)) {\n return advancedVSeed\n }\n // 带parentId的指标树, 转换为带children的指标树\n if (isMeasureTreeWithParentId(advancedVSeed.measures)) {\n advancedVSeed.measures = generateMeasuresByParentId(advancedVSeed.measures as Measures)\n return advancedVSeed\n }\n\n /**\n * 既不是带Children的指标树, 也不是带parentId的指标树, 则自动生成指标\n */\n\n const scatterMeasures = vseed.scatterMeasures\n ? clone(vseed.scatterMeasures)\n : basicMeasuresToScatterMeasures(advancedVSeed.measures || [])\n advancedVSeed.measures = scatterMeasuresToMeasureTree(scatterMeasures)\n\n return advancedVSeed\n}\n\nconst basicMeasuresToScatterMeasures = (basicMeasures: Measures): ScatterMeasures => {\n const yMeasures: Measures = []\n const xMeasures: Measures = []\n\n for (let index = 0; index < basicMeasures.length; index++) {\n const item = basicMeasures[index]\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding]\n const isYAxis = encoding.includes('yAxis')\n const isXAxis = encoding.includes('xAxis')\n\n if (isYAxis) {\n yMeasures.push(item)\n } else if (isXAxis) {\n xMeasures.push(item)\n } else {\n if (index !== 0) {\n yMeasures.push(item)\n } else {\n xMeasures.push(item)\n }\n }\n }\n\n if (yMeasures.length === 0 && xMeasures.length > 0) {\n yMeasures.push(xMeasures[0])\n }\n\n return [{ id: 'scatterMeasures', xMeasures, yMeasures }]\n}\n\nconst scatterMeasuresToMeasureTree = (scatterMeasures: ScatterMeasures): MeasureTree => {\n const measureTree = scatterMeasures.map((item, index): MeasureGroup => {\n const { id, xMeasures, yMeasures } = item\n const groupChildren: MeasureGroup[] = []\n\n let groupId: string = `${id}-`\n if (xMeasures) {\n const arrPrimaryMeasures = Array.isArray(xMeasures) ? xMeasures : [xMeasures]\n const alias = arrPrimaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-x`,\n alias: arrPrimaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrPrimaryMeasures,\n })\n }\n if (yMeasures) {\n const arrSecondaryMeasures = Array.isArray(yMeasures) ? yMeasures : [yMeasures]\n const alias = arrSecondaryMeasures.map((item) => item.alias || item.id).toString()\n groupId += alias\n groupChildren.push({\n id: `${index}-y`,\n alias: arrSecondaryMeasures.map((item) => item.alias || item.id).toString(),\n children: arrSecondaryMeasures,\n })\n }\n\n return {\n id: groupId,\n alias: groupId,\n children: groupChildren,\n }\n })\n\n // 只有1个散点图, 仅返回2层, vchart 绘制散点图\n if (scatterMeasures.length === 1) {\n return measureTree[0].children || []\n }\n\n // 有多个散点图, 返回3层, pivot chart 绘制组合散点图\n return measureTree\n}\n\nconst generateMeasuresByParentId = (measures: Measures) => {\n const scatterMeasures: ScatterMeasures = []\n\n measures.forEach((item) => {\n const id = item.parentId || DEFAULT_PARENT_ID\n\n if (!scatterMeasures.find((d) => d.id === id)) {\n scatterMeasures.push({\n id,\n yMeasures: [],\n xMeasures: [],\n })\n }\n const scatterChart = scatterMeasures.find((d) => d.id === id)\n if (!scatterChart || !Array.isArray(scatterChart.yMeasures) || !Array.isArray(scatterChart.xMeasures)) {\n return\n }\n\n const encoding = Array.isArray(item.encoding) ? item.encoding : [item.encoding].filter(Boolean)\n const isX = encoding.includes('xAxis')\n const isY = encoding.includes('yAxis')\n const isEmpty = !encoding.length\n if (isY) {\n scatterChart.yMeasures.push(item)\n } else if (isX) {\n scatterChart.xMeasures.push(item)\n } else if (isEmpty) {\n if (scatterChart.yMeasures.length !== 0) {\n scatterChart.yMeasures.push(item)\n } else {\n scatterChart.xMeasures.push(item)\n }\n }\n })\n\n return scatterMeasuresToMeasureTree(scatterMeasures)\n}\n"],"names":["buildMeasuresForScatter","advancedVSeed","context","vseed","isMeasureTreeWithChildren","isMeasureTreeWithParentId","generateMeasuresByParentId","scatterMeasures","clone","basicMeasuresToScatterMeasures","scatterMeasuresToMeasureTree","basicMeasures","yMeasures","xMeasures","index","item","encoding","Array","isYAxis","isXAxis","measureTree","id","groupChildren","groupId","arrPrimaryMeasures","alias","arrSecondaryMeasures","measures","DEFAULT_PARENT_ID","d","scatterChart","Boolean","isX","isY","isEmpty"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/measures/pickMeasuresForReshape.ts"],"sourcesContent":["import { clone } from 'remeda'\nimport { deleteMeasureTreeByCallback } from 'src/index'\nimport type { AdvancedPipe, Measure } from 'src/types'\n\nexport const pickMeasuresForReshape = (encodingKeys: string[]): AdvancedPipe => {\n return (advancedVSeed) => {\n const clonedMeasures = clone(advancedVSeed.measures)\n\n const deleteBy = (measure: Measure) => encodingKeys.includes(measure.encoding as string)\n\n deleteMeasureTreeByCallback(clonedMeasures, deleteBy)\n\n return {\n ...advancedVSeed,\n reshapeMeasures: clonedMeasures,\n }\n }\n}\n"],"names":["pickMeasuresForReshape","encodingKeys","advancedVSeed","clonedMeasures","clone","deleteBy","measure","deleteMeasureTreeByCallback"],"mappings":";;AAIO,MAAMA,yBAAyB,CAACC,eAC9B,CAACC;QACN,MAAMC,iBAAiBC,MAAMF,cAAc,QAAQ;QAEnD,MAAMG,WAAW,CAACC,UAAqBL,aAAa,QAAQ,CAACK,QAAQ,QAAQ;QAE7EC,4BAA4BJ,gBAAgBE;QAE5C,OAAO;YACL,GAAGH,aAAa;YAChB,iBAAiBC;QACnB;IACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/utils.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/measures/utils.js","sources":["../../../../../../../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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/pivot/pivotAdapter.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/pivot/pivotAdapter.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/pivot/pivotAdapter.ts"],"sourcesContent":["import type { AdvancedPipe, AdvancedPipeline, AdvancedPipelineContext, AdvancedVSeed } from 'src/types'\nimport { execPipeline, isPivotChart } from 'src/pipeline/utils'\n\nexport const pivotAdapter = (pipeline: AdvancedPipeline, pivotPipeline: AdvancedPipeline): AdvancedPipe => {\n return (advancedVSeed, context) => {\n const { vseed } = context\n const usePivotChart = isPivotChart(vseed)\n\n if (usePivotChart) {\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pivotPipeline, context, advancedVSeed)\n }\n\n return execPipeline<AdvancedVSeed, AdvancedPipelineContext>(pipeline, context, advancedVSeed)\n }\n}\n"],"names":["pivotAdapter","pipeline","pivotPipeline","advancedVSeed","context","vseed","usePivotChart","isPivotChart","execPipeline"],"mappings":";AAGO,MAAMA,eAAe,CAACC,UAA4BC,gBAChD,CAACC,eAAeC;QACrB,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAClB,MAAME,gBAAgBC,aAAaF;QAEnC,IAAIC,eACF,OAAOE,aAAqDN,eAAeE,SAASD;QAGtF,OAAOK,aAAqDP,UAAUG,SAASD;IACjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/regressionLine/regressionLine.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/regressionLine/regressionLine.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/regressionLine/regressionLine.ts"],"sourcesContent":["import type { AdvancedPipe, RegressionLineConfig } from 'src/types'\n\nexport const regressionLine: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n let keys = [] as string[]\n\n if (vseed.chartType === 'histogram') {\n keys = ['kdeRegressionLine', 'ecdfRegressionLine']\n } else if (vseed.chartType === 'scatter') {\n keys = ['linearRegressionLine', 'lowessRegressionLine', 'polynomialRegressionLine', 'logisticRegressionLine']\n } else if (vseed.chartType === 'column') {\n keys = ['polynomialRegressionLine']\n }\n\n if (keys.length) {\n const regressionLineConfig: RegressionLineConfig = {}\n let hasLine = false\n\n keys.forEach((key: string) => {\n if ((vseed as any)[key]) {\n hasLine = true\n regressionLineConfig[key as keyof RegressionLineConfig] = (vseed as any)[key]\n }\n })\n\n return hasLine\n ? {\n ...advancedVSeed,\n regressionLine: regressionLineConfig,\n }\n : advancedVSeed\n }\n\n return advancedVSeed\n}\n"],"names":["regressionLine","advancedVSeed","context","vseed","keys","regressionLineConfig","hasLine","key"],"mappings":"AAEO,MAAMA,iBAA+B,CAACC,eAAeC;IAC1D,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,IAAIE,OAAO,EAAE;IAEb,IAAID,AAAoB,gBAApBA,MAAM,SAAS,EACjBC,OAAO;QAAC;QAAqB;KAAqB;SAC7C,IAAID,AAAoB,cAApBA,MAAM,SAAS,EACxBC,OAAO;QAAC;QAAwB;QAAwB;QAA4B;KAAyB;SACxG,IAAID,AAAoB,aAApBA,MAAM,SAAS,EACxBC,OAAO;QAAC;KAA2B;IAGrC,IAAIA,KAAK,MAAM,EAAE;QACf,MAAMC,uBAA6C,CAAC;QACpD,IAAIC,UAAU;QAEdF,KAAK,OAAO,CAAC,CAACG;YACZ,IAAKJ,KAAa,CAACI,IAAI,EAAE;gBACvBD,UAAU;gBACVD,oBAAoB,CAACE,IAAkC,GAAIJ,KAAa,CAACI,IAAI;YAC/E;QACF;QAEA,OAAOD,UACH;YACE,GAAGL,aAAa;YAChB,gBAAgBI;QAClB,IACAJ;IACN;IAEA,OAAOA;AACT"}
|
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":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithBoxplotEncoding.js","sources":["../../../../../../../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 type {\n AdvancedPipe,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Dimension,\n Encoding,\n MeasureGroup,\n} 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 measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\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 measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\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 measureGroups.forEach((measureGroup, index) => {\n const subMeasures = measureGroup.children\n if (!subMeasures) {\n return\n }\n const groupId = measureGroup.id\n let newDatasets: any[] = []\n let foldInfo: any = {}\n let unfoldInfo: any = {}\n const validEncodingIds = (encoding.value || []).filter((id) => subMeasures.find((field) => field.id === id))\n\n if (validEncodingIds.length) {\n const boxPlotDataList: Dataset = []\n validEncodingIds.forEach((f) => {\n const m = subMeasures.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 })\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[LowerWhisker] = datum[encoding.min![0]]\n datum[Q1MeasureValue] = datum[encoding.q1![0]]\n datum[Q3MeasureValue] = datum[encoding.q3![0]]\n datum[MedianMeasureId] = 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","measures","dimensions","uniqDims","uniqueBy","item","chartConfig","whiskers","measureGroups","measure","rowColumnFields","dim","datasets","datasetReshapeInfo","measureGroup","index","subMeasures","groupId","newDatasets","foldInfo","unfoldInfo","validEncodingIds","id","field","boxPlotDataList","f","m","boxPlotData","boxplot","Q1MeasureValue","Q3MeasureValue","LowerWhisker","UpperWhisker","MedianMeasureId","OutliersMeasureId","datum","FoldMeasureId","FoldMeasureName","res","unfoldDimensions","Separator","d","reshapeInfo"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures, measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n const allMeasures = findAllMeasures(measures)\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n })\n } else if (depth === 2) {\n measureGroups.push(measures as unknown as MeasureGroup[])\n }\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in dualAxis')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0]\n const secondaryMeasures = measures[1] || []\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(primaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldPrimaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(secondaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldSecondaryMeasureValue}${index}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets.flat(2))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithDualEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","allMeasures","findAllMeasures","datasetList","datasetReshapeInfo","measureGroups","depth","measureDepth","measure","index","Error","foldInfoList","unfoldInfoList","datasets","primaryMeasures","secondaryMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","FoldPrimaryMeasureValue","getColorMeasureId","FoldSecondaryMeasureValue","d","prev","cur","reshapeInfo"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n MeasureGroup,\n} from 'src/types'\n\nexport const pivotReshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n const allMeasures = findAllMeasures(measures)\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\n })\n }\n\n const datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measureGroup, index) => {\n const measures = measureGroup.children\n if (!measures) {\n return\n }\n const groupId = measureGroup.id\n const {\n dataset: newSubDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(measures, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: `${FoldMeasureValue}${groupId}`,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n },\n )\n\n const reshapeInfo = {\n id: `${groupId}`,\n index,\n foldInfo,\n unfoldInfo,\n }\n datasets.push(newSubDataset)\n datasetReshapeInfo.push(reshapeInfo)\n })\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithEncoding","advancedVSeed","context","result","vseed","dataset","encoding","measures","dimensions","allMeasures","findAllMeasures","measureGroups","measure","datasets","datasetReshapeInfo","measureGroup","index","groupId","newSubDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","FoldMeasureValue","getColorMeasureId","reshapeInfo"],"mappings":";;;;AAcO,MAAMA,2BAAyC,CAACC,eAAeC;IACpE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAE,GAAGL;IACrB,MAAMM,WAAWN,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAE;IAC9E,MAAMO,aAAaP,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,MAAMQ,cAAcC,gBAAgBH;IACpC,MAAMI,gBAAgC,EAAE;IACxC,IAAIJ,UACFA,SAAS,OAAO,CAAC,CAACK;QAChB,IAAIA,QAAQ,QAAQ,IAAIA,QAAQ,QAAQ,CAAC,MAAM,GAAG,GAChDD,cAAc,IAAI,CAACC;IAEvB;IAGF,MAAMC,WAAoB,EAAE;IAC5B,MAAMC,qBAAyC,EAAE;IAEjDH,cAAc,OAAO,CAAC,CAACI,cAAcC;QACnC,MAAMT,WAAWQ,aAAa,QAAQ;QACtC,IAAI,CAACR,UACH;QAEF,MAAMU,UAAUF,aAAa,EAAE;QAC/B,MAAM,EACJ,SAASG,aAAa,EACtBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFhB,SACAiB,SAASd,YAAY,CAACe,OAASA,KAAK,EAAE,GACtCD,SAASf,UAAU,CAACgB,OAASA,KAAK,EAAE,GACpCjB,UACA;YACE,eAAe;YACf,kBAAkB,GAAGkB,mBAAmBP,SAAS;YACjD,gBAAgBQ,kBAAkBxB,eAAgCG;YAClE,SAASK,YAAY,GAAG,CAAC,CAACc,OAASA,KAAK,EAAE;QAC5C;QAGF,MAAMG,cAAc;YAClB,IAAI,GAAGT,SAAS;YAChBD;YACAG;YACAC;QACF;QACAP,SAAS,IAAI,CAACK;QACdJ,mBAAmB,IAAI,CAACY;IAC1B;IAEA,OAAO;QACL,GAAGvB,MAAM;QACT,SAASU;QACT,oBAAoBC;IACtB;AACF"}
|
package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithHistogramEncoding.ts"],"sourcesContent":["import { bin } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\nimport {\n BinCountMeasureId,\n BinEndMeasureId,\n BinPercentageMeasureId,\n BinStartMeasureId,\n dataReshapeByEncoding,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n Separator,\n unfoldDimensions,\n} from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Datum,\n Dimension,\n Encoding,\n FoldInfo,\n MeasureGroup,\n} from 'src/types'\n\nexport const pivotReshapeWithHistogramEncoding: 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 measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const colorMeasureId = getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed)\n const uniqDims = uniqueBy(dimensions, (item: Dimension) => item.id)\n const chartConfig = config?.[chartType as 'histogram']\n const binCount = chartConfig?.binCount\n const binStep = chartConfig?.binStep\n const binValueType = chartConfig?.binValueType\n\n const measureGroups: MeasureGroup[] = []\n if (measures) {\n measures.forEach((measure: MeasureGroup) => {\n if (measure.children && measure.children.length > 0) {\n measureGroups.push(measure)\n }\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 datasets: Dataset = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measureGroup, index) => {\n const subMeasures = measureGroup.children\n if (!subMeasures) {\n return\n }\n const groupId = measureGroup.id\n\n let newDatasets: any[] = []\n let foldInfo: FoldInfo = {\n foldMap: {},\n measureId: FoldMeasureId,\n measureName: FoldMeasureName,\n measureValue: FoldMeasureValue,\n statistics: {\n max: -Infinity,\n min: Infinity,\n sum: 0,\n count: 0,\n colorMin: Infinity,\n colorMax: -Infinity,\n },\n }\n let unfoldInfo: any = {}\n\n if (encoding.value?.length) {\n const valueField = encoding.value[0]\n const m = subMeasures.find((m) => m.id === valueField)\n const binData = bin(dataset, {\n field: valueField,\n groupField: [...(encoding.x ?? []), ...(encoding.color ?? [])] as string[],\n facetField: rowColumnFields.map((item: Dimension) => item.id),\n bins: binCount,\n step: binStep,\n outputNames: {\n x0: BinStartMeasureId,\n x1: BinEndMeasureId,\n count: BinCountMeasureId,\n percentage: BinPercentageMeasureId,\n },\n }) as Dataset\n\n binData.forEach((datum: Datum) => {\n datum[FoldMeasureId] = valueField\n datum[FoldMeasureName] = m?.alias ?? valueField\n const valueNumber = binValueType === 'percentage' ? +datum[BinPercentageMeasureId] : +datum[BinCountMeasureId]\n datum[FoldMeasureValue] = valueNumber\n datum[valueField] = valueNumber\n\n foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber)\n foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber)\n foldInfo.statistics.sum += valueNumber\n foldInfo.statistics.count++\n })\n if (m?.id) {\n foldInfo.foldMap[m?.id] = m?.alias\n }\n\n const res = unfoldDimensions(binData, 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 (encoding.x0?.length && encoding.x1?.length && encoding.y?.length) {\n const res = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n subMeasures.filter((item) => encoding.y?.includes(item.id)).slice(0, 1),\n encoding as Encoding,\n {\n colorItemAsId: false,\n colorMeasureId,\n },\n )\n\n res.dataset.forEach((datum) => {\n datum[BinStartMeasureId] = datum[encoding.x0![0]]\n datum[BinEndMeasureId] = datum[encoding.x1![0]]\n datum[FoldMeasureId] = datum[encoding.y![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = res.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":["pivotReshapeWithHistogramEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","measures","dimensions","colorMeasureId","getColorMeasureId","uniqDims","uniqueBy","item","chartConfig","binCount","binStep","binValueType","measureGroups","measure","rowColumnFields","dim","datasets","datasetReshapeInfo","measureGroup","index","subMeasures","groupId","newDatasets","foldInfo","FoldMeasureId","FoldMeasureName","FoldMeasureValue","Infinity","unfoldInfo","valueField","m","binData","bin","BinStartMeasureId","BinEndMeasureId","BinCountMeasureId","BinPercentageMeasureId","datum","valueNumber","Math","res","unfoldDimensions","Separator","d","dataReshapeByEncoding","reshapeInfo"],"mappings":"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"}
|
package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithScatterEncoding.ts"],"sourcesContent":["import { dataReshapeByEncoding, FoldXMeasureValue, FoldYMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures, measureDepth } from 'src/pipeline/utils'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n DatasetReshapeInfo,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const pivotReshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const allMeasures = findAllMeasures(measures)\n\n const measureGroups: Array<MeasureGroup[]> = []\n\n const depth = measureDepth(measures)\n if (depth === 3) {\n measures.forEach((measure: MeasureGroup) => {\n measureGroups.push(measure.children as unknown as MeasureGroup[])\n })\n } else if (depth === 2) {\n measureGroups.push(measures)\n }\n\n const datasetList: Dataset[] = []\n const datasetReshapeInfo: DatasetReshapeInfo = []\n\n measureGroups.forEach((measures: MeasureGroup[], index) => {\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in scatter')\n }\n\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0]\n const yMeasures = measures[1] || xMeasures\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, xMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldXMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(dataset, dimensions, yMeasures.children, encoding as Encoding, {\n foldMeasureValue: `${FoldYMeasureValue}${index}`,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n omitIds: allMeasures.map((item) => item.id),\n })\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n const reshapeInfo = {\n id: `${chartType}-${index}`,\n index,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n }\n\n datasetReshapeInfo.push(reshapeInfo)\n datasetList.push(datasets[0].map((d, index) => ({ ...d, ...(datasets[1]?.[index] || {}) })))\n })\n\n return {\n ...result,\n dataset: datasetList,\n datasetReshapeInfo: datasetReshapeInfo,\n }\n}\n"],"names":["pivotReshapeWithScatterEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","allMeasures","findAllMeasures","measureGroups","depth","measureDepth","measure","datasetList","datasetReshapeInfo","index","Error","foldInfoList","unfoldInfoList","datasets","xMeasures","yMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","FoldXMeasureValue","getColorMeasureId","item","FoldYMeasureValue","d","prev","cur","reshapeInfo"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/reshapeWithBoxplotEncoding.ts"],"sourcesContent":["import {\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 { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, ColumnParallel, Dataset, Encoding } from 'src/types'\nimport { boxplot } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\n\nexport const reshapeWithBoxplotEncoding: 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 measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const uniqDims = uniqueBy(dimensions, (item) => item.id)\n\n const whiskers = config?.[chartType as 'boxPlot']?.whiskers\n\n let newDatasets: any[] = []\n let foldInfo: any = {}\n let unfoldInfo: any = {}\n\n const allMeasures = findAllMeasures(measures)\n\n if (encoding.value?.length) {\n const boxPlotDataList: Dataset = []\n encoding.value.forEach((f) => {\n const m = allMeasures.find((m) => m.id === f)\n const boxPlotData = boxplot(dataset, {\n field: f,\n groupField: [...(encoding.x ?? []), ...(encoding.color ?? [])] 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 })\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[LowerWhisker] = datum[encoding.min![0]]\n datum[Q1MeasureValue] = datum[encoding.q1![0]]\n datum[Q3MeasureValue] = datum[encoding.q3![0]]\n datum[MedianMeasureId] = datum[encoding.median![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = {}\n unfoldInfo = res.unfoldInfo\n }\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n"],"names":["reshapeWithBoxplotEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","measures","dimensions","uniqDims","uniqueBy","item","whiskers","newDatasets","foldInfo","unfoldInfo","allMeasures","findAllMeasures","boxPlotDataList","f","m","boxPlotData","boxplot","Q1MeasureValue","Q3MeasureValue","LowerWhisker","UpperWhisker","MedianMeasureId","OutliersMeasureId","datum","FoldMeasureId","FoldMeasureName","res","unfoldDimensions","Separator","d","String"],"mappings":";;;;AAiBO,MAAMA,6BAA2C,CAACC,eAAeC;IACtE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAEC,SAAS,EAAE,GAAGF;IAC/B,MAAM,EAAEG,WAAW,CAAC,CAAC,EAAEC,MAAM,EAAE,GAAGP;IAClC,MAAMQ,WAAWR,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAE;IAC9E,MAAMS,aAAaT,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IACpF,MAAMU,WAAWC,SAASF,YAAY,CAACG,OAASA,KAAK,EAAE;IAEvD,MAAMC,WAAWN,QAAQ,CAACF,UAAuB,EAAE;IAEnD,IAAIS,cAAqB,EAAE;IAC3B,IAAIC,WAAgB,CAAC;IACrB,IAAIC,aAAkB,CAAC;IAEvB,MAAMC,cAAcC,gBAAgBV;IAEpC,IAAIF,SAAS,KAAK,EAAE,QAAQ;QAC1B,MAAMa,kBAA2B,EAAE;QACnCb,SAAS,KAAK,CAAC,OAAO,CAAC,CAACc;YACtB,MAAMC,IAAIJ,YAAY,IAAI,CAAC,CAACI,IAAMA,EAAE,EAAE,KAAKD;YAC3C,MAAME,cAAcC,QAAQnB,SAAS;gBACnC,OAAOgB;gBACP,YAAY;uBAAKd,SAAS,CAAC,IAAI,EAAE;uBAAOA,SAAS,KAAK,IAAI,EAAE;iBAAE;gBAC9DO;gBACA,aAAa;oBACX,IAAIW;oBACJ,IAAIC;oBACJ,cAAcC;oBACd,cAAcC;oBACd,QAAQC;oBACR,UAAUC;gBACZ;YACF;YAEAP,YAAY,OAAO,CAAC,CAACQ;gBACnBA,KAAK,CAACC,cAAc,GAAGX;gBACvBU,KAAK,CAACE,gBAAgB,GAAGX,GAAG,SAASD;YACvC;YACAD,gBAAgB,IAAI,IAAIG;QAC1B;QACA,MAAMW,MAAMC,iBAAiBf,iBAAiBT,UAAUJ,UAAsB;YAC5E,eAAeyB;YACf,WAAWI;YACX,eAAe;QACjB;QAEAF,IAAI,OAAO,CAAC,OAAO,CAAC,CAACG;YACnBtB,YAAY,IAAI,CAACsB;QACnB;QACApB,aAAaiB,IAAI,UAAU;IAC7B,OAAO,IACL3B,SAAS,EAAE,EAAE,UACbA,SAAS,EAAE,EAAE,UACbA,SAAS,GAAG,EAAE,UACdA,SAAS,GAAG,EAAE,UACdA,SAAS,MAAM,EAAE,QACjB;QACA,MAAM2B,MAAMC,iBAAiB9B,SAASM,UAAUJ,UAAsB;YACpE,eAAeyB;YACf,WAAWI;YACX,eAAe;QACjB;QAEAF,IAAI,OAAO,CAAC,OAAO,CAAC,CAACH;YACnBA,KAAK,CAACH,aAAa,GAAGG,KAAK,CAACxB,SAAS,GAAI,CAAC,EAAE,CAAC;YAC7CwB,KAAK,CAACJ,aAAa,GAAGI,KAAK,CAACxB,SAAS,GAAI,CAAC,EAAE,CAAC;YAC7CwB,KAAK,CAACN,eAAe,GAAGM,KAAK,CAACxB,SAAS,EAAG,CAAC,EAAE,CAAC;YAC9CwB,KAAK,CAACL,eAAe,GAAGK,KAAK,CAACxB,SAAS,EAAG,CAAC,EAAE,CAAC;YAC9CwB,KAAK,CAACF,gBAAgB,GAAGE,KAAK,CAACxB,SAAS,MAAO,CAAC,EAAE,CAAC;QACrD;QAEAQ,cAAcmB,IAAI,OAAO;QACzBlB,WAAW,CAAC;QACZC,aAAaiB,IAAI,UAAU;IAC7B;IAEA,OAAO;QACL,GAAG/B,MAAM;QACT,SAASY;QACT,oBAAoB;YAClB;gBACE,IAAIuB,OAAOhC;gBACX,OAAO;gBACPU;gBACAC;YACF;SACD;QACDP;QACAD;IACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding, FoldPrimaryMeasureValue, FoldSecondaryMeasureValue } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithDualEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in dualAxis')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const primaryMeasures = measures[0] as MeasureGroup\n const secondaryMeasures = (measures[1] || []) as MeasureGroup\n\n if (primaryMeasures && primaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(primaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: FoldPrimaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (secondaryMeasures && secondaryMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item) => item.id),\n uniqueBy(secondaryMeasures.children, (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n foldMeasureValue: FoldSecondaryMeasureValue,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithDualEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","Error","foldInfoList","unfoldInfoList","datasets","primaryMeasures","secondaryMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","FoldPrimaryMeasureValue","getColorMeasureId","FoldSecondaryMeasureValue","d","prev","cur","String"],"mappings":";;;AAcO,MAAMA,0BAAwC,CAACC,eAAeC;IACnE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAChC,MAAMO,WAAWP,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAE;IAC9E,MAAMQ,aAAaR,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,IAAIO,SAAS,MAAM,GAAG,GACpB,MAAM,IAAIE,MAAM;IAElB,MAAMC,eAA2B,EAAE;IACnC,MAAMC,iBAA+B,EAAE;IAEvC,MAAMC,WAAsB,EAAE;IAC9B,MAAMC,kBAAkBN,QAAQ,CAAC,EAAE;IACnC,MAAMO,oBAAqBP,QAAQ,CAAC,EAAE,IAAI,EAAE;IAE5C,IAAIM,mBAAmBA,gBAAgB,QAAQ,EAAE;QAC/C,MAAM,EACJ,SAASE,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFd,SACAe,SAASX,YAAY,CAACY,OAASA,KAAK,EAAE,GACtCD,SAASN,gBAAgB,QAAQ,EAAE,CAACO,OAASA,KAAK,EAAE,GACpDf,UACA;YACE,eAAe;YACf,kBAAkBgB;YAClB,gBAAgBC,kBAAkBtB,eAAgCG;QACpE;QAGFS,SAAS,IAAI,CAACG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,IAAIH,qBAAqBA,kBAAkB,QAAQ,EAAE;QACnD,MAAM,EACJ,SAASC,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFd,SACAe,SAASX,YAAY,CAACY,OAASA,KAAK,EAAE,GACtCD,SAASL,kBAAkB,QAAQ,EAAE,CAACM,OAASA,KAAK,EAAE,GACtDf,UACA;YACE,eAAe;YACf,kBAAkBkB;YAClB,gBAAgBD,kBAAkBtB,eAAgCG;QACpE;QAGFS,SAAS,IAAI,CAACG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,MAAMA,aAAyB;QAC7B,GAAGN,cAAc,CAAC,EAAE;QACpB,YAAYA,eAAe,OAAO,CAAC,CAACa,IAAMA,EAAE,UAAU;QACtD,YAAYb,eAAe,MAAM,CAAC,CAACc,MAAMC,MAAS;gBAAE,GAAGD,IAAI;gBAAE,GAAGC,IAAI,UAAU;YAAC,IAAI,CAAC;IACtF;IAEA,OAAO;QACL,GAAGxB,MAAM;QACT,SAASU;QACT,oBAAoB;YAClB;gBACE,IAAIe,OAAOrB;gBACX,OAAO;gBACP,UAAUI,YAAY,CAAC,EAAE;gBACzB,cAAcA;gBACd,YAAYO;YACd;SACD;IACH;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/reshapeWithEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport { dataReshapeByEncoding } from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, ColumnParallel, Encoding } from 'src/types'\n\nexport const reshapeWithEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset, chartType } = vseed as ColumnParallel\n const { encoding } = advancedVSeed\n\n const colorMeasureId = getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed)\n const {\n dataset: newDatasets,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? [], (item) => item.id),\n uniqueBy(findAllMeasures(advancedVSeed.reshapeMeasures ?? advancedVSeed.measures), (item) => item.id),\n encoding as Encoding,\n {\n colorItemAsId: false,\n colorMeasureId,\n },\n )\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","colorMeasureId","getColorMeasureId","newDatasets","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","item","findAllMeasures","String"],"mappings":";;;;AAMO,MAAMA,sBAAoC,CAACC,eAAeC;IAC/D,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAEC,SAAS,EAAE,GAAGF;IAC/B,MAAM,EAAEG,QAAQ,EAAE,GAAGN;IAErB,MAAMO,iBAAiBC,kBAAkBR,eAAgCG;IACzE,MAAM,EACJ,SAASM,WAAW,EACpBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFR,SACAS,SAASb,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE,EAAE,CAACc,OAASA,KAAK,EAAE,GAC7FD,SAASE,gBAAgBf,cAAc,eAAe,IAAIA,cAAc,QAAQ,GAAG,CAACc,OAASA,KAAK,EAAE,GACpGR,UACA;QACE,eAAe;QACfC;IACF;IAGF,OAAO;QACL,GAAGL,MAAM;QACT,SAASO;QACT,oBAAoB;YAClB;gBACE,IAAIO,OAAOX;gBACX,OAAO;gBACPK;gBACAC;YACF;SACD;IACH;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/reshapeWithHistogramEncoding.ts"],"sourcesContent":["import {\n BinCountMeasureId,\n BinEndMeasureId,\n BinPercentageMeasureId,\n BinStartMeasureId,\n dataReshapeByEncoding,\n FoldMeasureId,\n FoldMeasureName,\n FoldMeasureValue,\n Separator,\n unfoldDimensions,\n} from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, ColumnParallel, Dataset, Dimension, Encoding, FoldInfo } from 'src/types'\nimport { bin } from '@visactor/vdataset'\nimport { uniqueBy } from 'remeda'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes/color/colorAdapter'\n\nexport const reshapeWithHistogramEncoding: 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 measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n const uniqDims = uniqueBy(dimensions, (item) => item.id)\n const chartConfig = config?.[chartType as 'histogram']\n const binCount = chartConfig?.binCount\n const binStep = chartConfig?.binStep\n const binValueType = chartConfig?.binValueType\n\n let newDatasets: any[] = []\n let foldInfo: FoldInfo = {\n foldMap: {},\n measureId: FoldMeasureId,\n measureName: FoldMeasureName,\n measureValue: FoldMeasureValue,\n statistics: {\n max: -Infinity,\n min: Infinity,\n sum: 0,\n count: 0,\n colorMin: Infinity,\n colorMax: -Infinity,\n },\n }\n let unfoldInfo: any = {}\n\n const colorMeasureId = getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed)\n const allMeasures = findAllMeasures(measures)\n\n if (encoding.value?.length) {\n const valueField = encoding.value[0]\n const m = allMeasures.find((m) => m.id === valueField)\n const binData = bin(dataset, {\n field: valueField,\n groupField: [...(encoding.x ?? []), ...(encoding.color ?? [])] as string[],\n bins: binCount,\n step: binStep,\n outputNames: {\n x0: BinStartMeasureId,\n x1: BinEndMeasureId,\n count: BinCountMeasureId,\n percentage: BinPercentageMeasureId,\n },\n }) as Dataset\n\n binData.forEach((datum) => {\n datum[FoldMeasureId] = valueField\n datum[FoldMeasureName] = m?.alias ?? valueField\n const valueNumber = binValueType === 'percentage' ? +datum[BinPercentageMeasureId] : +datum[BinCountMeasureId]\n datum[FoldMeasureValue] = valueNumber\n datum[valueField] = valueNumber\n foldInfo.statistics.min = Math.min(foldInfo.statistics.min, valueNumber)\n foldInfo.statistics.max = Math.max(foldInfo.statistics.max, valueNumber)\n foldInfo.statistics.sum += valueNumber\n foldInfo.statistics.count++\n })\n if (m?.id) {\n foldInfo.foldMap[m?.id] = m?.alias\n }\n\n const res = unfoldDimensions(binData, 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 (encoding.x0?.length && encoding.x1?.length && encoding.y?.length) {\n const res = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (item: Dimension) => item.id),\n findAllMeasures(measures)\n .filter((item) => encoding.y?.includes(item.id))\n .slice(0, 1),\n encoding as Encoding,\n {\n colorItemAsId: false,\n colorMeasureId,\n },\n )\n\n res.dataset.forEach((datum) => {\n datum[BinStartMeasureId] = datum[encoding.x0![0]]\n datum[BinEndMeasureId] = datum[encoding.x1![0]]\n })\n\n newDatasets = res.dataset\n foldInfo = res.foldInfo\n unfoldInfo = res.unfoldInfo\n }\n\n return {\n ...result,\n dataset: newDatasets,\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo,\n unfoldInfo,\n },\n ],\n dimensions,\n measures,\n }\n}\n"],"names":["reshapeWithHistogramEncoding","advancedVSeed","context","result","vseed","dataset","chartType","encoding","config","measures","dimensions","uniqDims","uniqueBy","item","chartConfig","binCount","binStep","binValueType","newDatasets","foldInfo","FoldMeasureId","FoldMeasureName","FoldMeasureValue","Infinity","unfoldInfo","colorMeasureId","getColorMeasureId","allMeasures","findAllMeasures","valueField","m","binData","bin","BinStartMeasureId","BinEndMeasureId","BinCountMeasureId","BinPercentageMeasureId","datum","valueNumber","Math","res","unfoldDimensions","Separator","d","dataReshapeByEncoding","String"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport {\n dataReshapeByEncoding,\n FoldXMeasureId,\n FoldXMeasureValue,\n FoldYMeasureId,\n FoldYMeasureValue,\n} from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in scatter')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0] as MeasureGroup\n const yMeasures = (measures[1] || xMeasures) as MeasureGroup\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(xMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldXMeasureValue,\n foldMeasureId: FoldXMeasureId,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n datasets[0],\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(yMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldYMeasureValue,\n foldMeasureId: FoldYMeasureId,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets[0] = newDataset\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets[0],\n\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithScatterEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","Error","foldInfoList","unfoldInfoList","datasets","xMeasures","yMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","d","FoldXMeasureValue","FoldXMeasureId","getColorMeasureId","FoldYMeasureValue","FoldYMeasureId","prev","cur","String"],"mappings":";;;AAoBO,MAAMA,6BAA2C,CAACC,eAAeC;IACtE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAChC,MAAMO,WAAWP,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAE;IAC9E,MAAMQ,aAAaR,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,IAAIO,SAAS,MAAM,GAAG,GACpB,MAAM,IAAIE,MAAM;IAElB,MAAMC,eAA2B,EAAE;IACnC,MAAMC,iBAA+B,EAAE;IAEvC,MAAMC,WAAsB,EAAE;IAC9B,MAAMC,YAAYN,QAAQ,CAAC,EAAE;IAC7B,MAAMO,YAAaP,QAAQ,CAAC,EAAE,IAAIM;IAElC,IAAIA,aAAaA,UAAU,QAAQ,EAAE;QACnC,MAAM,EACJ,SAASE,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFd,SACAe,SAASX,YAAY,CAACY,IAAMA,EAAE,EAAE,GAChCD,SAASN,UAAU,QAAQ,EAAE,CAACO,IAAMA,EAAE,EAAE,GACxCf,UACA;YACE,kBAAkBgB;YAClB,eAAeC;YACf,eAAe;YACf,gBAAgBC,kBAAkBvB,eAAgCG;QACpE;QAGFS,SAAS,IAAI,CAACG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,IAAIH,aAAaA,UAAU,QAAQ,EAAE;QACnC,MAAM,EACJ,SAASC,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFN,QAAQ,CAAC,EAAE,EACXO,SAASX,YAAY,CAACY,IAAMA,EAAE,EAAE,GAChCD,SAASL,UAAU,QAAQ,EAAE,CAACM,IAAMA,EAAE,EAAE,GACxCf,UACA;YACE,kBAAkBmB;YAClB,eAAeC;YACf,eAAe;YACf,gBAAgBF,kBAAkBvB,eAAgCG;QACpE;QAGFS,QAAQ,CAAC,EAAE,GAAGG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,MAAMA,aAAyB;QAC7B,GAAGN,cAAc,CAAC,EAAE;QACpB,YAAYA,eAAe,OAAO,CAAC,CAACS,IAAMA,EAAE,UAAU;QACtD,YAAYT,eAAe,MAAM,CAAC,CAACe,MAAMC,MAAS;gBAAE,GAAGD,IAAI;gBAAE,GAAGC,IAAI,UAAU;YAAC,IAAI,CAAC;IACtF;IAEA,OAAO;QACL,GAAGzB,MAAM;QACT,SAASU,QAAQ,CAAC,EAAE;QAEpB,oBAAoB;YAClB;gBACE,IAAIgB,OAAOtB;gBACX,OAAO;gBACP,UAAUI,YAAY,CAAC,EAAE;gBACzB,cAAcA;gBACd,YAAYO;YACd;SACD;IACH;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/theme/theme.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/theme/theme.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/theme/theme.ts"],"sourcesContent":["import { clone, isNullish, isNumber, isObjectType, isString, merge, mergeDeep } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const theme: AdvancedPipe = (advancedVSeed, context) => {\n const { customTheme, vseed } = context\n const { theme = 'light', chartType } = vseed\n const result = {\n ...advancedVSeed,\n } as AdvancedVSeed\n\n if (!customTheme || !customTheme[theme]) {\n return result\n }\n\n const chartConfigTheme = customTheme?.[theme].config?.[chartType]\n if (chartConfigTheme) {\n const chartConfig = result.config?.[chartType] || {}\n const mergedConfig = mergeDeep(chartConfigTheme, clone(chartConfig))\n\n // 数组项不会被Merge, 需要将1个主题配置, 合并到数组的每一项\n for (const _k in mergedConfig) {\n const key = _k as keyof typeof mergedConfig\n // 配置的第一层, 如果是数组, 则数组的每一项目和主题配置合并\n if (Array.isArray(mergedConfig[key])) {\n mergedConfig[key] = mergeArray(mergedConfig[key], chartConfigTheme[key])\n }\n }\n\n result.config = {\n [chartType]: mergedConfig,\n }\n }\n\n const chartCustomTheme = customTheme?.[theme]?.config?.[chartType]\n\n result.customTheme = {\n config: {\n [chartType]: chartCustomTheme,\n },\n }\n\n return result\n}\n\nconst mergeArray = <Destination extends Array<object>, Source extends object | number | string | undefined | null>(\n arr: Destination,\n themeItem: Source,\n): Destination => {\n if (isNullish(themeItem) || isString(themeItem) || isNumber(themeItem)) {\n return arr\n }\n\n if (!Array.isArray(arr)) {\n return arr\n }\n\n if (arr.some((d) => !isObjectType(d))) {\n return arr\n }\n\n return arr.map((item) => {\n return merge(themeItem, item)\n }) as Destination\n}\n"],"names":["theme","advancedVSeed","context","customTheme","vseed","chartType","result","chartConfigTheme","chartConfig","mergedConfig","mergeDeep","clone","_k","key","Array","mergeArray","chartCustomTheme","arr","themeItem","isNullish","isString","isNumber","d","isObjectType","item","merge"],"mappings":";AAGO,MAAMA,cAAsB,CAACC,eAAeC;IACjD,MAAM,EAAEC,WAAW,EAAEC,KAAK,EAAE,GAAGF;IAC/B,MAAM,EAAEF,QAAQ,OAAO,EAAEK,SAAS,EAAE,GAAGD;IACvC,MAAME,SAAS;QACb,GAAGL,aAAa;IAClB;IAEA,IAAI,CAACE,eAAe,CAACA,WAAW,CAACH,MAAM,EACrC,OAAOM;IAGT,MAAMC,mBAAmBJ,aAAa,CAACH,MAAM,CAAC,QAAQ,CAACK,UAAU;IACjE,IAAIE,kBAAkB;QACpB,MAAMC,cAAcF,OAAO,MAAM,EAAE,CAACD,UAAU,IAAI,CAAC;QACnD,MAAMI,eAAeC,UAAUH,kBAAkBI,MAAMH;QAGvD,IAAK,MAAMI,MAAMH,aAAc;YAC7B,MAAMI,MAAMD;YAEZ,IAAIE,MAAM,OAAO,CAACL,YAAY,CAACI,IAAI,GACjCJ,YAAY,CAACI,IAAI,GAAGE,WAAWN,YAAY,CAACI,IAAI,EAAEN,gBAAgB,CAACM,IAAI;QAE3E;QAEAP,OAAO,MAAM,GAAG;YACd,CAACD,UAAU,EAAEI;QACf;IACF;IAEA,MAAMO,mBAAmBb,aAAa,CAACH,MAAM,EAAE,QAAQ,CAACK,UAAU;IAElEC,OAAO,WAAW,GAAG;QACnB,QAAQ;YACN,CAACD,UAAU,EAAEW;QACf;IACF;IAEA,OAAOV;AACT;AAEA,MAAMS,aAAa,CACjBE,KACAC;IAEA,IAAIC,UAAUD,cAAcE,SAASF,cAAcG,SAASH,YAC1D,OAAOD;IAGT,IAAI,CAACH,MAAM,OAAO,CAACG,MACjB,OAAOA;IAGT,IAAIA,IAAI,IAAI,CAAC,CAACK,IAAM,CAACC,aAAaD,KAChC,OAAOL;IAGT,OAAOA,IAAI,GAAG,CAAC,CAACO,OACPC,MAAMP,WAAWM;AAE5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/table/pipeline/pivotTable.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/table/pipeline/pivotTable.js","sources":["../../../../../../src/pipeline/advanced/table/pipeline/pivotTable.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport { theme } from '../../chart/pipes'\nimport {\n cellStyle,\n defaultDimensions,\n defaultMeasureId,\n defaultMeasures,\n encodingForPivotTable,\n initAdvancedVSeed,\n pivotTableConfig,\n reshapePivotTable,\n} from '../pipes'\n\nexport const pivotTableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureId,\n cellStyle,\n\n encodingForPivotTable,\n reshapePivotTable,\n pivotTableConfig,\n theme,\n]\n"],"names":["pivotTableAdvancedPipeline","initAdvancedVSeed","defaultMeasures","defaultDimensions","defaultMeasureId","cellStyle","encodingForPivotTable","reshapePivotTable","pivotTableConfig","theme"],"mappings":";;AAaO,MAAMA,6BAA+C;IAC1DC;IACAC;IACAC;IACAC;IACAC;IAEAC;IACAC;IACAC;IACAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/table/pipeline/table.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/table/pipeline/table.js","sources":["../../../../../../src/pipeline/advanced/table/pipeline/table.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport { initAdvancedVSeed, records, tableConfig, defaultMeasures, defaultDimensions, cellStyle } from '../pipes'\nimport { theme } from '../../chart/pipes'\n\nexport const tableAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n cellStyle,\n\n records,\n tableConfig,\n theme,\n]\n"],"names":["tableAdvancedPipeline","initAdvancedVSeed","defaultMeasures","defaultDimensions","cellStyle","records","tableConfig","theme"],"mappings":";;AAIO,MAAMA,wBAA0C;IACrDC;IACAC;IACAC;IACAC;IAEAC;IACAC;IACAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/table/pipes/cellStyle/cellStyle.js","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/table/pipes/cellStyle/cellStyle.js","sources":["../../../../../../../src/pipeline/advanced/table/pipes/cellStyle/cellStyle.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed } from 'src/types'\n\nexport const cellStyle: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n\n const pickedCellStyle = pick(vseed, ['bodyCellStyle']) as AdvancedVSeed['cellStyle']\n\n const style = replaceNullToUndefined(pickedCellStyle)\n\n return { ...advancedVSeed, cellStyle: style }\n}\n"],"names":["cellStyle","advancedVSeed","context","vseed","pickedCellStyle","pick","style","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,YAA0B,CAACC,eAAeC;IACrD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAElB,MAAME,kBAAkBC,KAAKF,OAAO;QAAC;KAAgB;IAErD,MAAMG,QAAQC,uBAAuBH;IAErC,OAAO;QAAE,GAAGH,aAAa;QAAE,WAAWK;IAAM;AAC9C"}
|