@visactor/vseed 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/advanced/colorItems.js +3 -2
- package/dist/esm/builder/builder/advanced/colorItems.js.map +1 -1
- package/dist/esm/builder/builder/build.js +0 -2
- package/dist/esm/builder/builder/build.js.map +1 -1
- package/dist/esm/builder/builder/buildAdvanced.js +3 -1
- package/dist/esm/builder/builder/buildAdvanced.js.map +1 -1
- package/dist/esm/builder/builder/buildSpec.js +3 -1
- package/dist/esm/builder/builder/buildSpec.js.map +1 -1
- package/dist/esm/builder/builder/builder.d.ts +357 -9
- package/dist/esm/builder/builder/builder.js +1 -1
- package/dist/esm/builder/builder/builder.js.map +1 -1
- package/dist/esm/dataReshape/foldMeasures.js +16 -16
- package/dist/esm/dataReshape/foldMeasures.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -2
- package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/config.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/config.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js +6 -2
- package/dist/esm/pipeline/advanced/chart/pipes/config/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js +12 -0
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.d.ts +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/dimensions/index.js +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +10 -4
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +10 -4
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +10 -4
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +9 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js +10 -4
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +8 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js +9 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/pie.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +8 -0
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +10 -4
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js +9 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/scatter.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/index.d.ts +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/index.js +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/markStyle/markStyle.js +3 -1
- package/dist/esm/pipeline/advanced/chart/pipes/markStyle/markStyle.js.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipAndLabelMeasure.d.ts +2 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipAndLabelMeasure.js +12 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipAndLabelMeasure.js.map +1 -0
- package/dist/esm/pipeline/advanced/chart/pipes/measures/index.d.ts +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/measures/index.js +2 -2
- package/dist/esm/pipeline/advanced/table/pipes/init/index.d.ts +0 -1
- package/dist/esm/pipeline/advanced/table/pipes/init/index.js +0 -1
- package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/dual/dualChartType.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js +41 -20
- package/dist/esm/pipeline/spec/chart/pipes/label/label.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js +2 -2
- package/dist/esm/pipeline/spec/chart/pipes/legend/pivotColorLegend.js.map +1 -1
- package/dist/esm/pipeline/utils/dimensions/delete.d.ts +8 -0
- package/dist/esm/pipeline/utils/dimensions/delete.js +40 -0
- package/dist/esm/pipeline/utils/dimensions/delete.js.map +1 -0
- package/dist/esm/pipeline/utils/dimensions/find.d.ts +0 -2
- package/dist/esm/pipeline/utils/dimensions/find.js +0 -13
- package/dist/esm/pipeline/utils/dimensions/index.d.ts +2 -1
- package/dist/esm/pipeline/utils/dimensions/index.js +2 -1
- package/dist/esm/pipeline/utils/dimensions/typeGuard.d.ts +3 -0
- package/dist/esm/pipeline/utils/dimensions/typeGuard.js +5 -0
- package/dist/esm/pipeline/utils/dimensions/typeGuard.js.map +1 -0
- package/dist/esm/pipeline/utils/index.d.ts +1 -0
- package/dist/esm/pipeline/utils/index.js +1 -0
- package/dist/esm/pipeline/utils/replaceNullToUndefined.d.ts +5 -0
- package/dist/esm/pipeline/utils/replaceNullToUndefined.js +10 -0
- package/dist/esm/pipeline/utils/replaceNullToUndefined.js.map +1 -0
- package/dist/esm/theme/dark.js +19 -4
- package/dist/esm/theme/dark.js.map +1 -1
- package/dist/esm/theme/light.js +19 -4
- package/dist/esm/theme/light.js.map +1 -1
- package/dist/esm/types/advancedVSeed.d.ts +160 -40
- package/dist/esm/types/chartType/area/zArea.d.ts +4 -1
- package/dist/esm/types/chartType/areaPercent/zAreaPercent.d.ts +4 -1
- package/dist/esm/types/chartType/bar/zBar.d.ts +4 -1
- package/dist/esm/types/chartType/barParallel/zBarParallel.d.ts +4 -1
- package/dist/esm/types/chartType/barPercent/zBarPercent.d.ts +4 -1
- package/dist/esm/types/chartType/column/zColumn.d.ts +4 -1
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +4 -1
- package/dist/esm/types/chartType/columnPercent/zColumnPercent.d.ts +4 -1
- package/dist/esm/types/chartType/donut/zDonut.d.ts +4 -1
- package/dist/esm/types/chartType/dualAxis/dualAxis.d.ts +5 -1
- package/dist/esm/types/chartType/dualAxis/zDualAxis.d.ts +4 -1
- package/dist/esm/types/chartType/funnel/zFunnel.d.ts +4 -1
- package/dist/esm/types/chartType/heatmap/zHeatmap.d.ts +4 -1
- package/dist/esm/types/chartType/line/zLine.d.ts +4 -1
- package/dist/esm/types/chartType/pie/zPie.d.ts +4 -1
- package/dist/esm/types/chartType/radar/zRadar.d.ts +4 -1
- package/dist/esm/types/chartType/rose/zRose.d.ts +4 -1
- package/dist/esm/types/chartType/roseParallel/zRoseParallel.d.ts +4 -1
- package/dist/esm/types/chartType/scatter/zScatter.d.ts +4 -1
- package/dist/esm/types/properties/config/config.d.ts +144 -36
- package/dist/esm/types/properties/config/config.js +1 -1
- package/dist/esm/types/properties/config/config.js.map +1 -1
- package/dist/esm/types/properties/config/label/index.d.ts +2 -1
- package/dist/esm/types/properties/config/label/index.js +1 -1
- package/dist/esm/types/properties/config/label/label.d.ts +15 -6
- package/dist/esm/types/properties/config/label/label.js +0 -7
- package/dist/esm/types/properties/config/label/zLabel.d.ts +7 -0
- package/dist/esm/types/properties/config/label/zLabel.js +10 -0
- package/dist/esm/types/properties/config/label/zLabel.js.map +1 -0
- package/dist/esm/types/properties/datasetReshapeInfo/datasetReshapeInfo.d.ts +8 -2
- package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.d.ts +24 -6
- package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js +8 -2
- package/dist/esm/types/properties/datasetReshapeInfo/zDatasetReshapeInfo.js.map +1 -1
- package/dist/esm/types/properties/encoding/index.d.ts +3 -0
- package/dist/esm/types/properties/encoding/index.js +4 -4
- package/dist/esm/types/properties/encoding/zDimensionEncoding.d.ts +11 -0
- package/dist/esm/types/properties/encoding/zDimensionEncoding.js +12 -1
- package/dist/esm/types/properties/encoding/zDimensionEncoding.js.map +1 -1
- package/dist/esm/types/properties/encoding/zEncoding.d.ts +17 -0
- package/dist/esm/types/properties/encoding/zEncoding.js +15 -1
- package/dist/esm/types/properties/encoding/zEncoding.js.map +1 -1
- package/dist/esm/types/properties/encoding/zMeasureEncoding.d.ts +14 -0
- package/dist/esm/types/properties/encoding/zMeasureEncoding.js +15 -1
- package/dist/esm/types/properties/encoding/zMeasureEncoding.js.map +1 -1
- package/dist/esm/types/properties/theme/customTheme.d.ts +144 -36
- package/dist/esm/types/zVseed.d.ts +72 -18
- package/dist/umd/index.js +489 -234
- package/dist/umd/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipMeasure.d.ts +0 -2
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipMeasure.js +0 -12
- package/dist/esm/pipeline/advanced/chart/pipes/measures/deleteTooltipMeasure.js.map +0 -1
- package/dist/esm/pipeline/advanced/table/pipes/init/autoPivotDimensions.d.ts +0 -2
- package/dist/esm/pipeline/advanced/table/pipes/init/autoPivotDimensions.js +0 -52
- package/dist/esm/pipeline/advanced/table/pipes/init/autoPivotDimensions.js.map +0 -1
- package/dist/esm/pipeline/utils/dimensions/find.js.map +0 -1
- package/dist/esm/types/properties/config/label/label.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipeline/rose.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/rose.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n encodingAdapter,\n encodingForRose,\n defaultEncodingForRose,\n
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipeline/rose.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/rose.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n encodingAdapter,\n encodingForRose,\n defaultEncodingForRose,\n deleteTooltipAndLabelMeasure,\n deleteTooltipAndLabelDimension,\n} from '../pipes'\n\nexport const roseAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingAdapter(\n [defaultEncodingForRose, buildMeasures],\n [encodingForRose, buildMeasures, deleteTooltipAndLabelMeasure, deleteTooltipAndLabelDimension],\n ),\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n roseConfig,\n theme,\n markStyle,\n annotation,\n]\n"],"names":["roseAdvancedPipeline","initAdvancedVSeed","defaultMeasures","defaultDimensions","defaultMeasureName","encodingAdapter","defaultEncodingForRose","buildMeasures","encodingForRose","deleteTooltipAndLabelMeasure","deleteTooltipAndLabelDimension","pivotAdapter","reshapeWithEncoding","pivotReshapeWithEncoding","roseConfig","theme","markStyle","annotation"],"mappings":";AAqBO,MAAMA,uBAAyC;IACpDC;IACAC;IACAC;IACAC;IAEAC,gBACE;QAACC;QAAwBC;KAAc,EACvC;QAACC;QAAiBD;QAAeE;QAA8BC;KAA+B;IAEhGC,aAAa;QAACC;KAAoB,EAAE;QAACC;KAAyB;IAE9DC;IACAC;IACAC;IACAC;CACD"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { annotation, buildMeasures, defaultDimensions, defaultEncodingForRose, defaultMeasureName, defaultMeasures,
|
1
|
+
import { annotation, buildMeasures, defaultDimensions, defaultEncodingForRose, defaultMeasureName, defaultMeasures, deleteTooltipAndLabelDimension, deleteTooltipAndLabelMeasure, encodingAdapter, encodingForRose, initAdvancedVSeed, markStyle, pivotAdapter, pivotReshapeWithEncoding, reshapeWithEncoding, roseParallelConfig, theme } from "../pipes/index.js";
|
2
2
|
const roseParallelAdvancedPipeline = [
|
3
3
|
initAdvancedVSeed,
|
4
4
|
defaultMeasures,
|
@@ -10,7 +10,8 @@ const roseParallelAdvancedPipeline = [
|
|
10
10
|
], [
|
11
11
|
encodingForRose,
|
12
12
|
buildMeasures,
|
13
|
-
|
13
|
+
deleteTooltipAndLabelMeasure,
|
14
|
+
deleteTooltipAndLabelDimension
|
14
15
|
]),
|
15
16
|
pivotAdapter([
|
16
17
|
reshapeWithEncoding
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipeline/roseParallel.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/roseParallel.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseParallelConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n encodingAdapter,\n encodingForRose,\n defaultEncodingForRose,\n
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipeline/roseParallel.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/roseParallel.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n markStyle,\n annotation,\n roseParallelConfig,\n reshapeWithEncoding,\n pivotReshapeWithEncoding,\n buildMeasures,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n encodingAdapter,\n encodingForRose,\n defaultEncodingForRose,\n deleteTooltipAndLabelMeasure,\n deleteTooltipAndLabelDimension,\n} from '../pipes'\n\nexport const roseParallelAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingAdapter(\n [defaultEncodingForRose, buildMeasures],\n [encodingForRose, buildMeasures, deleteTooltipAndLabelMeasure, deleteTooltipAndLabelDimension],\n ),\n pivotAdapter([reshapeWithEncoding], [pivotReshapeWithEncoding]),\n\n roseParallelConfig,\n theme,\n markStyle,\n annotation,\n]\n"],"names":["roseParallelAdvancedPipeline","initAdvancedVSeed","defaultMeasures","defaultDimensions","defaultMeasureName","encodingAdapter","defaultEncodingForRose","buildMeasures","encodingForRose","deleteTooltipAndLabelMeasure","deleteTooltipAndLabelDimension","pivotAdapter","reshapeWithEncoding","pivotReshapeWithEncoding","roseParallelConfig","theme","markStyle","annotation"],"mappings":";AAqBO,MAAMA,+BAAiD;IAC5DC;IACAC;IACAC;IACAC;IAEAC,gBACE;QAACC;QAAwBC;KAAc,EACvC;QAACC;QAAiBD;QAAeE;QAA8BC;KAA+B;IAEhGC,aAAa;QAACC;KAAoB,EAAE;QAACC;KAAyB;IAE9DC;IACAC;IACAC;IACAC;CACD"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { annotation, buildMeasuresForScatter, defaultDimensions, defaultEncodingForScatter, defaultMeasureName, defaultMeasures,
|
1
|
+
import { annotation, buildMeasuresForScatter, defaultDimensions, defaultEncodingForScatter, defaultMeasureName, defaultMeasures, deleteTooltipAndLabelDimension, deleteTooltipAndLabelMeasure, encodingAdapter, encodingForScatter, initAdvancedVSeed, markStyle, pivotAdapter, scatterConfig, theme } from "../pipes/index.js";
|
2
2
|
import { reshapeWithScatterEncoding } from "../pipes/reshape/reshapeWithScatterEncoding.js";
|
3
3
|
import { pivotReshapeWithScatterEncoding } from "../pipes/reshape/pivotReshapeWithScatterEncoding.js";
|
4
4
|
const scatterAdvancedPipeline = [
|
@@ -12,7 +12,8 @@ const scatterAdvancedPipeline = [
|
|
12
12
|
], [
|
13
13
|
encodingForScatter,
|
14
14
|
buildMeasuresForScatter,
|
15
|
-
|
15
|
+
deleteTooltipAndLabelMeasure,
|
16
|
+
deleteTooltipAndLabelDimension
|
16
17
|
]),
|
17
18
|
pivotAdapter([
|
18
19
|
reshapeWithScatterEncoding
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipeline/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/scatter.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n encodingForScatter,\n buildMeasuresForScatter,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n encodingAdapter,\n defaultEncodingForScatter,\n
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipeline/scatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipeline/scatter.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport {\n initAdvancedVSeed,\n theme,\n pivotAdapter,\n annotation,\n markStyle,\n scatterConfig,\n encodingForScatter,\n buildMeasuresForScatter,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n encodingAdapter,\n defaultEncodingForScatter,\n deleteTooltipAndLabelMeasure,\n deleteTooltipAndLabelDimension,\n} from '../pipes'\nimport { reshapeWithScatterEncoding } from '../pipes/reshape/reshapeWithScatterEncoding'\nimport { pivotReshapeWithScatterEncoding } from '../pipes/reshape/pivotReshapeWithScatterEncoding'\n\nexport const scatterAdvancedPipeline: AdvancedPipeline = [\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureName,\n\n encodingAdapter(\n [defaultEncodingForScatter, buildMeasuresForScatter],\n [encodingForScatter, buildMeasuresForScatter, deleteTooltipAndLabelMeasure, deleteTooltipAndLabelDimension],\n ),\n pivotAdapter([reshapeWithScatterEncoding], [pivotReshapeWithScatterEncoding]),\n\n scatterConfig,\n theme,\n markStyle,\n annotation,\n]\n"],"names":["scatterAdvancedPipeline","initAdvancedVSeed","defaultMeasures","defaultDimensions","defaultMeasureName","encodingAdapter","defaultEncodingForScatter","buildMeasuresForScatter","encodingForScatter","deleteTooltipAndLabelMeasure","deleteTooltipAndLabelDimension","pivotAdapter","reshapeWithScatterEncoding","pivotReshapeWithScatterEncoding","scatterConfig","theme","markStyle","annotation"],"mappings":";;;AAqBO,MAAMA,0BAA4C;IACvDC;IACAC;IACAC;IACAC;IAEAC,gBACE;QAACC;QAA2BC;KAAwB,EACpD;QAACC;QAAoBD;QAAyBE;QAA8BC;KAA+B;IAE7GC,aAAa;QAACC;KAA2B,EAAE;QAACC;KAAgC;IAE5EC;IACAC;IACAC;IACAC;CACD"}
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import { pick } from "remeda";
|
2
|
+
import { replaceNullToUndefined } from "../../../../utils/index.js";
|
2
3
|
const lineConfig = (advancedVSeed, context)=>{
|
3
4
|
const { vseed } = context;
|
4
5
|
const { chartType } = vseed;
|
5
6
|
const result = {
|
6
7
|
...advancedVSeed
|
7
8
|
};
|
8
|
-
const
|
9
|
+
const pickedConfig = pick(vseed, [
|
9
10
|
'backgroundColor',
|
10
11
|
'color',
|
11
12
|
'label',
|
@@ -15,6 +16,7 @@ const lineConfig = (advancedVSeed, context)=>{
|
|
15
16
|
'yAxis',
|
16
17
|
'crosshairLine'
|
17
18
|
]);
|
19
|
+
const config = replaceNullToUndefined(pickedConfig);
|
18
20
|
result.config = {
|
19
21
|
...result.config || {},
|
20
22
|
[chartType]: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/config/config.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/config.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const lineConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/config/config.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/config.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const lineConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairLine',\n ]) as Config['line']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const columnConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, [\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n 'yAxis',\n 'crosshairRect',\n 'stackCornerRadius',\n ]) as Config['column']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const pieConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const config = pick(vseed, ['backgroundColor', 'color', 'label', 'legend', 'tooltip']) as Config['pie']\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n\nexport const areaConfig: AdvancedPipe = lineConfig\nexport const areaPercentConfig: AdvancedPipe = lineConfig\nexport const scatterConfig: AdvancedPipe = lineConfig\n\nexport const barConfig: AdvancedPipe = columnConfig\nexport const barParallelConfig: AdvancedPipe = columnConfig\nexport const barPercentConfig: AdvancedPipe = columnConfig\nexport const columnParallelConfig: AdvancedPipe = columnConfig\nexport const columnPercentConfig: AdvancedPipe = columnConfig\n\nexport const donutConfig: AdvancedPipe = pieConfig\nexport const roseConfig: AdvancedPipe = pieConfig\nexport const roseParallelConfig: AdvancedPipe = pieConfig\nexport const funnelConfig: AdvancedPipe = pieConfig\nexport const heatmapConfig: AdvancedPipe = pieConfig\nexport const radarConfig: AdvancedPipe = pieConfig\n"],"names":["lineConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined","columnConfig","pieConfig","areaConfig","areaPercentConfig","scatterConfig","barConfig","barParallelConfig","barPercentConfig","columnParallelConfig","columnPercentConfig","donutConfig","roseConfig","roseParallelConfig","funnelConfig","heatmapConfig","radarConfig"],"mappings":";;AAIO,MAAMA,aAA2B,CAACC,eAAeC;IACtD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAC/B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT;AAEO,MAAMK,eAA6B,CAACT,eAAeC;IACxD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMO,SAASD,KAAKJ,OAAO;QACzB;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;KACD;IAEDE,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT;AAEO,MAAMM,YAA0B,CAACV,eAAeC;IACrD,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMO,SAASD,KAAKJ,OAAO;QAAC;QAAmB;QAAS;QAAS;QAAU;KAAU;IAErFE,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT;AAEO,MAAMO,aAA2BZ;AACjC,MAAMa,oBAAkCb;AACxC,MAAMc,gBAA8Bd;AAEpC,MAAMe,YAA0BL;AAChC,MAAMM,oBAAkCN;AACxC,MAAMO,mBAAiCP;AACvC,MAAMQ,uBAAqCR;AAC3C,MAAMS,sBAAoCT;AAE1C,MAAMU,cAA4BT;AAClC,MAAMU,aAA2BV;AACjC,MAAMW,qBAAmCX;AACzC,MAAMY,eAA6BZ;AACnC,MAAMa,gBAA8Bb;AACpC,MAAMc,cAA4Bd"}
|
@@ -1,22 +1,26 @@
|
|
1
1
|
import { pick } from "remeda";
|
2
|
+
import { replaceNullToUndefined } from "../../../../utils/index.js";
|
2
3
|
const dualAxisConfig = (advancedVSeed, context)=>{
|
3
4
|
const { vseed } = context;
|
4
5
|
const { chartType } = vseed;
|
5
6
|
const result = {
|
6
7
|
...advancedVSeed
|
7
8
|
};
|
8
|
-
const
|
9
|
+
const pickedConfig = pick(vseed, [
|
9
10
|
'backgroundColor',
|
10
11
|
'color',
|
11
12
|
'label',
|
12
13
|
'legend',
|
13
14
|
'tooltip',
|
15
|
+
'xAxis',
|
14
16
|
'dualChartType',
|
15
17
|
'alignTicks',
|
16
18
|
'primaryYAxis',
|
17
19
|
'secondaryYAxis',
|
18
|
-
'crosshairLine'
|
20
|
+
'crosshairLine',
|
21
|
+
'crosshairRect'
|
19
22
|
]);
|
23
|
+
const config = replaceNullToUndefined(pickedConfig);
|
20
24
|
result.config = {
|
21
25
|
...result.config || {},
|
22
26
|
[chartType]: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/config/dualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/dualAxis.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const dualAxisConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/config/dualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/config/dualAxis.ts"],"sourcesContent":["import { pick } from 'remeda'\nimport { replaceNullToUndefined } from 'src/pipeline/utils'\nimport type { AdvancedPipe, AdvancedVSeed, Config } from 'src/types'\n\nexport const dualAxisConfig: AdvancedPipe = (advancedVSeed, context) => {\n const { vseed } = context\n const { chartType } = vseed\n const result = {\n ...advancedVSeed,\n }\n\n const pickedConfig = pick(vseed, [\n // common\n 'backgroundColor',\n 'color',\n 'label',\n 'legend',\n 'tooltip',\n 'xAxis',\n\n // only for dualAxis\n 'dualChartType',\n 'alignTicks',\n 'primaryYAxis',\n 'secondaryYAxis',\n 'crosshairLine',\n 'crosshairRect',\n ]) as Config['dualAxis']\n\n const config = replaceNullToUndefined(pickedConfig)\n\n result.config = {\n ...(result.config || {}),\n [chartType]: {\n ...config,\n },\n }\n\n return result as AdvancedVSeed\n}\n"],"names":["dualAxisConfig","advancedVSeed","context","vseed","chartType","result","pickedConfig","pick","config","replaceNullToUndefined"],"mappings":";;AAIO,MAAMA,iBAA+B,CAACC,eAAeC;IAC1D,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAClB,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,SAAS;QACb,GAAGJ,aAAa;IAClB;IAEA,MAAMK,eAAeC,KAAKJ,OAAO;QAE/B;QACA;QACA;QACA;QACA;QACA;QAGA;QACA;QACA;QACA;QACA;QACA;KACD;IAED,MAAMK,SAASC,uBAAuBH;IAEtCD,OAAO,MAAM,GAAG;QACd,GAAIA,OAAO,MAAM,IAAI,CAAC,CAAC;QACvB,CAACD,UAAU,EAAE;YACX,GAAGI,MAAM;QACX;IACF;IAEA,OAAOH;AACT"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { deleteDimensionTreeByCallback } from "../../../../utils/index.js";
|
2
|
+
const deleteTooltipAndLabelDimension = (advancedVSeed)=>{
|
3
|
+
const deleteBy = (dimension)=>'tooltip' === dimension.encoding || 'label' === dimension.encoding;
|
4
|
+
const dimensionTree = deleteDimensionTreeByCallback(advancedVSeed.dimensions, deleteBy);
|
5
|
+
return {
|
6
|
+
...advancedVSeed,
|
7
|
+
dimensions: dimensionTree
|
8
|
+
};
|
9
|
+
};
|
10
|
+
export { deleteTooltipAndLabelDimension };
|
11
|
+
|
12
|
+
//# sourceMappingURL=deleteTooltipAndLabelDimensions.js.map
|
package/dist/esm/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/dimensions/deleteTooltipAndLabelDimensions.ts"],"sourcesContent":["import { deleteDimensionTreeByCallback } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension } from 'src/types'\n\nexport const deleteTooltipAndLabelDimension: AdvancedPipe = (advancedVSeed) => {\n const deleteBy = (dimension: Dimension) => dimension.encoding === 'tooltip' || dimension.encoding === 'label'\n\n const dimensionTree = deleteDimensionTreeByCallback(advancedVSeed.dimensions, deleteBy)\n\n return {\n ...advancedVSeed,\n dimensions: dimensionTree,\n }\n}\n"],"names":["deleteTooltipAndLabelDimension","advancedVSeed","deleteBy","dimension","dimensionTree","deleteDimensionTreeByCallback"],"mappings":";AAGO,MAAMA,iCAA+C,CAACC;IAC3D,MAAMC,WAAW,CAACC,YAAyBA,AAAuB,cAAvBA,UAAU,QAAQ,IAAkBA,AAAuB,YAAvBA,UAAU,QAAQ;IAEjG,MAAMC,gBAAgBC,8BAA8BJ,cAAc,UAAU,EAAEC;IAE9E,OAAO;QACL,GAAGD,aAAa;QAChB,YAAYG;IACd;AACF"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './deleteTooltipAndLabelDimensions';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./deleteTooltipAndLabelDimensions.js";
|
@@ -32,7 +32,7 @@ const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
32
32
|
const uniqueDimIds = unique(dimensions.map((d)=>d.id));
|
33
33
|
encoding.y = uniqueDimIds.slice(0, 1);
|
34
34
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
35
|
-
encoding.detail =
|
35
|
+
encoding.detail = encoding.color;
|
36
36
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
37
37
|
encoding.label = [];
|
38
38
|
encoding.row = [];
|
@@ -48,11 +48,11 @@ const generateDimensionEncoding = (dimensions, encoding)=>{
|
|
48
48
|
MeasureName
|
49
49
|
];
|
50
50
|
encoding.detail = unique(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
51
|
-
if (0 === encoding.detail.length) encoding.detail =
|
52
|
-
MeasureName
|
53
|
-
];
|
51
|
+
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
54
52
|
encoding.tooltip = unique(dimensions.map((item)=>item.id));
|
55
53
|
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
54
|
+
encoding.label = unique(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
55
|
+
encoding.label = encoding.label.filter((d)=>d !== MeasureName);
|
56
56
|
};
|
57
57
|
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
58
58
|
encoding.x = unique(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
@@ -61,9 +61,15 @@ const generateMeasureEncoding = (measures, encoding)=>{
|
|
61
61
|
encoding.x = unique(measures.filter((item)=>'xAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
62
62
|
const color = unique(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
63
63
|
if (color.length > 0) encoding.color = color;
|
64
|
+
const label = unique(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
65
|
+
encoding.label = unique([
|
66
|
+
...encoding.label || [],
|
67
|
+
...label
|
68
|
+
]);
|
64
69
|
const tooltip = unique(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
65
70
|
encoding.tooltip = unique([
|
66
71
|
...encoding.tooltip || [],
|
72
|
+
...label,
|
67
73
|
...tooltip
|
68
74
|
]);
|
69
75
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/bar.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/bar.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForBar: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForBar: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.y = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail =
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/bar.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/bar.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForBar: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForBar: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.y = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureName) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n // y\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis').map((item) => item.id))\n if (encoding.y.length === 0) {\n encoding.y = [dimensions[0].id]\n }\n\n // color\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = encoding.color\n }\n\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureName)\n\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureName)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.x = unique(measures.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // x\n encoding.x = unique(measures.filter((item) => item.encoding === 'xAxis' || !item.encoding).map((item) => item.id))\n\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip])\n}\n"],"names":["defaultEncodingForBar","advancedVSeed","vseedMeasures","dimensions","measures","findAllMeasures","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForBar","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","generateMeasureEncoding","onlyMeasureName","MeasureName","uniqueDimIds","unique","d","color","label","tooltip"],"mappings":";;;AAKO,MAAMA,wBAAsC,CAACC;IAClD,MAAM,EAAE,UAAUC,gBAAgB,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGF;IAC1D,MAAMG,WAAWC,gBAAgBH;IACjC,MAAMI,WAAqB,CAAC;IAC5BC,iCAAiCJ,YAAYG;IAC7CE,+BAA+BJ,UAAUE;IACzC,OAAO;QAAE,GAAGL,aAAa;QAAEK;IAAS;AACtC;AAEO,MAAMG,iBAA+B,CAACR;IAC3C,MAAM,EAAE,UAAUC,gBAAgB,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGF;IAC1D,MAAMG,WAAWC,gBAAgBH;IAEjC,MAAMQ,uBAAuBP,WAAW,IAAI,CAAC,CAACQ,OAAoBA,KAAK,QAAQ;IAC/E,MAAMC,qBAAqBR,SAAS,IAAI,CAAC,CAACO,OAAkBA,KAAK,QAAQ;IACzE,MAAML,WAAqB,CAAC;IAE5B,IAAII,sBACFG,0BAA0BV,YAAYG;SAEtCC,iCAAiCJ,YAAYG;IAG/C,IAAIM,oBACFE,wBAAwBV,UAAUE;SAElCE,+BAA+BJ,UAAUE;IAG3C,OAAO;QAAE,GAAGL,aAAa;QAAEK;IAAS;AACtC;AAKA,MAAMC,mCAAmC,CAACJ,YAAwBG;IAChE,MAAMS,kBAAkBZ,AAAsB,MAAtBA,WAAW,MAAM,IAAUA,WAAW,IAAI,CAAC,CAACQ,OAASA,KAAK,EAAE,KAAKK;IACzF,MAAMC,eAAeC,OAAOf,WAAW,GAAG,CAAC,CAACgB,IAAMA,EAAE,EAAE;IACtDb,SAAS,CAAC,GAAGW,aAAa,KAAK,CAAC,GAAG;IACnCX,SAAS,KAAK,GAAGW,aAAa,KAAK,CAACF,kBAAkB,IAAI;IAC1DT,SAAS,MAAM,GAAGA,SAAS,KAAK;IAChCA,SAAS,OAAO,GAAGW,aAAa,MAAM,CAAC,CAACE,IAAMA,MAAMH;IACpDV,SAAS,KAAK,GAAG,EAAE;IACnBA,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;AACtB;AACA,MAAMO,4BAA4B,CAACV,YAAwBG;IAEzDA,SAAS,CAAC,GAAGY,OAAOf,WAAW,MAAM,CAAC,CAACQ,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAChG,IAAIL,AAAsB,MAAtBA,SAAS,CAAC,CAAC,MAAM,EACnBA,SAAS,CAAC,GAAG;QAACH,UAAU,CAAC,EAAE,CAAC,EAAE;KAAC;IAIjCG,SAAS,KAAK,GAAGY,OAAOf,WAAW,MAAM,CAAC,CAACQ,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACpG,IAAIL,AAA0B,MAA1BA,SAAS,KAAK,CAAC,MAAM,EACvBA,SAAS,KAAK,GAAG;QAACU;KAAY;IAIhCV,SAAS,MAAM,GAAGY,OAAOf,WAAW,MAAM,CAAC,CAACQ,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,EAAe,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACtG,IAAIL,AAA2B,MAA3BA,SAAS,MAAM,CAAC,MAAM,EACxBA,SAAS,MAAM,GAAGA,SAAS,KAAK;IAIlCA,SAAS,OAAO,GAAGY,OAAOf,WAAW,GAAG,CAAC,CAACQ,OAASA,KAAK,EAAE;IAC1DL,SAAS,OAAO,GAAGA,SAAS,OAAO,CAAC,MAAM,CAAC,CAACa,IAAMA,MAAMH;IAGxDV,SAAS,KAAK,GAAGY,OAAOf,WAAW,MAAM,CAAC,CAACQ,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACpGL,SAAS,KAAK,GAAGA,SAAS,KAAK,CAAC,MAAM,CAAC,CAACa,IAAMA,MAAMH;AACtD;AAKA,MAAMR,iCAAiC,CAACJ,UAAoBE;IAC1DA,SAAS,CAAC,GAAGY,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAClH;AACA,MAAMG,0BAA0B,CAACV,UAAoBE;IAEnDA,SAAS,CAAC,GAAGY,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAGhH,MAAMS,QAAQF,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/F,IAAIS,MAAM,MAAM,GAAG,GACjBd,SAAS,KAAK,GAAGc;IAInB,MAAMC,QAAQH,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/FL,SAAS,KAAK,GAAGY,OAAO;WAAKZ,SAAS,KAAK,IAAI,EAAE;WAAMe;KAAM;IAG7D,MAAMC,UAAUJ,OAAOd,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,cAAlBA,KAAK,QAAQ,EAAgB,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACnGL,SAAS,OAAO,GAAGY,OAAO;WAAKZ,SAAS,OAAO,IAAI,EAAE;WAAMe;WAAUC;KAAQ;AAC/E"}
|
@@ -32,7 +32,7 @@ const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
32
32
|
const uniqueDimIds = unique(dimensions.map((d)=>d.id));
|
33
33
|
encoding.x = uniqueDimIds.slice(0, 1);
|
34
34
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
35
|
-
encoding.detail =
|
35
|
+
encoding.detail = encoding.color;
|
36
36
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
37
37
|
encoding.label = [];
|
38
38
|
encoding.row = [];
|
@@ -48,11 +48,11 @@ const generateDimensionEncoding = (dimensions, encoding)=>{
|
|
48
48
|
MeasureName
|
49
49
|
];
|
50
50
|
encoding.detail = unique(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
51
|
-
if (0 === encoding.detail.length) encoding.detail =
|
52
|
-
MeasureName
|
53
|
-
];
|
51
|
+
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
54
52
|
encoding.tooltip = unique(dimensions.map((item)=>item.id));
|
55
53
|
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
54
|
+
encoding.label = unique(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
55
|
+
encoding.label = encoding.label.filter((d)=>d !== MeasureName);
|
56
56
|
};
|
57
57
|
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
58
58
|
encoding.y = unique(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
@@ -61,9 +61,15 @@ const generateMeasureEncoding = (measures, encoding)=>{
|
|
61
61
|
encoding.y = unique(measures.filter((item)=>'yAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
62
62
|
const color = unique(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
63
63
|
if (color.length > 0) encoding.color = color;
|
64
|
+
const label = unique(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
65
|
+
encoding.label = unique([
|
66
|
+
...encoding.label || [],
|
67
|
+
...label
|
68
|
+
]);
|
64
69
|
const tooltip = unique(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
65
70
|
encoding.tooltip = unique([
|
66
71
|
...encoding.tooltip || [],
|
72
|
+
...label,
|
67
73
|
...tooltip
|
68
74
|
]);
|
69
75
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/column.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/column.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForColumn: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForColumn: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail =
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/column.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/column.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForColumn: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForColumn: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureName) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n // x\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n\n // color\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = encoding.color\n }\n\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureName)\n\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureName)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // y\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip])\n}\n"],"names":["defaultEncodingForColumn","advancedVSeed","vseedMeasures","dimensions","measures","findAllMeasures","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForColumn","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","generateMeasureEncoding","onlyMeasureName","MeasureName","uniqueDimIds","unique","d","color","label","tooltip"],"mappings":"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"}
|
@@ -32,7 +32,7 @@ const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
32
32
|
const uniqueDimIds = unique(dimensions.map((d)=>d.id));
|
33
33
|
encoding.x = uniqueDimIds.slice(0, 1);
|
34
34
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
35
|
-
encoding.detail =
|
35
|
+
encoding.detail = encoding.color;
|
36
36
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
37
37
|
encoding.label = [];
|
38
38
|
encoding.row = [];
|
@@ -48,11 +48,11 @@ const generateDimensionEncoding = (dimensions, encoding)=>{
|
|
48
48
|
MeasureName
|
49
49
|
];
|
50
50
|
encoding.detail = unique(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
51
|
-
if (0 === encoding.detail.length) encoding.detail =
|
52
|
-
MeasureName
|
53
|
-
];
|
51
|
+
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
54
52
|
encoding.tooltip = unique(dimensions.map((item)=>item.id));
|
55
53
|
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
54
|
+
encoding.label = unique(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
55
|
+
encoding.label = encoding.label.filter((d)=>d !== MeasureName);
|
56
56
|
};
|
57
57
|
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
58
58
|
encoding.y = unique(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
@@ -61,9 +61,15 @@ const generateMeasureEncoding = (measures, encoding)=>{
|
|
61
61
|
encoding.y = unique(measures.filter((item)=>'primaryYAxis' === item.encoding || 'secondaryYAxis' === item.encoding || !item.encoding).map((item)=>item.id));
|
62
62
|
const color = unique(measures.filter((item)=>'color' === item.encoding).map((item)=>item.id));
|
63
63
|
if (color.length > 0) encoding.color = color;
|
64
|
+
const label = unique(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
65
|
+
encoding.label = unique([
|
66
|
+
...encoding.label || [],
|
67
|
+
...label
|
68
|
+
]);
|
64
69
|
const tooltip = unique(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
65
70
|
encoding.tooltip = unique([
|
66
71
|
...encoding.tooltip || [],
|
72
|
+
...label,
|
67
73
|
...tooltip
|
68
74
|
]);
|
69
75
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/dualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/dualAxis.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForDualAxis: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForDualAxis: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail =
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/dualAxis.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/dualAxis.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForDualAxis: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForDualAxis: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureName) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n // x\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n\n // color\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = encoding.color\n }\n\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureName)\n\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureName)\n}\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'primaryYAxis' || item.encoding === 'secondaryYAxis' || !item.encoding)\n .map((item) => item.id),\n )\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // y\n encoding.y = unique(\n measures\n .filter((item) => item.encoding === 'primaryYAxis' || item.encoding === 'secondaryYAxis' || !item.encoding)\n .map((item) => item.id),\n )\n\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip])\n}\n"],"names":["defaultEncodingForDualAxis","advancedVSeed","vseedMeasures","dimensions","measures","findAllMeasures","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForDualAxis","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","generateMeasureEncoding","onlyMeasureName","MeasureName","uniqueDimIds","unique","d","color","label","tooltip"],"mappings":"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"}
|
@@ -30,7 +30,7 @@ const encodingForFunnel = (advancedVSeed)=>{
|
|
30
30
|
const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
31
31
|
const uniqueDimIds = unique(dimensions.map((d)=>d.id));
|
32
32
|
encoding.color = uniqueDimIds.slice(0);
|
33
|
-
encoding.detail =
|
33
|
+
encoding.detail = encoding.color;
|
34
34
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
35
35
|
encoding.label = [];
|
36
36
|
encoding.row = [];
|
@@ -47,6 +47,8 @@ const generateDimensionEncoding = (dimensions, encoding)=>{
|
|
47
47
|
];
|
48
48
|
encoding.tooltip = unique(dimensions.map((item)=>item.id));
|
49
49
|
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
50
|
+
encoding.label = unique(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
51
|
+
encoding.label = encoding.label.filter((d)=>d !== MeasureName);
|
50
52
|
};
|
51
53
|
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
52
54
|
encoding.size = unique(measures.filter((item)=>'size' === item.encoding || !item.encoding).map((item)=>item.id));
|
@@ -57,9 +59,15 @@ const generateMeasureEncoding = (measures, encoding)=>{
|
|
57
59
|
if (color.length > 0) encoding.color = [
|
58
60
|
color[0]
|
59
61
|
];
|
62
|
+
const label = unique(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
63
|
+
encoding.label = unique([
|
64
|
+
...encoding.label || [],
|
65
|
+
...label
|
66
|
+
]);
|
60
67
|
const tooltip = unique(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
61
68
|
encoding.tooltip = unique([
|
62
69
|
...encoding.tooltip || [],
|
70
|
+
...label,
|
63
71
|
...tooltip
|
64
72
|
]);
|
65
73
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/funnel.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/funnel.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForFunnel: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForFunnel: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.color = uniqueDimIds.slice(0) // 第0个之后的维度用于颜色\n encoding.detail =
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/funnel.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/funnel.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForFunnel: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForFunnel: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.color = uniqueDimIds.slice(0) // 第0个之后的维度用于颜色\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureName) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n // color\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = [MeasureName]\n }\n\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureName)\n\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureName)\n}\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.size = unique(measures.filter((item) => item.encoding === 'size' || !item.encoding).map((item) => item.id))\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // size\n encoding.size = unique(measures.filter((item) => item.encoding === 'size' || !item.encoding).map((item) => item.id))\n\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = [color[0]]\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip])\n}\n"],"names":["defaultEncodingForFunnel","advancedVSeed","vseedMeasures","dimensions","measures","findAllMeasures","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForFunnel","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","generateMeasureEncoding","uniqueDimIds","unique","d","MeasureName","color","label","tooltip"],"mappings":"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"}
|
@@ -33,7 +33,7 @@ const generateDefaultDimensionEncoding = (dimensions, encoding)=>{
|
|
33
33
|
encoding.x = uniqueDimIds.slice(0, 1);
|
34
34
|
encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
35
35
|
encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1);
|
36
|
-
encoding.detail =
|
36
|
+
encoding.detail = encoding.color;
|
37
37
|
encoding.tooltip = uniqueDimIds.filter((d)=>d !== MeasureName);
|
38
38
|
encoding.label = [];
|
39
39
|
encoding.row = [];
|
@@ -52,11 +52,11 @@ const generateDimensionEncoding = (dimensions, encoding)=>{
|
|
52
52
|
MeasureName
|
53
53
|
];
|
54
54
|
encoding.detail = unique(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
55
|
-
if (0 === encoding.detail.length) encoding.detail =
|
56
|
-
MeasureName
|
57
|
-
];
|
55
|
+
if (0 === encoding.detail.length) encoding.detail = encoding.color;
|
58
56
|
encoding.tooltip = unique(dimensions.map((item)=>item.id));
|
59
57
|
encoding.tooltip = encoding.tooltip.filter((d)=>d !== MeasureName);
|
58
|
+
encoding.label = unique(dimensions.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
59
|
+
encoding.label = encoding.label.filter((d)=>d !== MeasureName);
|
60
60
|
};
|
61
61
|
const generateDefaultMeasureEncoding = (measures, encoding)=>{
|
62
62
|
const colorDims = unique(measures.filter((item)=>'color' === item.encoding || !item.encoding).map((item)=>item.id));
|
@@ -69,9 +69,15 @@ const generateMeasureEncoding = (measures, encoding)=>{
|
|
69
69
|
if (color.length > 0) encoding.color = [
|
70
70
|
color[0]
|
71
71
|
];
|
72
|
+
const label = unique(measures.filter((item)=>'label' === item.encoding).map((item)=>item.id));
|
73
|
+
encoding.label = unique([
|
74
|
+
...encoding.label || [],
|
75
|
+
...label
|
76
|
+
]);
|
72
77
|
const tooltip = unique(measures.filter((item)=>'tooltip' === item.encoding).map((item)=>item.id));
|
73
78
|
encoding.tooltip = unique([
|
74
79
|
...encoding.tooltip || [],
|
80
|
+
...label,
|
75
81
|
...tooltip
|
76
82
|
]);
|
77
83
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/heatmap.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/heatmap.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第2个维度放置于Y轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail =
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/heatmap.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/heatmap.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const defaultEncodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding)\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForHeatmap: AdvancedPipe = (advancedVSeed) => {\n const { measures: vseedMeasures = [], dimensions = [] } = advancedVSeed\n const measures = findAllMeasures(vseedMeasures)\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const onlyMeasureName = dimensions.length === 1 && dimensions.find((item) => item.id === MeasureName)\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.x = uniqueDimIds.slice(0, 1) // 第一个维度放置于X轴\n encoding.y = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第2个维度放置于Y轴\n encoding.color = uniqueDimIds.slice(onlyMeasureName ? 0 : 1) // 第二个之后的维度用于颜色\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureName) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n encoding.x = unique(dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id))\n // x\n if (encoding.x.length === 0) {\n encoding.x = [dimensions[0].id]\n }\n // y\n encoding.y = unique(dimensions.filter((item) => item.encoding === 'yAxis').map((item) => item.id))\n if (encoding.y.length === 0) {\n if (dimensions.length > 1) {\n encoding.y = dimensions.slice(1).map((item) => item.id)\n } else {\n encoding.y = dimensions.slice(0).map((item) => item.id)\n }\n }\n // color\n encoding.color = unique(dimensions.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (encoding.color.length === 0) {\n encoding.color = [MeasureName]\n }\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = encoding.color\n }\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureName)\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureName)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n const colorDims = unique(\n measures.filter((item) => item.encoding === 'color' || !item.encoding).map((item) => item.id),\n )\n if (colorDims.length > 0) {\n encoding.color = [colorDims[0]]\n }\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = [color[0]]\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip])\n}\n"],"names":["defaultEncodingForHeatmap","advancedVSeed","vseedMeasures","dimensions","measures","findAllMeasures","encoding","generateDefaultDimensionEncoding","generateDefaultMeasureEncoding","encodingForHeatmap","hasDimensionEncoding","item","hasMeasureEncoding","generateDimensionEncoding","generateMeasureEncoding","onlyMeasureName","MeasureName","uniqueDimIds","unique","d","colorDims","color","label","tooltip"],"mappings":"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"}
|